1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package lexmodelsv2
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/restjson"
14)
15
16const opBuildBotLocale = "BuildBotLocale"
17
18// BuildBotLocaleRequest generates a "aws/request.Request" representing the
19// client's request for the BuildBotLocale 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 BuildBotLocale for more information on using the BuildBotLocale
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 BuildBotLocaleRequest method.
34//    req, resp := client.BuildBotLocaleRequest(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/models.lex.v2-2020-08-07/BuildBotLocale
42func (c *LexModelsV2) BuildBotLocaleRequest(input *BuildBotLocaleInput) (req *request.Request, output *BuildBotLocaleOutput) {
43	op := &request.Operation{
44		Name:       opBuildBotLocale,
45		HTTPMethod: "POST",
46		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/",
47	}
48
49	if input == nil {
50		input = &BuildBotLocaleInput{}
51	}
52
53	output = &BuildBotLocaleOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// BuildBotLocale API operation for Amazon Lex Model Building V2.
59//
60// Builds a bot, its intents, and its slot types into a specific locale. A bot
61// can be built into multiple locales. At runtime the locale is used to choose
62// a specific build of the bot.
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 Lex Model Building V2's
69// API operation BuildBotLocale for usage and error information.
70//
71// Returned Error Types:
72//   * ThrottlingException
73//
74//   * ServiceQuotaExceededException
75//
76//   * ValidationException
77//
78//   * PreconditionFailedException
79//
80//   * ConflictException
81//
82//   * InternalServerException
83//
84// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/BuildBotLocale
85func (c *LexModelsV2) BuildBotLocale(input *BuildBotLocaleInput) (*BuildBotLocaleOutput, error) {
86	req, out := c.BuildBotLocaleRequest(input)
87	return out, req.Send()
88}
89
90// BuildBotLocaleWithContext is the same as BuildBotLocale with the addition of
91// the ability to pass a context and additional request options.
92//
93// See BuildBotLocale for details on how to use this API operation.
94//
95// The context must be non-nil and will be used for request cancellation. If
96// the context is nil a panic will occur. In the future the SDK may create
97// sub-contexts for http.Requests. See https://golang.org/pkg/context/
98// for more information on using Contexts.
99func (c *LexModelsV2) BuildBotLocaleWithContext(ctx aws.Context, input *BuildBotLocaleInput, opts ...request.Option) (*BuildBotLocaleOutput, error) {
100	req, out := c.BuildBotLocaleRequest(input)
101	req.SetContext(ctx)
102	req.ApplyOptions(opts...)
103	return out, req.Send()
104}
105
106const opCreateBot = "CreateBot"
107
108// CreateBotRequest generates a "aws/request.Request" representing the
109// client's request for the CreateBot operation. The "output" return
110// value will be populated with the request's response once the request completes
111// successfully.
112//
113// Use "Send" method on the returned Request to send the API call to the service.
114// the "output" return value is not valid until after Send returns without error.
115//
116// See CreateBot for more information on using the CreateBot
117// API call, and error handling.
118//
119// This method is useful when you want to inject custom logic or configuration
120// into the SDK's request lifecycle. Such as custom headers, or retry logic.
121//
122//
123//    // Example sending a request using the CreateBotRequest method.
124//    req, resp := client.CreateBotRequest(params)
125//
126//    err := req.Send()
127//    if err == nil { // resp is now filled
128//        fmt.Println(resp)
129//    }
130//
131// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateBot
132func (c *LexModelsV2) CreateBotRequest(input *CreateBotInput) (req *request.Request, output *CreateBotOutput) {
133	op := &request.Operation{
134		Name:       opCreateBot,
135		HTTPMethod: "PUT",
136		HTTPPath:   "/bots/",
137	}
138
139	if input == nil {
140		input = &CreateBotInput{}
141	}
142
143	output = &CreateBotOutput{}
144	req = c.newRequest(op, input, output)
145	return
146}
147
148// CreateBot API operation for Amazon Lex Model Building V2.
149//
150// Creates an Amazon Lex conversational bot.
151//
152// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
153// with awserr.Error's Code and Message methods to get detailed information about
154// the error.
155//
156// See the AWS API reference guide for Amazon Lex Model Building V2's
157// API operation CreateBot for usage and error information.
158//
159// Returned Error Types:
160//   * ThrottlingException
161//
162//   * ServiceQuotaExceededException
163//
164//   * ValidationException
165//
166//   * PreconditionFailedException
167//
168//   * ConflictException
169//
170//   * InternalServerException
171//
172// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateBot
173func (c *LexModelsV2) CreateBot(input *CreateBotInput) (*CreateBotOutput, error) {
174	req, out := c.CreateBotRequest(input)
175	return out, req.Send()
176}
177
178// CreateBotWithContext is the same as CreateBot with the addition of
179// the ability to pass a context and additional request options.
180//
181// See CreateBot for details on how to use this API operation.
182//
183// The context must be non-nil and will be used for request cancellation. If
184// the context is nil a panic will occur. In the future the SDK may create
185// sub-contexts for http.Requests. See https://golang.org/pkg/context/
186// for more information on using Contexts.
187func (c *LexModelsV2) CreateBotWithContext(ctx aws.Context, input *CreateBotInput, opts ...request.Option) (*CreateBotOutput, error) {
188	req, out := c.CreateBotRequest(input)
189	req.SetContext(ctx)
190	req.ApplyOptions(opts...)
191	return out, req.Send()
192}
193
194const opCreateBotAlias = "CreateBotAlias"
195
196// CreateBotAliasRequest generates a "aws/request.Request" representing the
197// client's request for the CreateBotAlias operation. The "output" return
198// value will be populated with the request's response once the request completes
199// successfully.
200//
201// Use "Send" method on the returned Request to send the API call to the service.
202// the "output" return value is not valid until after Send returns without error.
203//
204// See CreateBotAlias for more information on using the CreateBotAlias
205// API call, and error handling.
206//
207// This method is useful when you want to inject custom logic or configuration
208// into the SDK's request lifecycle. Such as custom headers, or retry logic.
209//
210//
211//    // Example sending a request using the CreateBotAliasRequest method.
212//    req, resp := client.CreateBotAliasRequest(params)
213//
214//    err := req.Send()
215//    if err == nil { // resp is now filled
216//        fmt.Println(resp)
217//    }
218//
219// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateBotAlias
220func (c *LexModelsV2) CreateBotAliasRequest(input *CreateBotAliasInput) (req *request.Request, output *CreateBotAliasOutput) {
221	op := &request.Operation{
222		Name:       opCreateBotAlias,
223		HTTPMethod: "PUT",
224		HTTPPath:   "/bots/{botId}/botaliases/",
225	}
226
227	if input == nil {
228		input = &CreateBotAliasInput{}
229	}
230
231	output = &CreateBotAliasOutput{}
232	req = c.newRequest(op, input, output)
233	return
234}
235
236// CreateBotAlias API operation for Amazon Lex Model Building V2.
237//
238// Creates an alias for the specified version of a bot. Use an alias to enable
239// you to change the version of a bot without updating applications that use
240// the bot.
241//
242// For example, you can create an alias called "PROD" that your applications
243// use to call the Amazon Lex bot.
244//
245// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
246// with awserr.Error's Code and Message methods to get detailed information about
247// the error.
248//
249// See the AWS API reference guide for Amazon Lex Model Building V2's
250// API operation CreateBotAlias for usage and error information.
251//
252// Returned Error Types:
253//   * ThrottlingException
254//
255//   * ServiceQuotaExceededException
256//
257//   * ValidationException
258//
259//   * PreconditionFailedException
260//
261//   * ConflictException
262//
263//   * InternalServerException
264//
265// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateBotAlias
266func (c *LexModelsV2) CreateBotAlias(input *CreateBotAliasInput) (*CreateBotAliasOutput, error) {
267	req, out := c.CreateBotAliasRequest(input)
268	return out, req.Send()
269}
270
271// CreateBotAliasWithContext is the same as CreateBotAlias with the addition of
272// the ability to pass a context and additional request options.
273//
274// See CreateBotAlias for details on how to use this API operation.
275//
276// The context must be non-nil and will be used for request cancellation. If
277// the context is nil a panic will occur. In the future the SDK may create
278// sub-contexts for http.Requests. See https://golang.org/pkg/context/
279// for more information on using Contexts.
280func (c *LexModelsV2) CreateBotAliasWithContext(ctx aws.Context, input *CreateBotAliasInput, opts ...request.Option) (*CreateBotAliasOutput, error) {
281	req, out := c.CreateBotAliasRequest(input)
282	req.SetContext(ctx)
283	req.ApplyOptions(opts...)
284	return out, req.Send()
285}
286
287const opCreateBotLocale = "CreateBotLocale"
288
289// CreateBotLocaleRequest generates a "aws/request.Request" representing the
290// client's request for the CreateBotLocale operation. The "output" return
291// value will be populated with the request's response once the request completes
292// successfully.
293//
294// Use "Send" method on the returned Request to send the API call to the service.
295// the "output" return value is not valid until after Send returns without error.
296//
297// See CreateBotLocale for more information on using the CreateBotLocale
298// API call, and error handling.
299//
300// This method is useful when you want to inject custom logic or configuration
301// into the SDK's request lifecycle. Such as custom headers, or retry logic.
302//
303//
304//    // Example sending a request using the CreateBotLocaleRequest method.
305//    req, resp := client.CreateBotLocaleRequest(params)
306//
307//    err := req.Send()
308//    if err == nil { // resp is now filled
309//        fmt.Println(resp)
310//    }
311//
312// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateBotLocale
313func (c *LexModelsV2) CreateBotLocaleRequest(input *CreateBotLocaleInput) (req *request.Request, output *CreateBotLocaleOutput) {
314	op := &request.Operation{
315		Name:       opCreateBotLocale,
316		HTTPMethod: "PUT",
317		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/",
318	}
319
320	if input == nil {
321		input = &CreateBotLocaleInput{}
322	}
323
324	output = &CreateBotLocaleOutput{}
325	req = c.newRequest(op, input, output)
326	return
327}
328
329// CreateBotLocale API operation for Amazon Lex Model Building V2.
330//
331// Creates a locale in the bot. The locale contains the intents and slot types
332// that the bot uses in conversations with users in the specified language and
333// locale. You must add a locale to a bot before you can add intents and slot
334// types to the bot.
335//
336// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
337// with awserr.Error's Code and Message methods to get detailed information about
338// the error.
339//
340// See the AWS API reference guide for Amazon Lex Model Building V2's
341// API operation CreateBotLocale for usage and error information.
342//
343// Returned Error Types:
344//   * ThrottlingException
345//
346//   * ServiceQuotaExceededException
347//
348//   * ValidationException
349//
350//   * PreconditionFailedException
351//
352//   * ConflictException
353//
354//   * InternalServerException
355//
356// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateBotLocale
357func (c *LexModelsV2) CreateBotLocale(input *CreateBotLocaleInput) (*CreateBotLocaleOutput, error) {
358	req, out := c.CreateBotLocaleRequest(input)
359	return out, req.Send()
360}
361
362// CreateBotLocaleWithContext is the same as CreateBotLocale with the addition of
363// the ability to pass a context and additional request options.
364//
365// See CreateBotLocale for details on how to use this API operation.
366//
367// The context must be non-nil and will be used for request cancellation. If
368// the context is nil a panic will occur. In the future the SDK may create
369// sub-contexts for http.Requests. See https://golang.org/pkg/context/
370// for more information on using Contexts.
371func (c *LexModelsV2) CreateBotLocaleWithContext(ctx aws.Context, input *CreateBotLocaleInput, opts ...request.Option) (*CreateBotLocaleOutput, error) {
372	req, out := c.CreateBotLocaleRequest(input)
373	req.SetContext(ctx)
374	req.ApplyOptions(opts...)
375	return out, req.Send()
376}
377
378const opCreateBotVersion = "CreateBotVersion"
379
380// CreateBotVersionRequest generates a "aws/request.Request" representing the
381// client's request for the CreateBotVersion operation. The "output" return
382// value will be populated with the request's response once the request completes
383// successfully.
384//
385// Use "Send" method on the returned Request to send the API call to the service.
386// the "output" return value is not valid until after Send returns without error.
387//
388// See CreateBotVersion for more information on using the CreateBotVersion
389// API call, and error handling.
390//
391// This method is useful when you want to inject custom logic or configuration
392// into the SDK's request lifecycle. Such as custom headers, or retry logic.
393//
394//
395//    // Example sending a request using the CreateBotVersionRequest method.
396//    req, resp := client.CreateBotVersionRequest(params)
397//
398//    err := req.Send()
399//    if err == nil { // resp is now filled
400//        fmt.Println(resp)
401//    }
402//
403// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateBotVersion
404func (c *LexModelsV2) CreateBotVersionRequest(input *CreateBotVersionInput) (req *request.Request, output *CreateBotVersionOutput) {
405	op := &request.Operation{
406		Name:       opCreateBotVersion,
407		HTTPMethod: "PUT",
408		HTTPPath:   "/bots/{botId}/botversions/",
409	}
410
411	if input == nil {
412		input = &CreateBotVersionInput{}
413	}
414
415	output = &CreateBotVersionOutput{}
416	req = c.newRequest(op, input, output)
417	return
418}
419
420// CreateBotVersion API operation for Amazon Lex Model Building V2.
421//
422// Creates a new version of the bot based on the DRAFT version. If the DRAFT
423// version of this resource hasn't changed since you created the last version,
424// Amazon Lex doesn't create a new version, it returns the last created version.
425//
426// When you create the first version of a bot, Amazon Lex sets the version to
427// 1. Subsequent versions increment by 1.
428//
429// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
430// with awserr.Error's Code and Message methods to get detailed information about
431// the error.
432//
433// See the AWS API reference guide for Amazon Lex Model Building V2's
434// API operation CreateBotVersion for usage and error information.
435//
436// Returned Error Types:
437//   * ThrottlingException
438//
439//   * ServiceQuotaExceededException
440//
441//   * ValidationException
442//
443//   * PreconditionFailedException
444//
445//   * ConflictException
446//
447//   * InternalServerException
448//
449// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateBotVersion
450func (c *LexModelsV2) CreateBotVersion(input *CreateBotVersionInput) (*CreateBotVersionOutput, error) {
451	req, out := c.CreateBotVersionRequest(input)
452	return out, req.Send()
453}
454
455// CreateBotVersionWithContext is the same as CreateBotVersion with the addition of
456// the ability to pass a context and additional request options.
457//
458// See CreateBotVersion for details on how to use this API operation.
459//
460// The context must be non-nil and will be used for request cancellation. If
461// the context is nil a panic will occur. In the future the SDK may create
462// sub-contexts for http.Requests. See https://golang.org/pkg/context/
463// for more information on using Contexts.
464func (c *LexModelsV2) CreateBotVersionWithContext(ctx aws.Context, input *CreateBotVersionInput, opts ...request.Option) (*CreateBotVersionOutput, error) {
465	req, out := c.CreateBotVersionRequest(input)
466	req.SetContext(ctx)
467	req.ApplyOptions(opts...)
468	return out, req.Send()
469}
470
471const opCreateExport = "CreateExport"
472
473// CreateExportRequest generates a "aws/request.Request" representing the
474// client's request for the CreateExport operation. The "output" return
475// value will be populated with the request's response once the request completes
476// successfully.
477//
478// Use "Send" method on the returned Request to send the API call to the service.
479// the "output" return value is not valid until after Send returns without error.
480//
481// See CreateExport for more information on using the CreateExport
482// API call, and error handling.
483//
484// This method is useful when you want to inject custom logic or configuration
485// into the SDK's request lifecycle. Such as custom headers, or retry logic.
486//
487//
488//    // Example sending a request using the CreateExportRequest method.
489//    req, resp := client.CreateExportRequest(params)
490//
491//    err := req.Send()
492//    if err == nil { // resp is now filled
493//        fmt.Println(resp)
494//    }
495//
496// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateExport
497func (c *LexModelsV2) CreateExportRequest(input *CreateExportInput) (req *request.Request, output *CreateExportOutput) {
498	op := &request.Operation{
499		Name:       opCreateExport,
500		HTTPMethod: "PUT",
501		HTTPPath:   "/exports/",
502	}
503
504	if input == nil {
505		input = &CreateExportInput{}
506	}
507
508	output = &CreateExportOutput{}
509	req = c.newRequest(op, input, output)
510	return
511}
512
513// CreateExport API operation for Amazon Lex Model Building V2.
514//
515// Creates a zip archive containing the contents of a bot or a bot locale. The
516// archive contains a directory structure that contains JSON files that define
517// the bot.
518//
519// You can create an archive that contains the complete definition of a bot,
520// or you can specify that the archive contain only the definition of a single
521// bot locale.
522//
523// For more information about exporting bots, and about the structure of the
524// export archive, see Importing and exporting bots (https://docs.aws.amazon.com/lexv2/latest/dg/importing-exporting.html)
525//
526// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
527// with awserr.Error's Code and Message methods to get detailed information about
528// the error.
529//
530// See the AWS API reference guide for Amazon Lex Model Building V2's
531// API operation CreateExport for usage and error information.
532//
533// Returned Error Types:
534//   * ThrottlingException
535//
536//   * ServiceQuotaExceededException
537//
538//   * ValidationException
539//
540//   * ResourceNotFoundException
541//
542//   * ConflictException
543//
544//   * InternalServerException
545//
546// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateExport
547func (c *LexModelsV2) CreateExport(input *CreateExportInput) (*CreateExportOutput, error) {
548	req, out := c.CreateExportRequest(input)
549	return out, req.Send()
550}
551
552// CreateExportWithContext is the same as CreateExport with the addition of
553// the ability to pass a context and additional request options.
554//
555// See CreateExport for details on how to use this API operation.
556//
557// The context must be non-nil and will be used for request cancellation. If
558// the context is nil a panic will occur. In the future the SDK may create
559// sub-contexts for http.Requests. See https://golang.org/pkg/context/
560// for more information on using Contexts.
561func (c *LexModelsV2) CreateExportWithContext(ctx aws.Context, input *CreateExportInput, opts ...request.Option) (*CreateExportOutput, error) {
562	req, out := c.CreateExportRequest(input)
563	req.SetContext(ctx)
564	req.ApplyOptions(opts...)
565	return out, req.Send()
566}
567
568const opCreateIntent = "CreateIntent"
569
570// CreateIntentRequest generates a "aws/request.Request" representing the
571// client's request for the CreateIntent operation. The "output" return
572// value will be populated with the request's response once the request completes
573// successfully.
574//
575// Use "Send" method on the returned Request to send the API call to the service.
576// the "output" return value is not valid until after Send returns without error.
577//
578// See CreateIntent for more information on using the CreateIntent
579// API call, and error handling.
580//
581// This method is useful when you want to inject custom logic or configuration
582// into the SDK's request lifecycle. Such as custom headers, or retry logic.
583//
584//
585//    // Example sending a request using the CreateIntentRequest method.
586//    req, resp := client.CreateIntentRequest(params)
587//
588//    err := req.Send()
589//    if err == nil { // resp is now filled
590//        fmt.Println(resp)
591//    }
592//
593// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateIntent
594func (c *LexModelsV2) CreateIntentRequest(input *CreateIntentInput) (req *request.Request, output *CreateIntentOutput) {
595	op := &request.Operation{
596		Name:       opCreateIntent,
597		HTTPMethod: "PUT",
598		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/",
599	}
600
601	if input == nil {
602		input = &CreateIntentInput{}
603	}
604
605	output = &CreateIntentOutput{}
606	req = c.newRequest(op, input, output)
607	return
608}
609
610// CreateIntent API operation for Amazon Lex Model Building V2.
611//
612// Creates an intent.
613//
614// To define the interaction between the user and your bot, you define one or
615// more intents. For example, for a pizza ordering bot you would create an OrderPizza
616// intent.
617//
618// When you create an intent, you must provide a name. You can optionally provide
619// the following:
620//
621//    * Sample utterances. For example, "I want to order a pizza" and "Can I
622//    order a pizza." You can't provide utterances for built-in intents.
623//
624//    * Information to be gathered. You specify slots for the information that
625//    you bot requests from the user. You can specify standard slot types, such
626//    as date and time, or custom slot types for your application.
627//
628//    * How the intent is fulfilled. You can provide a Lambda function or configure
629//    the intent to return the intent information to your client application.
630//    If you use a Lambda function, Amazon Lex invokes the function when all
631//    of the intent information is available.
632//
633//    * A confirmation prompt to send to the user to confirm an intent. For
634//    example, "Shall I order your pizza?"
635//
636//    * A conclusion statement to send to the user after the intent is fulfilled.
637//    For example, "I ordered your pizza."
638//
639//    * A follow-up prompt that asks the user for additional activity. For example,
640//    "Do you want a drink with your pizza?"
641//
642// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
643// with awserr.Error's Code and Message methods to get detailed information about
644// the error.
645//
646// See the AWS API reference guide for Amazon Lex Model Building V2's
647// API operation CreateIntent for usage and error information.
648//
649// Returned Error Types:
650//   * ThrottlingException
651//
652//   * ServiceQuotaExceededException
653//
654//   * ValidationException
655//
656//   * PreconditionFailedException
657//
658//   * ConflictException
659//
660//   * InternalServerException
661//
662// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateIntent
663func (c *LexModelsV2) CreateIntent(input *CreateIntentInput) (*CreateIntentOutput, error) {
664	req, out := c.CreateIntentRequest(input)
665	return out, req.Send()
666}
667
668// CreateIntentWithContext is the same as CreateIntent with the addition of
669// the ability to pass a context and additional request options.
670//
671// See CreateIntent for details on how to use this API operation.
672//
673// The context must be non-nil and will be used for request cancellation. If
674// the context is nil a panic will occur. In the future the SDK may create
675// sub-contexts for http.Requests. See https://golang.org/pkg/context/
676// for more information on using Contexts.
677func (c *LexModelsV2) CreateIntentWithContext(ctx aws.Context, input *CreateIntentInput, opts ...request.Option) (*CreateIntentOutput, error) {
678	req, out := c.CreateIntentRequest(input)
679	req.SetContext(ctx)
680	req.ApplyOptions(opts...)
681	return out, req.Send()
682}
683
684const opCreateResourcePolicy = "CreateResourcePolicy"
685
686// CreateResourcePolicyRequest generates a "aws/request.Request" representing the
687// client's request for the CreateResourcePolicy operation. The "output" return
688// value will be populated with the request's response once the request completes
689// successfully.
690//
691// Use "Send" method on the returned Request to send the API call to the service.
692// the "output" return value is not valid until after Send returns without error.
693//
694// See CreateResourcePolicy for more information on using the CreateResourcePolicy
695// API call, and error handling.
696//
697// This method is useful when you want to inject custom logic or configuration
698// into the SDK's request lifecycle. Such as custom headers, or retry logic.
699//
700//
701//    // Example sending a request using the CreateResourcePolicyRequest method.
702//    req, resp := client.CreateResourcePolicyRequest(params)
703//
704//    err := req.Send()
705//    if err == nil { // resp is now filled
706//        fmt.Println(resp)
707//    }
708//
709// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateResourcePolicy
710func (c *LexModelsV2) CreateResourcePolicyRequest(input *CreateResourcePolicyInput) (req *request.Request, output *CreateResourcePolicyOutput) {
711	op := &request.Operation{
712		Name:       opCreateResourcePolicy,
713		HTTPMethod: "POST",
714		HTTPPath:   "/policy/{resourceArn}/",
715	}
716
717	if input == nil {
718		input = &CreateResourcePolicyInput{}
719	}
720
721	output = &CreateResourcePolicyOutput{}
722	req = c.newRequest(op, input, output)
723	return
724}
725
726// CreateResourcePolicy API operation for Amazon Lex Model Building V2.
727//
728// Creates a new resource policy with the specified policy statements.
729//
730// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
731// with awserr.Error's Code and Message methods to get detailed information about
732// the error.
733//
734// See the AWS API reference guide for Amazon Lex Model Building V2's
735// API operation CreateResourcePolicy for usage and error information.
736//
737// Returned Error Types:
738//   * ResourceNotFoundException
739//
740//   * ServiceQuotaExceededException
741//
742//   * PreconditionFailedException
743//
744//   * ValidationException
745//
746//   * InternalServerException
747//
748//   * ThrottlingException
749//
750// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateResourcePolicy
751func (c *LexModelsV2) CreateResourcePolicy(input *CreateResourcePolicyInput) (*CreateResourcePolicyOutput, error) {
752	req, out := c.CreateResourcePolicyRequest(input)
753	return out, req.Send()
754}
755
756// CreateResourcePolicyWithContext is the same as CreateResourcePolicy with the addition of
757// the ability to pass a context and additional request options.
758//
759// See CreateResourcePolicy for details on how to use this API operation.
760//
761// The context must be non-nil and will be used for request cancellation. If
762// the context is nil a panic will occur. In the future the SDK may create
763// sub-contexts for http.Requests. See https://golang.org/pkg/context/
764// for more information on using Contexts.
765func (c *LexModelsV2) CreateResourcePolicyWithContext(ctx aws.Context, input *CreateResourcePolicyInput, opts ...request.Option) (*CreateResourcePolicyOutput, error) {
766	req, out := c.CreateResourcePolicyRequest(input)
767	req.SetContext(ctx)
768	req.ApplyOptions(opts...)
769	return out, req.Send()
770}
771
772const opCreateResourcePolicyStatement = "CreateResourcePolicyStatement"
773
774// CreateResourcePolicyStatementRequest generates a "aws/request.Request" representing the
775// client's request for the CreateResourcePolicyStatement operation. The "output" return
776// value will be populated with the request's response once the request completes
777// successfully.
778//
779// Use "Send" method on the returned Request to send the API call to the service.
780// the "output" return value is not valid until after Send returns without error.
781//
782// See CreateResourcePolicyStatement for more information on using the CreateResourcePolicyStatement
783// API call, and error handling.
784//
785// This method is useful when you want to inject custom logic or configuration
786// into the SDK's request lifecycle. Such as custom headers, or retry logic.
787//
788//
789//    // Example sending a request using the CreateResourcePolicyStatementRequest method.
790//    req, resp := client.CreateResourcePolicyStatementRequest(params)
791//
792//    err := req.Send()
793//    if err == nil { // resp is now filled
794//        fmt.Println(resp)
795//    }
796//
797// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateResourcePolicyStatement
798func (c *LexModelsV2) CreateResourcePolicyStatementRequest(input *CreateResourcePolicyStatementInput) (req *request.Request, output *CreateResourcePolicyStatementOutput) {
799	op := &request.Operation{
800		Name:       opCreateResourcePolicyStatement,
801		HTTPMethod: "POST",
802		HTTPPath:   "/policy/{resourceArn}/statements/",
803	}
804
805	if input == nil {
806		input = &CreateResourcePolicyStatementInput{}
807	}
808
809	output = &CreateResourcePolicyStatementOutput{}
810	req = c.newRequest(op, input, output)
811	return
812}
813
814// CreateResourcePolicyStatement API operation for Amazon Lex Model Building V2.
815//
816// Adds a new resource policy statement to a bot or bot alias. If a resource
817// policy exists, the statement is added to the current resource policy. If
818// a policy doesn't exist, a new policy is created.
819//
820// You can't create a resource policy statement that allows cross-account access.
821//
822// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
823// with awserr.Error's Code and Message methods to get detailed information about
824// the error.
825//
826// See the AWS API reference guide for Amazon Lex Model Building V2's
827// API operation CreateResourcePolicyStatement for usage and error information.
828//
829// Returned Error Types:
830//   * ResourceNotFoundException
831//
832//   * ConflictException
833//
834//   * ServiceQuotaExceededException
835//
836//   * PreconditionFailedException
837//
838//   * ValidationException
839//
840//   * InternalServerException
841//
842//   * ThrottlingException
843//
844// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateResourcePolicyStatement
845func (c *LexModelsV2) CreateResourcePolicyStatement(input *CreateResourcePolicyStatementInput) (*CreateResourcePolicyStatementOutput, error) {
846	req, out := c.CreateResourcePolicyStatementRequest(input)
847	return out, req.Send()
848}
849
850// CreateResourcePolicyStatementWithContext is the same as CreateResourcePolicyStatement with the addition of
851// the ability to pass a context and additional request options.
852//
853// See CreateResourcePolicyStatement for details on how to use this API operation.
854//
855// The context must be non-nil and will be used for request cancellation. If
856// the context is nil a panic will occur. In the future the SDK may create
857// sub-contexts for http.Requests. See https://golang.org/pkg/context/
858// for more information on using Contexts.
859func (c *LexModelsV2) CreateResourcePolicyStatementWithContext(ctx aws.Context, input *CreateResourcePolicyStatementInput, opts ...request.Option) (*CreateResourcePolicyStatementOutput, error) {
860	req, out := c.CreateResourcePolicyStatementRequest(input)
861	req.SetContext(ctx)
862	req.ApplyOptions(opts...)
863	return out, req.Send()
864}
865
866const opCreateSlot = "CreateSlot"
867
868// CreateSlotRequest generates a "aws/request.Request" representing the
869// client's request for the CreateSlot operation. The "output" return
870// value will be populated with the request's response once the request completes
871// successfully.
872//
873// Use "Send" method on the returned Request to send the API call to the service.
874// the "output" return value is not valid until after Send returns without error.
875//
876// See CreateSlot for more information on using the CreateSlot
877// API call, and error handling.
878//
879// This method is useful when you want to inject custom logic or configuration
880// into the SDK's request lifecycle. Such as custom headers, or retry logic.
881//
882//
883//    // Example sending a request using the CreateSlotRequest method.
884//    req, resp := client.CreateSlotRequest(params)
885//
886//    err := req.Send()
887//    if err == nil { // resp is now filled
888//        fmt.Println(resp)
889//    }
890//
891// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateSlot
892func (c *LexModelsV2) CreateSlotRequest(input *CreateSlotInput) (req *request.Request, output *CreateSlotOutput) {
893	op := &request.Operation{
894		Name:       opCreateSlot,
895		HTTPMethod: "PUT",
896		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/slots/",
897	}
898
899	if input == nil {
900		input = &CreateSlotInput{}
901	}
902
903	output = &CreateSlotOutput{}
904	req = c.newRequest(op, input, output)
905	return
906}
907
908// CreateSlot API operation for Amazon Lex Model Building V2.
909//
910// Creates a slot in an intent. A slot is a variable needed to fulfill an intent.
911// For example, an OrderPizza intent might need slots for size, crust, and number
912// of pizzas. For each slot, you define one or more utterances that Amazon Lex
913// uses to elicit a response from the user.
914//
915// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
916// with awserr.Error's Code and Message methods to get detailed information about
917// the error.
918//
919// See the AWS API reference guide for Amazon Lex Model Building V2's
920// API operation CreateSlot for usage and error information.
921//
922// Returned Error Types:
923//   * ThrottlingException
924//
925//   * ServiceQuotaExceededException
926//
927//   * ValidationException
928//
929//   * PreconditionFailedException
930//
931//   * ConflictException
932//
933//   * InternalServerException
934//
935// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateSlot
936func (c *LexModelsV2) CreateSlot(input *CreateSlotInput) (*CreateSlotOutput, error) {
937	req, out := c.CreateSlotRequest(input)
938	return out, req.Send()
939}
940
941// CreateSlotWithContext is the same as CreateSlot with the addition of
942// the ability to pass a context and additional request options.
943//
944// See CreateSlot for details on how to use this API operation.
945//
946// The context must be non-nil and will be used for request cancellation. If
947// the context is nil a panic will occur. In the future the SDK may create
948// sub-contexts for http.Requests. See https://golang.org/pkg/context/
949// for more information on using Contexts.
950func (c *LexModelsV2) CreateSlotWithContext(ctx aws.Context, input *CreateSlotInput, opts ...request.Option) (*CreateSlotOutput, error) {
951	req, out := c.CreateSlotRequest(input)
952	req.SetContext(ctx)
953	req.ApplyOptions(opts...)
954	return out, req.Send()
955}
956
957const opCreateSlotType = "CreateSlotType"
958
959// CreateSlotTypeRequest generates a "aws/request.Request" representing the
960// client's request for the CreateSlotType operation. The "output" return
961// value will be populated with the request's response once the request completes
962// successfully.
963//
964// Use "Send" method on the returned Request to send the API call to the service.
965// the "output" return value is not valid until after Send returns without error.
966//
967// See CreateSlotType for more information on using the CreateSlotType
968// API call, and error handling.
969//
970// This method is useful when you want to inject custom logic or configuration
971// into the SDK's request lifecycle. Such as custom headers, or retry logic.
972//
973//
974//    // Example sending a request using the CreateSlotTypeRequest method.
975//    req, resp := client.CreateSlotTypeRequest(params)
976//
977//    err := req.Send()
978//    if err == nil { // resp is now filled
979//        fmt.Println(resp)
980//    }
981//
982// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateSlotType
983func (c *LexModelsV2) CreateSlotTypeRequest(input *CreateSlotTypeInput) (req *request.Request, output *CreateSlotTypeOutput) {
984	op := &request.Operation{
985		Name:       opCreateSlotType,
986		HTTPMethod: "PUT",
987		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/slottypes/",
988	}
989
990	if input == nil {
991		input = &CreateSlotTypeInput{}
992	}
993
994	output = &CreateSlotTypeOutput{}
995	req = c.newRequest(op, input, output)
996	return
997}
998
999// CreateSlotType API operation for Amazon Lex Model Building V2.
1000//
1001// Creates a custom slot type
1002//
1003// To create a custom slot type, specify a name for the slot type and a set
1004// of enumeration values, the values that a slot of this type can assume.
1005//
1006// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1007// with awserr.Error's Code and Message methods to get detailed information about
1008// the error.
1009//
1010// See the AWS API reference guide for Amazon Lex Model Building V2's
1011// API operation CreateSlotType for usage and error information.
1012//
1013// Returned Error Types:
1014//   * ThrottlingException
1015//
1016//   * ServiceQuotaExceededException
1017//
1018//   * ValidationException
1019//
1020//   * PreconditionFailedException
1021//
1022//   * ConflictException
1023//
1024//   * InternalServerException
1025//
1026// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateSlotType
1027func (c *LexModelsV2) CreateSlotType(input *CreateSlotTypeInput) (*CreateSlotTypeOutput, error) {
1028	req, out := c.CreateSlotTypeRequest(input)
1029	return out, req.Send()
1030}
1031
1032// CreateSlotTypeWithContext is the same as CreateSlotType with the addition of
1033// the ability to pass a context and additional request options.
1034//
1035// See CreateSlotType for details on how to use this API operation.
1036//
1037// The context must be non-nil and will be used for request cancellation. If
1038// the context is nil a panic will occur. In the future the SDK may create
1039// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1040// for more information on using Contexts.
1041func (c *LexModelsV2) CreateSlotTypeWithContext(ctx aws.Context, input *CreateSlotTypeInput, opts ...request.Option) (*CreateSlotTypeOutput, error) {
1042	req, out := c.CreateSlotTypeRequest(input)
1043	req.SetContext(ctx)
1044	req.ApplyOptions(opts...)
1045	return out, req.Send()
1046}
1047
1048const opCreateUploadUrl = "CreateUploadUrl"
1049
1050// CreateUploadUrlRequest generates a "aws/request.Request" representing the
1051// client's request for the CreateUploadUrl operation. The "output" return
1052// value will be populated with the request's response once the request completes
1053// successfully.
1054//
1055// Use "Send" method on the returned Request to send the API call to the service.
1056// the "output" return value is not valid until after Send returns without error.
1057//
1058// See CreateUploadUrl for more information on using the CreateUploadUrl
1059// API call, and error handling.
1060//
1061// This method is useful when you want to inject custom logic or configuration
1062// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1063//
1064//
1065//    // Example sending a request using the CreateUploadUrlRequest method.
1066//    req, resp := client.CreateUploadUrlRequest(params)
1067//
1068//    err := req.Send()
1069//    if err == nil { // resp is now filled
1070//        fmt.Println(resp)
1071//    }
1072//
1073// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateUploadUrl
1074func (c *LexModelsV2) CreateUploadUrlRequest(input *CreateUploadUrlInput) (req *request.Request, output *CreateUploadUrlOutput) {
1075	op := &request.Operation{
1076		Name:       opCreateUploadUrl,
1077		HTTPMethod: "POST",
1078		HTTPPath:   "/createuploadurl/",
1079	}
1080
1081	if input == nil {
1082		input = &CreateUploadUrlInput{}
1083	}
1084
1085	output = &CreateUploadUrlOutput{}
1086	req = c.newRequest(op, input, output)
1087	return
1088}
1089
1090// CreateUploadUrl API operation for Amazon Lex Model Building V2.
1091//
1092// Gets a pre-signed S3 write URL that you use to upload the zip archive when
1093// importing a bot or a bot locale.
1094//
1095// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1096// with awserr.Error's Code and Message methods to get detailed information about
1097// the error.
1098//
1099// See the AWS API reference guide for Amazon Lex Model Building V2's
1100// API operation CreateUploadUrl for usage and error information.
1101//
1102// Returned Error Types:
1103//   * ThrottlingException
1104//
1105//   * ValidationException
1106//
1107//   * ResourceNotFoundException
1108//
1109//   * ConflictException
1110//
1111//   * InternalServerException
1112//
1113// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateUploadUrl
1114func (c *LexModelsV2) CreateUploadUrl(input *CreateUploadUrlInput) (*CreateUploadUrlOutput, error) {
1115	req, out := c.CreateUploadUrlRequest(input)
1116	return out, req.Send()
1117}
1118
1119// CreateUploadUrlWithContext is the same as CreateUploadUrl with the addition of
1120// the ability to pass a context and additional request options.
1121//
1122// See CreateUploadUrl for details on how to use this API operation.
1123//
1124// The context must be non-nil and will be used for request cancellation. If
1125// the context is nil a panic will occur. In the future the SDK may create
1126// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1127// for more information on using Contexts.
1128func (c *LexModelsV2) CreateUploadUrlWithContext(ctx aws.Context, input *CreateUploadUrlInput, opts ...request.Option) (*CreateUploadUrlOutput, error) {
1129	req, out := c.CreateUploadUrlRequest(input)
1130	req.SetContext(ctx)
1131	req.ApplyOptions(opts...)
1132	return out, req.Send()
1133}
1134
1135const opDeleteBot = "DeleteBot"
1136
1137// DeleteBotRequest generates a "aws/request.Request" representing the
1138// client's request for the DeleteBot operation. The "output" return
1139// value will be populated with the request's response once the request completes
1140// successfully.
1141//
1142// Use "Send" method on the returned Request to send the API call to the service.
1143// the "output" return value is not valid until after Send returns without error.
1144//
1145// See DeleteBot for more information on using the DeleteBot
1146// API call, and error handling.
1147//
1148// This method is useful when you want to inject custom logic or configuration
1149// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1150//
1151//
1152//    // Example sending a request using the DeleteBotRequest method.
1153//    req, resp := client.DeleteBotRequest(params)
1154//
1155//    err := req.Send()
1156//    if err == nil { // resp is now filled
1157//        fmt.Println(resp)
1158//    }
1159//
1160// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteBot
1161func (c *LexModelsV2) DeleteBotRequest(input *DeleteBotInput) (req *request.Request, output *DeleteBotOutput) {
1162	op := &request.Operation{
1163		Name:       opDeleteBot,
1164		HTTPMethod: "DELETE",
1165		HTTPPath:   "/bots/{botId}/",
1166	}
1167
1168	if input == nil {
1169		input = &DeleteBotInput{}
1170	}
1171
1172	output = &DeleteBotOutput{}
1173	req = c.newRequest(op, input, output)
1174	return
1175}
1176
1177// DeleteBot API operation for Amazon Lex Model Building V2.
1178//
1179// Deletes all versions of a bot, including the Draft version. To delete a specific
1180// version, use the DeleteBotVersion operation.
1181//
1182// When you delete a bot, all of the resources contained in the bot are also
1183// deleted. Deleting a bot removes all locales, intents, slot, and slot types
1184// defined for the bot.
1185//
1186// If a bot has an alias, the DeleteBot operation returns a ResourceInUseException
1187// exception. If you want to delete the bot and the alias, set the skipResourceInUseCheck
1188// parameter to true.
1189//
1190// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1191// with awserr.Error's Code and Message methods to get detailed information about
1192// the error.
1193//
1194// See the AWS API reference guide for Amazon Lex Model Building V2's
1195// API operation DeleteBot for usage and error information.
1196//
1197// Returned Error Types:
1198//   * ThrottlingException
1199//
1200//   * ServiceQuotaExceededException
1201//
1202//   * ValidationException
1203//
1204//   * ConflictException
1205//
1206//   * PreconditionFailedException
1207//
1208//   * InternalServerException
1209//
1210// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteBot
1211func (c *LexModelsV2) DeleteBot(input *DeleteBotInput) (*DeleteBotOutput, error) {
1212	req, out := c.DeleteBotRequest(input)
1213	return out, req.Send()
1214}
1215
1216// DeleteBotWithContext is the same as DeleteBot with the addition of
1217// the ability to pass a context and additional request options.
1218//
1219// See DeleteBot for details on how to use this API operation.
1220//
1221// The context must be non-nil and will be used for request cancellation. If
1222// the context is nil a panic will occur. In the future the SDK may create
1223// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1224// for more information on using Contexts.
1225func (c *LexModelsV2) DeleteBotWithContext(ctx aws.Context, input *DeleteBotInput, opts ...request.Option) (*DeleteBotOutput, error) {
1226	req, out := c.DeleteBotRequest(input)
1227	req.SetContext(ctx)
1228	req.ApplyOptions(opts...)
1229	return out, req.Send()
1230}
1231
1232const opDeleteBotAlias = "DeleteBotAlias"
1233
1234// DeleteBotAliasRequest generates a "aws/request.Request" representing the
1235// client's request for the DeleteBotAlias operation. The "output" return
1236// value will be populated with the request's response once the request completes
1237// successfully.
1238//
1239// Use "Send" method on the returned Request to send the API call to the service.
1240// the "output" return value is not valid until after Send returns without error.
1241//
1242// See DeleteBotAlias for more information on using the DeleteBotAlias
1243// API call, and error handling.
1244//
1245// This method is useful when you want to inject custom logic or configuration
1246// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1247//
1248//
1249//    // Example sending a request using the DeleteBotAliasRequest method.
1250//    req, resp := client.DeleteBotAliasRequest(params)
1251//
1252//    err := req.Send()
1253//    if err == nil { // resp is now filled
1254//        fmt.Println(resp)
1255//    }
1256//
1257// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteBotAlias
1258func (c *LexModelsV2) DeleteBotAliasRequest(input *DeleteBotAliasInput) (req *request.Request, output *DeleteBotAliasOutput) {
1259	op := &request.Operation{
1260		Name:       opDeleteBotAlias,
1261		HTTPMethod: "DELETE",
1262		HTTPPath:   "/bots/{botId}/botaliases/{botAliasId}/",
1263	}
1264
1265	if input == nil {
1266		input = &DeleteBotAliasInput{}
1267	}
1268
1269	output = &DeleteBotAliasOutput{}
1270	req = c.newRequest(op, input, output)
1271	return
1272}
1273
1274// DeleteBotAlias API operation for Amazon Lex Model Building V2.
1275//
1276// Deletes the specified bot alias.
1277//
1278// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1279// with awserr.Error's Code and Message methods to get detailed information about
1280// the error.
1281//
1282// See the AWS API reference guide for Amazon Lex Model Building V2's
1283// API operation DeleteBotAlias for usage and error information.
1284//
1285// Returned Error Types:
1286//   * ThrottlingException
1287//
1288//   * ServiceQuotaExceededException
1289//
1290//   * ValidationException
1291//
1292//   * ConflictException
1293//
1294//   * PreconditionFailedException
1295//
1296//   * InternalServerException
1297//
1298// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteBotAlias
1299func (c *LexModelsV2) DeleteBotAlias(input *DeleteBotAliasInput) (*DeleteBotAliasOutput, error) {
1300	req, out := c.DeleteBotAliasRequest(input)
1301	return out, req.Send()
1302}
1303
1304// DeleteBotAliasWithContext is the same as DeleteBotAlias with the addition of
1305// the ability to pass a context and additional request options.
1306//
1307// See DeleteBotAlias for details on how to use this API operation.
1308//
1309// The context must be non-nil and will be used for request cancellation. If
1310// the context is nil a panic will occur. In the future the SDK may create
1311// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1312// for more information on using Contexts.
1313func (c *LexModelsV2) DeleteBotAliasWithContext(ctx aws.Context, input *DeleteBotAliasInput, opts ...request.Option) (*DeleteBotAliasOutput, error) {
1314	req, out := c.DeleteBotAliasRequest(input)
1315	req.SetContext(ctx)
1316	req.ApplyOptions(opts...)
1317	return out, req.Send()
1318}
1319
1320const opDeleteBotLocale = "DeleteBotLocale"
1321
1322// DeleteBotLocaleRequest generates a "aws/request.Request" representing the
1323// client's request for the DeleteBotLocale operation. The "output" return
1324// value will be populated with the request's response once the request completes
1325// successfully.
1326//
1327// Use "Send" method on the returned Request to send the API call to the service.
1328// the "output" return value is not valid until after Send returns without error.
1329//
1330// See DeleteBotLocale for more information on using the DeleteBotLocale
1331// API call, and error handling.
1332//
1333// This method is useful when you want to inject custom logic or configuration
1334// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1335//
1336//
1337//    // Example sending a request using the DeleteBotLocaleRequest method.
1338//    req, resp := client.DeleteBotLocaleRequest(params)
1339//
1340//    err := req.Send()
1341//    if err == nil { // resp is now filled
1342//        fmt.Println(resp)
1343//    }
1344//
1345// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteBotLocale
1346func (c *LexModelsV2) DeleteBotLocaleRequest(input *DeleteBotLocaleInput) (req *request.Request, output *DeleteBotLocaleOutput) {
1347	op := &request.Operation{
1348		Name:       opDeleteBotLocale,
1349		HTTPMethod: "DELETE",
1350		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/",
1351	}
1352
1353	if input == nil {
1354		input = &DeleteBotLocaleInput{}
1355	}
1356
1357	output = &DeleteBotLocaleOutput{}
1358	req = c.newRequest(op, input, output)
1359	return
1360}
1361
1362// DeleteBotLocale API operation for Amazon Lex Model Building V2.
1363//
1364// Removes a locale from a bot.
1365//
1366// When you delete a locale, all intents, slots, and slot types defined for
1367// the locale are also deleted.
1368//
1369// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1370// with awserr.Error's Code and Message methods to get detailed information about
1371// the error.
1372//
1373// See the AWS API reference guide for Amazon Lex Model Building V2's
1374// API operation DeleteBotLocale for usage and error information.
1375//
1376// Returned Error Types:
1377//   * ThrottlingException
1378//
1379//   * ServiceQuotaExceededException
1380//
1381//   * ValidationException
1382//
1383//   * PreconditionFailedException
1384//
1385//   * ConflictException
1386//
1387//   * InternalServerException
1388//
1389// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteBotLocale
1390func (c *LexModelsV2) DeleteBotLocale(input *DeleteBotLocaleInput) (*DeleteBotLocaleOutput, error) {
1391	req, out := c.DeleteBotLocaleRequest(input)
1392	return out, req.Send()
1393}
1394
1395// DeleteBotLocaleWithContext is the same as DeleteBotLocale with the addition of
1396// the ability to pass a context and additional request options.
1397//
1398// See DeleteBotLocale for details on how to use this API operation.
1399//
1400// The context must be non-nil and will be used for request cancellation. If
1401// the context is nil a panic will occur. In the future the SDK may create
1402// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1403// for more information on using Contexts.
1404func (c *LexModelsV2) DeleteBotLocaleWithContext(ctx aws.Context, input *DeleteBotLocaleInput, opts ...request.Option) (*DeleteBotLocaleOutput, error) {
1405	req, out := c.DeleteBotLocaleRequest(input)
1406	req.SetContext(ctx)
1407	req.ApplyOptions(opts...)
1408	return out, req.Send()
1409}
1410
1411const opDeleteBotVersion = "DeleteBotVersion"
1412
1413// DeleteBotVersionRequest generates a "aws/request.Request" representing the
1414// client's request for the DeleteBotVersion operation. The "output" return
1415// value will be populated with the request's response once the request completes
1416// successfully.
1417//
1418// Use "Send" method on the returned Request to send the API call to the service.
1419// the "output" return value is not valid until after Send returns without error.
1420//
1421// See DeleteBotVersion for more information on using the DeleteBotVersion
1422// API call, and error handling.
1423//
1424// This method is useful when you want to inject custom logic or configuration
1425// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1426//
1427//
1428//    // Example sending a request using the DeleteBotVersionRequest method.
1429//    req, resp := client.DeleteBotVersionRequest(params)
1430//
1431//    err := req.Send()
1432//    if err == nil { // resp is now filled
1433//        fmt.Println(resp)
1434//    }
1435//
1436// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteBotVersion
1437func (c *LexModelsV2) DeleteBotVersionRequest(input *DeleteBotVersionInput) (req *request.Request, output *DeleteBotVersionOutput) {
1438	op := &request.Operation{
1439		Name:       opDeleteBotVersion,
1440		HTTPMethod: "DELETE",
1441		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/",
1442	}
1443
1444	if input == nil {
1445		input = &DeleteBotVersionInput{}
1446	}
1447
1448	output = &DeleteBotVersionOutput{}
1449	req = c.newRequest(op, input, output)
1450	return
1451}
1452
1453// DeleteBotVersion API operation for Amazon Lex Model Building V2.
1454//
1455// Deletes a specific version of a bot. To delete all version of a bot, use
1456// the DeleteBot operation.
1457//
1458// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1459// with awserr.Error's Code and Message methods to get detailed information about
1460// the error.
1461//
1462// See the AWS API reference guide for Amazon Lex Model Building V2's
1463// API operation DeleteBotVersion for usage and error information.
1464//
1465// Returned Error Types:
1466//   * ThrottlingException
1467//
1468//   * ServiceQuotaExceededException
1469//
1470//   * ValidationException
1471//
1472//   * ConflictException
1473//
1474//   * PreconditionFailedException
1475//
1476//   * InternalServerException
1477//
1478// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteBotVersion
1479func (c *LexModelsV2) DeleteBotVersion(input *DeleteBotVersionInput) (*DeleteBotVersionOutput, error) {
1480	req, out := c.DeleteBotVersionRequest(input)
1481	return out, req.Send()
1482}
1483
1484// DeleteBotVersionWithContext is the same as DeleteBotVersion with the addition of
1485// the ability to pass a context and additional request options.
1486//
1487// See DeleteBotVersion for details on how to use this API operation.
1488//
1489// The context must be non-nil and will be used for request cancellation. If
1490// the context is nil a panic will occur. In the future the SDK may create
1491// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1492// for more information on using Contexts.
1493func (c *LexModelsV2) DeleteBotVersionWithContext(ctx aws.Context, input *DeleteBotVersionInput, opts ...request.Option) (*DeleteBotVersionOutput, error) {
1494	req, out := c.DeleteBotVersionRequest(input)
1495	req.SetContext(ctx)
1496	req.ApplyOptions(opts...)
1497	return out, req.Send()
1498}
1499
1500const opDeleteExport = "DeleteExport"
1501
1502// DeleteExportRequest generates a "aws/request.Request" representing the
1503// client's request for the DeleteExport operation. The "output" return
1504// value will be populated with the request's response once the request completes
1505// successfully.
1506//
1507// Use "Send" method on the returned Request to send the API call to the service.
1508// the "output" return value is not valid until after Send returns without error.
1509//
1510// See DeleteExport for more information on using the DeleteExport
1511// API call, and error handling.
1512//
1513// This method is useful when you want to inject custom logic or configuration
1514// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1515//
1516//
1517//    // Example sending a request using the DeleteExportRequest method.
1518//    req, resp := client.DeleteExportRequest(params)
1519//
1520//    err := req.Send()
1521//    if err == nil { // resp is now filled
1522//        fmt.Println(resp)
1523//    }
1524//
1525// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteExport
1526func (c *LexModelsV2) DeleteExportRequest(input *DeleteExportInput) (req *request.Request, output *DeleteExportOutput) {
1527	op := &request.Operation{
1528		Name:       opDeleteExport,
1529		HTTPMethod: "DELETE",
1530		HTTPPath:   "/exports/{exportId}/",
1531	}
1532
1533	if input == nil {
1534		input = &DeleteExportInput{}
1535	}
1536
1537	output = &DeleteExportOutput{}
1538	req = c.newRequest(op, input, output)
1539	return
1540}
1541
1542// DeleteExport API operation for Amazon Lex Model Building V2.
1543//
1544// Removes a previous export and the associated files stored in an S3 bucket.
1545//
1546// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1547// with awserr.Error's Code and Message methods to get detailed information about
1548// the error.
1549//
1550// See the AWS API reference guide for Amazon Lex Model Building V2's
1551// API operation DeleteExport for usage and error information.
1552//
1553// Returned Error Types:
1554//   * ThrottlingException
1555//
1556//   * ServiceQuotaExceededException
1557//
1558//   * ValidationException
1559//
1560//   * PreconditionFailedException
1561//
1562//   * InternalServerException
1563//
1564// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteExport
1565func (c *LexModelsV2) DeleteExport(input *DeleteExportInput) (*DeleteExportOutput, error) {
1566	req, out := c.DeleteExportRequest(input)
1567	return out, req.Send()
1568}
1569
1570// DeleteExportWithContext is the same as DeleteExport with the addition of
1571// the ability to pass a context and additional request options.
1572//
1573// See DeleteExport for details on how to use this API operation.
1574//
1575// The context must be non-nil and will be used for request cancellation. If
1576// the context is nil a panic will occur. In the future the SDK may create
1577// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1578// for more information on using Contexts.
1579func (c *LexModelsV2) DeleteExportWithContext(ctx aws.Context, input *DeleteExportInput, opts ...request.Option) (*DeleteExportOutput, error) {
1580	req, out := c.DeleteExportRequest(input)
1581	req.SetContext(ctx)
1582	req.ApplyOptions(opts...)
1583	return out, req.Send()
1584}
1585
1586const opDeleteImport = "DeleteImport"
1587
1588// DeleteImportRequest generates a "aws/request.Request" representing the
1589// client's request for the DeleteImport operation. The "output" return
1590// value will be populated with the request's response once the request completes
1591// successfully.
1592//
1593// Use "Send" method on the returned Request to send the API call to the service.
1594// the "output" return value is not valid until after Send returns without error.
1595//
1596// See DeleteImport for more information on using the DeleteImport
1597// API call, and error handling.
1598//
1599// This method is useful when you want to inject custom logic or configuration
1600// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1601//
1602//
1603//    // Example sending a request using the DeleteImportRequest method.
1604//    req, resp := client.DeleteImportRequest(params)
1605//
1606//    err := req.Send()
1607//    if err == nil { // resp is now filled
1608//        fmt.Println(resp)
1609//    }
1610//
1611// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteImport
1612func (c *LexModelsV2) DeleteImportRequest(input *DeleteImportInput) (req *request.Request, output *DeleteImportOutput) {
1613	op := &request.Operation{
1614		Name:       opDeleteImport,
1615		HTTPMethod: "DELETE",
1616		HTTPPath:   "/imports/{importId}/",
1617	}
1618
1619	if input == nil {
1620		input = &DeleteImportInput{}
1621	}
1622
1623	output = &DeleteImportOutput{}
1624	req = c.newRequest(op, input, output)
1625	return
1626}
1627
1628// DeleteImport API operation for Amazon Lex Model Building V2.
1629//
1630// Removes a previous import and the associated file stored in an S3 bucket.
1631//
1632// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1633// with awserr.Error's Code and Message methods to get detailed information about
1634// the error.
1635//
1636// See the AWS API reference guide for Amazon Lex Model Building V2's
1637// API operation DeleteImport for usage and error information.
1638//
1639// Returned Error Types:
1640//   * ThrottlingException
1641//
1642//   * ServiceQuotaExceededException
1643//
1644//   * ValidationException
1645//
1646//   * PreconditionFailedException
1647//
1648//   * InternalServerException
1649//
1650// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteImport
1651func (c *LexModelsV2) DeleteImport(input *DeleteImportInput) (*DeleteImportOutput, error) {
1652	req, out := c.DeleteImportRequest(input)
1653	return out, req.Send()
1654}
1655
1656// DeleteImportWithContext is the same as DeleteImport with the addition of
1657// the ability to pass a context and additional request options.
1658//
1659// See DeleteImport for details on how to use this API operation.
1660//
1661// The context must be non-nil and will be used for request cancellation. If
1662// the context is nil a panic will occur. In the future the SDK may create
1663// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1664// for more information on using Contexts.
1665func (c *LexModelsV2) DeleteImportWithContext(ctx aws.Context, input *DeleteImportInput, opts ...request.Option) (*DeleteImportOutput, error) {
1666	req, out := c.DeleteImportRequest(input)
1667	req.SetContext(ctx)
1668	req.ApplyOptions(opts...)
1669	return out, req.Send()
1670}
1671
1672const opDeleteIntent = "DeleteIntent"
1673
1674// DeleteIntentRequest generates a "aws/request.Request" representing the
1675// client's request for the DeleteIntent operation. The "output" return
1676// value will be populated with the request's response once the request completes
1677// successfully.
1678//
1679// Use "Send" method on the returned Request to send the API call to the service.
1680// the "output" return value is not valid until after Send returns without error.
1681//
1682// See DeleteIntent for more information on using the DeleteIntent
1683// API call, and error handling.
1684//
1685// This method is useful when you want to inject custom logic or configuration
1686// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1687//
1688//
1689//    // Example sending a request using the DeleteIntentRequest method.
1690//    req, resp := client.DeleteIntentRequest(params)
1691//
1692//    err := req.Send()
1693//    if err == nil { // resp is now filled
1694//        fmt.Println(resp)
1695//    }
1696//
1697// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteIntent
1698func (c *LexModelsV2) DeleteIntentRequest(input *DeleteIntentInput) (req *request.Request, output *DeleteIntentOutput) {
1699	op := &request.Operation{
1700		Name:       opDeleteIntent,
1701		HTTPMethod: "DELETE",
1702		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/",
1703	}
1704
1705	if input == nil {
1706		input = &DeleteIntentInput{}
1707	}
1708
1709	output = &DeleteIntentOutput{}
1710	req = c.newRequest(op, input, output)
1711	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1712	return
1713}
1714
1715// DeleteIntent API operation for Amazon Lex Model Building V2.
1716//
1717// Removes the specified intent.
1718//
1719// Deleting an intent also deletes the slots associated with the intent.
1720//
1721// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1722// with awserr.Error's Code and Message methods to get detailed information about
1723// the error.
1724//
1725// See the AWS API reference guide for Amazon Lex Model Building V2's
1726// API operation DeleteIntent for usage and error information.
1727//
1728// Returned Error Types:
1729//   * ThrottlingException
1730//
1731//   * ServiceQuotaExceededException
1732//
1733//   * ValidationException
1734//
1735//   * ConflictException
1736//
1737//   * PreconditionFailedException
1738//
1739//   * InternalServerException
1740//
1741// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteIntent
1742func (c *LexModelsV2) DeleteIntent(input *DeleteIntentInput) (*DeleteIntentOutput, error) {
1743	req, out := c.DeleteIntentRequest(input)
1744	return out, req.Send()
1745}
1746
1747// DeleteIntentWithContext is the same as DeleteIntent with the addition of
1748// the ability to pass a context and additional request options.
1749//
1750// See DeleteIntent for details on how to use this API operation.
1751//
1752// The context must be non-nil and will be used for request cancellation. If
1753// the context is nil a panic will occur. In the future the SDK may create
1754// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1755// for more information on using Contexts.
1756func (c *LexModelsV2) DeleteIntentWithContext(ctx aws.Context, input *DeleteIntentInput, opts ...request.Option) (*DeleteIntentOutput, error) {
1757	req, out := c.DeleteIntentRequest(input)
1758	req.SetContext(ctx)
1759	req.ApplyOptions(opts...)
1760	return out, req.Send()
1761}
1762
1763const opDeleteResourcePolicy = "DeleteResourcePolicy"
1764
1765// DeleteResourcePolicyRequest generates a "aws/request.Request" representing the
1766// client's request for the DeleteResourcePolicy operation. The "output" return
1767// value will be populated with the request's response once the request completes
1768// successfully.
1769//
1770// Use "Send" method on the returned Request to send the API call to the service.
1771// the "output" return value is not valid until after Send returns without error.
1772//
1773// See DeleteResourcePolicy for more information on using the DeleteResourcePolicy
1774// API call, and error handling.
1775//
1776// This method is useful when you want to inject custom logic or configuration
1777// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1778//
1779//
1780//    // Example sending a request using the DeleteResourcePolicyRequest method.
1781//    req, resp := client.DeleteResourcePolicyRequest(params)
1782//
1783//    err := req.Send()
1784//    if err == nil { // resp is now filled
1785//        fmt.Println(resp)
1786//    }
1787//
1788// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteResourcePolicy
1789func (c *LexModelsV2) DeleteResourcePolicyRequest(input *DeleteResourcePolicyInput) (req *request.Request, output *DeleteResourcePolicyOutput) {
1790	op := &request.Operation{
1791		Name:       opDeleteResourcePolicy,
1792		HTTPMethod: "DELETE",
1793		HTTPPath:   "/policy/{resourceArn}/",
1794	}
1795
1796	if input == nil {
1797		input = &DeleteResourcePolicyInput{}
1798	}
1799
1800	output = &DeleteResourcePolicyOutput{}
1801	req = c.newRequest(op, input, output)
1802	return
1803}
1804
1805// DeleteResourcePolicy API operation for Amazon Lex Model Building V2.
1806//
1807// Removes an existing policy from a bot or bot alias. If the resource doesn't
1808// have a policy attached, Amazon Lex returns an exception.
1809//
1810// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1811// with awserr.Error's Code and Message methods to get detailed information about
1812// the error.
1813//
1814// See the AWS API reference guide for Amazon Lex Model Building V2's
1815// API operation DeleteResourcePolicy for usage and error information.
1816//
1817// Returned Error Types:
1818//   * ResourceNotFoundException
1819//
1820//   * PreconditionFailedException
1821//
1822//   * InternalServerException
1823//
1824//   * ThrottlingException
1825//
1826// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteResourcePolicy
1827func (c *LexModelsV2) DeleteResourcePolicy(input *DeleteResourcePolicyInput) (*DeleteResourcePolicyOutput, error) {
1828	req, out := c.DeleteResourcePolicyRequest(input)
1829	return out, req.Send()
1830}
1831
1832// DeleteResourcePolicyWithContext is the same as DeleteResourcePolicy with the addition of
1833// the ability to pass a context and additional request options.
1834//
1835// See DeleteResourcePolicy 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 *LexModelsV2) DeleteResourcePolicyWithContext(ctx aws.Context, input *DeleteResourcePolicyInput, opts ...request.Option) (*DeleteResourcePolicyOutput, error) {
1842	req, out := c.DeleteResourcePolicyRequest(input)
1843	req.SetContext(ctx)
1844	req.ApplyOptions(opts...)
1845	return out, req.Send()
1846}
1847
1848const opDeleteResourcePolicyStatement = "DeleteResourcePolicyStatement"
1849
1850// DeleteResourcePolicyStatementRequest generates a "aws/request.Request" representing the
1851// client's request for the DeleteResourcePolicyStatement 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 DeleteResourcePolicyStatement for more information on using the DeleteResourcePolicyStatement
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 DeleteResourcePolicyStatementRequest method.
1866//    req, resp := client.DeleteResourcePolicyStatementRequest(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/models.lex.v2-2020-08-07/DeleteResourcePolicyStatement
1874func (c *LexModelsV2) DeleteResourcePolicyStatementRequest(input *DeleteResourcePolicyStatementInput) (req *request.Request, output *DeleteResourcePolicyStatementOutput) {
1875	op := &request.Operation{
1876		Name:       opDeleteResourcePolicyStatement,
1877		HTTPMethod: "DELETE",
1878		HTTPPath:   "/policy/{resourceArn}/statements/{statementId}/",
1879	}
1880
1881	if input == nil {
1882		input = &DeleteResourcePolicyStatementInput{}
1883	}
1884
1885	output = &DeleteResourcePolicyStatementOutput{}
1886	req = c.newRequest(op, input, output)
1887	return
1888}
1889
1890// DeleteResourcePolicyStatement API operation for Amazon Lex Model Building V2.
1891//
1892// Deletes a policy statement from a resource policy. If you delete the last
1893// statement from a policy, the policy is deleted. If you specify a statement
1894// ID that doesn't exist in the policy, or if the bot or bot alias doesn't have
1895// a policy attached, Amazon Lex returns an exception.
1896//
1897// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1898// with awserr.Error's Code and Message methods to get detailed information about
1899// the error.
1900//
1901// See the AWS API reference guide for Amazon Lex Model Building V2's
1902// API operation DeleteResourcePolicyStatement for usage and error information.
1903//
1904// Returned Error Types:
1905//   * ResourceNotFoundException
1906//
1907//   * PreconditionFailedException
1908//
1909//   * InternalServerException
1910//
1911//   * ThrottlingException
1912//
1913// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteResourcePolicyStatement
1914func (c *LexModelsV2) DeleteResourcePolicyStatement(input *DeleteResourcePolicyStatementInput) (*DeleteResourcePolicyStatementOutput, error) {
1915	req, out := c.DeleteResourcePolicyStatementRequest(input)
1916	return out, req.Send()
1917}
1918
1919// DeleteResourcePolicyStatementWithContext is the same as DeleteResourcePolicyStatement with the addition of
1920// the ability to pass a context and additional request options.
1921//
1922// See DeleteResourcePolicyStatement for details on how to use this API operation.
1923//
1924// The context must be non-nil and will be used for request cancellation. If
1925// the context is nil a panic will occur. In the future the SDK may create
1926// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1927// for more information on using Contexts.
1928func (c *LexModelsV2) DeleteResourcePolicyStatementWithContext(ctx aws.Context, input *DeleteResourcePolicyStatementInput, opts ...request.Option) (*DeleteResourcePolicyStatementOutput, error) {
1929	req, out := c.DeleteResourcePolicyStatementRequest(input)
1930	req.SetContext(ctx)
1931	req.ApplyOptions(opts...)
1932	return out, req.Send()
1933}
1934
1935const opDeleteSlot = "DeleteSlot"
1936
1937// DeleteSlotRequest generates a "aws/request.Request" representing the
1938// client's request for the DeleteSlot operation. The "output" return
1939// value will be populated with the request's response once the request completes
1940// successfully.
1941//
1942// Use "Send" method on the returned Request to send the API call to the service.
1943// the "output" return value is not valid until after Send returns without error.
1944//
1945// See DeleteSlot for more information on using the DeleteSlot
1946// API call, and error handling.
1947//
1948// This method is useful when you want to inject custom logic or configuration
1949// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1950//
1951//
1952//    // Example sending a request using the DeleteSlotRequest method.
1953//    req, resp := client.DeleteSlotRequest(params)
1954//
1955//    err := req.Send()
1956//    if err == nil { // resp is now filled
1957//        fmt.Println(resp)
1958//    }
1959//
1960// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteSlot
1961func (c *LexModelsV2) DeleteSlotRequest(input *DeleteSlotInput) (req *request.Request, output *DeleteSlotOutput) {
1962	op := &request.Operation{
1963		Name:       opDeleteSlot,
1964		HTTPMethod: "DELETE",
1965		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/slots/{slotId}/",
1966	}
1967
1968	if input == nil {
1969		input = &DeleteSlotInput{}
1970	}
1971
1972	output = &DeleteSlotOutput{}
1973	req = c.newRequest(op, input, output)
1974	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1975	return
1976}
1977
1978// DeleteSlot API operation for Amazon Lex Model Building V2.
1979//
1980// Deletes the specified slot from an intent.
1981//
1982// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1983// with awserr.Error's Code and Message methods to get detailed information about
1984// the error.
1985//
1986// See the AWS API reference guide for Amazon Lex Model Building V2's
1987// API operation DeleteSlot for usage and error information.
1988//
1989// Returned Error Types:
1990//   * ThrottlingException
1991//
1992//   * ServiceQuotaExceededException
1993//
1994//   * ValidationException
1995//
1996//   * ConflictException
1997//
1998//   * PreconditionFailedException
1999//
2000//   * InternalServerException
2001//
2002// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteSlot
2003func (c *LexModelsV2) DeleteSlot(input *DeleteSlotInput) (*DeleteSlotOutput, error) {
2004	req, out := c.DeleteSlotRequest(input)
2005	return out, req.Send()
2006}
2007
2008// DeleteSlotWithContext is the same as DeleteSlot with the addition of
2009// the ability to pass a context and additional request options.
2010//
2011// See DeleteSlot for details on how to use this API operation.
2012//
2013// The context must be non-nil and will be used for request cancellation. If
2014// the context is nil a panic will occur. In the future the SDK may create
2015// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2016// for more information on using Contexts.
2017func (c *LexModelsV2) DeleteSlotWithContext(ctx aws.Context, input *DeleteSlotInput, opts ...request.Option) (*DeleteSlotOutput, error) {
2018	req, out := c.DeleteSlotRequest(input)
2019	req.SetContext(ctx)
2020	req.ApplyOptions(opts...)
2021	return out, req.Send()
2022}
2023
2024const opDeleteSlotType = "DeleteSlotType"
2025
2026// DeleteSlotTypeRequest generates a "aws/request.Request" representing the
2027// client's request for the DeleteSlotType operation. The "output" return
2028// value will be populated with the request's response once the request completes
2029// successfully.
2030//
2031// Use "Send" method on the returned Request to send the API call to the service.
2032// the "output" return value is not valid until after Send returns without error.
2033//
2034// See DeleteSlotType for more information on using the DeleteSlotType
2035// API call, and error handling.
2036//
2037// This method is useful when you want to inject custom logic or configuration
2038// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2039//
2040//
2041//    // Example sending a request using the DeleteSlotTypeRequest method.
2042//    req, resp := client.DeleteSlotTypeRequest(params)
2043//
2044//    err := req.Send()
2045//    if err == nil { // resp is now filled
2046//        fmt.Println(resp)
2047//    }
2048//
2049// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteSlotType
2050func (c *LexModelsV2) DeleteSlotTypeRequest(input *DeleteSlotTypeInput) (req *request.Request, output *DeleteSlotTypeOutput) {
2051	op := &request.Operation{
2052		Name:       opDeleteSlotType,
2053		HTTPMethod: "DELETE",
2054		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/slottypes/{slotTypeId}/",
2055	}
2056
2057	if input == nil {
2058		input = &DeleteSlotTypeInput{}
2059	}
2060
2061	output = &DeleteSlotTypeOutput{}
2062	req = c.newRequest(op, input, output)
2063	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2064	return
2065}
2066
2067// DeleteSlotType API operation for Amazon Lex Model Building V2.
2068//
2069// Deletes a slot type from a bot locale.
2070//
2071// If a slot is using the slot type, Amazon Lex throws a ResourceInUseException
2072// exception. To avoid the exception, set the skipResourceInUseCheck parameter
2073// to true.
2074//
2075// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2076// with awserr.Error's Code and Message methods to get detailed information about
2077// the error.
2078//
2079// See the AWS API reference guide for Amazon Lex Model Building V2's
2080// API operation DeleteSlotType for usage and error information.
2081//
2082// Returned Error Types:
2083//   * ThrottlingException
2084//
2085//   * ServiceQuotaExceededException
2086//
2087//   * ValidationException
2088//
2089//   * ConflictException
2090//
2091//   * PreconditionFailedException
2092//
2093//   * InternalServerException
2094//
2095// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteSlotType
2096func (c *LexModelsV2) DeleteSlotType(input *DeleteSlotTypeInput) (*DeleteSlotTypeOutput, error) {
2097	req, out := c.DeleteSlotTypeRequest(input)
2098	return out, req.Send()
2099}
2100
2101// DeleteSlotTypeWithContext is the same as DeleteSlotType with the addition of
2102// the ability to pass a context and additional request options.
2103//
2104// See DeleteSlotType for details on how to use this API operation.
2105//
2106// The context must be non-nil and will be used for request cancellation. If
2107// the context is nil a panic will occur. In the future the SDK may create
2108// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2109// for more information on using Contexts.
2110func (c *LexModelsV2) DeleteSlotTypeWithContext(ctx aws.Context, input *DeleteSlotTypeInput, opts ...request.Option) (*DeleteSlotTypeOutput, error) {
2111	req, out := c.DeleteSlotTypeRequest(input)
2112	req.SetContext(ctx)
2113	req.ApplyOptions(opts...)
2114	return out, req.Send()
2115}
2116
2117const opDescribeBot = "DescribeBot"
2118
2119// DescribeBotRequest generates a "aws/request.Request" representing the
2120// client's request for the DescribeBot operation. The "output" return
2121// value will be populated with the request's response once the request completes
2122// successfully.
2123//
2124// Use "Send" method on the returned Request to send the API call to the service.
2125// the "output" return value is not valid until after Send returns without error.
2126//
2127// See DescribeBot for more information on using the DescribeBot
2128// API call, and error handling.
2129//
2130// This method is useful when you want to inject custom logic or configuration
2131// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2132//
2133//
2134//    // Example sending a request using the DescribeBotRequest method.
2135//    req, resp := client.DescribeBotRequest(params)
2136//
2137//    err := req.Send()
2138//    if err == nil { // resp is now filled
2139//        fmt.Println(resp)
2140//    }
2141//
2142// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBot
2143func (c *LexModelsV2) DescribeBotRequest(input *DescribeBotInput) (req *request.Request, output *DescribeBotOutput) {
2144	op := &request.Operation{
2145		Name:       opDescribeBot,
2146		HTTPMethod: "GET",
2147		HTTPPath:   "/bots/{botId}/",
2148	}
2149
2150	if input == nil {
2151		input = &DescribeBotInput{}
2152	}
2153
2154	output = &DescribeBotOutput{}
2155	req = c.newRequest(op, input, output)
2156	return
2157}
2158
2159// DescribeBot API operation for Amazon Lex Model Building V2.
2160//
2161// Provides metadata information about a bot.
2162//
2163// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2164// with awserr.Error's Code and Message methods to get detailed information about
2165// the error.
2166//
2167// See the AWS API reference guide for Amazon Lex Model Building V2's
2168// API operation DescribeBot for usage and error information.
2169//
2170// Returned Error Types:
2171//   * ThrottlingException
2172//
2173//   * ServiceQuotaExceededException
2174//
2175//   * ValidationException
2176//
2177//   * ResourceNotFoundException
2178//
2179//   * InternalServerException
2180//
2181// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBot
2182func (c *LexModelsV2) DescribeBot(input *DescribeBotInput) (*DescribeBotOutput, error) {
2183	req, out := c.DescribeBotRequest(input)
2184	return out, req.Send()
2185}
2186
2187// DescribeBotWithContext is the same as DescribeBot with the addition of
2188// the ability to pass a context and additional request options.
2189//
2190// See DescribeBot for details on how to use this API operation.
2191//
2192// The context must be non-nil and will be used for request cancellation. If
2193// the context is nil a panic will occur. In the future the SDK may create
2194// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2195// for more information on using Contexts.
2196func (c *LexModelsV2) DescribeBotWithContext(ctx aws.Context, input *DescribeBotInput, opts ...request.Option) (*DescribeBotOutput, error) {
2197	req, out := c.DescribeBotRequest(input)
2198	req.SetContext(ctx)
2199	req.ApplyOptions(opts...)
2200	return out, req.Send()
2201}
2202
2203const opDescribeBotAlias = "DescribeBotAlias"
2204
2205// DescribeBotAliasRequest generates a "aws/request.Request" representing the
2206// client's request for the DescribeBotAlias operation. The "output" return
2207// value will be populated with the request's response once the request completes
2208// successfully.
2209//
2210// Use "Send" method on the returned Request to send the API call to the service.
2211// the "output" return value is not valid until after Send returns without error.
2212//
2213// See DescribeBotAlias for more information on using the DescribeBotAlias
2214// API call, and error handling.
2215//
2216// This method is useful when you want to inject custom logic or configuration
2217// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2218//
2219//
2220//    // Example sending a request using the DescribeBotAliasRequest method.
2221//    req, resp := client.DescribeBotAliasRequest(params)
2222//
2223//    err := req.Send()
2224//    if err == nil { // resp is now filled
2225//        fmt.Println(resp)
2226//    }
2227//
2228// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBotAlias
2229func (c *LexModelsV2) DescribeBotAliasRequest(input *DescribeBotAliasInput) (req *request.Request, output *DescribeBotAliasOutput) {
2230	op := &request.Operation{
2231		Name:       opDescribeBotAlias,
2232		HTTPMethod: "GET",
2233		HTTPPath:   "/bots/{botId}/botaliases/{botAliasId}/",
2234	}
2235
2236	if input == nil {
2237		input = &DescribeBotAliasInput{}
2238	}
2239
2240	output = &DescribeBotAliasOutput{}
2241	req = c.newRequest(op, input, output)
2242	return
2243}
2244
2245// DescribeBotAlias API operation for Amazon Lex Model Building V2.
2246//
2247// Get information about a specific bot alias.
2248//
2249// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2250// with awserr.Error's Code and Message methods to get detailed information about
2251// the error.
2252//
2253// See the AWS API reference guide for Amazon Lex Model Building V2's
2254// API operation DescribeBotAlias for usage and error information.
2255//
2256// Returned Error Types:
2257//   * ThrottlingException
2258//
2259//   * ServiceQuotaExceededException
2260//
2261//   * ValidationException
2262//
2263//   * ResourceNotFoundException
2264//
2265//   * InternalServerException
2266//
2267// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBotAlias
2268func (c *LexModelsV2) DescribeBotAlias(input *DescribeBotAliasInput) (*DescribeBotAliasOutput, error) {
2269	req, out := c.DescribeBotAliasRequest(input)
2270	return out, req.Send()
2271}
2272
2273// DescribeBotAliasWithContext is the same as DescribeBotAlias with the addition of
2274// the ability to pass a context and additional request options.
2275//
2276// See DescribeBotAlias for details on how to use this API operation.
2277//
2278// The context must be non-nil and will be used for request cancellation. If
2279// the context is nil a panic will occur. In the future the SDK may create
2280// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2281// for more information on using Contexts.
2282func (c *LexModelsV2) DescribeBotAliasWithContext(ctx aws.Context, input *DescribeBotAliasInput, opts ...request.Option) (*DescribeBotAliasOutput, error) {
2283	req, out := c.DescribeBotAliasRequest(input)
2284	req.SetContext(ctx)
2285	req.ApplyOptions(opts...)
2286	return out, req.Send()
2287}
2288
2289const opDescribeBotLocale = "DescribeBotLocale"
2290
2291// DescribeBotLocaleRequest generates a "aws/request.Request" representing the
2292// client's request for the DescribeBotLocale operation. The "output" return
2293// value will be populated with the request's response once the request completes
2294// successfully.
2295//
2296// Use "Send" method on the returned Request to send the API call to the service.
2297// the "output" return value is not valid until after Send returns without error.
2298//
2299// See DescribeBotLocale for more information on using the DescribeBotLocale
2300// API call, and error handling.
2301//
2302// This method is useful when you want to inject custom logic or configuration
2303// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2304//
2305//
2306//    // Example sending a request using the DescribeBotLocaleRequest method.
2307//    req, resp := client.DescribeBotLocaleRequest(params)
2308//
2309//    err := req.Send()
2310//    if err == nil { // resp is now filled
2311//        fmt.Println(resp)
2312//    }
2313//
2314// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBotLocale
2315func (c *LexModelsV2) DescribeBotLocaleRequest(input *DescribeBotLocaleInput) (req *request.Request, output *DescribeBotLocaleOutput) {
2316	op := &request.Operation{
2317		Name:       opDescribeBotLocale,
2318		HTTPMethod: "GET",
2319		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/",
2320	}
2321
2322	if input == nil {
2323		input = &DescribeBotLocaleInput{}
2324	}
2325
2326	output = &DescribeBotLocaleOutput{}
2327	req = c.newRequest(op, input, output)
2328	return
2329}
2330
2331// DescribeBotLocale API operation for Amazon Lex Model Building V2.
2332//
2333// Describes the settings that a bot has for a specific locale.
2334//
2335// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2336// with awserr.Error's Code and Message methods to get detailed information about
2337// the error.
2338//
2339// See the AWS API reference guide for Amazon Lex Model Building V2's
2340// API operation DescribeBotLocale for usage and error information.
2341//
2342// Returned Error Types:
2343//   * ThrottlingException
2344//
2345//   * ServiceQuotaExceededException
2346//
2347//   * ValidationException
2348//
2349//   * ResourceNotFoundException
2350//
2351//   * InternalServerException
2352//
2353// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBotLocale
2354func (c *LexModelsV2) DescribeBotLocale(input *DescribeBotLocaleInput) (*DescribeBotLocaleOutput, error) {
2355	req, out := c.DescribeBotLocaleRequest(input)
2356	return out, req.Send()
2357}
2358
2359// DescribeBotLocaleWithContext is the same as DescribeBotLocale with the addition of
2360// the ability to pass a context and additional request options.
2361//
2362// See DescribeBotLocale for details on how to use this API operation.
2363//
2364// The context must be non-nil and will be used for request cancellation. If
2365// the context is nil a panic will occur. In the future the SDK may create
2366// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2367// for more information on using Contexts.
2368func (c *LexModelsV2) DescribeBotLocaleWithContext(ctx aws.Context, input *DescribeBotLocaleInput, opts ...request.Option) (*DescribeBotLocaleOutput, error) {
2369	req, out := c.DescribeBotLocaleRequest(input)
2370	req.SetContext(ctx)
2371	req.ApplyOptions(opts...)
2372	return out, req.Send()
2373}
2374
2375const opDescribeBotVersion = "DescribeBotVersion"
2376
2377// DescribeBotVersionRequest generates a "aws/request.Request" representing the
2378// client's request for the DescribeBotVersion operation. The "output" return
2379// value will be populated with the request's response once the request completes
2380// successfully.
2381//
2382// Use "Send" method on the returned Request to send the API call to the service.
2383// the "output" return value is not valid until after Send returns without error.
2384//
2385// See DescribeBotVersion for more information on using the DescribeBotVersion
2386// API call, and error handling.
2387//
2388// This method is useful when you want to inject custom logic or configuration
2389// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2390//
2391//
2392//    // Example sending a request using the DescribeBotVersionRequest method.
2393//    req, resp := client.DescribeBotVersionRequest(params)
2394//
2395//    err := req.Send()
2396//    if err == nil { // resp is now filled
2397//        fmt.Println(resp)
2398//    }
2399//
2400// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBotVersion
2401func (c *LexModelsV2) DescribeBotVersionRequest(input *DescribeBotVersionInput) (req *request.Request, output *DescribeBotVersionOutput) {
2402	op := &request.Operation{
2403		Name:       opDescribeBotVersion,
2404		HTTPMethod: "GET",
2405		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/",
2406	}
2407
2408	if input == nil {
2409		input = &DescribeBotVersionInput{}
2410	}
2411
2412	output = &DescribeBotVersionOutput{}
2413	req = c.newRequest(op, input, output)
2414	return
2415}
2416
2417// DescribeBotVersion API operation for Amazon Lex Model Building V2.
2418//
2419// Provides metadata about a version of a bot.
2420//
2421// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2422// with awserr.Error's Code and Message methods to get detailed information about
2423// the error.
2424//
2425// See the AWS API reference guide for Amazon Lex Model Building V2's
2426// API operation DescribeBotVersion for usage and error information.
2427//
2428// Returned Error Types:
2429//   * ThrottlingException
2430//
2431//   * ServiceQuotaExceededException
2432//
2433//   * ValidationException
2434//
2435//   * ResourceNotFoundException
2436//
2437//   * InternalServerException
2438//
2439// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBotVersion
2440func (c *LexModelsV2) DescribeBotVersion(input *DescribeBotVersionInput) (*DescribeBotVersionOutput, error) {
2441	req, out := c.DescribeBotVersionRequest(input)
2442	return out, req.Send()
2443}
2444
2445// DescribeBotVersionWithContext is the same as DescribeBotVersion with the addition of
2446// the ability to pass a context and additional request options.
2447//
2448// See DescribeBotVersion for details on how to use this API operation.
2449//
2450// The context must be non-nil and will be used for request cancellation. If
2451// the context is nil a panic will occur. In the future the SDK may create
2452// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2453// for more information on using Contexts.
2454func (c *LexModelsV2) DescribeBotVersionWithContext(ctx aws.Context, input *DescribeBotVersionInput, opts ...request.Option) (*DescribeBotVersionOutput, error) {
2455	req, out := c.DescribeBotVersionRequest(input)
2456	req.SetContext(ctx)
2457	req.ApplyOptions(opts...)
2458	return out, req.Send()
2459}
2460
2461const opDescribeExport = "DescribeExport"
2462
2463// DescribeExportRequest generates a "aws/request.Request" representing the
2464// client's request for the DescribeExport operation. The "output" return
2465// value will be populated with the request's response once the request completes
2466// successfully.
2467//
2468// Use "Send" method on the returned Request to send the API call to the service.
2469// the "output" return value is not valid until after Send returns without error.
2470//
2471// See DescribeExport for more information on using the DescribeExport
2472// API call, and error handling.
2473//
2474// This method is useful when you want to inject custom logic or configuration
2475// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2476//
2477//
2478//    // Example sending a request using the DescribeExportRequest method.
2479//    req, resp := client.DescribeExportRequest(params)
2480//
2481//    err := req.Send()
2482//    if err == nil { // resp is now filled
2483//        fmt.Println(resp)
2484//    }
2485//
2486// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeExport
2487func (c *LexModelsV2) DescribeExportRequest(input *DescribeExportInput) (req *request.Request, output *DescribeExportOutput) {
2488	op := &request.Operation{
2489		Name:       opDescribeExport,
2490		HTTPMethod: "GET",
2491		HTTPPath:   "/exports/{exportId}/",
2492	}
2493
2494	if input == nil {
2495		input = &DescribeExportInput{}
2496	}
2497
2498	output = &DescribeExportOutput{}
2499	req = c.newRequest(op, input, output)
2500	return
2501}
2502
2503// DescribeExport API operation for Amazon Lex Model Building V2.
2504//
2505// Gets information about a specific export.
2506//
2507// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2508// with awserr.Error's Code and Message methods to get detailed information about
2509// the error.
2510//
2511// See the AWS API reference guide for Amazon Lex Model Building V2's
2512// API operation DescribeExport for usage and error information.
2513//
2514// Returned Error Types:
2515//   * ThrottlingException
2516//
2517//   * ValidationException
2518//
2519//   * ResourceNotFoundException
2520//
2521//   * InternalServerException
2522//
2523// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeExport
2524func (c *LexModelsV2) DescribeExport(input *DescribeExportInput) (*DescribeExportOutput, error) {
2525	req, out := c.DescribeExportRequest(input)
2526	return out, req.Send()
2527}
2528
2529// DescribeExportWithContext is the same as DescribeExport with the addition of
2530// the ability to pass a context and additional request options.
2531//
2532// See DescribeExport for details on how to use this API operation.
2533//
2534// The context must be non-nil and will be used for request cancellation. If
2535// the context is nil a panic will occur. In the future the SDK may create
2536// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2537// for more information on using Contexts.
2538func (c *LexModelsV2) DescribeExportWithContext(ctx aws.Context, input *DescribeExportInput, opts ...request.Option) (*DescribeExportOutput, error) {
2539	req, out := c.DescribeExportRequest(input)
2540	req.SetContext(ctx)
2541	req.ApplyOptions(opts...)
2542	return out, req.Send()
2543}
2544
2545const opDescribeImport = "DescribeImport"
2546
2547// DescribeImportRequest generates a "aws/request.Request" representing the
2548// client's request for the DescribeImport operation. The "output" return
2549// value will be populated with the request's response once the request completes
2550// successfully.
2551//
2552// Use "Send" method on the returned Request to send the API call to the service.
2553// the "output" return value is not valid until after Send returns without error.
2554//
2555// See DescribeImport for more information on using the DescribeImport
2556// API call, and error handling.
2557//
2558// This method is useful when you want to inject custom logic or configuration
2559// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2560//
2561//
2562//    // Example sending a request using the DescribeImportRequest method.
2563//    req, resp := client.DescribeImportRequest(params)
2564//
2565//    err := req.Send()
2566//    if err == nil { // resp is now filled
2567//        fmt.Println(resp)
2568//    }
2569//
2570// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeImport
2571func (c *LexModelsV2) DescribeImportRequest(input *DescribeImportInput) (req *request.Request, output *DescribeImportOutput) {
2572	op := &request.Operation{
2573		Name:       opDescribeImport,
2574		HTTPMethod: "GET",
2575		HTTPPath:   "/imports/{importId}/",
2576	}
2577
2578	if input == nil {
2579		input = &DescribeImportInput{}
2580	}
2581
2582	output = &DescribeImportOutput{}
2583	req = c.newRequest(op, input, output)
2584	return
2585}
2586
2587// DescribeImport API operation for Amazon Lex Model Building V2.
2588//
2589// Gets information about a specific import.
2590//
2591// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2592// with awserr.Error's Code and Message methods to get detailed information about
2593// the error.
2594//
2595// See the AWS API reference guide for Amazon Lex Model Building V2's
2596// API operation DescribeImport for usage and error information.
2597//
2598// Returned Error Types:
2599//   * ThrottlingException
2600//
2601//   * ValidationException
2602//
2603//   * ResourceNotFoundException
2604//
2605//   * InternalServerException
2606//
2607// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeImport
2608func (c *LexModelsV2) DescribeImport(input *DescribeImportInput) (*DescribeImportOutput, error) {
2609	req, out := c.DescribeImportRequest(input)
2610	return out, req.Send()
2611}
2612
2613// DescribeImportWithContext is the same as DescribeImport with the addition of
2614// the ability to pass a context and additional request options.
2615//
2616// See DescribeImport for details on how to use this API operation.
2617//
2618// The context must be non-nil and will be used for request cancellation. If
2619// the context is nil a panic will occur. In the future the SDK may create
2620// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2621// for more information on using Contexts.
2622func (c *LexModelsV2) DescribeImportWithContext(ctx aws.Context, input *DescribeImportInput, opts ...request.Option) (*DescribeImportOutput, error) {
2623	req, out := c.DescribeImportRequest(input)
2624	req.SetContext(ctx)
2625	req.ApplyOptions(opts...)
2626	return out, req.Send()
2627}
2628
2629const opDescribeIntent = "DescribeIntent"
2630
2631// DescribeIntentRequest generates a "aws/request.Request" representing the
2632// client's request for the DescribeIntent operation. The "output" return
2633// value will be populated with the request's response once the request completes
2634// successfully.
2635//
2636// Use "Send" method on the returned Request to send the API call to the service.
2637// the "output" return value is not valid until after Send returns without error.
2638//
2639// See DescribeIntent for more information on using the DescribeIntent
2640// API call, and error handling.
2641//
2642// This method is useful when you want to inject custom logic or configuration
2643// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2644//
2645//
2646//    // Example sending a request using the DescribeIntentRequest method.
2647//    req, resp := client.DescribeIntentRequest(params)
2648//
2649//    err := req.Send()
2650//    if err == nil { // resp is now filled
2651//        fmt.Println(resp)
2652//    }
2653//
2654// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeIntent
2655func (c *LexModelsV2) DescribeIntentRequest(input *DescribeIntentInput) (req *request.Request, output *DescribeIntentOutput) {
2656	op := &request.Operation{
2657		Name:       opDescribeIntent,
2658		HTTPMethod: "GET",
2659		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/",
2660	}
2661
2662	if input == nil {
2663		input = &DescribeIntentInput{}
2664	}
2665
2666	output = &DescribeIntentOutput{}
2667	req = c.newRequest(op, input, output)
2668	return
2669}
2670
2671// DescribeIntent API operation for Amazon Lex Model Building V2.
2672//
2673// Returns metadata about an intent.
2674//
2675// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2676// with awserr.Error's Code and Message methods to get detailed information about
2677// the error.
2678//
2679// See the AWS API reference guide for Amazon Lex Model Building V2's
2680// API operation DescribeIntent for usage and error information.
2681//
2682// Returned Error Types:
2683//   * ThrottlingException
2684//
2685//   * ServiceQuotaExceededException
2686//
2687//   * ValidationException
2688//
2689//   * ResourceNotFoundException
2690//
2691//   * InternalServerException
2692//
2693// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeIntent
2694func (c *LexModelsV2) DescribeIntent(input *DescribeIntentInput) (*DescribeIntentOutput, error) {
2695	req, out := c.DescribeIntentRequest(input)
2696	return out, req.Send()
2697}
2698
2699// DescribeIntentWithContext is the same as DescribeIntent with the addition of
2700// the ability to pass a context and additional request options.
2701//
2702// See DescribeIntent for details on how to use this API operation.
2703//
2704// The context must be non-nil and will be used for request cancellation. If
2705// the context is nil a panic will occur. In the future the SDK may create
2706// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2707// for more information on using Contexts.
2708func (c *LexModelsV2) DescribeIntentWithContext(ctx aws.Context, input *DescribeIntentInput, opts ...request.Option) (*DescribeIntentOutput, error) {
2709	req, out := c.DescribeIntentRequest(input)
2710	req.SetContext(ctx)
2711	req.ApplyOptions(opts...)
2712	return out, req.Send()
2713}
2714
2715const opDescribeResourcePolicy = "DescribeResourcePolicy"
2716
2717// DescribeResourcePolicyRequest generates a "aws/request.Request" representing the
2718// client's request for the DescribeResourcePolicy operation. The "output" return
2719// value will be populated with the request's response once the request completes
2720// successfully.
2721//
2722// Use "Send" method on the returned Request to send the API call to the service.
2723// the "output" return value is not valid until after Send returns without error.
2724//
2725// See DescribeResourcePolicy for more information on using the DescribeResourcePolicy
2726// API call, and error handling.
2727//
2728// This method is useful when you want to inject custom logic or configuration
2729// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2730//
2731//
2732//    // Example sending a request using the DescribeResourcePolicyRequest method.
2733//    req, resp := client.DescribeResourcePolicyRequest(params)
2734//
2735//    err := req.Send()
2736//    if err == nil { // resp is now filled
2737//        fmt.Println(resp)
2738//    }
2739//
2740// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeResourcePolicy
2741func (c *LexModelsV2) DescribeResourcePolicyRequest(input *DescribeResourcePolicyInput) (req *request.Request, output *DescribeResourcePolicyOutput) {
2742	op := &request.Operation{
2743		Name:       opDescribeResourcePolicy,
2744		HTTPMethod: "GET",
2745		HTTPPath:   "/policy/{resourceArn}/",
2746	}
2747
2748	if input == nil {
2749		input = &DescribeResourcePolicyInput{}
2750	}
2751
2752	output = &DescribeResourcePolicyOutput{}
2753	req = c.newRequest(op, input, output)
2754	return
2755}
2756
2757// DescribeResourcePolicy API operation for Amazon Lex Model Building V2.
2758//
2759// Gets the resource policy and policy revision for a bot or bot alias.
2760//
2761// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2762// with awserr.Error's Code and Message methods to get detailed information about
2763// the error.
2764//
2765// See the AWS API reference guide for Amazon Lex Model Building V2's
2766// API operation DescribeResourcePolicy for usage and error information.
2767//
2768// Returned Error Types:
2769//   * ResourceNotFoundException
2770//
2771//   * InternalServerException
2772//
2773//   * ThrottlingException
2774//
2775// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeResourcePolicy
2776func (c *LexModelsV2) DescribeResourcePolicy(input *DescribeResourcePolicyInput) (*DescribeResourcePolicyOutput, error) {
2777	req, out := c.DescribeResourcePolicyRequest(input)
2778	return out, req.Send()
2779}
2780
2781// DescribeResourcePolicyWithContext is the same as DescribeResourcePolicy with the addition of
2782// the ability to pass a context and additional request options.
2783//
2784// See DescribeResourcePolicy for details on how to use this API operation.
2785//
2786// The context must be non-nil and will be used for request cancellation. If
2787// the context is nil a panic will occur. In the future the SDK may create
2788// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2789// for more information on using Contexts.
2790func (c *LexModelsV2) DescribeResourcePolicyWithContext(ctx aws.Context, input *DescribeResourcePolicyInput, opts ...request.Option) (*DescribeResourcePolicyOutput, error) {
2791	req, out := c.DescribeResourcePolicyRequest(input)
2792	req.SetContext(ctx)
2793	req.ApplyOptions(opts...)
2794	return out, req.Send()
2795}
2796
2797const opDescribeSlot = "DescribeSlot"
2798
2799// DescribeSlotRequest generates a "aws/request.Request" representing the
2800// client's request for the DescribeSlot operation. The "output" return
2801// value will be populated with the request's response once the request completes
2802// successfully.
2803//
2804// Use "Send" method on the returned Request to send the API call to the service.
2805// the "output" return value is not valid until after Send returns without error.
2806//
2807// See DescribeSlot for more information on using the DescribeSlot
2808// API call, and error handling.
2809//
2810// This method is useful when you want to inject custom logic or configuration
2811// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2812//
2813//
2814//    // Example sending a request using the DescribeSlotRequest method.
2815//    req, resp := client.DescribeSlotRequest(params)
2816//
2817//    err := req.Send()
2818//    if err == nil { // resp is now filled
2819//        fmt.Println(resp)
2820//    }
2821//
2822// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeSlot
2823func (c *LexModelsV2) DescribeSlotRequest(input *DescribeSlotInput) (req *request.Request, output *DescribeSlotOutput) {
2824	op := &request.Operation{
2825		Name:       opDescribeSlot,
2826		HTTPMethod: "GET",
2827		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/slots/{slotId}/",
2828	}
2829
2830	if input == nil {
2831		input = &DescribeSlotInput{}
2832	}
2833
2834	output = &DescribeSlotOutput{}
2835	req = c.newRequest(op, input, output)
2836	return
2837}
2838
2839// DescribeSlot API operation for Amazon Lex Model Building V2.
2840//
2841// Gets metadata information about a slot.
2842//
2843// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2844// with awserr.Error's Code and Message methods to get detailed information about
2845// the error.
2846//
2847// See the AWS API reference guide for Amazon Lex Model Building V2's
2848// API operation DescribeSlot for usage and error information.
2849//
2850// Returned Error Types:
2851//   * ThrottlingException
2852//
2853//   * ServiceQuotaExceededException
2854//
2855//   * ValidationException
2856//
2857//   * ResourceNotFoundException
2858//
2859//   * InternalServerException
2860//
2861// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeSlot
2862func (c *LexModelsV2) DescribeSlot(input *DescribeSlotInput) (*DescribeSlotOutput, error) {
2863	req, out := c.DescribeSlotRequest(input)
2864	return out, req.Send()
2865}
2866
2867// DescribeSlotWithContext is the same as DescribeSlot with the addition of
2868// the ability to pass a context and additional request options.
2869//
2870// See DescribeSlot for details on how to use this API operation.
2871//
2872// The context must be non-nil and will be used for request cancellation. If
2873// the context is nil a panic will occur. In the future the SDK may create
2874// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2875// for more information on using Contexts.
2876func (c *LexModelsV2) DescribeSlotWithContext(ctx aws.Context, input *DescribeSlotInput, opts ...request.Option) (*DescribeSlotOutput, error) {
2877	req, out := c.DescribeSlotRequest(input)
2878	req.SetContext(ctx)
2879	req.ApplyOptions(opts...)
2880	return out, req.Send()
2881}
2882
2883const opDescribeSlotType = "DescribeSlotType"
2884
2885// DescribeSlotTypeRequest generates a "aws/request.Request" representing the
2886// client's request for the DescribeSlotType operation. The "output" return
2887// value will be populated with the request's response once the request completes
2888// successfully.
2889//
2890// Use "Send" method on the returned Request to send the API call to the service.
2891// the "output" return value is not valid until after Send returns without error.
2892//
2893// See DescribeSlotType for more information on using the DescribeSlotType
2894// API call, and error handling.
2895//
2896// This method is useful when you want to inject custom logic or configuration
2897// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2898//
2899//
2900//    // Example sending a request using the DescribeSlotTypeRequest method.
2901//    req, resp := client.DescribeSlotTypeRequest(params)
2902//
2903//    err := req.Send()
2904//    if err == nil { // resp is now filled
2905//        fmt.Println(resp)
2906//    }
2907//
2908// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeSlotType
2909func (c *LexModelsV2) DescribeSlotTypeRequest(input *DescribeSlotTypeInput) (req *request.Request, output *DescribeSlotTypeOutput) {
2910	op := &request.Operation{
2911		Name:       opDescribeSlotType,
2912		HTTPMethod: "GET",
2913		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/slottypes/{slotTypeId}/",
2914	}
2915
2916	if input == nil {
2917		input = &DescribeSlotTypeInput{}
2918	}
2919
2920	output = &DescribeSlotTypeOutput{}
2921	req = c.newRequest(op, input, output)
2922	return
2923}
2924
2925// DescribeSlotType API operation for Amazon Lex Model Building V2.
2926//
2927// Gets metadata information about a slot type.
2928//
2929// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2930// with awserr.Error's Code and Message methods to get detailed information about
2931// the error.
2932//
2933// See the AWS API reference guide for Amazon Lex Model Building V2's
2934// API operation DescribeSlotType for usage and error information.
2935//
2936// Returned Error Types:
2937//   * ThrottlingException
2938//
2939//   * ServiceQuotaExceededException
2940//
2941//   * ValidationException
2942//
2943//   * ResourceNotFoundException
2944//
2945//   * InternalServerException
2946//
2947// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeSlotType
2948func (c *LexModelsV2) DescribeSlotType(input *DescribeSlotTypeInput) (*DescribeSlotTypeOutput, error) {
2949	req, out := c.DescribeSlotTypeRequest(input)
2950	return out, req.Send()
2951}
2952
2953// DescribeSlotTypeWithContext is the same as DescribeSlotType with the addition of
2954// the ability to pass a context and additional request options.
2955//
2956// See DescribeSlotType for details on how to use this API operation.
2957//
2958// The context must be non-nil and will be used for request cancellation. If
2959// the context is nil a panic will occur. In the future the SDK may create
2960// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2961// for more information on using Contexts.
2962func (c *LexModelsV2) DescribeSlotTypeWithContext(ctx aws.Context, input *DescribeSlotTypeInput, opts ...request.Option) (*DescribeSlotTypeOutput, error) {
2963	req, out := c.DescribeSlotTypeRequest(input)
2964	req.SetContext(ctx)
2965	req.ApplyOptions(opts...)
2966	return out, req.Send()
2967}
2968
2969const opListBotAliases = "ListBotAliases"
2970
2971// ListBotAliasesRequest generates a "aws/request.Request" representing the
2972// client's request for the ListBotAliases operation. The "output" return
2973// value will be populated with the request's response once the request completes
2974// successfully.
2975//
2976// Use "Send" method on the returned Request to send the API call to the service.
2977// the "output" return value is not valid until after Send returns without error.
2978//
2979// See ListBotAliases for more information on using the ListBotAliases
2980// API call, and error handling.
2981//
2982// This method is useful when you want to inject custom logic or configuration
2983// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2984//
2985//
2986//    // Example sending a request using the ListBotAliasesRequest method.
2987//    req, resp := client.ListBotAliasesRequest(params)
2988//
2989//    err := req.Send()
2990//    if err == nil { // resp is now filled
2991//        fmt.Println(resp)
2992//    }
2993//
2994// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBotAliases
2995func (c *LexModelsV2) ListBotAliasesRequest(input *ListBotAliasesInput) (req *request.Request, output *ListBotAliasesOutput) {
2996	op := &request.Operation{
2997		Name:       opListBotAliases,
2998		HTTPMethod: "POST",
2999		HTTPPath:   "/bots/{botId}/botaliases/",
3000		Paginator: &request.Paginator{
3001			InputTokens:     []string{"nextToken"},
3002			OutputTokens:    []string{"nextToken"},
3003			LimitToken:      "maxResults",
3004			TruncationToken: "",
3005		},
3006	}
3007
3008	if input == nil {
3009		input = &ListBotAliasesInput{}
3010	}
3011
3012	output = &ListBotAliasesOutput{}
3013	req = c.newRequest(op, input, output)
3014	return
3015}
3016
3017// ListBotAliases API operation for Amazon Lex Model Building V2.
3018//
3019// Gets a list of aliases for the specified bot.
3020//
3021// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3022// with awserr.Error's Code and Message methods to get detailed information about
3023// the error.
3024//
3025// See the AWS API reference guide for Amazon Lex Model Building V2's
3026// API operation ListBotAliases for usage and error information.
3027//
3028// Returned Error Types:
3029//   * ThrottlingException
3030//
3031//   * ServiceQuotaExceededException
3032//
3033//   * ValidationException
3034//
3035//   * InternalServerException
3036//
3037// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBotAliases
3038func (c *LexModelsV2) ListBotAliases(input *ListBotAliasesInput) (*ListBotAliasesOutput, error) {
3039	req, out := c.ListBotAliasesRequest(input)
3040	return out, req.Send()
3041}
3042
3043// ListBotAliasesWithContext is the same as ListBotAliases with the addition of
3044// the ability to pass a context and additional request options.
3045//
3046// See ListBotAliases for details on how to use this API operation.
3047//
3048// The context must be non-nil and will be used for request cancellation. If
3049// the context is nil a panic will occur. In the future the SDK may create
3050// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3051// for more information on using Contexts.
3052func (c *LexModelsV2) ListBotAliasesWithContext(ctx aws.Context, input *ListBotAliasesInput, opts ...request.Option) (*ListBotAliasesOutput, error) {
3053	req, out := c.ListBotAliasesRequest(input)
3054	req.SetContext(ctx)
3055	req.ApplyOptions(opts...)
3056	return out, req.Send()
3057}
3058
3059// ListBotAliasesPages iterates over the pages of a ListBotAliases operation,
3060// calling the "fn" function with the response data for each page. To stop
3061// iterating, return false from the fn function.
3062//
3063// See ListBotAliases method for more information on how to use this operation.
3064//
3065// Note: This operation can generate multiple requests to a service.
3066//
3067//    // Example iterating over at most 3 pages of a ListBotAliases operation.
3068//    pageNum := 0
3069//    err := client.ListBotAliasesPages(params,
3070//        func(page *lexmodelsv2.ListBotAliasesOutput, lastPage bool) bool {
3071//            pageNum++
3072//            fmt.Println(page)
3073//            return pageNum <= 3
3074//        })
3075//
3076func (c *LexModelsV2) ListBotAliasesPages(input *ListBotAliasesInput, fn func(*ListBotAliasesOutput, bool) bool) error {
3077	return c.ListBotAliasesPagesWithContext(aws.BackgroundContext(), input, fn)
3078}
3079
3080// ListBotAliasesPagesWithContext same as ListBotAliasesPages except
3081// it takes a Context and allows setting request options on the pages.
3082//
3083// The context must be non-nil and will be used for request cancellation. If
3084// the context is nil a panic will occur. In the future the SDK may create
3085// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3086// for more information on using Contexts.
3087func (c *LexModelsV2) ListBotAliasesPagesWithContext(ctx aws.Context, input *ListBotAliasesInput, fn func(*ListBotAliasesOutput, bool) bool, opts ...request.Option) error {
3088	p := request.Pagination{
3089		NewRequest: func() (*request.Request, error) {
3090			var inCpy *ListBotAliasesInput
3091			if input != nil {
3092				tmp := *input
3093				inCpy = &tmp
3094			}
3095			req, _ := c.ListBotAliasesRequest(inCpy)
3096			req.SetContext(ctx)
3097			req.ApplyOptions(opts...)
3098			return req, nil
3099		},
3100	}
3101
3102	for p.Next() {
3103		if !fn(p.Page().(*ListBotAliasesOutput), !p.HasNextPage()) {
3104			break
3105		}
3106	}
3107
3108	return p.Err()
3109}
3110
3111const opListBotLocales = "ListBotLocales"
3112
3113// ListBotLocalesRequest generates a "aws/request.Request" representing the
3114// client's request for the ListBotLocales operation. The "output" return
3115// value will be populated with the request's response once the request completes
3116// successfully.
3117//
3118// Use "Send" method on the returned Request to send the API call to the service.
3119// the "output" return value is not valid until after Send returns without error.
3120//
3121// See ListBotLocales for more information on using the ListBotLocales
3122// API call, and error handling.
3123//
3124// This method is useful when you want to inject custom logic or configuration
3125// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3126//
3127//
3128//    // Example sending a request using the ListBotLocalesRequest method.
3129//    req, resp := client.ListBotLocalesRequest(params)
3130//
3131//    err := req.Send()
3132//    if err == nil { // resp is now filled
3133//        fmt.Println(resp)
3134//    }
3135//
3136// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBotLocales
3137func (c *LexModelsV2) ListBotLocalesRequest(input *ListBotLocalesInput) (req *request.Request, output *ListBotLocalesOutput) {
3138	op := &request.Operation{
3139		Name:       opListBotLocales,
3140		HTTPMethod: "POST",
3141		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/",
3142		Paginator: &request.Paginator{
3143			InputTokens:     []string{"nextToken"},
3144			OutputTokens:    []string{"nextToken"},
3145			LimitToken:      "maxResults",
3146			TruncationToken: "",
3147		},
3148	}
3149
3150	if input == nil {
3151		input = &ListBotLocalesInput{}
3152	}
3153
3154	output = &ListBotLocalesOutput{}
3155	req = c.newRequest(op, input, output)
3156	return
3157}
3158
3159// ListBotLocales API operation for Amazon Lex Model Building V2.
3160//
3161// Gets a list of locales for the specified bot.
3162//
3163// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3164// with awserr.Error's Code and Message methods to get detailed information about
3165// the error.
3166//
3167// See the AWS API reference guide for Amazon Lex Model Building V2's
3168// API operation ListBotLocales for usage and error information.
3169//
3170// Returned Error Types:
3171//   * ThrottlingException
3172//
3173//   * ServiceQuotaExceededException
3174//
3175//   * ValidationException
3176//
3177//   * InternalServerException
3178//
3179// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBotLocales
3180func (c *LexModelsV2) ListBotLocales(input *ListBotLocalesInput) (*ListBotLocalesOutput, error) {
3181	req, out := c.ListBotLocalesRequest(input)
3182	return out, req.Send()
3183}
3184
3185// ListBotLocalesWithContext is the same as ListBotLocales with the addition of
3186// the ability to pass a context and additional request options.
3187//
3188// See ListBotLocales for details on how to use this API operation.
3189//
3190// The context must be non-nil and will be used for request cancellation. If
3191// the context is nil a panic will occur. In the future the SDK may create
3192// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3193// for more information on using Contexts.
3194func (c *LexModelsV2) ListBotLocalesWithContext(ctx aws.Context, input *ListBotLocalesInput, opts ...request.Option) (*ListBotLocalesOutput, error) {
3195	req, out := c.ListBotLocalesRequest(input)
3196	req.SetContext(ctx)
3197	req.ApplyOptions(opts...)
3198	return out, req.Send()
3199}
3200
3201// ListBotLocalesPages iterates over the pages of a ListBotLocales operation,
3202// calling the "fn" function with the response data for each page. To stop
3203// iterating, return false from the fn function.
3204//
3205// See ListBotLocales method for more information on how to use this operation.
3206//
3207// Note: This operation can generate multiple requests to a service.
3208//
3209//    // Example iterating over at most 3 pages of a ListBotLocales operation.
3210//    pageNum := 0
3211//    err := client.ListBotLocalesPages(params,
3212//        func(page *lexmodelsv2.ListBotLocalesOutput, lastPage bool) bool {
3213//            pageNum++
3214//            fmt.Println(page)
3215//            return pageNum <= 3
3216//        })
3217//
3218func (c *LexModelsV2) ListBotLocalesPages(input *ListBotLocalesInput, fn func(*ListBotLocalesOutput, bool) bool) error {
3219	return c.ListBotLocalesPagesWithContext(aws.BackgroundContext(), input, fn)
3220}
3221
3222// ListBotLocalesPagesWithContext same as ListBotLocalesPages except
3223// it takes a Context and allows setting request options on the pages.
3224//
3225// The context must be non-nil and will be used for request cancellation. If
3226// the context is nil a panic will occur. In the future the SDK may create
3227// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3228// for more information on using Contexts.
3229func (c *LexModelsV2) ListBotLocalesPagesWithContext(ctx aws.Context, input *ListBotLocalesInput, fn func(*ListBotLocalesOutput, bool) bool, opts ...request.Option) error {
3230	p := request.Pagination{
3231		NewRequest: func() (*request.Request, error) {
3232			var inCpy *ListBotLocalesInput
3233			if input != nil {
3234				tmp := *input
3235				inCpy = &tmp
3236			}
3237			req, _ := c.ListBotLocalesRequest(inCpy)
3238			req.SetContext(ctx)
3239			req.ApplyOptions(opts...)
3240			return req, nil
3241		},
3242	}
3243
3244	for p.Next() {
3245		if !fn(p.Page().(*ListBotLocalesOutput), !p.HasNextPage()) {
3246			break
3247		}
3248	}
3249
3250	return p.Err()
3251}
3252
3253const opListBotVersions = "ListBotVersions"
3254
3255// ListBotVersionsRequest generates a "aws/request.Request" representing the
3256// client's request for the ListBotVersions operation. The "output" return
3257// value will be populated with the request's response once the request completes
3258// successfully.
3259//
3260// Use "Send" method on the returned Request to send the API call to the service.
3261// the "output" return value is not valid until after Send returns without error.
3262//
3263// See ListBotVersions for more information on using the ListBotVersions
3264// API call, and error handling.
3265//
3266// This method is useful when you want to inject custom logic or configuration
3267// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3268//
3269//
3270//    // Example sending a request using the ListBotVersionsRequest method.
3271//    req, resp := client.ListBotVersionsRequest(params)
3272//
3273//    err := req.Send()
3274//    if err == nil { // resp is now filled
3275//        fmt.Println(resp)
3276//    }
3277//
3278// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBotVersions
3279func (c *LexModelsV2) ListBotVersionsRequest(input *ListBotVersionsInput) (req *request.Request, output *ListBotVersionsOutput) {
3280	op := &request.Operation{
3281		Name:       opListBotVersions,
3282		HTTPMethod: "POST",
3283		HTTPPath:   "/bots/{botId}/botversions/",
3284		Paginator: &request.Paginator{
3285			InputTokens:     []string{"nextToken"},
3286			OutputTokens:    []string{"nextToken"},
3287			LimitToken:      "maxResults",
3288			TruncationToken: "",
3289		},
3290	}
3291
3292	if input == nil {
3293		input = &ListBotVersionsInput{}
3294	}
3295
3296	output = &ListBotVersionsOutput{}
3297	req = c.newRequest(op, input, output)
3298	return
3299}
3300
3301// ListBotVersions API operation for Amazon Lex Model Building V2.
3302//
3303// Gets information about all of the versions of a bot.
3304//
3305// The ListBotVersions operation returns a summary of each version of a bot.
3306// For example, if a bot has three numbered versions, the ListBotVersions operation
3307// returns for summaries, one for each numbered version and one for the DRAFT
3308// version.
3309//
3310// The ListBotVersions operation always returns at least one version, the DRAFT
3311// version.
3312//
3313// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3314// with awserr.Error's Code and Message methods to get detailed information about
3315// the error.
3316//
3317// See the AWS API reference guide for Amazon Lex Model Building V2's
3318// API operation ListBotVersions for usage and error information.
3319//
3320// Returned Error Types:
3321//   * ThrottlingException
3322//
3323//   * ServiceQuotaExceededException
3324//
3325//   * ValidationException
3326//
3327//   * InternalServerException
3328//
3329// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBotVersions
3330func (c *LexModelsV2) ListBotVersions(input *ListBotVersionsInput) (*ListBotVersionsOutput, error) {
3331	req, out := c.ListBotVersionsRequest(input)
3332	return out, req.Send()
3333}
3334
3335// ListBotVersionsWithContext is the same as ListBotVersions with the addition of
3336// the ability to pass a context and additional request options.
3337//
3338// See ListBotVersions for details on how to use this API operation.
3339//
3340// The context must be non-nil and will be used for request cancellation. If
3341// the context is nil a panic will occur. In the future the SDK may create
3342// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3343// for more information on using Contexts.
3344func (c *LexModelsV2) ListBotVersionsWithContext(ctx aws.Context, input *ListBotVersionsInput, opts ...request.Option) (*ListBotVersionsOutput, error) {
3345	req, out := c.ListBotVersionsRequest(input)
3346	req.SetContext(ctx)
3347	req.ApplyOptions(opts...)
3348	return out, req.Send()
3349}
3350
3351// ListBotVersionsPages iterates over the pages of a ListBotVersions operation,
3352// calling the "fn" function with the response data for each page. To stop
3353// iterating, return false from the fn function.
3354//
3355// See ListBotVersions method for more information on how to use this operation.
3356//
3357// Note: This operation can generate multiple requests to a service.
3358//
3359//    // Example iterating over at most 3 pages of a ListBotVersions operation.
3360//    pageNum := 0
3361//    err := client.ListBotVersionsPages(params,
3362//        func(page *lexmodelsv2.ListBotVersionsOutput, lastPage bool) bool {
3363//            pageNum++
3364//            fmt.Println(page)
3365//            return pageNum <= 3
3366//        })
3367//
3368func (c *LexModelsV2) ListBotVersionsPages(input *ListBotVersionsInput, fn func(*ListBotVersionsOutput, bool) bool) error {
3369	return c.ListBotVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
3370}
3371
3372// ListBotVersionsPagesWithContext same as ListBotVersionsPages except
3373// it takes a Context and allows setting request options on the pages.
3374//
3375// The context must be non-nil and will be used for request cancellation. If
3376// the context is nil a panic will occur. In the future the SDK may create
3377// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3378// for more information on using Contexts.
3379func (c *LexModelsV2) ListBotVersionsPagesWithContext(ctx aws.Context, input *ListBotVersionsInput, fn func(*ListBotVersionsOutput, bool) bool, opts ...request.Option) error {
3380	p := request.Pagination{
3381		NewRequest: func() (*request.Request, error) {
3382			var inCpy *ListBotVersionsInput
3383			if input != nil {
3384				tmp := *input
3385				inCpy = &tmp
3386			}
3387			req, _ := c.ListBotVersionsRequest(inCpy)
3388			req.SetContext(ctx)
3389			req.ApplyOptions(opts...)
3390			return req, nil
3391		},
3392	}
3393
3394	for p.Next() {
3395		if !fn(p.Page().(*ListBotVersionsOutput), !p.HasNextPage()) {
3396			break
3397		}
3398	}
3399
3400	return p.Err()
3401}
3402
3403const opListBots = "ListBots"
3404
3405// ListBotsRequest generates a "aws/request.Request" representing the
3406// client's request for the ListBots operation. The "output" return
3407// value will be populated with the request's response once the request completes
3408// successfully.
3409//
3410// Use "Send" method on the returned Request to send the API call to the service.
3411// the "output" return value is not valid until after Send returns without error.
3412//
3413// See ListBots for more information on using the ListBots
3414// API call, and error handling.
3415//
3416// This method is useful when you want to inject custom logic or configuration
3417// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3418//
3419//
3420//    // Example sending a request using the ListBotsRequest method.
3421//    req, resp := client.ListBotsRequest(params)
3422//
3423//    err := req.Send()
3424//    if err == nil { // resp is now filled
3425//        fmt.Println(resp)
3426//    }
3427//
3428// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBots
3429func (c *LexModelsV2) ListBotsRequest(input *ListBotsInput) (req *request.Request, output *ListBotsOutput) {
3430	op := &request.Operation{
3431		Name:       opListBots,
3432		HTTPMethod: "POST",
3433		HTTPPath:   "/bots/",
3434		Paginator: &request.Paginator{
3435			InputTokens:     []string{"nextToken"},
3436			OutputTokens:    []string{"nextToken"},
3437			LimitToken:      "maxResults",
3438			TruncationToken: "",
3439		},
3440	}
3441
3442	if input == nil {
3443		input = &ListBotsInput{}
3444	}
3445
3446	output = &ListBotsOutput{}
3447	req = c.newRequest(op, input, output)
3448	return
3449}
3450
3451// ListBots API operation for Amazon Lex Model Building V2.
3452//
3453// Gets a list of available bots.
3454//
3455// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3456// with awserr.Error's Code and Message methods to get detailed information about
3457// the error.
3458//
3459// See the AWS API reference guide for Amazon Lex Model Building V2's
3460// API operation ListBots for usage and error information.
3461//
3462// Returned Error Types:
3463//   * ThrottlingException
3464//
3465//   * ServiceQuotaExceededException
3466//
3467//   * ValidationException
3468//
3469//   * InternalServerException
3470//
3471// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBots
3472func (c *LexModelsV2) ListBots(input *ListBotsInput) (*ListBotsOutput, error) {
3473	req, out := c.ListBotsRequest(input)
3474	return out, req.Send()
3475}
3476
3477// ListBotsWithContext is the same as ListBots with the addition of
3478// the ability to pass a context and additional request options.
3479//
3480// See ListBots for details on how to use this API operation.
3481//
3482// The context must be non-nil and will be used for request cancellation. If
3483// the context is nil a panic will occur. In the future the SDK may create
3484// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3485// for more information on using Contexts.
3486func (c *LexModelsV2) ListBotsWithContext(ctx aws.Context, input *ListBotsInput, opts ...request.Option) (*ListBotsOutput, error) {
3487	req, out := c.ListBotsRequest(input)
3488	req.SetContext(ctx)
3489	req.ApplyOptions(opts...)
3490	return out, req.Send()
3491}
3492
3493// ListBotsPages iterates over the pages of a ListBots operation,
3494// calling the "fn" function with the response data for each page. To stop
3495// iterating, return false from the fn function.
3496//
3497// See ListBots method for more information on how to use this operation.
3498//
3499// Note: This operation can generate multiple requests to a service.
3500//
3501//    // Example iterating over at most 3 pages of a ListBots operation.
3502//    pageNum := 0
3503//    err := client.ListBotsPages(params,
3504//        func(page *lexmodelsv2.ListBotsOutput, lastPage bool) bool {
3505//            pageNum++
3506//            fmt.Println(page)
3507//            return pageNum <= 3
3508//        })
3509//
3510func (c *LexModelsV2) ListBotsPages(input *ListBotsInput, fn func(*ListBotsOutput, bool) bool) error {
3511	return c.ListBotsPagesWithContext(aws.BackgroundContext(), input, fn)
3512}
3513
3514// ListBotsPagesWithContext same as ListBotsPages except
3515// it takes a Context and allows setting request options on the pages.
3516//
3517// The context must be non-nil and will be used for request cancellation. If
3518// the context is nil a panic will occur. In the future the SDK may create
3519// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3520// for more information on using Contexts.
3521func (c *LexModelsV2) ListBotsPagesWithContext(ctx aws.Context, input *ListBotsInput, fn func(*ListBotsOutput, bool) bool, opts ...request.Option) error {
3522	p := request.Pagination{
3523		NewRequest: func() (*request.Request, error) {
3524			var inCpy *ListBotsInput
3525			if input != nil {
3526				tmp := *input
3527				inCpy = &tmp
3528			}
3529			req, _ := c.ListBotsRequest(inCpy)
3530			req.SetContext(ctx)
3531			req.ApplyOptions(opts...)
3532			return req, nil
3533		},
3534	}
3535
3536	for p.Next() {
3537		if !fn(p.Page().(*ListBotsOutput), !p.HasNextPage()) {
3538			break
3539		}
3540	}
3541
3542	return p.Err()
3543}
3544
3545const opListBuiltInIntents = "ListBuiltInIntents"
3546
3547// ListBuiltInIntentsRequest generates a "aws/request.Request" representing the
3548// client's request for the ListBuiltInIntents operation. The "output" return
3549// value will be populated with the request's response once the request completes
3550// successfully.
3551//
3552// Use "Send" method on the returned Request to send the API call to the service.
3553// the "output" return value is not valid until after Send returns without error.
3554//
3555// See ListBuiltInIntents for more information on using the ListBuiltInIntents
3556// API call, and error handling.
3557//
3558// This method is useful when you want to inject custom logic or configuration
3559// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3560//
3561//
3562//    // Example sending a request using the ListBuiltInIntentsRequest method.
3563//    req, resp := client.ListBuiltInIntentsRequest(params)
3564//
3565//    err := req.Send()
3566//    if err == nil { // resp is now filled
3567//        fmt.Println(resp)
3568//    }
3569//
3570// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBuiltInIntents
3571func (c *LexModelsV2) ListBuiltInIntentsRequest(input *ListBuiltInIntentsInput) (req *request.Request, output *ListBuiltInIntentsOutput) {
3572	op := &request.Operation{
3573		Name:       opListBuiltInIntents,
3574		HTTPMethod: "POST",
3575		HTTPPath:   "/builtins/locales/{localeId}/intents/",
3576		Paginator: &request.Paginator{
3577			InputTokens:     []string{"nextToken"},
3578			OutputTokens:    []string{"nextToken"},
3579			LimitToken:      "maxResults",
3580			TruncationToken: "",
3581		},
3582	}
3583
3584	if input == nil {
3585		input = &ListBuiltInIntentsInput{}
3586	}
3587
3588	output = &ListBuiltInIntentsOutput{}
3589	req = c.newRequest(op, input, output)
3590	return
3591}
3592
3593// ListBuiltInIntents API operation for Amazon Lex Model Building V2.
3594//
3595// Gets a list of built-in intents provided by Amazon Lex that you can use in
3596// your bot.
3597//
3598// To use a built-in intent as a the base for your own intent, include the built-in
3599// intent signature in the parentIntentSignature parameter when you call the
3600// CreateIntent operation. For more information, see CreateIntent.
3601//
3602// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3603// with awserr.Error's Code and Message methods to get detailed information about
3604// the error.
3605//
3606// See the AWS API reference guide for Amazon Lex Model Building V2's
3607// API operation ListBuiltInIntents for usage and error information.
3608//
3609// Returned Error Types:
3610//   * ThrottlingException
3611//
3612//   * ServiceQuotaExceededException
3613//
3614//   * ValidationException
3615//
3616//   * InternalServerException
3617//
3618// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBuiltInIntents
3619func (c *LexModelsV2) ListBuiltInIntents(input *ListBuiltInIntentsInput) (*ListBuiltInIntentsOutput, error) {
3620	req, out := c.ListBuiltInIntentsRequest(input)
3621	return out, req.Send()
3622}
3623
3624// ListBuiltInIntentsWithContext is the same as ListBuiltInIntents with the addition of
3625// the ability to pass a context and additional request options.
3626//
3627// See ListBuiltInIntents for details on how to use this API operation.
3628//
3629// The context must be non-nil and will be used for request cancellation. If
3630// the context is nil a panic will occur. In the future the SDK may create
3631// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3632// for more information on using Contexts.
3633func (c *LexModelsV2) ListBuiltInIntentsWithContext(ctx aws.Context, input *ListBuiltInIntentsInput, opts ...request.Option) (*ListBuiltInIntentsOutput, error) {
3634	req, out := c.ListBuiltInIntentsRequest(input)
3635	req.SetContext(ctx)
3636	req.ApplyOptions(opts...)
3637	return out, req.Send()
3638}
3639
3640// ListBuiltInIntentsPages iterates over the pages of a ListBuiltInIntents operation,
3641// calling the "fn" function with the response data for each page. To stop
3642// iterating, return false from the fn function.
3643//
3644// See ListBuiltInIntents method for more information on how to use this operation.
3645//
3646// Note: This operation can generate multiple requests to a service.
3647//
3648//    // Example iterating over at most 3 pages of a ListBuiltInIntents operation.
3649//    pageNum := 0
3650//    err := client.ListBuiltInIntentsPages(params,
3651//        func(page *lexmodelsv2.ListBuiltInIntentsOutput, lastPage bool) bool {
3652//            pageNum++
3653//            fmt.Println(page)
3654//            return pageNum <= 3
3655//        })
3656//
3657func (c *LexModelsV2) ListBuiltInIntentsPages(input *ListBuiltInIntentsInput, fn func(*ListBuiltInIntentsOutput, bool) bool) error {
3658	return c.ListBuiltInIntentsPagesWithContext(aws.BackgroundContext(), input, fn)
3659}
3660
3661// ListBuiltInIntentsPagesWithContext same as ListBuiltInIntentsPages except
3662// it takes a Context and allows setting request options on the pages.
3663//
3664// The context must be non-nil and will be used for request cancellation. If
3665// the context is nil a panic will occur. In the future the SDK may create
3666// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3667// for more information on using Contexts.
3668func (c *LexModelsV2) ListBuiltInIntentsPagesWithContext(ctx aws.Context, input *ListBuiltInIntentsInput, fn func(*ListBuiltInIntentsOutput, bool) bool, opts ...request.Option) error {
3669	p := request.Pagination{
3670		NewRequest: func() (*request.Request, error) {
3671			var inCpy *ListBuiltInIntentsInput
3672			if input != nil {
3673				tmp := *input
3674				inCpy = &tmp
3675			}
3676			req, _ := c.ListBuiltInIntentsRequest(inCpy)
3677			req.SetContext(ctx)
3678			req.ApplyOptions(opts...)
3679			return req, nil
3680		},
3681	}
3682
3683	for p.Next() {
3684		if !fn(p.Page().(*ListBuiltInIntentsOutput), !p.HasNextPage()) {
3685			break
3686		}
3687	}
3688
3689	return p.Err()
3690}
3691
3692const opListBuiltInSlotTypes = "ListBuiltInSlotTypes"
3693
3694// ListBuiltInSlotTypesRequest generates a "aws/request.Request" representing the
3695// client's request for the ListBuiltInSlotTypes operation. The "output" return
3696// value will be populated with the request's response once the request completes
3697// successfully.
3698//
3699// Use "Send" method on the returned Request to send the API call to the service.
3700// the "output" return value is not valid until after Send returns without error.
3701//
3702// See ListBuiltInSlotTypes for more information on using the ListBuiltInSlotTypes
3703// API call, and error handling.
3704//
3705// This method is useful when you want to inject custom logic or configuration
3706// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3707//
3708//
3709//    // Example sending a request using the ListBuiltInSlotTypesRequest method.
3710//    req, resp := client.ListBuiltInSlotTypesRequest(params)
3711//
3712//    err := req.Send()
3713//    if err == nil { // resp is now filled
3714//        fmt.Println(resp)
3715//    }
3716//
3717// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBuiltInSlotTypes
3718func (c *LexModelsV2) ListBuiltInSlotTypesRequest(input *ListBuiltInSlotTypesInput) (req *request.Request, output *ListBuiltInSlotTypesOutput) {
3719	op := &request.Operation{
3720		Name:       opListBuiltInSlotTypes,
3721		HTTPMethod: "POST",
3722		HTTPPath:   "/builtins/locales/{localeId}/slottypes/",
3723		Paginator: &request.Paginator{
3724			InputTokens:     []string{"nextToken"},
3725			OutputTokens:    []string{"nextToken"},
3726			LimitToken:      "maxResults",
3727			TruncationToken: "",
3728		},
3729	}
3730
3731	if input == nil {
3732		input = &ListBuiltInSlotTypesInput{}
3733	}
3734
3735	output = &ListBuiltInSlotTypesOutput{}
3736	req = c.newRequest(op, input, output)
3737	return
3738}
3739
3740// ListBuiltInSlotTypes API operation for Amazon Lex Model Building V2.
3741//
3742// Gets a list of built-in slot types that meet the specified criteria.
3743//
3744// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3745// with awserr.Error's Code and Message methods to get detailed information about
3746// the error.
3747//
3748// See the AWS API reference guide for Amazon Lex Model Building V2's
3749// API operation ListBuiltInSlotTypes for usage and error information.
3750//
3751// Returned Error Types:
3752//   * ThrottlingException
3753//
3754//   * ServiceQuotaExceededException
3755//
3756//   * ValidationException
3757//
3758//   * InternalServerException
3759//
3760// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBuiltInSlotTypes
3761func (c *LexModelsV2) ListBuiltInSlotTypes(input *ListBuiltInSlotTypesInput) (*ListBuiltInSlotTypesOutput, error) {
3762	req, out := c.ListBuiltInSlotTypesRequest(input)
3763	return out, req.Send()
3764}
3765
3766// ListBuiltInSlotTypesWithContext is the same as ListBuiltInSlotTypes with the addition of
3767// the ability to pass a context and additional request options.
3768//
3769// See ListBuiltInSlotTypes for details on how to use this API operation.
3770//
3771// The context must be non-nil and will be used for request cancellation. If
3772// the context is nil a panic will occur. In the future the SDK may create
3773// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3774// for more information on using Contexts.
3775func (c *LexModelsV2) ListBuiltInSlotTypesWithContext(ctx aws.Context, input *ListBuiltInSlotTypesInput, opts ...request.Option) (*ListBuiltInSlotTypesOutput, error) {
3776	req, out := c.ListBuiltInSlotTypesRequest(input)
3777	req.SetContext(ctx)
3778	req.ApplyOptions(opts...)
3779	return out, req.Send()
3780}
3781
3782// ListBuiltInSlotTypesPages iterates over the pages of a ListBuiltInSlotTypes operation,
3783// calling the "fn" function with the response data for each page. To stop
3784// iterating, return false from the fn function.
3785//
3786// See ListBuiltInSlotTypes method for more information on how to use this operation.
3787//
3788// Note: This operation can generate multiple requests to a service.
3789//
3790//    // Example iterating over at most 3 pages of a ListBuiltInSlotTypes operation.
3791//    pageNum := 0
3792//    err := client.ListBuiltInSlotTypesPages(params,
3793//        func(page *lexmodelsv2.ListBuiltInSlotTypesOutput, lastPage bool) bool {
3794//            pageNum++
3795//            fmt.Println(page)
3796//            return pageNum <= 3
3797//        })
3798//
3799func (c *LexModelsV2) ListBuiltInSlotTypesPages(input *ListBuiltInSlotTypesInput, fn func(*ListBuiltInSlotTypesOutput, bool) bool) error {
3800	return c.ListBuiltInSlotTypesPagesWithContext(aws.BackgroundContext(), input, fn)
3801}
3802
3803// ListBuiltInSlotTypesPagesWithContext same as ListBuiltInSlotTypesPages except
3804// it takes a Context and allows setting request options on the pages.
3805//
3806// The context must be non-nil and will be used for request cancellation. If
3807// the context is nil a panic will occur. In the future the SDK may create
3808// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3809// for more information on using Contexts.
3810func (c *LexModelsV2) ListBuiltInSlotTypesPagesWithContext(ctx aws.Context, input *ListBuiltInSlotTypesInput, fn func(*ListBuiltInSlotTypesOutput, bool) bool, opts ...request.Option) error {
3811	p := request.Pagination{
3812		NewRequest: func() (*request.Request, error) {
3813			var inCpy *ListBuiltInSlotTypesInput
3814			if input != nil {
3815				tmp := *input
3816				inCpy = &tmp
3817			}
3818			req, _ := c.ListBuiltInSlotTypesRequest(inCpy)
3819			req.SetContext(ctx)
3820			req.ApplyOptions(opts...)
3821			return req, nil
3822		},
3823	}
3824
3825	for p.Next() {
3826		if !fn(p.Page().(*ListBuiltInSlotTypesOutput), !p.HasNextPage()) {
3827			break
3828		}
3829	}
3830
3831	return p.Err()
3832}
3833
3834const opListExports = "ListExports"
3835
3836// ListExportsRequest generates a "aws/request.Request" representing the
3837// client's request for the ListExports operation. The "output" return
3838// value will be populated with the request's response once the request completes
3839// successfully.
3840//
3841// Use "Send" method on the returned Request to send the API call to the service.
3842// the "output" return value is not valid until after Send returns without error.
3843//
3844// See ListExports for more information on using the ListExports
3845// API call, and error handling.
3846//
3847// This method is useful when you want to inject custom logic or configuration
3848// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3849//
3850//
3851//    // Example sending a request using the ListExportsRequest method.
3852//    req, resp := client.ListExportsRequest(params)
3853//
3854//    err := req.Send()
3855//    if err == nil { // resp is now filled
3856//        fmt.Println(resp)
3857//    }
3858//
3859// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListExports
3860func (c *LexModelsV2) ListExportsRequest(input *ListExportsInput) (req *request.Request, output *ListExportsOutput) {
3861	op := &request.Operation{
3862		Name:       opListExports,
3863		HTTPMethod: "POST",
3864		HTTPPath:   "/exports/",
3865		Paginator: &request.Paginator{
3866			InputTokens:     []string{"nextToken"},
3867			OutputTokens:    []string{"nextToken"},
3868			LimitToken:      "maxResults",
3869			TruncationToken: "",
3870		},
3871	}
3872
3873	if input == nil {
3874		input = &ListExportsInput{}
3875	}
3876
3877	output = &ListExportsOutput{}
3878	req = c.newRequest(op, input, output)
3879	return
3880}
3881
3882// ListExports API operation for Amazon Lex Model Building V2.
3883//
3884// Lists the exports for a bot or bot locale. Exports are kept in the list for
3885// 7 days.
3886//
3887// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3888// with awserr.Error's Code and Message methods to get detailed information about
3889// the error.
3890//
3891// See the AWS API reference guide for Amazon Lex Model Building V2's
3892// API operation ListExports for usage and error information.
3893//
3894// Returned Error Types:
3895//   * ThrottlingException
3896//
3897//   * ValidationException
3898//
3899//   * InternalServerException
3900//
3901// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListExports
3902func (c *LexModelsV2) ListExports(input *ListExportsInput) (*ListExportsOutput, error) {
3903	req, out := c.ListExportsRequest(input)
3904	return out, req.Send()
3905}
3906
3907// ListExportsWithContext is the same as ListExports with the addition of
3908// the ability to pass a context and additional request options.
3909//
3910// See ListExports for details on how to use this API operation.
3911//
3912// The context must be non-nil and will be used for request cancellation. If
3913// the context is nil a panic will occur. In the future the SDK may create
3914// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3915// for more information on using Contexts.
3916func (c *LexModelsV2) ListExportsWithContext(ctx aws.Context, input *ListExportsInput, opts ...request.Option) (*ListExportsOutput, error) {
3917	req, out := c.ListExportsRequest(input)
3918	req.SetContext(ctx)
3919	req.ApplyOptions(opts...)
3920	return out, req.Send()
3921}
3922
3923// ListExportsPages iterates over the pages of a ListExports operation,
3924// calling the "fn" function with the response data for each page. To stop
3925// iterating, return false from the fn function.
3926//
3927// See ListExports method for more information on how to use this operation.
3928//
3929// Note: This operation can generate multiple requests to a service.
3930//
3931//    // Example iterating over at most 3 pages of a ListExports operation.
3932//    pageNum := 0
3933//    err := client.ListExportsPages(params,
3934//        func(page *lexmodelsv2.ListExportsOutput, lastPage bool) bool {
3935//            pageNum++
3936//            fmt.Println(page)
3937//            return pageNum <= 3
3938//        })
3939//
3940func (c *LexModelsV2) ListExportsPages(input *ListExportsInput, fn func(*ListExportsOutput, bool) bool) error {
3941	return c.ListExportsPagesWithContext(aws.BackgroundContext(), input, fn)
3942}
3943
3944// ListExportsPagesWithContext same as ListExportsPages except
3945// it takes a Context and allows setting request options on the pages.
3946//
3947// The context must be non-nil and will be used for request cancellation. If
3948// the context is nil a panic will occur. In the future the SDK may create
3949// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3950// for more information on using Contexts.
3951func (c *LexModelsV2) ListExportsPagesWithContext(ctx aws.Context, input *ListExportsInput, fn func(*ListExportsOutput, bool) bool, opts ...request.Option) error {
3952	p := request.Pagination{
3953		NewRequest: func() (*request.Request, error) {
3954			var inCpy *ListExportsInput
3955			if input != nil {
3956				tmp := *input
3957				inCpy = &tmp
3958			}
3959			req, _ := c.ListExportsRequest(inCpy)
3960			req.SetContext(ctx)
3961			req.ApplyOptions(opts...)
3962			return req, nil
3963		},
3964	}
3965
3966	for p.Next() {
3967		if !fn(p.Page().(*ListExportsOutput), !p.HasNextPage()) {
3968			break
3969		}
3970	}
3971
3972	return p.Err()
3973}
3974
3975const opListImports = "ListImports"
3976
3977// ListImportsRequest generates a "aws/request.Request" representing the
3978// client's request for the ListImports operation. The "output" return
3979// value will be populated with the request's response once the request completes
3980// successfully.
3981//
3982// Use "Send" method on the returned Request to send the API call to the service.
3983// the "output" return value is not valid until after Send returns without error.
3984//
3985// See ListImports for more information on using the ListImports
3986// API call, and error handling.
3987//
3988// This method is useful when you want to inject custom logic or configuration
3989// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3990//
3991//
3992//    // Example sending a request using the ListImportsRequest method.
3993//    req, resp := client.ListImportsRequest(params)
3994//
3995//    err := req.Send()
3996//    if err == nil { // resp is now filled
3997//        fmt.Println(resp)
3998//    }
3999//
4000// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListImports
4001func (c *LexModelsV2) ListImportsRequest(input *ListImportsInput) (req *request.Request, output *ListImportsOutput) {
4002	op := &request.Operation{
4003		Name:       opListImports,
4004		HTTPMethod: "POST",
4005		HTTPPath:   "/imports/",
4006		Paginator: &request.Paginator{
4007			InputTokens:     []string{"nextToken"},
4008			OutputTokens:    []string{"nextToken"},
4009			LimitToken:      "maxResults",
4010			TruncationToken: "",
4011		},
4012	}
4013
4014	if input == nil {
4015		input = &ListImportsInput{}
4016	}
4017
4018	output = &ListImportsOutput{}
4019	req = c.newRequest(op, input, output)
4020	return
4021}
4022
4023// ListImports API operation for Amazon Lex Model Building V2.
4024//
4025// Lists the imports for a bot or bot locale. Imports are kept in the list for
4026// 7 days.
4027//
4028// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4029// with awserr.Error's Code and Message methods to get detailed information about
4030// the error.
4031//
4032// See the AWS API reference guide for Amazon Lex Model Building V2's
4033// API operation ListImports for usage and error information.
4034//
4035// Returned Error Types:
4036//   * ThrottlingException
4037//
4038//   * ValidationException
4039//
4040//   * InternalServerException
4041//
4042// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListImports
4043func (c *LexModelsV2) ListImports(input *ListImportsInput) (*ListImportsOutput, error) {
4044	req, out := c.ListImportsRequest(input)
4045	return out, req.Send()
4046}
4047
4048// ListImportsWithContext is the same as ListImports with the addition of
4049// the ability to pass a context and additional request options.
4050//
4051// See ListImports for details on how to use this API operation.
4052//
4053// The context must be non-nil and will be used for request cancellation. If
4054// the context is nil a panic will occur. In the future the SDK may create
4055// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4056// for more information on using Contexts.
4057func (c *LexModelsV2) ListImportsWithContext(ctx aws.Context, input *ListImportsInput, opts ...request.Option) (*ListImportsOutput, error) {
4058	req, out := c.ListImportsRequest(input)
4059	req.SetContext(ctx)
4060	req.ApplyOptions(opts...)
4061	return out, req.Send()
4062}
4063
4064// ListImportsPages iterates over the pages of a ListImports operation,
4065// calling the "fn" function with the response data for each page. To stop
4066// iterating, return false from the fn function.
4067//
4068// See ListImports method for more information on how to use this operation.
4069//
4070// Note: This operation can generate multiple requests to a service.
4071//
4072//    // Example iterating over at most 3 pages of a ListImports operation.
4073//    pageNum := 0
4074//    err := client.ListImportsPages(params,
4075//        func(page *lexmodelsv2.ListImportsOutput, lastPage bool) bool {
4076//            pageNum++
4077//            fmt.Println(page)
4078//            return pageNum <= 3
4079//        })
4080//
4081func (c *LexModelsV2) ListImportsPages(input *ListImportsInput, fn func(*ListImportsOutput, bool) bool) error {
4082	return c.ListImportsPagesWithContext(aws.BackgroundContext(), input, fn)
4083}
4084
4085// ListImportsPagesWithContext same as ListImportsPages except
4086// it takes a Context and allows setting request options on the pages.
4087//
4088// The context must be non-nil and will be used for request cancellation. If
4089// the context is nil a panic will occur. In the future the SDK may create
4090// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4091// for more information on using Contexts.
4092func (c *LexModelsV2) ListImportsPagesWithContext(ctx aws.Context, input *ListImportsInput, fn func(*ListImportsOutput, bool) bool, opts ...request.Option) error {
4093	p := request.Pagination{
4094		NewRequest: func() (*request.Request, error) {
4095			var inCpy *ListImportsInput
4096			if input != nil {
4097				tmp := *input
4098				inCpy = &tmp
4099			}
4100			req, _ := c.ListImportsRequest(inCpy)
4101			req.SetContext(ctx)
4102			req.ApplyOptions(opts...)
4103			return req, nil
4104		},
4105	}
4106
4107	for p.Next() {
4108		if !fn(p.Page().(*ListImportsOutput), !p.HasNextPage()) {
4109			break
4110		}
4111	}
4112
4113	return p.Err()
4114}
4115
4116const opListIntents = "ListIntents"
4117
4118// ListIntentsRequest generates a "aws/request.Request" representing the
4119// client's request for the ListIntents operation. The "output" return
4120// value will be populated with the request's response once the request completes
4121// successfully.
4122//
4123// Use "Send" method on the returned Request to send the API call to the service.
4124// the "output" return value is not valid until after Send returns without error.
4125//
4126// See ListIntents for more information on using the ListIntents
4127// API call, and error handling.
4128//
4129// This method is useful when you want to inject custom logic or configuration
4130// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4131//
4132//
4133//    // Example sending a request using the ListIntentsRequest method.
4134//    req, resp := client.ListIntentsRequest(params)
4135//
4136//    err := req.Send()
4137//    if err == nil { // resp is now filled
4138//        fmt.Println(resp)
4139//    }
4140//
4141// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListIntents
4142func (c *LexModelsV2) ListIntentsRequest(input *ListIntentsInput) (req *request.Request, output *ListIntentsOutput) {
4143	op := &request.Operation{
4144		Name:       opListIntents,
4145		HTTPMethod: "POST",
4146		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/",
4147		Paginator: &request.Paginator{
4148			InputTokens:     []string{"nextToken"},
4149			OutputTokens:    []string{"nextToken"},
4150			LimitToken:      "maxResults",
4151			TruncationToken: "",
4152		},
4153	}
4154
4155	if input == nil {
4156		input = &ListIntentsInput{}
4157	}
4158
4159	output = &ListIntentsOutput{}
4160	req = c.newRequest(op, input, output)
4161	return
4162}
4163
4164// ListIntents API operation for Amazon Lex Model Building V2.
4165//
4166// Get a list of intents that meet the specified criteria.
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 Lex Model Building V2's
4173// API operation ListIntents for usage and error information.
4174//
4175// Returned Error Types:
4176//   * ThrottlingException
4177//
4178//   * ServiceQuotaExceededException
4179//
4180//   * ValidationException
4181//
4182//   * InternalServerException
4183//
4184// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListIntents
4185func (c *LexModelsV2) ListIntents(input *ListIntentsInput) (*ListIntentsOutput, error) {
4186	req, out := c.ListIntentsRequest(input)
4187	return out, req.Send()
4188}
4189
4190// ListIntentsWithContext is the same as ListIntents with the addition of
4191// the ability to pass a context and additional request options.
4192//
4193// See ListIntents for details on how to use this API operation.
4194//
4195// The context must be non-nil and will be used for request cancellation. If
4196// the context is nil a panic will occur. In the future the SDK may create
4197// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4198// for more information on using Contexts.
4199func (c *LexModelsV2) ListIntentsWithContext(ctx aws.Context, input *ListIntentsInput, opts ...request.Option) (*ListIntentsOutput, error) {
4200	req, out := c.ListIntentsRequest(input)
4201	req.SetContext(ctx)
4202	req.ApplyOptions(opts...)
4203	return out, req.Send()
4204}
4205
4206// ListIntentsPages iterates over the pages of a ListIntents operation,
4207// calling the "fn" function with the response data for each page. To stop
4208// iterating, return false from the fn function.
4209//
4210// See ListIntents method for more information on how to use this operation.
4211//
4212// Note: This operation can generate multiple requests to a service.
4213//
4214//    // Example iterating over at most 3 pages of a ListIntents operation.
4215//    pageNum := 0
4216//    err := client.ListIntentsPages(params,
4217//        func(page *lexmodelsv2.ListIntentsOutput, lastPage bool) bool {
4218//            pageNum++
4219//            fmt.Println(page)
4220//            return pageNum <= 3
4221//        })
4222//
4223func (c *LexModelsV2) ListIntentsPages(input *ListIntentsInput, fn func(*ListIntentsOutput, bool) bool) error {
4224	return c.ListIntentsPagesWithContext(aws.BackgroundContext(), input, fn)
4225}
4226
4227// ListIntentsPagesWithContext same as ListIntentsPages except
4228// it takes a Context and allows setting request options on the pages.
4229//
4230// The context must be non-nil and will be used for request cancellation. If
4231// the context is nil a panic will occur. In the future the SDK may create
4232// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4233// for more information on using Contexts.
4234func (c *LexModelsV2) ListIntentsPagesWithContext(ctx aws.Context, input *ListIntentsInput, fn func(*ListIntentsOutput, bool) bool, opts ...request.Option) error {
4235	p := request.Pagination{
4236		NewRequest: func() (*request.Request, error) {
4237			var inCpy *ListIntentsInput
4238			if input != nil {
4239				tmp := *input
4240				inCpy = &tmp
4241			}
4242			req, _ := c.ListIntentsRequest(inCpy)
4243			req.SetContext(ctx)
4244			req.ApplyOptions(opts...)
4245			return req, nil
4246		},
4247	}
4248
4249	for p.Next() {
4250		if !fn(p.Page().(*ListIntentsOutput), !p.HasNextPage()) {
4251			break
4252		}
4253	}
4254
4255	return p.Err()
4256}
4257
4258const opListSlotTypes = "ListSlotTypes"
4259
4260// ListSlotTypesRequest generates a "aws/request.Request" representing the
4261// client's request for the ListSlotTypes operation. The "output" return
4262// value will be populated with the request's response once the request completes
4263// successfully.
4264//
4265// Use "Send" method on the returned Request to send the API call to the service.
4266// the "output" return value is not valid until after Send returns without error.
4267//
4268// See ListSlotTypes for more information on using the ListSlotTypes
4269// API call, and error handling.
4270//
4271// This method is useful when you want to inject custom logic or configuration
4272// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4273//
4274//
4275//    // Example sending a request using the ListSlotTypesRequest method.
4276//    req, resp := client.ListSlotTypesRequest(params)
4277//
4278//    err := req.Send()
4279//    if err == nil { // resp is now filled
4280//        fmt.Println(resp)
4281//    }
4282//
4283// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListSlotTypes
4284func (c *LexModelsV2) ListSlotTypesRequest(input *ListSlotTypesInput) (req *request.Request, output *ListSlotTypesOutput) {
4285	op := &request.Operation{
4286		Name:       opListSlotTypes,
4287		HTTPMethod: "POST",
4288		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/slottypes/",
4289		Paginator: &request.Paginator{
4290			InputTokens:     []string{"nextToken"},
4291			OutputTokens:    []string{"nextToken"},
4292			LimitToken:      "maxResults",
4293			TruncationToken: "",
4294		},
4295	}
4296
4297	if input == nil {
4298		input = &ListSlotTypesInput{}
4299	}
4300
4301	output = &ListSlotTypesOutput{}
4302	req = c.newRequest(op, input, output)
4303	return
4304}
4305
4306// ListSlotTypes API operation for Amazon Lex Model Building V2.
4307//
4308// Gets a list of slot types that match the specified criteria.
4309//
4310// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4311// with awserr.Error's Code and Message methods to get detailed information about
4312// the error.
4313//
4314// See the AWS API reference guide for Amazon Lex Model Building V2's
4315// API operation ListSlotTypes for usage and error information.
4316//
4317// Returned Error Types:
4318//   * ThrottlingException
4319//
4320//   * ServiceQuotaExceededException
4321//
4322//   * ValidationException
4323//
4324//   * InternalServerException
4325//
4326// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListSlotTypes
4327func (c *LexModelsV2) ListSlotTypes(input *ListSlotTypesInput) (*ListSlotTypesOutput, error) {
4328	req, out := c.ListSlotTypesRequest(input)
4329	return out, req.Send()
4330}
4331
4332// ListSlotTypesWithContext is the same as ListSlotTypes with the addition of
4333// the ability to pass a context and additional request options.
4334//
4335// See ListSlotTypes for details on how to use this API operation.
4336//
4337// The context must be non-nil and will be used for request cancellation. If
4338// the context is nil a panic will occur. In the future the SDK may create
4339// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4340// for more information on using Contexts.
4341func (c *LexModelsV2) ListSlotTypesWithContext(ctx aws.Context, input *ListSlotTypesInput, opts ...request.Option) (*ListSlotTypesOutput, error) {
4342	req, out := c.ListSlotTypesRequest(input)
4343	req.SetContext(ctx)
4344	req.ApplyOptions(opts...)
4345	return out, req.Send()
4346}
4347
4348// ListSlotTypesPages iterates over the pages of a ListSlotTypes operation,
4349// calling the "fn" function with the response data for each page. To stop
4350// iterating, return false from the fn function.
4351//
4352// See ListSlotTypes method for more information on how to use this operation.
4353//
4354// Note: This operation can generate multiple requests to a service.
4355//
4356//    // Example iterating over at most 3 pages of a ListSlotTypes operation.
4357//    pageNum := 0
4358//    err := client.ListSlotTypesPages(params,
4359//        func(page *lexmodelsv2.ListSlotTypesOutput, lastPage bool) bool {
4360//            pageNum++
4361//            fmt.Println(page)
4362//            return pageNum <= 3
4363//        })
4364//
4365func (c *LexModelsV2) ListSlotTypesPages(input *ListSlotTypesInput, fn func(*ListSlotTypesOutput, bool) bool) error {
4366	return c.ListSlotTypesPagesWithContext(aws.BackgroundContext(), input, fn)
4367}
4368
4369// ListSlotTypesPagesWithContext same as ListSlotTypesPages except
4370// it takes a Context and allows setting request options on the pages.
4371//
4372// The context must be non-nil and will be used for request cancellation. If
4373// the context is nil a panic will occur. In the future the SDK may create
4374// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4375// for more information on using Contexts.
4376func (c *LexModelsV2) ListSlotTypesPagesWithContext(ctx aws.Context, input *ListSlotTypesInput, fn func(*ListSlotTypesOutput, bool) bool, opts ...request.Option) error {
4377	p := request.Pagination{
4378		NewRequest: func() (*request.Request, error) {
4379			var inCpy *ListSlotTypesInput
4380			if input != nil {
4381				tmp := *input
4382				inCpy = &tmp
4383			}
4384			req, _ := c.ListSlotTypesRequest(inCpy)
4385			req.SetContext(ctx)
4386			req.ApplyOptions(opts...)
4387			return req, nil
4388		},
4389	}
4390
4391	for p.Next() {
4392		if !fn(p.Page().(*ListSlotTypesOutput), !p.HasNextPage()) {
4393			break
4394		}
4395	}
4396
4397	return p.Err()
4398}
4399
4400const opListSlots = "ListSlots"
4401
4402// ListSlotsRequest generates a "aws/request.Request" representing the
4403// client's request for the ListSlots operation. The "output" return
4404// value will be populated with the request's response once the request completes
4405// successfully.
4406//
4407// Use "Send" method on the returned Request to send the API call to the service.
4408// the "output" return value is not valid until after Send returns without error.
4409//
4410// See ListSlots for more information on using the ListSlots
4411// API call, and error handling.
4412//
4413// This method is useful when you want to inject custom logic or configuration
4414// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4415//
4416//
4417//    // Example sending a request using the ListSlotsRequest method.
4418//    req, resp := client.ListSlotsRequest(params)
4419//
4420//    err := req.Send()
4421//    if err == nil { // resp is now filled
4422//        fmt.Println(resp)
4423//    }
4424//
4425// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListSlots
4426func (c *LexModelsV2) ListSlotsRequest(input *ListSlotsInput) (req *request.Request, output *ListSlotsOutput) {
4427	op := &request.Operation{
4428		Name:       opListSlots,
4429		HTTPMethod: "POST",
4430		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/slots/",
4431		Paginator: &request.Paginator{
4432			InputTokens:     []string{"nextToken"},
4433			OutputTokens:    []string{"nextToken"},
4434			LimitToken:      "maxResults",
4435			TruncationToken: "",
4436		},
4437	}
4438
4439	if input == nil {
4440		input = &ListSlotsInput{}
4441	}
4442
4443	output = &ListSlotsOutput{}
4444	req = c.newRequest(op, input, output)
4445	return
4446}
4447
4448// ListSlots API operation for Amazon Lex Model Building V2.
4449//
4450// Gets a list of slots that match the specified criteria.
4451//
4452// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4453// with awserr.Error's Code and Message methods to get detailed information about
4454// the error.
4455//
4456// See the AWS API reference guide for Amazon Lex Model Building V2's
4457// API operation ListSlots for usage and error information.
4458//
4459// Returned Error Types:
4460//   * ThrottlingException
4461//
4462//   * ServiceQuotaExceededException
4463//
4464//   * ValidationException
4465//
4466//   * InternalServerException
4467//
4468// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListSlots
4469func (c *LexModelsV2) ListSlots(input *ListSlotsInput) (*ListSlotsOutput, error) {
4470	req, out := c.ListSlotsRequest(input)
4471	return out, req.Send()
4472}
4473
4474// ListSlotsWithContext is the same as ListSlots with the addition of
4475// the ability to pass a context and additional request options.
4476//
4477// See ListSlots for details on how to use this API operation.
4478//
4479// The context must be non-nil and will be used for request cancellation. If
4480// the context is nil a panic will occur. In the future the SDK may create
4481// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4482// for more information on using Contexts.
4483func (c *LexModelsV2) ListSlotsWithContext(ctx aws.Context, input *ListSlotsInput, opts ...request.Option) (*ListSlotsOutput, error) {
4484	req, out := c.ListSlotsRequest(input)
4485	req.SetContext(ctx)
4486	req.ApplyOptions(opts...)
4487	return out, req.Send()
4488}
4489
4490// ListSlotsPages iterates over the pages of a ListSlots operation,
4491// calling the "fn" function with the response data for each page. To stop
4492// iterating, return false from the fn function.
4493//
4494// See ListSlots method for more information on how to use this operation.
4495//
4496// Note: This operation can generate multiple requests to a service.
4497//
4498//    // Example iterating over at most 3 pages of a ListSlots operation.
4499//    pageNum := 0
4500//    err := client.ListSlotsPages(params,
4501//        func(page *lexmodelsv2.ListSlotsOutput, lastPage bool) bool {
4502//            pageNum++
4503//            fmt.Println(page)
4504//            return pageNum <= 3
4505//        })
4506//
4507func (c *LexModelsV2) ListSlotsPages(input *ListSlotsInput, fn func(*ListSlotsOutput, bool) bool) error {
4508	return c.ListSlotsPagesWithContext(aws.BackgroundContext(), input, fn)
4509}
4510
4511// ListSlotsPagesWithContext same as ListSlotsPages except
4512// it takes a Context and allows setting request options on the pages.
4513//
4514// The context must be non-nil and will be used for request cancellation. If
4515// the context is nil a panic will occur. In the future the SDK may create
4516// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4517// for more information on using Contexts.
4518func (c *LexModelsV2) ListSlotsPagesWithContext(ctx aws.Context, input *ListSlotsInput, fn func(*ListSlotsOutput, bool) bool, opts ...request.Option) error {
4519	p := request.Pagination{
4520		NewRequest: func() (*request.Request, error) {
4521			var inCpy *ListSlotsInput
4522			if input != nil {
4523				tmp := *input
4524				inCpy = &tmp
4525			}
4526			req, _ := c.ListSlotsRequest(inCpy)
4527			req.SetContext(ctx)
4528			req.ApplyOptions(opts...)
4529			return req, nil
4530		},
4531	}
4532
4533	for p.Next() {
4534		if !fn(p.Page().(*ListSlotsOutput), !p.HasNextPage()) {
4535			break
4536		}
4537	}
4538
4539	return p.Err()
4540}
4541
4542const opListTagsForResource = "ListTagsForResource"
4543
4544// ListTagsForResourceRequest generates a "aws/request.Request" representing the
4545// client's request for the ListTagsForResource operation. The "output" return
4546// value will be populated with the request's response once the request completes
4547// successfully.
4548//
4549// Use "Send" method on the returned Request to send the API call to the service.
4550// the "output" return value is not valid until after Send returns without error.
4551//
4552// See ListTagsForResource for more information on using the ListTagsForResource
4553// API call, and error handling.
4554//
4555// This method is useful when you want to inject custom logic or configuration
4556// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4557//
4558//
4559//    // Example sending a request using the ListTagsForResourceRequest method.
4560//    req, resp := client.ListTagsForResourceRequest(params)
4561//
4562//    err := req.Send()
4563//    if err == nil { // resp is now filled
4564//        fmt.Println(resp)
4565//    }
4566//
4567// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListTagsForResource
4568func (c *LexModelsV2) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
4569	op := &request.Operation{
4570		Name:       opListTagsForResource,
4571		HTTPMethod: "GET",
4572		HTTPPath:   "/tags/{resourceARN}",
4573	}
4574
4575	if input == nil {
4576		input = &ListTagsForResourceInput{}
4577	}
4578
4579	output = &ListTagsForResourceOutput{}
4580	req = c.newRequest(op, input, output)
4581	return
4582}
4583
4584// ListTagsForResource API operation for Amazon Lex Model Building V2.
4585//
4586// Gets a list of tags associated with a resource. Only bots, bot aliases, and
4587// bot channels can have tags associated with them.
4588//
4589// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4590// with awserr.Error's Code and Message methods to get detailed information about
4591// the error.
4592//
4593// See the AWS API reference guide for Amazon Lex Model Building V2's
4594// API operation ListTagsForResource for usage and error information.
4595//
4596// Returned Error Types:
4597//   * InternalServerException
4598//
4599//   * ThrottlingException
4600//
4601//   * ResourceNotFoundException
4602//
4603//   * ValidationException
4604//
4605// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListTagsForResource
4606func (c *LexModelsV2) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
4607	req, out := c.ListTagsForResourceRequest(input)
4608	return out, req.Send()
4609}
4610
4611// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
4612// the ability to pass a context and additional request options.
4613//
4614// See ListTagsForResource for details on how to use this API operation.
4615//
4616// The context must be non-nil and will be used for request cancellation. If
4617// the context is nil a panic will occur. In the future the SDK may create
4618// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4619// for more information on using Contexts.
4620func (c *LexModelsV2) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
4621	req, out := c.ListTagsForResourceRequest(input)
4622	req.SetContext(ctx)
4623	req.ApplyOptions(opts...)
4624	return out, req.Send()
4625}
4626
4627const opStartImport = "StartImport"
4628
4629// StartImportRequest generates a "aws/request.Request" representing the
4630// client's request for the StartImport operation. The "output" return
4631// value will be populated with the request's response once the request completes
4632// successfully.
4633//
4634// Use "Send" method on the returned Request to send the API call to the service.
4635// the "output" return value is not valid until after Send returns without error.
4636//
4637// See StartImport for more information on using the StartImport
4638// API call, and error handling.
4639//
4640// This method is useful when you want to inject custom logic or configuration
4641// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4642//
4643//
4644//    // Example sending a request using the StartImportRequest method.
4645//    req, resp := client.StartImportRequest(params)
4646//
4647//    err := req.Send()
4648//    if err == nil { // resp is now filled
4649//        fmt.Println(resp)
4650//    }
4651//
4652// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/StartImport
4653func (c *LexModelsV2) StartImportRequest(input *StartImportInput) (req *request.Request, output *StartImportOutput) {
4654	op := &request.Operation{
4655		Name:       opStartImport,
4656		HTTPMethod: "PUT",
4657		HTTPPath:   "/imports/",
4658	}
4659
4660	if input == nil {
4661		input = &StartImportInput{}
4662	}
4663
4664	output = &StartImportOutput{}
4665	req = c.newRequest(op, input, output)
4666	return
4667}
4668
4669// StartImport API operation for Amazon Lex Model Building V2.
4670//
4671// Starts importing a bot or bot locale from a zip archive that you uploaded
4672// to an S3 bucket.
4673//
4674// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4675// with awserr.Error's Code and Message methods to get detailed information about
4676// the error.
4677//
4678// See the AWS API reference guide for Amazon Lex Model Building V2's
4679// API operation StartImport for usage and error information.
4680//
4681// Returned Error Types:
4682//   * ThrottlingException
4683//
4684//   * ServiceQuotaExceededException
4685//
4686//   * ValidationException
4687//
4688//   * ResourceNotFoundException
4689//
4690//   * ConflictException
4691//
4692//   * InternalServerException
4693//
4694// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/StartImport
4695func (c *LexModelsV2) StartImport(input *StartImportInput) (*StartImportOutput, error) {
4696	req, out := c.StartImportRequest(input)
4697	return out, req.Send()
4698}
4699
4700// StartImportWithContext is the same as StartImport with the addition of
4701// the ability to pass a context and additional request options.
4702//
4703// See StartImport for details on how to use this API operation.
4704//
4705// The context must be non-nil and will be used for request cancellation. If
4706// the context is nil a panic will occur. In the future the SDK may create
4707// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4708// for more information on using Contexts.
4709func (c *LexModelsV2) StartImportWithContext(ctx aws.Context, input *StartImportInput, opts ...request.Option) (*StartImportOutput, error) {
4710	req, out := c.StartImportRequest(input)
4711	req.SetContext(ctx)
4712	req.ApplyOptions(opts...)
4713	return out, req.Send()
4714}
4715
4716const opTagResource = "TagResource"
4717
4718// TagResourceRequest generates a "aws/request.Request" representing the
4719// client's request for the TagResource operation. The "output" return
4720// value will be populated with the request's response once the request completes
4721// successfully.
4722//
4723// Use "Send" method on the returned Request to send the API call to the service.
4724// the "output" return value is not valid until after Send returns without error.
4725//
4726// See TagResource for more information on using the TagResource
4727// API call, and error handling.
4728//
4729// This method is useful when you want to inject custom logic or configuration
4730// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4731//
4732//
4733//    // Example sending a request using the TagResourceRequest method.
4734//    req, resp := client.TagResourceRequest(params)
4735//
4736//    err := req.Send()
4737//    if err == nil { // resp is now filled
4738//        fmt.Println(resp)
4739//    }
4740//
4741// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/TagResource
4742func (c *LexModelsV2) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
4743	op := &request.Operation{
4744		Name:       opTagResource,
4745		HTTPMethod: "POST",
4746		HTTPPath:   "/tags/{resourceARN}",
4747	}
4748
4749	if input == nil {
4750		input = &TagResourceInput{}
4751	}
4752
4753	output = &TagResourceOutput{}
4754	req = c.newRequest(op, input, output)
4755	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4756	return
4757}
4758
4759// TagResource API operation for Amazon Lex Model Building V2.
4760//
4761// Adds the specified tags to the specified resource. If a tag key already exists,
4762// the existing value is replaced with the new value.
4763//
4764// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4765// with awserr.Error's Code and Message methods to get detailed information about
4766// the error.
4767//
4768// See the AWS API reference guide for Amazon Lex Model Building V2's
4769// API operation TagResource for usage and error information.
4770//
4771// Returned Error Types:
4772//   * InternalServerException
4773//
4774//   * ThrottlingException
4775//
4776//   * ResourceNotFoundException
4777//
4778//   * ValidationException
4779//
4780// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/TagResource
4781func (c *LexModelsV2) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
4782	req, out := c.TagResourceRequest(input)
4783	return out, req.Send()
4784}
4785
4786// TagResourceWithContext is the same as TagResource with the addition of
4787// the ability to pass a context and additional request options.
4788//
4789// See TagResource for details on how to use this API operation.
4790//
4791// The context must be non-nil and will be used for request cancellation. If
4792// the context is nil a panic will occur. In the future the SDK may create
4793// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4794// for more information on using Contexts.
4795func (c *LexModelsV2) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
4796	req, out := c.TagResourceRequest(input)
4797	req.SetContext(ctx)
4798	req.ApplyOptions(opts...)
4799	return out, req.Send()
4800}
4801
4802const opUntagResource = "UntagResource"
4803
4804// UntagResourceRequest generates a "aws/request.Request" representing the
4805// client's request for the UntagResource operation. The "output" return
4806// value will be populated with the request's response once the request completes
4807// successfully.
4808//
4809// Use "Send" method on the returned Request to send the API call to the service.
4810// the "output" return value is not valid until after Send returns without error.
4811//
4812// See UntagResource for more information on using the UntagResource
4813// API call, and error handling.
4814//
4815// This method is useful when you want to inject custom logic or configuration
4816// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4817//
4818//
4819//    // Example sending a request using the UntagResourceRequest method.
4820//    req, resp := client.UntagResourceRequest(params)
4821//
4822//    err := req.Send()
4823//    if err == nil { // resp is now filled
4824//        fmt.Println(resp)
4825//    }
4826//
4827// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UntagResource
4828func (c *LexModelsV2) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
4829	op := &request.Operation{
4830		Name:       opUntagResource,
4831		HTTPMethod: "DELETE",
4832		HTTPPath:   "/tags/{resourceARN}",
4833	}
4834
4835	if input == nil {
4836		input = &UntagResourceInput{}
4837	}
4838
4839	output = &UntagResourceOutput{}
4840	req = c.newRequest(op, input, output)
4841	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4842	return
4843}
4844
4845// UntagResource API operation for Amazon Lex Model Building V2.
4846//
4847// Removes tags from a bot, bot alias, or bot channel.
4848//
4849// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4850// with awserr.Error's Code and Message methods to get detailed information about
4851// the error.
4852//
4853// See the AWS API reference guide for Amazon Lex Model Building V2's
4854// API operation UntagResource for usage and error information.
4855//
4856// Returned Error Types:
4857//   * InternalServerException
4858//
4859//   * ThrottlingException
4860//
4861//   * ResourceNotFoundException
4862//
4863//   * ValidationException
4864//
4865// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UntagResource
4866func (c *LexModelsV2) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
4867	req, out := c.UntagResourceRequest(input)
4868	return out, req.Send()
4869}
4870
4871// UntagResourceWithContext is the same as UntagResource with the addition of
4872// the ability to pass a context and additional request options.
4873//
4874// See UntagResource for details on how to use this API operation.
4875//
4876// The context must be non-nil and will be used for request cancellation. If
4877// the context is nil a panic will occur. In the future the SDK may create
4878// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4879// for more information on using Contexts.
4880func (c *LexModelsV2) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
4881	req, out := c.UntagResourceRequest(input)
4882	req.SetContext(ctx)
4883	req.ApplyOptions(opts...)
4884	return out, req.Send()
4885}
4886
4887const opUpdateBot = "UpdateBot"
4888
4889// UpdateBotRequest generates a "aws/request.Request" representing the
4890// client's request for the UpdateBot operation. The "output" return
4891// value will be populated with the request's response once the request completes
4892// successfully.
4893//
4894// Use "Send" method on the returned Request to send the API call to the service.
4895// the "output" return value is not valid until after Send returns without error.
4896//
4897// See UpdateBot for more information on using the UpdateBot
4898// API call, and error handling.
4899//
4900// This method is useful when you want to inject custom logic or configuration
4901// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4902//
4903//
4904//    // Example sending a request using the UpdateBotRequest method.
4905//    req, resp := client.UpdateBotRequest(params)
4906//
4907//    err := req.Send()
4908//    if err == nil { // resp is now filled
4909//        fmt.Println(resp)
4910//    }
4911//
4912// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateBot
4913func (c *LexModelsV2) UpdateBotRequest(input *UpdateBotInput) (req *request.Request, output *UpdateBotOutput) {
4914	op := &request.Operation{
4915		Name:       opUpdateBot,
4916		HTTPMethod: "PUT",
4917		HTTPPath:   "/bots/{botId}/",
4918	}
4919
4920	if input == nil {
4921		input = &UpdateBotInput{}
4922	}
4923
4924	output = &UpdateBotOutput{}
4925	req = c.newRequest(op, input, output)
4926	return
4927}
4928
4929// UpdateBot API operation for Amazon Lex Model Building V2.
4930//
4931// Updates the configuration of an existing bot.
4932//
4933// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4934// with awserr.Error's Code and Message methods to get detailed information about
4935// the error.
4936//
4937// See the AWS API reference guide for Amazon Lex Model Building V2's
4938// API operation UpdateBot for usage and error information.
4939//
4940// Returned Error Types:
4941//   * ThrottlingException
4942//
4943//   * ServiceQuotaExceededException
4944//
4945//   * ValidationException
4946//
4947//   * PreconditionFailedException
4948//
4949//   * ConflictException
4950//
4951//   * InternalServerException
4952//
4953// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateBot
4954func (c *LexModelsV2) UpdateBot(input *UpdateBotInput) (*UpdateBotOutput, error) {
4955	req, out := c.UpdateBotRequest(input)
4956	return out, req.Send()
4957}
4958
4959// UpdateBotWithContext is the same as UpdateBot with the addition of
4960// the ability to pass a context and additional request options.
4961//
4962// See UpdateBot for details on how to use this API operation.
4963//
4964// The context must be non-nil and will be used for request cancellation. If
4965// the context is nil a panic will occur. In the future the SDK may create
4966// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4967// for more information on using Contexts.
4968func (c *LexModelsV2) UpdateBotWithContext(ctx aws.Context, input *UpdateBotInput, opts ...request.Option) (*UpdateBotOutput, error) {
4969	req, out := c.UpdateBotRequest(input)
4970	req.SetContext(ctx)
4971	req.ApplyOptions(opts...)
4972	return out, req.Send()
4973}
4974
4975const opUpdateBotAlias = "UpdateBotAlias"
4976
4977// UpdateBotAliasRequest generates a "aws/request.Request" representing the
4978// client's request for the UpdateBotAlias operation. The "output" return
4979// value will be populated with the request's response once the request completes
4980// successfully.
4981//
4982// Use "Send" method on the returned Request to send the API call to the service.
4983// the "output" return value is not valid until after Send returns without error.
4984//
4985// See UpdateBotAlias for more information on using the UpdateBotAlias
4986// API call, and error handling.
4987//
4988// This method is useful when you want to inject custom logic or configuration
4989// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4990//
4991//
4992//    // Example sending a request using the UpdateBotAliasRequest method.
4993//    req, resp := client.UpdateBotAliasRequest(params)
4994//
4995//    err := req.Send()
4996//    if err == nil { // resp is now filled
4997//        fmt.Println(resp)
4998//    }
4999//
5000// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateBotAlias
5001func (c *LexModelsV2) UpdateBotAliasRequest(input *UpdateBotAliasInput) (req *request.Request, output *UpdateBotAliasOutput) {
5002	op := &request.Operation{
5003		Name:       opUpdateBotAlias,
5004		HTTPMethod: "PUT",
5005		HTTPPath:   "/bots/{botId}/botaliases/{botAliasId}/",
5006	}
5007
5008	if input == nil {
5009		input = &UpdateBotAliasInput{}
5010	}
5011
5012	output = &UpdateBotAliasOutput{}
5013	req = c.newRequest(op, input, output)
5014	return
5015}
5016
5017// UpdateBotAlias API operation for Amazon Lex Model Building V2.
5018//
5019// Updates the configuration of an existing bot alias.
5020//
5021// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5022// with awserr.Error's Code and Message methods to get detailed information about
5023// the error.
5024//
5025// See the AWS API reference guide for Amazon Lex Model Building V2's
5026// API operation UpdateBotAlias for usage and error information.
5027//
5028// Returned Error Types:
5029//   * ThrottlingException
5030//
5031//   * ServiceQuotaExceededException
5032//
5033//   * ValidationException
5034//
5035//   * PreconditionFailedException
5036//
5037//   * ConflictException
5038//
5039//   * InternalServerException
5040//
5041// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateBotAlias
5042func (c *LexModelsV2) UpdateBotAlias(input *UpdateBotAliasInput) (*UpdateBotAliasOutput, error) {
5043	req, out := c.UpdateBotAliasRequest(input)
5044	return out, req.Send()
5045}
5046
5047// UpdateBotAliasWithContext is the same as UpdateBotAlias with the addition of
5048// the ability to pass a context and additional request options.
5049//
5050// See UpdateBotAlias for details on how to use this API operation.
5051//
5052// The context must be non-nil and will be used for request cancellation. If
5053// the context is nil a panic will occur. In the future the SDK may create
5054// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5055// for more information on using Contexts.
5056func (c *LexModelsV2) UpdateBotAliasWithContext(ctx aws.Context, input *UpdateBotAliasInput, opts ...request.Option) (*UpdateBotAliasOutput, error) {
5057	req, out := c.UpdateBotAliasRequest(input)
5058	req.SetContext(ctx)
5059	req.ApplyOptions(opts...)
5060	return out, req.Send()
5061}
5062
5063const opUpdateBotLocale = "UpdateBotLocale"
5064
5065// UpdateBotLocaleRequest generates a "aws/request.Request" representing the
5066// client's request for the UpdateBotLocale operation. The "output" return
5067// value will be populated with the request's response once the request completes
5068// successfully.
5069//
5070// Use "Send" method on the returned Request to send the API call to the service.
5071// the "output" return value is not valid until after Send returns without error.
5072//
5073// See UpdateBotLocale for more information on using the UpdateBotLocale
5074// API call, and error handling.
5075//
5076// This method is useful when you want to inject custom logic or configuration
5077// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5078//
5079//
5080//    // Example sending a request using the UpdateBotLocaleRequest method.
5081//    req, resp := client.UpdateBotLocaleRequest(params)
5082//
5083//    err := req.Send()
5084//    if err == nil { // resp is now filled
5085//        fmt.Println(resp)
5086//    }
5087//
5088// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateBotLocale
5089func (c *LexModelsV2) UpdateBotLocaleRequest(input *UpdateBotLocaleInput) (req *request.Request, output *UpdateBotLocaleOutput) {
5090	op := &request.Operation{
5091		Name:       opUpdateBotLocale,
5092		HTTPMethod: "PUT",
5093		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/",
5094	}
5095
5096	if input == nil {
5097		input = &UpdateBotLocaleInput{}
5098	}
5099
5100	output = &UpdateBotLocaleOutput{}
5101	req = c.newRequest(op, input, output)
5102	return
5103}
5104
5105// UpdateBotLocale API operation for Amazon Lex Model Building V2.
5106//
5107// Updates the settings that a bot has for a specific locale.
5108//
5109// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5110// with awserr.Error's Code and Message methods to get detailed information about
5111// the error.
5112//
5113// See the AWS API reference guide for Amazon Lex Model Building V2's
5114// API operation UpdateBotLocale for usage and error information.
5115//
5116// Returned Error Types:
5117//   * ThrottlingException
5118//
5119//   * ServiceQuotaExceededException
5120//
5121//   * ValidationException
5122//
5123//   * PreconditionFailedException
5124//
5125//   * ConflictException
5126//
5127//   * InternalServerException
5128//
5129// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateBotLocale
5130func (c *LexModelsV2) UpdateBotLocale(input *UpdateBotLocaleInput) (*UpdateBotLocaleOutput, error) {
5131	req, out := c.UpdateBotLocaleRequest(input)
5132	return out, req.Send()
5133}
5134
5135// UpdateBotLocaleWithContext is the same as UpdateBotLocale with the addition of
5136// the ability to pass a context and additional request options.
5137//
5138// See UpdateBotLocale for details on how to use this API operation.
5139//
5140// The context must be non-nil and will be used for request cancellation. If
5141// the context is nil a panic will occur. In the future the SDK may create
5142// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5143// for more information on using Contexts.
5144func (c *LexModelsV2) UpdateBotLocaleWithContext(ctx aws.Context, input *UpdateBotLocaleInput, opts ...request.Option) (*UpdateBotLocaleOutput, error) {
5145	req, out := c.UpdateBotLocaleRequest(input)
5146	req.SetContext(ctx)
5147	req.ApplyOptions(opts...)
5148	return out, req.Send()
5149}
5150
5151const opUpdateExport = "UpdateExport"
5152
5153// UpdateExportRequest generates a "aws/request.Request" representing the
5154// client's request for the UpdateExport operation. The "output" return
5155// value will be populated with the request's response once the request completes
5156// successfully.
5157//
5158// Use "Send" method on the returned Request to send the API call to the service.
5159// the "output" return value is not valid until after Send returns without error.
5160//
5161// See UpdateExport for more information on using the UpdateExport
5162// API call, and error handling.
5163//
5164// This method is useful when you want to inject custom logic or configuration
5165// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5166//
5167//
5168//    // Example sending a request using the UpdateExportRequest method.
5169//    req, resp := client.UpdateExportRequest(params)
5170//
5171//    err := req.Send()
5172//    if err == nil { // resp is now filled
5173//        fmt.Println(resp)
5174//    }
5175//
5176// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateExport
5177func (c *LexModelsV2) UpdateExportRequest(input *UpdateExportInput) (req *request.Request, output *UpdateExportOutput) {
5178	op := &request.Operation{
5179		Name:       opUpdateExport,
5180		HTTPMethod: "PUT",
5181		HTTPPath:   "/exports/{exportId}/",
5182	}
5183
5184	if input == nil {
5185		input = &UpdateExportInput{}
5186	}
5187
5188	output = &UpdateExportOutput{}
5189	req = c.newRequest(op, input, output)
5190	return
5191}
5192
5193// UpdateExport API operation for Amazon Lex Model Building V2.
5194//
5195// Updates the password used to protect an export zip archive.
5196//
5197// The password is not required. If you don't supply a password, Amazon Lex
5198// generates a zip file that is not protected by a password. This is the archive
5199// that is available at the pre-signed S3 URL provided by the operation.
5200//
5201// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5202// with awserr.Error's Code and Message methods to get detailed information about
5203// the error.
5204//
5205// See the AWS API reference guide for Amazon Lex Model Building V2's
5206// API operation UpdateExport for usage and error information.
5207//
5208// Returned Error Types:
5209//   * ThrottlingException
5210//
5211//   * ServiceQuotaExceededException
5212//
5213//   * ValidationException
5214//
5215//   * ResourceNotFoundException
5216//
5217//   * ConflictException
5218//
5219//   * InternalServerException
5220//
5221// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateExport
5222func (c *LexModelsV2) UpdateExport(input *UpdateExportInput) (*UpdateExportOutput, error) {
5223	req, out := c.UpdateExportRequest(input)
5224	return out, req.Send()
5225}
5226
5227// UpdateExportWithContext is the same as UpdateExport with the addition of
5228// the ability to pass a context and additional request options.
5229//
5230// See UpdateExport for details on how to use this API operation.
5231//
5232// The context must be non-nil and will be used for request cancellation. If
5233// the context is nil a panic will occur. In the future the SDK may create
5234// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5235// for more information on using Contexts.
5236func (c *LexModelsV2) UpdateExportWithContext(ctx aws.Context, input *UpdateExportInput, opts ...request.Option) (*UpdateExportOutput, error) {
5237	req, out := c.UpdateExportRequest(input)
5238	req.SetContext(ctx)
5239	req.ApplyOptions(opts...)
5240	return out, req.Send()
5241}
5242
5243const opUpdateIntent = "UpdateIntent"
5244
5245// UpdateIntentRequest generates a "aws/request.Request" representing the
5246// client's request for the UpdateIntent operation. The "output" return
5247// value will be populated with the request's response once the request completes
5248// successfully.
5249//
5250// Use "Send" method on the returned Request to send the API call to the service.
5251// the "output" return value is not valid until after Send returns without error.
5252//
5253// See UpdateIntent for more information on using the UpdateIntent
5254// API call, and error handling.
5255//
5256// This method is useful when you want to inject custom logic or configuration
5257// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5258//
5259//
5260//    // Example sending a request using the UpdateIntentRequest method.
5261//    req, resp := client.UpdateIntentRequest(params)
5262//
5263//    err := req.Send()
5264//    if err == nil { // resp is now filled
5265//        fmt.Println(resp)
5266//    }
5267//
5268// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateIntent
5269func (c *LexModelsV2) UpdateIntentRequest(input *UpdateIntentInput) (req *request.Request, output *UpdateIntentOutput) {
5270	op := &request.Operation{
5271		Name:       opUpdateIntent,
5272		HTTPMethod: "PUT",
5273		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/",
5274	}
5275
5276	if input == nil {
5277		input = &UpdateIntentInput{}
5278	}
5279
5280	output = &UpdateIntentOutput{}
5281	req = c.newRequest(op, input, output)
5282	return
5283}
5284
5285// UpdateIntent API operation for Amazon Lex Model Building V2.
5286//
5287// Updates the settings for an intent.
5288//
5289// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5290// with awserr.Error's Code and Message methods to get detailed information about
5291// the error.
5292//
5293// See the AWS API reference guide for Amazon Lex Model Building V2's
5294// API operation UpdateIntent for usage and error information.
5295//
5296// Returned Error Types:
5297//   * ThrottlingException
5298//
5299//   * ServiceQuotaExceededException
5300//
5301//   * ValidationException
5302//
5303//   * PreconditionFailedException
5304//
5305//   * ConflictException
5306//
5307//   * InternalServerException
5308//
5309// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateIntent
5310func (c *LexModelsV2) UpdateIntent(input *UpdateIntentInput) (*UpdateIntentOutput, error) {
5311	req, out := c.UpdateIntentRequest(input)
5312	return out, req.Send()
5313}
5314
5315// UpdateIntentWithContext is the same as UpdateIntent with the addition of
5316// the ability to pass a context and additional request options.
5317//
5318// See UpdateIntent for details on how to use this API operation.
5319//
5320// The context must be non-nil and will be used for request cancellation. If
5321// the context is nil a panic will occur. In the future the SDK may create
5322// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5323// for more information on using Contexts.
5324func (c *LexModelsV2) UpdateIntentWithContext(ctx aws.Context, input *UpdateIntentInput, opts ...request.Option) (*UpdateIntentOutput, error) {
5325	req, out := c.UpdateIntentRequest(input)
5326	req.SetContext(ctx)
5327	req.ApplyOptions(opts...)
5328	return out, req.Send()
5329}
5330
5331const opUpdateResourcePolicy = "UpdateResourcePolicy"
5332
5333// UpdateResourcePolicyRequest generates a "aws/request.Request" representing the
5334// client's request for the UpdateResourcePolicy operation. The "output" return
5335// value will be populated with the request's response once the request completes
5336// successfully.
5337//
5338// Use "Send" method on the returned Request to send the API call to the service.
5339// the "output" return value is not valid until after Send returns without error.
5340//
5341// See UpdateResourcePolicy for more information on using the UpdateResourcePolicy
5342// API call, and error handling.
5343//
5344// This method is useful when you want to inject custom logic or configuration
5345// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5346//
5347//
5348//    // Example sending a request using the UpdateResourcePolicyRequest method.
5349//    req, resp := client.UpdateResourcePolicyRequest(params)
5350//
5351//    err := req.Send()
5352//    if err == nil { // resp is now filled
5353//        fmt.Println(resp)
5354//    }
5355//
5356// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateResourcePolicy
5357func (c *LexModelsV2) UpdateResourcePolicyRequest(input *UpdateResourcePolicyInput) (req *request.Request, output *UpdateResourcePolicyOutput) {
5358	op := &request.Operation{
5359		Name:       opUpdateResourcePolicy,
5360		HTTPMethod: "PUT",
5361		HTTPPath:   "/policy/{resourceArn}/",
5362	}
5363
5364	if input == nil {
5365		input = &UpdateResourcePolicyInput{}
5366	}
5367
5368	output = &UpdateResourcePolicyOutput{}
5369	req = c.newRequest(op, input, output)
5370	return
5371}
5372
5373// UpdateResourcePolicy API operation for Amazon Lex Model Building V2.
5374//
5375// Replaces the existing resource policy for a bot or bot alias with a new one.
5376// If the policy doesn't exist, Amazon Lex returns an exception.
5377//
5378// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5379// with awserr.Error's Code and Message methods to get detailed information about
5380// the error.
5381//
5382// See the AWS API reference guide for Amazon Lex Model Building V2's
5383// API operation UpdateResourcePolicy for usage and error information.
5384//
5385// Returned Error Types:
5386//   * ResourceNotFoundException
5387//
5388//   * ServiceQuotaExceededException
5389//
5390//   * PreconditionFailedException
5391//
5392//   * ValidationException
5393//
5394//   * InternalServerException
5395//
5396//   * ThrottlingException
5397//
5398// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateResourcePolicy
5399func (c *LexModelsV2) UpdateResourcePolicy(input *UpdateResourcePolicyInput) (*UpdateResourcePolicyOutput, error) {
5400	req, out := c.UpdateResourcePolicyRequest(input)
5401	return out, req.Send()
5402}
5403
5404// UpdateResourcePolicyWithContext is the same as UpdateResourcePolicy with the addition of
5405// the ability to pass a context and additional request options.
5406//
5407// See UpdateResourcePolicy for details on how to use this API operation.
5408//
5409// The context must be non-nil and will be used for request cancellation. If
5410// the context is nil a panic will occur. In the future the SDK may create
5411// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5412// for more information on using Contexts.
5413func (c *LexModelsV2) UpdateResourcePolicyWithContext(ctx aws.Context, input *UpdateResourcePolicyInput, opts ...request.Option) (*UpdateResourcePolicyOutput, error) {
5414	req, out := c.UpdateResourcePolicyRequest(input)
5415	req.SetContext(ctx)
5416	req.ApplyOptions(opts...)
5417	return out, req.Send()
5418}
5419
5420const opUpdateSlot = "UpdateSlot"
5421
5422// UpdateSlotRequest generates a "aws/request.Request" representing the
5423// client's request for the UpdateSlot operation. The "output" return
5424// value will be populated with the request's response once the request completes
5425// successfully.
5426//
5427// Use "Send" method on the returned Request to send the API call to the service.
5428// the "output" return value is not valid until after Send returns without error.
5429//
5430// See UpdateSlot for more information on using the UpdateSlot
5431// API call, and error handling.
5432//
5433// This method is useful when you want to inject custom logic or configuration
5434// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5435//
5436//
5437//    // Example sending a request using the UpdateSlotRequest method.
5438//    req, resp := client.UpdateSlotRequest(params)
5439//
5440//    err := req.Send()
5441//    if err == nil { // resp is now filled
5442//        fmt.Println(resp)
5443//    }
5444//
5445// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateSlot
5446func (c *LexModelsV2) UpdateSlotRequest(input *UpdateSlotInput) (req *request.Request, output *UpdateSlotOutput) {
5447	op := &request.Operation{
5448		Name:       opUpdateSlot,
5449		HTTPMethod: "PUT",
5450		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/slots/{slotId}/",
5451	}
5452
5453	if input == nil {
5454		input = &UpdateSlotInput{}
5455	}
5456
5457	output = &UpdateSlotOutput{}
5458	req = c.newRequest(op, input, output)
5459	return
5460}
5461
5462// UpdateSlot API operation for Amazon Lex Model Building V2.
5463//
5464// Updates the settings for a slot.
5465//
5466// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5467// with awserr.Error's Code and Message methods to get detailed information about
5468// the error.
5469//
5470// See the AWS API reference guide for Amazon Lex Model Building V2's
5471// API operation UpdateSlot for usage and error information.
5472//
5473// Returned Error Types:
5474//   * ThrottlingException
5475//
5476//   * ServiceQuotaExceededException
5477//
5478//   * ValidationException
5479//
5480//   * PreconditionFailedException
5481//
5482//   * ConflictException
5483//
5484//   * InternalServerException
5485//
5486// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateSlot
5487func (c *LexModelsV2) UpdateSlot(input *UpdateSlotInput) (*UpdateSlotOutput, error) {
5488	req, out := c.UpdateSlotRequest(input)
5489	return out, req.Send()
5490}
5491
5492// UpdateSlotWithContext is the same as UpdateSlot with the addition of
5493// the ability to pass a context and additional request options.
5494//
5495// See UpdateSlot for details on how to use this API operation.
5496//
5497// The context must be non-nil and will be used for request cancellation. If
5498// the context is nil a panic will occur. In the future the SDK may create
5499// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5500// for more information on using Contexts.
5501func (c *LexModelsV2) UpdateSlotWithContext(ctx aws.Context, input *UpdateSlotInput, opts ...request.Option) (*UpdateSlotOutput, error) {
5502	req, out := c.UpdateSlotRequest(input)
5503	req.SetContext(ctx)
5504	req.ApplyOptions(opts...)
5505	return out, req.Send()
5506}
5507
5508const opUpdateSlotType = "UpdateSlotType"
5509
5510// UpdateSlotTypeRequest generates a "aws/request.Request" representing the
5511// client's request for the UpdateSlotType operation. The "output" return
5512// value will be populated with the request's response once the request completes
5513// successfully.
5514//
5515// Use "Send" method on the returned Request to send the API call to the service.
5516// the "output" return value is not valid until after Send returns without error.
5517//
5518// See UpdateSlotType for more information on using the UpdateSlotType
5519// API call, and error handling.
5520//
5521// This method is useful when you want to inject custom logic or configuration
5522// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5523//
5524//
5525//    // Example sending a request using the UpdateSlotTypeRequest method.
5526//    req, resp := client.UpdateSlotTypeRequest(params)
5527//
5528//    err := req.Send()
5529//    if err == nil { // resp is now filled
5530//        fmt.Println(resp)
5531//    }
5532//
5533// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateSlotType
5534func (c *LexModelsV2) UpdateSlotTypeRequest(input *UpdateSlotTypeInput) (req *request.Request, output *UpdateSlotTypeOutput) {
5535	op := &request.Operation{
5536		Name:       opUpdateSlotType,
5537		HTTPMethod: "PUT",
5538		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/slottypes/{slotTypeId}/",
5539	}
5540
5541	if input == nil {
5542		input = &UpdateSlotTypeInput{}
5543	}
5544
5545	output = &UpdateSlotTypeOutput{}
5546	req = c.newRequest(op, input, output)
5547	return
5548}
5549
5550// UpdateSlotType API operation for Amazon Lex Model Building V2.
5551//
5552// Updates the configuration of an existing slot type.
5553//
5554// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5555// with awserr.Error's Code and Message methods to get detailed information about
5556// the error.
5557//
5558// See the AWS API reference guide for Amazon Lex Model Building V2's
5559// API operation UpdateSlotType for usage and error information.
5560//
5561// Returned Error Types:
5562//   * ThrottlingException
5563//
5564//   * ServiceQuotaExceededException
5565//
5566//   * ValidationException
5567//
5568//   * PreconditionFailedException
5569//
5570//   * ConflictException
5571//
5572//   * InternalServerException
5573//
5574// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateSlotType
5575func (c *LexModelsV2) UpdateSlotType(input *UpdateSlotTypeInput) (*UpdateSlotTypeOutput, error) {
5576	req, out := c.UpdateSlotTypeRequest(input)
5577	return out, req.Send()
5578}
5579
5580// UpdateSlotTypeWithContext is the same as UpdateSlotType with the addition of
5581// the ability to pass a context and additional request options.
5582//
5583// See UpdateSlotType for details on how to use this API operation.
5584//
5585// The context must be non-nil and will be used for request cancellation. If
5586// the context is nil a panic will occur. In the future the SDK may create
5587// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5588// for more information on using Contexts.
5589func (c *LexModelsV2) UpdateSlotTypeWithContext(ctx aws.Context, input *UpdateSlotTypeInput, opts ...request.Option) (*UpdateSlotTypeOutput, error) {
5590	req, out := c.UpdateSlotTypeRequest(input)
5591	req.SetContext(ctx)
5592	req.ApplyOptions(opts...)
5593	return out, req.Send()
5594}
5595
5596// The location of audio log files collected when conversation logging is enabled
5597// for a bot.
5598type AudioLogDestination struct {
5599	_ struct{} `type:"structure"`
5600
5601	// The Amazon S3 bucket where the audio log files are stored. The IAM role specified
5602	// in the roleArn parameter of the CreateBot operation must have permission
5603	// to write to this bucket.
5604	//
5605	// S3Bucket is a required field
5606	S3Bucket *S3BucketLogDestination `locationName:"s3Bucket" type:"structure" required:"true"`
5607}
5608
5609// String returns the string representation
5610func (s AudioLogDestination) String() string {
5611	return awsutil.Prettify(s)
5612}
5613
5614// GoString returns the string representation
5615func (s AudioLogDestination) GoString() string {
5616	return s.String()
5617}
5618
5619// Validate inspects the fields of the type to determine if they are valid.
5620func (s *AudioLogDestination) Validate() error {
5621	invalidParams := request.ErrInvalidParams{Context: "AudioLogDestination"}
5622	if s.S3Bucket == nil {
5623		invalidParams.Add(request.NewErrParamRequired("S3Bucket"))
5624	}
5625	if s.S3Bucket != nil {
5626		if err := s.S3Bucket.Validate(); err != nil {
5627			invalidParams.AddNested("S3Bucket", err.(request.ErrInvalidParams))
5628		}
5629	}
5630
5631	if invalidParams.Len() > 0 {
5632		return invalidParams
5633	}
5634	return nil
5635}
5636
5637// SetS3Bucket sets the S3Bucket field's value.
5638func (s *AudioLogDestination) SetS3Bucket(v *S3BucketLogDestination) *AudioLogDestination {
5639	s.S3Bucket = v
5640	return s
5641}
5642
5643// Settings for logging audio of conversations between Amazon Lex and a user.
5644// You specify whether to log audio and the Amazon S3 bucket where the audio
5645// file is stored.
5646type AudioLogSetting struct {
5647	_ struct{} `type:"structure"`
5648
5649	// The location of audio log files collected when conversation logging is enabled
5650	// for a bot.
5651	//
5652	// Destination is a required field
5653	Destination *AudioLogDestination `locationName:"destination" type:"structure" required:"true"`
5654
5655	// Determines whether audio logging in enabled for the bot.
5656	//
5657	// Enabled is a required field
5658	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
5659}
5660
5661// String returns the string representation
5662func (s AudioLogSetting) String() string {
5663	return awsutil.Prettify(s)
5664}
5665
5666// GoString returns the string representation
5667func (s AudioLogSetting) GoString() string {
5668	return s.String()
5669}
5670
5671// Validate inspects the fields of the type to determine if they are valid.
5672func (s *AudioLogSetting) Validate() error {
5673	invalidParams := request.ErrInvalidParams{Context: "AudioLogSetting"}
5674	if s.Destination == nil {
5675		invalidParams.Add(request.NewErrParamRequired("Destination"))
5676	}
5677	if s.Enabled == nil {
5678		invalidParams.Add(request.NewErrParamRequired("Enabled"))
5679	}
5680	if s.Destination != nil {
5681		if err := s.Destination.Validate(); err != nil {
5682			invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
5683		}
5684	}
5685
5686	if invalidParams.Len() > 0 {
5687		return invalidParams
5688	}
5689	return nil
5690}
5691
5692// SetDestination sets the Destination field's value.
5693func (s *AudioLogSetting) SetDestination(v *AudioLogDestination) *AudioLogSetting {
5694	s.Destination = v
5695	return s
5696}
5697
5698// SetEnabled sets the Enabled field's value.
5699func (s *AudioLogSetting) SetEnabled(v bool) *AudioLogSetting {
5700	s.Enabled = &v
5701	return s
5702}
5703
5704// Provides a record of an event that affects a bot alias. For example, when
5705// the version of a bot that the alias points to changes.
5706type BotAliasHistoryEvent struct {
5707	_ struct{} `type:"structure"`
5708
5709	// The version of the bot that was used in the event.
5710	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
5711
5712	// The date and time that the event ended.
5713	EndDate *time.Time `locationName:"endDate" type:"timestamp"`
5714
5715	// The date and time that the event started.
5716	StartDate *time.Time `locationName:"startDate" type:"timestamp"`
5717}
5718
5719// String returns the string representation
5720func (s BotAliasHistoryEvent) String() string {
5721	return awsutil.Prettify(s)
5722}
5723
5724// GoString returns the string representation
5725func (s BotAliasHistoryEvent) GoString() string {
5726	return s.String()
5727}
5728
5729// SetBotVersion sets the BotVersion field's value.
5730func (s *BotAliasHistoryEvent) SetBotVersion(v string) *BotAliasHistoryEvent {
5731	s.BotVersion = &v
5732	return s
5733}
5734
5735// SetEndDate sets the EndDate field's value.
5736func (s *BotAliasHistoryEvent) SetEndDate(v time.Time) *BotAliasHistoryEvent {
5737	s.EndDate = &v
5738	return s
5739}
5740
5741// SetStartDate sets the StartDate field's value.
5742func (s *BotAliasHistoryEvent) SetStartDate(v time.Time) *BotAliasHistoryEvent {
5743	s.StartDate = &v
5744	return s
5745}
5746
5747// Specifies settings that are unique to a locale. For example, you can use
5748// different Lambda function depending on the bot's locale.
5749type BotAliasLocaleSettings struct {
5750	_ struct{} `type:"structure"`
5751
5752	// Specifies the Lambda function that should be used in the locale.
5753	CodeHookSpecification *CodeHookSpecification `locationName:"codeHookSpecification" type:"structure"`
5754
5755	// Determines whether the locale is enabled for the bot. If the value is false,
5756	// the locale isn't available for use.
5757	//
5758	// Enabled is a required field
5759	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
5760}
5761
5762// String returns the string representation
5763func (s BotAliasLocaleSettings) String() string {
5764	return awsutil.Prettify(s)
5765}
5766
5767// GoString returns the string representation
5768func (s BotAliasLocaleSettings) GoString() string {
5769	return s.String()
5770}
5771
5772// Validate inspects the fields of the type to determine if they are valid.
5773func (s *BotAliasLocaleSettings) Validate() error {
5774	invalidParams := request.ErrInvalidParams{Context: "BotAliasLocaleSettings"}
5775	if s.Enabled == nil {
5776		invalidParams.Add(request.NewErrParamRequired("Enabled"))
5777	}
5778	if s.CodeHookSpecification != nil {
5779		if err := s.CodeHookSpecification.Validate(); err != nil {
5780			invalidParams.AddNested("CodeHookSpecification", err.(request.ErrInvalidParams))
5781		}
5782	}
5783
5784	if invalidParams.Len() > 0 {
5785		return invalidParams
5786	}
5787	return nil
5788}
5789
5790// SetCodeHookSpecification sets the CodeHookSpecification field's value.
5791func (s *BotAliasLocaleSettings) SetCodeHookSpecification(v *CodeHookSpecification) *BotAliasLocaleSettings {
5792	s.CodeHookSpecification = v
5793	return s
5794}
5795
5796// SetEnabled sets the Enabled field's value.
5797func (s *BotAliasLocaleSettings) SetEnabled(v bool) *BotAliasLocaleSettings {
5798	s.Enabled = &v
5799	return s
5800}
5801
5802// Summary information about bot aliases returned from the ListBotAliases operation.
5803type BotAliasSummary struct {
5804	_ struct{} `type:"structure"`
5805
5806	// The unique identifier assigned to the bot alias. You can use this ID to get
5807	// detailed information about the alias using the DescribeBotAlias operation.
5808	BotAliasId *string `locationName:"botAliasId" min:"10" type:"string"`
5809
5810	// The name of the bot alias.
5811	BotAliasName *string `locationName:"botAliasName" min:"1" type:"string"`
5812
5813	// The current state of the bot alias. If the status is Available, the alias
5814	// is ready for use.
5815	BotAliasStatus *string `locationName:"botAliasStatus" type:"string" enum:"BotAliasStatus"`
5816
5817	// The version of the bot that the bot alias references.
5818	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
5819
5820	// A timestamp of the date and time that the bot alias was created.
5821	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
5822
5823	// The description of the bot alias.
5824	Description *string `locationName:"description" type:"string"`
5825
5826	// A timestamp of the date and time that the bot alias was last updated.
5827	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
5828}
5829
5830// String returns the string representation
5831func (s BotAliasSummary) String() string {
5832	return awsutil.Prettify(s)
5833}
5834
5835// GoString returns the string representation
5836func (s BotAliasSummary) GoString() string {
5837	return s.String()
5838}
5839
5840// SetBotAliasId sets the BotAliasId field's value.
5841func (s *BotAliasSummary) SetBotAliasId(v string) *BotAliasSummary {
5842	s.BotAliasId = &v
5843	return s
5844}
5845
5846// SetBotAliasName sets the BotAliasName field's value.
5847func (s *BotAliasSummary) SetBotAliasName(v string) *BotAliasSummary {
5848	s.BotAliasName = &v
5849	return s
5850}
5851
5852// SetBotAliasStatus sets the BotAliasStatus field's value.
5853func (s *BotAliasSummary) SetBotAliasStatus(v string) *BotAliasSummary {
5854	s.BotAliasStatus = &v
5855	return s
5856}
5857
5858// SetBotVersion sets the BotVersion field's value.
5859func (s *BotAliasSummary) SetBotVersion(v string) *BotAliasSummary {
5860	s.BotVersion = &v
5861	return s
5862}
5863
5864// SetCreationDateTime sets the CreationDateTime field's value.
5865func (s *BotAliasSummary) SetCreationDateTime(v time.Time) *BotAliasSummary {
5866	s.CreationDateTime = &v
5867	return s
5868}
5869
5870// SetDescription sets the Description field's value.
5871func (s *BotAliasSummary) SetDescription(v string) *BotAliasSummary {
5872	s.Description = &v
5873	return s
5874}
5875
5876// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
5877func (s *BotAliasSummary) SetLastUpdatedDateTime(v time.Time) *BotAliasSummary {
5878	s.LastUpdatedDateTime = &v
5879	return s
5880}
5881
5882// Provided the identity of a the bot that was exported.
5883type BotExportSpecification struct {
5884	_ struct{} `type:"structure"`
5885
5886	// The identifier of the bot assigned by Amazon Lex.
5887	//
5888	// BotId is a required field
5889	BotId *string `locationName:"botId" min:"10" type:"string" required:"true"`
5890
5891	// The version of the bot that was exported. This will be either DRAFT or the
5892	// version number.
5893	//
5894	// BotVersion is a required field
5895	BotVersion *string `locationName:"botVersion" min:"1" type:"string" required:"true"`
5896}
5897
5898// String returns the string representation
5899func (s BotExportSpecification) String() string {
5900	return awsutil.Prettify(s)
5901}
5902
5903// GoString returns the string representation
5904func (s BotExportSpecification) GoString() string {
5905	return s.String()
5906}
5907
5908// Validate inspects the fields of the type to determine if they are valid.
5909func (s *BotExportSpecification) Validate() error {
5910	invalidParams := request.ErrInvalidParams{Context: "BotExportSpecification"}
5911	if s.BotId == nil {
5912		invalidParams.Add(request.NewErrParamRequired("BotId"))
5913	}
5914	if s.BotId != nil && len(*s.BotId) < 10 {
5915		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
5916	}
5917	if s.BotVersion == nil {
5918		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
5919	}
5920	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
5921		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
5922	}
5923
5924	if invalidParams.Len() > 0 {
5925		return invalidParams
5926	}
5927	return nil
5928}
5929
5930// SetBotId sets the BotId field's value.
5931func (s *BotExportSpecification) SetBotId(v string) *BotExportSpecification {
5932	s.BotId = &v
5933	return s
5934}
5935
5936// SetBotVersion sets the BotVersion field's value.
5937func (s *BotExportSpecification) SetBotVersion(v string) *BotExportSpecification {
5938	s.BotVersion = &v
5939	return s
5940}
5941
5942// Filters the responses returned by the ListBots operation.
5943type BotFilter struct {
5944	_ struct{} `type:"structure"`
5945
5946	// The name of the field to filter the list of bots.
5947	//
5948	// Name is a required field
5949	Name *string `locationName:"name" type:"string" required:"true" enum:"BotFilterName"`
5950
5951	// The operator to use for the filter. Specify EQ when the ListBots operation
5952	// should return only aliases that equal the specified value. Specify CO when
5953	// the ListBots operation should return aliases that contain the specified value.
5954	//
5955	// Operator is a required field
5956	Operator *string `locationName:"operator" type:"string" required:"true" enum:"BotFilterOperator"`
5957
5958	// The value to use for filtering the list of bots.
5959	//
5960	// Values is a required field
5961	Values []*string `locationName:"values" min:"1" type:"list" required:"true"`
5962}
5963
5964// String returns the string representation
5965func (s BotFilter) String() string {
5966	return awsutil.Prettify(s)
5967}
5968
5969// GoString returns the string representation
5970func (s BotFilter) GoString() string {
5971	return s.String()
5972}
5973
5974// Validate inspects the fields of the type to determine if they are valid.
5975func (s *BotFilter) Validate() error {
5976	invalidParams := request.ErrInvalidParams{Context: "BotFilter"}
5977	if s.Name == nil {
5978		invalidParams.Add(request.NewErrParamRequired("Name"))
5979	}
5980	if s.Operator == nil {
5981		invalidParams.Add(request.NewErrParamRequired("Operator"))
5982	}
5983	if s.Values == nil {
5984		invalidParams.Add(request.NewErrParamRequired("Values"))
5985	}
5986	if s.Values != nil && len(s.Values) < 1 {
5987		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
5988	}
5989
5990	if invalidParams.Len() > 0 {
5991		return invalidParams
5992	}
5993	return nil
5994}
5995
5996// SetName sets the Name field's value.
5997func (s *BotFilter) SetName(v string) *BotFilter {
5998	s.Name = &v
5999	return s
6000}
6001
6002// SetOperator sets the Operator field's value.
6003func (s *BotFilter) SetOperator(v string) *BotFilter {
6004	s.Operator = &v
6005	return s
6006}
6007
6008// SetValues sets the Values field's value.
6009func (s *BotFilter) SetValues(v []*string) *BotFilter {
6010	s.Values = v
6011	return s
6012}
6013
6014// Provides the bot parameters required for importing a bot.
6015type BotImportSpecification struct {
6016	_ struct{} `type:"structure"`
6017
6018	// The name that Amazon Lex should use for the bot.
6019	//
6020	// BotName is a required field
6021	BotName *string `locationName:"botName" min:"1" type:"string" required:"true"`
6022
6023	// A list of tags to add to the bot. You can only add tags when you import a
6024	// bot. You can't use the UpdateBot operation to update tags. To update tags,
6025	// use the TagResource operation.
6026	BotTags map[string]*string `locationName:"botTags" type:"map"`
6027
6028	// By default, data stored by Amazon Lex is encrypted. The DataPrivacy structure
6029	// provides settings that determine how Amazon Lex handles special cases of
6030	// securing the data for your bot.
6031	//
6032	// DataPrivacy is a required field
6033	DataPrivacy *DataPrivacy `locationName:"dataPrivacy" type:"structure" required:"true"`
6034
6035	// The time, in seconds, that Amazon Lex should keep information about a user's
6036	// conversation with the bot.
6037	//
6038	// A user interaction remains active for the amount of time specified. If no
6039	// conversation occurs during this time, the session expires and Amazon Lex
6040	// deletes any data provided before the timeout.
6041	//
6042	// You can specify between 60 (1 minute) and 86,400 (24 hours) seconds.
6043	IdleSessionTTLInSeconds *int64 `locationName:"idleSessionTTLInSeconds" min:"60" type:"integer"`
6044
6045	// The Amazon Resource Name (ARN) of the IAM role used to build and run the
6046	// bot.
6047	//
6048	// RoleArn is a required field
6049	RoleArn *string `locationName:"roleArn" min:"32" type:"string" required:"true"`
6050
6051	// A list of tags to add to the test alias for a bot. You can only add tags
6052	// when you import a bot. You can't use the UpdateAlias operation to update
6053	// tags. To update tags on the test alias, use the TagResource operation.
6054	TestBotAliasTags map[string]*string `locationName:"testBotAliasTags" type:"map"`
6055}
6056
6057// String returns the string representation
6058func (s BotImportSpecification) String() string {
6059	return awsutil.Prettify(s)
6060}
6061
6062// GoString returns the string representation
6063func (s BotImportSpecification) GoString() string {
6064	return s.String()
6065}
6066
6067// Validate inspects the fields of the type to determine if they are valid.
6068func (s *BotImportSpecification) Validate() error {
6069	invalidParams := request.ErrInvalidParams{Context: "BotImportSpecification"}
6070	if s.BotName == nil {
6071		invalidParams.Add(request.NewErrParamRequired("BotName"))
6072	}
6073	if s.BotName != nil && len(*s.BotName) < 1 {
6074		invalidParams.Add(request.NewErrParamMinLen("BotName", 1))
6075	}
6076	if s.DataPrivacy == nil {
6077		invalidParams.Add(request.NewErrParamRequired("DataPrivacy"))
6078	}
6079	if s.IdleSessionTTLInSeconds != nil && *s.IdleSessionTTLInSeconds < 60 {
6080		invalidParams.Add(request.NewErrParamMinValue("IdleSessionTTLInSeconds", 60))
6081	}
6082	if s.RoleArn == nil {
6083		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
6084	}
6085	if s.RoleArn != nil && len(*s.RoleArn) < 32 {
6086		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 32))
6087	}
6088	if s.DataPrivacy != nil {
6089		if err := s.DataPrivacy.Validate(); err != nil {
6090			invalidParams.AddNested("DataPrivacy", err.(request.ErrInvalidParams))
6091		}
6092	}
6093
6094	if invalidParams.Len() > 0 {
6095		return invalidParams
6096	}
6097	return nil
6098}
6099
6100// SetBotName sets the BotName field's value.
6101func (s *BotImportSpecification) SetBotName(v string) *BotImportSpecification {
6102	s.BotName = &v
6103	return s
6104}
6105
6106// SetBotTags sets the BotTags field's value.
6107func (s *BotImportSpecification) SetBotTags(v map[string]*string) *BotImportSpecification {
6108	s.BotTags = v
6109	return s
6110}
6111
6112// SetDataPrivacy sets the DataPrivacy field's value.
6113func (s *BotImportSpecification) SetDataPrivacy(v *DataPrivacy) *BotImportSpecification {
6114	s.DataPrivacy = v
6115	return s
6116}
6117
6118// SetIdleSessionTTLInSeconds sets the IdleSessionTTLInSeconds field's value.
6119func (s *BotImportSpecification) SetIdleSessionTTLInSeconds(v int64) *BotImportSpecification {
6120	s.IdleSessionTTLInSeconds = &v
6121	return s
6122}
6123
6124// SetRoleArn sets the RoleArn field's value.
6125func (s *BotImportSpecification) SetRoleArn(v string) *BotImportSpecification {
6126	s.RoleArn = &v
6127	return s
6128}
6129
6130// SetTestBotAliasTags sets the TestBotAliasTags field's value.
6131func (s *BotImportSpecification) SetTestBotAliasTags(v map[string]*string) *BotImportSpecification {
6132	s.TestBotAliasTags = v
6133	return s
6134}
6135
6136// Provides the bot locale parameters required for exporting a bot locale.
6137type BotLocaleExportSpecification struct {
6138	_ struct{} `type:"structure"`
6139
6140	// The identifier of the bot to create the locale for.
6141	//
6142	// BotId is a required field
6143	BotId *string `locationName:"botId" min:"10" type:"string" required:"true"`
6144
6145	// The version of the bot to export.
6146	//
6147	// BotVersion is a required field
6148	BotVersion *string `locationName:"botVersion" min:"1" type:"string" required:"true"`
6149
6150	// The identifier of the language and locale to export. The string must match
6151	// one of the locales in the bot.
6152	//
6153	// LocaleId is a required field
6154	LocaleId *string `locationName:"localeId" type:"string" required:"true"`
6155}
6156
6157// String returns the string representation
6158func (s BotLocaleExportSpecification) String() string {
6159	return awsutil.Prettify(s)
6160}
6161
6162// GoString returns the string representation
6163func (s BotLocaleExportSpecification) GoString() string {
6164	return s.String()
6165}
6166
6167// Validate inspects the fields of the type to determine if they are valid.
6168func (s *BotLocaleExportSpecification) Validate() error {
6169	invalidParams := request.ErrInvalidParams{Context: "BotLocaleExportSpecification"}
6170	if s.BotId == nil {
6171		invalidParams.Add(request.NewErrParamRequired("BotId"))
6172	}
6173	if s.BotId != nil && len(*s.BotId) < 10 {
6174		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
6175	}
6176	if s.BotVersion == nil {
6177		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
6178	}
6179	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
6180		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
6181	}
6182	if s.LocaleId == nil {
6183		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
6184	}
6185
6186	if invalidParams.Len() > 0 {
6187		return invalidParams
6188	}
6189	return nil
6190}
6191
6192// SetBotId sets the BotId field's value.
6193func (s *BotLocaleExportSpecification) SetBotId(v string) *BotLocaleExportSpecification {
6194	s.BotId = &v
6195	return s
6196}
6197
6198// SetBotVersion sets the BotVersion field's value.
6199func (s *BotLocaleExportSpecification) SetBotVersion(v string) *BotLocaleExportSpecification {
6200	s.BotVersion = &v
6201	return s
6202}
6203
6204// SetLocaleId sets the LocaleId field's value.
6205func (s *BotLocaleExportSpecification) SetLocaleId(v string) *BotLocaleExportSpecification {
6206	s.LocaleId = &v
6207	return s
6208}
6209
6210// Filters responses returned by the ListBotLocales operation.
6211type BotLocaleFilter struct {
6212	_ struct{} `type:"structure"`
6213
6214	// The name of the field to filter the list of bots.
6215	//
6216	// Name is a required field
6217	Name *string `locationName:"name" type:"string" required:"true" enum:"BotLocaleFilterName"`
6218
6219	// The operator to use for the filter. Specify EQ when the ListBotLocales operation
6220	// should return only aliases that equal the specified value. Specify CO when
6221	// the ListBotLocales operation should return aliases that contain the specified
6222	// value.
6223	//
6224	// Operator is a required field
6225	Operator *string `locationName:"operator" type:"string" required:"true" enum:"BotLocaleFilterOperator"`
6226
6227	// The value to use for filtering the list of bots.
6228	//
6229	// Values is a required field
6230	Values []*string `locationName:"values" min:"1" type:"list" required:"true"`
6231}
6232
6233// String returns the string representation
6234func (s BotLocaleFilter) String() string {
6235	return awsutil.Prettify(s)
6236}
6237
6238// GoString returns the string representation
6239func (s BotLocaleFilter) GoString() string {
6240	return s.String()
6241}
6242
6243// Validate inspects the fields of the type to determine if they are valid.
6244func (s *BotLocaleFilter) Validate() error {
6245	invalidParams := request.ErrInvalidParams{Context: "BotLocaleFilter"}
6246	if s.Name == nil {
6247		invalidParams.Add(request.NewErrParamRequired("Name"))
6248	}
6249	if s.Operator == nil {
6250		invalidParams.Add(request.NewErrParamRequired("Operator"))
6251	}
6252	if s.Values == nil {
6253		invalidParams.Add(request.NewErrParamRequired("Values"))
6254	}
6255	if s.Values != nil && len(s.Values) < 1 {
6256		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
6257	}
6258
6259	if invalidParams.Len() > 0 {
6260		return invalidParams
6261	}
6262	return nil
6263}
6264
6265// SetName sets the Name field's value.
6266func (s *BotLocaleFilter) SetName(v string) *BotLocaleFilter {
6267	s.Name = &v
6268	return s
6269}
6270
6271// SetOperator sets the Operator field's value.
6272func (s *BotLocaleFilter) SetOperator(v string) *BotLocaleFilter {
6273	s.Operator = &v
6274	return s
6275}
6276
6277// SetValues sets the Values field's value.
6278func (s *BotLocaleFilter) SetValues(v []*string) *BotLocaleFilter {
6279	s.Values = v
6280	return s
6281}
6282
6283// Provides information about an event that occurred affecting the bot locale.
6284type BotLocaleHistoryEvent struct {
6285	_ struct{} `type:"structure"`
6286
6287	// A description of the event that occurred.
6288	//
6289	// Event is a required field
6290	Event *string `locationName:"event" type:"string" required:"true"`
6291
6292	// A timestamp of the date and time that the event occurred.
6293	//
6294	// EventDate is a required field
6295	EventDate *time.Time `locationName:"eventDate" type:"timestamp" required:"true"`
6296}
6297
6298// String returns the string representation
6299func (s BotLocaleHistoryEvent) String() string {
6300	return awsutil.Prettify(s)
6301}
6302
6303// GoString returns the string representation
6304func (s BotLocaleHistoryEvent) GoString() string {
6305	return s.String()
6306}
6307
6308// SetEvent sets the Event field's value.
6309func (s *BotLocaleHistoryEvent) SetEvent(v string) *BotLocaleHistoryEvent {
6310	s.Event = &v
6311	return s
6312}
6313
6314// SetEventDate sets the EventDate field's value.
6315func (s *BotLocaleHistoryEvent) SetEventDate(v time.Time) *BotLocaleHistoryEvent {
6316	s.EventDate = &v
6317	return s
6318}
6319
6320// Provides the bot locale parameters required for importing a bot locale.
6321type BotLocaleImportSpecification struct {
6322	_ struct{} `type:"structure"`
6323
6324	// The identifier of the bot to import the locale to.
6325	//
6326	// BotId is a required field
6327	BotId *string `locationName:"botId" min:"10" type:"string" required:"true"`
6328
6329	// The version of the bot to import the locale to. This can only be the DRAFT
6330	// version of the bot.
6331	//
6332	// BotVersion is a required field
6333	BotVersion *string `locationName:"botVersion" min:"5" type:"string" required:"true"`
6334
6335	// The identifier of the language and locale that the bot will be used in. The
6336	// string must match one of the supported locales. All of the intents, slot
6337	// types, and slots used in the bot must have the same locale. For more information,
6338	// see Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
6339	//
6340	// LocaleId is a required field
6341	LocaleId *string `locationName:"localeId" type:"string" required:"true"`
6342
6343	// Determines the threshold where Amazon Lex will insert the AMAZON.FallbackIntent,
6344	// AMAZON.KendraSearchIntent, or both when returning alternative intents. AMAZON.FallbackIntent
6345	// and AMAZON.KendraSearchIntent are only inserted if they are configured for
6346	// the bot.
6347	//
6348	// For example, suppose a bot is configured with the confidence threshold of
6349	// 0.80 and the AMAZON.FallbackIntent. Amazon Lex returns three alternative
6350	// intents with the following confidence scores: IntentA (0.70), IntentB (0.60),
6351	// IntentC (0.50). The response from the PostText operation would be:
6352	//
6353	//    * AMAZON.FallbackIntent
6354	//
6355	//    * IntentA
6356	//
6357	//    * IntentB
6358	//
6359	//    * IntentC
6360	NluIntentConfidenceThreshold *float64 `locationName:"nluIntentConfidenceThreshold" type:"double"`
6361
6362	// Defines settings for using an Amazon Polly voice to communicate with a user.
6363	VoiceSettings *VoiceSettings `locationName:"voiceSettings" type:"structure"`
6364}
6365
6366// String returns the string representation
6367func (s BotLocaleImportSpecification) String() string {
6368	return awsutil.Prettify(s)
6369}
6370
6371// GoString returns the string representation
6372func (s BotLocaleImportSpecification) GoString() string {
6373	return s.String()
6374}
6375
6376// Validate inspects the fields of the type to determine if they are valid.
6377func (s *BotLocaleImportSpecification) Validate() error {
6378	invalidParams := request.ErrInvalidParams{Context: "BotLocaleImportSpecification"}
6379	if s.BotId == nil {
6380		invalidParams.Add(request.NewErrParamRequired("BotId"))
6381	}
6382	if s.BotId != nil && len(*s.BotId) < 10 {
6383		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
6384	}
6385	if s.BotVersion == nil {
6386		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
6387	}
6388	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
6389		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
6390	}
6391	if s.LocaleId == nil {
6392		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
6393	}
6394	if s.VoiceSettings != nil {
6395		if err := s.VoiceSettings.Validate(); err != nil {
6396			invalidParams.AddNested("VoiceSettings", err.(request.ErrInvalidParams))
6397		}
6398	}
6399
6400	if invalidParams.Len() > 0 {
6401		return invalidParams
6402	}
6403	return nil
6404}
6405
6406// SetBotId sets the BotId field's value.
6407func (s *BotLocaleImportSpecification) SetBotId(v string) *BotLocaleImportSpecification {
6408	s.BotId = &v
6409	return s
6410}
6411
6412// SetBotVersion sets the BotVersion field's value.
6413func (s *BotLocaleImportSpecification) SetBotVersion(v string) *BotLocaleImportSpecification {
6414	s.BotVersion = &v
6415	return s
6416}
6417
6418// SetLocaleId sets the LocaleId field's value.
6419func (s *BotLocaleImportSpecification) SetLocaleId(v string) *BotLocaleImportSpecification {
6420	s.LocaleId = &v
6421	return s
6422}
6423
6424// SetNluIntentConfidenceThreshold sets the NluIntentConfidenceThreshold field's value.
6425func (s *BotLocaleImportSpecification) SetNluIntentConfidenceThreshold(v float64) *BotLocaleImportSpecification {
6426	s.NluIntentConfidenceThreshold = &v
6427	return s
6428}
6429
6430// SetVoiceSettings sets the VoiceSettings field's value.
6431func (s *BotLocaleImportSpecification) SetVoiceSettings(v *VoiceSettings) *BotLocaleImportSpecification {
6432	s.VoiceSettings = v
6433	return s
6434}
6435
6436// Specifies attributes for sorting a list of bot locales.
6437type BotLocaleSortBy struct {
6438	_ struct{} `type:"structure"`
6439
6440	// The bot locale attribute to sort by.
6441	//
6442	// Attribute is a required field
6443	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"BotLocaleSortAttribute"`
6444
6445	// Specifies whether to sort the bot locales in ascending or descending order.
6446	//
6447	// Order is a required field
6448	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
6449}
6450
6451// String returns the string representation
6452func (s BotLocaleSortBy) String() string {
6453	return awsutil.Prettify(s)
6454}
6455
6456// GoString returns the string representation
6457func (s BotLocaleSortBy) GoString() string {
6458	return s.String()
6459}
6460
6461// Validate inspects the fields of the type to determine if they are valid.
6462func (s *BotLocaleSortBy) Validate() error {
6463	invalidParams := request.ErrInvalidParams{Context: "BotLocaleSortBy"}
6464	if s.Attribute == nil {
6465		invalidParams.Add(request.NewErrParamRequired("Attribute"))
6466	}
6467	if s.Order == nil {
6468		invalidParams.Add(request.NewErrParamRequired("Order"))
6469	}
6470
6471	if invalidParams.Len() > 0 {
6472		return invalidParams
6473	}
6474	return nil
6475}
6476
6477// SetAttribute sets the Attribute field's value.
6478func (s *BotLocaleSortBy) SetAttribute(v string) *BotLocaleSortBy {
6479	s.Attribute = &v
6480	return s
6481}
6482
6483// SetOrder sets the Order field's value.
6484func (s *BotLocaleSortBy) SetOrder(v string) *BotLocaleSortBy {
6485	s.Order = &v
6486	return s
6487}
6488
6489// Summary information about bot locales returned by the ListBotLocales operation.
6490type BotLocaleSummary struct {
6491	_ struct{} `type:"structure"`
6492
6493	// The current status of the bot locale. When the status is Built the locale
6494	// is ready for use.
6495	BotLocaleStatus *string `locationName:"botLocaleStatus" type:"string" enum:"BotLocaleStatus"`
6496
6497	// The description of the bot locale.
6498	Description *string `locationName:"description" type:"string"`
6499
6500	// A timestamp of the date and time that the bot locale was last built.
6501	LastBuildSubmittedDateTime *time.Time `locationName:"lastBuildSubmittedDateTime" type:"timestamp"`
6502
6503	// A timestamp of the date and time that the bot locale was last updated.
6504	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
6505
6506	// The language and locale of the bot locale.
6507	LocaleId *string `locationName:"localeId" type:"string"`
6508
6509	// The name of the bot locale.
6510	LocaleName *string `locationName:"localeName" type:"string"`
6511}
6512
6513// String returns the string representation
6514func (s BotLocaleSummary) String() string {
6515	return awsutil.Prettify(s)
6516}
6517
6518// GoString returns the string representation
6519func (s BotLocaleSummary) GoString() string {
6520	return s.String()
6521}
6522
6523// SetBotLocaleStatus sets the BotLocaleStatus field's value.
6524func (s *BotLocaleSummary) SetBotLocaleStatus(v string) *BotLocaleSummary {
6525	s.BotLocaleStatus = &v
6526	return s
6527}
6528
6529// SetDescription sets the Description field's value.
6530func (s *BotLocaleSummary) SetDescription(v string) *BotLocaleSummary {
6531	s.Description = &v
6532	return s
6533}
6534
6535// SetLastBuildSubmittedDateTime sets the LastBuildSubmittedDateTime field's value.
6536func (s *BotLocaleSummary) SetLastBuildSubmittedDateTime(v time.Time) *BotLocaleSummary {
6537	s.LastBuildSubmittedDateTime = &v
6538	return s
6539}
6540
6541// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
6542func (s *BotLocaleSummary) SetLastUpdatedDateTime(v time.Time) *BotLocaleSummary {
6543	s.LastUpdatedDateTime = &v
6544	return s
6545}
6546
6547// SetLocaleId sets the LocaleId field's value.
6548func (s *BotLocaleSummary) SetLocaleId(v string) *BotLocaleSummary {
6549	s.LocaleId = &v
6550	return s
6551}
6552
6553// SetLocaleName sets the LocaleName field's value.
6554func (s *BotLocaleSummary) SetLocaleName(v string) *BotLocaleSummary {
6555	s.LocaleName = &v
6556	return s
6557}
6558
6559// Specifies attributes for sorting a list of bots.
6560type BotSortBy struct {
6561	_ struct{} `type:"structure"`
6562
6563	// The attribute to use to sort the list of bots.
6564	//
6565	// Attribute is a required field
6566	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"BotSortAttribute"`
6567
6568	// The order to sort the list. You can choose ascending or descending.
6569	//
6570	// Order is a required field
6571	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
6572}
6573
6574// String returns the string representation
6575func (s BotSortBy) String() string {
6576	return awsutil.Prettify(s)
6577}
6578
6579// GoString returns the string representation
6580func (s BotSortBy) GoString() string {
6581	return s.String()
6582}
6583
6584// Validate inspects the fields of the type to determine if they are valid.
6585func (s *BotSortBy) Validate() error {
6586	invalidParams := request.ErrInvalidParams{Context: "BotSortBy"}
6587	if s.Attribute == nil {
6588		invalidParams.Add(request.NewErrParamRequired("Attribute"))
6589	}
6590	if s.Order == nil {
6591		invalidParams.Add(request.NewErrParamRequired("Order"))
6592	}
6593
6594	if invalidParams.Len() > 0 {
6595		return invalidParams
6596	}
6597	return nil
6598}
6599
6600// SetAttribute sets the Attribute field's value.
6601func (s *BotSortBy) SetAttribute(v string) *BotSortBy {
6602	s.Attribute = &v
6603	return s
6604}
6605
6606// SetOrder sets the Order field's value.
6607func (s *BotSortBy) SetOrder(v string) *BotSortBy {
6608	s.Order = &v
6609	return s
6610}
6611
6612// Summary information about a bot returned by the ListBots operation.
6613type BotSummary struct {
6614	_ struct{} `type:"structure"`
6615
6616	// The unique identifier assigned to the bot. Use this ID to get detailed information
6617	// about the bot with the DescribeBot operation.
6618	BotId *string `locationName:"botId" min:"10" type:"string"`
6619
6620	// The name of the bot.
6621	BotName *string `locationName:"botName" min:"1" type:"string"`
6622
6623	// The current status of the bot. When the status is Available the bot is ready
6624	// for use.
6625	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
6626
6627	// The description of the bot.
6628	Description *string `locationName:"description" type:"string"`
6629
6630	// The date and time that the bot was last updated.
6631	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
6632
6633	// The latest numerical version in use for the bot.
6634	LatestBotVersion *string `locationName:"latestBotVersion" min:"1" type:"string"`
6635}
6636
6637// String returns the string representation
6638func (s BotSummary) String() string {
6639	return awsutil.Prettify(s)
6640}
6641
6642// GoString returns the string representation
6643func (s BotSummary) GoString() string {
6644	return s.String()
6645}
6646
6647// SetBotId sets the BotId field's value.
6648func (s *BotSummary) SetBotId(v string) *BotSummary {
6649	s.BotId = &v
6650	return s
6651}
6652
6653// SetBotName sets the BotName field's value.
6654func (s *BotSummary) SetBotName(v string) *BotSummary {
6655	s.BotName = &v
6656	return s
6657}
6658
6659// SetBotStatus sets the BotStatus field's value.
6660func (s *BotSummary) SetBotStatus(v string) *BotSummary {
6661	s.BotStatus = &v
6662	return s
6663}
6664
6665// SetDescription sets the Description field's value.
6666func (s *BotSummary) SetDescription(v string) *BotSummary {
6667	s.Description = &v
6668	return s
6669}
6670
6671// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
6672func (s *BotSummary) SetLastUpdatedDateTime(v time.Time) *BotSummary {
6673	s.LastUpdatedDateTime = &v
6674	return s
6675}
6676
6677// SetLatestBotVersion sets the LatestBotVersion field's value.
6678func (s *BotSummary) SetLatestBotVersion(v string) *BotSummary {
6679	s.LatestBotVersion = &v
6680	return s
6681}
6682
6683// The version of a bot used for a bot locale.
6684type BotVersionLocaleDetails struct {
6685	_ struct{} `type:"structure"`
6686
6687	// The version of a bot used for a bot locale.
6688	//
6689	// SourceBotVersion is a required field
6690	SourceBotVersion *string `locationName:"sourceBotVersion" min:"1" type:"string" required:"true"`
6691}
6692
6693// String returns the string representation
6694func (s BotVersionLocaleDetails) String() string {
6695	return awsutil.Prettify(s)
6696}
6697
6698// GoString returns the string representation
6699func (s BotVersionLocaleDetails) GoString() string {
6700	return s.String()
6701}
6702
6703// Validate inspects the fields of the type to determine if they are valid.
6704func (s *BotVersionLocaleDetails) Validate() error {
6705	invalidParams := request.ErrInvalidParams{Context: "BotVersionLocaleDetails"}
6706	if s.SourceBotVersion == nil {
6707		invalidParams.Add(request.NewErrParamRequired("SourceBotVersion"))
6708	}
6709	if s.SourceBotVersion != nil && len(*s.SourceBotVersion) < 1 {
6710		invalidParams.Add(request.NewErrParamMinLen("SourceBotVersion", 1))
6711	}
6712
6713	if invalidParams.Len() > 0 {
6714		return invalidParams
6715	}
6716	return nil
6717}
6718
6719// SetSourceBotVersion sets the SourceBotVersion field's value.
6720func (s *BotVersionLocaleDetails) SetSourceBotVersion(v string) *BotVersionLocaleDetails {
6721	s.SourceBotVersion = &v
6722	return s
6723}
6724
6725// Specifies attributes for sorting a list of bot versions.
6726type BotVersionSortBy struct {
6727	_ struct{} `type:"structure"`
6728
6729	// The attribute to use to sort the list of versions.
6730	//
6731	// Attribute is a required field
6732	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"BotVersionSortAttribute"`
6733
6734	// The order to sort the list. You can specify ascending or descending order.
6735	//
6736	// Order is a required field
6737	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
6738}
6739
6740// String returns the string representation
6741func (s BotVersionSortBy) String() string {
6742	return awsutil.Prettify(s)
6743}
6744
6745// GoString returns the string representation
6746func (s BotVersionSortBy) GoString() string {
6747	return s.String()
6748}
6749
6750// Validate inspects the fields of the type to determine if they are valid.
6751func (s *BotVersionSortBy) Validate() error {
6752	invalidParams := request.ErrInvalidParams{Context: "BotVersionSortBy"}
6753	if s.Attribute == nil {
6754		invalidParams.Add(request.NewErrParamRequired("Attribute"))
6755	}
6756	if s.Order == nil {
6757		invalidParams.Add(request.NewErrParamRequired("Order"))
6758	}
6759
6760	if invalidParams.Len() > 0 {
6761		return invalidParams
6762	}
6763	return nil
6764}
6765
6766// SetAttribute sets the Attribute field's value.
6767func (s *BotVersionSortBy) SetAttribute(v string) *BotVersionSortBy {
6768	s.Attribute = &v
6769	return s
6770}
6771
6772// SetOrder sets the Order field's value.
6773func (s *BotVersionSortBy) SetOrder(v string) *BotVersionSortBy {
6774	s.Order = &v
6775	return s
6776}
6777
6778// Summary information about a bot version returned by the ListBotVersions operation.
6779type BotVersionSummary struct {
6780	_ struct{} `type:"structure"`
6781
6782	// The name of the bot associated with the version.
6783	BotName *string `locationName:"botName" min:"1" type:"string"`
6784
6785	// The status of the bot. When the status is available, the version of the bot
6786	// is ready for use.
6787	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
6788
6789	// The numeric version of the bot, or DRAFT to indicate that this is the version
6790	// of the bot that can be updated..
6791	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
6792
6793	// A timestamp of the date and time that the version was created.
6794	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
6795
6796	// The description of the version.
6797	Description *string `locationName:"description" type:"string"`
6798}
6799
6800// String returns the string representation
6801func (s BotVersionSummary) String() string {
6802	return awsutil.Prettify(s)
6803}
6804
6805// GoString returns the string representation
6806func (s BotVersionSummary) GoString() string {
6807	return s.String()
6808}
6809
6810// SetBotName sets the BotName field's value.
6811func (s *BotVersionSummary) SetBotName(v string) *BotVersionSummary {
6812	s.BotName = &v
6813	return s
6814}
6815
6816// SetBotStatus sets the BotStatus field's value.
6817func (s *BotVersionSummary) SetBotStatus(v string) *BotVersionSummary {
6818	s.BotStatus = &v
6819	return s
6820}
6821
6822// SetBotVersion sets the BotVersion field's value.
6823func (s *BotVersionSummary) SetBotVersion(v string) *BotVersionSummary {
6824	s.BotVersion = &v
6825	return s
6826}
6827
6828// SetCreationDateTime sets the CreationDateTime field's value.
6829func (s *BotVersionSummary) SetCreationDateTime(v time.Time) *BotVersionSummary {
6830	s.CreationDateTime = &v
6831	return s
6832}
6833
6834// SetDescription sets the Description field's value.
6835func (s *BotVersionSummary) SetDescription(v string) *BotVersionSummary {
6836	s.Description = &v
6837	return s
6838}
6839
6840type BuildBotLocaleInput struct {
6841	_ struct{} `type:"structure"`
6842
6843	// The identifier of the bot to build. The identifier is returned in the response
6844	// from the operation.
6845	//
6846	// BotId is a required field
6847	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
6848
6849	// The version of the bot to build. This can only be the draft version of the
6850	// bot.
6851	//
6852	// BotVersion is a required field
6853	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
6854
6855	// The identifier of the language and locale that the bot will be used in. The
6856	// string must match one of the supported locales. All of the intents, slot
6857	// types, and slots used in the bot must have the same locale. For more information,
6858	// see Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
6859	//
6860	// LocaleId is a required field
6861	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
6862}
6863
6864// String returns the string representation
6865func (s BuildBotLocaleInput) String() string {
6866	return awsutil.Prettify(s)
6867}
6868
6869// GoString returns the string representation
6870func (s BuildBotLocaleInput) GoString() string {
6871	return s.String()
6872}
6873
6874// Validate inspects the fields of the type to determine if they are valid.
6875func (s *BuildBotLocaleInput) Validate() error {
6876	invalidParams := request.ErrInvalidParams{Context: "BuildBotLocaleInput"}
6877	if s.BotId == nil {
6878		invalidParams.Add(request.NewErrParamRequired("BotId"))
6879	}
6880	if s.BotId != nil && len(*s.BotId) < 10 {
6881		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
6882	}
6883	if s.BotVersion == nil {
6884		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
6885	}
6886	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
6887		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
6888	}
6889	if s.LocaleId == nil {
6890		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
6891	}
6892	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
6893		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
6894	}
6895
6896	if invalidParams.Len() > 0 {
6897		return invalidParams
6898	}
6899	return nil
6900}
6901
6902// SetBotId sets the BotId field's value.
6903func (s *BuildBotLocaleInput) SetBotId(v string) *BuildBotLocaleInput {
6904	s.BotId = &v
6905	return s
6906}
6907
6908// SetBotVersion sets the BotVersion field's value.
6909func (s *BuildBotLocaleInput) SetBotVersion(v string) *BuildBotLocaleInput {
6910	s.BotVersion = &v
6911	return s
6912}
6913
6914// SetLocaleId sets the LocaleId field's value.
6915func (s *BuildBotLocaleInput) SetLocaleId(v string) *BuildBotLocaleInput {
6916	s.LocaleId = &v
6917	return s
6918}
6919
6920type BuildBotLocaleOutput struct {
6921	_ struct{} `type:"structure"`
6922
6923	// The identifier of the specified bot.
6924	BotId *string `locationName:"botId" min:"10" type:"string"`
6925
6926	// The bot's build status. When the status is ReadyExpressTesting you can test
6927	// the bot using the utterances defined for the intents and slot types. When
6928	// the status is Built, the bot is ready for use and can be tested using any
6929	// utterance.
6930	BotLocaleStatus *string `locationName:"botLocaleStatus" type:"string" enum:"BotLocaleStatus"`
6931
6932	// The version of the bot that was built. This is only the draft version of
6933	// the bot.
6934	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
6935
6936	// A timestamp indicating the date and time that the bot was last built for
6937	// this locale.
6938	LastBuildSubmittedDateTime *time.Time `locationName:"lastBuildSubmittedDateTime" type:"timestamp"`
6939
6940	// The language and locale specified of where the bot can be used.
6941	LocaleId *string `locationName:"localeId" type:"string"`
6942}
6943
6944// String returns the string representation
6945func (s BuildBotLocaleOutput) String() string {
6946	return awsutil.Prettify(s)
6947}
6948
6949// GoString returns the string representation
6950func (s BuildBotLocaleOutput) GoString() string {
6951	return s.String()
6952}
6953
6954// SetBotId sets the BotId field's value.
6955func (s *BuildBotLocaleOutput) SetBotId(v string) *BuildBotLocaleOutput {
6956	s.BotId = &v
6957	return s
6958}
6959
6960// SetBotLocaleStatus sets the BotLocaleStatus field's value.
6961func (s *BuildBotLocaleOutput) SetBotLocaleStatus(v string) *BuildBotLocaleOutput {
6962	s.BotLocaleStatus = &v
6963	return s
6964}
6965
6966// SetBotVersion sets the BotVersion field's value.
6967func (s *BuildBotLocaleOutput) SetBotVersion(v string) *BuildBotLocaleOutput {
6968	s.BotVersion = &v
6969	return s
6970}
6971
6972// SetLastBuildSubmittedDateTime sets the LastBuildSubmittedDateTime field's value.
6973func (s *BuildBotLocaleOutput) SetLastBuildSubmittedDateTime(v time.Time) *BuildBotLocaleOutput {
6974	s.LastBuildSubmittedDateTime = &v
6975	return s
6976}
6977
6978// SetLocaleId sets the LocaleId field's value.
6979func (s *BuildBotLocaleOutput) SetLocaleId(v string) *BuildBotLocaleOutput {
6980	s.LocaleId = &v
6981	return s
6982}
6983
6984// Specifies attributes for sorting a list of built-in intents.
6985type BuiltInIntentSortBy struct {
6986	_ struct{} `type:"structure"`
6987
6988	// The attribute to use to sort the list of built-in intents.
6989	//
6990	// Attribute is a required field
6991	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"BuiltInIntentSortAttribute"`
6992
6993	// The order to sort the list. You can specify ascending or descending order.
6994	//
6995	// Order is a required field
6996	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
6997}
6998
6999// String returns the string representation
7000func (s BuiltInIntentSortBy) String() string {
7001	return awsutil.Prettify(s)
7002}
7003
7004// GoString returns the string representation
7005func (s BuiltInIntentSortBy) GoString() string {
7006	return s.String()
7007}
7008
7009// Validate inspects the fields of the type to determine if they are valid.
7010func (s *BuiltInIntentSortBy) Validate() error {
7011	invalidParams := request.ErrInvalidParams{Context: "BuiltInIntentSortBy"}
7012	if s.Attribute == nil {
7013		invalidParams.Add(request.NewErrParamRequired("Attribute"))
7014	}
7015	if s.Order == nil {
7016		invalidParams.Add(request.NewErrParamRequired("Order"))
7017	}
7018
7019	if invalidParams.Len() > 0 {
7020		return invalidParams
7021	}
7022	return nil
7023}
7024
7025// SetAttribute sets the Attribute field's value.
7026func (s *BuiltInIntentSortBy) SetAttribute(v string) *BuiltInIntentSortBy {
7027	s.Attribute = &v
7028	return s
7029}
7030
7031// SetOrder sets the Order field's value.
7032func (s *BuiltInIntentSortBy) SetOrder(v string) *BuiltInIntentSortBy {
7033	s.Order = &v
7034	return s
7035}
7036
7037// Provides summary information about a built-in intent for the ListBuiltInIntents
7038// operation.
7039type BuiltInIntentSummary struct {
7040	_ struct{} `type:"structure"`
7041
7042	// The description of the intent.
7043	Description *string `locationName:"description" type:"string"`
7044
7045	// The signature of the built-in intent. Use this to specify the parent intent
7046	// of a derived intent.
7047	IntentSignature *string `locationName:"intentSignature" type:"string"`
7048}
7049
7050// String returns the string representation
7051func (s BuiltInIntentSummary) String() string {
7052	return awsutil.Prettify(s)
7053}
7054
7055// GoString returns the string representation
7056func (s BuiltInIntentSummary) GoString() string {
7057	return s.String()
7058}
7059
7060// SetDescription sets the Description field's value.
7061func (s *BuiltInIntentSummary) SetDescription(v string) *BuiltInIntentSummary {
7062	s.Description = &v
7063	return s
7064}
7065
7066// SetIntentSignature sets the IntentSignature field's value.
7067func (s *BuiltInIntentSummary) SetIntentSignature(v string) *BuiltInIntentSummary {
7068	s.IntentSignature = &v
7069	return s
7070}
7071
7072// Specifies attributes for sorting a list of built-in slot types.
7073type BuiltInSlotTypeSortBy struct {
7074	_ struct{} `type:"structure"`
7075
7076	// The attribute to use to sort the list of built-in intents.
7077	//
7078	// Attribute is a required field
7079	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"BuiltInSlotTypeSortAttribute"`
7080
7081	// The order to sort the list. You can choose ascending or descending.
7082	//
7083	// Order is a required field
7084	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
7085}
7086
7087// String returns the string representation
7088func (s BuiltInSlotTypeSortBy) String() string {
7089	return awsutil.Prettify(s)
7090}
7091
7092// GoString returns the string representation
7093func (s BuiltInSlotTypeSortBy) GoString() string {
7094	return s.String()
7095}
7096
7097// Validate inspects the fields of the type to determine if they are valid.
7098func (s *BuiltInSlotTypeSortBy) Validate() error {
7099	invalidParams := request.ErrInvalidParams{Context: "BuiltInSlotTypeSortBy"}
7100	if s.Attribute == nil {
7101		invalidParams.Add(request.NewErrParamRequired("Attribute"))
7102	}
7103	if s.Order == nil {
7104		invalidParams.Add(request.NewErrParamRequired("Order"))
7105	}
7106
7107	if invalidParams.Len() > 0 {
7108		return invalidParams
7109	}
7110	return nil
7111}
7112
7113// SetAttribute sets the Attribute field's value.
7114func (s *BuiltInSlotTypeSortBy) SetAttribute(v string) *BuiltInSlotTypeSortBy {
7115	s.Attribute = &v
7116	return s
7117}
7118
7119// SetOrder sets the Order field's value.
7120func (s *BuiltInSlotTypeSortBy) SetOrder(v string) *BuiltInSlotTypeSortBy {
7121	s.Order = &v
7122	return s
7123}
7124
7125// Provides summary information about a built-in slot type for the ListBuiltInSlotTypes
7126// operation.
7127type BuiltInSlotTypeSummary struct {
7128	_ struct{} `type:"structure"`
7129
7130	// The description of the built-in slot type.
7131	Description *string `locationName:"description" type:"string"`
7132
7133	// The signature of the built-in slot type. Use this to specify the parent slot
7134	// type of a derived slot type.
7135	SlotTypeSignature *string `locationName:"slotTypeSignature" type:"string"`
7136}
7137
7138// String returns the string representation
7139func (s BuiltInSlotTypeSummary) String() string {
7140	return awsutil.Prettify(s)
7141}
7142
7143// GoString returns the string representation
7144func (s BuiltInSlotTypeSummary) GoString() string {
7145	return s.String()
7146}
7147
7148// SetDescription sets the Description field's value.
7149func (s *BuiltInSlotTypeSummary) SetDescription(v string) *BuiltInSlotTypeSummary {
7150	s.Description = &v
7151	return s
7152}
7153
7154// SetSlotTypeSignature sets the SlotTypeSignature field's value.
7155func (s *BuiltInSlotTypeSummary) SetSlotTypeSignature(v string) *BuiltInSlotTypeSummary {
7156	s.SlotTypeSignature = &v
7157	return s
7158}
7159
7160// Describes a button to use on a response card used to gather slot values from
7161// a user.
7162type Button struct {
7163	_ struct{} `type:"structure"`
7164
7165	// The text that appears on the button. Use this to tell the user what value
7166	// is returned when they choose this button.
7167	//
7168	// Text is a required field
7169	Text *string `locationName:"text" min:"1" type:"string" required:"true"`
7170
7171	// The value returned to Amazon Lex when the user chooses this button. This
7172	// must be one of the slot values configured for the slot.
7173	//
7174	// Value is a required field
7175	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
7176}
7177
7178// String returns the string representation
7179func (s Button) String() string {
7180	return awsutil.Prettify(s)
7181}
7182
7183// GoString returns the string representation
7184func (s Button) GoString() string {
7185	return s.String()
7186}
7187
7188// Validate inspects the fields of the type to determine if they are valid.
7189func (s *Button) Validate() error {
7190	invalidParams := request.ErrInvalidParams{Context: "Button"}
7191	if s.Text == nil {
7192		invalidParams.Add(request.NewErrParamRequired("Text"))
7193	}
7194	if s.Text != nil && len(*s.Text) < 1 {
7195		invalidParams.Add(request.NewErrParamMinLen("Text", 1))
7196	}
7197	if s.Value == nil {
7198		invalidParams.Add(request.NewErrParamRequired("Value"))
7199	}
7200	if s.Value != nil && len(*s.Value) < 1 {
7201		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
7202	}
7203
7204	if invalidParams.Len() > 0 {
7205		return invalidParams
7206	}
7207	return nil
7208}
7209
7210// SetText sets the Text field's value.
7211func (s *Button) SetText(v string) *Button {
7212	s.Text = &v
7213	return s
7214}
7215
7216// SetValue sets the Value field's value.
7217func (s *Button) SetValue(v string) *Button {
7218	s.Value = &v
7219	return s
7220}
7221
7222// The Amazon CloudWatch Logs log group where the text and metadata logs are
7223// delivered. The log group must exist before you enable logging.
7224type CloudWatchLogGroupLogDestination struct {
7225	_ struct{} `type:"structure"`
7226
7227	// The Amazon Resource Name (ARN) of the log group where text and metadata logs
7228	// are delivered.
7229	//
7230	// CloudWatchLogGroupArn is a required field
7231	CloudWatchLogGroupArn *string `locationName:"cloudWatchLogGroupArn" min:"1" type:"string" required:"true"`
7232
7233	// The prefix of the log stream name within the log group that you specified
7234	//
7235	// LogPrefix is a required field
7236	LogPrefix *string `locationName:"logPrefix" type:"string" required:"true"`
7237}
7238
7239// String returns the string representation
7240func (s CloudWatchLogGroupLogDestination) String() string {
7241	return awsutil.Prettify(s)
7242}
7243
7244// GoString returns the string representation
7245func (s CloudWatchLogGroupLogDestination) GoString() string {
7246	return s.String()
7247}
7248
7249// Validate inspects the fields of the type to determine if they are valid.
7250func (s *CloudWatchLogGroupLogDestination) Validate() error {
7251	invalidParams := request.ErrInvalidParams{Context: "CloudWatchLogGroupLogDestination"}
7252	if s.CloudWatchLogGroupArn == nil {
7253		invalidParams.Add(request.NewErrParamRequired("CloudWatchLogGroupArn"))
7254	}
7255	if s.CloudWatchLogGroupArn != nil && len(*s.CloudWatchLogGroupArn) < 1 {
7256		invalidParams.Add(request.NewErrParamMinLen("CloudWatchLogGroupArn", 1))
7257	}
7258	if s.LogPrefix == nil {
7259		invalidParams.Add(request.NewErrParamRequired("LogPrefix"))
7260	}
7261
7262	if invalidParams.Len() > 0 {
7263		return invalidParams
7264	}
7265	return nil
7266}
7267
7268// SetCloudWatchLogGroupArn sets the CloudWatchLogGroupArn field's value.
7269func (s *CloudWatchLogGroupLogDestination) SetCloudWatchLogGroupArn(v string) *CloudWatchLogGroupLogDestination {
7270	s.CloudWatchLogGroupArn = &v
7271	return s
7272}
7273
7274// SetLogPrefix sets the LogPrefix field's value.
7275func (s *CloudWatchLogGroupLogDestination) SetLogPrefix(v string) *CloudWatchLogGroupLogDestination {
7276	s.LogPrefix = &v
7277	return s
7278}
7279
7280// Contains information about code hooks that Amazon Lex calls during a conversation.
7281type CodeHookSpecification struct {
7282	_ struct{} `type:"structure"`
7283
7284	// Specifies a Lambda function that verifies requests to a bot or fulfilles
7285	// the user's request to a bot.
7286	//
7287	// LambdaCodeHook is a required field
7288	LambdaCodeHook *LambdaCodeHook `locationName:"lambdaCodeHook" type:"structure" required:"true"`
7289}
7290
7291// String returns the string representation
7292func (s CodeHookSpecification) String() string {
7293	return awsutil.Prettify(s)
7294}
7295
7296// GoString returns the string representation
7297func (s CodeHookSpecification) GoString() string {
7298	return s.String()
7299}
7300
7301// Validate inspects the fields of the type to determine if they are valid.
7302func (s *CodeHookSpecification) Validate() error {
7303	invalidParams := request.ErrInvalidParams{Context: "CodeHookSpecification"}
7304	if s.LambdaCodeHook == nil {
7305		invalidParams.Add(request.NewErrParamRequired("LambdaCodeHook"))
7306	}
7307	if s.LambdaCodeHook != nil {
7308		if err := s.LambdaCodeHook.Validate(); err != nil {
7309			invalidParams.AddNested("LambdaCodeHook", err.(request.ErrInvalidParams))
7310		}
7311	}
7312
7313	if invalidParams.Len() > 0 {
7314		return invalidParams
7315	}
7316	return nil
7317}
7318
7319// SetLambdaCodeHook sets the LambdaCodeHook field's value.
7320func (s *CodeHookSpecification) SetLambdaCodeHook(v *LambdaCodeHook) *CodeHookSpecification {
7321	s.LambdaCodeHook = v
7322	return s
7323}
7324
7325type ConflictException struct {
7326	_            struct{}                  `type:"structure"`
7327	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7328
7329	Message_ *string `locationName:"message" type:"string"`
7330}
7331
7332// String returns the string representation
7333func (s ConflictException) String() string {
7334	return awsutil.Prettify(s)
7335}
7336
7337// GoString returns the string representation
7338func (s ConflictException) GoString() string {
7339	return s.String()
7340}
7341
7342func newErrorConflictException(v protocol.ResponseMetadata) error {
7343	return &ConflictException{
7344		RespMetadata: v,
7345	}
7346}
7347
7348// Code returns the exception type name.
7349func (s *ConflictException) Code() string {
7350	return "ConflictException"
7351}
7352
7353// Message returns the exception's message.
7354func (s *ConflictException) Message() string {
7355	if s.Message_ != nil {
7356		return *s.Message_
7357	}
7358	return ""
7359}
7360
7361// OrigErr always returns nil, satisfies awserr.Error interface.
7362func (s *ConflictException) OrigErr() error {
7363	return nil
7364}
7365
7366func (s *ConflictException) Error() string {
7367	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7368}
7369
7370// Status code returns the HTTP status code for the request's response error.
7371func (s *ConflictException) StatusCode() int {
7372	return s.RespMetadata.StatusCode
7373}
7374
7375// RequestID returns the service's response RequestID for request.
7376func (s *ConflictException) RequestID() string {
7377	return s.RespMetadata.RequestID
7378}
7379
7380// Configures conversation logging that saves audio, text, and metadata for
7381// the conversations with your users.
7382type ConversationLogSettings struct {
7383	_ struct{} `type:"structure"`
7384
7385	// The Amazon S3 settings for logging audio to an S3 bucket.
7386	AudioLogSettings []*AudioLogSetting `locationName:"audioLogSettings" min:"1" type:"list"`
7387
7388	// The Amazon CloudWatch Logs settings for logging text and metadata.
7389	TextLogSettings []*TextLogSetting `locationName:"textLogSettings" min:"1" type:"list"`
7390}
7391
7392// String returns the string representation
7393func (s ConversationLogSettings) String() string {
7394	return awsutil.Prettify(s)
7395}
7396
7397// GoString returns the string representation
7398func (s ConversationLogSettings) GoString() string {
7399	return s.String()
7400}
7401
7402// Validate inspects the fields of the type to determine if they are valid.
7403func (s *ConversationLogSettings) Validate() error {
7404	invalidParams := request.ErrInvalidParams{Context: "ConversationLogSettings"}
7405	if s.AudioLogSettings != nil && len(s.AudioLogSettings) < 1 {
7406		invalidParams.Add(request.NewErrParamMinLen("AudioLogSettings", 1))
7407	}
7408	if s.TextLogSettings != nil && len(s.TextLogSettings) < 1 {
7409		invalidParams.Add(request.NewErrParamMinLen("TextLogSettings", 1))
7410	}
7411	if s.AudioLogSettings != nil {
7412		for i, v := range s.AudioLogSettings {
7413			if v == nil {
7414				continue
7415			}
7416			if err := v.Validate(); err != nil {
7417				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioLogSettings", i), err.(request.ErrInvalidParams))
7418			}
7419		}
7420	}
7421	if s.TextLogSettings != nil {
7422		for i, v := range s.TextLogSettings {
7423			if v == nil {
7424				continue
7425			}
7426			if err := v.Validate(); err != nil {
7427				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TextLogSettings", i), err.(request.ErrInvalidParams))
7428			}
7429		}
7430	}
7431
7432	if invalidParams.Len() > 0 {
7433		return invalidParams
7434	}
7435	return nil
7436}
7437
7438// SetAudioLogSettings sets the AudioLogSettings field's value.
7439func (s *ConversationLogSettings) SetAudioLogSettings(v []*AudioLogSetting) *ConversationLogSettings {
7440	s.AudioLogSettings = v
7441	return s
7442}
7443
7444// SetTextLogSettings sets the TextLogSettings field's value.
7445func (s *ConversationLogSettings) SetTextLogSettings(v []*TextLogSetting) *ConversationLogSettings {
7446	s.TextLogSettings = v
7447	return s
7448}
7449
7450type CreateBotAliasInput struct {
7451	_ struct{} `type:"structure"`
7452
7453	// Maps configuration information to a specific locale. You can use this parameter
7454	// to specify a specific Lambda function to run different functions in different
7455	// locales.
7456	BotAliasLocaleSettings map[string]*BotAliasLocaleSettings `locationName:"botAliasLocaleSettings" min:"1" type:"map"`
7457
7458	// The alias to create. The name must be unique for the bot.
7459	//
7460	// BotAliasName is a required field
7461	BotAliasName *string `locationName:"botAliasName" min:"1" type:"string" required:"true"`
7462
7463	// The unique identifier of the bot that the alias applies to.
7464	//
7465	// BotId is a required field
7466	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
7467
7468	// The version of the bot that this alias points to. You can use the operation
7469	// to change the bot version associated with the alias.
7470	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
7471
7472	// Specifies whether Amazon Lex logs text and audio for a conversation with
7473	// the bot. When you enable conversation logs, text logs store text input, transcripts
7474	// of audio input, and associated metadata in Amazon CloudWatch Logs. Audio
7475	// logs store audio input in Amazon S3.
7476	ConversationLogSettings *ConversationLogSettings `locationName:"conversationLogSettings" type:"structure"`
7477
7478	// A description of the alias. Use this description to help identify the alias.
7479	Description *string `locationName:"description" type:"string"`
7480
7481	// Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment
7482	// of user utterances.
7483	SentimentAnalysisSettings *SentimentAnalysisSettings `locationName:"sentimentAnalysisSettings" type:"structure"`
7484
7485	// A list of tags to add to the bot alias. You can only add tags when you create
7486	// an alias, you can't use the UpdateBotAlias operation to update the tags on
7487	// a bot alias. To update tags, use the TagResource operation.
7488	Tags map[string]*string `locationName:"tags" type:"map"`
7489}
7490
7491// String returns the string representation
7492func (s CreateBotAliasInput) String() string {
7493	return awsutil.Prettify(s)
7494}
7495
7496// GoString returns the string representation
7497func (s CreateBotAliasInput) GoString() string {
7498	return s.String()
7499}
7500
7501// Validate inspects the fields of the type to determine if they are valid.
7502func (s *CreateBotAliasInput) Validate() error {
7503	invalidParams := request.ErrInvalidParams{Context: "CreateBotAliasInput"}
7504	if s.BotAliasLocaleSettings != nil && len(s.BotAliasLocaleSettings) < 1 {
7505		invalidParams.Add(request.NewErrParamMinLen("BotAliasLocaleSettings", 1))
7506	}
7507	if s.BotAliasName == nil {
7508		invalidParams.Add(request.NewErrParamRequired("BotAliasName"))
7509	}
7510	if s.BotAliasName != nil && len(*s.BotAliasName) < 1 {
7511		invalidParams.Add(request.NewErrParamMinLen("BotAliasName", 1))
7512	}
7513	if s.BotId == nil {
7514		invalidParams.Add(request.NewErrParamRequired("BotId"))
7515	}
7516	if s.BotId != nil && len(*s.BotId) < 10 {
7517		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
7518	}
7519	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
7520		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
7521	}
7522	if s.BotAliasLocaleSettings != nil {
7523		for i, v := range s.BotAliasLocaleSettings {
7524			if v == nil {
7525				continue
7526			}
7527			if err := v.Validate(); err != nil {
7528				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BotAliasLocaleSettings", i), err.(request.ErrInvalidParams))
7529			}
7530		}
7531	}
7532	if s.ConversationLogSettings != nil {
7533		if err := s.ConversationLogSettings.Validate(); err != nil {
7534			invalidParams.AddNested("ConversationLogSettings", err.(request.ErrInvalidParams))
7535		}
7536	}
7537	if s.SentimentAnalysisSettings != nil {
7538		if err := s.SentimentAnalysisSettings.Validate(); err != nil {
7539			invalidParams.AddNested("SentimentAnalysisSettings", err.(request.ErrInvalidParams))
7540		}
7541	}
7542
7543	if invalidParams.Len() > 0 {
7544		return invalidParams
7545	}
7546	return nil
7547}
7548
7549// SetBotAliasLocaleSettings sets the BotAliasLocaleSettings field's value.
7550func (s *CreateBotAliasInput) SetBotAliasLocaleSettings(v map[string]*BotAliasLocaleSettings) *CreateBotAliasInput {
7551	s.BotAliasLocaleSettings = v
7552	return s
7553}
7554
7555// SetBotAliasName sets the BotAliasName field's value.
7556func (s *CreateBotAliasInput) SetBotAliasName(v string) *CreateBotAliasInput {
7557	s.BotAliasName = &v
7558	return s
7559}
7560
7561// SetBotId sets the BotId field's value.
7562func (s *CreateBotAliasInput) SetBotId(v string) *CreateBotAliasInput {
7563	s.BotId = &v
7564	return s
7565}
7566
7567// SetBotVersion sets the BotVersion field's value.
7568func (s *CreateBotAliasInput) SetBotVersion(v string) *CreateBotAliasInput {
7569	s.BotVersion = &v
7570	return s
7571}
7572
7573// SetConversationLogSettings sets the ConversationLogSettings field's value.
7574func (s *CreateBotAliasInput) SetConversationLogSettings(v *ConversationLogSettings) *CreateBotAliasInput {
7575	s.ConversationLogSettings = v
7576	return s
7577}
7578
7579// SetDescription sets the Description field's value.
7580func (s *CreateBotAliasInput) SetDescription(v string) *CreateBotAliasInput {
7581	s.Description = &v
7582	return s
7583}
7584
7585// SetSentimentAnalysisSettings sets the SentimentAnalysisSettings field's value.
7586func (s *CreateBotAliasInput) SetSentimentAnalysisSettings(v *SentimentAnalysisSettings) *CreateBotAliasInput {
7587	s.SentimentAnalysisSettings = v
7588	return s
7589}
7590
7591// SetTags sets the Tags field's value.
7592func (s *CreateBotAliasInput) SetTags(v map[string]*string) *CreateBotAliasInput {
7593	s.Tags = v
7594	return s
7595}
7596
7597type CreateBotAliasOutput struct {
7598	_ struct{} `type:"structure"`
7599
7600	// The unique identifier of the bot alias.
7601	BotAliasId *string `locationName:"botAliasId" min:"10" type:"string"`
7602
7603	// Configuration information for a specific locale.
7604	BotAliasLocaleSettings map[string]*BotAliasLocaleSettings `locationName:"botAliasLocaleSettings" min:"1" type:"map"`
7605
7606	// The name specified for the bot alias.
7607	BotAliasName *string `locationName:"botAliasName" min:"1" type:"string"`
7608
7609	// The current status of the alias. The alias is first put into the Creating
7610	// state. When the alias is ready to be used, it is put into the Available state.
7611	// You can use the DescribeBotAlias operation to get the current state of an
7612	// alias.
7613	BotAliasStatus *string `locationName:"botAliasStatus" type:"string" enum:"BotAliasStatus"`
7614
7615	// The unique identifier of the bot that this alias applies to.
7616	BotId *string `locationName:"botId" min:"10" type:"string"`
7617
7618	// The version of the bot associated with this alias.
7619	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
7620
7621	// The conversation log settings specified for the alias.
7622	ConversationLogSettings *ConversationLogSettings `locationName:"conversationLogSettings" type:"structure"`
7623
7624	// A Unix timestamp indicating the date and time that the bot alias was created.
7625	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
7626
7627	// The description specified for the bot alias.
7628	Description *string `locationName:"description" type:"string"`
7629
7630	// Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment
7631	// of user utterances.
7632	SentimentAnalysisSettings *SentimentAnalysisSettings `locationName:"sentimentAnalysisSettings" type:"structure"`
7633
7634	// A list of tags associated with the bot alias.
7635	Tags map[string]*string `locationName:"tags" type:"map"`
7636}
7637
7638// String returns the string representation
7639func (s CreateBotAliasOutput) String() string {
7640	return awsutil.Prettify(s)
7641}
7642
7643// GoString returns the string representation
7644func (s CreateBotAliasOutput) GoString() string {
7645	return s.String()
7646}
7647
7648// SetBotAliasId sets the BotAliasId field's value.
7649func (s *CreateBotAliasOutput) SetBotAliasId(v string) *CreateBotAliasOutput {
7650	s.BotAliasId = &v
7651	return s
7652}
7653
7654// SetBotAliasLocaleSettings sets the BotAliasLocaleSettings field's value.
7655func (s *CreateBotAliasOutput) SetBotAliasLocaleSettings(v map[string]*BotAliasLocaleSettings) *CreateBotAliasOutput {
7656	s.BotAliasLocaleSettings = v
7657	return s
7658}
7659
7660// SetBotAliasName sets the BotAliasName field's value.
7661func (s *CreateBotAliasOutput) SetBotAliasName(v string) *CreateBotAliasOutput {
7662	s.BotAliasName = &v
7663	return s
7664}
7665
7666// SetBotAliasStatus sets the BotAliasStatus field's value.
7667func (s *CreateBotAliasOutput) SetBotAliasStatus(v string) *CreateBotAliasOutput {
7668	s.BotAliasStatus = &v
7669	return s
7670}
7671
7672// SetBotId sets the BotId field's value.
7673func (s *CreateBotAliasOutput) SetBotId(v string) *CreateBotAliasOutput {
7674	s.BotId = &v
7675	return s
7676}
7677
7678// SetBotVersion sets the BotVersion field's value.
7679func (s *CreateBotAliasOutput) SetBotVersion(v string) *CreateBotAliasOutput {
7680	s.BotVersion = &v
7681	return s
7682}
7683
7684// SetConversationLogSettings sets the ConversationLogSettings field's value.
7685func (s *CreateBotAliasOutput) SetConversationLogSettings(v *ConversationLogSettings) *CreateBotAliasOutput {
7686	s.ConversationLogSettings = v
7687	return s
7688}
7689
7690// SetCreationDateTime sets the CreationDateTime field's value.
7691func (s *CreateBotAliasOutput) SetCreationDateTime(v time.Time) *CreateBotAliasOutput {
7692	s.CreationDateTime = &v
7693	return s
7694}
7695
7696// SetDescription sets the Description field's value.
7697func (s *CreateBotAliasOutput) SetDescription(v string) *CreateBotAliasOutput {
7698	s.Description = &v
7699	return s
7700}
7701
7702// SetSentimentAnalysisSettings sets the SentimentAnalysisSettings field's value.
7703func (s *CreateBotAliasOutput) SetSentimentAnalysisSettings(v *SentimentAnalysisSettings) *CreateBotAliasOutput {
7704	s.SentimentAnalysisSettings = v
7705	return s
7706}
7707
7708// SetTags sets the Tags field's value.
7709func (s *CreateBotAliasOutput) SetTags(v map[string]*string) *CreateBotAliasOutput {
7710	s.Tags = v
7711	return s
7712}
7713
7714type CreateBotInput struct {
7715	_ struct{} `type:"structure"`
7716
7717	// The name of the bot. The bot name must be unique in the account that creates
7718	// the bot.
7719	//
7720	// BotName is a required field
7721	BotName *string `locationName:"botName" min:"1" type:"string" required:"true"`
7722
7723	// A list of tags to add to the bot. You can only add tags when you create a
7724	// bot. You can't use the UpdateBot operation to update tags. To update tags,
7725	// use the TagResource operation.
7726	BotTags map[string]*string `locationName:"botTags" type:"map"`
7727
7728	// Provides information on additional privacy protections Amazon Lex should
7729	// use with the bot's data.
7730	//
7731	// DataPrivacy is a required field
7732	DataPrivacy *DataPrivacy `locationName:"dataPrivacy" type:"structure" required:"true"`
7733
7734	// A description of the bot. It appears in lists to help you identify a particular
7735	// bot.
7736	Description *string `locationName:"description" type:"string"`
7737
7738	// The time, in seconds, that Amazon Lex should keep information about a user's
7739	// conversation with the bot.
7740	//
7741	// A user interaction remains active for the amount of time specified. If no
7742	// conversation occurs during this time, the session expires and Amazon Lex
7743	// deletes any data provided before the timeout.
7744	//
7745	// You can specify between 60 (1 minute) and 86,400 (24 hours) seconds.
7746	//
7747	// IdleSessionTTLInSeconds is a required field
7748	IdleSessionTTLInSeconds *int64 `locationName:"idleSessionTTLInSeconds" min:"60" type:"integer" required:"true"`
7749
7750	// The Amazon Resource Name (ARN) of an IAM role that has permission to access
7751	// the bot.
7752	//
7753	// RoleArn is a required field
7754	RoleArn *string `locationName:"roleArn" min:"32" type:"string" required:"true"`
7755
7756	// A list of tags to add to the test alias for a bot. You can only add tags
7757	// when you create a bot. You can't use the UpdateAlias operation to update
7758	// tags. To update tags on the test alias, use the TagResource operation.
7759	TestBotAliasTags map[string]*string `locationName:"testBotAliasTags" type:"map"`
7760}
7761
7762// String returns the string representation
7763func (s CreateBotInput) String() string {
7764	return awsutil.Prettify(s)
7765}
7766
7767// GoString returns the string representation
7768func (s CreateBotInput) GoString() string {
7769	return s.String()
7770}
7771
7772// Validate inspects the fields of the type to determine if they are valid.
7773func (s *CreateBotInput) Validate() error {
7774	invalidParams := request.ErrInvalidParams{Context: "CreateBotInput"}
7775	if s.BotName == nil {
7776		invalidParams.Add(request.NewErrParamRequired("BotName"))
7777	}
7778	if s.BotName != nil && len(*s.BotName) < 1 {
7779		invalidParams.Add(request.NewErrParamMinLen("BotName", 1))
7780	}
7781	if s.DataPrivacy == nil {
7782		invalidParams.Add(request.NewErrParamRequired("DataPrivacy"))
7783	}
7784	if s.IdleSessionTTLInSeconds == nil {
7785		invalidParams.Add(request.NewErrParamRequired("IdleSessionTTLInSeconds"))
7786	}
7787	if s.IdleSessionTTLInSeconds != nil && *s.IdleSessionTTLInSeconds < 60 {
7788		invalidParams.Add(request.NewErrParamMinValue("IdleSessionTTLInSeconds", 60))
7789	}
7790	if s.RoleArn == nil {
7791		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
7792	}
7793	if s.RoleArn != nil && len(*s.RoleArn) < 32 {
7794		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 32))
7795	}
7796	if s.DataPrivacy != nil {
7797		if err := s.DataPrivacy.Validate(); err != nil {
7798			invalidParams.AddNested("DataPrivacy", err.(request.ErrInvalidParams))
7799		}
7800	}
7801
7802	if invalidParams.Len() > 0 {
7803		return invalidParams
7804	}
7805	return nil
7806}
7807
7808// SetBotName sets the BotName field's value.
7809func (s *CreateBotInput) SetBotName(v string) *CreateBotInput {
7810	s.BotName = &v
7811	return s
7812}
7813
7814// SetBotTags sets the BotTags field's value.
7815func (s *CreateBotInput) SetBotTags(v map[string]*string) *CreateBotInput {
7816	s.BotTags = v
7817	return s
7818}
7819
7820// SetDataPrivacy sets the DataPrivacy field's value.
7821func (s *CreateBotInput) SetDataPrivacy(v *DataPrivacy) *CreateBotInput {
7822	s.DataPrivacy = v
7823	return s
7824}
7825
7826// SetDescription sets the Description field's value.
7827func (s *CreateBotInput) SetDescription(v string) *CreateBotInput {
7828	s.Description = &v
7829	return s
7830}
7831
7832// SetIdleSessionTTLInSeconds sets the IdleSessionTTLInSeconds field's value.
7833func (s *CreateBotInput) SetIdleSessionTTLInSeconds(v int64) *CreateBotInput {
7834	s.IdleSessionTTLInSeconds = &v
7835	return s
7836}
7837
7838// SetRoleArn sets the RoleArn field's value.
7839func (s *CreateBotInput) SetRoleArn(v string) *CreateBotInput {
7840	s.RoleArn = &v
7841	return s
7842}
7843
7844// SetTestBotAliasTags sets the TestBotAliasTags field's value.
7845func (s *CreateBotInput) SetTestBotAliasTags(v map[string]*string) *CreateBotInput {
7846	s.TestBotAliasTags = v
7847	return s
7848}
7849
7850type CreateBotLocaleInput struct {
7851	_ struct{} `type:"structure"`
7852
7853	// The identifier of the bot to create the locale for.
7854	//
7855	// BotId is a required field
7856	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
7857
7858	// The version of the bot to create the locale for. This can only be the draft
7859	// version of the bot.
7860	//
7861	// BotVersion is a required field
7862	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
7863
7864	// A description of the bot locale. Use this to help identify the bot locale
7865	// in lists.
7866	Description *string `locationName:"description" type:"string"`
7867
7868	// The identifier of the language and locale that the bot will be used in. The
7869	// string must match one of the supported locales. All of the intents, slot
7870	// types, and slots used in the bot must have the same locale. For more information,
7871	// see Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
7872	//
7873	// LocaleId is a required field
7874	LocaleId *string `locationName:"localeId" type:"string" required:"true"`
7875
7876	// Determines the threshold where Amazon Lex will insert the AMAZON.FallbackIntent,
7877	// AMAZON.KendraSearchIntent, or both when returning alternative intents. AMAZON.FallbackIntent
7878	// and AMAZON.KendraSearchIntent are only inserted if they are configured for
7879	// the bot.
7880	//
7881	// For example, suppose a bot is configured with the confidence threshold of
7882	// 0.80 and the AMAZON.FallbackIntent. Amazon Lex returns three alternative
7883	// intents with the following confidence scores: IntentA (0.70), IntentB (0.60),
7884	// IntentC (0.50). The response from the PostText operation would be:
7885	//
7886	//    * AMAZON.FallbackIntent
7887	//
7888	//    * IntentA
7889	//
7890	//    * IntentB
7891	//
7892	//    * IntentC
7893	//
7894	// NluIntentConfidenceThreshold is a required field
7895	NluIntentConfidenceThreshold *float64 `locationName:"nluIntentConfidenceThreshold" type:"double" required:"true"`
7896
7897	// The Amazon Polly voice ID that Amazon Lex uses for voice interaction with
7898	// the user.
7899	VoiceSettings *VoiceSettings `locationName:"voiceSettings" type:"structure"`
7900}
7901
7902// String returns the string representation
7903func (s CreateBotLocaleInput) String() string {
7904	return awsutil.Prettify(s)
7905}
7906
7907// GoString returns the string representation
7908func (s CreateBotLocaleInput) GoString() string {
7909	return s.String()
7910}
7911
7912// Validate inspects the fields of the type to determine if they are valid.
7913func (s *CreateBotLocaleInput) Validate() error {
7914	invalidParams := request.ErrInvalidParams{Context: "CreateBotLocaleInput"}
7915	if s.BotId == nil {
7916		invalidParams.Add(request.NewErrParamRequired("BotId"))
7917	}
7918	if s.BotId != nil && len(*s.BotId) < 10 {
7919		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
7920	}
7921	if s.BotVersion == nil {
7922		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
7923	}
7924	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
7925		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
7926	}
7927	if s.LocaleId == nil {
7928		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
7929	}
7930	if s.NluIntentConfidenceThreshold == nil {
7931		invalidParams.Add(request.NewErrParamRequired("NluIntentConfidenceThreshold"))
7932	}
7933	if s.VoiceSettings != nil {
7934		if err := s.VoiceSettings.Validate(); err != nil {
7935			invalidParams.AddNested("VoiceSettings", err.(request.ErrInvalidParams))
7936		}
7937	}
7938
7939	if invalidParams.Len() > 0 {
7940		return invalidParams
7941	}
7942	return nil
7943}
7944
7945// SetBotId sets the BotId field's value.
7946func (s *CreateBotLocaleInput) SetBotId(v string) *CreateBotLocaleInput {
7947	s.BotId = &v
7948	return s
7949}
7950
7951// SetBotVersion sets the BotVersion field's value.
7952func (s *CreateBotLocaleInput) SetBotVersion(v string) *CreateBotLocaleInput {
7953	s.BotVersion = &v
7954	return s
7955}
7956
7957// SetDescription sets the Description field's value.
7958func (s *CreateBotLocaleInput) SetDescription(v string) *CreateBotLocaleInput {
7959	s.Description = &v
7960	return s
7961}
7962
7963// SetLocaleId sets the LocaleId field's value.
7964func (s *CreateBotLocaleInput) SetLocaleId(v string) *CreateBotLocaleInput {
7965	s.LocaleId = &v
7966	return s
7967}
7968
7969// SetNluIntentConfidenceThreshold sets the NluIntentConfidenceThreshold field's value.
7970func (s *CreateBotLocaleInput) SetNluIntentConfidenceThreshold(v float64) *CreateBotLocaleInput {
7971	s.NluIntentConfidenceThreshold = &v
7972	return s
7973}
7974
7975// SetVoiceSettings sets the VoiceSettings field's value.
7976func (s *CreateBotLocaleInput) SetVoiceSettings(v *VoiceSettings) *CreateBotLocaleInput {
7977	s.VoiceSettings = v
7978	return s
7979}
7980
7981type CreateBotLocaleOutput struct {
7982	_ struct{} `type:"structure"`
7983
7984	// The specified bot identifier.
7985	BotId *string `locationName:"botId" min:"10" type:"string"`
7986
7987	// The status of the bot.
7988	//
7989	// When the status is Creating the bot locale is being configured. When the
7990	// status is Building Amazon Lex is building the bot for testing and use.
7991	//
7992	// If the status of the bot is ReadyExpressTesting, you can test the bot using
7993	// the exact utterances specified in the bots' intents. When the bot is ready
7994	// for full testing or to run, the status is Built.
7995	//
7996	// If there was a problem with building the bot, the status is Failed. If the
7997	// bot was saved but not built, the status is NotBuilt.
7998	BotLocaleStatus *string `locationName:"botLocaleStatus" type:"string" enum:"BotLocaleStatus"`
7999
8000	// The specified bot version.
8001	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
8002
8003	// A timestamp specifying the date and time that the bot locale was created.
8004	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
8005
8006	// The specified description of the bot locale.
8007	Description *string `locationName:"description" type:"string"`
8008
8009	// The specified locale identifier.
8010	LocaleId *string `locationName:"localeId" type:"string"`
8011
8012	// The specified locale name.
8013	LocaleName *string `locationName:"localeName" type:"string"`
8014
8015	// The specified confidence threshold for inserting the AMAZON.FallbackIntent
8016	// and AMAZON.KendraSearchIntent intents.
8017	NluIntentConfidenceThreshold *float64 `locationName:"nluIntentConfidenceThreshold" type:"double"`
8018
8019	// The Amazon Polly voice ID that Amazon Lex uses for voice interaction with
8020	// the user.
8021	VoiceSettings *VoiceSettings `locationName:"voiceSettings" type:"structure"`
8022}
8023
8024// String returns the string representation
8025func (s CreateBotLocaleOutput) String() string {
8026	return awsutil.Prettify(s)
8027}
8028
8029// GoString returns the string representation
8030func (s CreateBotLocaleOutput) GoString() string {
8031	return s.String()
8032}
8033
8034// SetBotId sets the BotId field's value.
8035func (s *CreateBotLocaleOutput) SetBotId(v string) *CreateBotLocaleOutput {
8036	s.BotId = &v
8037	return s
8038}
8039
8040// SetBotLocaleStatus sets the BotLocaleStatus field's value.
8041func (s *CreateBotLocaleOutput) SetBotLocaleStatus(v string) *CreateBotLocaleOutput {
8042	s.BotLocaleStatus = &v
8043	return s
8044}
8045
8046// SetBotVersion sets the BotVersion field's value.
8047func (s *CreateBotLocaleOutput) SetBotVersion(v string) *CreateBotLocaleOutput {
8048	s.BotVersion = &v
8049	return s
8050}
8051
8052// SetCreationDateTime sets the CreationDateTime field's value.
8053func (s *CreateBotLocaleOutput) SetCreationDateTime(v time.Time) *CreateBotLocaleOutput {
8054	s.CreationDateTime = &v
8055	return s
8056}
8057
8058// SetDescription sets the Description field's value.
8059func (s *CreateBotLocaleOutput) SetDescription(v string) *CreateBotLocaleOutput {
8060	s.Description = &v
8061	return s
8062}
8063
8064// SetLocaleId sets the LocaleId field's value.
8065func (s *CreateBotLocaleOutput) SetLocaleId(v string) *CreateBotLocaleOutput {
8066	s.LocaleId = &v
8067	return s
8068}
8069
8070// SetLocaleName sets the LocaleName field's value.
8071func (s *CreateBotLocaleOutput) SetLocaleName(v string) *CreateBotLocaleOutput {
8072	s.LocaleName = &v
8073	return s
8074}
8075
8076// SetNluIntentConfidenceThreshold sets the NluIntentConfidenceThreshold field's value.
8077func (s *CreateBotLocaleOutput) SetNluIntentConfidenceThreshold(v float64) *CreateBotLocaleOutput {
8078	s.NluIntentConfidenceThreshold = &v
8079	return s
8080}
8081
8082// SetVoiceSettings sets the VoiceSettings field's value.
8083func (s *CreateBotLocaleOutput) SetVoiceSettings(v *VoiceSettings) *CreateBotLocaleOutput {
8084	s.VoiceSettings = v
8085	return s
8086}
8087
8088type CreateBotOutput struct {
8089	_ struct{} `type:"structure"`
8090
8091	// A unique identifier for a particular bot. You use this to identify the bot
8092	// when you call other Amazon Lex API operations.
8093	BotId *string `locationName:"botId" min:"10" type:"string"`
8094
8095	// The name specified for the bot.
8096	BotName *string `locationName:"botName" min:"1" type:"string"`
8097
8098	// Shows the current status of the bot. The bot is first in the Creating status.
8099	// Once the bot is read for use, it changes to the Available status. After the
8100	// bot is created, you can use the Draft version of the bot.
8101	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
8102
8103	// A list of tags associated with the bot.
8104	BotTags map[string]*string `locationName:"botTags" type:"map"`
8105
8106	// A timestamp indicating the date and time that the bot was created.
8107	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
8108
8109	// The data privacy settings specified for the bot.
8110	DataPrivacy *DataPrivacy `locationName:"dataPrivacy" type:"structure"`
8111
8112	// The description specified for the bot.
8113	Description *string `locationName:"description" type:"string"`
8114
8115	// The session idle time specified for the bot.
8116	IdleSessionTTLInSeconds *int64 `locationName:"idleSessionTTLInSeconds" min:"60" type:"integer"`
8117
8118	// The IAM role specified for the bot.
8119	RoleArn *string `locationName:"roleArn" min:"32" type:"string"`
8120
8121	// A list of tags associated with the test alias for the bot.
8122	TestBotAliasTags map[string]*string `locationName:"testBotAliasTags" type:"map"`
8123}
8124
8125// String returns the string representation
8126func (s CreateBotOutput) String() string {
8127	return awsutil.Prettify(s)
8128}
8129
8130// GoString returns the string representation
8131func (s CreateBotOutput) GoString() string {
8132	return s.String()
8133}
8134
8135// SetBotId sets the BotId field's value.
8136func (s *CreateBotOutput) SetBotId(v string) *CreateBotOutput {
8137	s.BotId = &v
8138	return s
8139}
8140
8141// SetBotName sets the BotName field's value.
8142func (s *CreateBotOutput) SetBotName(v string) *CreateBotOutput {
8143	s.BotName = &v
8144	return s
8145}
8146
8147// SetBotStatus sets the BotStatus field's value.
8148func (s *CreateBotOutput) SetBotStatus(v string) *CreateBotOutput {
8149	s.BotStatus = &v
8150	return s
8151}
8152
8153// SetBotTags sets the BotTags field's value.
8154func (s *CreateBotOutput) SetBotTags(v map[string]*string) *CreateBotOutput {
8155	s.BotTags = v
8156	return s
8157}
8158
8159// SetCreationDateTime sets the CreationDateTime field's value.
8160func (s *CreateBotOutput) SetCreationDateTime(v time.Time) *CreateBotOutput {
8161	s.CreationDateTime = &v
8162	return s
8163}
8164
8165// SetDataPrivacy sets the DataPrivacy field's value.
8166func (s *CreateBotOutput) SetDataPrivacy(v *DataPrivacy) *CreateBotOutput {
8167	s.DataPrivacy = v
8168	return s
8169}
8170
8171// SetDescription sets the Description field's value.
8172func (s *CreateBotOutput) SetDescription(v string) *CreateBotOutput {
8173	s.Description = &v
8174	return s
8175}
8176
8177// SetIdleSessionTTLInSeconds sets the IdleSessionTTLInSeconds field's value.
8178func (s *CreateBotOutput) SetIdleSessionTTLInSeconds(v int64) *CreateBotOutput {
8179	s.IdleSessionTTLInSeconds = &v
8180	return s
8181}
8182
8183// SetRoleArn sets the RoleArn field's value.
8184func (s *CreateBotOutput) SetRoleArn(v string) *CreateBotOutput {
8185	s.RoleArn = &v
8186	return s
8187}
8188
8189// SetTestBotAliasTags sets the TestBotAliasTags field's value.
8190func (s *CreateBotOutput) SetTestBotAliasTags(v map[string]*string) *CreateBotOutput {
8191	s.TestBotAliasTags = v
8192	return s
8193}
8194
8195type CreateBotVersionInput struct {
8196	_ struct{} `type:"structure"`
8197
8198	// The identifier of the bot to create the version for.
8199	//
8200	// BotId is a required field
8201	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
8202
8203	// Specifies the locales that Amazon Lex adds to this version. You can choose
8204	// the Draft version or any other previously published version for each locale.
8205	// When you specify a source version, the locale data is copied from the source
8206	// version to the new version.
8207	//
8208	// BotVersionLocaleSpecification is a required field
8209	BotVersionLocaleSpecification map[string]*BotVersionLocaleDetails `locationName:"botVersionLocaleSpecification" min:"1" type:"map" required:"true"`
8210
8211	// A description of the version. Use the description to help identify the version
8212	// in lists.
8213	Description *string `locationName:"description" type:"string"`
8214}
8215
8216// String returns the string representation
8217func (s CreateBotVersionInput) String() string {
8218	return awsutil.Prettify(s)
8219}
8220
8221// GoString returns the string representation
8222func (s CreateBotVersionInput) GoString() string {
8223	return s.String()
8224}
8225
8226// Validate inspects the fields of the type to determine if they are valid.
8227func (s *CreateBotVersionInput) Validate() error {
8228	invalidParams := request.ErrInvalidParams{Context: "CreateBotVersionInput"}
8229	if s.BotId == nil {
8230		invalidParams.Add(request.NewErrParamRequired("BotId"))
8231	}
8232	if s.BotId != nil && len(*s.BotId) < 10 {
8233		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
8234	}
8235	if s.BotVersionLocaleSpecification == nil {
8236		invalidParams.Add(request.NewErrParamRequired("BotVersionLocaleSpecification"))
8237	}
8238	if s.BotVersionLocaleSpecification != nil && len(s.BotVersionLocaleSpecification) < 1 {
8239		invalidParams.Add(request.NewErrParamMinLen("BotVersionLocaleSpecification", 1))
8240	}
8241	if s.BotVersionLocaleSpecification != nil {
8242		for i, v := range s.BotVersionLocaleSpecification {
8243			if v == nil {
8244				continue
8245			}
8246			if err := v.Validate(); err != nil {
8247				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BotVersionLocaleSpecification", i), err.(request.ErrInvalidParams))
8248			}
8249		}
8250	}
8251
8252	if invalidParams.Len() > 0 {
8253		return invalidParams
8254	}
8255	return nil
8256}
8257
8258// SetBotId sets the BotId field's value.
8259func (s *CreateBotVersionInput) SetBotId(v string) *CreateBotVersionInput {
8260	s.BotId = &v
8261	return s
8262}
8263
8264// SetBotVersionLocaleSpecification sets the BotVersionLocaleSpecification field's value.
8265func (s *CreateBotVersionInput) SetBotVersionLocaleSpecification(v map[string]*BotVersionLocaleDetails) *CreateBotVersionInput {
8266	s.BotVersionLocaleSpecification = v
8267	return s
8268}
8269
8270// SetDescription sets the Description field's value.
8271func (s *CreateBotVersionInput) SetDescription(v string) *CreateBotVersionInput {
8272	s.Description = &v
8273	return s
8274}
8275
8276type CreateBotVersionOutput struct {
8277	_ struct{} `type:"structure"`
8278
8279	// The bot identifier specified in the request.
8280	BotId *string `locationName:"botId" min:"10" type:"string"`
8281
8282	// When you send a request to create or update a bot, Amazon Lex sets the status
8283	// response element to Creating. After Amazon Lex builds the bot, it sets status
8284	// to Available. If Amazon Lex can't build the bot, it sets status to Failed.
8285	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
8286
8287	// The version number assigned to the version.
8288	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
8289
8290	// The source versions used for each locale in the new version.
8291	BotVersionLocaleSpecification map[string]*BotVersionLocaleDetails `locationName:"botVersionLocaleSpecification" min:"1" type:"map"`
8292
8293	// A timestamp of the date and time that the version was created.
8294	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
8295
8296	// The description of the version specified in the request.
8297	Description *string `locationName:"description" type:"string"`
8298}
8299
8300// String returns the string representation
8301func (s CreateBotVersionOutput) String() string {
8302	return awsutil.Prettify(s)
8303}
8304
8305// GoString returns the string representation
8306func (s CreateBotVersionOutput) GoString() string {
8307	return s.String()
8308}
8309
8310// SetBotId sets the BotId field's value.
8311func (s *CreateBotVersionOutput) SetBotId(v string) *CreateBotVersionOutput {
8312	s.BotId = &v
8313	return s
8314}
8315
8316// SetBotStatus sets the BotStatus field's value.
8317func (s *CreateBotVersionOutput) SetBotStatus(v string) *CreateBotVersionOutput {
8318	s.BotStatus = &v
8319	return s
8320}
8321
8322// SetBotVersion sets the BotVersion field's value.
8323func (s *CreateBotVersionOutput) SetBotVersion(v string) *CreateBotVersionOutput {
8324	s.BotVersion = &v
8325	return s
8326}
8327
8328// SetBotVersionLocaleSpecification sets the BotVersionLocaleSpecification field's value.
8329func (s *CreateBotVersionOutput) SetBotVersionLocaleSpecification(v map[string]*BotVersionLocaleDetails) *CreateBotVersionOutput {
8330	s.BotVersionLocaleSpecification = v
8331	return s
8332}
8333
8334// SetCreationDateTime sets the CreationDateTime field's value.
8335func (s *CreateBotVersionOutput) SetCreationDateTime(v time.Time) *CreateBotVersionOutput {
8336	s.CreationDateTime = &v
8337	return s
8338}
8339
8340// SetDescription sets the Description field's value.
8341func (s *CreateBotVersionOutput) SetDescription(v string) *CreateBotVersionOutput {
8342	s.Description = &v
8343	return s
8344}
8345
8346type CreateExportInput struct {
8347	_ struct{} `type:"structure"`
8348
8349	// The file format of the bot or bot locale definition files.
8350	//
8351	// FileFormat is a required field
8352	FileFormat *string `locationName:"fileFormat" type:"string" required:"true" enum:"ImportExportFileFormat"`
8353
8354	// An password to use to encrypt the exported archive. Using a password is optional,
8355	// but you should encrypt the archive to protect the data in transit between
8356	// Amazon Lex and your local computer.
8357	FilePassword *string `locationName:"filePassword" min:"1" type:"string" sensitive:"true"`
8358
8359	// Specifies the type of resource to export, either a bot or a bot locale. You
8360	// can only specify one type of resource to export.
8361	//
8362	// ResourceSpecification is a required field
8363	ResourceSpecification *ExportResourceSpecification `locationName:"resourceSpecification" type:"structure" required:"true"`
8364}
8365
8366// String returns the string representation
8367func (s CreateExportInput) String() string {
8368	return awsutil.Prettify(s)
8369}
8370
8371// GoString returns the string representation
8372func (s CreateExportInput) GoString() string {
8373	return s.String()
8374}
8375
8376// Validate inspects the fields of the type to determine if they are valid.
8377func (s *CreateExportInput) Validate() error {
8378	invalidParams := request.ErrInvalidParams{Context: "CreateExportInput"}
8379	if s.FileFormat == nil {
8380		invalidParams.Add(request.NewErrParamRequired("FileFormat"))
8381	}
8382	if s.FilePassword != nil && len(*s.FilePassword) < 1 {
8383		invalidParams.Add(request.NewErrParamMinLen("FilePassword", 1))
8384	}
8385	if s.ResourceSpecification == nil {
8386		invalidParams.Add(request.NewErrParamRequired("ResourceSpecification"))
8387	}
8388	if s.ResourceSpecification != nil {
8389		if err := s.ResourceSpecification.Validate(); err != nil {
8390			invalidParams.AddNested("ResourceSpecification", err.(request.ErrInvalidParams))
8391		}
8392	}
8393
8394	if invalidParams.Len() > 0 {
8395		return invalidParams
8396	}
8397	return nil
8398}
8399
8400// SetFileFormat sets the FileFormat field's value.
8401func (s *CreateExportInput) SetFileFormat(v string) *CreateExportInput {
8402	s.FileFormat = &v
8403	return s
8404}
8405
8406// SetFilePassword sets the FilePassword field's value.
8407func (s *CreateExportInput) SetFilePassword(v string) *CreateExportInput {
8408	s.FilePassword = &v
8409	return s
8410}
8411
8412// SetResourceSpecification sets the ResourceSpecification field's value.
8413func (s *CreateExportInput) SetResourceSpecification(v *ExportResourceSpecification) *CreateExportInput {
8414	s.ResourceSpecification = v
8415	return s
8416}
8417
8418type CreateExportOutput struct {
8419	_ struct{} `type:"structure"`
8420
8421	// The date and time that the request to export a bot was created.
8422	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
8423
8424	// An identifier for a specific request to create an export.
8425	ExportId *string `locationName:"exportId" min:"10" type:"string"`
8426
8427	// The status of the export. When the status is Completed, you can use the operation
8428	// to get the pre-signed S3 URL link to your exported bot or bot locale.
8429	ExportStatus *string `locationName:"exportStatus" type:"string" enum:"ExportStatus"`
8430
8431	// The file format used for the bot or bot locale definition files.
8432	FileFormat *string `locationName:"fileFormat" type:"string" enum:"ImportExportFileFormat"`
8433
8434	// A description of the type of resource that was exported, either a bot or
8435	// a bot locale.
8436	ResourceSpecification *ExportResourceSpecification `locationName:"resourceSpecification" type:"structure"`
8437}
8438
8439// String returns the string representation
8440func (s CreateExportOutput) String() string {
8441	return awsutil.Prettify(s)
8442}
8443
8444// GoString returns the string representation
8445func (s CreateExportOutput) GoString() string {
8446	return s.String()
8447}
8448
8449// SetCreationDateTime sets the CreationDateTime field's value.
8450func (s *CreateExportOutput) SetCreationDateTime(v time.Time) *CreateExportOutput {
8451	s.CreationDateTime = &v
8452	return s
8453}
8454
8455// SetExportId sets the ExportId field's value.
8456func (s *CreateExportOutput) SetExportId(v string) *CreateExportOutput {
8457	s.ExportId = &v
8458	return s
8459}
8460
8461// SetExportStatus sets the ExportStatus field's value.
8462func (s *CreateExportOutput) SetExportStatus(v string) *CreateExportOutput {
8463	s.ExportStatus = &v
8464	return s
8465}
8466
8467// SetFileFormat sets the FileFormat field's value.
8468func (s *CreateExportOutput) SetFileFormat(v string) *CreateExportOutput {
8469	s.FileFormat = &v
8470	return s
8471}
8472
8473// SetResourceSpecification sets the ResourceSpecification field's value.
8474func (s *CreateExportOutput) SetResourceSpecification(v *ExportResourceSpecification) *CreateExportOutput {
8475	s.ResourceSpecification = v
8476	return s
8477}
8478
8479type CreateIntentInput struct {
8480	_ struct{} `type:"structure"`
8481
8482	// The identifier of the bot associated with this intent.
8483	//
8484	// BotId is a required field
8485	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
8486
8487	// The identifier of the version of the bot associated with this intent.
8488	//
8489	// BotVersion is a required field
8490	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
8491
8492	// A description of the intent. Use the description to help identify the intent
8493	// in lists.
8494	Description *string `locationName:"description" type:"string"`
8495
8496	// Specifies that Amazon Lex invokes the alias Lambda function for each user
8497	// input. You can invoke this Lambda function to personalize user interaction.
8498	//
8499	// For example, suppose that your bot determines that the user's name is John.
8500	// You Lambda function might retrieve John's information from a backend database
8501	// and prepopulate some of the values. For example, if you find that John is
8502	// gluten intolerant, you might set the corresponding intent slot, glutenIntolerant
8503	// to true. You might find John's phone number and set the corresponding session
8504	// attribute.
8505	DialogCodeHook *DialogCodeHookSettings `locationName:"dialogCodeHook" type:"structure"`
8506
8507	// Specifies that Amazon Lex invokes the alias Lambda function when the intent
8508	// is ready for fulfillment. You can invoke this function to complete the bot's
8509	// transaction with the user.
8510	//
8511	// For example, in a pizza ordering bot, the Lambda function can look up the
8512	// closest pizza restaurant to the customer's location and then place an order
8513	// on the customer's behalf.
8514	FulfillmentCodeHook *FulfillmentCodeHookSettings `locationName:"fulfillmentCodeHook" type:"structure"`
8515
8516	// A list of contexts that must be active for this intent to be considered by
8517	// Amazon Lex.
8518	//
8519	// When an intent has an input context list, Amazon Lex only considers using
8520	// the intent in an interaction with the user when the specified contexts are
8521	// included in the active context list for the session. If the contexts are
8522	// not active, then Amazon Lex will not use the intent.
8523	//
8524	// A context can be automatically activated using the outputContexts property
8525	// or it can be set at runtime.
8526	//
8527	// For example, if there are two intents with different input contexts that
8528	// respond to the same utterances, only the intent with the active context will
8529	// respond.
8530	//
8531	// An intent may have up to 5 input contexts. If an intent has multiple input
8532	// contexts, all of the contexts must be active to consider the intent.
8533	InputContexts []*InputContext `locationName:"inputContexts" type:"list"`
8534
8535	// Sets the response that Amazon Lex sends to the user when the intent is closed.
8536	IntentClosingSetting *IntentClosingSetting `locationName:"intentClosingSetting" type:"structure"`
8537
8538	// Provides prompts that Amazon Lex sends to the user to confirm the completion
8539	// of an intent. If the user answers "no," the settings contain a statement
8540	// that is sent to the user to end the intent.
8541	IntentConfirmationSetting *IntentConfirmationSetting `locationName:"intentConfirmationSetting" type:"structure"`
8542
8543	// The name of the intent. Intent names must be unique in the locale that contains
8544	// the intent and cannot match the name of any built-in intent.
8545	//
8546	// IntentName is a required field
8547	IntentName *string `locationName:"intentName" min:"1" type:"string" required:"true"`
8548
8549	// Configuration information required to use the AMAZON.KendraSearchIntent intent
8550	// to connect to an Amazon Kendra index. The AMAZON.KendraSearchIntent intent
8551	// is called when Amazon Lex can't determine another intent to invoke.
8552	KendraConfiguration *KendraConfiguration `locationName:"kendraConfiguration" type:"structure"`
8553
8554	// The identifier of the language and locale where this intent is used. All
8555	// of the bots, slot types, and slots used by the intent must have the same
8556	// locale. For more information, see Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
8557	//
8558	// LocaleId is a required field
8559	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
8560
8561	// A lists of contexts that the intent activates when it is fulfilled.
8562	//
8563	// You can use an output context to indicate the intents that Amazon Lex should
8564	// consider for the next turn of the conversation with a customer.
8565	//
8566	// When you use the outputContextsList property, all of the contexts specified
8567	// in the list are activated when the intent is fulfilled. You can set up to
8568	// 10 output contexts. You can also set the number of conversation turns that
8569	// the context should be active, or the length of time that the context should
8570	// be active.
8571	OutputContexts []*OutputContext `locationName:"outputContexts" type:"list"`
8572
8573	// A unique identifier for the built-in intent to base this intent on.
8574	ParentIntentSignature *string `locationName:"parentIntentSignature" type:"string"`
8575
8576	// An array of strings that a user might say to signal the intent. For example,
8577	// "I want a pizza", or "I want a {PizzaSize} pizza".
8578	//
8579	// In an utterance, slot names are enclosed in curly braces ("{", "}") to indicate
8580	// where they should be displayed in the utterance shown to the user..
8581	SampleUtterances []*SampleUtterance `locationName:"sampleUtterances" type:"list"`
8582}
8583
8584// String returns the string representation
8585func (s CreateIntentInput) String() string {
8586	return awsutil.Prettify(s)
8587}
8588
8589// GoString returns the string representation
8590func (s CreateIntentInput) GoString() string {
8591	return s.String()
8592}
8593
8594// Validate inspects the fields of the type to determine if they are valid.
8595func (s *CreateIntentInput) Validate() error {
8596	invalidParams := request.ErrInvalidParams{Context: "CreateIntentInput"}
8597	if s.BotId == nil {
8598		invalidParams.Add(request.NewErrParamRequired("BotId"))
8599	}
8600	if s.BotId != nil && len(*s.BotId) < 10 {
8601		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
8602	}
8603	if s.BotVersion == nil {
8604		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
8605	}
8606	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
8607		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
8608	}
8609	if s.IntentName == nil {
8610		invalidParams.Add(request.NewErrParamRequired("IntentName"))
8611	}
8612	if s.IntentName != nil && len(*s.IntentName) < 1 {
8613		invalidParams.Add(request.NewErrParamMinLen("IntentName", 1))
8614	}
8615	if s.LocaleId == nil {
8616		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
8617	}
8618	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
8619		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
8620	}
8621	if s.DialogCodeHook != nil {
8622		if err := s.DialogCodeHook.Validate(); err != nil {
8623			invalidParams.AddNested("DialogCodeHook", err.(request.ErrInvalidParams))
8624		}
8625	}
8626	if s.FulfillmentCodeHook != nil {
8627		if err := s.FulfillmentCodeHook.Validate(); err != nil {
8628			invalidParams.AddNested("FulfillmentCodeHook", err.(request.ErrInvalidParams))
8629		}
8630	}
8631	if s.InputContexts != nil {
8632		for i, v := range s.InputContexts {
8633			if v == nil {
8634				continue
8635			}
8636			if err := v.Validate(); err != nil {
8637				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputContexts", i), err.(request.ErrInvalidParams))
8638			}
8639		}
8640	}
8641	if s.IntentClosingSetting != nil {
8642		if err := s.IntentClosingSetting.Validate(); err != nil {
8643			invalidParams.AddNested("IntentClosingSetting", err.(request.ErrInvalidParams))
8644		}
8645	}
8646	if s.IntentConfirmationSetting != nil {
8647		if err := s.IntentConfirmationSetting.Validate(); err != nil {
8648			invalidParams.AddNested("IntentConfirmationSetting", err.(request.ErrInvalidParams))
8649		}
8650	}
8651	if s.KendraConfiguration != nil {
8652		if err := s.KendraConfiguration.Validate(); err != nil {
8653			invalidParams.AddNested("KendraConfiguration", err.(request.ErrInvalidParams))
8654		}
8655	}
8656	if s.OutputContexts != nil {
8657		for i, v := range s.OutputContexts {
8658			if v == nil {
8659				continue
8660			}
8661			if err := v.Validate(); err != nil {
8662				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputContexts", i), err.(request.ErrInvalidParams))
8663			}
8664		}
8665	}
8666	if s.SampleUtterances != nil {
8667		for i, v := range s.SampleUtterances {
8668			if v == nil {
8669				continue
8670			}
8671			if err := v.Validate(); err != nil {
8672				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SampleUtterances", i), err.(request.ErrInvalidParams))
8673			}
8674		}
8675	}
8676
8677	if invalidParams.Len() > 0 {
8678		return invalidParams
8679	}
8680	return nil
8681}
8682
8683// SetBotId sets the BotId field's value.
8684func (s *CreateIntentInput) SetBotId(v string) *CreateIntentInput {
8685	s.BotId = &v
8686	return s
8687}
8688
8689// SetBotVersion sets the BotVersion field's value.
8690func (s *CreateIntentInput) SetBotVersion(v string) *CreateIntentInput {
8691	s.BotVersion = &v
8692	return s
8693}
8694
8695// SetDescription sets the Description field's value.
8696func (s *CreateIntentInput) SetDescription(v string) *CreateIntentInput {
8697	s.Description = &v
8698	return s
8699}
8700
8701// SetDialogCodeHook sets the DialogCodeHook field's value.
8702func (s *CreateIntentInput) SetDialogCodeHook(v *DialogCodeHookSettings) *CreateIntentInput {
8703	s.DialogCodeHook = v
8704	return s
8705}
8706
8707// SetFulfillmentCodeHook sets the FulfillmentCodeHook field's value.
8708func (s *CreateIntentInput) SetFulfillmentCodeHook(v *FulfillmentCodeHookSettings) *CreateIntentInput {
8709	s.FulfillmentCodeHook = v
8710	return s
8711}
8712
8713// SetInputContexts sets the InputContexts field's value.
8714func (s *CreateIntentInput) SetInputContexts(v []*InputContext) *CreateIntentInput {
8715	s.InputContexts = v
8716	return s
8717}
8718
8719// SetIntentClosingSetting sets the IntentClosingSetting field's value.
8720func (s *CreateIntentInput) SetIntentClosingSetting(v *IntentClosingSetting) *CreateIntentInput {
8721	s.IntentClosingSetting = v
8722	return s
8723}
8724
8725// SetIntentConfirmationSetting sets the IntentConfirmationSetting field's value.
8726func (s *CreateIntentInput) SetIntentConfirmationSetting(v *IntentConfirmationSetting) *CreateIntentInput {
8727	s.IntentConfirmationSetting = v
8728	return s
8729}
8730
8731// SetIntentName sets the IntentName field's value.
8732func (s *CreateIntentInput) SetIntentName(v string) *CreateIntentInput {
8733	s.IntentName = &v
8734	return s
8735}
8736
8737// SetKendraConfiguration sets the KendraConfiguration field's value.
8738func (s *CreateIntentInput) SetKendraConfiguration(v *KendraConfiguration) *CreateIntentInput {
8739	s.KendraConfiguration = v
8740	return s
8741}
8742
8743// SetLocaleId sets the LocaleId field's value.
8744func (s *CreateIntentInput) SetLocaleId(v string) *CreateIntentInput {
8745	s.LocaleId = &v
8746	return s
8747}
8748
8749// SetOutputContexts sets the OutputContexts field's value.
8750func (s *CreateIntentInput) SetOutputContexts(v []*OutputContext) *CreateIntentInput {
8751	s.OutputContexts = v
8752	return s
8753}
8754
8755// SetParentIntentSignature sets the ParentIntentSignature field's value.
8756func (s *CreateIntentInput) SetParentIntentSignature(v string) *CreateIntentInput {
8757	s.ParentIntentSignature = &v
8758	return s
8759}
8760
8761// SetSampleUtterances sets the SampleUtterances field's value.
8762func (s *CreateIntentInput) SetSampleUtterances(v []*SampleUtterance) *CreateIntentInput {
8763	s.SampleUtterances = v
8764	return s
8765}
8766
8767type CreateIntentOutput struct {
8768	_ struct{} `type:"structure"`
8769
8770	// The identifier of the bot associated with the intent.
8771	BotId *string `locationName:"botId" min:"10" type:"string"`
8772
8773	// The identifier of the version of the bot associated with the intent.
8774	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
8775
8776	// A timestamp of the date and time that the intent was created.
8777	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
8778
8779	// The description specified for the intent.
8780	Description *string `locationName:"description" type:"string"`
8781
8782	// The dialog Lambda function specified for the intent.
8783	DialogCodeHook *DialogCodeHookSettings `locationName:"dialogCodeHook" type:"structure"`
8784
8785	// The fulfillment Lambda function specified for the intent.
8786	FulfillmentCodeHook *FulfillmentCodeHookSettings `locationName:"fulfillmentCodeHook" type:"structure"`
8787
8788	// The list of input contexts specified for the intent.
8789	InputContexts []*InputContext `locationName:"inputContexts" type:"list"`
8790
8791	// The closing setting specified for the intent.
8792	IntentClosingSetting *IntentClosingSetting `locationName:"intentClosingSetting" type:"structure"`
8793
8794	// The confirmation setting specified for the intent.
8795	IntentConfirmationSetting *IntentConfirmationSetting `locationName:"intentConfirmationSetting" type:"structure"`
8796
8797	// A unique identifier for the intent.
8798	IntentId *string `locationName:"intentId" min:"10" type:"string"`
8799
8800	// The name specified for the intent.
8801	IntentName *string `locationName:"intentName" min:"1" type:"string"`
8802
8803	// Configuration for searching a Amazon Kendra index specified for the intent.
8804	KendraConfiguration *KendraConfiguration `locationName:"kendraConfiguration" type:"structure"`
8805
8806	// The locale that the intent is specified to use.
8807	LocaleId *string `locationName:"localeId" type:"string"`
8808
8809	// The list of output contexts specified for the intent.
8810	OutputContexts []*OutputContext `locationName:"outputContexts" type:"list"`
8811
8812	// The signature of the parent intent specified for the intent.
8813	ParentIntentSignature *string `locationName:"parentIntentSignature" type:"string"`
8814
8815	// The sample utterances specified for the intent.
8816	SampleUtterances []*SampleUtterance `locationName:"sampleUtterances" type:"list"`
8817}
8818
8819// String returns the string representation
8820func (s CreateIntentOutput) String() string {
8821	return awsutil.Prettify(s)
8822}
8823
8824// GoString returns the string representation
8825func (s CreateIntentOutput) GoString() string {
8826	return s.String()
8827}
8828
8829// SetBotId sets the BotId field's value.
8830func (s *CreateIntentOutput) SetBotId(v string) *CreateIntentOutput {
8831	s.BotId = &v
8832	return s
8833}
8834
8835// SetBotVersion sets the BotVersion field's value.
8836func (s *CreateIntentOutput) SetBotVersion(v string) *CreateIntentOutput {
8837	s.BotVersion = &v
8838	return s
8839}
8840
8841// SetCreationDateTime sets the CreationDateTime field's value.
8842func (s *CreateIntentOutput) SetCreationDateTime(v time.Time) *CreateIntentOutput {
8843	s.CreationDateTime = &v
8844	return s
8845}
8846
8847// SetDescription sets the Description field's value.
8848func (s *CreateIntentOutput) SetDescription(v string) *CreateIntentOutput {
8849	s.Description = &v
8850	return s
8851}
8852
8853// SetDialogCodeHook sets the DialogCodeHook field's value.
8854func (s *CreateIntentOutput) SetDialogCodeHook(v *DialogCodeHookSettings) *CreateIntentOutput {
8855	s.DialogCodeHook = v
8856	return s
8857}
8858
8859// SetFulfillmentCodeHook sets the FulfillmentCodeHook field's value.
8860func (s *CreateIntentOutput) SetFulfillmentCodeHook(v *FulfillmentCodeHookSettings) *CreateIntentOutput {
8861	s.FulfillmentCodeHook = v
8862	return s
8863}
8864
8865// SetInputContexts sets the InputContexts field's value.
8866func (s *CreateIntentOutput) SetInputContexts(v []*InputContext) *CreateIntentOutput {
8867	s.InputContexts = v
8868	return s
8869}
8870
8871// SetIntentClosingSetting sets the IntentClosingSetting field's value.
8872func (s *CreateIntentOutput) SetIntentClosingSetting(v *IntentClosingSetting) *CreateIntentOutput {
8873	s.IntentClosingSetting = v
8874	return s
8875}
8876
8877// SetIntentConfirmationSetting sets the IntentConfirmationSetting field's value.
8878func (s *CreateIntentOutput) SetIntentConfirmationSetting(v *IntentConfirmationSetting) *CreateIntentOutput {
8879	s.IntentConfirmationSetting = v
8880	return s
8881}
8882
8883// SetIntentId sets the IntentId field's value.
8884func (s *CreateIntentOutput) SetIntentId(v string) *CreateIntentOutput {
8885	s.IntentId = &v
8886	return s
8887}
8888
8889// SetIntentName sets the IntentName field's value.
8890func (s *CreateIntentOutput) SetIntentName(v string) *CreateIntentOutput {
8891	s.IntentName = &v
8892	return s
8893}
8894
8895// SetKendraConfiguration sets the KendraConfiguration field's value.
8896func (s *CreateIntentOutput) SetKendraConfiguration(v *KendraConfiguration) *CreateIntentOutput {
8897	s.KendraConfiguration = v
8898	return s
8899}
8900
8901// SetLocaleId sets the LocaleId field's value.
8902func (s *CreateIntentOutput) SetLocaleId(v string) *CreateIntentOutput {
8903	s.LocaleId = &v
8904	return s
8905}
8906
8907// SetOutputContexts sets the OutputContexts field's value.
8908func (s *CreateIntentOutput) SetOutputContexts(v []*OutputContext) *CreateIntentOutput {
8909	s.OutputContexts = v
8910	return s
8911}
8912
8913// SetParentIntentSignature sets the ParentIntentSignature field's value.
8914func (s *CreateIntentOutput) SetParentIntentSignature(v string) *CreateIntentOutput {
8915	s.ParentIntentSignature = &v
8916	return s
8917}
8918
8919// SetSampleUtterances sets the SampleUtterances field's value.
8920func (s *CreateIntentOutput) SetSampleUtterances(v []*SampleUtterance) *CreateIntentOutput {
8921	s.SampleUtterances = v
8922	return s
8923}
8924
8925type CreateResourcePolicyInput struct {
8926	_ struct{} `type:"structure"`
8927
8928	// A resource policy to add to the resource. The policy is a JSON structure
8929	// that contains one or more statements that define the policy. The policy must
8930	// follow the IAM syntax. For more information about the contents of a JSON
8931	// policy document, see IAM JSON policy reference (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html).
8932	//
8933	// If the policy isn't valid, Amazon Lex returns a validation exception.
8934	//
8935	// Policy is a required field
8936	Policy *string `locationName:"policy" min:"2" type:"string" required:"true"`
8937
8938	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource
8939	// policy is attached to.
8940	//
8941	// ResourceArn is a required field
8942	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
8943}
8944
8945// String returns the string representation
8946func (s CreateResourcePolicyInput) String() string {
8947	return awsutil.Prettify(s)
8948}
8949
8950// GoString returns the string representation
8951func (s CreateResourcePolicyInput) GoString() string {
8952	return s.String()
8953}
8954
8955// Validate inspects the fields of the type to determine if they are valid.
8956func (s *CreateResourcePolicyInput) Validate() error {
8957	invalidParams := request.ErrInvalidParams{Context: "CreateResourcePolicyInput"}
8958	if s.Policy == nil {
8959		invalidParams.Add(request.NewErrParamRequired("Policy"))
8960	}
8961	if s.Policy != nil && len(*s.Policy) < 2 {
8962		invalidParams.Add(request.NewErrParamMinLen("Policy", 2))
8963	}
8964	if s.ResourceArn == nil {
8965		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8966	}
8967	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
8968		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
8969	}
8970
8971	if invalidParams.Len() > 0 {
8972		return invalidParams
8973	}
8974	return nil
8975}
8976
8977// SetPolicy sets the Policy field's value.
8978func (s *CreateResourcePolicyInput) SetPolicy(v string) *CreateResourcePolicyInput {
8979	s.Policy = &v
8980	return s
8981}
8982
8983// SetResourceArn sets the ResourceArn field's value.
8984func (s *CreateResourcePolicyInput) SetResourceArn(v string) *CreateResourcePolicyInput {
8985	s.ResourceArn = &v
8986	return s
8987}
8988
8989type CreateResourcePolicyOutput struct {
8990	_ struct{} `type:"structure"`
8991
8992	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource
8993	// policy was attached to.
8994	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string"`
8995
8996	// The current revision of the resource policy. Use the revision ID to make
8997	// sure that you are updating the most current version of a resource policy
8998	// when you add a policy statement to a resource, delete a resource, or update
8999	// a resource.
9000	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
9001}
9002
9003// String returns the string representation
9004func (s CreateResourcePolicyOutput) String() string {
9005	return awsutil.Prettify(s)
9006}
9007
9008// GoString returns the string representation
9009func (s CreateResourcePolicyOutput) GoString() string {
9010	return s.String()
9011}
9012
9013// SetResourceArn sets the ResourceArn field's value.
9014func (s *CreateResourcePolicyOutput) SetResourceArn(v string) *CreateResourcePolicyOutput {
9015	s.ResourceArn = &v
9016	return s
9017}
9018
9019// SetRevisionId sets the RevisionId field's value.
9020func (s *CreateResourcePolicyOutput) SetRevisionId(v string) *CreateResourcePolicyOutput {
9021	s.RevisionId = &v
9022	return s
9023}
9024
9025type CreateResourcePolicyStatementInput struct {
9026	_ struct{} `type:"structure"`
9027
9028	// The Amazon Lex action that this policy either allows or denies. The action
9029	// must apply to the resource type of the specified ARN. For more information,
9030	// see Actions, resources, and condition keys for Amazon Lex V2 (https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonlexv2.html).
9031	//
9032	// Action is a required field
9033	Action []*string `locationName:"action" type:"list" required:"true"`
9034
9035	// Specifies a condition when the policy is in effect. If the principal of the
9036	// policy is a service principal, you must provide two condition blocks, one
9037	// with a SourceAccount global condition key and one with a SourceArn global
9038	// condition key.
9039	//
9040	// For more information, see IAM JSON policy elements: Condition (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html).
9041	Condition map[string]map[string]*string `locationName:"condition" type:"map"`
9042
9043	// Determines whether the statement allows or denies access to the resource.
9044	//
9045	// Effect is a required field
9046	Effect *string `locationName:"effect" type:"string" required:"true" enum:"Effect"`
9047
9048	// The identifier of the revision of the policy to edit. If this revision ID
9049	// doesn't match the current revision ID, Amazon Lex throws an exception.
9050	//
9051	// If you don't specify a revision, Amazon Lex overwrites the contents of the
9052	// policy with the new values.
9053	ExpectedRevisionId *string `location:"querystring" locationName:"expectedRevisionId" min:"1" type:"string"`
9054
9055	// An IAM principal, such as an IAM users, IAM roles, or AWS services that is
9056	// allowed or denied access to a resource. For more information, see AWS JSON
9057	// policy elements: Principal (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html).
9058	//
9059	// Principal is a required field
9060	Principal []*Principal `locationName:"principal" type:"list" required:"true"`
9061
9062	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource
9063	// policy is attached to.
9064	//
9065	// ResourceArn is a required field
9066	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
9067
9068	// The name of the statement. The ID is the same as the Sid IAM property. The
9069	// statement name must be unique within the policy. For more information, see
9070	// IAM JSON policy elements: Sid (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_sid.html).
9071	//
9072	// StatementId is a required field
9073	StatementId *string `locationName:"statementId" min:"1" type:"string" required:"true"`
9074}
9075
9076// String returns the string representation
9077func (s CreateResourcePolicyStatementInput) String() string {
9078	return awsutil.Prettify(s)
9079}
9080
9081// GoString returns the string representation
9082func (s CreateResourcePolicyStatementInput) GoString() string {
9083	return s.String()
9084}
9085
9086// Validate inspects the fields of the type to determine if they are valid.
9087func (s *CreateResourcePolicyStatementInput) Validate() error {
9088	invalidParams := request.ErrInvalidParams{Context: "CreateResourcePolicyStatementInput"}
9089	if s.Action == nil {
9090		invalidParams.Add(request.NewErrParamRequired("Action"))
9091	}
9092	if s.Effect == nil {
9093		invalidParams.Add(request.NewErrParamRequired("Effect"))
9094	}
9095	if s.ExpectedRevisionId != nil && len(*s.ExpectedRevisionId) < 1 {
9096		invalidParams.Add(request.NewErrParamMinLen("ExpectedRevisionId", 1))
9097	}
9098	if s.Principal == nil {
9099		invalidParams.Add(request.NewErrParamRequired("Principal"))
9100	}
9101	if s.ResourceArn == nil {
9102		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9103	}
9104	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
9105		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
9106	}
9107	if s.StatementId == nil {
9108		invalidParams.Add(request.NewErrParamRequired("StatementId"))
9109	}
9110	if s.StatementId != nil && len(*s.StatementId) < 1 {
9111		invalidParams.Add(request.NewErrParamMinLen("StatementId", 1))
9112	}
9113	if s.Principal != nil {
9114		for i, v := range s.Principal {
9115			if v == nil {
9116				continue
9117			}
9118			if err := v.Validate(); err != nil {
9119				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Principal", i), err.(request.ErrInvalidParams))
9120			}
9121		}
9122	}
9123
9124	if invalidParams.Len() > 0 {
9125		return invalidParams
9126	}
9127	return nil
9128}
9129
9130// SetAction sets the Action field's value.
9131func (s *CreateResourcePolicyStatementInput) SetAction(v []*string) *CreateResourcePolicyStatementInput {
9132	s.Action = v
9133	return s
9134}
9135
9136// SetCondition sets the Condition field's value.
9137func (s *CreateResourcePolicyStatementInput) SetCondition(v map[string]map[string]*string) *CreateResourcePolicyStatementInput {
9138	s.Condition = v
9139	return s
9140}
9141
9142// SetEffect sets the Effect field's value.
9143func (s *CreateResourcePolicyStatementInput) SetEffect(v string) *CreateResourcePolicyStatementInput {
9144	s.Effect = &v
9145	return s
9146}
9147
9148// SetExpectedRevisionId sets the ExpectedRevisionId field's value.
9149func (s *CreateResourcePolicyStatementInput) SetExpectedRevisionId(v string) *CreateResourcePolicyStatementInput {
9150	s.ExpectedRevisionId = &v
9151	return s
9152}
9153
9154// SetPrincipal sets the Principal field's value.
9155func (s *CreateResourcePolicyStatementInput) SetPrincipal(v []*Principal) *CreateResourcePolicyStatementInput {
9156	s.Principal = v
9157	return s
9158}
9159
9160// SetResourceArn sets the ResourceArn field's value.
9161func (s *CreateResourcePolicyStatementInput) SetResourceArn(v string) *CreateResourcePolicyStatementInput {
9162	s.ResourceArn = &v
9163	return s
9164}
9165
9166// SetStatementId sets the StatementId field's value.
9167func (s *CreateResourcePolicyStatementInput) SetStatementId(v string) *CreateResourcePolicyStatementInput {
9168	s.StatementId = &v
9169	return s
9170}
9171
9172type CreateResourcePolicyStatementOutput struct {
9173	_ struct{} `type:"structure"`
9174
9175	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource
9176	// policy is attached to.
9177	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string"`
9178
9179	// The current revision of the resource policy. Use the revision ID to make
9180	// sure that you are updating the most current version of a resource policy
9181	// when you add a policy statement to a resource, delete a resource, or update
9182	// a resource.
9183	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
9184}
9185
9186// String returns the string representation
9187func (s CreateResourcePolicyStatementOutput) String() string {
9188	return awsutil.Prettify(s)
9189}
9190
9191// GoString returns the string representation
9192func (s CreateResourcePolicyStatementOutput) GoString() string {
9193	return s.String()
9194}
9195
9196// SetResourceArn sets the ResourceArn field's value.
9197func (s *CreateResourcePolicyStatementOutput) SetResourceArn(v string) *CreateResourcePolicyStatementOutput {
9198	s.ResourceArn = &v
9199	return s
9200}
9201
9202// SetRevisionId sets the RevisionId field's value.
9203func (s *CreateResourcePolicyStatementOutput) SetRevisionId(v string) *CreateResourcePolicyStatementOutput {
9204	s.RevisionId = &v
9205	return s
9206}
9207
9208type CreateSlotInput struct {
9209	_ struct{} `type:"structure"`
9210
9211	// The identifier of the bot associated with the slot.
9212	//
9213	// BotId is a required field
9214	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
9215
9216	// The version of the bot associated with the slot.
9217	//
9218	// BotVersion is a required field
9219	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
9220
9221	// A description of the slot. Use this to help identify the slot in lists.
9222	Description *string `locationName:"description" type:"string"`
9223
9224	// The identifier of the intent that contains the slot.
9225	//
9226	// IntentId is a required field
9227	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
9228
9229	// The identifier of the language and locale that the slot will be used in.
9230	// The string must match one of the supported locales. All of the bots, intents,
9231	// slot types used by the slot must have the same locale. For more information,
9232	// see Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
9233	//
9234	// LocaleId is a required field
9235	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
9236
9237	// Indicates whether the slot returns multiple values in one response. Multi-value
9238	// slots are only available in the en-US locale. If you set this value to true
9239	// in any other locale, Amazon Lex throws a ValidationException.
9240	//
9241	// If the multipleValuesSetting is not set, the default value is false.
9242	MultipleValuesSetting *MultipleValuesSetting `locationName:"multipleValuesSetting" type:"structure"`
9243
9244	// Determines how slot values are used in Amazon CloudWatch logs. If the value
9245	// of the obfuscationSetting parameter is DefaultObfuscation, slot values are
9246	// obfuscated in the log output. If the value is None, the actual value is present
9247	// in the log output.
9248	//
9249	// The default is to obfuscate values in the CloudWatch logs.
9250	ObfuscationSetting *ObfuscationSetting `locationName:"obfuscationSetting" type:"structure"`
9251
9252	// The name of the slot. Slot names must be unique within the bot that contains
9253	// the slot.
9254	//
9255	// SlotName is a required field
9256	SlotName *string `locationName:"slotName" min:"1" type:"string" required:"true"`
9257
9258	// The unique identifier for the slot type associated with this slot. The slot
9259	// type determines the values that can be entered into the slot.
9260	//
9261	// SlotTypeId is a required field
9262	SlotTypeId *string `locationName:"slotTypeId" min:"1" type:"string" required:"true"`
9263
9264	// Specifies prompts that Amazon Lex sends to the user to elicit a response
9265	// that provides the value for the slot.
9266	//
9267	// ValueElicitationSetting is a required field
9268	ValueElicitationSetting *SlotValueElicitationSetting `locationName:"valueElicitationSetting" type:"structure" required:"true"`
9269}
9270
9271// String returns the string representation
9272func (s CreateSlotInput) String() string {
9273	return awsutil.Prettify(s)
9274}
9275
9276// GoString returns the string representation
9277func (s CreateSlotInput) GoString() string {
9278	return s.String()
9279}
9280
9281// Validate inspects the fields of the type to determine if they are valid.
9282func (s *CreateSlotInput) Validate() error {
9283	invalidParams := request.ErrInvalidParams{Context: "CreateSlotInput"}
9284	if s.BotId == nil {
9285		invalidParams.Add(request.NewErrParamRequired("BotId"))
9286	}
9287	if s.BotId != nil && len(*s.BotId) < 10 {
9288		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
9289	}
9290	if s.BotVersion == nil {
9291		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
9292	}
9293	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
9294		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
9295	}
9296	if s.IntentId == nil {
9297		invalidParams.Add(request.NewErrParamRequired("IntentId"))
9298	}
9299	if s.IntentId != nil && len(*s.IntentId) < 10 {
9300		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
9301	}
9302	if s.LocaleId == nil {
9303		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
9304	}
9305	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
9306		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
9307	}
9308	if s.SlotName == nil {
9309		invalidParams.Add(request.NewErrParamRequired("SlotName"))
9310	}
9311	if s.SlotName != nil && len(*s.SlotName) < 1 {
9312		invalidParams.Add(request.NewErrParamMinLen("SlotName", 1))
9313	}
9314	if s.SlotTypeId == nil {
9315		invalidParams.Add(request.NewErrParamRequired("SlotTypeId"))
9316	}
9317	if s.SlotTypeId != nil && len(*s.SlotTypeId) < 1 {
9318		invalidParams.Add(request.NewErrParamMinLen("SlotTypeId", 1))
9319	}
9320	if s.ValueElicitationSetting == nil {
9321		invalidParams.Add(request.NewErrParamRequired("ValueElicitationSetting"))
9322	}
9323	if s.ObfuscationSetting != nil {
9324		if err := s.ObfuscationSetting.Validate(); err != nil {
9325			invalidParams.AddNested("ObfuscationSetting", err.(request.ErrInvalidParams))
9326		}
9327	}
9328	if s.ValueElicitationSetting != nil {
9329		if err := s.ValueElicitationSetting.Validate(); err != nil {
9330			invalidParams.AddNested("ValueElicitationSetting", err.(request.ErrInvalidParams))
9331		}
9332	}
9333
9334	if invalidParams.Len() > 0 {
9335		return invalidParams
9336	}
9337	return nil
9338}
9339
9340// SetBotId sets the BotId field's value.
9341func (s *CreateSlotInput) SetBotId(v string) *CreateSlotInput {
9342	s.BotId = &v
9343	return s
9344}
9345
9346// SetBotVersion sets the BotVersion field's value.
9347func (s *CreateSlotInput) SetBotVersion(v string) *CreateSlotInput {
9348	s.BotVersion = &v
9349	return s
9350}
9351
9352// SetDescription sets the Description field's value.
9353func (s *CreateSlotInput) SetDescription(v string) *CreateSlotInput {
9354	s.Description = &v
9355	return s
9356}
9357
9358// SetIntentId sets the IntentId field's value.
9359func (s *CreateSlotInput) SetIntentId(v string) *CreateSlotInput {
9360	s.IntentId = &v
9361	return s
9362}
9363
9364// SetLocaleId sets the LocaleId field's value.
9365func (s *CreateSlotInput) SetLocaleId(v string) *CreateSlotInput {
9366	s.LocaleId = &v
9367	return s
9368}
9369
9370// SetMultipleValuesSetting sets the MultipleValuesSetting field's value.
9371func (s *CreateSlotInput) SetMultipleValuesSetting(v *MultipleValuesSetting) *CreateSlotInput {
9372	s.MultipleValuesSetting = v
9373	return s
9374}
9375
9376// SetObfuscationSetting sets the ObfuscationSetting field's value.
9377func (s *CreateSlotInput) SetObfuscationSetting(v *ObfuscationSetting) *CreateSlotInput {
9378	s.ObfuscationSetting = v
9379	return s
9380}
9381
9382// SetSlotName sets the SlotName field's value.
9383func (s *CreateSlotInput) SetSlotName(v string) *CreateSlotInput {
9384	s.SlotName = &v
9385	return s
9386}
9387
9388// SetSlotTypeId sets the SlotTypeId field's value.
9389func (s *CreateSlotInput) SetSlotTypeId(v string) *CreateSlotInput {
9390	s.SlotTypeId = &v
9391	return s
9392}
9393
9394// SetValueElicitationSetting sets the ValueElicitationSetting field's value.
9395func (s *CreateSlotInput) SetValueElicitationSetting(v *SlotValueElicitationSetting) *CreateSlotInput {
9396	s.ValueElicitationSetting = v
9397	return s
9398}
9399
9400type CreateSlotOutput struct {
9401	_ struct{} `type:"structure"`
9402
9403	// The unique identifier of the bot associated with the slot.
9404	BotId *string `locationName:"botId" min:"10" type:"string"`
9405
9406	// The version of the bot associated with the slot.
9407	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
9408
9409	// The timestamp of the date and time that the slot was created.
9410	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
9411
9412	// The description associated with the slot.
9413	Description *string `locationName:"description" type:"string"`
9414
9415	// The unique identifier of the intent associated with the slot.
9416	IntentId *string `locationName:"intentId" min:"10" type:"string"`
9417
9418	// The language and local specified for the slot.
9419	LocaleId *string `locationName:"localeId" type:"string"`
9420
9421	// Indicates whether the slot returns multiple values in one response.
9422	MultipleValuesSetting *MultipleValuesSetting `locationName:"multipleValuesSetting" type:"structure"`
9423
9424	// Indicates whether the slot is configured to obfuscate values in Amazon CloudWatch
9425	// logs.
9426	ObfuscationSetting *ObfuscationSetting `locationName:"obfuscationSetting" type:"structure"`
9427
9428	// The unique identifier associated with the slot. Use this to identify the
9429	// slot when you update or delete it.
9430	SlotId *string `locationName:"slotId" min:"10" type:"string"`
9431
9432	// The name specified for the slot.
9433	SlotName *string `locationName:"slotName" min:"1" type:"string"`
9434
9435	// The unique identifier of the slot type associated with this slot.
9436	SlotTypeId *string `locationName:"slotTypeId" min:"1" type:"string"`
9437
9438	// The value elicitation settings specified for the slot.
9439	ValueElicitationSetting *SlotValueElicitationSetting `locationName:"valueElicitationSetting" type:"structure"`
9440}
9441
9442// String returns the string representation
9443func (s CreateSlotOutput) String() string {
9444	return awsutil.Prettify(s)
9445}
9446
9447// GoString returns the string representation
9448func (s CreateSlotOutput) GoString() string {
9449	return s.String()
9450}
9451
9452// SetBotId sets the BotId field's value.
9453func (s *CreateSlotOutput) SetBotId(v string) *CreateSlotOutput {
9454	s.BotId = &v
9455	return s
9456}
9457
9458// SetBotVersion sets the BotVersion field's value.
9459func (s *CreateSlotOutput) SetBotVersion(v string) *CreateSlotOutput {
9460	s.BotVersion = &v
9461	return s
9462}
9463
9464// SetCreationDateTime sets the CreationDateTime field's value.
9465func (s *CreateSlotOutput) SetCreationDateTime(v time.Time) *CreateSlotOutput {
9466	s.CreationDateTime = &v
9467	return s
9468}
9469
9470// SetDescription sets the Description field's value.
9471func (s *CreateSlotOutput) SetDescription(v string) *CreateSlotOutput {
9472	s.Description = &v
9473	return s
9474}
9475
9476// SetIntentId sets the IntentId field's value.
9477func (s *CreateSlotOutput) SetIntentId(v string) *CreateSlotOutput {
9478	s.IntentId = &v
9479	return s
9480}
9481
9482// SetLocaleId sets the LocaleId field's value.
9483func (s *CreateSlotOutput) SetLocaleId(v string) *CreateSlotOutput {
9484	s.LocaleId = &v
9485	return s
9486}
9487
9488// SetMultipleValuesSetting sets the MultipleValuesSetting field's value.
9489func (s *CreateSlotOutput) SetMultipleValuesSetting(v *MultipleValuesSetting) *CreateSlotOutput {
9490	s.MultipleValuesSetting = v
9491	return s
9492}
9493
9494// SetObfuscationSetting sets the ObfuscationSetting field's value.
9495func (s *CreateSlotOutput) SetObfuscationSetting(v *ObfuscationSetting) *CreateSlotOutput {
9496	s.ObfuscationSetting = v
9497	return s
9498}
9499
9500// SetSlotId sets the SlotId field's value.
9501func (s *CreateSlotOutput) SetSlotId(v string) *CreateSlotOutput {
9502	s.SlotId = &v
9503	return s
9504}
9505
9506// SetSlotName sets the SlotName field's value.
9507func (s *CreateSlotOutput) SetSlotName(v string) *CreateSlotOutput {
9508	s.SlotName = &v
9509	return s
9510}
9511
9512// SetSlotTypeId sets the SlotTypeId field's value.
9513func (s *CreateSlotOutput) SetSlotTypeId(v string) *CreateSlotOutput {
9514	s.SlotTypeId = &v
9515	return s
9516}
9517
9518// SetValueElicitationSetting sets the ValueElicitationSetting field's value.
9519func (s *CreateSlotOutput) SetValueElicitationSetting(v *SlotValueElicitationSetting) *CreateSlotOutput {
9520	s.ValueElicitationSetting = v
9521	return s
9522}
9523
9524type CreateSlotTypeInput struct {
9525	_ struct{} `type:"structure"`
9526
9527	// The identifier of the bot associated with this slot type.
9528	//
9529	// BotId is a required field
9530	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
9531
9532	// The identifier of the bot version associated with this slot type.
9533	//
9534	// BotVersion is a required field
9535	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
9536
9537	// A description of the slot type. Use the description to help identify the
9538	// slot type in lists.
9539	Description *string `locationName:"description" type:"string"`
9540
9541	// The identifier of the language and locale that the slot type will be used
9542	// in. The string must match one of the supported locales. All of the bots,
9543	// intents, and slots used by the slot type must have the same locale. For more
9544	// information, see Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
9545	//
9546	// LocaleId is a required field
9547	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
9548
9549	// The built-in slot type used as a parent of this slot type. When you define
9550	// a parent slot type, the new slot type has the configuration of the parent
9551	// slot type.
9552	//
9553	// Only AMAZON.AlphaNumeric is supported.
9554	ParentSlotTypeSignature *string `locationName:"parentSlotTypeSignature" type:"string"`
9555
9556	// The name for the slot. A slot type name must be unique within the account.
9557	//
9558	// SlotTypeName is a required field
9559	SlotTypeName *string `locationName:"slotTypeName" min:"1" type:"string" required:"true"`
9560
9561	// A list of SlotTypeValue objects that defines the values that the slot type
9562	// can take. Each value can have a list of synonyms, additional values that
9563	// help train the machine learning model about the values that it resolves for
9564	// a slot.
9565	SlotTypeValues []*SlotTypeValue `locationName:"slotTypeValues" min:"1" type:"list"`
9566
9567	// Determines the strategy that Amazon Lex uses to select a value from the list
9568	// of possible values. The field can be set to one of the following values:
9569	//
9570	//    * OriginalValue - Returns the value entered by the user, if the user value
9571	//    is similar to the slot value.
9572	//
9573	//    * TopResolution - If there is a resolution list for the slot, return the
9574	//    first value in the resolution list. If there is no resolution list, return
9575	//    null.
9576	//
9577	// If you don't specify the valueSelectionSetting parameter, the default is
9578	// OriginalValue.
9579	//
9580	// ValueSelectionSetting is a required field
9581	ValueSelectionSetting *SlotValueSelectionSetting `locationName:"valueSelectionSetting" type:"structure" required:"true"`
9582}
9583
9584// String returns the string representation
9585func (s CreateSlotTypeInput) String() string {
9586	return awsutil.Prettify(s)
9587}
9588
9589// GoString returns the string representation
9590func (s CreateSlotTypeInput) GoString() string {
9591	return s.String()
9592}
9593
9594// Validate inspects the fields of the type to determine if they are valid.
9595func (s *CreateSlotTypeInput) Validate() error {
9596	invalidParams := request.ErrInvalidParams{Context: "CreateSlotTypeInput"}
9597	if s.BotId == nil {
9598		invalidParams.Add(request.NewErrParamRequired("BotId"))
9599	}
9600	if s.BotId != nil && len(*s.BotId) < 10 {
9601		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
9602	}
9603	if s.BotVersion == nil {
9604		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
9605	}
9606	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
9607		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
9608	}
9609	if s.LocaleId == nil {
9610		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
9611	}
9612	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
9613		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
9614	}
9615	if s.SlotTypeName == nil {
9616		invalidParams.Add(request.NewErrParamRequired("SlotTypeName"))
9617	}
9618	if s.SlotTypeName != nil && len(*s.SlotTypeName) < 1 {
9619		invalidParams.Add(request.NewErrParamMinLen("SlotTypeName", 1))
9620	}
9621	if s.SlotTypeValues != nil && len(s.SlotTypeValues) < 1 {
9622		invalidParams.Add(request.NewErrParamMinLen("SlotTypeValues", 1))
9623	}
9624	if s.ValueSelectionSetting == nil {
9625		invalidParams.Add(request.NewErrParamRequired("ValueSelectionSetting"))
9626	}
9627	if s.SlotTypeValues != nil {
9628		for i, v := range s.SlotTypeValues {
9629			if v == nil {
9630				continue
9631			}
9632			if err := v.Validate(); err != nil {
9633				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SlotTypeValues", i), err.(request.ErrInvalidParams))
9634			}
9635		}
9636	}
9637	if s.ValueSelectionSetting != nil {
9638		if err := s.ValueSelectionSetting.Validate(); err != nil {
9639			invalidParams.AddNested("ValueSelectionSetting", err.(request.ErrInvalidParams))
9640		}
9641	}
9642
9643	if invalidParams.Len() > 0 {
9644		return invalidParams
9645	}
9646	return nil
9647}
9648
9649// SetBotId sets the BotId field's value.
9650func (s *CreateSlotTypeInput) SetBotId(v string) *CreateSlotTypeInput {
9651	s.BotId = &v
9652	return s
9653}
9654
9655// SetBotVersion sets the BotVersion field's value.
9656func (s *CreateSlotTypeInput) SetBotVersion(v string) *CreateSlotTypeInput {
9657	s.BotVersion = &v
9658	return s
9659}
9660
9661// SetDescription sets the Description field's value.
9662func (s *CreateSlotTypeInput) SetDescription(v string) *CreateSlotTypeInput {
9663	s.Description = &v
9664	return s
9665}
9666
9667// SetLocaleId sets the LocaleId field's value.
9668func (s *CreateSlotTypeInput) SetLocaleId(v string) *CreateSlotTypeInput {
9669	s.LocaleId = &v
9670	return s
9671}
9672
9673// SetParentSlotTypeSignature sets the ParentSlotTypeSignature field's value.
9674func (s *CreateSlotTypeInput) SetParentSlotTypeSignature(v string) *CreateSlotTypeInput {
9675	s.ParentSlotTypeSignature = &v
9676	return s
9677}
9678
9679// SetSlotTypeName sets the SlotTypeName field's value.
9680func (s *CreateSlotTypeInput) SetSlotTypeName(v string) *CreateSlotTypeInput {
9681	s.SlotTypeName = &v
9682	return s
9683}
9684
9685// SetSlotTypeValues sets the SlotTypeValues field's value.
9686func (s *CreateSlotTypeInput) SetSlotTypeValues(v []*SlotTypeValue) *CreateSlotTypeInput {
9687	s.SlotTypeValues = v
9688	return s
9689}
9690
9691// SetValueSelectionSetting sets the ValueSelectionSetting field's value.
9692func (s *CreateSlotTypeInput) SetValueSelectionSetting(v *SlotValueSelectionSetting) *CreateSlotTypeInput {
9693	s.ValueSelectionSetting = v
9694	return s
9695}
9696
9697type CreateSlotTypeOutput struct {
9698	_ struct{} `type:"structure"`
9699
9700	// The identifier for the bot associated with the slot type.
9701	BotId *string `locationName:"botId" min:"10" type:"string"`
9702
9703	// The version of the bot associated with the slot type.
9704	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
9705
9706	// A timestamp of the date and time that the slot type was created.
9707	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
9708
9709	// The description specified for the slot type.
9710	Description *string `locationName:"description" type:"string"`
9711
9712	// The specified language and local specified for the slot type.
9713	LocaleId *string `locationName:"localeId" type:"string"`
9714
9715	// The signature of the base slot type specified for the slot type.
9716	ParentSlotTypeSignature *string `locationName:"parentSlotTypeSignature" type:"string"`
9717
9718	// The unique identifier assigned to the slot type. Use this to identify the
9719	// slot type in the UpdateSlotType and DeleteSlotType operations.
9720	SlotTypeId *string `locationName:"slotTypeId" min:"10" type:"string"`
9721
9722	// The name specified for the slot type.
9723	SlotTypeName *string `locationName:"slotTypeName" min:"1" type:"string"`
9724
9725	// The list of values that the slot type can assume.
9726	SlotTypeValues []*SlotTypeValue `locationName:"slotTypeValues" min:"1" type:"list"`
9727
9728	// The strategy that Amazon Lex uses to select a value from the list of possible
9729	// values.
9730	ValueSelectionSetting *SlotValueSelectionSetting `locationName:"valueSelectionSetting" type:"structure"`
9731}
9732
9733// String returns the string representation
9734func (s CreateSlotTypeOutput) String() string {
9735	return awsutil.Prettify(s)
9736}
9737
9738// GoString returns the string representation
9739func (s CreateSlotTypeOutput) GoString() string {
9740	return s.String()
9741}
9742
9743// SetBotId sets the BotId field's value.
9744func (s *CreateSlotTypeOutput) SetBotId(v string) *CreateSlotTypeOutput {
9745	s.BotId = &v
9746	return s
9747}
9748
9749// SetBotVersion sets the BotVersion field's value.
9750func (s *CreateSlotTypeOutput) SetBotVersion(v string) *CreateSlotTypeOutput {
9751	s.BotVersion = &v
9752	return s
9753}
9754
9755// SetCreationDateTime sets the CreationDateTime field's value.
9756func (s *CreateSlotTypeOutput) SetCreationDateTime(v time.Time) *CreateSlotTypeOutput {
9757	s.CreationDateTime = &v
9758	return s
9759}
9760
9761// SetDescription sets the Description field's value.
9762func (s *CreateSlotTypeOutput) SetDescription(v string) *CreateSlotTypeOutput {
9763	s.Description = &v
9764	return s
9765}
9766
9767// SetLocaleId sets the LocaleId field's value.
9768func (s *CreateSlotTypeOutput) SetLocaleId(v string) *CreateSlotTypeOutput {
9769	s.LocaleId = &v
9770	return s
9771}
9772
9773// SetParentSlotTypeSignature sets the ParentSlotTypeSignature field's value.
9774func (s *CreateSlotTypeOutput) SetParentSlotTypeSignature(v string) *CreateSlotTypeOutput {
9775	s.ParentSlotTypeSignature = &v
9776	return s
9777}
9778
9779// SetSlotTypeId sets the SlotTypeId field's value.
9780func (s *CreateSlotTypeOutput) SetSlotTypeId(v string) *CreateSlotTypeOutput {
9781	s.SlotTypeId = &v
9782	return s
9783}
9784
9785// SetSlotTypeName sets the SlotTypeName field's value.
9786func (s *CreateSlotTypeOutput) SetSlotTypeName(v string) *CreateSlotTypeOutput {
9787	s.SlotTypeName = &v
9788	return s
9789}
9790
9791// SetSlotTypeValues sets the SlotTypeValues field's value.
9792func (s *CreateSlotTypeOutput) SetSlotTypeValues(v []*SlotTypeValue) *CreateSlotTypeOutput {
9793	s.SlotTypeValues = v
9794	return s
9795}
9796
9797// SetValueSelectionSetting sets the ValueSelectionSetting field's value.
9798func (s *CreateSlotTypeOutput) SetValueSelectionSetting(v *SlotValueSelectionSetting) *CreateSlotTypeOutput {
9799	s.ValueSelectionSetting = v
9800	return s
9801}
9802
9803type CreateUploadUrlInput struct {
9804	_ struct{} `type:"structure"`
9805}
9806
9807// String returns the string representation
9808func (s CreateUploadUrlInput) String() string {
9809	return awsutil.Prettify(s)
9810}
9811
9812// GoString returns the string representation
9813func (s CreateUploadUrlInput) GoString() string {
9814	return s.String()
9815}
9816
9817type CreateUploadUrlOutput struct {
9818	_ struct{} `type:"structure"`
9819
9820	// An identifier for a unique import job. Use it when you call the operation.
9821	ImportId *string `locationName:"importId" min:"10" type:"string"`
9822
9823	// A pre-signed S3 write URL. Upload the zip archive file that contains the
9824	// definition of your bot or bot locale.
9825	UploadUrl *string `locationName:"uploadUrl" min:"1" type:"string"`
9826}
9827
9828// String returns the string representation
9829func (s CreateUploadUrlOutput) String() string {
9830	return awsutil.Prettify(s)
9831}
9832
9833// GoString returns the string representation
9834func (s CreateUploadUrlOutput) GoString() string {
9835	return s.String()
9836}
9837
9838// SetImportId sets the ImportId field's value.
9839func (s *CreateUploadUrlOutput) SetImportId(v string) *CreateUploadUrlOutput {
9840	s.ImportId = &v
9841	return s
9842}
9843
9844// SetUploadUrl sets the UploadUrl field's value.
9845func (s *CreateUploadUrlOutput) SetUploadUrl(v string) *CreateUploadUrlOutput {
9846	s.UploadUrl = &v
9847	return s
9848}
9849
9850// A custom response string that Amazon Lex sends to your application. You define
9851// the content and structure the string.
9852type CustomPayload struct {
9853	_ struct{} `type:"structure"`
9854
9855	// The string that is sent to your application.
9856	//
9857	// Value is a required field
9858	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
9859}
9860
9861// String returns the string representation
9862func (s CustomPayload) String() string {
9863	return awsutil.Prettify(s)
9864}
9865
9866// GoString returns the string representation
9867func (s CustomPayload) GoString() string {
9868	return s.String()
9869}
9870
9871// Validate inspects the fields of the type to determine if they are valid.
9872func (s *CustomPayload) Validate() error {
9873	invalidParams := request.ErrInvalidParams{Context: "CustomPayload"}
9874	if s.Value == nil {
9875		invalidParams.Add(request.NewErrParamRequired("Value"))
9876	}
9877	if s.Value != nil && len(*s.Value) < 1 {
9878		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
9879	}
9880
9881	if invalidParams.Len() > 0 {
9882		return invalidParams
9883	}
9884	return nil
9885}
9886
9887// SetValue sets the Value field's value.
9888func (s *CustomPayload) SetValue(v string) *CustomPayload {
9889	s.Value = &v
9890	return s
9891}
9892
9893// By default, data stored by Amazon Lex is encrypted. The DataPrivacy structure
9894// provides settings that determine how Amazon Lex handles special cases of
9895// securing the data for your bot.
9896type DataPrivacy struct {
9897	_ struct{} `type:"structure"`
9898
9899	// For each Amazon Lex bot created with the Amazon Lex Model Building Service,
9900	// you must specify whether your use of Amazon Lex is related to a website,
9901	// program, or other application that is directed or targeted, in whole or in
9902	// part, to children under age 13 and subject to the Children's Online Privacy
9903	// Protection Act (COPPA) by specifying true or false in the childDirected field.
9904	// By specifying true in the childDirected field, you confirm that your use
9905	// of Amazon Lex is related to a website, program, or other application that
9906	// is directed or targeted, in whole or in part, to children under age 13 and
9907	// subject to COPPA. By specifying false in the childDirected field, you confirm
9908	// that your use of Amazon Lex is not related to a website, program, or other
9909	// application that is directed or targeted, in whole or in part, to children
9910	// under age 13 and subject to COPPA. You may not specify a default value for
9911	// the childDirected field that does not accurately reflect whether your use
9912	// of Amazon Lex is related to a website, program, or other application that
9913	// is directed or targeted, in whole or in part, to children under age 13 and
9914	// subject to COPPA. If your use of Amazon Lex relates to a website, program,
9915	// or other application that is directed in whole or in part, to children under
9916	// age 13, you must obtain any required verifiable parental consent under COPPA.
9917	// For information regarding the use of Amazon Lex in connection with websites,
9918	// programs, or other applications that are directed or targeted, in whole or
9919	// in part, to children under age 13, see the Amazon Lex FAQ (https://aws.amazon.com/lex/faqs#data-security).
9920	//
9921	// ChildDirected is a required field
9922	ChildDirected *bool `locationName:"childDirected" type:"boolean" required:"true"`
9923}
9924
9925// String returns the string representation
9926func (s DataPrivacy) String() string {
9927	return awsutil.Prettify(s)
9928}
9929
9930// GoString returns the string representation
9931func (s DataPrivacy) GoString() string {
9932	return s.String()
9933}
9934
9935// Validate inspects the fields of the type to determine if they are valid.
9936func (s *DataPrivacy) Validate() error {
9937	invalidParams := request.ErrInvalidParams{Context: "DataPrivacy"}
9938	if s.ChildDirected == nil {
9939		invalidParams.Add(request.NewErrParamRequired("ChildDirected"))
9940	}
9941
9942	if invalidParams.Len() > 0 {
9943		return invalidParams
9944	}
9945	return nil
9946}
9947
9948// SetChildDirected sets the ChildDirected field's value.
9949func (s *DataPrivacy) SetChildDirected(v bool) *DataPrivacy {
9950	s.ChildDirected = &v
9951	return s
9952}
9953
9954type DeleteBotAliasInput struct {
9955	_ struct{} `type:"structure"`
9956
9957	// The unique identifier of the bot alias to delete.
9958	//
9959	// BotAliasId is a required field
9960	BotAliasId *string `location:"uri" locationName:"botAliasId" min:"10" type:"string" required:"true"`
9961
9962	// The unique identifier of the bot associated with the alias to delete.
9963	//
9964	// BotId is a required field
9965	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
9966
9967	// When this parameter is true, Amazon Lex doesn't check to see if any other
9968	// resource is using the alias before it is deleted.
9969	SkipResourceInUseCheck *bool `location:"querystring" locationName:"skipResourceInUseCheck" type:"boolean"`
9970}
9971
9972// String returns the string representation
9973func (s DeleteBotAliasInput) String() string {
9974	return awsutil.Prettify(s)
9975}
9976
9977// GoString returns the string representation
9978func (s DeleteBotAliasInput) GoString() string {
9979	return s.String()
9980}
9981
9982// Validate inspects the fields of the type to determine if they are valid.
9983func (s *DeleteBotAliasInput) Validate() error {
9984	invalidParams := request.ErrInvalidParams{Context: "DeleteBotAliasInput"}
9985	if s.BotAliasId == nil {
9986		invalidParams.Add(request.NewErrParamRequired("BotAliasId"))
9987	}
9988	if s.BotAliasId != nil && len(*s.BotAliasId) < 10 {
9989		invalidParams.Add(request.NewErrParamMinLen("BotAliasId", 10))
9990	}
9991	if s.BotId == nil {
9992		invalidParams.Add(request.NewErrParamRequired("BotId"))
9993	}
9994	if s.BotId != nil && len(*s.BotId) < 10 {
9995		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
9996	}
9997
9998	if invalidParams.Len() > 0 {
9999		return invalidParams
10000	}
10001	return nil
10002}
10003
10004// SetBotAliasId sets the BotAliasId field's value.
10005func (s *DeleteBotAliasInput) SetBotAliasId(v string) *DeleteBotAliasInput {
10006	s.BotAliasId = &v
10007	return s
10008}
10009
10010// SetBotId sets the BotId field's value.
10011func (s *DeleteBotAliasInput) SetBotId(v string) *DeleteBotAliasInput {
10012	s.BotId = &v
10013	return s
10014}
10015
10016// SetSkipResourceInUseCheck sets the SkipResourceInUseCheck field's value.
10017func (s *DeleteBotAliasInput) SetSkipResourceInUseCheck(v bool) *DeleteBotAliasInput {
10018	s.SkipResourceInUseCheck = &v
10019	return s
10020}
10021
10022type DeleteBotAliasOutput struct {
10023	_ struct{} `type:"structure"`
10024
10025	// The unique identifier of the bot alias to delete.
10026	BotAliasId *string `locationName:"botAliasId" min:"10" type:"string"`
10027
10028	// The current status of the alias. The status is Deleting while the alias is
10029	// in the process of being deleted. Once the alias is deleted, it will no longer
10030	// appear in the list of aliases returned by the ListBotAliases operation.
10031	BotAliasStatus *string `locationName:"botAliasStatus" type:"string" enum:"BotAliasStatus"`
10032
10033	// The unique identifier of the bot that contains the alias to delete.
10034	BotId *string `locationName:"botId" min:"10" type:"string"`
10035}
10036
10037// String returns the string representation
10038func (s DeleteBotAliasOutput) String() string {
10039	return awsutil.Prettify(s)
10040}
10041
10042// GoString returns the string representation
10043func (s DeleteBotAliasOutput) GoString() string {
10044	return s.String()
10045}
10046
10047// SetBotAliasId sets the BotAliasId field's value.
10048func (s *DeleteBotAliasOutput) SetBotAliasId(v string) *DeleteBotAliasOutput {
10049	s.BotAliasId = &v
10050	return s
10051}
10052
10053// SetBotAliasStatus sets the BotAliasStatus field's value.
10054func (s *DeleteBotAliasOutput) SetBotAliasStatus(v string) *DeleteBotAliasOutput {
10055	s.BotAliasStatus = &v
10056	return s
10057}
10058
10059// SetBotId sets the BotId field's value.
10060func (s *DeleteBotAliasOutput) SetBotId(v string) *DeleteBotAliasOutput {
10061	s.BotId = &v
10062	return s
10063}
10064
10065type DeleteBotInput struct {
10066	_ struct{} `type:"structure"`
10067
10068	// The identifier of the bot to delete.
10069	//
10070	// BotId is a required field
10071	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
10072
10073	// When true, Amazon Lex doesn't check to see if another resource, such as an
10074	// alias, is using the bot before it is deleted.
10075	SkipResourceInUseCheck *bool `location:"querystring" locationName:"skipResourceInUseCheck" type:"boolean"`
10076}
10077
10078// String returns the string representation
10079func (s DeleteBotInput) String() string {
10080	return awsutil.Prettify(s)
10081}
10082
10083// GoString returns the string representation
10084func (s DeleteBotInput) GoString() string {
10085	return s.String()
10086}
10087
10088// Validate inspects the fields of the type to determine if they are valid.
10089func (s *DeleteBotInput) Validate() error {
10090	invalidParams := request.ErrInvalidParams{Context: "DeleteBotInput"}
10091	if s.BotId == nil {
10092		invalidParams.Add(request.NewErrParamRequired("BotId"))
10093	}
10094	if s.BotId != nil && len(*s.BotId) < 10 {
10095		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
10096	}
10097
10098	if invalidParams.Len() > 0 {
10099		return invalidParams
10100	}
10101	return nil
10102}
10103
10104// SetBotId sets the BotId field's value.
10105func (s *DeleteBotInput) SetBotId(v string) *DeleteBotInput {
10106	s.BotId = &v
10107	return s
10108}
10109
10110// SetSkipResourceInUseCheck sets the SkipResourceInUseCheck field's value.
10111func (s *DeleteBotInput) SetSkipResourceInUseCheck(v bool) *DeleteBotInput {
10112	s.SkipResourceInUseCheck = &v
10113	return s
10114}
10115
10116type DeleteBotLocaleInput struct {
10117	_ struct{} `type:"structure"`
10118
10119	// The unique identifier of the bot that contains the locale.
10120	//
10121	// BotId is a required field
10122	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
10123
10124	// The version of the bot that contains the locale.
10125	//
10126	// BotVersion is a required field
10127	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
10128
10129	// The identifier of the language and locale that will be deleted. The string
10130	// must match one of the supported locales. For more information, see Supported
10131	// languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
10132	//
10133	// LocaleId is a required field
10134	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
10135}
10136
10137// String returns the string representation
10138func (s DeleteBotLocaleInput) String() string {
10139	return awsutil.Prettify(s)
10140}
10141
10142// GoString returns the string representation
10143func (s DeleteBotLocaleInput) GoString() string {
10144	return s.String()
10145}
10146
10147// Validate inspects the fields of the type to determine if they are valid.
10148func (s *DeleteBotLocaleInput) Validate() error {
10149	invalidParams := request.ErrInvalidParams{Context: "DeleteBotLocaleInput"}
10150	if s.BotId == nil {
10151		invalidParams.Add(request.NewErrParamRequired("BotId"))
10152	}
10153	if s.BotId != nil && len(*s.BotId) < 10 {
10154		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
10155	}
10156	if s.BotVersion == nil {
10157		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
10158	}
10159	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
10160		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
10161	}
10162	if s.LocaleId == nil {
10163		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
10164	}
10165	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
10166		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
10167	}
10168
10169	if invalidParams.Len() > 0 {
10170		return invalidParams
10171	}
10172	return nil
10173}
10174
10175// SetBotId sets the BotId field's value.
10176func (s *DeleteBotLocaleInput) SetBotId(v string) *DeleteBotLocaleInput {
10177	s.BotId = &v
10178	return s
10179}
10180
10181// SetBotVersion sets the BotVersion field's value.
10182func (s *DeleteBotLocaleInput) SetBotVersion(v string) *DeleteBotLocaleInput {
10183	s.BotVersion = &v
10184	return s
10185}
10186
10187// SetLocaleId sets the LocaleId field's value.
10188func (s *DeleteBotLocaleInput) SetLocaleId(v string) *DeleteBotLocaleInput {
10189	s.LocaleId = &v
10190	return s
10191}
10192
10193type DeleteBotLocaleOutput struct {
10194	_ struct{} `type:"structure"`
10195
10196	// The identifier of the bot that contained the deleted locale.
10197	BotId *string `locationName:"botId" min:"10" type:"string"`
10198
10199	// The status of deleting the bot locale. The locale first enters the Deleting
10200	// status. Once the locale is deleted it no longer appears in the list of locales
10201	// for the bot.
10202	BotLocaleStatus *string `locationName:"botLocaleStatus" type:"string" enum:"BotLocaleStatus"`
10203
10204	// The version of the bot that contained the deleted locale.
10205	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
10206
10207	// The language and locale of the deleted locale.
10208	LocaleId *string `locationName:"localeId" type:"string"`
10209}
10210
10211// String returns the string representation
10212func (s DeleteBotLocaleOutput) String() string {
10213	return awsutil.Prettify(s)
10214}
10215
10216// GoString returns the string representation
10217func (s DeleteBotLocaleOutput) GoString() string {
10218	return s.String()
10219}
10220
10221// SetBotId sets the BotId field's value.
10222func (s *DeleteBotLocaleOutput) SetBotId(v string) *DeleteBotLocaleOutput {
10223	s.BotId = &v
10224	return s
10225}
10226
10227// SetBotLocaleStatus sets the BotLocaleStatus field's value.
10228func (s *DeleteBotLocaleOutput) SetBotLocaleStatus(v string) *DeleteBotLocaleOutput {
10229	s.BotLocaleStatus = &v
10230	return s
10231}
10232
10233// SetBotVersion sets the BotVersion field's value.
10234func (s *DeleteBotLocaleOutput) SetBotVersion(v string) *DeleteBotLocaleOutput {
10235	s.BotVersion = &v
10236	return s
10237}
10238
10239// SetLocaleId sets the LocaleId field's value.
10240func (s *DeleteBotLocaleOutput) SetLocaleId(v string) *DeleteBotLocaleOutput {
10241	s.LocaleId = &v
10242	return s
10243}
10244
10245type DeleteBotOutput struct {
10246	_ struct{} `type:"structure"`
10247
10248	// The unique identifier of the bot that Amazon Lex is deleting.
10249	BotId *string `locationName:"botId" min:"10" type:"string"`
10250
10251	// The current status of the bot. The status is Deleting while the bot and its
10252	// associated resources are being deleted.
10253	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
10254}
10255
10256// String returns the string representation
10257func (s DeleteBotOutput) String() string {
10258	return awsutil.Prettify(s)
10259}
10260
10261// GoString returns the string representation
10262func (s DeleteBotOutput) GoString() string {
10263	return s.String()
10264}
10265
10266// SetBotId sets the BotId field's value.
10267func (s *DeleteBotOutput) SetBotId(v string) *DeleteBotOutput {
10268	s.BotId = &v
10269	return s
10270}
10271
10272// SetBotStatus sets the BotStatus field's value.
10273func (s *DeleteBotOutput) SetBotStatus(v string) *DeleteBotOutput {
10274	s.BotStatus = &v
10275	return s
10276}
10277
10278type DeleteBotVersionInput struct {
10279	_ struct{} `type:"structure"`
10280
10281	// The identifier of the bot that contains the version.
10282	//
10283	// BotId is a required field
10284	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
10285
10286	// The version of the bot to delete.
10287	//
10288	// BotVersion is a required field
10289	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
10290
10291	// By default, the DeleteBotVersion operations throws a ResourceInUseException
10292	// exception if you try to delete a bot version that has an alias pointing at
10293	// it. Set the skipResourceInUseCheck parameter to true to skip this check and
10294	// remove the version even if an alias points to it.
10295	SkipResourceInUseCheck *bool `location:"querystring" locationName:"skipResourceInUseCheck" type:"boolean"`
10296}
10297
10298// String returns the string representation
10299func (s DeleteBotVersionInput) String() string {
10300	return awsutil.Prettify(s)
10301}
10302
10303// GoString returns the string representation
10304func (s DeleteBotVersionInput) GoString() string {
10305	return s.String()
10306}
10307
10308// Validate inspects the fields of the type to determine if they are valid.
10309func (s *DeleteBotVersionInput) Validate() error {
10310	invalidParams := request.ErrInvalidParams{Context: "DeleteBotVersionInput"}
10311	if s.BotId == nil {
10312		invalidParams.Add(request.NewErrParamRequired("BotId"))
10313	}
10314	if s.BotId != nil && len(*s.BotId) < 10 {
10315		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
10316	}
10317	if s.BotVersion == nil {
10318		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
10319	}
10320	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
10321		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
10322	}
10323
10324	if invalidParams.Len() > 0 {
10325		return invalidParams
10326	}
10327	return nil
10328}
10329
10330// SetBotId sets the BotId field's value.
10331func (s *DeleteBotVersionInput) SetBotId(v string) *DeleteBotVersionInput {
10332	s.BotId = &v
10333	return s
10334}
10335
10336// SetBotVersion sets the BotVersion field's value.
10337func (s *DeleteBotVersionInput) SetBotVersion(v string) *DeleteBotVersionInput {
10338	s.BotVersion = &v
10339	return s
10340}
10341
10342// SetSkipResourceInUseCheck sets the SkipResourceInUseCheck field's value.
10343func (s *DeleteBotVersionInput) SetSkipResourceInUseCheck(v bool) *DeleteBotVersionInput {
10344	s.SkipResourceInUseCheck = &v
10345	return s
10346}
10347
10348type DeleteBotVersionOutput struct {
10349	_ struct{} `type:"structure"`
10350
10351	// The identifier of the bot that is being deleted.
10352	BotId *string `locationName:"botId" min:"10" type:"string"`
10353
10354	// The current status of the bot.
10355	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
10356
10357	// The version of the bot that is being deleted.
10358	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
10359}
10360
10361// String returns the string representation
10362func (s DeleteBotVersionOutput) String() string {
10363	return awsutil.Prettify(s)
10364}
10365
10366// GoString returns the string representation
10367func (s DeleteBotVersionOutput) GoString() string {
10368	return s.String()
10369}
10370
10371// SetBotId sets the BotId field's value.
10372func (s *DeleteBotVersionOutput) SetBotId(v string) *DeleteBotVersionOutput {
10373	s.BotId = &v
10374	return s
10375}
10376
10377// SetBotStatus sets the BotStatus field's value.
10378func (s *DeleteBotVersionOutput) SetBotStatus(v string) *DeleteBotVersionOutput {
10379	s.BotStatus = &v
10380	return s
10381}
10382
10383// SetBotVersion sets the BotVersion field's value.
10384func (s *DeleteBotVersionOutput) SetBotVersion(v string) *DeleteBotVersionOutput {
10385	s.BotVersion = &v
10386	return s
10387}
10388
10389type DeleteExportInput struct {
10390	_ struct{} `type:"structure"`
10391
10392	// The unique identifier of the export to delete.
10393	//
10394	// ExportId is a required field
10395	ExportId *string `location:"uri" locationName:"exportId" min:"10" type:"string" required:"true"`
10396}
10397
10398// String returns the string representation
10399func (s DeleteExportInput) String() string {
10400	return awsutil.Prettify(s)
10401}
10402
10403// GoString returns the string representation
10404func (s DeleteExportInput) GoString() string {
10405	return s.String()
10406}
10407
10408// Validate inspects the fields of the type to determine if they are valid.
10409func (s *DeleteExportInput) Validate() error {
10410	invalidParams := request.ErrInvalidParams{Context: "DeleteExportInput"}
10411	if s.ExportId == nil {
10412		invalidParams.Add(request.NewErrParamRequired("ExportId"))
10413	}
10414	if s.ExportId != nil && len(*s.ExportId) < 10 {
10415		invalidParams.Add(request.NewErrParamMinLen("ExportId", 10))
10416	}
10417
10418	if invalidParams.Len() > 0 {
10419		return invalidParams
10420	}
10421	return nil
10422}
10423
10424// SetExportId sets the ExportId field's value.
10425func (s *DeleteExportInput) SetExportId(v string) *DeleteExportInput {
10426	s.ExportId = &v
10427	return s
10428}
10429
10430type DeleteExportOutput struct {
10431	_ struct{} `type:"structure"`
10432
10433	// The unique identifier of the deleted export.
10434	ExportId *string `locationName:"exportId" min:"10" type:"string"`
10435
10436	// The current status of the deletion. When the deletion is complete, the export
10437	// will no longer be returned by the operation and calls to the with the export
10438	// identifier will fail.
10439	ExportStatus *string `locationName:"exportStatus" type:"string" enum:"ExportStatus"`
10440}
10441
10442// String returns the string representation
10443func (s DeleteExportOutput) String() string {
10444	return awsutil.Prettify(s)
10445}
10446
10447// GoString returns the string representation
10448func (s DeleteExportOutput) GoString() string {
10449	return s.String()
10450}
10451
10452// SetExportId sets the ExportId field's value.
10453func (s *DeleteExportOutput) SetExportId(v string) *DeleteExportOutput {
10454	s.ExportId = &v
10455	return s
10456}
10457
10458// SetExportStatus sets the ExportStatus field's value.
10459func (s *DeleteExportOutput) SetExportStatus(v string) *DeleteExportOutput {
10460	s.ExportStatus = &v
10461	return s
10462}
10463
10464type DeleteImportInput struct {
10465	_ struct{} `type:"structure"`
10466
10467	// The unique identifier of the import to delete.
10468	//
10469	// ImportId is a required field
10470	ImportId *string `location:"uri" locationName:"importId" min:"10" type:"string" required:"true"`
10471}
10472
10473// String returns the string representation
10474func (s DeleteImportInput) String() string {
10475	return awsutil.Prettify(s)
10476}
10477
10478// GoString returns the string representation
10479func (s DeleteImportInput) GoString() string {
10480	return s.String()
10481}
10482
10483// Validate inspects the fields of the type to determine if they are valid.
10484func (s *DeleteImportInput) Validate() error {
10485	invalidParams := request.ErrInvalidParams{Context: "DeleteImportInput"}
10486	if s.ImportId == nil {
10487		invalidParams.Add(request.NewErrParamRequired("ImportId"))
10488	}
10489	if s.ImportId != nil && len(*s.ImportId) < 10 {
10490		invalidParams.Add(request.NewErrParamMinLen("ImportId", 10))
10491	}
10492
10493	if invalidParams.Len() > 0 {
10494		return invalidParams
10495	}
10496	return nil
10497}
10498
10499// SetImportId sets the ImportId field's value.
10500func (s *DeleteImportInput) SetImportId(v string) *DeleteImportInput {
10501	s.ImportId = &v
10502	return s
10503}
10504
10505type DeleteImportOutput struct {
10506	_ struct{} `type:"structure"`
10507
10508	// The unique identifier of the deleted import.
10509	ImportId *string `locationName:"importId" min:"10" type:"string"`
10510
10511	// The current status of the deletion. When the deletion is complete, the import
10512	// will no longer be returned by the operation and calls to the with the import
10513	// identifier will fail.
10514	ImportStatus *string `locationName:"importStatus" type:"string" enum:"ImportStatus"`
10515}
10516
10517// String returns the string representation
10518func (s DeleteImportOutput) String() string {
10519	return awsutil.Prettify(s)
10520}
10521
10522// GoString returns the string representation
10523func (s DeleteImportOutput) GoString() string {
10524	return s.String()
10525}
10526
10527// SetImportId sets the ImportId field's value.
10528func (s *DeleteImportOutput) SetImportId(v string) *DeleteImportOutput {
10529	s.ImportId = &v
10530	return s
10531}
10532
10533// SetImportStatus sets the ImportStatus field's value.
10534func (s *DeleteImportOutput) SetImportStatus(v string) *DeleteImportOutput {
10535	s.ImportStatus = &v
10536	return s
10537}
10538
10539type DeleteIntentInput struct {
10540	_ struct{} `type:"structure"`
10541
10542	// The identifier of the bot associated with the intent.
10543	//
10544	// BotId is a required field
10545	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
10546
10547	// The version of the bot associated with the intent.
10548	//
10549	// BotVersion is a required field
10550	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
10551
10552	// The unique identifier of the intent to delete.
10553	//
10554	// IntentId is a required field
10555	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
10556
10557	// The identifier of the language and locale where the bot will be deleted.
10558	// The string must match one of the supported locales. For more information,
10559	// see Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
10560	//
10561	// LocaleId is a required field
10562	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
10563}
10564
10565// String returns the string representation
10566func (s DeleteIntentInput) String() string {
10567	return awsutil.Prettify(s)
10568}
10569
10570// GoString returns the string representation
10571func (s DeleteIntentInput) GoString() string {
10572	return s.String()
10573}
10574
10575// Validate inspects the fields of the type to determine if they are valid.
10576func (s *DeleteIntentInput) Validate() error {
10577	invalidParams := request.ErrInvalidParams{Context: "DeleteIntentInput"}
10578	if s.BotId == nil {
10579		invalidParams.Add(request.NewErrParamRequired("BotId"))
10580	}
10581	if s.BotId != nil && len(*s.BotId) < 10 {
10582		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
10583	}
10584	if s.BotVersion == nil {
10585		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
10586	}
10587	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
10588		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
10589	}
10590	if s.IntentId == nil {
10591		invalidParams.Add(request.NewErrParamRequired("IntentId"))
10592	}
10593	if s.IntentId != nil && len(*s.IntentId) < 10 {
10594		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
10595	}
10596	if s.LocaleId == nil {
10597		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
10598	}
10599	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
10600		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
10601	}
10602
10603	if invalidParams.Len() > 0 {
10604		return invalidParams
10605	}
10606	return nil
10607}
10608
10609// SetBotId sets the BotId field's value.
10610func (s *DeleteIntentInput) SetBotId(v string) *DeleteIntentInput {
10611	s.BotId = &v
10612	return s
10613}
10614
10615// SetBotVersion sets the BotVersion field's value.
10616func (s *DeleteIntentInput) SetBotVersion(v string) *DeleteIntentInput {
10617	s.BotVersion = &v
10618	return s
10619}
10620
10621// SetIntentId sets the IntentId field's value.
10622func (s *DeleteIntentInput) SetIntentId(v string) *DeleteIntentInput {
10623	s.IntentId = &v
10624	return s
10625}
10626
10627// SetLocaleId sets the LocaleId field's value.
10628func (s *DeleteIntentInput) SetLocaleId(v string) *DeleteIntentInput {
10629	s.LocaleId = &v
10630	return s
10631}
10632
10633type DeleteIntentOutput struct {
10634	_ struct{} `type:"structure"`
10635}
10636
10637// String returns the string representation
10638func (s DeleteIntentOutput) String() string {
10639	return awsutil.Prettify(s)
10640}
10641
10642// GoString returns the string representation
10643func (s DeleteIntentOutput) GoString() string {
10644	return s.String()
10645}
10646
10647type DeleteResourcePolicyInput struct {
10648	_ struct{} `type:"structure"`
10649
10650	// The identifier of the revision to edit. If this ID doesn't match the current
10651	// revision number, Amazon Lex returns an exception
10652	//
10653	// If you don't specify a revision ID, Amazon Lex will delete the current policy.
10654	ExpectedRevisionId *string `location:"querystring" locationName:"expectedRevisionId" min:"1" type:"string"`
10655
10656	// The Amazon Resource Name (ARN) of the bot or bot alias that has the resource
10657	// policy attached.
10658	//
10659	// ResourceArn is a required field
10660	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
10661}
10662
10663// String returns the string representation
10664func (s DeleteResourcePolicyInput) String() string {
10665	return awsutil.Prettify(s)
10666}
10667
10668// GoString returns the string representation
10669func (s DeleteResourcePolicyInput) GoString() string {
10670	return s.String()
10671}
10672
10673// Validate inspects the fields of the type to determine if they are valid.
10674func (s *DeleteResourcePolicyInput) Validate() error {
10675	invalidParams := request.ErrInvalidParams{Context: "DeleteResourcePolicyInput"}
10676	if s.ExpectedRevisionId != nil && len(*s.ExpectedRevisionId) < 1 {
10677		invalidParams.Add(request.NewErrParamMinLen("ExpectedRevisionId", 1))
10678	}
10679	if s.ResourceArn == nil {
10680		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10681	}
10682	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
10683		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
10684	}
10685
10686	if invalidParams.Len() > 0 {
10687		return invalidParams
10688	}
10689	return nil
10690}
10691
10692// SetExpectedRevisionId sets the ExpectedRevisionId field's value.
10693func (s *DeleteResourcePolicyInput) SetExpectedRevisionId(v string) *DeleteResourcePolicyInput {
10694	s.ExpectedRevisionId = &v
10695	return s
10696}
10697
10698// SetResourceArn sets the ResourceArn field's value.
10699func (s *DeleteResourcePolicyInput) SetResourceArn(v string) *DeleteResourcePolicyInput {
10700	s.ResourceArn = &v
10701	return s
10702}
10703
10704type DeleteResourcePolicyOutput struct {
10705	_ struct{} `type:"structure"`
10706
10707	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource
10708	// policy was deleted from.
10709	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string"`
10710
10711	// The current revision of the resource policy. Use the revision ID to make
10712	// sure that you are updating the most current version of a resource policy
10713	// when you add a policy statement to a resource, delete a resource, or update
10714	// a resource.
10715	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
10716}
10717
10718// String returns the string representation
10719func (s DeleteResourcePolicyOutput) String() string {
10720	return awsutil.Prettify(s)
10721}
10722
10723// GoString returns the string representation
10724func (s DeleteResourcePolicyOutput) GoString() string {
10725	return s.String()
10726}
10727
10728// SetResourceArn sets the ResourceArn field's value.
10729func (s *DeleteResourcePolicyOutput) SetResourceArn(v string) *DeleteResourcePolicyOutput {
10730	s.ResourceArn = &v
10731	return s
10732}
10733
10734// SetRevisionId sets the RevisionId field's value.
10735func (s *DeleteResourcePolicyOutput) SetRevisionId(v string) *DeleteResourcePolicyOutput {
10736	s.RevisionId = &v
10737	return s
10738}
10739
10740type DeleteResourcePolicyStatementInput struct {
10741	_ struct{} `type:"structure"`
10742
10743	// The identifier of the revision of the policy to delete the statement from.
10744	// If this revision ID doesn't match the current revision ID, Amazon Lex throws
10745	// an exception.
10746	//
10747	// If you don't specify a revision, Amazon Lex removes the current contents
10748	// of the statement.
10749	ExpectedRevisionId *string `location:"querystring" locationName:"expectedRevisionId" min:"1" type:"string"`
10750
10751	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource
10752	// policy is attached to.
10753	//
10754	// ResourceArn is a required field
10755	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
10756
10757	// The name of the statement (SID) to delete from the policy.
10758	//
10759	// StatementId is a required field
10760	StatementId *string `location:"uri" locationName:"statementId" min:"1" type:"string" required:"true"`
10761}
10762
10763// String returns the string representation
10764func (s DeleteResourcePolicyStatementInput) String() string {
10765	return awsutil.Prettify(s)
10766}
10767
10768// GoString returns the string representation
10769func (s DeleteResourcePolicyStatementInput) GoString() string {
10770	return s.String()
10771}
10772
10773// Validate inspects the fields of the type to determine if they are valid.
10774func (s *DeleteResourcePolicyStatementInput) Validate() error {
10775	invalidParams := request.ErrInvalidParams{Context: "DeleteResourcePolicyStatementInput"}
10776	if s.ExpectedRevisionId != nil && len(*s.ExpectedRevisionId) < 1 {
10777		invalidParams.Add(request.NewErrParamMinLen("ExpectedRevisionId", 1))
10778	}
10779	if s.ResourceArn == nil {
10780		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10781	}
10782	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
10783		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
10784	}
10785	if s.StatementId == nil {
10786		invalidParams.Add(request.NewErrParamRequired("StatementId"))
10787	}
10788	if s.StatementId != nil && len(*s.StatementId) < 1 {
10789		invalidParams.Add(request.NewErrParamMinLen("StatementId", 1))
10790	}
10791
10792	if invalidParams.Len() > 0 {
10793		return invalidParams
10794	}
10795	return nil
10796}
10797
10798// SetExpectedRevisionId sets the ExpectedRevisionId field's value.
10799func (s *DeleteResourcePolicyStatementInput) SetExpectedRevisionId(v string) *DeleteResourcePolicyStatementInput {
10800	s.ExpectedRevisionId = &v
10801	return s
10802}
10803
10804// SetResourceArn sets the ResourceArn field's value.
10805func (s *DeleteResourcePolicyStatementInput) SetResourceArn(v string) *DeleteResourcePolicyStatementInput {
10806	s.ResourceArn = &v
10807	return s
10808}
10809
10810// SetStatementId sets the StatementId field's value.
10811func (s *DeleteResourcePolicyStatementInput) SetStatementId(v string) *DeleteResourcePolicyStatementInput {
10812	s.StatementId = &v
10813	return s
10814}
10815
10816type DeleteResourcePolicyStatementOutput struct {
10817	_ struct{} `type:"structure"`
10818
10819	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource
10820	// policy statement was removed from.
10821	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string"`
10822
10823	// The current revision of the resource policy. Use the revision ID to make
10824	// sure that you are updating the most current version of a resource policy
10825	// when you add a policy statement to a resource, delete a resource, or update
10826	// a resource.
10827	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
10828}
10829
10830// String returns the string representation
10831func (s DeleteResourcePolicyStatementOutput) String() string {
10832	return awsutil.Prettify(s)
10833}
10834
10835// GoString returns the string representation
10836func (s DeleteResourcePolicyStatementOutput) GoString() string {
10837	return s.String()
10838}
10839
10840// SetResourceArn sets the ResourceArn field's value.
10841func (s *DeleteResourcePolicyStatementOutput) SetResourceArn(v string) *DeleteResourcePolicyStatementOutput {
10842	s.ResourceArn = &v
10843	return s
10844}
10845
10846// SetRevisionId sets the RevisionId field's value.
10847func (s *DeleteResourcePolicyStatementOutput) SetRevisionId(v string) *DeleteResourcePolicyStatementOutput {
10848	s.RevisionId = &v
10849	return s
10850}
10851
10852type DeleteSlotInput struct {
10853	_ struct{} `type:"structure"`
10854
10855	// The identifier of the bot associated with the slot to delete.
10856	//
10857	// BotId is a required field
10858	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
10859
10860	// The version of the bot associated with the slot to delete.
10861	//
10862	// BotVersion is a required field
10863	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
10864
10865	// The identifier of the intent associated with the slot.
10866	//
10867	// IntentId is a required field
10868	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
10869
10870	// The identifier of the language and locale that the slot will be deleted from.
10871	// The string must match one of the supported locales. For more information,
10872	// see Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
10873	//
10874	// LocaleId is a required field
10875	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
10876
10877	// The identifier of the slot to delete.
10878	//
10879	// SlotId is a required field
10880	SlotId *string `location:"uri" locationName:"slotId" min:"10" type:"string" required:"true"`
10881}
10882
10883// String returns the string representation
10884func (s DeleteSlotInput) String() string {
10885	return awsutil.Prettify(s)
10886}
10887
10888// GoString returns the string representation
10889func (s DeleteSlotInput) GoString() string {
10890	return s.String()
10891}
10892
10893// Validate inspects the fields of the type to determine if they are valid.
10894func (s *DeleteSlotInput) Validate() error {
10895	invalidParams := request.ErrInvalidParams{Context: "DeleteSlotInput"}
10896	if s.BotId == nil {
10897		invalidParams.Add(request.NewErrParamRequired("BotId"))
10898	}
10899	if s.BotId != nil && len(*s.BotId) < 10 {
10900		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
10901	}
10902	if s.BotVersion == nil {
10903		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
10904	}
10905	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
10906		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
10907	}
10908	if s.IntentId == nil {
10909		invalidParams.Add(request.NewErrParamRequired("IntentId"))
10910	}
10911	if s.IntentId != nil && len(*s.IntentId) < 10 {
10912		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
10913	}
10914	if s.LocaleId == nil {
10915		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
10916	}
10917	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
10918		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
10919	}
10920	if s.SlotId == nil {
10921		invalidParams.Add(request.NewErrParamRequired("SlotId"))
10922	}
10923	if s.SlotId != nil && len(*s.SlotId) < 10 {
10924		invalidParams.Add(request.NewErrParamMinLen("SlotId", 10))
10925	}
10926
10927	if invalidParams.Len() > 0 {
10928		return invalidParams
10929	}
10930	return nil
10931}
10932
10933// SetBotId sets the BotId field's value.
10934func (s *DeleteSlotInput) SetBotId(v string) *DeleteSlotInput {
10935	s.BotId = &v
10936	return s
10937}
10938
10939// SetBotVersion sets the BotVersion field's value.
10940func (s *DeleteSlotInput) SetBotVersion(v string) *DeleteSlotInput {
10941	s.BotVersion = &v
10942	return s
10943}
10944
10945// SetIntentId sets the IntentId field's value.
10946func (s *DeleteSlotInput) SetIntentId(v string) *DeleteSlotInput {
10947	s.IntentId = &v
10948	return s
10949}
10950
10951// SetLocaleId sets the LocaleId field's value.
10952func (s *DeleteSlotInput) SetLocaleId(v string) *DeleteSlotInput {
10953	s.LocaleId = &v
10954	return s
10955}
10956
10957// SetSlotId sets the SlotId field's value.
10958func (s *DeleteSlotInput) SetSlotId(v string) *DeleteSlotInput {
10959	s.SlotId = &v
10960	return s
10961}
10962
10963type DeleteSlotOutput struct {
10964	_ struct{} `type:"structure"`
10965}
10966
10967// String returns the string representation
10968func (s DeleteSlotOutput) String() string {
10969	return awsutil.Prettify(s)
10970}
10971
10972// GoString returns the string representation
10973func (s DeleteSlotOutput) GoString() string {
10974	return s.String()
10975}
10976
10977type DeleteSlotTypeInput struct {
10978	_ struct{} `type:"structure"`
10979
10980	// The identifier of the bot associated with the slot type.
10981	//
10982	// BotId is a required field
10983	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
10984
10985	// The version of the bot associated with the slot type.
10986	//
10987	// BotVersion is a required field
10988	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
10989
10990	// The identifier of the language and locale that the slot type will be deleted
10991	// from. The string must match one of the supported locales. For more information,
10992	// see Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
10993	//
10994	// LocaleId is a required field
10995	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
10996
10997	// By default, the DeleteSlotType operations throws a ResourceInUseException
10998	// exception if you try to delete a slot type used by a slot. Set the skipResourceInUseCheck
10999	// parameter to true to skip this check and remove the slot type even if a slot
11000	// uses it.
11001	SkipResourceInUseCheck *bool `location:"querystring" locationName:"skipResourceInUseCheck" type:"boolean"`
11002
11003	// The identifier of the slot type to delete.
11004	//
11005	// SlotTypeId is a required field
11006	SlotTypeId *string `location:"uri" locationName:"slotTypeId" min:"10" type:"string" required:"true"`
11007}
11008
11009// String returns the string representation
11010func (s DeleteSlotTypeInput) String() string {
11011	return awsutil.Prettify(s)
11012}
11013
11014// GoString returns the string representation
11015func (s DeleteSlotTypeInput) GoString() string {
11016	return s.String()
11017}
11018
11019// Validate inspects the fields of the type to determine if they are valid.
11020func (s *DeleteSlotTypeInput) Validate() error {
11021	invalidParams := request.ErrInvalidParams{Context: "DeleteSlotTypeInput"}
11022	if s.BotId == nil {
11023		invalidParams.Add(request.NewErrParamRequired("BotId"))
11024	}
11025	if s.BotId != nil && len(*s.BotId) < 10 {
11026		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
11027	}
11028	if s.BotVersion == nil {
11029		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
11030	}
11031	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
11032		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
11033	}
11034	if s.LocaleId == nil {
11035		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
11036	}
11037	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
11038		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
11039	}
11040	if s.SlotTypeId == nil {
11041		invalidParams.Add(request.NewErrParamRequired("SlotTypeId"))
11042	}
11043	if s.SlotTypeId != nil && len(*s.SlotTypeId) < 10 {
11044		invalidParams.Add(request.NewErrParamMinLen("SlotTypeId", 10))
11045	}
11046
11047	if invalidParams.Len() > 0 {
11048		return invalidParams
11049	}
11050	return nil
11051}
11052
11053// SetBotId sets the BotId field's value.
11054func (s *DeleteSlotTypeInput) SetBotId(v string) *DeleteSlotTypeInput {
11055	s.BotId = &v
11056	return s
11057}
11058
11059// SetBotVersion sets the BotVersion field's value.
11060func (s *DeleteSlotTypeInput) SetBotVersion(v string) *DeleteSlotTypeInput {
11061	s.BotVersion = &v
11062	return s
11063}
11064
11065// SetLocaleId sets the LocaleId field's value.
11066func (s *DeleteSlotTypeInput) SetLocaleId(v string) *DeleteSlotTypeInput {
11067	s.LocaleId = &v
11068	return s
11069}
11070
11071// SetSkipResourceInUseCheck sets the SkipResourceInUseCheck field's value.
11072func (s *DeleteSlotTypeInput) SetSkipResourceInUseCheck(v bool) *DeleteSlotTypeInput {
11073	s.SkipResourceInUseCheck = &v
11074	return s
11075}
11076
11077// SetSlotTypeId sets the SlotTypeId field's value.
11078func (s *DeleteSlotTypeInput) SetSlotTypeId(v string) *DeleteSlotTypeInput {
11079	s.SlotTypeId = &v
11080	return s
11081}
11082
11083type DeleteSlotTypeOutput struct {
11084	_ struct{} `type:"structure"`
11085}
11086
11087// String returns the string representation
11088func (s DeleteSlotTypeOutput) String() string {
11089	return awsutil.Prettify(s)
11090}
11091
11092// GoString returns the string representation
11093func (s DeleteSlotTypeOutput) GoString() string {
11094	return s.String()
11095}
11096
11097type DescribeBotAliasInput struct {
11098	_ struct{} `type:"structure"`
11099
11100	// The identifier of the bot alias to describe.
11101	//
11102	// BotAliasId is a required field
11103	BotAliasId *string `location:"uri" locationName:"botAliasId" min:"10" type:"string" required:"true"`
11104
11105	// The identifier of the bot associated with the bot alias to describe.
11106	//
11107	// BotId is a required field
11108	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
11109}
11110
11111// String returns the string representation
11112func (s DescribeBotAliasInput) String() string {
11113	return awsutil.Prettify(s)
11114}
11115
11116// GoString returns the string representation
11117func (s DescribeBotAliasInput) GoString() string {
11118	return s.String()
11119}
11120
11121// Validate inspects the fields of the type to determine if they are valid.
11122func (s *DescribeBotAliasInput) Validate() error {
11123	invalidParams := request.ErrInvalidParams{Context: "DescribeBotAliasInput"}
11124	if s.BotAliasId == nil {
11125		invalidParams.Add(request.NewErrParamRequired("BotAliasId"))
11126	}
11127	if s.BotAliasId != nil && len(*s.BotAliasId) < 10 {
11128		invalidParams.Add(request.NewErrParamMinLen("BotAliasId", 10))
11129	}
11130	if s.BotId == nil {
11131		invalidParams.Add(request.NewErrParamRequired("BotId"))
11132	}
11133	if s.BotId != nil && len(*s.BotId) < 10 {
11134		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
11135	}
11136
11137	if invalidParams.Len() > 0 {
11138		return invalidParams
11139	}
11140	return nil
11141}
11142
11143// SetBotAliasId sets the BotAliasId field's value.
11144func (s *DescribeBotAliasInput) SetBotAliasId(v string) *DescribeBotAliasInput {
11145	s.BotAliasId = &v
11146	return s
11147}
11148
11149// SetBotId sets the BotId field's value.
11150func (s *DescribeBotAliasInput) SetBotId(v string) *DescribeBotAliasInput {
11151	s.BotId = &v
11152	return s
11153}
11154
11155type DescribeBotAliasOutput struct {
11156	_ struct{} `type:"structure"`
11157
11158	// A list of events that affect a bot alias. For example, an event is recorded
11159	// when the version that the alias points to changes.
11160	BotAliasHistoryEvents []*BotAliasHistoryEvent `locationName:"botAliasHistoryEvents" type:"list"`
11161
11162	// The identifier of the bot alias.
11163	BotAliasId *string `locationName:"botAliasId" min:"10" type:"string"`
11164
11165	// The locale settings that are unique to the alias.
11166	BotAliasLocaleSettings map[string]*BotAliasLocaleSettings `locationName:"botAliasLocaleSettings" min:"1" type:"map"`
11167
11168	// The name of the bot alias.
11169	BotAliasName *string `locationName:"botAliasName" min:"1" type:"string"`
11170
11171	// The current status of the alias. When the alias is Available, the alias is
11172	// ready for use with your bot.
11173	BotAliasStatus *string `locationName:"botAliasStatus" type:"string" enum:"BotAliasStatus"`
11174
11175	// The identifier of the bot associated with the bot alias.
11176	BotId *string `locationName:"botId" min:"10" type:"string"`
11177
11178	// The version of the bot associated with the bot alias.
11179	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
11180
11181	// Specifics of how Amazon Lex logs text and audio conversations with the bot
11182	// associated with the alias.
11183	ConversationLogSettings *ConversationLogSettings `locationName:"conversationLogSettings" type:"structure"`
11184
11185	// A timestamp of the date and time that the alias was created.
11186	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
11187
11188	// The description of the bot alias.
11189	Description *string `locationName:"description" type:"string"`
11190
11191	// A timestamp of the date and time that the alias was last updated.
11192	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
11193
11194	// Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment
11195	// of user utterances.
11196	SentimentAnalysisSettings *SentimentAnalysisSettings `locationName:"sentimentAnalysisSettings" type:"structure"`
11197}
11198
11199// String returns the string representation
11200func (s DescribeBotAliasOutput) String() string {
11201	return awsutil.Prettify(s)
11202}
11203
11204// GoString returns the string representation
11205func (s DescribeBotAliasOutput) GoString() string {
11206	return s.String()
11207}
11208
11209// SetBotAliasHistoryEvents sets the BotAliasHistoryEvents field's value.
11210func (s *DescribeBotAliasOutput) SetBotAliasHistoryEvents(v []*BotAliasHistoryEvent) *DescribeBotAliasOutput {
11211	s.BotAliasHistoryEvents = v
11212	return s
11213}
11214
11215// SetBotAliasId sets the BotAliasId field's value.
11216func (s *DescribeBotAliasOutput) SetBotAliasId(v string) *DescribeBotAliasOutput {
11217	s.BotAliasId = &v
11218	return s
11219}
11220
11221// SetBotAliasLocaleSettings sets the BotAliasLocaleSettings field's value.
11222func (s *DescribeBotAliasOutput) SetBotAliasLocaleSettings(v map[string]*BotAliasLocaleSettings) *DescribeBotAliasOutput {
11223	s.BotAliasLocaleSettings = v
11224	return s
11225}
11226
11227// SetBotAliasName sets the BotAliasName field's value.
11228func (s *DescribeBotAliasOutput) SetBotAliasName(v string) *DescribeBotAliasOutput {
11229	s.BotAliasName = &v
11230	return s
11231}
11232
11233// SetBotAliasStatus sets the BotAliasStatus field's value.
11234func (s *DescribeBotAliasOutput) SetBotAliasStatus(v string) *DescribeBotAliasOutput {
11235	s.BotAliasStatus = &v
11236	return s
11237}
11238
11239// SetBotId sets the BotId field's value.
11240func (s *DescribeBotAliasOutput) SetBotId(v string) *DescribeBotAliasOutput {
11241	s.BotId = &v
11242	return s
11243}
11244
11245// SetBotVersion sets the BotVersion field's value.
11246func (s *DescribeBotAliasOutput) SetBotVersion(v string) *DescribeBotAliasOutput {
11247	s.BotVersion = &v
11248	return s
11249}
11250
11251// SetConversationLogSettings sets the ConversationLogSettings field's value.
11252func (s *DescribeBotAliasOutput) SetConversationLogSettings(v *ConversationLogSettings) *DescribeBotAliasOutput {
11253	s.ConversationLogSettings = v
11254	return s
11255}
11256
11257// SetCreationDateTime sets the CreationDateTime field's value.
11258func (s *DescribeBotAliasOutput) SetCreationDateTime(v time.Time) *DescribeBotAliasOutput {
11259	s.CreationDateTime = &v
11260	return s
11261}
11262
11263// SetDescription sets the Description field's value.
11264func (s *DescribeBotAliasOutput) SetDescription(v string) *DescribeBotAliasOutput {
11265	s.Description = &v
11266	return s
11267}
11268
11269// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
11270func (s *DescribeBotAliasOutput) SetLastUpdatedDateTime(v time.Time) *DescribeBotAliasOutput {
11271	s.LastUpdatedDateTime = &v
11272	return s
11273}
11274
11275// SetSentimentAnalysisSettings sets the SentimentAnalysisSettings field's value.
11276func (s *DescribeBotAliasOutput) SetSentimentAnalysisSettings(v *SentimentAnalysisSettings) *DescribeBotAliasOutput {
11277	s.SentimentAnalysisSettings = v
11278	return s
11279}
11280
11281type DescribeBotInput struct {
11282	_ struct{} `type:"structure"`
11283
11284	// The unique identifier of the bot to describe.
11285	//
11286	// BotId is a required field
11287	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
11288}
11289
11290// String returns the string representation
11291func (s DescribeBotInput) String() string {
11292	return awsutil.Prettify(s)
11293}
11294
11295// GoString returns the string representation
11296func (s DescribeBotInput) GoString() string {
11297	return s.String()
11298}
11299
11300// Validate inspects the fields of the type to determine if they are valid.
11301func (s *DescribeBotInput) Validate() error {
11302	invalidParams := request.ErrInvalidParams{Context: "DescribeBotInput"}
11303	if s.BotId == nil {
11304		invalidParams.Add(request.NewErrParamRequired("BotId"))
11305	}
11306	if s.BotId != nil && len(*s.BotId) < 10 {
11307		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
11308	}
11309
11310	if invalidParams.Len() > 0 {
11311		return invalidParams
11312	}
11313	return nil
11314}
11315
11316// SetBotId sets the BotId field's value.
11317func (s *DescribeBotInput) SetBotId(v string) *DescribeBotInput {
11318	s.BotId = &v
11319	return s
11320}
11321
11322type DescribeBotLocaleInput struct {
11323	_ struct{} `type:"structure"`
11324
11325	// The identifier of the bot associated with the locale.
11326	//
11327	// BotId is a required field
11328	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
11329
11330	// The identifier of the version of the bot associated with the locale.
11331	//
11332	// BotVersion is a required field
11333	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
11334
11335	// The unique identifier of the locale to describe. The string must match one
11336	// of the supported locales. For more information, see Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
11337	//
11338	// LocaleId is a required field
11339	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
11340}
11341
11342// String returns the string representation
11343func (s DescribeBotLocaleInput) String() string {
11344	return awsutil.Prettify(s)
11345}
11346
11347// GoString returns the string representation
11348func (s DescribeBotLocaleInput) GoString() string {
11349	return s.String()
11350}
11351
11352// Validate inspects the fields of the type to determine if they are valid.
11353func (s *DescribeBotLocaleInput) Validate() error {
11354	invalidParams := request.ErrInvalidParams{Context: "DescribeBotLocaleInput"}
11355	if s.BotId == nil {
11356		invalidParams.Add(request.NewErrParamRequired("BotId"))
11357	}
11358	if s.BotId != nil && len(*s.BotId) < 10 {
11359		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
11360	}
11361	if s.BotVersion == nil {
11362		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
11363	}
11364	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
11365		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
11366	}
11367	if s.LocaleId == nil {
11368		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
11369	}
11370	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
11371		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
11372	}
11373
11374	if invalidParams.Len() > 0 {
11375		return invalidParams
11376	}
11377	return nil
11378}
11379
11380// SetBotId sets the BotId field's value.
11381func (s *DescribeBotLocaleInput) SetBotId(v string) *DescribeBotLocaleInput {
11382	s.BotId = &v
11383	return s
11384}
11385
11386// SetBotVersion sets the BotVersion field's value.
11387func (s *DescribeBotLocaleInput) SetBotVersion(v string) *DescribeBotLocaleInput {
11388	s.BotVersion = &v
11389	return s
11390}
11391
11392// SetLocaleId sets the LocaleId field's value.
11393func (s *DescribeBotLocaleInput) SetLocaleId(v string) *DescribeBotLocaleInput {
11394	s.LocaleId = &v
11395	return s
11396}
11397
11398type DescribeBotLocaleOutput struct {
11399	_ struct{} `type:"structure"`
11400
11401	// The identifier of the bot associated with the locale.
11402	BotId *string `locationName:"botId" min:"10" type:"string"`
11403
11404	// History of changes, such as when a locale is used in an alias, that have
11405	// taken place for the locale.
11406	BotLocaleHistoryEvents []*BotLocaleHistoryEvent `locationName:"botLocaleHistoryEvents" type:"list"`
11407
11408	// The status of the bot. If the status is Failed, the reasons for the failure
11409	// are listed in the failureReasons field.
11410	BotLocaleStatus *string `locationName:"botLocaleStatus" type:"string" enum:"BotLocaleStatus"`
11411
11412	// The identifier of the version of the bot associated with the locale.
11413	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
11414
11415	// The date and time that the locale was created.
11416	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
11417
11418	// The description of the locale.
11419	Description *string `locationName:"description" type:"string"`
11420
11421	// if botLocaleStatus is Failed, Amazon Lex explains why it failed to build
11422	// the bot.
11423	FailureReasons []*string `locationName:"failureReasons" type:"list"`
11424
11425	// The number of intents defined for the locale.
11426	IntentsCount *int64 `locationName:"intentsCount" type:"integer"`
11427
11428	// The date and time that the locale was last submitted for building.
11429	LastBuildSubmittedDateTime *time.Time `locationName:"lastBuildSubmittedDateTime" type:"timestamp"`
11430
11431	// The date and time that the locale was last updated.
11432	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
11433
11434	// The unique identifier of the described locale.
11435	LocaleId *string `locationName:"localeId" type:"string"`
11436
11437	// The name of the locale.
11438	LocaleName *string `locationName:"localeName" type:"string"`
11439
11440	// The confidence threshold where Amazon Lex inserts the AMAZON.FallbackIntent
11441	// and AMAZON.KendraSearchIntent intents in the list of possible intents for
11442	// an utterance.
11443	NluIntentConfidenceThreshold *float64 `locationName:"nluIntentConfidenceThreshold" type:"double"`
11444
11445	// The number of slot types defined for the locale.
11446	SlotTypesCount *int64 `locationName:"slotTypesCount" type:"integer"`
11447
11448	// The Amazon Polly voice Amazon Lex uses for voice interaction with the user.
11449	VoiceSettings *VoiceSettings `locationName:"voiceSettings" type:"structure"`
11450}
11451
11452// String returns the string representation
11453func (s DescribeBotLocaleOutput) String() string {
11454	return awsutil.Prettify(s)
11455}
11456
11457// GoString returns the string representation
11458func (s DescribeBotLocaleOutput) GoString() string {
11459	return s.String()
11460}
11461
11462// SetBotId sets the BotId field's value.
11463func (s *DescribeBotLocaleOutput) SetBotId(v string) *DescribeBotLocaleOutput {
11464	s.BotId = &v
11465	return s
11466}
11467
11468// SetBotLocaleHistoryEvents sets the BotLocaleHistoryEvents field's value.
11469func (s *DescribeBotLocaleOutput) SetBotLocaleHistoryEvents(v []*BotLocaleHistoryEvent) *DescribeBotLocaleOutput {
11470	s.BotLocaleHistoryEvents = v
11471	return s
11472}
11473
11474// SetBotLocaleStatus sets the BotLocaleStatus field's value.
11475func (s *DescribeBotLocaleOutput) SetBotLocaleStatus(v string) *DescribeBotLocaleOutput {
11476	s.BotLocaleStatus = &v
11477	return s
11478}
11479
11480// SetBotVersion sets the BotVersion field's value.
11481func (s *DescribeBotLocaleOutput) SetBotVersion(v string) *DescribeBotLocaleOutput {
11482	s.BotVersion = &v
11483	return s
11484}
11485
11486// SetCreationDateTime sets the CreationDateTime field's value.
11487func (s *DescribeBotLocaleOutput) SetCreationDateTime(v time.Time) *DescribeBotLocaleOutput {
11488	s.CreationDateTime = &v
11489	return s
11490}
11491
11492// SetDescription sets the Description field's value.
11493func (s *DescribeBotLocaleOutput) SetDescription(v string) *DescribeBotLocaleOutput {
11494	s.Description = &v
11495	return s
11496}
11497
11498// SetFailureReasons sets the FailureReasons field's value.
11499func (s *DescribeBotLocaleOutput) SetFailureReasons(v []*string) *DescribeBotLocaleOutput {
11500	s.FailureReasons = v
11501	return s
11502}
11503
11504// SetIntentsCount sets the IntentsCount field's value.
11505func (s *DescribeBotLocaleOutput) SetIntentsCount(v int64) *DescribeBotLocaleOutput {
11506	s.IntentsCount = &v
11507	return s
11508}
11509
11510// SetLastBuildSubmittedDateTime sets the LastBuildSubmittedDateTime field's value.
11511func (s *DescribeBotLocaleOutput) SetLastBuildSubmittedDateTime(v time.Time) *DescribeBotLocaleOutput {
11512	s.LastBuildSubmittedDateTime = &v
11513	return s
11514}
11515
11516// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
11517func (s *DescribeBotLocaleOutput) SetLastUpdatedDateTime(v time.Time) *DescribeBotLocaleOutput {
11518	s.LastUpdatedDateTime = &v
11519	return s
11520}
11521
11522// SetLocaleId sets the LocaleId field's value.
11523func (s *DescribeBotLocaleOutput) SetLocaleId(v string) *DescribeBotLocaleOutput {
11524	s.LocaleId = &v
11525	return s
11526}
11527
11528// SetLocaleName sets the LocaleName field's value.
11529func (s *DescribeBotLocaleOutput) SetLocaleName(v string) *DescribeBotLocaleOutput {
11530	s.LocaleName = &v
11531	return s
11532}
11533
11534// SetNluIntentConfidenceThreshold sets the NluIntentConfidenceThreshold field's value.
11535func (s *DescribeBotLocaleOutput) SetNluIntentConfidenceThreshold(v float64) *DescribeBotLocaleOutput {
11536	s.NluIntentConfidenceThreshold = &v
11537	return s
11538}
11539
11540// SetSlotTypesCount sets the SlotTypesCount field's value.
11541func (s *DescribeBotLocaleOutput) SetSlotTypesCount(v int64) *DescribeBotLocaleOutput {
11542	s.SlotTypesCount = &v
11543	return s
11544}
11545
11546// SetVoiceSettings sets the VoiceSettings field's value.
11547func (s *DescribeBotLocaleOutput) SetVoiceSettings(v *VoiceSettings) *DescribeBotLocaleOutput {
11548	s.VoiceSettings = v
11549	return s
11550}
11551
11552type DescribeBotOutput struct {
11553	_ struct{} `type:"structure"`
11554
11555	// The unique identifier of the bot.
11556	BotId *string `locationName:"botId" min:"10" type:"string"`
11557
11558	// The name of the bot.
11559	BotName *string `locationName:"botName" min:"1" type:"string"`
11560
11561	// The current status of the bot. When the status is Available the bot is ready
11562	// to be used in conversations with users.
11563	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
11564
11565	// A timestamp of the date and time that the bot was created.
11566	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
11567
11568	// Settings for managing data privacy of the bot and its conversations with
11569	// users.
11570	DataPrivacy *DataPrivacy `locationName:"dataPrivacy" type:"structure"`
11571
11572	// The description of the bot.
11573	Description *string `locationName:"description" type:"string"`
11574
11575	// The maximum time in seconds that Amazon Lex retains the data gathered in
11576	// a conversation.
11577	IdleSessionTTLInSeconds *int64 `locationName:"idleSessionTTLInSeconds" min:"60" type:"integer"`
11578
11579	// A timestamp of the date and time that the bot was last updated.
11580	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
11581
11582	// The Amazon Resource Name (ARN) of an IAM role that has permission to access
11583	// the bot.
11584	RoleArn *string `locationName:"roleArn" min:"32" type:"string"`
11585}
11586
11587// String returns the string representation
11588func (s DescribeBotOutput) String() string {
11589	return awsutil.Prettify(s)
11590}
11591
11592// GoString returns the string representation
11593func (s DescribeBotOutput) GoString() string {
11594	return s.String()
11595}
11596
11597// SetBotId sets the BotId field's value.
11598func (s *DescribeBotOutput) SetBotId(v string) *DescribeBotOutput {
11599	s.BotId = &v
11600	return s
11601}
11602
11603// SetBotName sets the BotName field's value.
11604func (s *DescribeBotOutput) SetBotName(v string) *DescribeBotOutput {
11605	s.BotName = &v
11606	return s
11607}
11608
11609// SetBotStatus sets the BotStatus field's value.
11610func (s *DescribeBotOutput) SetBotStatus(v string) *DescribeBotOutput {
11611	s.BotStatus = &v
11612	return s
11613}
11614
11615// SetCreationDateTime sets the CreationDateTime field's value.
11616func (s *DescribeBotOutput) SetCreationDateTime(v time.Time) *DescribeBotOutput {
11617	s.CreationDateTime = &v
11618	return s
11619}
11620
11621// SetDataPrivacy sets the DataPrivacy field's value.
11622func (s *DescribeBotOutput) SetDataPrivacy(v *DataPrivacy) *DescribeBotOutput {
11623	s.DataPrivacy = v
11624	return s
11625}
11626
11627// SetDescription sets the Description field's value.
11628func (s *DescribeBotOutput) SetDescription(v string) *DescribeBotOutput {
11629	s.Description = &v
11630	return s
11631}
11632
11633// SetIdleSessionTTLInSeconds sets the IdleSessionTTLInSeconds field's value.
11634func (s *DescribeBotOutput) SetIdleSessionTTLInSeconds(v int64) *DescribeBotOutput {
11635	s.IdleSessionTTLInSeconds = &v
11636	return s
11637}
11638
11639// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
11640func (s *DescribeBotOutput) SetLastUpdatedDateTime(v time.Time) *DescribeBotOutput {
11641	s.LastUpdatedDateTime = &v
11642	return s
11643}
11644
11645// SetRoleArn sets the RoleArn field's value.
11646func (s *DescribeBotOutput) SetRoleArn(v string) *DescribeBotOutput {
11647	s.RoleArn = &v
11648	return s
11649}
11650
11651type DescribeBotVersionInput struct {
11652	_ struct{} `type:"structure"`
11653
11654	// The identifier of the bot containing the version to return metadata for.
11655	//
11656	// BotId is a required field
11657	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
11658
11659	// The version of the bot to return metadata for.
11660	//
11661	// BotVersion is a required field
11662	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
11663}
11664
11665// String returns the string representation
11666func (s DescribeBotVersionInput) String() string {
11667	return awsutil.Prettify(s)
11668}
11669
11670// GoString returns the string representation
11671func (s DescribeBotVersionInput) GoString() string {
11672	return s.String()
11673}
11674
11675// Validate inspects the fields of the type to determine if they are valid.
11676func (s *DescribeBotVersionInput) Validate() error {
11677	invalidParams := request.ErrInvalidParams{Context: "DescribeBotVersionInput"}
11678	if s.BotId == nil {
11679		invalidParams.Add(request.NewErrParamRequired("BotId"))
11680	}
11681	if s.BotId != nil && len(*s.BotId) < 10 {
11682		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
11683	}
11684	if s.BotVersion == nil {
11685		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
11686	}
11687	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
11688		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
11689	}
11690
11691	if invalidParams.Len() > 0 {
11692		return invalidParams
11693	}
11694	return nil
11695}
11696
11697// SetBotId sets the BotId field's value.
11698func (s *DescribeBotVersionInput) SetBotId(v string) *DescribeBotVersionInput {
11699	s.BotId = &v
11700	return s
11701}
11702
11703// SetBotVersion sets the BotVersion field's value.
11704func (s *DescribeBotVersionInput) SetBotVersion(v string) *DescribeBotVersionInput {
11705	s.BotVersion = &v
11706	return s
11707}
11708
11709type DescribeBotVersionOutput struct {
11710	_ struct{} `type:"structure"`
11711
11712	// The identifier of the bot that contains the version.
11713	BotId *string `locationName:"botId" min:"10" type:"string"`
11714
11715	// The name of the bot that contains the version.
11716	BotName *string `locationName:"botName" min:"1" type:"string"`
11717
11718	// The current status of the bot. When the status is Available, the bot version
11719	// is ready for use.
11720	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
11721
11722	// The version of the bot to describe.
11723	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
11724
11725	// A timestamp of the date and time that the bot version was created.
11726	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
11727
11728	// Data privacy settings for the bot version.
11729	DataPrivacy *DataPrivacy `locationName:"dataPrivacy" type:"structure"`
11730
11731	// The description specified for the bot.
11732	Description *string `locationName:"description" type:"string"`
11733
11734	// If the botStatus is Failed, this contains a list of reasons that the version
11735	// couldn't be built.
11736	FailureReasons []*string `locationName:"failureReasons" type:"list"`
11737
11738	// The number of seconds that a session with the bot remains active before it
11739	// is discarded by Amazon Lex.
11740	IdleSessionTTLInSeconds *int64 `locationName:"idleSessionTTLInSeconds" min:"60" type:"integer"`
11741
11742	// The Amazon Resource Name (ARN) of an IAM role that has permission to access
11743	// the bot version.
11744	RoleArn *string `locationName:"roleArn" min:"32" type:"string"`
11745}
11746
11747// String returns the string representation
11748func (s DescribeBotVersionOutput) String() string {
11749	return awsutil.Prettify(s)
11750}
11751
11752// GoString returns the string representation
11753func (s DescribeBotVersionOutput) GoString() string {
11754	return s.String()
11755}
11756
11757// SetBotId sets the BotId field's value.
11758func (s *DescribeBotVersionOutput) SetBotId(v string) *DescribeBotVersionOutput {
11759	s.BotId = &v
11760	return s
11761}
11762
11763// SetBotName sets the BotName field's value.
11764func (s *DescribeBotVersionOutput) SetBotName(v string) *DescribeBotVersionOutput {
11765	s.BotName = &v
11766	return s
11767}
11768
11769// SetBotStatus sets the BotStatus field's value.
11770func (s *DescribeBotVersionOutput) SetBotStatus(v string) *DescribeBotVersionOutput {
11771	s.BotStatus = &v
11772	return s
11773}
11774
11775// SetBotVersion sets the BotVersion field's value.
11776func (s *DescribeBotVersionOutput) SetBotVersion(v string) *DescribeBotVersionOutput {
11777	s.BotVersion = &v
11778	return s
11779}
11780
11781// SetCreationDateTime sets the CreationDateTime field's value.
11782func (s *DescribeBotVersionOutput) SetCreationDateTime(v time.Time) *DescribeBotVersionOutput {
11783	s.CreationDateTime = &v
11784	return s
11785}
11786
11787// SetDataPrivacy sets the DataPrivacy field's value.
11788func (s *DescribeBotVersionOutput) SetDataPrivacy(v *DataPrivacy) *DescribeBotVersionOutput {
11789	s.DataPrivacy = v
11790	return s
11791}
11792
11793// SetDescription sets the Description field's value.
11794func (s *DescribeBotVersionOutput) SetDescription(v string) *DescribeBotVersionOutput {
11795	s.Description = &v
11796	return s
11797}
11798
11799// SetFailureReasons sets the FailureReasons field's value.
11800func (s *DescribeBotVersionOutput) SetFailureReasons(v []*string) *DescribeBotVersionOutput {
11801	s.FailureReasons = v
11802	return s
11803}
11804
11805// SetIdleSessionTTLInSeconds sets the IdleSessionTTLInSeconds field's value.
11806func (s *DescribeBotVersionOutput) SetIdleSessionTTLInSeconds(v int64) *DescribeBotVersionOutput {
11807	s.IdleSessionTTLInSeconds = &v
11808	return s
11809}
11810
11811// SetRoleArn sets the RoleArn field's value.
11812func (s *DescribeBotVersionOutput) SetRoleArn(v string) *DescribeBotVersionOutput {
11813	s.RoleArn = &v
11814	return s
11815}
11816
11817type DescribeExportInput struct {
11818	_ struct{} `type:"structure"`
11819
11820	// The unique identifier of the export to describe.
11821	//
11822	// ExportId is a required field
11823	ExportId *string `location:"uri" locationName:"exportId" min:"10" type:"string" required:"true"`
11824}
11825
11826// String returns the string representation
11827func (s DescribeExportInput) String() string {
11828	return awsutil.Prettify(s)
11829}
11830
11831// GoString returns the string representation
11832func (s DescribeExportInput) GoString() string {
11833	return s.String()
11834}
11835
11836// Validate inspects the fields of the type to determine if they are valid.
11837func (s *DescribeExportInput) Validate() error {
11838	invalidParams := request.ErrInvalidParams{Context: "DescribeExportInput"}
11839	if s.ExportId == nil {
11840		invalidParams.Add(request.NewErrParamRequired("ExportId"))
11841	}
11842	if s.ExportId != nil && len(*s.ExportId) < 10 {
11843		invalidParams.Add(request.NewErrParamMinLen("ExportId", 10))
11844	}
11845
11846	if invalidParams.Len() > 0 {
11847		return invalidParams
11848	}
11849	return nil
11850}
11851
11852// SetExportId sets the ExportId field's value.
11853func (s *DescribeExportInput) SetExportId(v string) *DescribeExportInput {
11854	s.ExportId = &v
11855	return s
11856}
11857
11858type DescribeExportOutput struct {
11859	_ struct{} `type:"structure"`
11860
11861	// The date and time that the export was created.
11862	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
11863
11864	// A pre-signed S3 URL that points to the bot or bot locale archive. The URL
11865	// is only available for 5 minutes after calling the DescribeExport operation.
11866	DownloadUrl *string `locationName:"downloadUrl" min:"1" type:"string"`
11867
11868	// The unique identifier of the described export.
11869	ExportId *string `locationName:"exportId" min:"10" type:"string"`
11870
11871	// The status of the export. When the status is Complete the export archive
11872	// file is available for download.
11873	ExportStatus *string `locationName:"exportStatus" type:"string" enum:"ExportStatus"`
11874
11875	// If the exportStatus is failed, contains one or more reasons why the export
11876	// could not be completed.
11877	FailureReasons []*string `locationName:"failureReasons" type:"list"`
11878
11879	// The file format used in the files that describe the bot or bot locale.
11880	FileFormat *string `locationName:"fileFormat" type:"string" enum:"ImportExportFileFormat"`
11881
11882	// The last date and time that the export was updated.
11883	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
11884
11885	// The bot, bot ID, and optional locale ID of the exported bot or bot locale.
11886	ResourceSpecification *ExportResourceSpecification `locationName:"resourceSpecification" type:"structure"`
11887}
11888
11889// String returns the string representation
11890func (s DescribeExportOutput) String() string {
11891	return awsutil.Prettify(s)
11892}
11893
11894// GoString returns the string representation
11895func (s DescribeExportOutput) GoString() string {
11896	return s.String()
11897}
11898
11899// SetCreationDateTime sets the CreationDateTime field's value.
11900func (s *DescribeExportOutput) SetCreationDateTime(v time.Time) *DescribeExportOutput {
11901	s.CreationDateTime = &v
11902	return s
11903}
11904
11905// SetDownloadUrl sets the DownloadUrl field's value.
11906func (s *DescribeExportOutput) SetDownloadUrl(v string) *DescribeExportOutput {
11907	s.DownloadUrl = &v
11908	return s
11909}
11910
11911// SetExportId sets the ExportId field's value.
11912func (s *DescribeExportOutput) SetExportId(v string) *DescribeExportOutput {
11913	s.ExportId = &v
11914	return s
11915}
11916
11917// SetExportStatus sets the ExportStatus field's value.
11918func (s *DescribeExportOutput) SetExportStatus(v string) *DescribeExportOutput {
11919	s.ExportStatus = &v
11920	return s
11921}
11922
11923// SetFailureReasons sets the FailureReasons field's value.
11924func (s *DescribeExportOutput) SetFailureReasons(v []*string) *DescribeExportOutput {
11925	s.FailureReasons = v
11926	return s
11927}
11928
11929// SetFileFormat sets the FileFormat field's value.
11930func (s *DescribeExportOutput) SetFileFormat(v string) *DescribeExportOutput {
11931	s.FileFormat = &v
11932	return s
11933}
11934
11935// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
11936func (s *DescribeExportOutput) SetLastUpdatedDateTime(v time.Time) *DescribeExportOutput {
11937	s.LastUpdatedDateTime = &v
11938	return s
11939}
11940
11941// SetResourceSpecification sets the ResourceSpecification field's value.
11942func (s *DescribeExportOutput) SetResourceSpecification(v *ExportResourceSpecification) *DescribeExportOutput {
11943	s.ResourceSpecification = v
11944	return s
11945}
11946
11947type DescribeImportInput struct {
11948	_ struct{} `type:"structure"`
11949
11950	// The unique identifier of the import to describe.
11951	//
11952	// ImportId is a required field
11953	ImportId *string `location:"uri" locationName:"importId" min:"10" type:"string" required:"true"`
11954}
11955
11956// String returns the string representation
11957func (s DescribeImportInput) String() string {
11958	return awsutil.Prettify(s)
11959}
11960
11961// GoString returns the string representation
11962func (s DescribeImportInput) GoString() string {
11963	return s.String()
11964}
11965
11966// Validate inspects the fields of the type to determine if they are valid.
11967func (s *DescribeImportInput) Validate() error {
11968	invalidParams := request.ErrInvalidParams{Context: "DescribeImportInput"}
11969	if s.ImportId == nil {
11970		invalidParams.Add(request.NewErrParamRequired("ImportId"))
11971	}
11972	if s.ImportId != nil && len(*s.ImportId) < 10 {
11973		invalidParams.Add(request.NewErrParamMinLen("ImportId", 10))
11974	}
11975
11976	if invalidParams.Len() > 0 {
11977		return invalidParams
11978	}
11979	return nil
11980}
11981
11982// SetImportId sets the ImportId field's value.
11983func (s *DescribeImportInput) SetImportId(v string) *DescribeImportInput {
11984	s.ImportId = &v
11985	return s
11986}
11987
11988type DescribeImportOutput struct {
11989	_ struct{} `type:"structure"`
11990
11991	// The date and time that the import was created.
11992	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
11993
11994	// If the importStatus field is Failed, this provides one or more reasons for
11995	// the failture.
11996	FailureReasons []*string `locationName:"failureReasons" type:"list"`
11997
11998	// The unique identifier of the described import.
11999	ImportId *string `locationName:"importId" min:"10" type:"string"`
12000
12001	// The status of the import process. When the status is Completed the resource
12002	// is imported and ready for use.
12003	ImportStatus *string `locationName:"importStatus" type:"string" enum:"ImportStatus"`
12004
12005	// The unique identifier that Amazon Lex assigned to the resource created by
12006	// the import.
12007	ImportedResourceId *string `locationName:"importedResourceId" min:"5" type:"string"`
12008
12009	// The name of the imported resource.
12010	ImportedResourceName *string `locationName:"importedResourceName" min:"1" type:"string"`
12011
12012	// The date and time that the import was last updated.
12013	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
12014
12015	// The strategy used when there was a name conflict between the imported resource
12016	// and an existing resource. When the merge strategy is FailOnConflict existing
12017	// resources are not overwritten and the import fails.
12018	MergeStrategy *string `locationName:"mergeStrategy" type:"string" enum:"MergeStrategy"`
12019
12020	// The specifications of the imported bot or bot locale.
12021	ResourceSpecification *ImportResourceSpecification `locationName:"resourceSpecification" type:"structure"`
12022}
12023
12024// String returns the string representation
12025func (s DescribeImportOutput) String() string {
12026	return awsutil.Prettify(s)
12027}
12028
12029// GoString returns the string representation
12030func (s DescribeImportOutput) GoString() string {
12031	return s.String()
12032}
12033
12034// SetCreationDateTime sets the CreationDateTime field's value.
12035func (s *DescribeImportOutput) SetCreationDateTime(v time.Time) *DescribeImportOutput {
12036	s.CreationDateTime = &v
12037	return s
12038}
12039
12040// SetFailureReasons sets the FailureReasons field's value.
12041func (s *DescribeImportOutput) SetFailureReasons(v []*string) *DescribeImportOutput {
12042	s.FailureReasons = v
12043	return s
12044}
12045
12046// SetImportId sets the ImportId field's value.
12047func (s *DescribeImportOutput) SetImportId(v string) *DescribeImportOutput {
12048	s.ImportId = &v
12049	return s
12050}
12051
12052// SetImportStatus sets the ImportStatus field's value.
12053func (s *DescribeImportOutput) SetImportStatus(v string) *DescribeImportOutput {
12054	s.ImportStatus = &v
12055	return s
12056}
12057
12058// SetImportedResourceId sets the ImportedResourceId field's value.
12059func (s *DescribeImportOutput) SetImportedResourceId(v string) *DescribeImportOutput {
12060	s.ImportedResourceId = &v
12061	return s
12062}
12063
12064// SetImportedResourceName sets the ImportedResourceName field's value.
12065func (s *DescribeImportOutput) SetImportedResourceName(v string) *DescribeImportOutput {
12066	s.ImportedResourceName = &v
12067	return s
12068}
12069
12070// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
12071func (s *DescribeImportOutput) SetLastUpdatedDateTime(v time.Time) *DescribeImportOutput {
12072	s.LastUpdatedDateTime = &v
12073	return s
12074}
12075
12076// SetMergeStrategy sets the MergeStrategy field's value.
12077func (s *DescribeImportOutput) SetMergeStrategy(v string) *DescribeImportOutput {
12078	s.MergeStrategy = &v
12079	return s
12080}
12081
12082// SetResourceSpecification sets the ResourceSpecification field's value.
12083func (s *DescribeImportOutput) SetResourceSpecification(v *ImportResourceSpecification) *DescribeImportOutput {
12084	s.ResourceSpecification = v
12085	return s
12086}
12087
12088type DescribeIntentInput struct {
12089	_ struct{} `type:"structure"`
12090
12091	// The identifier of the bot associated with the intent.
12092	//
12093	// BotId is a required field
12094	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
12095
12096	// The version of the bot associated with the intent.
12097	//
12098	// BotVersion is a required field
12099	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
12100
12101	// The identifier of the intent to describe.
12102	//
12103	// IntentId is a required field
12104	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
12105
12106	// The identifier of the language and locale of the intent to describe. The
12107	// string must match one of the supported locales. For more information, see
12108	// Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
12109	//
12110	// LocaleId is a required field
12111	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
12112}
12113
12114// String returns the string representation
12115func (s DescribeIntentInput) String() string {
12116	return awsutil.Prettify(s)
12117}
12118
12119// GoString returns the string representation
12120func (s DescribeIntentInput) GoString() string {
12121	return s.String()
12122}
12123
12124// Validate inspects the fields of the type to determine if they are valid.
12125func (s *DescribeIntentInput) Validate() error {
12126	invalidParams := request.ErrInvalidParams{Context: "DescribeIntentInput"}
12127	if s.BotId == nil {
12128		invalidParams.Add(request.NewErrParamRequired("BotId"))
12129	}
12130	if s.BotId != nil && len(*s.BotId) < 10 {
12131		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
12132	}
12133	if s.BotVersion == nil {
12134		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
12135	}
12136	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
12137		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
12138	}
12139	if s.IntentId == nil {
12140		invalidParams.Add(request.NewErrParamRequired("IntentId"))
12141	}
12142	if s.IntentId != nil && len(*s.IntentId) < 10 {
12143		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
12144	}
12145	if s.LocaleId == nil {
12146		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
12147	}
12148	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
12149		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
12150	}
12151
12152	if invalidParams.Len() > 0 {
12153		return invalidParams
12154	}
12155	return nil
12156}
12157
12158// SetBotId sets the BotId field's value.
12159func (s *DescribeIntentInput) SetBotId(v string) *DescribeIntentInput {
12160	s.BotId = &v
12161	return s
12162}
12163
12164// SetBotVersion sets the BotVersion field's value.
12165func (s *DescribeIntentInput) SetBotVersion(v string) *DescribeIntentInput {
12166	s.BotVersion = &v
12167	return s
12168}
12169
12170// SetIntentId sets the IntentId field's value.
12171func (s *DescribeIntentInput) SetIntentId(v string) *DescribeIntentInput {
12172	s.IntentId = &v
12173	return s
12174}
12175
12176// SetLocaleId sets the LocaleId field's value.
12177func (s *DescribeIntentInput) SetLocaleId(v string) *DescribeIntentInput {
12178	s.LocaleId = &v
12179	return s
12180}
12181
12182type DescribeIntentOutput struct {
12183	_ struct{} `type:"structure"`
12184
12185	// The identifier of the bot associated with the intent.
12186	BotId *string `locationName:"botId" min:"10" type:"string"`
12187
12188	// The version of the bot associated with the intent.
12189	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
12190
12191	// A timestamp of the date and time that the intent was created.
12192	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
12193
12194	// The description of the intent.
12195	Description *string `locationName:"description" type:"string"`
12196
12197	// The Lambda function called during each turn of a conversation with the intent.
12198	DialogCodeHook *DialogCodeHookSettings `locationName:"dialogCodeHook" type:"structure"`
12199
12200	// The Lambda function called when the intent is complete and ready for fulfillment.
12201	FulfillmentCodeHook *FulfillmentCodeHookSettings `locationName:"fulfillmentCodeHook" type:"structure"`
12202
12203	// A list of contexts that must be active for the intent to be considered for
12204	// sending to the user.
12205	InputContexts []*InputContext `locationName:"inputContexts" type:"list"`
12206
12207	// The response that Amazon Lex sends to when the intent is closed.
12208	IntentClosingSetting *IntentClosingSetting `locationName:"intentClosingSetting" type:"structure"`
12209
12210	// Prompts that Amazon Lex sends to the user to confirm completion of an intent.
12211	IntentConfirmationSetting *IntentConfirmationSetting `locationName:"intentConfirmationSetting" type:"structure"`
12212
12213	// The unique identifier assigned to the intent when it was created.
12214	IntentId *string `locationName:"intentId" min:"10" type:"string"`
12215
12216	// The name specified for the intent.
12217	IntentName *string `locationName:"intentName" min:"1" type:"string"`
12218
12219	// Configuration information required to use the AMAZON.KendraSearchIntent intent.
12220	KendraConfiguration *KendraConfiguration `locationName:"kendraConfiguration" type:"structure"`
12221
12222	// A timestamp of the date and time that the intent was last updated.
12223	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
12224
12225	// The language and locale specified for the intent.
12226	LocaleId *string `locationName:"localeId" type:"string"`
12227
12228	// A list of contexts that are activated when the intent is fulfilled.
12229	OutputContexts []*OutputContext `locationName:"outputContexts" type:"list"`
12230
12231	// The identifier of the built-in intent that this intent is derived from, if
12232	// any.
12233	ParentIntentSignature *string `locationName:"parentIntentSignature" type:"string"`
12234
12235	// User utterances that trigger this intent.
12236	SampleUtterances []*SampleUtterance `locationName:"sampleUtterances" type:"list"`
12237
12238	// The list that determines the priority that slots should be elicited from
12239	// the user.
12240	SlotPriorities []*SlotPriority `locationName:"slotPriorities" type:"list"`
12241}
12242
12243// String returns the string representation
12244func (s DescribeIntentOutput) String() string {
12245	return awsutil.Prettify(s)
12246}
12247
12248// GoString returns the string representation
12249func (s DescribeIntentOutput) GoString() string {
12250	return s.String()
12251}
12252
12253// SetBotId sets the BotId field's value.
12254func (s *DescribeIntentOutput) SetBotId(v string) *DescribeIntentOutput {
12255	s.BotId = &v
12256	return s
12257}
12258
12259// SetBotVersion sets the BotVersion field's value.
12260func (s *DescribeIntentOutput) SetBotVersion(v string) *DescribeIntentOutput {
12261	s.BotVersion = &v
12262	return s
12263}
12264
12265// SetCreationDateTime sets the CreationDateTime field's value.
12266func (s *DescribeIntentOutput) SetCreationDateTime(v time.Time) *DescribeIntentOutput {
12267	s.CreationDateTime = &v
12268	return s
12269}
12270
12271// SetDescription sets the Description field's value.
12272func (s *DescribeIntentOutput) SetDescription(v string) *DescribeIntentOutput {
12273	s.Description = &v
12274	return s
12275}
12276
12277// SetDialogCodeHook sets the DialogCodeHook field's value.
12278func (s *DescribeIntentOutput) SetDialogCodeHook(v *DialogCodeHookSettings) *DescribeIntentOutput {
12279	s.DialogCodeHook = v
12280	return s
12281}
12282
12283// SetFulfillmentCodeHook sets the FulfillmentCodeHook field's value.
12284func (s *DescribeIntentOutput) SetFulfillmentCodeHook(v *FulfillmentCodeHookSettings) *DescribeIntentOutput {
12285	s.FulfillmentCodeHook = v
12286	return s
12287}
12288
12289// SetInputContexts sets the InputContexts field's value.
12290func (s *DescribeIntentOutput) SetInputContexts(v []*InputContext) *DescribeIntentOutput {
12291	s.InputContexts = v
12292	return s
12293}
12294
12295// SetIntentClosingSetting sets the IntentClosingSetting field's value.
12296func (s *DescribeIntentOutput) SetIntentClosingSetting(v *IntentClosingSetting) *DescribeIntentOutput {
12297	s.IntentClosingSetting = v
12298	return s
12299}
12300
12301// SetIntentConfirmationSetting sets the IntentConfirmationSetting field's value.
12302func (s *DescribeIntentOutput) SetIntentConfirmationSetting(v *IntentConfirmationSetting) *DescribeIntentOutput {
12303	s.IntentConfirmationSetting = v
12304	return s
12305}
12306
12307// SetIntentId sets the IntentId field's value.
12308func (s *DescribeIntentOutput) SetIntentId(v string) *DescribeIntentOutput {
12309	s.IntentId = &v
12310	return s
12311}
12312
12313// SetIntentName sets the IntentName field's value.
12314func (s *DescribeIntentOutput) SetIntentName(v string) *DescribeIntentOutput {
12315	s.IntentName = &v
12316	return s
12317}
12318
12319// SetKendraConfiguration sets the KendraConfiguration field's value.
12320func (s *DescribeIntentOutput) SetKendraConfiguration(v *KendraConfiguration) *DescribeIntentOutput {
12321	s.KendraConfiguration = v
12322	return s
12323}
12324
12325// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
12326func (s *DescribeIntentOutput) SetLastUpdatedDateTime(v time.Time) *DescribeIntentOutput {
12327	s.LastUpdatedDateTime = &v
12328	return s
12329}
12330
12331// SetLocaleId sets the LocaleId field's value.
12332func (s *DescribeIntentOutput) SetLocaleId(v string) *DescribeIntentOutput {
12333	s.LocaleId = &v
12334	return s
12335}
12336
12337// SetOutputContexts sets the OutputContexts field's value.
12338func (s *DescribeIntentOutput) SetOutputContexts(v []*OutputContext) *DescribeIntentOutput {
12339	s.OutputContexts = v
12340	return s
12341}
12342
12343// SetParentIntentSignature sets the ParentIntentSignature field's value.
12344func (s *DescribeIntentOutput) SetParentIntentSignature(v string) *DescribeIntentOutput {
12345	s.ParentIntentSignature = &v
12346	return s
12347}
12348
12349// SetSampleUtterances sets the SampleUtterances field's value.
12350func (s *DescribeIntentOutput) SetSampleUtterances(v []*SampleUtterance) *DescribeIntentOutput {
12351	s.SampleUtterances = v
12352	return s
12353}
12354
12355// SetSlotPriorities sets the SlotPriorities field's value.
12356func (s *DescribeIntentOutput) SetSlotPriorities(v []*SlotPriority) *DescribeIntentOutput {
12357	s.SlotPriorities = v
12358	return s
12359}
12360
12361type DescribeResourcePolicyInput struct {
12362	_ struct{} `type:"structure"`
12363
12364	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource
12365	// policy is attached to.
12366	//
12367	// ResourceArn is a required field
12368	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
12369}
12370
12371// String returns the string representation
12372func (s DescribeResourcePolicyInput) String() string {
12373	return awsutil.Prettify(s)
12374}
12375
12376// GoString returns the string representation
12377func (s DescribeResourcePolicyInput) GoString() string {
12378	return s.String()
12379}
12380
12381// Validate inspects the fields of the type to determine if they are valid.
12382func (s *DescribeResourcePolicyInput) Validate() error {
12383	invalidParams := request.ErrInvalidParams{Context: "DescribeResourcePolicyInput"}
12384	if s.ResourceArn == nil {
12385		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
12386	}
12387	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
12388		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
12389	}
12390
12391	if invalidParams.Len() > 0 {
12392		return invalidParams
12393	}
12394	return nil
12395}
12396
12397// SetResourceArn sets the ResourceArn field's value.
12398func (s *DescribeResourcePolicyInput) SetResourceArn(v string) *DescribeResourcePolicyInput {
12399	s.ResourceArn = &v
12400	return s
12401}
12402
12403type DescribeResourcePolicyOutput struct {
12404	_ struct{} `type:"structure"`
12405
12406	// The JSON structure that contains the resource policy. For more information
12407	// about the contents of a JSON policy document, see IAM JSON policy reference
12408	// (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html).
12409	Policy *string `locationName:"policy" min:"2" type:"string"`
12410
12411	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource
12412	// policy is attached to.
12413	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string"`
12414
12415	// The current revision of the resource policy. Use the revision ID to make
12416	// sure that you are updating the most current version of a resource policy
12417	// when you add a policy statement to a resource, delete a resource, or update
12418	// a resource.
12419	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
12420}
12421
12422// String returns the string representation
12423func (s DescribeResourcePolicyOutput) String() string {
12424	return awsutil.Prettify(s)
12425}
12426
12427// GoString returns the string representation
12428func (s DescribeResourcePolicyOutput) GoString() string {
12429	return s.String()
12430}
12431
12432// SetPolicy sets the Policy field's value.
12433func (s *DescribeResourcePolicyOutput) SetPolicy(v string) *DescribeResourcePolicyOutput {
12434	s.Policy = &v
12435	return s
12436}
12437
12438// SetResourceArn sets the ResourceArn field's value.
12439func (s *DescribeResourcePolicyOutput) SetResourceArn(v string) *DescribeResourcePolicyOutput {
12440	s.ResourceArn = &v
12441	return s
12442}
12443
12444// SetRevisionId sets the RevisionId field's value.
12445func (s *DescribeResourcePolicyOutput) SetRevisionId(v string) *DescribeResourcePolicyOutput {
12446	s.RevisionId = &v
12447	return s
12448}
12449
12450type DescribeSlotInput struct {
12451	_ struct{} `type:"structure"`
12452
12453	// The identifier of the bot associated with the slot.
12454	//
12455	// BotId is a required field
12456	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
12457
12458	// The version of the bot associated with the slot.
12459	//
12460	// BotVersion is a required field
12461	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
12462
12463	// The identifier of the intent that contains the slot.
12464	//
12465	// IntentId is a required field
12466	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
12467
12468	// The identifier of the language and locale of the slot to describe. The string
12469	// must match one of the supported locales. For more information, see Supported
12470	// languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
12471	//
12472	// LocaleId is a required field
12473	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
12474
12475	// The unique identifier for the slot.
12476	//
12477	// SlotId is a required field
12478	SlotId *string `location:"uri" locationName:"slotId" min:"10" type:"string" required:"true"`
12479}
12480
12481// String returns the string representation
12482func (s DescribeSlotInput) String() string {
12483	return awsutil.Prettify(s)
12484}
12485
12486// GoString returns the string representation
12487func (s DescribeSlotInput) GoString() string {
12488	return s.String()
12489}
12490
12491// Validate inspects the fields of the type to determine if they are valid.
12492func (s *DescribeSlotInput) Validate() error {
12493	invalidParams := request.ErrInvalidParams{Context: "DescribeSlotInput"}
12494	if s.BotId == nil {
12495		invalidParams.Add(request.NewErrParamRequired("BotId"))
12496	}
12497	if s.BotId != nil && len(*s.BotId) < 10 {
12498		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
12499	}
12500	if s.BotVersion == nil {
12501		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
12502	}
12503	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
12504		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
12505	}
12506	if s.IntentId == nil {
12507		invalidParams.Add(request.NewErrParamRequired("IntentId"))
12508	}
12509	if s.IntentId != nil && len(*s.IntentId) < 10 {
12510		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
12511	}
12512	if s.LocaleId == nil {
12513		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
12514	}
12515	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
12516		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
12517	}
12518	if s.SlotId == nil {
12519		invalidParams.Add(request.NewErrParamRequired("SlotId"))
12520	}
12521	if s.SlotId != nil && len(*s.SlotId) < 10 {
12522		invalidParams.Add(request.NewErrParamMinLen("SlotId", 10))
12523	}
12524
12525	if invalidParams.Len() > 0 {
12526		return invalidParams
12527	}
12528	return nil
12529}
12530
12531// SetBotId sets the BotId field's value.
12532func (s *DescribeSlotInput) SetBotId(v string) *DescribeSlotInput {
12533	s.BotId = &v
12534	return s
12535}
12536
12537// SetBotVersion sets the BotVersion field's value.
12538func (s *DescribeSlotInput) SetBotVersion(v string) *DescribeSlotInput {
12539	s.BotVersion = &v
12540	return s
12541}
12542
12543// SetIntentId sets the IntentId field's value.
12544func (s *DescribeSlotInput) SetIntentId(v string) *DescribeSlotInput {
12545	s.IntentId = &v
12546	return s
12547}
12548
12549// SetLocaleId sets the LocaleId field's value.
12550func (s *DescribeSlotInput) SetLocaleId(v string) *DescribeSlotInput {
12551	s.LocaleId = &v
12552	return s
12553}
12554
12555// SetSlotId sets the SlotId field's value.
12556func (s *DescribeSlotInput) SetSlotId(v string) *DescribeSlotInput {
12557	s.SlotId = &v
12558	return s
12559}
12560
12561type DescribeSlotOutput struct {
12562	_ struct{} `type:"structure"`
12563
12564	// The identifier of the bot associated with the slot.
12565	BotId *string `locationName:"botId" min:"10" type:"string"`
12566
12567	// The version of the bot associated with the slot.
12568	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
12569
12570	// A timestamp of the date and time that the slot was created.
12571	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
12572
12573	// The description specified for the slot.
12574	Description *string `locationName:"description" type:"string"`
12575
12576	// The identifier of the intent associated with the slot.
12577	IntentId *string `locationName:"intentId" min:"10" type:"string"`
12578
12579	// A timestamp of the date and time that the slot was last updated.
12580	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
12581
12582	// The language and locale specified for the slot.
12583	LocaleId *string `locationName:"localeId" type:"string"`
12584
12585	// Indicates whether the slot accepts multiple values in a single utterance.
12586	//
12587	// If the multipleValuesSetting is not set, the default value is false.
12588	MultipleValuesSetting *MultipleValuesSetting `locationName:"multipleValuesSetting" type:"structure"`
12589
12590	// Whether slot values are shown in Amazon CloudWatch logs. If the value is
12591	// None, the actual value of the slot is shown in logs.
12592	ObfuscationSetting *ObfuscationSetting `locationName:"obfuscationSetting" type:"structure"`
12593
12594	// The unique identifier generated for the slot.
12595	SlotId *string `locationName:"slotId" min:"10" type:"string"`
12596
12597	// The name specified for the slot.
12598	SlotName *string `locationName:"slotName" min:"1" type:"string"`
12599
12600	// The identifier of the slot type that determines the values entered into the
12601	// slot.
12602	SlotTypeId *string `locationName:"slotTypeId" min:"1" type:"string"`
12603
12604	// Prompts that Amazon Lex uses to elicit a value for the slot.
12605	ValueElicitationSetting *SlotValueElicitationSetting `locationName:"valueElicitationSetting" type:"structure"`
12606}
12607
12608// String returns the string representation
12609func (s DescribeSlotOutput) String() string {
12610	return awsutil.Prettify(s)
12611}
12612
12613// GoString returns the string representation
12614func (s DescribeSlotOutput) GoString() string {
12615	return s.String()
12616}
12617
12618// SetBotId sets the BotId field's value.
12619func (s *DescribeSlotOutput) SetBotId(v string) *DescribeSlotOutput {
12620	s.BotId = &v
12621	return s
12622}
12623
12624// SetBotVersion sets the BotVersion field's value.
12625func (s *DescribeSlotOutput) SetBotVersion(v string) *DescribeSlotOutput {
12626	s.BotVersion = &v
12627	return s
12628}
12629
12630// SetCreationDateTime sets the CreationDateTime field's value.
12631func (s *DescribeSlotOutput) SetCreationDateTime(v time.Time) *DescribeSlotOutput {
12632	s.CreationDateTime = &v
12633	return s
12634}
12635
12636// SetDescription sets the Description field's value.
12637func (s *DescribeSlotOutput) SetDescription(v string) *DescribeSlotOutput {
12638	s.Description = &v
12639	return s
12640}
12641
12642// SetIntentId sets the IntentId field's value.
12643func (s *DescribeSlotOutput) SetIntentId(v string) *DescribeSlotOutput {
12644	s.IntentId = &v
12645	return s
12646}
12647
12648// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
12649func (s *DescribeSlotOutput) SetLastUpdatedDateTime(v time.Time) *DescribeSlotOutput {
12650	s.LastUpdatedDateTime = &v
12651	return s
12652}
12653
12654// SetLocaleId sets the LocaleId field's value.
12655func (s *DescribeSlotOutput) SetLocaleId(v string) *DescribeSlotOutput {
12656	s.LocaleId = &v
12657	return s
12658}
12659
12660// SetMultipleValuesSetting sets the MultipleValuesSetting field's value.
12661func (s *DescribeSlotOutput) SetMultipleValuesSetting(v *MultipleValuesSetting) *DescribeSlotOutput {
12662	s.MultipleValuesSetting = v
12663	return s
12664}
12665
12666// SetObfuscationSetting sets the ObfuscationSetting field's value.
12667func (s *DescribeSlotOutput) SetObfuscationSetting(v *ObfuscationSetting) *DescribeSlotOutput {
12668	s.ObfuscationSetting = v
12669	return s
12670}
12671
12672// SetSlotId sets the SlotId field's value.
12673func (s *DescribeSlotOutput) SetSlotId(v string) *DescribeSlotOutput {
12674	s.SlotId = &v
12675	return s
12676}
12677
12678// SetSlotName sets the SlotName field's value.
12679func (s *DescribeSlotOutput) SetSlotName(v string) *DescribeSlotOutput {
12680	s.SlotName = &v
12681	return s
12682}
12683
12684// SetSlotTypeId sets the SlotTypeId field's value.
12685func (s *DescribeSlotOutput) SetSlotTypeId(v string) *DescribeSlotOutput {
12686	s.SlotTypeId = &v
12687	return s
12688}
12689
12690// SetValueElicitationSetting sets the ValueElicitationSetting field's value.
12691func (s *DescribeSlotOutput) SetValueElicitationSetting(v *SlotValueElicitationSetting) *DescribeSlotOutput {
12692	s.ValueElicitationSetting = v
12693	return s
12694}
12695
12696type DescribeSlotTypeInput struct {
12697	_ struct{} `type:"structure"`
12698
12699	// The identifier of the bot associated with the slot type.
12700	//
12701	// BotId is a required field
12702	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
12703
12704	// The version of the bot associated with the slot type.
12705	//
12706	// BotVersion is a required field
12707	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
12708
12709	// The identifier of the language and locale of the slot type to describe. The
12710	// string must match one of the supported locales. For more information, see
12711	// Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
12712	//
12713	// LocaleId is a required field
12714	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
12715
12716	// The identifier of the slot type.
12717	//
12718	// SlotTypeId is a required field
12719	SlotTypeId *string `location:"uri" locationName:"slotTypeId" min:"10" type:"string" required:"true"`
12720}
12721
12722// String returns the string representation
12723func (s DescribeSlotTypeInput) String() string {
12724	return awsutil.Prettify(s)
12725}
12726
12727// GoString returns the string representation
12728func (s DescribeSlotTypeInput) GoString() string {
12729	return s.String()
12730}
12731
12732// Validate inspects the fields of the type to determine if they are valid.
12733func (s *DescribeSlotTypeInput) Validate() error {
12734	invalidParams := request.ErrInvalidParams{Context: "DescribeSlotTypeInput"}
12735	if s.BotId == nil {
12736		invalidParams.Add(request.NewErrParamRequired("BotId"))
12737	}
12738	if s.BotId != nil && len(*s.BotId) < 10 {
12739		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
12740	}
12741	if s.BotVersion == nil {
12742		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
12743	}
12744	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
12745		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
12746	}
12747	if s.LocaleId == nil {
12748		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
12749	}
12750	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
12751		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
12752	}
12753	if s.SlotTypeId == nil {
12754		invalidParams.Add(request.NewErrParamRequired("SlotTypeId"))
12755	}
12756	if s.SlotTypeId != nil && len(*s.SlotTypeId) < 10 {
12757		invalidParams.Add(request.NewErrParamMinLen("SlotTypeId", 10))
12758	}
12759
12760	if invalidParams.Len() > 0 {
12761		return invalidParams
12762	}
12763	return nil
12764}
12765
12766// SetBotId sets the BotId field's value.
12767func (s *DescribeSlotTypeInput) SetBotId(v string) *DescribeSlotTypeInput {
12768	s.BotId = &v
12769	return s
12770}
12771
12772// SetBotVersion sets the BotVersion field's value.
12773func (s *DescribeSlotTypeInput) SetBotVersion(v string) *DescribeSlotTypeInput {
12774	s.BotVersion = &v
12775	return s
12776}
12777
12778// SetLocaleId sets the LocaleId field's value.
12779func (s *DescribeSlotTypeInput) SetLocaleId(v string) *DescribeSlotTypeInput {
12780	s.LocaleId = &v
12781	return s
12782}
12783
12784// SetSlotTypeId sets the SlotTypeId field's value.
12785func (s *DescribeSlotTypeInput) SetSlotTypeId(v string) *DescribeSlotTypeInput {
12786	s.SlotTypeId = &v
12787	return s
12788}
12789
12790type DescribeSlotTypeOutput struct {
12791	_ struct{} `type:"structure"`
12792
12793	// The identifier of the bot associated with the slot type.
12794	BotId *string `locationName:"botId" min:"10" type:"string"`
12795
12796	// The version of the bot associated with the slot type.
12797	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
12798
12799	// A timestamp of the date and time that the slot type was created.
12800	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
12801
12802	// The description specified for the slot type.
12803	Description *string `locationName:"description" type:"string"`
12804
12805	// A timestamp of the date and time that the slot type was last updated.
12806	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
12807
12808	// The language and locale specified for the slot type.
12809	LocaleId *string `locationName:"localeId" type:"string"`
12810
12811	// The built in slot type used as a parent to this slot type.
12812	ParentSlotTypeSignature *string `locationName:"parentSlotTypeSignature" type:"string"`
12813
12814	// The unique identifier for the slot type.
12815	SlotTypeId *string `locationName:"slotTypeId" min:"10" type:"string"`
12816
12817	// The name specified for the slot type.
12818	SlotTypeName *string `locationName:"slotTypeName" min:"1" type:"string"`
12819
12820	// The values that the slot type can take. Includes any synonyms for the slot
12821	// type values.
12822	SlotTypeValues []*SlotTypeValue `locationName:"slotTypeValues" min:"1" type:"list"`
12823
12824	// The strategy that Amazon Lex uses to choose a value from a list of possible
12825	// values.
12826	ValueSelectionSetting *SlotValueSelectionSetting `locationName:"valueSelectionSetting" type:"structure"`
12827}
12828
12829// String returns the string representation
12830func (s DescribeSlotTypeOutput) String() string {
12831	return awsutil.Prettify(s)
12832}
12833
12834// GoString returns the string representation
12835func (s DescribeSlotTypeOutput) GoString() string {
12836	return s.String()
12837}
12838
12839// SetBotId sets the BotId field's value.
12840func (s *DescribeSlotTypeOutput) SetBotId(v string) *DescribeSlotTypeOutput {
12841	s.BotId = &v
12842	return s
12843}
12844
12845// SetBotVersion sets the BotVersion field's value.
12846func (s *DescribeSlotTypeOutput) SetBotVersion(v string) *DescribeSlotTypeOutput {
12847	s.BotVersion = &v
12848	return s
12849}
12850
12851// SetCreationDateTime sets the CreationDateTime field's value.
12852func (s *DescribeSlotTypeOutput) SetCreationDateTime(v time.Time) *DescribeSlotTypeOutput {
12853	s.CreationDateTime = &v
12854	return s
12855}
12856
12857// SetDescription sets the Description field's value.
12858func (s *DescribeSlotTypeOutput) SetDescription(v string) *DescribeSlotTypeOutput {
12859	s.Description = &v
12860	return s
12861}
12862
12863// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
12864func (s *DescribeSlotTypeOutput) SetLastUpdatedDateTime(v time.Time) *DescribeSlotTypeOutput {
12865	s.LastUpdatedDateTime = &v
12866	return s
12867}
12868
12869// SetLocaleId sets the LocaleId field's value.
12870func (s *DescribeSlotTypeOutput) SetLocaleId(v string) *DescribeSlotTypeOutput {
12871	s.LocaleId = &v
12872	return s
12873}
12874
12875// SetParentSlotTypeSignature sets the ParentSlotTypeSignature field's value.
12876func (s *DescribeSlotTypeOutput) SetParentSlotTypeSignature(v string) *DescribeSlotTypeOutput {
12877	s.ParentSlotTypeSignature = &v
12878	return s
12879}
12880
12881// SetSlotTypeId sets the SlotTypeId field's value.
12882func (s *DescribeSlotTypeOutput) SetSlotTypeId(v string) *DescribeSlotTypeOutput {
12883	s.SlotTypeId = &v
12884	return s
12885}
12886
12887// SetSlotTypeName sets the SlotTypeName field's value.
12888func (s *DescribeSlotTypeOutput) SetSlotTypeName(v string) *DescribeSlotTypeOutput {
12889	s.SlotTypeName = &v
12890	return s
12891}
12892
12893// SetSlotTypeValues sets the SlotTypeValues field's value.
12894func (s *DescribeSlotTypeOutput) SetSlotTypeValues(v []*SlotTypeValue) *DescribeSlotTypeOutput {
12895	s.SlotTypeValues = v
12896	return s
12897}
12898
12899// SetValueSelectionSetting sets the ValueSelectionSetting field's value.
12900func (s *DescribeSlotTypeOutput) SetValueSelectionSetting(v *SlotValueSelectionSetting) *DescribeSlotTypeOutput {
12901	s.ValueSelectionSetting = v
12902	return s
12903}
12904
12905// Settings that determine the Lambda function that Amazon Lex uses for processing
12906// user responses.
12907type DialogCodeHookSettings struct {
12908	_ struct{} `type:"structure"`
12909
12910	// Enables the dialog code hook so that it processes user requests.
12911	//
12912	// Enabled is a required field
12913	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
12914}
12915
12916// String returns the string representation
12917func (s DialogCodeHookSettings) String() string {
12918	return awsutil.Prettify(s)
12919}
12920
12921// GoString returns the string representation
12922func (s DialogCodeHookSettings) GoString() string {
12923	return s.String()
12924}
12925
12926// Validate inspects the fields of the type to determine if they are valid.
12927func (s *DialogCodeHookSettings) Validate() error {
12928	invalidParams := request.ErrInvalidParams{Context: "DialogCodeHookSettings"}
12929	if s.Enabled == nil {
12930		invalidParams.Add(request.NewErrParamRequired("Enabled"))
12931	}
12932
12933	if invalidParams.Len() > 0 {
12934		return invalidParams
12935	}
12936	return nil
12937}
12938
12939// SetEnabled sets the Enabled field's value.
12940func (s *DialogCodeHookSettings) SetEnabled(v bool) *DialogCodeHookSettings {
12941	s.Enabled = &v
12942	return s
12943}
12944
12945// Filtes the response form the operation
12946type ExportFilter struct {
12947	_ struct{} `type:"structure"`
12948
12949	// The name of the field to use for filtering.
12950	//
12951	// Name is a required field
12952	Name *string `locationName:"name" type:"string" required:"true" enum:"ExportFilterName"`
12953
12954	// The operator to use for the filter. Specify EQ when the ListExports operation
12955	// should return only resource types that equal the specified value. Specify
12956	// CO when the ListExports operation should return resource types that contain
12957	// the specified value.
12958	//
12959	// Operator is a required field
12960	Operator *string `locationName:"operator" type:"string" required:"true" enum:"ExportFilterOperator"`
12961
12962	// The values to use to fileter the response.
12963	//
12964	// Values is a required field
12965	Values []*string `locationName:"values" min:"1" type:"list" required:"true"`
12966}
12967
12968// String returns the string representation
12969func (s ExportFilter) String() string {
12970	return awsutil.Prettify(s)
12971}
12972
12973// GoString returns the string representation
12974func (s ExportFilter) GoString() string {
12975	return s.String()
12976}
12977
12978// Validate inspects the fields of the type to determine if they are valid.
12979func (s *ExportFilter) Validate() error {
12980	invalidParams := request.ErrInvalidParams{Context: "ExportFilter"}
12981	if s.Name == nil {
12982		invalidParams.Add(request.NewErrParamRequired("Name"))
12983	}
12984	if s.Operator == nil {
12985		invalidParams.Add(request.NewErrParamRequired("Operator"))
12986	}
12987	if s.Values == nil {
12988		invalidParams.Add(request.NewErrParamRequired("Values"))
12989	}
12990	if s.Values != nil && len(s.Values) < 1 {
12991		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
12992	}
12993
12994	if invalidParams.Len() > 0 {
12995		return invalidParams
12996	}
12997	return nil
12998}
12999
13000// SetName sets the Name field's value.
13001func (s *ExportFilter) SetName(v string) *ExportFilter {
13002	s.Name = &v
13003	return s
13004}
13005
13006// SetOperator sets the Operator field's value.
13007func (s *ExportFilter) SetOperator(v string) *ExportFilter {
13008	s.Operator = &v
13009	return s
13010}
13011
13012// SetValues sets the Values field's value.
13013func (s *ExportFilter) SetValues(v []*string) *ExportFilter {
13014	s.Values = v
13015	return s
13016}
13017
13018// Provides information about the bot or bot locale that you want to export.
13019// You can specify the botExportSpecification or the botLocaleExportSpecification,
13020// but not both.
13021type ExportResourceSpecification struct {
13022	_ struct{} `type:"structure"`
13023
13024	// Parameters for exporting a bot.
13025	BotExportSpecification *BotExportSpecification `locationName:"botExportSpecification" type:"structure"`
13026
13027	// Parameters for exporting a bot locale.
13028	BotLocaleExportSpecification *BotLocaleExportSpecification `locationName:"botLocaleExportSpecification" type:"structure"`
13029}
13030
13031// String returns the string representation
13032func (s ExportResourceSpecification) String() string {
13033	return awsutil.Prettify(s)
13034}
13035
13036// GoString returns the string representation
13037func (s ExportResourceSpecification) GoString() string {
13038	return s.String()
13039}
13040
13041// Validate inspects the fields of the type to determine if they are valid.
13042func (s *ExportResourceSpecification) Validate() error {
13043	invalidParams := request.ErrInvalidParams{Context: "ExportResourceSpecification"}
13044	if s.BotExportSpecification != nil {
13045		if err := s.BotExportSpecification.Validate(); err != nil {
13046			invalidParams.AddNested("BotExportSpecification", err.(request.ErrInvalidParams))
13047		}
13048	}
13049	if s.BotLocaleExportSpecification != nil {
13050		if err := s.BotLocaleExportSpecification.Validate(); err != nil {
13051			invalidParams.AddNested("BotLocaleExportSpecification", err.(request.ErrInvalidParams))
13052		}
13053	}
13054
13055	if invalidParams.Len() > 0 {
13056		return invalidParams
13057	}
13058	return nil
13059}
13060
13061// SetBotExportSpecification sets the BotExportSpecification field's value.
13062func (s *ExportResourceSpecification) SetBotExportSpecification(v *BotExportSpecification) *ExportResourceSpecification {
13063	s.BotExportSpecification = v
13064	return s
13065}
13066
13067// SetBotLocaleExportSpecification sets the BotLocaleExportSpecification field's value.
13068func (s *ExportResourceSpecification) SetBotLocaleExportSpecification(v *BotLocaleExportSpecification) *ExportResourceSpecification {
13069	s.BotLocaleExportSpecification = v
13070	return s
13071}
13072
13073// Provides information about sorting a list of exports.
13074type ExportSortBy struct {
13075	_ struct{} `type:"structure"`
13076
13077	// The export field to use for sorting.
13078	//
13079	// Attribute is a required field
13080	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"ExportSortAttribute"`
13081
13082	// The order to sort the list.
13083	//
13084	// Order is a required field
13085	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
13086}
13087
13088// String returns the string representation
13089func (s ExportSortBy) String() string {
13090	return awsutil.Prettify(s)
13091}
13092
13093// GoString returns the string representation
13094func (s ExportSortBy) GoString() string {
13095	return s.String()
13096}
13097
13098// Validate inspects the fields of the type to determine if they are valid.
13099func (s *ExportSortBy) Validate() error {
13100	invalidParams := request.ErrInvalidParams{Context: "ExportSortBy"}
13101	if s.Attribute == nil {
13102		invalidParams.Add(request.NewErrParamRequired("Attribute"))
13103	}
13104	if s.Order == nil {
13105		invalidParams.Add(request.NewErrParamRequired("Order"))
13106	}
13107
13108	if invalidParams.Len() > 0 {
13109		return invalidParams
13110	}
13111	return nil
13112}
13113
13114// SetAttribute sets the Attribute field's value.
13115func (s *ExportSortBy) SetAttribute(v string) *ExportSortBy {
13116	s.Attribute = &v
13117	return s
13118}
13119
13120// SetOrder sets the Order field's value.
13121func (s *ExportSortBy) SetOrder(v string) *ExportSortBy {
13122	s.Order = &v
13123	return s
13124}
13125
13126// Provides summary information about an export in an export list.
13127type ExportSummary struct {
13128	_ struct{} `type:"structure"`
13129
13130	// The date and time that the export was created.
13131	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
13132
13133	// The unique identifier that Amazon Lex assigned to the export.
13134	ExportId *string `locationName:"exportId" min:"10" type:"string"`
13135
13136	// The status of the export. When the status is Completed the export is ready
13137	// to download.
13138	ExportStatus *string `locationName:"exportStatus" type:"string" enum:"ExportStatus"`
13139
13140	// The file format used in the export files.
13141	FileFormat *string `locationName:"fileFormat" type:"string" enum:"ImportExportFileFormat"`
13142
13143	// The date and time that the export was last updated.
13144	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
13145
13146	// Information about the bot or bot locale that was exported.
13147	ResourceSpecification *ExportResourceSpecification `locationName:"resourceSpecification" type:"structure"`
13148}
13149
13150// String returns the string representation
13151func (s ExportSummary) String() string {
13152	return awsutil.Prettify(s)
13153}
13154
13155// GoString returns the string representation
13156func (s ExportSummary) GoString() string {
13157	return s.String()
13158}
13159
13160// SetCreationDateTime sets the CreationDateTime field's value.
13161func (s *ExportSummary) SetCreationDateTime(v time.Time) *ExportSummary {
13162	s.CreationDateTime = &v
13163	return s
13164}
13165
13166// SetExportId sets the ExportId field's value.
13167func (s *ExportSummary) SetExportId(v string) *ExportSummary {
13168	s.ExportId = &v
13169	return s
13170}
13171
13172// SetExportStatus sets the ExportStatus field's value.
13173func (s *ExportSummary) SetExportStatus(v string) *ExportSummary {
13174	s.ExportStatus = &v
13175	return s
13176}
13177
13178// SetFileFormat sets the FileFormat field's value.
13179func (s *ExportSummary) SetFileFormat(v string) *ExportSummary {
13180	s.FileFormat = &v
13181	return s
13182}
13183
13184// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
13185func (s *ExportSummary) SetLastUpdatedDateTime(v time.Time) *ExportSummary {
13186	s.LastUpdatedDateTime = &v
13187	return s
13188}
13189
13190// SetResourceSpecification sets the ResourceSpecification field's value.
13191func (s *ExportSummary) SetResourceSpecification(v *ExportResourceSpecification) *ExportSummary {
13192	s.ResourceSpecification = v
13193	return s
13194}
13195
13196// Determines if a Lambda function should be invoked for a specific intent.
13197type FulfillmentCodeHookSettings struct {
13198	_ struct{} `type:"structure"`
13199
13200	// Indicates whether a Lambda function should be invoked to fulfill a specific
13201	// intent.
13202	//
13203	// Enabled is a required field
13204	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
13205}
13206
13207// String returns the string representation
13208func (s FulfillmentCodeHookSettings) String() string {
13209	return awsutil.Prettify(s)
13210}
13211
13212// GoString returns the string representation
13213func (s FulfillmentCodeHookSettings) GoString() string {
13214	return s.String()
13215}
13216
13217// Validate inspects the fields of the type to determine if they are valid.
13218func (s *FulfillmentCodeHookSettings) Validate() error {
13219	invalidParams := request.ErrInvalidParams{Context: "FulfillmentCodeHookSettings"}
13220	if s.Enabled == nil {
13221		invalidParams.Add(request.NewErrParamRequired("Enabled"))
13222	}
13223
13224	if invalidParams.Len() > 0 {
13225		return invalidParams
13226	}
13227	return nil
13228}
13229
13230// SetEnabled sets the Enabled field's value.
13231func (s *FulfillmentCodeHookSettings) SetEnabled(v bool) *FulfillmentCodeHookSettings {
13232	s.Enabled = &v
13233	return s
13234}
13235
13236// A card that is shown to the user by a messaging platform. You define the
13237// contents of the card, the card is displayed by the platform.
13238//
13239// When you use a response card, the response from the user is constrained to
13240// the text associated with a button on the card.
13241type ImageResponseCard struct {
13242	_ struct{} `type:"structure"`
13243
13244	// A list of buttons that should be displayed on the response card. The arrangement
13245	// of the buttons is determined by the platform that displays the button.
13246	Buttons []*Button `locationName:"buttons" type:"list"`
13247
13248	// The URL of an image to display on the response card. The image URL must be
13249	// publicly available so that the platform displaying the response card has
13250	// access to the image.
13251	ImageUrl *string `locationName:"imageUrl" min:"1" type:"string"`
13252
13253	// The subtitle to display on the response card. The format of the subtitle
13254	// is determined by the platform displaying the response card.
13255	Subtitle *string `locationName:"subtitle" min:"1" type:"string"`
13256
13257	// The title to display on the response card. The format of the title is determined
13258	// by the platform displaying the response card.
13259	//
13260	// Title is a required field
13261	Title *string `locationName:"title" min:"1" type:"string" required:"true"`
13262}
13263
13264// String returns the string representation
13265func (s ImageResponseCard) String() string {
13266	return awsutil.Prettify(s)
13267}
13268
13269// GoString returns the string representation
13270func (s ImageResponseCard) GoString() string {
13271	return s.String()
13272}
13273
13274// Validate inspects the fields of the type to determine if they are valid.
13275func (s *ImageResponseCard) Validate() error {
13276	invalidParams := request.ErrInvalidParams{Context: "ImageResponseCard"}
13277	if s.ImageUrl != nil && len(*s.ImageUrl) < 1 {
13278		invalidParams.Add(request.NewErrParamMinLen("ImageUrl", 1))
13279	}
13280	if s.Subtitle != nil && len(*s.Subtitle) < 1 {
13281		invalidParams.Add(request.NewErrParamMinLen("Subtitle", 1))
13282	}
13283	if s.Title == nil {
13284		invalidParams.Add(request.NewErrParamRequired("Title"))
13285	}
13286	if s.Title != nil && len(*s.Title) < 1 {
13287		invalidParams.Add(request.NewErrParamMinLen("Title", 1))
13288	}
13289	if s.Buttons != nil {
13290		for i, v := range s.Buttons {
13291			if v == nil {
13292				continue
13293			}
13294			if err := v.Validate(); err != nil {
13295				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Buttons", i), err.(request.ErrInvalidParams))
13296			}
13297		}
13298	}
13299
13300	if invalidParams.Len() > 0 {
13301		return invalidParams
13302	}
13303	return nil
13304}
13305
13306// SetButtons sets the Buttons field's value.
13307func (s *ImageResponseCard) SetButtons(v []*Button) *ImageResponseCard {
13308	s.Buttons = v
13309	return s
13310}
13311
13312// SetImageUrl sets the ImageUrl field's value.
13313func (s *ImageResponseCard) SetImageUrl(v string) *ImageResponseCard {
13314	s.ImageUrl = &v
13315	return s
13316}
13317
13318// SetSubtitle sets the Subtitle field's value.
13319func (s *ImageResponseCard) SetSubtitle(v string) *ImageResponseCard {
13320	s.Subtitle = &v
13321	return s
13322}
13323
13324// SetTitle sets the Title field's value.
13325func (s *ImageResponseCard) SetTitle(v string) *ImageResponseCard {
13326	s.Title = &v
13327	return s
13328}
13329
13330// Filters the response from the operation.
13331type ImportFilter struct {
13332	_ struct{} `type:"structure"`
13333
13334	// The name of the field to use for filtering.
13335	//
13336	// Name is a required field
13337	Name *string `locationName:"name" type:"string" required:"true" enum:"ImportFilterName"`
13338
13339	// The operator to use for the filter. Specify EQ when the ListImports operation
13340	// should return only resource types that equal the specified value. Specify
13341	// CO when the ListImports operation should return resource types that contain
13342	// the specified value.
13343	//
13344	// Operator is a required field
13345	Operator *string `locationName:"operator" type:"string" required:"true" enum:"ImportFilterOperator"`
13346
13347	// The values to use to filter the response.
13348	//
13349	// Values is a required field
13350	Values []*string `locationName:"values" min:"1" type:"list" required:"true"`
13351}
13352
13353// String returns the string representation
13354func (s ImportFilter) String() string {
13355	return awsutil.Prettify(s)
13356}
13357
13358// GoString returns the string representation
13359func (s ImportFilter) GoString() string {
13360	return s.String()
13361}
13362
13363// Validate inspects the fields of the type to determine if they are valid.
13364func (s *ImportFilter) Validate() error {
13365	invalidParams := request.ErrInvalidParams{Context: "ImportFilter"}
13366	if s.Name == nil {
13367		invalidParams.Add(request.NewErrParamRequired("Name"))
13368	}
13369	if s.Operator == nil {
13370		invalidParams.Add(request.NewErrParamRequired("Operator"))
13371	}
13372	if s.Values == nil {
13373		invalidParams.Add(request.NewErrParamRequired("Values"))
13374	}
13375	if s.Values != nil && len(s.Values) < 1 {
13376		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
13377	}
13378
13379	if invalidParams.Len() > 0 {
13380		return invalidParams
13381	}
13382	return nil
13383}
13384
13385// SetName sets the Name field's value.
13386func (s *ImportFilter) SetName(v string) *ImportFilter {
13387	s.Name = &v
13388	return s
13389}
13390
13391// SetOperator sets the Operator field's value.
13392func (s *ImportFilter) SetOperator(v string) *ImportFilter {
13393	s.Operator = &v
13394	return s
13395}
13396
13397// SetValues sets the Values field's value.
13398func (s *ImportFilter) SetValues(v []*string) *ImportFilter {
13399	s.Values = v
13400	return s
13401}
13402
13403// Provides information about the bot or bot locale that you want to import.
13404// You can sepcifiy the botImportSpecification or the botLocaleImportSpecification,
13405// but not both.
13406type ImportResourceSpecification struct {
13407	_ struct{} `type:"structure"`
13408
13409	// Parameters for importing a bot.
13410	BotImportSpecification *BotImportSpecification `locationName:"botImportSpecification" type:"structure"`
13411
13412	// Parameters for importing a bot locale.
13413	BotLocaleImportSpecification *BotLocaleImportSpecification `locationName:"botLocaleImportSpecification" type:"structure"`
13414}
13415
13416// String returns the string representation
13417func (s ImportResourceSpecification) String() string {
13418	return awsutil.Prettify(s)
13419}
13420
13421// GoString returns the string representation
13422func (s ImportResourceSpecification) GoString() string {
13423	return s.String()
13424}
13425
13426// Validate inspects the fields of the type to determine if they are valid.
13427func (s *ImportResourceSpecification) Validate() error {
13428	invalidParams := request.ErrInvalidParams{Context: "ImportResourceSpecification"}
13429	if s.BotImportSpecification != nil {
13430		if err := s.BotImportSpecification.Validate(); err != nil {
13431			invalidParams.AddNested("BotImportSpecification", err.(request.ErrInvalidParams))
13432		}
13433	}
13434	if s.BotLocaleImportSpecification != nil {
13435		if err := s.BotLocaleImportSpecification.Validate(); err != nil {
13436			invalidParams.AddNested("BotLocaleImportSpecification", err.(request.ErrInvalidParams))
13437		}
13438	}
13439
13440	if invalidParams.Len() > 0 {
13441		return invalidParams
13442	}
13443	return nil
13444}
13445
13446// SetBotImportSpecification sets the BotImportSpecification field's value.
13447func (s *ImportResourceSpecification) SetBotImportSpecification(v *BotImportSpecification) *ImportResourceSpecification {
13448	s.BotImportSpecification = v
13449	return s
13450}
13451
13452// SetBotLocaleImportSpecification sets the BotLocaleImportSpecification field's value.
13453func (s *ImportResourceSpecification) SetBotLocaleImportSpecification(v *BotLocaleImportSpecification) *ImportResourceSpecification {
13454	s.BotLocaleImportSpecification = v
13455	return s
13456}
13457
13458// Provides information for sorting a list of imports.
13459type ImportSortBy struct {
13460	_ struct{} `type:"structure"`
13461
13462	// The export field to use for sorting.
13463	//
13464	// Attribute is a required field
13465	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"ImportSortAttribute"`
13466
13467	// The order to sort the list.
13468	//
13469	// Order is a required field
13470	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
13471}
13472
13473// String returns the string representation
13474func (s ImportSortBy) String() string {
13475	return awsutil.Prettify(s)
13476}
13477
13478// GoString returns the string representation
13479func (s ImportSortBy) GoString() string {
13480	return s.String()
13481}
13482
13483// Validate inspects the fields of the type to determine if they are valid.
13484func (s *ImportSortBy) Validate() error {
13485	invalidParams := request.ErrInvalidParams{Context: "ImportSortBy"}
13486	if s.Attribute == nil {
13487		invalidParams.Add(request.NewErrParamRequired("Attribute"))
13488	}
13489	if s.Order == nil {
13490		invalidParams.Add(request.NewErrParamRequired("Order"))
13491	}
13492
13493	if invalidParams.Len() > 0 {
13494		return invalidParams
13495	}
13496	return nil
13497}
13498
13499// SetAttribute sets the Attribute field's value.
13500func (s *ImportSortBy) SetAttribute(v string) *ImportSortBy {
13501	s.Attribute = &v
13502	return s
13503}
13504
13505// SetOrder sets the Order field's value.
13506func (s *ImportSortBy) SetOrder(v string) *ImportSortBy {
13507	s.Order = &v
13508	return s
13509}
13510
13511// Provides summary information about an import in an import list.
13512type ImportSummary struct {
13513	_ struct{} `type:"structure"`
13514
13515	// The date and time that the import was created.
13516	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
13517
13518	// The unique identifier that Amazon Lex assigned to the import.
13519	ImportId *string `locationName:"importId" min:"10" type:"string"`
13520
13521	// The status of the resource. When the status is Completed the resource is
13522	// ready to build.
13523	ImportStatus *string `locationName:"importStatus" type:"string" enum:"ImportStatus"`
13524
13525	// The unique identifier that Amazon Lex assigned to the imported resource.
13526	ImportedResourceId *string `locationName:"importedResourceId" min:"5" type:"string"`
13527
13528	// The name that you gave the imported resource.
13529	ImportedResourceName *string `locationName:"importedResourceName" min:"1" type:"string"`
13530
13531	// The date and time that the import was last updated.
13532	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
13533
13534	// The strategy used to merge existing bot or bot locale definitions with the
13535	// imported definition.
13536	MergeStrategy *string `locationName:"mergeStrategy" type:"string" enum:"MergeStrategy"`
13537}
13538
13539// String returns the string representation
13540func (s ImportSummary) String() string {
13541	return awsutil.Prettify(s)
13542}
13543
13544// GoString returns the string representation
13545func (s ImportSummary) GoString() string {
13546	return s.String()
13547}
13548
13549// SetCreationDateTime sets the CreationDateTime field's value.
13550func (s *ImportSummary) SetCreationDateTime(v time.Time) *ImportSummary {
13551	s.CreationDateTime = &v
13552	return s
13553}
13554
13555// SetImportId sets the ImportId field's value.
13556func (s *ImportSummary) SetImportId(v string) *ImportSummary {
13557	s.ImportId = &v
13558	return s
13559}
13560
13561// SetImportStatus sets the ImportStatus field's value.
13562func (s *ImportSummary) SetImportStatus(v string) *ImportSummary {
13563	s.ImportStatus = &v
13564	return s
13565}
13566
13567// SetImportedResourceId sets the ImportedResourceId field's value.
13568func (s *ImportSummary) SetImportedResourceId(v string) *ImportSummary {
13569	s.ImportedResourceId = &v
13570	return s
13571}
13572
13573// SetImportedResourceName sets the ImportedResourceName field's value.
13574func (s *ImportSummary) SetImportedResourceName(v string) *ImportSummary {
13575	s.ImportedResourceName = &v
13576	return s
13577}
13578
13579// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
13580func (s *ImportSummary) SetLastUpdatedDateTime(v time.Time) *ImportSummary {
13581	s.LastUpdatedDateTime = &v
13582	return s
13583}
13584
13585// SetMergeStrategy sets the MergeStrategy field's value.
13586func (s *ImportSummary) SetMergeStrategy(v string) *ImportSummary {
13587	s.MergeStrategy = &v
13588	return s
13589}
13590
13591// The name of a context that must be active for an intent to be selected by
13592// Amazon Lex.
13593type InputContext struct {
13594	_ struct{} `type:"structure"`
13595
13596	// The name of the context.
13597	//
13598	// Name is a required field
13599	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
13600}
13601
13602// String returns the string representation
13603func (s InputContext) String() string {
13604	return awsutil.Prettify(s)
13605}
13606
13607// GoString returns the string representation
13608func (s InputContext) GoString() string {
13609	return s.String()
13610}
13611
13612// Validate inspects the fields of the type to determine if they are valid.
13613func (s *InputContext) Validate() error {
13614	invalidParams := request.ErrInvalidParams{Context: "InputContext"}
13615	if s.Name == nil {
13616		invalidParams.Add(request.NewErrParamRequired("Name"))
13617	}
13618	if s.Name != nil && len(*s.Name) < 1 {
13619		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
13620	}
13621
13622	if invalidParams.Len() > 0 {
13623		return invalidParams
13624	}
13625	return nil
13626}
13627
13628// SetName sets the Name field's value.
13629func (s *InputContext) SetName(v string) *InputContext {
13630	s.Name = &v
13631	return s
13632}
13633
13634// Provides a statement the Amazon Lex conveys to the user when the intent is
13635// successfully fulfilled.
13636type IntentClosingSetting struct {
13637	_ struct{} `type:"structure"`
13638
13639	// The response that Amazon Lex sends to the user when the intent is complete.
13640	//
13641	// ClosingResponse is a required field
13642	ClosingResponse *ResponseSpecification `locationName:"closingResponse" type:"structure" required:"true"`
13643}
13644
13645// String returns the string representation
13646func (s IntentClosingSetting) String() string {
13647	return awsutil.Prettify(s)
13648}
13649
13650// GoString returns the string representation
13651func (s IntentClosingSetting) GoString() string {
13652	return s.String()
13653}
13654
13655// Validate inspects the fields of the type to determine if they are valid.
13656func (s *IntentClosingSetting) Validate() error {
13657	invalidParams := request.ErrInvalidParams{Context: "IntentClosingSetting"}
13658	if s.ClosingResponse == nil {
13659		invalidParams.Add(request.NewErrParamRequired("ClosingResponse"))
13660	}
13661	if s.ClosingResponse != nil {
13662		if err := s.ClosingResponse.Validate(); err != nil {
13663			invalidParams.AddNested("ClosingResponse", err.(request.ErrInvalidParams))
13664		}
13665	}
13666
13667	if invalidParams.Len() > 0 {
13668		return invalidParams
13669	}
13670	return nil
13671}
13672
13673// SetClosingResponse sets the ClosingResponse field's value.
13674func (s *IntentClosingSetting) SetClosingResponse(v *ResponseSpecification) *IntentClosingSetting {
13675	s.ClosingResponse = v
13676	return s
13677}
13678
13679// Provides a prompt for making sure that the user is ready for the intent to
13680// be fulfilled.
13681type IntentConfirmationSetting struct {
13682	_ struct{} `type:"structure"`
13683
13684	// When the user answers "no" to the question defined in promptSpecification,
13685	// Amazon Lex responds with this response to acknowledge that the intent was
13686	// canceled.
13687	//
13688	// DeclinationResponse is a required field
13689	DeclinationResponse *ResponseSpecification `locationName:"declinationResponse" type:"structure" required:"true"`
13690
13691	// Prompts the user to confirm the intent. This question should have a yes or
13692	// no answer.
13693	//
13694	// Amazon Lex uses this prompt to ensure that the user acknowledges that the
13695	// intent is ready for fulfillment. For example, with the OrderPizza intent,
13696	// you might want to confirm that the order is correct before placing it. For
13697	// other intents, such as intents that simply respond to user questions, you
13698	// might not need to ask the user for confirmation before providing the information.
13699	//
13700	// PromptSpecification is a required field
13701	PromptSpecification *PromptSpecification `locationName:"promptSpecification" type:"structure" required:"true"`
13702}
13703
13704// String returns the string representation
13705func (s IntentConfirmationSetting) String() string {
13706	return awsutil.Prettify(s)
13707}
13708
13709// GoString returns the string representation
13710func (s IntentConfirmationSetting) GoString() string {
13711	return s.String()
13712}
13713
13714// Validate inspects the fields of the type to determine if they are valid.
13715func (s *IntentConfirmationSetting) Validate() error {
13716	invalidParams := request.ErrInvalidParams{Context: "IntentConfirmationSetting"}
13717	if s.DeclinationResponse == nil {
13718		invalidParams.Add(request.NewErrParamRequired("DeclinationResponse"))
13719	}
13720	if s.PromptSpecification == nil {
13721		invalidParams.Add(request.NewErrParamRequired("PromptSpecification"))
13722	}
13723	if s.DeclinationResponse != nil {
13724		if err := s.DeclinationResponse.Validate(); err != nil {
13725			invalidParams.AddNested("DeclinationResponse", err.(request.ErrInvalidParams))
13726		}
13727	}
13728	if s.PromptSpecification != nil {
13729		if err := s.PromptSpecification.Validate(); err != nil {
13730			invalidParams.AddNested("PromptSpecification", err.(request.ErrInvalidParams))
13731		}
13732	}
13733
13734	if invalidParams.Len() > 0 {
13735		return invalidParams
13736	}
13737	return nil
13738}
13739
13740// SetDeclinationResponse sets the DeclinationResponse field's value.
13741func (s *IntentConfirmationSetting) SetDeclinationResponse(v *ResponseSpecification) *IntentConfirmationSetting {
13742	s.DeclinationResponse = v
13743	return s
13744}
13745
13746// SetPromptSpecification sets the PromptSpecification field's value.
13747func (s *IntentConfirmationSetting) SetPromptSpecification(v *PromptSpecification) *IntentConfirmationSetting {
13748	s.PromptSpecification = v
13749	return s
13750}
13751
13752// Filters the response from the ListIntents operation.
13753type IntentFilter struct {
13754	_ struct{} `type:"structure"`
13755
13756	// The name of the field to use for the filter.
13757	//
13758	// Name is a required field
13759	Name *string `locationName:"name" type:"string" required:"true" enum:"IntentFilterName"`
13760
13761	// The operator to use for the filter. Specify EQ when the ListIntents operation
13762	// should return only aliases that equal the specified value. Specify CO when
13763	// the ListIntents operation should return aliases that contain the specified
13764	// value.
13765	//
13766	// Operator is a required field
13767	Operator *string `locationName:"operator" type:"string" required:"true" enum:"IntentFilterOperator"`
13768
13769	// The value to use for the filter.
13770	//
13771	// Values is a required field
13772	Values []*string `locationName:"values" min:"1" type:"list" required:"true"`
13773}
13774
13775// String returns the string representation
13776func (s IntentFilter) String() string {
13777	return awsutil.Prettify(s)
13778}
13779
13780// GoString returns the string representation
13781func (s IntentFilter) GoString() string {
13782	return s.String()
13783}
13784
13785// Validate inspects the fields of the type to determine if they are valid.
13786func (s *IntentFilter) Validate() error {
13787	invalidParams := request.ErrInvalidParams{Context: "IntentFilter"}
13788	if s.Name == nil {
13789		invalidParams.Add(request.NewErrParamRequired("Name"))
13790	}
13791	if s.Operator == nil {
13792		invalidParams.Add(request.NewErrParamRequired("Operator"))
13793	}
13794	if s.Values == nil {
13795		invalidParams.Add(request.NewErrParamRequired("Values"))
13796	}
13797	if s.Values != nil && len(s.Values) < 1 {
13798		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
13799	}
13800
13801	if invalidParams.Len() > 0 {
13802		return invalidParams
13803	}
13804	return nil
13805}
13806
13807// SetName sets the Name field's value.
13808func (s *IntentFilter) SetName(v string) *IntentFilter {
13809	s.Name = &v
13810	return s
13811}
13812
13813// SetOperator sets the Operator field's value.
13814func (s *IntentFilter) SetOperator(v string) *IntentFilter {
13815	s.Operator = &v
13816	return s
13817}
13818
13819// SetValues sets the Values field's value.
13820func (s *IntentFilter) SetValues(v []*string) *IntentFilter {
13821	s.Values = v
13822	return s
13823}
13824
13825// Specifies attributes for sorting a list of intents.
13826type IntentSortBy struct {
13827	_ struct{} `type:"structure"`
13828
13829	// The attribute to use to sort the list of intents.
13830	//
13831	// Attribute is a required field
13832	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"IntentSortAttribute"`
13833
13834	// The order to sort the list. You can choose ascending or descending.
13835	//
13836	// Order is a required field
13837	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
13838}
13839
13840// String returns the string representation
13841func (s IntentSortBy) String() string {
13842	return awsutil.Prettify(s)
13843}
13844
13845// GoString returns the string representation
13846func (s IntentSortBy) GoString() string {
13847	return s.String()
13848}
13849
13850// Validate inspects the fields of the type to determine if they are valid.
13851func (s *IntentSortBy) Validate() error {
13852	invalidParams := request.ErrInvalidParams{Context: "IntentSortBy"}
13853	if s.Attribute == nil {
13854		invalidParams.Add(request.NewErrParamRequired("Attribute"))
13855	}
13856	if s.Order == nil {
13857		invalidParams.Add(request.NewErrParamRequired("Order"))
13858	}
13859
13860	if invalidParams.Len() > 0 {
13861		return invalidParams
13862	}
13863	return nil
13864}
13865
13866// SetAttribute sets the Attribute field's value.
13867func (s *IntentSortBy) SetAttribute(v string) *IntentSortBy {
13868	s.Attribute = &v
13869	return s
13870}
13871
13872// SetOrder sets the Order field's value.
13873func (s *IntentSortBy) SetOrder(v string) *IntentSortBy {
13874	s.Order = &v
13875	return s
13876}
13877
13878// Summary information about an intent returned by the ListIntents operation.
13879type IntentSummary struct {
13880	_ struct{} `type:"structure"`
13881
13882	// The description of the intent.
13883	Description *string `locationName:"description" type:"string"`
13884
13885	// The input contexts that must be active for this intent to be considered for
13886	// recognition.
13887	InputContexts []*InputContext `locationName:"inputContexts" type:"list"`
13888
13889	// The unique identifier assigned to the intent. Use this ID to get detailed
13890	// information about the intent with the DescribeIntent operation.
13891	IntentId *string `locationName:"intentId" min:"10" type:"string"`
13892
13893	// The name of the intent.
13894	IntentName *string `locationName:"intentName" min:"1" type:"string"`
13895
13896	// The timestamp of the date and time that the intent was last updated.
13897	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
13898
13899	// The output contexts that are activated when this intent is fulfilled.
13900	OutputContexts []*OutputContext `locationName:"outputContexts" type:"list"`
13901
13902	// If this intent is derived from a built-in intent, the name of the parent
13903	// intent.
13904	ParentIntentSignature *string `locationName:"parentIntentSignature" type:"string"`
13905}
13906
13907// String returns the string representation
13908func (s IntentSummary) String() string {
13909	return awsutil.Prettify(s)
13910}
13911
13912// GoString returns the string representation
13913func (s IntentSummary) GoString() string {
13914	return s.String()
13915}
13916
13917// SetDescription sets the Description field's value.
13918func (s *IntentSummary) SetDescription(v string) *IntentSummary {
13919	s.Description = &v
13920	return s
13921}
13922
13923// SetInputContexts sets the InputContexts field's value.
13924func (s *IntentSummary) SetInputContexts(v []*InputContext) *IntentSummary {
13925	s.InputContexts = v
13926	return s
13927}
13928
13929// SetIntentId sets the IntentId field's value.
13930func (s *IntentSummary) SetIntentId(v string) *IntentSummary {
13931	s.IntentId = &v
13932	return s
13933}
13934
13935// SetIntentName sets the IntentName field's value.
13936func (s *IntentSummary) SetIntentName(v string) *IntentSummary {
13937	s.IntentName = &v
13938	return s
13939}
13940
13941// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
13942func (s *IntentSummary) SetLastUpdatedDateTime(v time.Time) *IntentSummary {
13943	s.LastUpdatedDateTime = &v
13944	return s
13945}
13946
13947// SetOutputContexts sets the OutputContexts field's value.
13948func (s *IntentSummary) SetOutputContexts(v []*OutputContext) *IntentSummary {
13949	s.OutputContexts = v
13950	return s
13951}
13952
13953// SetParentIntentSignature sets the ParentIntentSignature field's value.
13954func (s *IntentSummary) SetParentIntentSignature(v string) *IntentSummary {
13955	s.ParentIntentSignature = &v
13956	return s
13957}
13958
13959type InternalServerException struct {
13960	_            struct{}                  `type:"structure"`
13961	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13962
13963	Message_ *string `locationName:"message" type:"string"`
13964}
13965
13966// String returns the string representation
13967func (s InternalServerException) String() string {
13968	return awsutil.Prettify(s)
13969}
13970
13971// GoString returns the string representation
13972func (s InternalServerException) GoString() string {
13973	return s.String()
13974}
13975
13976func newErrorInternalServerException(v protocol.ResponseMetadata) error {
13977	return &InternalServerException{
13978		RespMetadata: v,
13979	}
13980}
13981
13982// Code returns the exception type name.
13983func (s *InternalServerException) Code() string {
13984	return "InternalServerException"
13985}
13986
13987// Message returns the exception's message.
13988func (s *InternalServerException) Message() string {
13989	if s.Message_ != nil {
13990		return *s.Message_
13991	}
13992	return ""
13993}
13994
13995// OrigErr always returns nil, satisfies awserr.Error interface.
13996func (s *InternalServerException) OrigErr() error {
13997	return nil
13998}
13999
14000func (s *InternalServerException) Error() string {
14001	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
14002}
14003
14004// Status code returns the HTTP status code for the request's response error.
14005func (s *InternalServerException) StatusCode() int {
14006	return s.RespMetadata.StatusCode
14007}
14008
14009// RequestID returns the service's response RequestID for request.
14010func (s *InternalServerException) RequestID() string {
14011	return s.RespMetadata.RequestID
14012}
14013
14014// Provides configuration information for the AMAZON.KendraSearchIntent intent.
14015// When you use this intent, Amazon Lex searches the specified Amazon Kendra
14016// index and returns documents from the index that match the user's utterance.
14017type KendraConfiguration struct {
14018	_ struct{} `type:"structure"`
14019
14020	// The Amazon Resource Name (ARN) of the Amazon Kendra index that you want the
14021	// AMAZON.KendraSearchIntent intent to search. The index must be in the same
14022	// account and Region as the Amazon Lex bot.
14023	//
14024	// KendraIndex is a required field
14025	KendraIndex *string `locationName:"kendraIndex" min:"32" type:"string" required:"true"`
14026
14027	// A query filter that Amazon Lex sends to Amazon Kendra to filter the response
14028	// from a query. The filter is in the format defined by Amazon Kendra. For more
14029	// information, see Filtering queries (https://docs.aws.amazon.com/kendra/latest/dg/filtering.html).
14030	QueryFilterString *string `locationName:"queryFilterString" min:"1" type:"string"`
14031
14032	// Determines whether the AMAZON.KendraSearchIntent intent uses a custom query
14033	// string to query the Amazon Kendra index.
14034	QueryFilterStringEnabled *bool `locationName:"queryFilterStringEnabled" type:"boolean"`
14035}
14036
14037// String returns the string representation
14038func (s KendraConfiguration) String() string {
14039	return awsutil.Prettify(s)
14040}
14041
14042// GoString returns the string representation
14043func (s KendraConfiguration) GoString() string {
14044	return s.String()
14045}
14046
14047// Validate inspects the fields of the type to determine if they are valid.
14048func (s *KendraConfiguration) Validate() error {
14049	invalidParams := request.ErrInvalidParams{Context: "KendraConfiguration"}
14050	if s.KendraIndex == nil {
14051		invalidParams.Add(request.NewErrParamRequired("KendraIndex"))
14052	}
14053	if s.KendraIndex != nil && len(*s.KendraIndex) < 32 {
14054		invalidParams.Add(request.NewErrParamMinLen("KendraIndex", 32))
14055	}
14056	if s.QueryFilterString != nil && len(*s.QueryFilterString) < 1 {
14057		invalidParams.Add(request.NewErrParamMinLen("QueryFilterString", 1))
14058	}
14059
14060	if invalidParams.Len() > 0 {
14061		return invalidParams
14062	}
14063	return nil
14064}
14065
14066// SetKendraIndex sets the KendraIndex field's value.
14067func (s *KendraConfiguration) SetKendraIndex(v string) *KendraConfiguration {
14068	s.KendraIndex = &v
14069	return s
14070}
14071
14072// SetQueryFilterString sets the QueryFilterString field's value.
14073func (s *KendraConfiguration) SetQueryFilterString(v string) *KendraConfiguration {
14074	s.QueryFilterString = &v
14075	return s
14076}
14077
14078// SetQueryFilterStringEnabled sets the QueryFilterStringEnabled field's value.
14079func (s *KendraConfiguration) SetQueryFilterStringEnabled(v bool) *KendraConfiguration {
14080	s.QueryFilterStringEnabled = &v
14081	return s
14082}
14083
14084// Specifies a Lambda function that verifies requests to a bot or fulfilles
14085// the user's request to a bot.
14086type LambdaCodeHook struct {
14087	_ struct{} `type:"structure"`
14088
14089	// The version of the request-response that you want Amazon Lex to use to invoke
14090	// your Lambda function.
14091	//
14092	// CodeHookInterfaceVersion is a required field
14093	CodeHookInterfaceVersion *string `locationName:"codeHookInterfaceVersion" min:"1" type:"string" required:"true"`
14094
14095	// The Amazon Resource Name (ARN) of the Lambda function.
14096	//
14097	// LambdaARN is a required field
14098	LambdaARN *string `locationName:"lambdaARN" min:"20" type:"string" required:"true"`
14099}
14100
14101// String returns the string representation
14102func (s LambdaCodeHook) String() string {
14103	return awsutil.Prettify(s)
14104}
14105
14106// GoString returns the string representation
14107func (s LambdaCodeHook) GoString() string {
14108	return s.String()
14109}
14110
14111// Validate inspects the fields of the type to determine if they are valid.
14112func (s *LambdaCodeHook) Validate() error {
14113	invalidParams := request.ErrInvalidParams{Context: "LambdaCodeHook"}
14114	if s.CodeHookInterfaceVersion == nil {
14115		invalidParams.Add(request.NewErrParamRequired("CodeHookInterfaceVersion"))
14116	}
14117	if s.CodeHookInterfaceVersion != nil && len(*s.CodeHookInterfaceVersion) < 1 {
14118		invalidParams.Add(request.NewErrParamMinLen("CodeHookInterfaceVersion", 1))
14119	}
14120	if s.LambdaARN == nil {
14121		invalidParams.Add(request.NewErrParamRequired("LambdaARN"))
14122	}
14123	if s.LambdaARN != nil && len(*s.LambdaARN) < 20 {
14124		invalidParams.Add(request.NewErrParamMinLen("LambdaARN", 20))
14125	}
14126
14127	if invalidParams.Len() > 0 {
14128		return invalidParams
14129	}
14130	return nil
14131}
14132
14133// SetCodeHookInterfaceVersion sets the CodeHookInterfaceVersion field's value.
14134func (s *LambdaCodeHook) SetCodeHookInterfaceVersion(v string) *LambdaCodeHook {
14135	s.CodeHookInterfaceVersion = &v
14136	return s
14137}
14138
14139// SetLambdaARN sets the LambdaARN field's value.
14140func (s *LambdaCodeHook) SetLambdaARN(v string) *LambdaCodeHook {
14141	s.LambdaARN = &v
14142	return s
14143}
14144
14145type ListBotAliasesInput struct {
14146	_ struct{} `type:"structure"`
14147
14148	// The identifier of the bot to list aliases for.
14149	//
14150	// BotId is a required field
14151	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
14152
14153	// The maximum number of aliases to return in each page of results. If there
14154	// are fewer results than the max page size, only the actual number of results
14155	// are returned.
14156	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
14157
14158	// If the response from the ListBotAliases operation contains more results than
14159	// specified in the maxResults parameter, a token is returned in the response.
14160	// Use that token in the nextToken parameter to return the next page of results.
14161	NextToken *string `locationName:"nextToken" type:"string"`
14162}
14163
14164// String returns the string representation
14165func (s ListBotAliasesInput) String() string {
14166	return awsutil.Prettify(s)
14167}
14168
14169// GoString returns the string representation
14170func (s ListBotAliasesInput) GoString() string {
14171	return s.String()
14172}
14173
14174// Validate inspects the fields of the type to determine if they are valid.
14175func (s *ListBotAliasesInput) Validate() error {
14176	invalidParams := request.ErrInvalidParams{Context: "ListBotAliasesInput"}
14177	if s.BotId == nil {
14178		invalidParams.Add(request.NewErrParamRequired("BotId"))
14179	}
14180	if s.BotId != nil && len(*s.BotId) < 10 {
14181		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
14182	}
14183	if s.MaxResults != nil && *s.MaxResults < 1 {
14184		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14185	}
14186
14187	if invalidParams.Len() > 0 {
14188		return invalidParams
14189	}
14190	return nil
14191}
14192
14193// SetBotId sets the BotId field's value.
14194func (s *ListBotAliasesInput) SetBotId(v string) *ListBotAliasesInput {
14195	s.BotId = &v
14196	return s
14197}
14198
14199// SetMaxResults sets the MaxResults field's value.
14200func (s *ListBotAliasesInput) SetMaxResults(v int64) *ListBotAliasesInput {
14201	s.MaxResults = &v
14202	return s
14203}
14204
14205// SetNextToken sets the NextToken field's value.
14206func (s *ListBotAliasesInput) SetNextToken(v string) *ListBotAliasesInput {
14207	s.NextToken = &v
14208	return s
14209}
14210
14211type ListBotAliasesOutput struct {
14212	_ struct{} `type:"structure"`
14213
14214	// Summary information for the bot aliases that meet the filter criteria specified
14215	// in the request. The length of the list is specified in the maxResults parameter
14216	// of the request. If there are more aliases available, the nextToken field
14217	// contains a token to get the next page of results.
14218	BotAliasSummaries []*BotAliasSummary `locationName:"botAliasSummaries" type:"list"`
14219
14220	// The identifier of the bot associated with the aliases.
14221	BotId *string `locationName:"botId" min:"10" type:"string"`
14222
14223	// A token that indicates whether there are more results to return in a response
14224	// to the ListBotAliases operation. If the nextToken field is present, you send
14225	// the contents as the nextToken parameter of a ListBotAliases operation request
14226	// to get the next page of results.
14227	NextToken *string `locationName:"nextToken" type:"string"`
14228}
14229
14230// String returns the string representation
14231func (s ListBotAliasesOutput) String() string {
14232	return awsutil.Prettify(s)
14233}
14234
14235// GoString returns the string representation
14236func (s ListBotAliasesOutput) GoString() string {
14237	return s.String()
14238}
14239
14240// SetBotAliasSummaries sets the BotAliasSummaries field's value.
14241func (s *ListBotAliasesOutput) SetBotAliasSummaries(v []*BotAliasSummary) *ListBotAliasesOutput {
14242	s.BotAliasSummaries = v
14243	return s
14244}
14245
14246// SetBotId sets the BotId field's value.
14247func (s *ListBotAliasesOutput) SetBotId(v string) *ListBotAliasesOutput {
14248	s.BotId = &v
14249	return s
14250}
14251
14252// SetNextToken sets the NextToken field's value.
14253func (s *ListBotAliasesOutput) SetNextToken(v string) *ListBotAliasesOutput {
14254	s.NextToken = &v
14255	return s
14256}
14257
14258type ListBotLocalesInput struct {
14259	_ struct{} `type:"structure"`
14260
14261	// The identifier of the bot to list locales for.
14262	//
14263	// BotId is a required field
14264	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
14265
14266	// The version of the bot to list locales for.
14267	//
14268	// BotVersion is a required field
14269	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
14270
14271	// Provides the specification for a filter used to limit the response to only
14272	// those locales that match the filter specification. You can only specify one
14273	// filter and one value to filter on.
14274	Filters []*BotLocaleFilter `locationName:"filters" min:"1" type:"list"`
14275
14276	// The maximum number of aliases to return in each page of results. If there
14277	// are fewer results than the max page size, only the actual number of results
14278	// are returned.
14279	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
14280
14281	// If the response from the ListBotLocales operation contains more results than
14282	// specified in the maxResults parameter, a token is returned in the response.
14283	// Use that token as the nextToken parameter to return the next page of results.
14284	NextToken *string `locationName:"nextToken" type:"string"`
14285
14286	// Specifies sorting parameters for the list of locales. You can sort by locale
14287	// name in ascending or descending order.
14288	SortBy *BotLocaleSortBy `locationName:"sortBy" type:"structure"`
14289}
14290
14291// String returns the string representation
14292func (s ListBotLocalesInput) String() string {
14293	return awsutil.Prettify(s)
14294}
14295
14296// GoString returns the string representation
14297func (s ListBotLocalesInput) GoString() string {
14298	return s.String()
14299}
14300
14301// Validate inspects the fields of the type to determine if they are valid.
14302func (s *ListBotLocalesInput) Validate() error {
14303	invalidParams := request.ErrInvalidParams{Context: "ListBotLocalesInput"}
14304	if s.BotId == nil {
14305		invalidParams.Add(request.NewErrParamRequired("BotId"))
14306	}
14307	if s.BotId != nil && len(*s.BotId) < 10 {
14308		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
14309	}
14310	if s.BotVersion == nil {
14311		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
14312	}
14313	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
14314		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
14315	}
14316	if s.Filters != nil && len(s.Filters) < 1 {
14317		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
14318	}
14319	if s.MaxResults != nil && *s.MaxResults < 1 {
14320		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14321	}
14322	if s.Filters != nil {
14323		for i, v := range s.Filters {
14324			if v == nil {
14325				continue
14326			}
14327			if err := v.Validate(); err != nil {
14328				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
14329			}
14330		}
14331	}
14332	if s.SortBy != nil {
14333		if err := s.SortBy.Validate(); err != nil {
14334			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
14335		}
14336	}
14337
14338	if invalidParams.Len() > 0 {
14339		return invalidParams
14340	}
14341	return nil
14342}
14343
14344// SetBotId sets the BotId field's value.
14345func (s *ListBotLocalesInput) SetBotId(v string) *ListBotLocalesInput {
14346	s.BotId = &v
14347	return s
14348}
14349
14350// SetBotVersion sets the BotVersion field's value.
14351func (s *ListBotLocalesInput) SetBotVersion(v string) *ListBotLocalesInput {
14352	s.BotVersion = &v
14353	return s
14354}
14355
14356// SetFilters sets the Filters field's value.
14357func (s *ListBotLocalesInput) SetFilters(v []*BotLocaleFilter) *ListBotLocalesInput {
14358	s.Filters = v
14359	return s
14360}
14361
14362// SetMaxResults sets the MaxResults field's value.
14363func (s *ListBotLocalesInput) SetMaxResults(v int64) *ListBotLocalesInput {
14364	s.MaxResults = &v
14365	return s
14366}
14367
14368// SetNextToken sets the NextToken field's value.
14369func (s *ListBotLocalesInput) SetNextToken(v string) *ListBotLocalesInput {
14370	s.NextToken = &v
14371	return s
14372}
14373
14374// SetSortBy sets the SortBy field's value.
14375func (s *ListBotLocalesInput) SetSortBy(v *BotLocaleSortBy) *ListBotLocalesInput {
14376	s.SortBy = v
14377	return s
14378}
14379
14380type ListBotLocalesOutput struct {
14381	_ struct{} `type:"structure"`
14382
14383	// The identifier of the bot to list locales for.
14384	BotId *string `locationName:"botId" min:"10" type:"string"`
14385
14386	// Summary information for the locales that meet the filter criteria specified
14387	// in the request. The length of the list is specified in the maxResults parameter
14388	// of the request. If there are more locales available, the nextToken field
14389	// contains a token to get the next page of results.
14390	BotLocaleSummaries []*BotLocaleSummary `locationName:"botLocaleSummaries" type:"list"`
14391
14392	// The version of the bot.
14393	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
14394
14395	// A token that indicates whether there are more results to return in a response
14396	// to the ListBotLocales operation. If the nextToken field is present, you send
14397	// the contents as the nextToken parameter of a ListBotLocales operation request
14398	// to get the next page of results.
14399	NextToken *string `locationName:"nextToken" type:"string"`
14400}
14401
14402// String returns the string representation
14403func (s ListBotLocalesOutput) String() string {
14404	return awsutil.Prettify(s)
14405}
14406
14407// GoString returns the string representation
14408func (s ListBotLocalesOutput) GoString() string {
14409	return s.String()
14410}
14411
14412// SetBotId sets the BotId field's value.
14413func (s *ListBotLocalesOutput) SetBotId(v string) *ListBotLocalesOutput {
14414	s.BotId = &v
14415	return s
14416}
14417
14418// SetBotLocaleSummaries sets the BotLocaleSummaries field's value.
14419func (s *ListBotLocalesOutput) SetBotLocaleSummaries(v []*BotLocaleSummary) *ListBotLocalesOutput {
14420	s.BotLocaleSummaries = v
14421	return s
14422}
14423
14424// SetBotVersion sets the BotVersion field's value.
14425func (s *ListBotLocalesOutput) SetBotVersion(v string) *ListBotLocalesOutput {
14426	s.BotVersion = &v
14427	return s
14428}
14429
14430// SetNextToken sets the NextToken field's value.
14431func (s *ListBotLocalesOutput) SetNextToken(v string) *ListBotLocalesOutput {
14432	s.NextToken = &v
14433	return s
14434}
14435
14436type ListBotVersionsInput struct {
14437	_ struct{} `type:"structure"`
14438
14439	// The identifier of the bot to list versions for.
14440	//
14441	// BotId is a required field
14442	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
14443
14444	// The maximum number of versions to return in each page of results. If there
14445	// are fewer results than the max page size, only the actual number of results
14446	// are returned.
14447	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
14448
14449	// If the response to the ListBotVersion operation contains more results than
14450	// specified in the maxResults parameter, a token is returned in the response.
14451	// Use that token in the nextToken parameter to return the next page of results.
14452	NextToken *string `locationName:"nextToken" type:"string"`
14453
14454	// Specifies sorting parameters for the list of versions. You can specify that
14455	// the list be sorted by version name in either ascending or descending order.
14456	SortBy *BotVersionSortBy `locationName:"sortBy" type:"structure"`
14457}
14458
14459// String returns the string representation
14460func (s ListBotVersionsInput) String() string {
14461	return awsutil.Prettify(s)
14462}
14463
14464// GoString returns the string representation
14465func (s ListBotVersionsInput) GoString() string {
14466	return s.String()
14467}
14468
14469// Validate inspects the fields of the type to determine if they are valid.
14470func (s *ListBotVersionsInput) Validate() error {
14471	invalidParams := request.ErrInvalidParams{Context: "ListBotVersionsInput"}
14472	if s.BotId == nil {
14473		invalidParams.Add(request.NewErrParamRequired("BotId"))
14474	}
14475	if s.BotId != nil && len(*s.BotId) < 10 {
14476		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
14477	}
14478	if s.MaxResults != nil && *s.MaxResults < 1 {
14479		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14480	}
14481	if s.SortBy != nil {
14482		if err := s.SortBy.Validate(); err != nil {
14483			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
14484		}
14485	}
14486
14487	if invalidParams.Len() > 0 {
14488		return invalidParams
14489	}
14490	return nil
14491}
14492
14493// SetBotId sets the BotId field's value.
14494func (s *ListBotVersionsInput) SetBotId(v string) *ListBotVersionsInput {
14495	s.BotId = &v
14496	return s
14497}
14498
14499// SetMaxResults sets the MaxResults field's value.
14500func (s *ListBotVersionsInput) SetMaxResults(v int64) *ListBotVersionsInput {
14501	s.MaxResults = &v
14502	return s
14503}
14504
14505// SetNextToken sets the NextToken field's value.
14506func (s *ListBotVersionsInput) SetNextToken(v string) *ListBotVersionsInput {
14507	s.NextToken = &v
14508	return s
14509}
14510
14511// SetSortBy sets the SortBy field's value.
14512func (s *ListBotVersionsInput) SetSortBy(v *BotVersionSortBy) *ListBotVersionsInput {
14513	s.SortBy = v
14514	return s
14515}
14516
14517type ListBotVersionsOutput struct {
14518	_ struct{} `type:"structure"`
14519
14520	// The identifier of the bot to list versions for.
14521	BotId *string `locationName:"botId" min:"10" type:"string"`
14522
14523	// Summary information for the bot versions that meet the filter criteria specified
14524	// in the request. The length of the list is specified in the maxResults parameter
14525	// of the request. If there are more versions available, the nextToken field
14526	// contains a token to get the next page of results.
14527	BotVersionSummaries []*BotVersionSummary `locationName:"botVersionSummaries" type:"list"`
14528
14529	// A token that indicates whether there are more results to return in a response
14530	// to the ListBotVersions operation. If the nextToken field is present, you
14531	// send the contents as the nextToken parameter of a ListBotAliases operation
14532	// request to get the next page of results.
14533	NextToken *string `locationName:"nextToken" type:"string"`
14534}
14535
14536// String returns the string representation
14537func (s ListBotVersionsOutput) String() string {
14538	return awsutil.Prettify(s)
14539}
14540
14541// GoString returns the string representation
14542func (s ListBotVersionsOutput) GoString() string {
14543	return s.String()
14544}
14545
14546// SetBotId sets the BotId field's value.
14547func (s *ListBotVersionsOutput) SetBotId(v string) *ListBotVersionsOutput {
14548	s.BotId = &v
14549	return s
14550}
14551
14552// SetBotVersionSummaries sets the BotVersionSummaries field's value.
14553func (s *ListBotVersionsOutput) SetBotVersionSummaries(v []*BotVersionSummary) *ListBotVersionsOutput {
14554	s.BotVersionSummaries = v
14555	return s
14556}
14557
14558// SetNextToken sets the NextToken field's value.
14559func (s *ListBotVersionsOutput) SetNextToken(v string) *ListBotVersionsOutput {
14560	s.NextToken = &v
14561	return s
14562}
14563
14564type ListBotsInput struct {
14565	_ struct{} `type:"structure"`
14566
14567	// Provides the specification of a filter used to limit the bots in the response
14568	// to only those that match the filter specification. You can only specify one
14569	// filter and one string to filter on.
14570	Filters []*BotFilter `locationName:"filters" min:"1" type:"list"`
14571
14572	// The maximum number of bots to return in each page of results. If there are
14573	// fewer results than the maximum page size, only the actual number of results
14574	// are returned.
14575	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
14576
14577	// If the response from the ListBots operation contains more results than specified
14578	// in the maxResults parameter, a token is returned in the response. Use that
14579	// token in the nextToken parameter to return the next page of results.
14580	NextToken *string `locationName:"nextToken" type:"string"`
14581
14582	// Specifies sorting parameters for the list of bots. You can specify that the
14583	// list be sorted by bot name in ascending or descending order.
14584	SortBy *BotSortBy `locationName:"sortBy" type:"structure"`
14585}
14586
14587// String returns the string representation
14588func (s ListBotsInput) String() string {
14589	return awsutil.Prettify(s)
14590}
14591
14592// GoString returns the string representation
14593func (s ListBotsInput) GoString() string {
14594	return s.String()
14595}
14596
14597// Validate inspects the fields of the type to determine if they are valid.
14598func (s *ListBotsInput) Validate() error {
14599	invalidParams := request.ErrInvalidParams{Context: "ListBotsInput"}
14600	if s.Filters != nil && len(s.Filters) < 1 {
14601		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
14602	}
14603	if s.MaxResults != nil && *s.MaxResults < 1 {
14604		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
14605	}
14606	if s.Filters != nil {
14607		for i, v := range s.Filters {
14608			if v == nil {
14609				continue
14610			}
14611			if err := v.Validate(); err != nil {
14612				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
14613			}
14614		}
14615	}
14616	if s.SortBy != nil {
14617		if err := s.SortBy.Validate(); err != nil {
14618			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
14619		}
14620	}
14621
14622	if invalidParams.Len() > 0 {
14623		return invalidParams
14624	}
14625	return nil
14626}
14627
14628// SetFilters sets the Filters field's value.
14629func (s *ListBotsInput) SetFilters(v []*BotFilter) *ListBotsInput {
14630	s.Filters = v
14631	return s
14632}
14633
14634// SetMaxResults sets the MaxResults field's value.
14635func (s *ListBotsInput) SetMaxResults(v int64) *ListBotsInput {
14636	s.MaxResults = &v
14637	return s
14638}
14639
14640// SetNextToken sets the NextToken field's value.
14641func (s *ListBotsInput) SetNextToken(v string) *ListBotsInput {
14642	s.NextToken = &v
14643	return s
14644}
14645
14646// SetSortBy sets the SortBy field's value.
14647func (s *ListBotsInput) SetSortBy(v *BotSortBy) *ListBotsInput {
14648	s.SortBy = v
14649	return s
14650}
14651
14652type ListBotsOutput struct {
14653	_ struct{} `type:"structure"`
14654
14655	// Summary information for the bots that meet the filter criteria specified
14656	// in the request. The length of the list is specified in the maxResults parameter
14657	// of the request. If there are more bots available, the nextToken field contains
14658	// a token to the next page of results.
14659	BotSummaries []*BotSummary `locationName:"botSummaries" type:"list"`
14660
14661	// A token that indicates whether there are more results to return in a response
14662	// to the ListBots operation. If the nextToken field is present, you send the
14663	// contents as the nextToken parameter of a ListBots operation request to get
14664	// the next page of results.
14665	NextToken *string `locationName:"nextToken" type:"string"`
14666}
14667
14668// String returns the string representation
14669func (s ListBotsOutput) String() string {
14670	return awsutil.Prettify(s)
14671}
14672
14673// GoString returns the string representation
14674func (s ListBotsOutput) GoString() string {
14675	return s.String()
14676}
14677
14678// SetBotSummaries sets the BotSummaries field's value.
14679func (s *ListBotsOutput) SetBotSummaries(v []*BotSummary) *ListBotsOutput {
14680	s.BotSummaries = v
14681	return s
14682}
14683
14684// SetNextToken sets the NextToken field's value.
14685func (s *ListBotsOutput) SetNextToken(v string) *ListBotsOutput {
14686	s.NextToken = &v
14687	return s
14688}
14689
14690type ListBuiltInIntentsInput struct {
14691	_ struct{} `type:"structure"`
14692
14693	// The identifier of the language and locale of the intents to list. The string
14694	// must match one of the supported locales. For more information, see Supported
14695	// languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
14696	//
14697	// LocaleId is a required field
14698	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
14699
14700	// The maximum number of built-in intents to return in each page of results.
14701	// If there are fewer results than the max page size, only the actual number
14702	// of results are returned.
14703	MaxResults *int64 `locationName:"maxResults" min:"20" type:"integer"`
14704
14705	// If the response from the ListBuiltInIntents operation contains more results
14706	// than specified in the maxResults parameter, a token is returned in the response.
14707	// Use that token in the nextToken parameter to return the next page of results.
14708	NextToken *string `locationName:"nextToken" type:"string"`
14709
14710	// Specifies sorting parameters for the list of built-in intents. You can specify
14711	// that the list be sorted by the built-in intent signature in either ascending
14712	// or descending order.
14713	SortBy *BuiltInIntentSortBy `locationName:"sortBy" type:"structure"`
14714}
14715
14716// String returns the string representation
14717func (s ListBuiltInIntentsInput) String() string {
14718	return awsutil.Prettify(s)
14719}
14720
14721// GoString returns the string representation
14722func (s ListBuiltInIntentsInput) GoString() string {
14723	return s.String()
14724}
14725
14726// Validate inspects the fields of the type to determine if they are valid.
14727func (s *ListBuiltInIntentsInput) Validate() error {
14728	invalidParams := request.ErrInvalidParams{Context: "ListBuiltInIntentsInput"}
14729	if s.LocaleId == nil {
14730		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
14731	}
14732	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
14733		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
14734	}
14735	if s.MaxResults != nil && *s.MaxResults < 20 {
14736		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 20))
14737	}
14738	if s.SortBy != nil {
14739		if err := s.SortBy.Validate(); err != nil {
14740			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
14741		}
14742	}
14743
14744	if invalidParams.Len() > 0 {
14745		return invalidParams
14746	}
14747	return nil
14748}
14749
14750// SetLocaleId sets the LocaleId field's value.
14751func (s *ListBuiltInIntentsInput) SetLocaleId(v string) *ListBuiltInIntentsInput {
14752	s.LocaleId = &v
14753	return s
14754}
14755
14756// SetMaxResults sets the MaxResults field's value.
14757func (s *ListBuiltInIntentsInput) SetMaxResults(v int64) *ListBuiltInIntentsInput {
14758	s.MaxResults = &v
14759	return s
14760}
14761
14762// SetNextToken sets the NextToken field's value.
14763func (s *ListBuiltInIntentsInput) SetNextToken(v string) *ListBuiltInIntentsInput {
14764	s.NextToken = &v
14765	return s
14766}
14767
14768// SetSortBy sets the SortBy field's value.
14769func (s *ListBuiltInIntentsInput) SetSortBy(v *BuiltInIntentSortBy) *ListBuiltInIntentsInput {
14770	s.SortBy = v
14771	return s
14772}
14773
14774type ListBuiltInIntentsOutput struct {
14775	_ struct{} `type:"structure"`
14776
14777	// Summary information for the built-in intents that meet the filter criteria
14778	// specified in the request. The length of the list is specified in the maxResults
14779	// parameter of the request. If there are more intents available, the nextToken
14780	// field contains a token to get the next page of results.
14781	BuiltInIntentSummaries []*BuiltInIntentSummary `locationName:"builtInIntentSummaries" type:"list"`
14782
14783	// The language and locale of the intents in the list.
14784	LocaleId *string `locationName:"localeId" type:"string"`
14785
14786	// A token that indicates whether there are more results to return in a response
14787	// to the ListBuiltInIntents operation. If the nextToken field is present, you
14788	// send the contents as the nextToken parameter of a ListBotAliases operation
14789	// request to get the next page of results.
14790	NextToken *string `locationName:"nextToken" type:"string"`
14791}
14792
14793// String returns the string representation
14794func (s ListBuiltInIntentsOutput) String() string {
14795	return awsutil.Prettify(s)
14796}
14797
14798// GoString returns the string representation
14799func (s ListBuiltInIntentsOutput) GoString() string {
14800	return s.String()
14801}
14802
14803// SetBuiltInIntentSummaries sets the BuiltInIntentSummaries field's value.
14804func (s *ListBuiltInIntentsOutput) SetBuiltInIntentSummaries(v []*BuiltInIntentSummary) *ListBuiltInIntentsOutput {
14805	s.BuiltInIntentSummaries = v
14806	return s
14807}
14808
14809// SetLocaleId sets the LocaleId field's value.
14810func (s *ListBuiltInIntentsOutput) SetLocaleId(v string) *ListBuiltInIntentsOutput {
14811	s.LocaleId = &v
14812	return s
14813}
14814
14815// SetNextToken sets the NextToken field's value.
14816func (s *ListBuiltInIntentsOutput) SetNextToken(v string) *ListBuiltInIntentsOutput {
14817	s.NextToken = &v
14818	return s
14819}
14820
14821type ListBuiltInSlotTypesInput struct {
14822	_ struct{} `type:"structure"`
14823
14824	// The identifier of the language and locale of the slot types to list. The
14825	// string must match one of the supported locales. For more information, see
14826	// Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
14827	//
14828	// LocaleId is a required field
14829	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
14830
14831	// The maximum number of built-in slot types to return in each page of results.
14832	// If there are fewer results than the max page size, only the actual number
14833	// of results are returned.
14834	MaxResults *int64 `locationName:"maxResults" min:"20" type:"integer"`
14835
14836	// If the response from the ListBuiltInSlotTypes operation contains more results
14837	// than specified in the maxResults parameter, a token is returned in the response.
14838	// Use that token in the nextToken parameter to return the next page of results.
14839	NextToken *string `locationName:"nextToken" type:"string"`
14840
14841	// Determines the sort order for the response from the ListBuiltInSlotTypes
14842	// operation. You can choose to sort by the slot type signature in either ascending
14843	// or descending order.
14844	SortBy *BuiltInSlotTypeSortBy `locationName:"sortBy" type:"structure"`
14845}
14846
14847// String returns the string representation
14848func (s ListBuiltInSlotTypesInput) String() string {
14849	return awsutil.Prettify(s)
14850}
14851
14852// GoString returns the string representation
14853func (s ListBuiltInSlotTypesInput) GoString() string {
14854	return s.String()
14855}
14856
14857// Validate inspects the fields of the type to determine if they are valid.
14858func (s *ListBuiltInSlotTypesInput) Validate() error {
14859	invalidParams := request.ErrInvalidParams{Context: "ListBuiltInSlotTypesInput"}
14860	if s.LocaleId == nil {
14861		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
14862	}
14863	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
14864		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
14865	}
14866	if s.MaxResults != nil && *s.MaxResults < 20 {
14867		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 20))
14868	}
14869	if s.SortBy != nil {
14870		if err := s.SortBy.Validate(); err != nil {
14871			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
14872		}
14873	}
14874
14875	if invalidParams.Len() > 0 {
14876		return invalidParams
14877	}
14878	return nil
14879}
14880
14881// SetLocaleId sets the LocaleId field's value.
14882func (s *ListBuiltInSlotTypesInput) SetLocaleId(v string) *ListBuiltInSlotTypesInput {
14883	s.LocaleId = &v
14884	return s
14885}
14886
14887// SetMaxResults sets the MaxResults field's value.
14888func (s *ListBuiltInSlotTypesInput) SetMaxResults(v int64) *ListBuiltInSlotTypesInput {
14889	s.MaxResults = &v
14890	return s
14891}
14892
14893// SetNextToken sets the NextToken field's value.
14894func (s *ListBuiltInSlotTypesInput) SetNextToken(v string) *ListBuiltInSlotTypesInput {
14895	s.NextToken = &v
14896	return s
14897}
14898
14899// SetSortBy sets the SortBy field's value.
14900func (s *ListBuiltInSlotTypesInput) SetSortBy(v *BuiltInSlotTypeSortBy) *ListBuiltInSlotTypesInput {
14901	s.SortBy = v
14902	return s
14903}
14904
14905type ListBuiltInSlotTypesOutput struct {
14906	_ struct{} `type:"structure"`
14907
14908	// Summary information for the built-in slot types that meet the filter criteria
14909	// specified in the request. The length of the list is specified in the maxResults
14910	// parameter of the request. If there are more slot types available, the nextToken
14911	// field contains a token to get the next page of results.
14912	BuiltInSlotTypeSummaries []*BuiltInSlotTypeSummary `locationName:"builtInSlotTypeSummaries" type:"list"`
14913
14914	// The language and locale of the slot types in the list.
14915	LocaleId *string `locationName:"localeId" type:"string"`
14916
14917	// A token that indicates whether there are more results to return in a response
14918	// to the ListBuiltInSlotTypes operation. If the nextToken field is present,
14919	// you send the contents as the nextToken parameter of a LIstBuiltInSlotTypes
14920	// operation request to get the next page of results.
14921	NextToken *string `locationName:"nextToken" type:"string"`
14922}
14923
14924// String returns the string representation
14925func (s ListBuiltInSlotTypesOutput) String() string {
14926	return awsutil.Prettify(s)
14927}
14928
14929// GoString returns the string representation
14930func (s ListBuiltInSlotTypesOutput) GoString() string {
14931	return s.String()
14932}
14933
14934// SetBuiltInSlotTypeSummaries sets the BuiltInSlotTypeSummaries field's value.
14935func (s *ListBuiltInSlotTypesOutput) SetBuiltInSlotTypeSummaries(v []*BuiltInSlotTypeSummary) *ListBuiltInSlotTypesOutput {
14936	s.BuiltInSlotTypeSummaries = v
14937	return s
14938}
14939
14940// SetLocaleId sets the LocaleId field's value.
14941func (s *ListBuiltInSlotTypesOutput) SetLocaleId(v string) *ListBuiltInSlotTypesOutput {
14942	s.LocaleId = &v
14943	return s
14944}
14945
14946// SetNextToken sets the NextToken field's value.
14947func (s *ListBuiltInSlotTypesOutput) SetNextToken(v string) *ListBuiltInSlotTypesOutput {
14948	s.NextToken = &v
14949	return s
14950}
14951
14952type ListExportsInput struct {
14953	_ struct{} `type:"structure"`
14954
14955	// The unique identifier that Amazon Lex assigned to the bot.
14956	BotId *string `locationName:"botId" min:"10" type:"string"`
14957
14958	// The version of the bot to list exports for.
14959	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
14960
14961	// Provides the specification of a filter used to limit the exports in the response
14962	// to only those that match the filter specification. You can only specify one
14963	// filter and one string to filter on.
14964	Filters []*ExportFilter `locationName:"filters" min:"1" type:"list"`
14965
14966	// The maximum number of exports to return in each page of results. If there
14967	// are fewer results than the max page size, only the actual number of results
14968	// are returned.
14969	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
14970
14971	// If the response from the ListExports operation contans more results that
14972	// specified in the maxResults parameter, a token is returned in the response.
14973	// Use that token in the nextToken parameter to return the next page of results.
14974	NextToken *string `locationName:"nextToken" type:"string"`
14975
14976	// Determines the field that the list of exports is sorted by. You can sort
14977	// by the LastUpdatedDateTime field in ascending or descending order.
14978	SortBy *ExportSortBy `locationName:"sortBy" type:"structure"`
14979}
14980
14981// String returns the string representation
14982func (s ListExportsInput) String() string {
14983	return awsutil.Prettify(s)
14984}
14985
14986// GoString returns the string representation
14987func (s ListExportsInput) GoString() string {
14988	return s.String()
14989}
14990
14991// Validate inspects the fields of the type to determine if they are valid.
14992func (s *ListExportsInput) Validate() error {
14993	invalidParams := request.ErrInvalidParams{Context: "ListExportsInput"}
14994	if s.BotId != nil && len(*s.BotId) < 10 {
14995		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
14996	}
14997	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
14998		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
14999	}
15000	if s.Filters != nil && len(s.Filters) < 1 {
15001		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
15002	}
15003	if s.MaxResults != nil && *s.MaxResults < 1 {
15004		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
15005	}
15006	if s.Filters != nil {
15007		for i, v := range s.Filters {
15008			if v == nil {
15009				continue
15010			}
15011			if err := v.Validate(); err != nil {
15012				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
15013			}
15014		}
15015	}
15016	if s.SortBy != nil {
15017		if err := s.SortBy.Validate(); err != nil {
15018			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
15019		}
15020	}
15021
15022	if invalidParams.Len() > 0 {
15023		return invalidParams
15024	}
15025	return nil
15026}
15027
15028// SetBotId sets the BotId field's value.
15029func (s *ListExportsInput) SetBotId(v string) *ListExportsInput {
15030	s.BotId = &v
15031	return s
15032}
15033
15034// SetBotVersion sets the BotVersion field's value.
15035func (s *ListExportsInput) SetBotVersion(v string) *ListExportsInput {
15036	s.BotVersion = &v
15037	return s
15038}
15039
15040// SetFilters sets the Filters field's value.
15041func (s *ListExportsInput) SetFilters(v []*ExportFilter) *ListExportsInput {
15042	s.Filters = v
15043	return s
15044}
15045
15046// SetMaxResults sets the MaxResults field's value.
15047func (s *ListExportsInput) SetMaxResults(v int64) *ListExportsInput {
15048	s.MaxResults = &v
15049	return s
15050}
15051
15052// SetNextToken sets the NextToken field's value.
15053func (s *ListExportsInput) SetNextToken(v string) *ListExportsInput {
15054	s.NextToken = &v
15055	return s
15056}
15057
15058// SetSortBy sets the SortBy field's value.
15059func (s *ListExportsInput) SetSortBy(v *ExportSortBy) *ListExportsInput {
15060	s.SortBy = v
15061	return s
15062}
15063
15064type ListExportsOutput struct {
15065	_ struct{} `type:"structure"`
15066
15067	// The unique identifier assigned to the bot by Amazon Lex.
15068	BotId *string `locationName:"botId" min:"10" type:"string"`
15069
15070	// The version of the bot that was exported.
15071	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
15072
15073	// Summary information for the exports that meet the filter criteria specified
15074	// in the request. The length of the list is specified in the maxResults parameter.
15075	// If there are more exports available, the nextToken field contains a token
15076	// to get the next page of results.
15077	ExportSummaries []*ExportSummary `locationName:"exportSummaries" type:"list"`
15078
15079	// A token that indicates whether there are more results to return in a response
15080	// to the ListExports operation. If the nextToken field is present, you send
15081	// the contents as the nextToken parameter of a ListExports operation request
15082	// to get the next page of results.
15083	NextToken *string `locationName:"nextToken" type:"string"`
15084}
15085
15086// String returns the string representation
15087func (s ListExportsOutput) String() string {
15088	return awsutil.Prettify(s)
15089}
15090
15091// GoString returns the string representation
15092func (s ListExportsOutput) GoString() string {
15093	return s.String()
15094}
15095
15096// SetBotId sets the BotId field's value.
15097func (s *ListExportsOutput) SetBotId(v string) *ListExportsOutput {
15098	s.BotId = &v
15099	return s
15100}
15101
15102// SetBotVersion sets the BotVersion field's value.
15103func (s *ListExportsOutput) SetBotVersion(v string) *ListExportsOutput {
15104	s.BotVersion = &v
15105	return s
15106}
15107
15108// SetExportSummaries sets the ExportSummaries field's value.
15109func (s *ListExportsOutput) SetExportSummaries(v []*ExportSummary) *ListExportsOutput {
15110	s.ExportSummaries = v
15111	return s
15112}
15113
15114// SetNextToken sets the NextToken field's value.
15115func (s *ListExportsOutput) SetNextToken(v string) *ListExportsOutput {
15116	s.NextToken = &v
15117	return s
15118}
15119
15120type ListImportsInput struct {
15121	_ struct{} `type:"structure"`
15122
15123	// The unique identifier that Amazon Lex assigned to the bot.
15124	BotId *string `locationName:"botId" min:"10" type:"string"`
15125
15126	// The version of the bot to list imports for.
15127	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
15128
15129	// Provides the specification of a filter used to limit the bots in the response
15130	// to only those that match the filter specification. You can only specify one
15131	// filter and one string to filter on.
15132	Filters []*ImportFilter `locationName:"filters" min:"1" type:"list"`
15133
15134	// The maximum number of imports to return in each page of results. If there
15135	// are fewer results than the max page size, only the actual number of results
15136	// are returned.
15137	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
15138
15139	// If the response from the ListImports operation contains more results than
15140	// specified in the maxResults parameter, a token is returned in the response.
15141	// Use that token in the nextToken parameter to return the next page of results.
15142	NextToken *string `locationName:"nextToken" type:"string"`
15143
15144	// Determines the field that the list of imports is sorted by. You can sort
15145	// by the LastUpdatedDateTime field in ascending or descending order.
15146	SortBy *ImportSortBy `locationName:"sortBy" type:"structure"`
15147}
15148
15149// String returns the string representation
15150func (s ListImportsInput) String() string {
15151	return awsutil.Prettify(s)
15152}
15153
15154// GoString returns the string representation
15155func (s ListImportsInput) GoString() string {
15156	return s.String()
15157}
15158
15159// Validate inspects the fields of the type to determine if they are valid.
15160func (s *ListImportsInput) Validate() error {
15161	invalidParams := request.ErrInvalidParams{Context: "ListImportsInput"}
15162	if s.BotId != nil && len(*s.BotId) < 10 {
15163		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
15164	}
15165	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
15166		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
15167	}
15168	if s.Filters != nil && len(s.Filters) < 1 {
15169		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
15170	}
15171	if s.MaxResults != nil && *s.MaxResults < 1 {
15172		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
15173	}
15174	if s.Filters != nil {
15175		for i, v := range s.Filters {
15176			if v == nil {
15177				continue
15178			}
15179			if err := v.Validate(); err != nil {
15180				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
15181			}
15182		}
15183	}
15184	if s.SortBy != nil {
15185		if err := s.SortBy.Validate(); err != nil {
15186			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
15187		}
15188	}
15189
15190	if invalidParams.Len() > 0 {
15191		return invalidParams
15192	}
15193	return nil
15194}
15195
15196// SetBotId sets the BotId field's value.
15197func (s *ListImportsInput) SetBotId(v string) *ListImportsInput {
15198	s.BotId = &v
15199	return s
15200}
15201
15202// SetBotVersion sets the BotVersion field's value.
15203func (s *ListImportsInput) SetBotVersion(v string) *ListImportsInput {
15204	s.BotVersion = &v
15205	return s
15206}
15207
15208// SetFilters sets the Filters field's value.
15209func (s *ListImportsInput) SetFilters(v []*ImportFilter) *ListImportsInput {
15210	s.Filters = v
15211	return s
15212}
15213
15214// SetMaxResults sets the MaxResults field's value.
15215func (s *ListImportsInput) SetMaxResults(v int64) *ListImportsInput {
15216	s.MaxResults = &v
15217	return s
15218}
15219
15220// SetNextToken sets the NextToken field's value.
15221func (s *ListImportsInput) SetNextToken(v string) *ListImportsInput {
15222	s.NextToken = &v
15223	return s
15224}
15225
15226// SetSortBy sets the SortBy field's value.
15227func (s *ListImportsInput) SetSortBy(v *ImportSortBy) *ListImportsInput {
15228	s.SortBy = v
15229	return s
15230}
15231
15232type ListImportsOutput struct {
15233	_ struct{} `type:"structure"`
15234
15235	// The unique identifier assigned by Amazon Lex to the bot.
15236	BotId *string `locationName:"botId" min:"10" type:"string"`
15237
15238	// The version of the bot that was imported. It will always be DRAFT.
15239	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
15240
15241	// Summary information for the imports that meet the filter criteria specified
15242	// in the request. The length of the list is specified in the maxResults parameter.
15243	// If there are more imports available, the nextToken field contains a token
15244	// to get the next page of results.
15245	ImportSummaries []*ImportSummary `locationName:"importSummaries" type:"list"`
15246
15247	// A token that indicates whether there are more results to return in a response
15248	// to the ListImports operation. If the nextToken field is present, you send
15249	// the contents as the nextToken parameter of a ListImports operation request
15250	// to get the next page of results.
15251	NextToken *string `locationName:"nextToken" type:"string"`
15252}
15253
15254// String returns the string representation
15255func (s ListImportsOutput) String() string {
15256	return awsutil.Prettify(s)
15257}
15258
15259// GoString returns the string representation
15260func (s ListImportsOutput) GoString() string {
15261	return s.String()
15262}
15263
15264// SetBotId sets the BotId field's value.
15265func (s *ListImportsOutput) SetBotId(v string) *ListImportsOutput {
15266	s.BotId = &v
15267	return s
15268}
15269
15270// SetBotVersion sets the BotVersion field's value.
15271func (s *ListImportsOutput) SetBotVersion(v string) *ListImportsOutput {
15272	s.BotVersion = &v
15273	return s
15274}
15275
15276// SetImportSummaries sets the ImportSummaries field's value.
15277func (s *ListImportsOutput) SetImportSummaries(v []*ImportSummary) *ListImportsOutput {
15278	s.ImportSummaries = v
15279	return s
15280}
15281
15282// SetNextToken sets the NextToken field's value.
15283func (s *ListImportsOutput) SetNextToken(v string) *ListImportsOutput {
15284	s.NextToken = &v
15285	return s
15286}
15287
15288type ListIntentsInput struct {
15289	_ struct{} `type:"structure"`
15290
15291	// The unique identifier of the bot that contains the intent.
15292	//
15293	// BotId is a required field
15294	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
15295
15296	// The version of the bot that contains the intent.
15297	//
15298	// BotVersion is a required field
15299	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
15300
15301	// Provides the specification of a filter used to limit the intents in the response
15302	// to only those that match the filter specification. You can only specify one
15303	// filter and only one string to filter on.
15304	Filters []*IntentFilter `locationName:"filters" min:"1" type:"list"`
15305
15306	// The identifier of the language and locale of the intents to list. The string
15307	// must match one of the supported locales. For more information, see Supported
15308	// languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
15309	//
15310	// LocaleId is a required field
15311	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
15312
15313	// The maximum number of intents to return in each page of results. If there
15314	// are fewer results than the max page size, only the actual number of results
15315	// are returned.
15316	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
15317
15318	// If the response from the ListIntents operation contains more results than
15319	// specified in the maxResults parameter, a token is returned in the response.
15320	// Use that token in the nextToken parameter to return the next page of results.
15321	NextToken *string `locationName:"nextToken" type:"string"`
15322
15323	// Determines the sort order for the response from the ListIntents operation.
15324	// You can choose to sort by the intent name or last updated date in either
15325	// ascending or descending order.
15326	SortBy *IntentSortBy `locationName:"sortBy" type:"structure"`
15327}
15328
15329// String returns the string representation
15330func (s ListIntentsInput) String() string {
15331	return awsutil.Prettify(s)
15332}
15333
15334// GoString returns the string representation
15335func (s ListIntentsInput) GoString() string {
15336	return s.String()
15337}
15338
15339// Validate inspects the fields of the type to determine if they are valid.
15340func (s *ListIntentsInput) Validate() error {
15341	invalidParams := request.ErrInvalidParams{Context: "ListIntentsInput"}
15342	if s.BotId == nil {
15343		invalidParams.Add(request.NewErrParamRequired("BotId"))
15344	}
15345	if s.BotId != nil && len(*s.BotId) < 10 {
15346		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
15347	}
15348	if s.BotVersion == nil {
15349		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
15350	}
15351	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
15352		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
15353	}
15354	if s.Filters != nil && len(s.Filters) < 1 {
15355		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
15356	}
15357	if s.LocaleId == nil {
15358		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
15359	}
15360	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
15361		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
15362	}
15363	if s.MaxResults != nil && *s.MaxResults < 1 {
15364		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
15365	}
15366	if s.Filters != nil {
15367		for i, v := range s.Filters {
15368			if v == nil {
15369				continue
15370			}
15371			if err := v.Validate(); err != nil {
15372				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
15373			}
15374		}
15375	}
15376	if s.SortBy != nil {
15377		if err := s.SortBy.Validate(); err != nil {
15378			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
15379		}
15380	}
15381
15382	if invalidParams.Len() > 0 {
15383		return invalidParams
15384	}
15385	return nil
15386}
15387
15388// SetBotId sets the BotId field's value.
15389func (s *ListIntentsInput) SetBotId(v string) *ListIntentsInput {
15390	s.BotId = &v
15391	return s
15392}
15393
15394// SetBotVersion sets the BotVersion field's value.
15395func (s *ListIntentsInput) SetBotVersion(v string) *ListIntentsInput {
15396	s.BotVersion = &v
15397	return s
15398}
15399
15400// SetFilters sets the Filters field's value.
15401func (s *ListIntentsInput) SetFilters(v []*IntentFilter) *ListIntentsInput {
15402	s.Filters = v
15403	return s
15404}
15405
15406// SetLocaleId sets the LocaleId field's value.
15407func (s *ListIntentsInput) SetLocaleId(v string) *ListIntentsInput {
15408	s.LocaleId = &v
15409	return s
15410}
15411
15412// SetMaxResults sets the MaxResults field's value.
15413func (s *ListIntentsInput) SetMaxResults(v int64) *ListIntentsInput {
15414	s.MaxResults = &v
15415	return s
15416}
15417
15418// SetNextToken sets the NextToken field's value.
15419func (s *ListIntentsInput) SetNextToken(v string) *ListIntentsInput {
15420	s.NextToken = &v
15421	return s
15422}
15423
15424// SetSortBy sets the SortBy field's value.
15425func (s *ListIntentsInput) SetSortBy(v *IntentSortBy) *ListIntentsInput {
15426	s.SortBy = v
15427	return s
15428}
15429
15430type ListIntentsOutput struct {
15431	_ struct{} `type:"structure"`
15432
15433	// The identifier of the bot that contains the intent.
15434	BotId *string `locationName:"botId" min:"10" type:"string"`
15435
15436	// The version of the bot that contains the intent.
15437	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
15438
15439	// Summary information for the intents that meet the filter criteria specified
15440	// in the request. The length of the list is specified in the maxResults parameter
15441	// of the request. If there are more intents available, the nextToken field
15442	// contains a token to get the next page of results.
15443	IntentSummaries []*IntentSummary `locationName:"intentSummaries" type:"list"`
15444
15445	// The language and locale of the intents in the list.
15446	LocaleId *string `locationName:"localeId" type:"string"`
15447
15448	// A token that indicates whether there are more results to return in a response
15449	// to the ListIntents operation. If the nextToken field is present, you send
15450	// the contents as the nextToken parameter of a ListIntents operation request
15451	// to get the next page of results.
15452	NextToken *string `locationName:"nextToken" type:"string"`
15453}
15454
15455// String returns the string representation
15456func (s ListIntentsOutput) String() string {
15457	return awsutil.Prettify(s)
15458}
15459
15460// GoString returns the string representation
15461func (s ListIntentsOutput) GoString() string {
15462	return s.String()
15463}
15464
15465// SetBotId sets the BotId field's value.
15466func (s *ListIntentsOutput) SetBotId(v string) *ListIntentsOutput {
15467	s.BotId = &v
15468	return s
15469}
15470
15471// SetBotVersion sets the BotVersion field's value.
15472func (s *ListIntentsOutput) SetBotVersion(v string) *ListIntentsOutput {
15473	s.BotVersion = &v
15474	return s
15475}
15476
15477// SetIntentSummaries sets the IntentSummaries field's value.
15478func (s *ListIntentsOutput) SetIntentSummaries(v []*IntentSummary) *ListIntentsOutput {
15479	s.IntentSummaries = v
15480	return s
15481}
15482
15483// SetLocaleId sets the LocaleId field's value.
15484func (s *ListIntentsOutput) SetLocaleId(v string) *ListIntentsOutput {
15485	s.LocaleId = &v
15486	return s
15487}
15488
15489// SetNextToken sets the NextToken field's value.
15490func (s *ListIntentsOutput) SetNextToken(v string) *ListIntentsOutput {
15491	s.NextToken = &v
15492	return s
15493}
15494
15495type ListSlotTypesInput struct {
15496	_ struct{} `type:"structure"`
15497
15498	// The unique identifier of the bot that contains the slot types.
15499	//
15500	// BotId is a required field
15501	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
15502
15503	// The version of the bot that contains the slot type.
15504	//
15505	// BotVersion is a required field
15506	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
15507
15508	// Provides the specification of a filter used to limit the slot types in the
15509	// response to only those that match the filter specification. You can only
15510	// specify one filter and only one string to filter on.
15511	Filters []*SlotTypeFilter `locationName:"filters" min:"1" type:"list"`
15512
15513	// The identifier of the language and locale of the slot types to list. The
15514	// string must match one of the supported locales. For more information, see
15515	// Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
15516	//
15517	// LocaleId is a required field
15518	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
15519
15520	// The maximum number of slot types to return in each page of results. If there
15521	// are fewer results than the max page size, only the actual number of results
15522	// are returned.
15523	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
15524
15525	// If the response from the ListSlotTypes operation contains more results than
15526	// specified in the maxResults parameter, a token is returned in the response.
15527	// Use that token in the nextToken parameter to return the next page of results.
15528	NextToken *string `locationName:"nextToken" type:"string"`
15529
15530	// Determines the sort order for the response from the ListSlotTypes operation.
15531	// You can choose to sort by the slot type name or last updated date in either
15532	// ascending or descending order.
15533	SortBy *SlotTypeSortBy `locationName:"sortBy" type:"structure"`
15534}
15535
15536// String returns the string representation
15537func (s ListSlotTypesInput) String() string {
15538	return awsutil.Prettify(s)
15539}
15540
15541// GoString returns the string representation
15542func (s ListSlotTypesInput) GoString() string {
15543	return s.String()
15544}
15545
15546// Validate inspects the fields of the type to determine if they are valid.
15547func (s *ListSlotTypesInput) Validate() error {
15548	invalidParams := request.ErrInvalidParams{Context: "ListSlotTypesInput"}
15549	if s.BotId == nil {
15550		invalidParams.Add(request.NewErrParamRequired("BotId"))
15551	}
15552	if s.BotId != nil && len(*s.BotId) < 10 {
15553		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
15554	}
15555	if s.BotVersion == nil {
15556		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
15557	}
15558	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
15559		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
15560	}
15561	if s.Filters != nil && len(s.Filters) < 1 {
15562		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
15563	}
15564	if s.LocaleId == nil {
15565		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
15566	}
15567	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
15568		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
15569	}
15570	if s.MaxResults != nil && *s.MaxResults < 1 {
15571		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
15572	}
15573	if s.Filters != nil {
15574		for i, v := range s.Filters {
15575			if v == nil {
15576				continue
15577			}
15578			if err := v.Validate(); err != nil {
15579				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
15580			}
15581		}
15582	}
15583	if s.SortBy != nil {
15584		if err := s.SortBy.Validate(); err != nil {
15585			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
15586		}
15587	}
15588
15589	if invalidParams.Len() > 0 {
15590		return invalidParams
15591	}
15592	return nil
15593}
15594
15595// SetBotId sets the BotId field's value.
15596func (s *ListSlotTypesInput) SetBotId(v string) *ListSlotTypesInput {
15597	s.BotId = &v
15598	return s
15599}
15600
15601// SetBotVersion sets the BotVersion field's value.
15602func (s *ListSlotTypesInput) SetBotVersion(v string) *ListSlotTypesInput {
15603	s.BotVersion = &v
15604	return s
15605}
15606
15607// SetFilters sets the Filters field's value.
15608func (s *ListSlotTypesInput) SetFilters(v []*SlotTypeFilter) *ListSlotTypesInput {
15609	s.Filters = v
15610	return s
15611}
15612
15613// SetLocaleId sets the LocaleId field's value.
15614func (s *ListSlotTypesInput) SetLocaleId(v string) *ListSlotTypesInput {
15615	s.LocaleId = &v
15616	return s
15617}
15618
15619// SetMaxResults sets the MaxResults field's value.
15620func (s *ListSlotTypesInput) SetMaxResults(v int64) *ListSlotTypesInput {
15621	s.MaxResults = &v
15622	return s
15623}
15624
15625// SetNextToken sets the NextToken field's value.
15626func (s *ListSlotTypesInput) SetNextToken(v string) *ListSlotTypesInput {
15627	s.NextToken = &v
15628	return s
15629}
15630
15631// SetSortBy sets the SortBy field's value.
15632func (s *ListSlotTypesInput) SetSortBy(v *SlotTypeSortBy) *ListSlotTypesInput {
15633	s.SortBy = v
15634	return s
15635}
15636
15637type ListSlotTypesOutput struct {
15638	_ struct{} `type:"structure"`
15639
15640	// The identifier of the bot that contains the slot types.
15641	BotId *string `locationName:"botId" min:"10" type:"string"`
15642
15643	// The version of the bot that contains the slot types.
15644	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
15645
15646	// The language and local of the slot types in the list.
15647	LocaleId *string `locationName:"localeId" type:"string"`
15648
15649	// A token that indicates whether there are more results to return in a response
15650	// to the ListSlotTypes operation. If the nextToken field is present, you send
15651	// the contents as the nextToken parameter of a ListSlotTypes operation request
15652	// to get the next page of results.
15653	NextToken *string `locationName:"nextToken" type:"string"`
15654
15655	// Summary information for the slot types that meet the filter criteria specified
15656	// in the request. The length of the list is specified in the maxResults parameter
15657	// of the request. If there are more slot types available, the nextToken field
15658	// contains a token to get the next page of results.
15659	SlotTypeSummaries []*SlotTypeSummary `locationName:"slotTypeSummaries" type:"list"`
15660}
15661
15662// String returns the string representation
15663func (s ListSlotTypesOutput) String() string {
15664	return awsutil.Prettify(s)
15665}
15666
15667// GoString returns the string representation
15668func (s ListSlotTypesOutput) GoString() string {
15669	return s.String()
15670}
15671
15672// SetBotId sets the BotId field's value.
15673func (s *ListSlotTypesOutput) SetBotId(v string) *ListSlotTypesOutput {
15674	s.BotId = &v
15675	return s
15676}
15677
15678// SetBotVersion sets the BotVersion field's value.
15679func (s *ListSlotTypesOutput) SetBotVersion(v string) *ListSlotTypesOutput {
15680	s.BotVersion = &v
15681	return s
15682}
15683
15684// SetLocaleId sets the LocaleId field's value.
15685func (s *ListSlotTypesOutput) SetLocaleId(v string) *ListSlotTypesOutput {
15686	s.LocaleId = &v
15687	return s
15688}
15689
15690// SetNextToken sets the NextToken field's value.
15691func (s *ListSlotTypesOutput) SetNextToken(v string) *ListSlotTypesOutput {
15692	s.NextToken = &v
15693	return s
15694}
15695
15696// SetSlotTypeSummaries sets the SlotTypeSummaries field's value.
15697func (s *ListSlotTypesOutput) SetSlotTypeSummaries(v []*SlotTypeSummary) *ListSlotTypesOutput {
15698	s.SlotTypeSummaries = v
15699	return s
15700}
15701
15702type ListSlotsInput struct {
15703	_ struct{} `type:"structure"`
15704
15705	// The identifier of the bot that contains the slot.
15706	//
15707	// BotId is a required field
15708	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
15709
15710	// The version of the bot that contains the slot.
15711	//
15712	// BotVersion is a required field
15713	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
15714
15715	// Provides the specification of a filter used to limit the slots in the response
15716	// to only those that match the filter specification. You can only specify one
15717	// filter and only one string to filter on.
15718	Filters []*SlotFilter `locationName:"filters" min:"1" type:"list"`
15719
15720	// The unique identifier of the intent that contains the slot.
15721	//
15722	// IntentId is a required field
15723	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
15724
15725	// The identifier of the language and locale of the slots to list. The string
15726	// must match one of the supported locales. For more information, see Supported
15727	// languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
15728	//
15729	// LocaleId is a required field
15730	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
15731
15732	// The maximum number of slots to return in each page of results. If there are
15733	// fewer results than the max page size, only the actual number of results are
15734	// returned.
15735	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
15736
15737	// If the response from the ListSlots operation contains more results than specified
15738	// in the maxResults parameter, a token is returned in the response. Use that
15739	// token in the nextToken parameter to return the next page of results.
15740	NextToken *string `locationName:"nextToken" type:"string"`
15741
15742	// Determines the sort order for the response from the ListSlots operation.
15743	// You can choose to sort by the slot name or last updated date in either ascending
15744	// or descending order.
15745	SortBy *SlotSortBy `locationName:"sortBy" type:"structure"`
15746}
15747
15748// String returns the string representation
15749func (s ListSlotsInput) String() string {
15750	return awsutil.Prettify(s)
15751}
15752
15753// GoString returns the string representation
15754func (s ListSlotsInput) GoString() string {
15755	return s.String()
15756}
15757
15758// Validate inspects the fields of the type to determine if they are valid.
15759func (s *ListSlotsInput) Validate() error {
15760	invalidParams := request.ErrInvalidParams{Context: "ListSlotsInput"}
15761	if s.BotId == nil {
15762		invalidParams.Add(request.NewErrParamRequired("BotId"))
15763	}
15764	if s.BotId != nil && len(*s.BotId) < 10 {
15765		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
15766	}
15767	if s.BotVersion == nil {
15768		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
15769	}
15770	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
15771		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
15772	}
15773	if s.Filters != nil && len(s.Filters) < 1 {
15774		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
15775	}
15776	if s.IntentId == nil {
15777		invalidParams.Add(request.NewErrParamRequired("IntentId"))
15778	}
15779	if s.IntentId != nil && len(*s.IntentId) < 10 {
15780		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
15781	}
15782	if s.LocaleId == nil {
15783		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
15784	}
15785	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
15786		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
15787	}
15788	if s.MaxResults != nil && *s.MaxResults < 1 {
15789		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
15790	}
15791	if s.Filters != nil {
15792		for i, v := range s.Filters {
15793			if v == nil {
15794				continue
15795			}
15796			if err := v.Validate(); err != nil {
15797				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
15798			}
15799		}
15800	}
15801	if s.SortBy != nil {
15802		if err := s.SortBy.Validate(); err != nil {
15803			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
15804		}
15805	}
15806
15807	if invalidParams.Len() > 0 {
15808		return invalidParams
15809	}
15810	return nil
15811}
15812
15813// SetBotId sets the BotId field's value.
15814func (s *ListSlotsInput) SetBotId(v string) *ListSlotsInput {
15815	s.BotId = &v
15816	return s
15817}
15818
15819// SetBotVersion sets the BotVersion field's value.
15820func (s *ListSlotsInput) SetBotVersion(v string) *ListSlotsInput {
15821	s.BotVersion = &v
15822	return s
15823}
15824
15825// SetFilters sets the Filters field's value.
15826func (s *ListSlotsInput) SetFilters(v []*SlotFilter) *ListSlotsInput {
15827	s.Filters = v
15828	return s
15829}
15830
15831// SetIntentId sets the IntentId field's value.
15832func (s *ListSlotsInput) SetIntentId(v string) *ListSlotsInput {
15833	s.IntentId = &v
15834	return s
15835}
15836
15837// SetLocaleId sets the LocaleId field's value.
15838func (s *ListSlotsInput) SetLocaleId(v string) *ListSlotsInput {
15839	s.LocaleId = &v
15840	return s
15841}
15842
15843// SetMaxResults sets the MaxResults field's value.
15844func (s *ListSlotsInput) SetMaxResults(v int64) *ListSlotsInput {
15845	s.MaxResults = &v
15846	return s
15847}
15848
15849// SetNextToken sets the NextToken field's value.
15850func (s *ListSlotsInput) SetNextToken(v string) *ListSlotsInput {
15851	s.NextToken = &v
15852	return s
15853}
15854
15855// SetSortBy sets the SortBy field's value.
15856func (s *ListSlotsInput) SetSortBy(v *SlotSortBy) *ListSlotsInput {
15857	s.SortBy = v
15858	return s
15859}
15860
15861type ListSlotsOutput struct {
15862	_ struct{} `type:"structure"`
15863
15864	// The identifier of the bot that contains the slots.
15865	BotId *string `locationName:"botId" min:"10" type:"string"`
15866
15867	// The version of the bot that contains the slots.
15868	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
15869
15870	// The identifier of the intent that contains the slots.
15871	IntentId *string `locationName:"intentId" min:"10" type:"string"`
15872
15873	// The language and locale of the slots in the list.
15874	LocaleId *string `locationName:"localeId" type:"string"`
15875
15876	// A token that indicates whether there are more results to return in a response
15877	// to the ListSlots operation. If the nextToken field is present, you send the
15878	// contents as the nextToken parameter of a ListSlots operation request to get
15879	// the next page of results.
15880	NextToken *string `locationName:"nextToken" type:"string"`
15881
15882	// Summary information for the slots that meet the filter criteria specified
15883	// in the request. The length of the list is specified in the maxResults parameter
15884	// of the request. If there are more slots available, the nextToken field contains
15885	// a token to get the next page of results.
15886	SlotSummaries []*SlotSummary `locationName:"slotSummaries" type:"list"`
15887}
15888
15889// String returns the string representation
15890func (s ListSlotsOutput) String() string {
15891	return awsutil.Prettify(s)
15892}
15893
15894// GoString returns the string representation
15895func (s ListSlotsOutput) GoString() string {
15896	return s.String()
15897}
15898
15899// SetBotId sets the BotId field's value.
15900func (s *ListSlotsOutput) SetBotId(v string) *ListSlotsOutput {
15901	s.BotId = &v
15902	return s
15903}
15904
15905// SetBotVersion sets the BotVersion field's value.
15906func (s *ListSlotsOutput) SetBotVersion(v string) *ListSlotsOutput {
15907	s.BotVersion = &v
15908	return s
15909}
15910
15911// SetIntentId sets the IntentId field's value.
15912func (s *ListSlotsOutput) SetIntentId(v string) *ListSlotsOutput {
15913	s.IntentId = &v
15914	return s
15915}
15916
15917// SetLocaleId sets the LocaleId field's value.
15918func (s *ListSlotsOutput) SetLocaleId(v string) *ListSlotsOutput {
15919	s.LocaleId = &v
15920	return s
15921}
15922
15923// SetNextToken sets the NextToken field's value.
15924func (s *ListSlotsOutput) SetNextToken(v string) *ListSlotsOutput {
15925	s.NextToken = &v
15926	return s
15927}
15928
15929// SetSlotSummaries sets the SlotSummaries field's value.
15930func (s *ListSlotsOutput) SetSlotSummaries(v []*SlotSummary) *ListSlotsOutput {
15931	s.SlotSummaries = v
15932	return s
15933}
15934
15935type ListTagsForResourceInput struct {
15936	_ struct{} `type:"structure"`
15937
15938	// The Amazon Resource Name (ARN) of the resource to get a list of tags for.
15939	//
15940	// ResourceARN is a required field
15941	ResourceARN *string `location:"uri" locationName:"resourceARN" min:"1" type:"string" required:"true"`
15942}
15943
15944// String returns the string representation
15945func (s ListTagsForResourceInput) String() string {
15946	return awsutil.Prettify(s)
15947}
15948
15949// GoString returns the string representation
15950func (s ListTagsForResourceInput) GoString() string {
15951	return s.String()
15952}
15953
15954// Validate inspects the fields of the type to determine if they are valid.
15955func (s *ListTagsForResourceInput) Validate() error {
15956	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
15957	if s.ResourceARN == nil {
15958		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
15959	}
15960	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
15961		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
15962	}
15963
15964	if invalidParams.Len() > 0 {
15965		return invalidParams
15966	}
15967	return nil
15968}
15969
15970// SetResourceARN sets the ResourceARN field's value.
15971func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
15972	s.ResourceARN = &v
15973	return s
15974}
15975
15976type ListTagsForResourceOutput struct {
15977	_ struct{} `type:"structure"`
15978
15979	// The tags associated with a resource.
15980	Tags map[string]*string `locationName:"tags" type:"map"`
15981}
15982
15983// String returns the string representation
15984func (s ListTagsForResourceOutput) String() string {
15985	return awsutil.Prettify(s)
15986}
15987
15988// GoString returns the string representation
15989func (s ListTagsForResourceOutput) GoString() string {
15990	return s.String()
15991}
15992
15993// SetTags sets the Tags field's value.
15994func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
15995	s.Tags = v
15996	return s
15997}
15998
15999// The object that provides message text and it's type.
16000type Message struct {
16001	_ struct{} `type:"structure"`
16002
16003	// A message in a custom format defined by the client application.
16004	CustomPayload *CustomPayload `locationName:"customPayload" type:"structure"`
16005
16006	// A message that defines a response card that the client application can show
16007	// to the user.
16008	ImageResponseCard *ImageResponseCard `locationName:"imageResponseCard" type:"structure"`
16009
16010	// A message in plain text format.
16011	PlainTextMessage *PlainTextMessage `locationName:"plainTextMessage" type:"structure"`
16012
16013	// A message in Speech Synthesis Markup Language (SSML).
16014	SsmlMessage *SSMLMessage `locationName:"ssmlMessage" type:"structure"`
16015}
16016
16017// String returns the string representation
16018func (s Message) String() string {
16019	return awsutil.Prettify(s)
16020}
16021
16022// GoString returns the string representation
16023func (s Message) GoString() string {
16024	return s.String()
16025}
16026
16027// Validate inspects the fields of the type to determine if they are valid.
16028func (s *Message) Validate() error {
16029	invalidParams := request.ErrInvalidParams{Context: "Message"}
16030	if s.CustomPayload != nil {
16031		if err := s.CustomPayload.Validate(); err != nil {
16032			invalidParams.AddNested("CustomPayload", err.(request.ErrInvalidParams))
16033		}
16034	}
16035	if s.ImageResponseCard != nil {
16036		if err := s.ImageResponseCard.Validate(); err != nil {
16037			invalidParams.AddNested("ImageResponseCard", err.(request.ErrInvalidParams))
16038		}
16039	}
16040	if s.PlainTextMessage != nil {
16041		if err := s.PlainTextMessage.Validate(); err != nil {
16042			invalidParams.AddNested("PlainTextMessage", err.(request.ErrInvalidParams))
16043		}
16044	}
16045	if s.SsmlMessage != nil {
16046		if err := s.SsmlMessage.Validate(); err != nil {
16047			invalidParams.AddNested("SsmlMessage", err.(request.ErrInvalidParams))
16048		}
16049	}
16050
16051	if invalidParams.Len() > 0 {
16052		return invalidParams
16053	}
16054	return nil
16055}
16056
16057// SetCustomPayload sets the CustomPayload field's value.
16058func (s *Message) SetCustomPayload(v *CustomPayload) *Message {
16059	s.CustomPayload = v
16060	return s
16061}
16062
16063// SetImageResponseCard sets the ImageResponseCard field's value.
16064func (s *Message) SetImageResponseCard(v *ImageResponseCard) *Message {
16065	s.ImageResponseCard = v
16066	return s
16067}
16068
16069// SetPlainTextMessage sets the PlainTextMessage field's value.
16070func (s *Message) SetPlainTextMessage(v *PlainTextMessage) *Message {
16071	s.PlainTextMessage = v
16072	return s
16073}
16074
16075// SetSsmlMessage sets the SsmlMessage field's value.
16076func (s *Message) SetSsmlMessage(v *SSMLMessage) *Message {
16077	s.SsmlMessage = v
16078	return s
16079}
16080
16081// Provides one or more messages that Amazon Lex should send to the user.
16082type MessageGroup struct {
16083	_ struct{} `type:"structure"`
16084
16085	// The primary message that Amazon Lex should send to the user.
16086	//
16087	// Message is a required field
16088	Message *Message `locationName:"message" type:"structure" required:"true"`
16089
16090	// Message variations to send to the user. When variations are defined, Amazon
16091	// Lex chooses the primary message or one of the variations to send to the user.
16092	Variations []*Message `locationName:"variations" type:"list"`
16093}
16094
16095// String returns the string representation
16096func (s MessageGroup) String() string {
16097	return awsutil.Prettify(s)
16098}
16099
16100// GoString returns the string representation
16101func (s MessageGroup) GoString() string {
16102	return s.String()
16103}
16104
16105// Validate inspects the fields of the type to determine if they are valid.
16106func (s *MessageGroup) Validate() error {
16107	invalidParams := request.ErrInvalidParams{Context: "MessageGroup"}
16108	if s.Message == nil {
16109		invalidParams.Add(request.NewErrParamRequired("Message"))
16110	}
16111	if s.Message != nil {
16112		if err := s.Message.Validate(); err != nil {
16113			invalidParams.AddNested("Message", err.(request.ErrInvalidParams))
16114		}
16115	}
16116	if s.Variations != nil {
16117		for i, v := range s.Variations {
16118			if v == nil {
16119				continue
16120			}
16121			if err := v.Validate(); err != nil {
16122				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Variations", i), err.(request.ErrInvalidParams))
16123			}
16124		}
16125	}
16126
16127	if invalidParams.Len() > 0 {
16128		return invalidParams
16129	}
16130	return nil
16131}
16132
16133// SetMessage sets the Message field's value.
16134func (s *MessageGroup) SetMessage(v *Message) *MessageGroup {
16135	s.Message = v
16136	return s
16137}
16138
16139// SetVariations sets the Variations field's value.
16140func (s *MessageGroup) SetVariations(v []*Message) *MessageGroup {
16141	s.Variations = v
16142	return s
16143}
16144
16145// Indicates whether a slot can return multiple values.
16146type MultipleValuesSetting struct {
16147	_ struct{} `type:"structure"`
16148
16149	// Indicates whether a slot can return multiple values. When true, the slot
16150	// may return more than one value in a response. When false, the slot returns
16151	// only a single value.
16152	//
16153	// Multi-value slots are only available in the en-US locale. If you set this
16154	// value to true in any other locale, Amazon Lex throws a ValidationException.
16155	//
16156	// If the allowMutlipleValues is not set, the default value is false.
16157	AllowMultipleValues *bool `locationName:"allowMultipleValues" type:"boolean"`
16158}
16159
16160// String returns the string representation
16161func (s MultipleValuesSetting) String() string {
16162	return awsutil.Prettify(s)
16163}
16164
16165// GoString returns the string representation
16166func (s MultipleValuesSetting) GoString() string {
16167	return s.String()
16168}
16169
16170// SetAllowMultipleValues sets the AllowMultipleValues field's value.
16171func (s *MultipleValuesSetting) SetAllowMultipleValues(v bool) *MultipleValuesSetting {
16172	s.AllowMultipleValues = &v
16173	return s
16174}
16175
16176// Determines whether Amazon Lex obscures slot values in conversation logs.
16177type ObfuscationSetting struct {
16178	_ struct{} `type:"structure"`
16179
16180	// Value that determines whether Amazon Lex obscures slot values in conversation
16181	// logs. The default is to obscure the values.
16182	//
16183	// ObfuscationSettingType is a required field
16184	ObfuscationSettingType *string `locationName:"obfuscationSettingType" type:"string" required:"true" enum:"ObfuscationSettingType"`
16185}
16186
16187// String returns the string representation
16188func (s ObfuscationSetting) String() string {
16189	return awsutil.Prettify(s)
16190}
16191
16192// GoString returns the string representation
16193func (s ObfuscationSetting) GoString() string {
16194	return s.String()
16195}
16196
16197// Validate inspects the fields of the type to determine if they are valid.
16198func (s *ObfuscationSetting) Validate() error {
16199	invalidParams := request.ErrInvalidParams{Context: "ObfuscationSetting"}
16200	if s.ObfuscationSettingType == nil {
16201		invalidParams.Add(request.NewErrParamRequired("ObfuscationSettingType"))
16202	}
16203
16204	if invalidParams.Len() > 0 {
16205		return invalidParams
16206	}
16207	return nil
16208}
16209
16210// SetObfuscationSettingType sets the ObfuscationSettingType field's value.
16211func (s *ObfuscationSetting) SetObfuscationSettingType(v string) *ObfuscationSetting {
16212	s.ObfuscationSettingType = &v
16213	return s
16214}
16215
16216// Describes a session context that is activated when an intent is fulfilled.
16217type OutputContext struct {
16218	_ struct{} `type:"structure"`
16219
16220	// The name of the output context.
16221	//
16222	// Name is a required field
16223	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
16224
16225	// The amount of time, in seconds, that the output context should remain active.
16226	// The time is figured from the first time the context is sent to the user.
16227	//
16228	// TimeToLiveInSeconds is a required field
16229	TimeToLiveInSeconds *int64 `locationName:"timeToLiveInSeconds" min:"5" type:"integer" required:"true"`
16230
16231	// The number of conversation turns that the output context should remain active.
16232	// The number of turns is counted from the first time that the context is sent
16233	// to the user.
16234	//
16235	// TurnsToLive is a required field
16236	TurnsToLive *int64 `locationName:"turnsToLive" min:"1" type:"integer" required:"true"`
16237}
16238
16239// String returns the string representation
16240func (s OutputContext) String() string {
16241	return awsutil.Prettify(s)
16242}
16243
16244// GoString returns the string representation
16245func (s OutputContext) GoString() string {
16246	return s.String()
16247}
16248
16249// Validate inspects the fields of the type to determine if they are valid.
16250func (s *OutputContext) Validate() error {
16251	invalidParams := request.ErrInvalidParams{Context: "OutputContext"}
16252	if s.Name == nil {
16253		invalidParams.Add(request.NewErrParamRequired("Name"))
16254	}
16255	if s.Name != nil && len(*s.Name) < 1 {
16256		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
16257	}
16258	if s.TimeToLiveInSeconds == nil {
16259		invalidParams.Add(request.NewErrParamRequired("TimeToLiveInSeconds"))
16260	}
16261	if s.TimeToLiveInSeconds != nil && *s.TimeToLiveInSeconds < 5 {
16262		invalidParams.Add(request.NewErrParamMinValue("TimeToLiveInSeconds", 5))
16263	}
16264	if s.TurnsToLive == nil {
16265		invalidParams.Add(request.NewErrParamRequired("TurnsToLive"))
16266	}
16267	if s.TurnsToLive != nil && *s.TurnsToLive < 1 {
16268		invalidParams.Add(request.NewErrParamMinValue("TurnsToLive", 1))
16269	}
16270
16271	if invalidParams.Len() > 0 {
16272		return invalidParams
16273	}
16274	return nil
16275}
16276
16277// SetName sets the Name field's value.
16278func (s *OutputContext) SetName(v string) *OutputContext {
16279	s.Name = &v
16280	return s
16281}
16282
16283// SetTimeToLiveInSeconds sets the TimeToLiveInSeconds field's value.
16284func (s *OutputContext) SetTimeToLiveInSeconds(v int64) *OutputContext {
16285	s.TimeToLiveInSeconds = &v
16286	return s
16287}
16288
16289// SetTurnsToLive sets the TurnsToLive field's value.
16290func (s *OutputContext) SetTurnsToLive(v int64) *OutputContext {
16291	s.TurnsToLive = &v
16292	return s
16293}
16294
16295// Defines an ASCII text message to send to the user.
16296type PlainTextMessage struct {
16297	_ struct{} `type:"structure"`
16298
16299	// The message to send to the user.
16300	//
16301	// Value is a required field
16302	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
16303}
16304
16305// String returns the string representation
16306func (s PlainTextMessage) String() string {
16307	return awsutil.Prettify(s)
16308}
16309
16310// GoString returns the string representation
16311func (s PlainTextMessage) GoString() string {
16312	return s.String()
16313}
16314
16315// Validate inspects the fields of the type to determine if they are valid.
16316func (s *PlainTextMessage) Validate() error {
16317	invalidParams := request.ErrInvalidParams{Context: "PlainTextMessage"}
16318	if s.Value == nil {
16319		invalidParams.Add(request.NewErrParamRequired("Value"))
16320	}
16321	if s.Value != nil && len(*s.Value) < 1 {
16322		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
16323	}
16324
16325	if invalidParams.Len() > 0 {
16326		return invalidParams
16327	}
16328	return nil
16329}
16330
16331// SetValue sets the Value field's value.
16332func (s *PlainTextMessage) SetValue(v string) *PlainTextMessage {
16333	s.Value = &v
16334	return s
16335}
16336
16337type PreconditionFailedException struct {
16338	_            struct{}                  `type:"structure"`
16339	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16340
16341	Message_ *string `locationName:"message" type:"string"`
16342}
16343
16344// String returns the string representation
16345func (s PreconditionFailedException) String() string {
16346	return awsutil.Prettify(s)
16347}
16348
16349// GoString returns the string representation
16350func (s PreconditionFailedException) GoString() string {
16351	return s.String()
16352}
16353
16354func newErrorPreconditionFailedException(v protocol.ResponseMetadata) error {
16355	return &PreconditionFailedException{
16356		RespMetadata: v,
16357	}
16358}
16359
16360// Code returns the exception type name.
16361func (s *PreconditionFailedException) Code() string {
16362	return "PreconditionFailedException"
16363}
16364
16365// Message returns the exception's message.
16366func (s *PreconditionFailedException) Message() string {
16367	if s.Message_ != nil {
16368		return *s.Message_
16369	}
16370	return ""
16371}
16372
16373// OrigErr always returns nil, satisfies awserr.Error interface.
16374func (s *PreconditionFailedException) OrigErr() error {
16375	return nil
16376}
16377
16378func (s *PreconditionFailedException) Error() string {
16379	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16380}
16381
16382// Status code returns the HTTP status code for the request's response error.
16383func (s *PreconditionFailedException) StatusCode() int {
16384	return s.RespMetadata.StatusCode
16385}
16386
16387// RequestID returns the service's response RequestID for request.
16388func (s *PreconditionFailedException) RequestID() string {
16389	return s.RespMetadata.RequestID
16390}
16391
16392// The IAM principal that you allowing or denying access to an Amazon Lex action.
16393// You must provide a service or an arn, but not both in the same statement.
16394// For more information, see AWS JSON policy elements: Principal (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html).
16395type Principal struct {
16396	_ struct{} `type:"structure"`
16397
16398	// The Amazon Resource Name (ARN) of the principal.
16399	Arn *string `locationName:"arn" min:"30" type:"string"`
16400
16401	// The name of the AWS service that should allowed or denied access to an Amazon
16402	// Lex action.
16403	Service *string `locationName:"service" min:"15" type:"string"`
16404}
16405
16406// String returns the string representation
16407func (s Principal) String() string {
16408	return awsutil.Prettify(s)
16409}
16410
16411// GoString returns the string representation
16412func (s Principal) GoString() string {
16413	return s.String()
16414}
16415
16416// Validate inspects the fields of the type to determine if they are valid.
16417func (s *Principal) Validate() error {
16418	invalidParams := request.ErrInvalidParams{Context: "Principal"}
16419	if s.Arn != nil && len(*s.Arn) < 30 {
16420		invalidParams.Add(request.NewErrParamMinLen("Arn", 30))
16421	}
16422	if s.Service != nil && len(*s.Service) < 15 {
16423		invalidParams.Add(request.NewErrParamMinLen("Service", 15))
16424	}
16425
16426	if invalidParams.Len() > 0 {
16427		return invalidParams
16428	}
16429	return nil
16430}
16431
16432// SetArn sets the Arn field's value.
16433func (s *Principal) SetArn(v string) *Principal {
16434	s.Arn = &v
16435	return s
16436}
16437
16438// SetService sets the Service field's value.
16439func (s *Principal) SetService(v string) *Principal {
16440	s.Service = &v
16441	return s
16442}
16443
16444// Specifies a list of message groups that Amazon Lex sends to a user to elicit
16445// a response.
16446type PromptSpecification struct {
16447	_ struct{} `type:"structure"`
16448
16449	// Indicates whether the user can interrupt a speech prompt from the bot.
16450	AllowInterrupt *bool `locationName:"allowInterrupt" type:"boolean"`
16451
16452	// The maximum number of times the bot tries to elicit a resonse from the user
16453	// using this prompt.
16454	//
16455	// MaxRetries is a required field
16456	MaxRetries *int64 `locationName:"maxRetries" type:"integer" required:"true"`
16457
16458	// A collection of messages that Amazon Lex can send to the user. Amazon Lex
16459	// chooses the actual message to send at runtime.
16460	//
16461	// MessageGroups is a required field
16462	MessageGroups []*MessageGroup `locationName:"messageGroups" min:"1" type:"list" required:"true"`
16463}
16464
16465// String returns the string representation
16466func (s PromptSpecification) String() string {
16467	return awsutil.Prettify(s)
16468}
16469
16470// GoString returns the string representation
16471func (s PromptSpecification) GoString() string {
16472	return s.String()
16473}
16474
16475// Validate inspects the fields of the type to determine if they are valid.
16476func (s *PromptSpecification) Validate() error {
16477	invalidParams := request.ErrInvalidParams{Context: "PromptSpecification"}
16478	if s.MaxRetries == nil {
16479		invalidParams.Add(request.NewErrParamRequired("MaxRetries"))
16480	}
16481	if s.MessageGroups == nil {
16482		invalidParams.Add(request.NewErrParamRequired("MessageGroups"))
16483	}
16484	if s.MessageGroups != nil && len(s.MessageGroups) < 1 {
16485		invalidParams.Add(request.NewErrParamMinLen("MessageGroups", 1))
16486	}
16487	if s.MessageGroups != nil {
16488		for i, v := range s.MessageGroups {
16489			if v == nil {
16490				continue
16491			}
16492			if err := v.Validate(); err != nil {
16493				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MessageGroups", i), err.(request.ErrInvalidParams))
16494			}
16495		}
16496	}
16497
16498	if invalidParams.Len() > 0 {
16499		return invalidParams
16500	}
16501	return nil
16502}
16503
16504// SetAllowInterrupt sets the AllowInterrupt field's value.
16505func (s *PromptSpecification) SetAllowInterrupt(v bool) *PromptSpecification {
16506	s.AllowInterrupt = &v
16507	return s
16508}
16509
16510// SetMaxRetries sets the MaxRetries field's value.
16511func (s *PromptSpecification) SetMaxRetries(v int64) *PromptSpecification {
16512	s.MaxRetries = &v
16513	return s
16514}
16515
16516// SetMessageGroups sets the MessageGroups field's value.
16517func (s *PromptSpecification) SetMessageGroups(v []*MessageGroup) *PromptSpecification {
16518	s.MessageGroups = v
16519	return s
16520}
16521
16522type ResourceNotFoundException struct {
16523	_            struct{}                  `type:"structure"`
16524	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16525
16526	Message_ *string `locationName:"message" type:"string"`
16527}
16528
16529// String returns the string representation
16530func (s ResourceNotFoundException) String() string {
16531	return awsutil.Prettify(s)
16532}
16533
16534// GoString returns the string representation
16535func (s ResourceNotFoundException) GoString() string {
16536	return s.String()
16537}
16538
16539func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
16540	return &ResourceNotFoundException{
16541		RespMetadata: v,
16542	}
16543}
16544
16545// Code returns the exception type name.
16546func (s *ResourceNotFoundException) Code() string {
16547	return "ResourceNotFoundException"
16548}
16549
16550// Message returns the exception's message.
16551func (s *ResourceNotFoundException) Message() string {
16552	if s.Message_ != nil {
16553		return *s.Message_
16554	}
16555	return ""
16556}
16557
16558// OrigErr always returns nil, satisfies awserr.Error interface.
16559func (s *ResourceNotFoundException) OrigErr() error {
16560	return nil
16561}
16562
16563func (s *ResourceNotFoundException) Error() string {
16564	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16565}
16566
16567// Status code returns the HTTP status code for the request's response error.
16568func (s *ResourceNotFoundException) StatusCode() int {
16569	return s.RespMetadata.StatusCode
16570}
16571
16572// RequestID returns the service's response RequestID for request.
16573func (s *ResourceNotFoundException) RequestID() string {
16574	return s.RespMetadata.RequestID
16575}
16576
16577// Specifies a list of message groups that Amazon Lex uses to respond the user
16578// input.
16579type ResponseSpecification struct {
16580	_ struct{} `type:"structure"`
16581
16582	// Indicates whether the user can interrupt a speech response from Amazon Lex.
16583	AllowInterrupt *bool `locationName:"allowInterrupt" type:"boolean"`
16584
16585	// A collection of responses that Amazon Lex can send to the user. Amazon Lex
16586	// chooses the actual response to send at runtime.
16587	//
16588	// MessageGroups is a required field
16589	MessageGroups []*MessageGroup `locationName:"messageGroups" min:"1" type:"list" required:"true"`
16590}
16591
16592// String returns the string representation
16593func (s ResponseSpecification) String() string {
16594	return awsutil.Prettify(s)
16595}
16596
16597// GoString returns the string representation
16598func (s ResponseSpecification) GoString() string {
16599	return s.String()
16600}
16601
16602// Validate inspects the fields of the type to determine if they are valid.
16603func (s *ResponseSpecification) Validate() error {
16604	invalidParams := request.ErrInvalidParams{Context: "ResponseSpecification"}
16605	if s.MessageGroups == nil {
16606		invalidParams.Add(request.NewErrParamRequired("MessageGroups"))
16607	}
16608	if s.MessageGroups != nil && len(s.MessageGroups) < 1 {
16609		invalidParams.Add(request.NewErrParamMinLen("MessageGroups", 1))
16610	}
16611	if s.MessageGroups != nil {
16612		for i, v := range s.MessageGroups {
16613			if v == nil {
16614				continue
16615			}
16616			if err := v.Validate(); err != nil {
16617				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MessageGroups", i), err.(request.ErrInvalidParams))
16618			}
16619		}
16620	}
16621
16622	if invalidParams.Len() > 0 {
16623		return invalidParams
16624	}
16625	return nil
16626}
16627
16628// SetAllowInterrupt sets the AllowInterrupt field's value.
16629func (s *ResponseSpecification) SetAllowInterrupt(v bool) *ResponseSpecification {
16630	s.AllowInterrupt = &v
16631	return s
16632}
16633
16634// SetMessageGroups sets the MessageGroups field's value.
16635func (s *ResponseSpecification) SetMessageGroups(v []*MessageGroup) *ResponseSpecification {
16636	s.MessageGroups = v
16637	return s
16638}
16639
16640// Specifies an Amazon S3 bucket for logging audio conversations
16641type S3BucketLogDestination struct {
16642	_ struct{} `type:"structure"`
16643
16644	// The Amazon Resource Name (ARN) of an AWS Key Management Service (KMS) key
16645	// for encrypting audio log files stored in an S3 bucket.
16646	KmsKeyArn *string `locationName:"kmsKeyArn" min:"20" type:"string"`
16647
16648	// The S3 prefix to assign to audio log files.
16649	//
16650	// LogPrefix is a required field
16651	LogPrefix *string `locationName:"logPrefix" type:"string" required:"true"`
16652
16653	// The Amazon Resource Name (ARN) of an Amazon S3 bucket where audio log files
16654	// are stored.
16655	//
16656	// S3BucketArn is a required field
16657	S3BucketArn *string `locationName:"s3BucketArn" min:"1" type:"string" required:"true"`
16658}
16659
16660// String returns the string representation
16661func (s S3BucketLogDestination) String() string {
16662	return awsutil.Prettify(s)
16663}
16664
16665// GoString returns the string representation
16666func (s S3BucketLogDestination) GoString() string {
16667	return s.String()
16668}
16669
16670// Validate inspects the fields of the type to determine if they are valid.
16671func (s *S3BucketLogDestination) Validate() error {
16672	invalidParams := request.ErrInvalidParams{Context: "S3BucketLogDestination"}
16673	if s.KmsKeyArn != nil && len(*s.KmsKeyArn) < 20 {
16674		invalidParams.Add(request.NewErrParamMinLen("KmsKeyArn", 20))
16675	}
16676	if s.LogPrefix == nil {
16677		invalidParams.Add(request.NewErrParamRequired("LogPrefix"))
16678	}
16679	if s.S3BucketArn == nil {
16680		invalidParams.Add(request.NewErrParamRequired("S3BucketArn"))
16681	}
16682	if s.S3BucketArn != nil && len(*s.S3BucketArn) < 1 {
16683		invalidParams.Add(request.NewErrParamMinLen("S3BucketArn", 1))
16684	}
16685
16686	if invalidParams.Len() > 0 {
16687		return invalidParams
16688	}
16689	return nil
16690}
16691
16692// SetKmsKeyArn sets the KmsKeyArn field's value.
16693func (s *S3BucketLogDestination) SetKmsKeyArn(v string) *S3BucketLogDestination {
16694	s.KmsKeyArn = &v
16695	return s
16696}
16697
16698// SetLogPrefix sets the LogPrefix field's value.
16699func (s *S3BucketLogDestination) SetLogPrefix(v string) *S3BucketLogDestination {
16700	s.LogPrefix = &v
16701	return s
16702}
16703
16704// SetS3BucketArn sets the S3BucketArn field's value.
16705func (s *S3BucketLogDestination) SetS3BucketArn(v string) *S3BucketLogDestination {
16706	s.S3BucketArn = &v
16707	return s
16708}
16709
16710// Defines a Speech Synthesis Markup Language (SSML) prompt.
16711type SSMLMessage struct {
16712	_ struct{} `type:"structure"`
16713
16714	// The SSML text that defines the prompt.
16715	//
16716	// Value is a required field
16717	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
16718}
16719
16720// String returns the string representation
16721func (s SSMLMessage) String() string {
16722	return awsutil.Prettify(s)
16723}
16724
16725// GoString returns the string representation
16726func (s SSMLMessage) GoString() string {
16727	return s.String()
16728}
16729
16730// Validate inspects the fields of the type to determine if they are valid.
16731func (s *SSMLMessage) Validate() error {
16732	invalidParams := request.ErrInvalidParams{Context: "SSMLMessage"}
16733	if s.Value == nil {
16734		invalidParams.Add(request.NewErrParamRequired("Value"))
16735	}
16736	if s.Value != nil && len(*s.Value) < 1 {
16737		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
16738	}
16739
16740	if invalidParams.Len() > 0 {
16741		return invalidParams
16742	}
16743	return nil
16744}
16745
16746// SetValue sets the Value field's value.
16747func (s *SSMLMessage) SetValue(v string) *SSMLMessage {
16748	s.Value = &v
16749	return s
16750}
16751
16752// A sample utterance that invokes an intent or respond to a slot elicitation
16753// prompt.
16754type SampleUtterance struct {
16755	_ struct{} `type:"structure"`
16756
16757	// The sample utterance that Amazon Lex uses to build its machine-learning model
16758	// to recognize intents.
16759	//
16760	// Utterance is a required field
16761	Utterance *string `locationName:"utterance" type:"string" required:"true"`
16762}
16763
16764// String returns the string representation
16765func (s SampleUtterance) String() string {
16766	return awsutil.Prettify(s)
16767}
16768
16769// GoString returns the string representation
16770func (s SampleUtterance) GoString() string {
16771	return s.String()
16772}
16773
16774// Validate inspects the fields of the type to determine if they are valid.
16775func (s *SampleUtterance) Validate() error {
16776	invalidParams := request.ErrInvalidParams{Context: "SampleUtterance"}
16777	if s.Utterance == nil {
16778		invalidParams.Add(request.NewErrParamRequired("Utterance"))
16779	}
16780
16781	if invalidParams.Len() > 0 {
16782		return invalidParams
16783	}
16784	return nil
16785}
16786
16787// SetUtterance sets the Utterance field's value.
16788func (s *SampleUtterance) SetUtterance(v string) *SampleUtterance {
16789	s.Utterance = &v
16790	return s
16791}
16792
16793// Defines one of the values for a slot type.
16794type SampleValue struct {
16795	_ struct{} `type:"structure"`
16796
16797	// The value that can be used for a slot type.
16798	//
16799	// Value is a required field
16800	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
16801}
16802
16803// String returns the string representation
16804func (s SampleValue) String() string {
16805	return awsutil.Prettify(s)
16806}
16807
16808// GoString returns the string representation
16809func (s SampleValue) GoString() string {
16810	return s.String()
16811}
16812
16813// Validate inspects the fields of the type to determine if they are valid.
16814func (s *SampleValue) Validate() error {
16815	invalidParams := request.ErrInvalidParams{Context: "SampleValue"}
16816	if s.Value == nil {
16817		invalidParams.Add(request.NewErrParamRequired("Value"))
16818	}
16819	if s.Value != nil && len(*s.Value) < 1 {
16820		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
16821	}
16822
16823	if invalidParams.Len() > 0 {
16824		return invalidParams
16825	}
16826	return nil
16827}
16828
16829// SetValue sets the Value field's value.
16830func (s *SampleValue) SetValue(v string) *SampleValue {
16831	s.Value = &v
16832	return s
16833}
16834
16835// Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment
16836// of user utterances.
16837type SentimentAnalysisSettings struct {
16838	_ struct{} `type:"structure"`
16839
16840	// Sets whether Amazon Lex uses Amazon Comprehend to detect the sentiment of
16841	// user utterances.
16842	//
16843	// DetectSentiment is a required field
16844	DetectSentiment *bool `locationName:"detectSentiment" type:"boolean" required:"true"`
16845}
16846
16847// String returns the string representation
16848func (s SentimentAnalysisSettings) String() string {
16849	return awsutil.Prettify(s)
16850}
16851
16852// GoString returns the string representation
16853func (s SentimentAnalysisSettings) GoString() string {
16854	return s.String()
16855}
16856
16857// Validate inspects the fields of the type to determine if they are valid.
16858func (s *SentimentAnalysisSettings) Validate() error {
16859	invalidParams := request.ErrInvalidParams{Context: "SentimentAnalysisSettings"}
16860	if s.DetectSentiment == nil {
16861		invalidParams.Add(request.NewErrParamRequired("DetectSentiment"))
16862	}
16863
16864	if invalidParams.Len() > 0 {
16865		return invalidParams
16866	}
16867	return nil
16868}
16869
16870// SetDetectSentiment sets the DetectSentiment field's value.
16871func (s *SentimentAnalysisSettings) SetDetectSentiment(v bool) *SentimentAnalysisSettings {
16872	s.DetectSentiment = &v
16873	return s
16874}
16875
16876type ServiceQuotaExceededException struct {
16877	_            struct{}                  `type:"structure"`
16878	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16879
16880	Message_ *string `locationName:"message" type:"string"`
16881}
16882
16883// String returns the string representation
16884func (s ServiceQuotaExceededException) String() string {
16885	return awsutil.Prettify(s)
16886}
16887
16888// GoString returns the string representation
16889func (s ServiceQuotaExceededException) GoString() string {
16890	return s.String()
16891}
16892
16893func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
16894	return &ServiceQuotaExceededException{
16895		RespMetadata: v,
16896	}
16897}
16898
16899// Code returns the exception type name.
16900func (s *ServiceQuotaExceededException) Code() string {
16901	return "ServiceQuotaExceededException"
16902}
16903
16904// Message returns the exception's message.
16905func (s *ServiceQuotaExceededException) Message() string {
16906	if s.Message_ != nil {
16907		return *s.Message_
16908	}
16909	return ""
16910}
16911
16912// OrigErr always returns nil, satisfies awserr.Error interface.
16913func (s *ServiceQuotaExceededException) OrigErr() error {
16914	return nil
16915}
16916
16917func (s *ServiceQuotaExceededException) Error() string {
16918	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16919}
16920
16921// Status code returns the HTTP status code for the request's response error.
16922func (s *ServiceQuotaExceededException) StatusCode() int {
16923	return s.RespMetadata.StatusCode
16924}
16925
16926// RequestID returns the service's response RequestID for request.
16927func (s *ServiceQuotaExceededException) RequestID() string {
16928	return s.RespMetadata.RequestID
16929}
16930
16931// Specifies the default value to use when a user doesn't provide a value for
16932// a slot.
16933type SlotDefaultValue struct {
16934	_ struct{} `type:"structure"`
16935
16936	// The default value to use when a user doesn't provide a value for a slot.
16937	//
16938	// DefaultValue is a required field
16939	DefaultValue *string `locationName:"defaultValue" min:"1" type:"string" required:"true"`
16940}
16941
16942// String returns the string representation
16943func (s SlotDefaultValue) String() string {
16944	return awsutil.Prettify(s)
16945}
16946
16947// GoString returns the string representation
16948func (s SlotDefaultValue) GoString() string {
16949	return s.String()
16950}
16951
16952// Validate inspects the fields of the type to determine if they are valid.
16953func (s *SlotDefaultValue) Validate() error {
16954	invalidParams := request.ErrInvalidParams{Context: "SlotDefaultValue"}
16955	if s.DefaultValue == nil {
16956		invalidParams.Add(request.NewErrParamRequired("DefaultValue"))
16957	}
16958	if s.DefaultValue != nil && len(*s.DefaultValue) < 1 {
16959		invalidParams.Add(request.NewErrParamMinLen("DefaultValue", 1))
16960	}
16961
16962	if invalidParams.Len() > 0 {
16963		return invalidParams
16964	}
16965	return nil
16966}
16967
16968// SetDefaultValue sets the DefaultValue field's value.
16969func (s *SlotDefaultValue) SetDefaultValue(v string) *SlotDefaultValue {
16970	s.DefaultValue = &v
16971	return s
16972}
16973
16974// Defines a list of values that Amazon Lex should use as the default value
16975// for a slot.
16976type SlotDefaultValueSpecification struct {
16977	_ struct{} `type:"structure"`
16978
16979	// A list of default values. Amazon Lex chooses the default value to use in
16980	// the order that they are presented in the list.
16981	//
16982	// DefaultValueList is a required field
16983	DefaultValueList []*SlotDefaultValue `locationName:"defaultValueList" type:"list" required:"true"`
16984}
16985
16986// String returns the string representation
16987func (s SlotDefaultValueSpecification) String() string {
16988	return awsutil.Prettify(s)
16989}
16990
16991// GoString returns the string representation
16992func (s SlotDefaultValueSpecification) GoString() string {
16993	return s.String()
16994}
16995
16996// Validate inspects the fields of the type to determine if they are valid.
16997func (s *SlotDefaultValueSpecification) Validate() error {
16998	invalidParams := request.ErrInvalidParams{Context: "SlotDefaultValueSpecification"}
16999	if s.DefaultValueList == nil {
17000		invalidParams.Add(request.NewErrParamRequired("DefaultValueList"))
17001	}
17002	if s.DefaultValueList != nil {
17003		for i, v := range s.DefaultValueList {
17004			if v == nil {
17005				continue
17006			}
17007			if err := v.Validate(); err != nil {
17008				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultValueList", i), err.(request.ErrInvalidParams))
17009			}
17010		}
17011	}
17012
17013	if invalidParams.Len() > 0 {
17014		return invalidParams
17015	}
17016	return nil
17017}
17018
17019// SetDefaultValueList sets the DefaultValueList field's value.
17020func (s *SlotDefaultValueSpecification) SetDefaultValueList(v []*SlotDefaultValue) *SlotDefaultValueSpecification {
17021	s.DefaultValueList = v
17022	return s
17023}
17024
17025// Filters the response from the ListSlots operation.
17026type SlotFilter struct {
17027	_ struct{} `type:"structure"`
17028
17029	// The name of the field to use for filtering.
17030	//
17031	// Name is a required field
17032	Name *string `locationName:"name" type:"string" required:"true" enum:"SlotFilterName"`
17033
17034	// The operator to use for the filter. Specify EQ when the ListSlots operation
17035	// should return only aliases that equal the specified value. Specify CO when
17036	// the ListSlots operation should return aliases that contain the specified
17037	// value.
17038	//
17039	// Operator is a required field
17040	Operator *string `locationName:"operator" type:"string" required:"true" enum:"SlotFilterOperator"`
17041
17042	// The value to use to filter the response.
17043	//
17044	// Values is a required field
17045	Values []*string `locationName:"values" min:"1" type:"list" required:"true"`
17046}
17047
17048// String returns the string representation
17049func (s SlotFilter) String() string {
17050	return awsutil.Prettify(s)
17051}
17052
17053// GoString returns the string representation
17054func (s SlotFilter) GoString() string {
17055	return s.String()
17056}
17057
17058// Validate inspects the fields of the type to determine if they are valid.
17059func (s *SlotFilter) Validate() error {
17060	invalidParams := request.ErrInvalidParams{Context: "SlotFilter"}
17061	if s.Name == nil {
17062		invalidParams.Add(request.NewErrParamRequired("Name"))
17063	}
17064	if s.Operator == nil {
17065		invalidParams.Add(request.NewErrParamRequired("Operator"))
17066	}
17067	if s.Values == nil {
17068		invalidParams.Add(request.NewErrParamRequired("Values"))
17069	}
17070	if s.Values != nil && len(s.Values) < 1 {
17071		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
17072	}
17073
17074	if invalidParams.Len() > 0 {
17075		return invalidParams
17076	}
17077	return nil
17078}
17079
17080// SetName sets the Name field's value.
17081func (s *SlotFilter) SetName(v string) *SlotFilter {
17082	s.Name = &v
17083	return s
17084}
17085
17086// SetOperator sets the Operator field's value.
17087func (s *SlotFilter) SetOperator(v string) *SlotFilter {
17088	s.Operator = &v
17089	return s
17090}
17091
17092// SetValues sets the Values field's value.
17093func (s *SlotFilter) SetValues(v []*string) *SlotFilter {
17094	s.Values = v
17095	return s
17096}
17097
17098// Sets the priority that Amazon Lex should use when eliciting slot values from
17099// a user.
17100type SlotPriority struct {
17101	_ struct{} `type:"structure"`
17102
17103	// The priority that a slot should be elicited.
17104	//
17105	// Priority is a required field
17106	Priority *int64 `locationName:"priority" type:"integer" required:"true"`
17107
17108	// The unique identifier of the slot.
17109	//
17110	// SlotId is a required field
17111	SlotId *string `locationName:"slotId" min:"10" type:"string" required:"true"`
17112}
17113
17114// String returns the string representation
17115func (s SlotPriority) String() string {
17116	return awsutil.Prettify(s)
17117}
17118
17119// GoString returns the string representation
17120func (s SlotPriority) GoString() string {
17121	return s.String()
17122}
17123
17124// Validate inspects the fields of the type to determine if they are valid.
17125func (s *SlotPriority) Validate() error {
17126	invalidParams := request.ErrInvalidParams{Context: "SlotPriority"}
17127	if s.Priority == nil {
17128		invalidParams.Add(request.NewErrParamRequired("Priority"))
17129	}
17130	if s.SlotId == nil {
17131		invalidParams.Add(request.NewErrParamRequired("SlotId"))
17132	}
17133	if s.SlotId != nil && len(*s.SlotId) < 10 {
17134		invalidParams.Add(request.NewErrParamMinLen("SlotId", 10))
17135	}
17136
17137	if invalidParams.Len() > 0 {
17138		return invalidParams
17139	}
17140	return nil
17141}
17142
17143// SetPriority sets the Priority field's value.
17144func (s *SlotPriority) SetPriority(v int64) *SlotPriority {
17145	s.Priority = &v
17146	return s
17147}
17148
17149// SetSlotId sets the SlotId field's value.
17150func (s *SlotPriority) SetSlotId(v string) *SlotPriority {
17151	s.SlotId = &v
17152	return s
17153}
17154
17155// Specifies attributes for sorting a list of bots.
17156type SlotSortBy struct {
17157	_ struct{} `type:"structure"`
17158
17159	// The attribute to use to sort the list.
17160	//
17161	// Attribute is a required field
17162	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"SlotSortAttribute"`
17163
17164	// The order to sort the list. You can choose ascending or descending.
17165	//
17166	// Order is a required field
17167	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
17168}
17169
17170// String returns the string representation
17171func (s SlotSortBy) String() string {
17172	return awsutil.Prettify(s)
17173}
17174
17175// GoString returns the string representation
17176func (s SlotSortBy) GoString() string {
17177	return s.String()
17178}
17179
17180// Validate inspects the fields of the type to determine if they are valid.
17181func (s *SlotSortBy) Validate() error {
17182	invalidParams := request.ErrInvalidParams{Context: "SlotSortBy"}
17183	if s.Attribute == nil {
17184		invalidParams.Add(request.NewErrParamRequired("Attribute"))
17185	}
17186	if s.Order == nil {
17187		invalidParams.Add(request.NewErrParamRequired("Order"))
17188	}
17189
17190	if invalidParams.Len() > 0 {
17191		return invalidParams
17192	}
17193	return nil
17194}
17195
17196// SetAttribute sets the Attribute field's value.
17197func (s *SlotSortBy) SetAttribute(v string) *SlotSortBy {
17198	s.Attribute = &v
17199	return s
17200}
17201
17202// SetOrder sets the Order field's value.
17203func (s *SlotSortBy) SetOrder(v string) *SlotSortBy {
17204	s.Order = &v
17205	return s
17206}
17207
17208// Summary information about a slot, a value that the bot elicits from the user.
17209type SlotSummary struct {
17210	_ struct{} `type:"structure"`
17211
17212	// The description of the slot.
17213	Description *string `locationName:"description" type:"string"`
17214
17215	// The timestamp of the last date and time that the slot was updated.
17216	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
17217
17218	// Whether the slot is required or optional. An intent is complete when all
17219	// required slots are filled.
17220	SlotConstraint *string `locationName:"slotConstraint" type:"string" enum:"SlotConstraint"`
17221
17222	// The unique identifier of the slot.
17223	SlotId *string `locationName:"slotId" min:"10" type:"string"`
17224
17225	// The name given to the slot.
17226	SlotName *string `locationName:"slotName" min:"1" type:"string"`
17227
17228	// The unique identifier for the slot type that defines the values for the slot.
17229	SlotTypeId *string `locationName:"slotTypeId" min:"1" type:"string"`
17230
17231	// Prompts that are sent to the user to elicit a value for the slot.
17232	ValueElicitationPromptSpecification *PromptSpecification `locationName:"valueElicitationPromptSpecification" type:"structure"`
17233}
17234
17235// String returns the string representation
17236func (s SlotSummary) String() string {
17237	return awsutil.Prettify(s)
17238}
17239
17240// GoString returns the string representation
17241func (s SlotSummary) GoString() string {
17242	return s.String()
17243}
17244
17245// SetDescription sets the Description field's value.
17246func (s *SlotSummary) SetDescription(v string) *SlotSummary {
17247	s.Description = &v
17248	return s
17249}
17250
17251// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
17252func (s *SlotSummary) SetLastUpdatedDateTime(v time.Time) *SlotSummary {
17253	s.LastUpdatedDateTime = &v
17254	return s
17255}
17256
17257// SetSlotConstraint sets the SlotConstraint field's value.
17258func (s *SlotSummary) SetSlotConstraint(v string) *SlotSummary {
17259	s.SlotConstraint = &v
17260	return s
17261}
17262
17263// SetSlotId sets the SlotId field's value.
17264func (s *SlotSummary) SetSlotId(v string) *SlotSummary {
17265	s.SlotId = &v
17266	return s
17267}
17268
17269// SetSlotName sets the SlotName field's value.
17270func (s *SlotSummary) SetSlotName(v string) *SlotSummary {
17271	s.SlotName = &v
17272	return s
17273}
17274
17275// SetSlotTypeId sets the SlotTypeId field's value.
17276func (s *SlotSummary) SetSlotTypeId(v string) *SlotSummary {
17277	s.SlotTypeId = &v
17278	return s
17279}
17280
17281// SetValueElicitationPromptSpecification sets the ValueElicitationPromptSpecification field's value.
17282func (s *SlotSummary) SetValueElicitationPromptSpecification(v *PromptSpecification) *SlotSummary {
17283	s.ValueElicitationPromptSpecification = v
17284	return s
17285}
17286
17287// Filters the response from the ListSlotTypes operation.
17288type SlotTypeFilter struct {
17289	_ struct{} `type:"structure"`
17290
17291	// The name of the field to use for filtering.
17292	//
17293	// Name is a required field
17294	Name *string `locationName:"name" type:"string" required:"true" enum:"SlotTypeFilterName"`
17295
17296	// The operator to use for the filter. Specify EQ when the ListSlotTypes operation
17297	// should return only aliases that equal the specified value. Specify CO when
17298	// the ListSlotTypes operation should return aliases that contain the specified
17299	// value.
17300	//
17301	// Operator is a required field
17302	Operator *string `locationName:"operator" type:"string" required:"true" enum:"SlotTypeFilterOperator"`
17303
17304	// The value to use to filter the response.
17305	//
17306	// Values is a required field
17307	Values []*string `locationName:"values" min:"1" type:"list" required:"true"`
17308}
17309
17310// String returns the string representation
17311func (s SlotTypeFilter) String() string {
17312	return awsutil.Prettify(s)
17313}
17314
17315// GoString returns the string representation
17316func (s SlotTypeFilter) GoString() string {
17317	return s.String()
17318}
17319
17320// Validate inspects the fields of the type to determine if they are valid.
17321func (s *SlotTypeFilter) Validate() error {
17322	invalidParams := request.ErrInvalidParams{Context: "SlotTypeFilter"}
17323	if s.Name == nil {
17324		invalidParams.Add(request.NewErrParamRequired("Name"))
17325	}
17326	if s.Operator == nil {
17327		invalidParams.Add(request.NewErrParamRequired("Operator"))
17328	}
17329	if s.Values == nil {
17330		invalidParams.Add(request.NewErrParamRequired("Values"))
17331	}
17332	if s.Values != nil && len(s.Values) < 1 {
17333		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
17334	}
17335
17336	if invalidParams.Len() > 0 {
17337		return invalidParams
17338	}
17339	return nil
17340}
17341
17342// SetName sets the Name field's value.
17343func (s *SlotTypeFilter) SetName(v string) *SlotTypeFilter {
17344	s.Name = &v
17345	return s
17346}
17347
17348// SetOperator sets the Operator field's value.
17349func (s *SlotTypeFilter) SetOperator(v string) *SlotTypeFilter {
17350	s.Operator = &v
17351	return s
17352}
17353
17354// SetValues sets the Values field's value.
17355func (s *SlotTypeFilter) SetValues(v []*string) *SlotTypeFilter {
17356	s.Values = v
17357	return s
17358}
17359
17360// Specifies attributes for sorting a list of slot types.
17361type SlotTypeSortBy struct {
17362	_ struct{} `type:"structure"`
17363
17364	// The attribute to use to sort the list of slot types.
17365	//
17366	// Attribute is a required field
17367	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"SlotTypeSortAttribute"`
17368
17369	// The order to sort the list. You can say ascending or descending.
17370	//
17371	// Order is a required field
17372	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
17373}
17374
17375// String returns the string representation
17376func (s SlotTypeSortBy) String() string {
17377	return awsutil.Prettify(s)
17378}
17379
17380// GoString returns the string representation
17381func (s SlotTypeSortBy) GoString() string {
17382	return s.String()
17383}
17384
17385// Validate inspects the fields of the type to determine if they are valid.
17386func (s *SlotTypeSortBy) Validate() error {
17387	invalidParams := request.ErrInvalidParams{Context: "SlotTypeSortBy"}
17388	if s.Attribute == nil {
17389		invalidParams.Add(request.NewErrParamRequired("Attribute"))
17390	}
17391	if s.Order == nil {
17392		invalidParams.Add(request.NewErrParamRequired("Order"))
17393	}
17394
17395	if invalidParams.Len() > 0 {
17396		return invalidParams
17397	}
17398	return nil
17399}
17400
17401// SetAttribute sets the Attribute field's value.
17402func (s *SlotTypeSortBy) SetAttribute(v string) *SlotTypeSortBy {
17403	s.Attribute = &v
17404	return s
17405}
17406
17407// SetOrder sets the Order field's value.
17408func (s *SlotTypeSortBy) SetOrder(v string) *SlotTypeSortBy {
17409	s.Order = &v
17410	return s
17411}
17412
17413// Provides summary information about a slot type.
17414type SlotTypeSummary struct {
17415	_ struct{} `type:"structure"`
17416
17417	// The description of the slot type.
17418	Description *string `locationName:"description" type:"string"`
17419
17420	// A timestamp of the date and time that the slot type was last updated.
17421	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
17422
17423	// If the slot type is derived from a built-on slot type, the name of the parent
17424	// slot type.
17425	ParentSlotTypeSignature *string `locationName:"parentSlotTypeSignature" type:"string"`
17426
17427	// The unique identifier assigned to the slot type.
17428	SlotTypeId *string `locationName:"slotTypeId" min:"10" type:"string"`
17429
17430	// The name of the slot type.
17431	SlotTypeName *string `locationName:"slotTypeName" min:"1" type:"string"`
17432}
17433
17434// String returns the string representation
17435func (s SlotTypeSummary) String() string {
17436	return awsutil.Prettify(s)
17437}
17438
17439// GoString returns the string representation
17440func (s SlotTypeSummary) GoString() string {
17441	return s.String()
17442}
17443
17444// SetDescription sets the Description field's value.
17445func (s *SlotTypeSummary) SetDescription(v string) *SlotTypeSummary {
17446	s.Description = &v
17447	return s
17448}
17449
17450// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
17451func (s *SlotTypeSummary) SetLastUpdatedDateTime(v time.Time) *SlotTypeSummary {
17452	s.LastUpdatedDateTime = &v
17453	return s
17454}
17455
17456// SetParentSlotTypeSignature sets the ParentSlotTypeSignature field's value.
17457func (s *SlotTypeSummary) SetParentSlotTypeSignature(v string) *SlotTypeSummary {
17458	s.ParentSlotTypeSignature = &v
17459	return s
17460}
17461
17462// SetSlotTypeId sets the SlotTypeId field's value.
17463func (s *SlotTypeSummary) SetSlotTypeId(v string) *SlotTypeSummary {
17464	s.SlotTypeId = &v
17465	return s
17466}
17467
17468// SetSlotTypeName sets the SlotTypeName field's value.
17469func (s *SlotTypeSummary) SetSlotTypeName(v string) *SlotTypeSummary {
17470	s.SlotTypeName = &v
17471	return s
17472}
17473
17474// Each slot type can have a set of values. Each SlotTypeValue represents a
17475// value that the slot type can take.
17476type SlotTypeValue struct {
17477	_ struct{} `type:"structure"`
17478
17479	// The value of the slot type entry.
17480	SampleValue *SampleValue `locationName:"sampleValue" type:"structure"`
17481
17482	// Additional values releated to the slot type entry.
17483	Synonyms []*SampleValue `locationName:"synonyms" min:"1" type:"list"`
17484}
17485
17486// String returns the string representation
17487func (s SlotTypeValue) String() string {
17488	return awsutil.Prettify(s)
17489}
17490
17491// GoString returns the string representation
17492func (s SlotTypeValue) GoString() string {
17493	return s.String()
17494}
17495
17496// Validate inspects the fields of the type to determine if they are valid.
17497func (s *SlotTypeValue) Validate() error {
17498	invalidParams := request.ErrInvalidParams{Context: "SlotTypeValue"}
17499	if s.Synonyms != nil && len(s.Synonyms) < 1 {
17500		invalidParams.Add(request.NewErrParamMinLen("Synonyms", 1))
17501	}
17502	if s.SampleValue != nil {
17503		if err := s.SampleValue.Validate(); err != nil {
17504			invalidParams.AddNested("SampleValue", err.(request.ErrInvalidParams))
17505		}
17506	}
17507	if s.Synonyms != nil {
17508		for i, v := range s.Synonyms {
17509			if v == nil {
17510				continue
17511			}
17512			if err := v.Validate(); err != nil {
17513				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Synonyms", i), err.(request.ErrInvalidParams))
17514			}
17515		}
17516	}
17517
17518	if invalidParams.Len() > 0 {
17519		return invalidParams
17520	}
17521	return nil
17522}
17523
17524// SetSampleValue sets the SampleValue field's value.
17525func (s *SlotTypeValue) SetSampleValue(v *SampleValue) *SlotTypeValue {
17526	s.SampleValue = v
17527	return s
17528}
17529
17530// SetSynonyms sets the Synonyms field's value.
17531func (s *SlotTypeValue) SetSynonyms(v []*SampleValue) *SlotTypeValue {
17532	s.Synonyms = v
17533	return s
17534}
17535
17536// Settings that you can use for eliciting a slot value.
17537type SlotValueElicitationSetting struct {
17538	_ struct{} `type:"structure"`
17539
17540	// A list of default values for a slot. Default values are used when Amazon
17541	// Lex hasn't determined a value for a slot. You can specify default values
17542	// from context variables, sesion attributes, and defined values.
17543	DefaultValueSpecification *SlotDefaultValueSpecification `locationName:"defaultValueSpecification" type:"structure"`
17544
17545	// The prompt that Amazon Lex uses to elicit the slot value from the user.
17546	PromptSpecification *PromptSpecification `locationName:"promptSpecification" type:"structure"`
17547
17548	// If you know a specific pattern that users might respond to an Amazon Lex
17549	// request for a slot value, you can provide those utterances to improve accuracy.
17550	// This is optional. In most cases, Amazon Lex is capable of understanding user
17551	// utterances.
17552	SampleUtterances []*SampleUtterance `locationName:"sampleUtterances" type:"list"`
17553
17554	// Specifies whether the slot is required or optional.
17555	//
17556	// SlotConstraint is a required field
17557	SlotConstraint *string `locationName:"slotConstraint" type:"string" required:"true" enum:"SlotConstraint"`
17558
17559	// Specifies the prompts that Amazon Lex uses while a bot is waiting for customer
17560	// input.
17561	WaitAndContinueSpecification *WaitAndContinueSpecification `locationName:"waitAndContinueSpecification" type:"structure"`
17562}
17563
17564// String returns the string representation
17565func (s SlotValueElicitationSetting) String() string {
17566	return awsutil.Prettify(s)
17567}
17568
17569// GoString returns the string representation
17570func (s SlotValueElicitationSetting) GoString() string {
17571	return s.String()
17572}
17573
17574// Validate inspects the fields of the type to determine if they are valid.
17575func (s *SlotValueElicitationSetting) Validate() error {
17576	invalidParams := request.ErrInvalidParams{Context: "SlotValueElicitationSetting"}
17577	if s.SlotConstraint == nil {
17578		invalidParams.Add(request.NewErrParamRequired("SlotConstraint"))
17579	}
17580	if s.DefaultValueSpecification != nil {
17581		if err := s.DefaultValueSpecification.Validate(); err != nil {
17582			invalidParams.AddNested("DefaultValueSpecification", err.(request.ErrInvalidParams))
17583		}
17584	}
17585	if s.PromptSpecification != nil {
17586		if err := s.PromptSpecification.Validate(); err != nil {
17587			invalidParams.AddNested("PromptSpecification", err.(request.ErrInvalidParams))
17588		}
17589	}
17590	if s.SampleUtterances != nil {
17591		for i, v := range s.SampleUtterances {
17592			if v == nil {
17593				continue
17594			}
17595			if err := v.Validate(); err != nil {
17596				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SampleUtterances", i), err.(request.ErrInvalidParams))
17597			}
17598		}
17599	}
17600	if s.WaitAndContinueSpecification != nil {
17601		if err := s.WaitAndContinueSpecification.Validate(); err != nil {
17602			invalidParams.AddNested("WaitAndContinueSpecification", err.(request.ErrInvalidParams))
17603		}
17604	}
17605
17606	if invalidParams.Len() > 0 {
17607		return invalidParams
17608	}
17609	return nil
17610}
17611
17612// SetDefaultValueSpecification sets the DefaultValueSpecification field's value.
17613func (s *SlotValueElicitationSetting) SetDefaultValueSpecification(v *SlotDefaultValueSpecification) *SlotValueElicitationSetting {
17614	s.DefaultValueSpecification = v
17615	return s
17616}
17617
17618// SetPromptSpecification sets the PromptSpecification field's value.
17619func (s *SlotValueElicitationSetting) SetPromptSpecification(v *PromptSpecification) *SlotValueElicitationSetting {
17620	s.PromptSpecification = v
17621	return s
17622}
17623
17624// SetSampleUtterances sets the SampleUtterances field's value.
17625func (s *SlotValueElicitationSetting) SetSampleUtterances(v []*SampleUtterance) *SlotValueElicitationSetting {
17626	s.SampleUtterances = v
17627	return s
17628}
17629
17630// SetSlotConstraint sets the SlotConstraint field's value.
17631func (s *SlotValueElicitationSetting) SetSlotConstraint(v string) *SlotValueElicitationSetting {
17632	s.SlotConstraint = &v
17633	return s
17634}
17635
17636// SetWaitAndContinueSpecification sets the WaitAndContinueSpecification field's value.
17637func (s *SlotValueElicitationSetting) SetWaitAndContinueSpecification(v *WaitAndContinueSpecification) *SlotValueElicitationSetting {
17638	s.WaitAndContinueSpecification = v
17639	return s
17640}
17641
17642// Provides a regular expression used to validate the value of a slot.
17643type SlotValueRegexFilter struct {
17644	_ struct{} `type:"structure"`
17645
17646	// A regular expression used to validate the value of a slot.
17647	//
17648	// Use a standard regular expression. Amazon Lex supports the following characters
17649	// in the regular expression:
17650	//
17651	//    * A-Z, a-z
17652	//
17653	//    * 0-9
17654	//
17655	//    * Unicode characters ("\ u<Unicode>")
17656	//
17657	// Represent Unicode characters with four digits, for example "\u0041" or "\u005A".
17658	//
17659	// The following regular expression operators are not supported:
17660	//
17661	//    * Infinite repeaters: *, +, or {x,} with no upper bound.
17662	//
17663	//    * Wild card (.)
17664	//
17665	// Pattern is a required field
17666	Pattern *string `locationName:"pattern" min:"1" type:"string" required:"true"`
17667}
17668
17669// String returns the string representation
17670func (s SlotValueRegexFilter) String() string {
17671	return awsutil.Prettify(s)
17672}
17673
17674// GoString returns the string representation
17675func (s SlotValueRegexFilter) GoString() string {
17676	return s.String()
17677}
17678
17679// Validate inspects the fields of the type to determine if they are valid.
17680func (s *SlotValueRegexFilter) Validate() error {
17681	invalidParams := request.ErrInvalidParams{Context: "SlotValueRegexFilter"}
17682	if s.Pattern == nil {
17683		invalidParams.Add(request.NewErrParamRequired("Pattern"))
17684	}
17685	if s.Pattern != nil && len(*s.Pattern) < 1 {
17686		invalidParams.Add(request.NewErrParamMinLen("Pattern", 1))
17687	}
17688
17689	if invalidParams.Len() > 0 {
17690		return invalidParams
17691	}
17692	return nil
17693}
17694
17695// SetPattern sets the Pattern field's value.
17696func (s *SlotValueRegexFilter) SetPattern(v string) *SlotValueRegexFilter {
17697	s.Pattern = &v
17698	return s
17699}
17700
17701// Contains settings used by Amazon Lex to select a slot value.
17702type SlotValueSelectionSetting struct {
17703	_ struct{} `type:"structure"`
17704
17705	// A regular expression used to validate the value of a slot.
17706	RegexFilter *SlotValueRegexFilter `locationName:"regexFilter" type:"structure"`
17707
17708	// Determines the slot resolution strategy that Amazon Lex uses to return slot
17709	// type values. The field can be set to one of the following values:
17710	//
17711	//    * OriginalValue - Returns the value entered by the user, if the user value
17712	//    is similar to the slot value.
17713	//
17714	//    * TopResolution - If there is a resolution list for the slot, return the
17715	//    first value in the resolution list as the slot type value. If there is
17716	//    no resolution list, null is returned.
17717	//
17718	// If you don't specify the valueSelectionStrategy, the default is OriginalValue.
17719	//
17720	// ResolutionStrategy is a required field
17721	ResolutionStrategy *string `locationName:"resolutionStrategy" type:"string" required:"true" enum:"SlotValueResolutionStrategy"`
17722}
17723
17724// String returns the string representation
17725func (s SlotValueSelectionSetting) String() string {
17726	return awsutil.Prettify(s)
17727}
17728
17729// GoString returns the string representation
17730func (s SlotValueSelectionSetting) GoString() string {
17731	return s.String()
17732}
17733
17734// Validate inspects the fields of the type to determine if they are valid.
17735func (s *SlotValueSelectionSetting) Validate() error {
17736	invalidParams := request.ErrInvalidParams{Context: "SlotValueSelectionSetting"}
17737	if s.ResolutionStrategy == nil {
17738		invalidParams.Add(request.NewErrParamRequired("ResolutionStrategy"))
17739	}
17740	if s.RegexFilter != nil {
17741		if err := s.RegexFilter.Validate(); err != nil {
17742			invalidParams.AddNested("RegexFilter", err.(request.ErrInvalidParams))
17743		}
17744	}
17745
17746	if invalidParams.Len() > 0 {
17747		return invalidParams
17748	}
17749	return nil
17750}
17751
17752// SetRegexFilter sets the RegexFilter field's value.
17753func (s *SlotValueSelectionSetting) SetRegexFilter(v *SlotValueRegexFilter) *SlotValueSelectionSetting {
17754	s.RegexFilter = v
17755	return s
17756}
17757
17758// SetResolutionStrategy sets the ResolutionStrategy field's value.
17759func (s *SlotValueSelectionSetting) SetResolutionStrategy(v string) *SlotValueSelectionSetting {
17760	s.ResolutionStrategy = &v
17761	return s
17762}
17763
17764type StartImportInput struct {
17765	_ struct{} `type:"structure"`
17766
17767	// The password used to encrypt the zip archive that contains the bot or bot
17768	// locale definition. You should always encrypt the zip archive to protect it
17769	// during transit between your site and Amazon Lex.
17770	FilePassword *string `locationName:"filePassword" min:"1" type:"string" sensitive:"true"`
17771
17772	// The unique identifier for the import. It is included in the response from
17773	// the operation.
17774	//
17775	// ImportId is a required field
17776	ImportId *string `locationName:"importId" min:"10" type:"string" required:"true"`
17777
17778	// The strategy to use when there is a name conflict between the imported resource
17779	// and an existing resource. When the merge strategy is FailOnConflict existing
17780	// resources are not overwritten and the import fails.
17781	//
17782	// MergeStrategy is a required field
17783	MergeStrategy *string `locationName:"mergeStrategy" type:"string" required:"true" enum:"MergeStrategy"`
17784
17785	// Parameters for creating the bot or bot locale.
17786	//
17787	// ResourceSpecification is a required field
17788	ResourceSpecification *ImportResourceSpecification `locationName:"resourceSpecification" type:"structure" required:"true"`
17789}
17790
17791// String returns the string representation
17792func (s StartImportInput) String() string {
17793	return awsutil.Prettify(s)
17794}
17795
17796// GoString returns the string representation
17797func (s StartImportInput) GoString() string {
17798	return s.String()
17799}
17800
17801// Validate inspects the fields of the type to determine if they are valid.
17802func (s *StartImportInput) Validate() error {
17803	invalidParams := request.ErrInvalidParams{Context: "StartImportInput"}
17804	if s.FilePassword != nil && len(*s.FilePassword) < 1 {
17805		invalidParams.Add(request.NewErrParamMinLen("FilePassword", 1))
17806	}
17807	if s.ImportId == nil {
17808		invalidParams.Add(request.NewErrParamRequired("ImportId"))
17809	}
17810	if s.ImportId != nil && len(*s.ImportId) < 10 {
17811		invalidParams.Add(request.NewErrParamMinLen("ImportId", 10))
17812	}
17813	if s.MergeStrategy == nil {
17814		invalidParams.Add(request.NewErrParamRequired("MergeStrategy"))
17815	}
17816	if s.ResourceSpecification == nil {
17817		invalidParams.Add(request.NewErrParamRequired("ResourceSpecification"))
17818	}
17819	if s.ResourceSpecification != nil {
17820		if err := s.ResourceSpecification.Validate(); err != nil {
17821			invalidParams.AddNested("ResourceSpecification", err.(request.ErrInvalidParams))
17822		}
17823	}
17824
17825	if invalidParams.Len() > 0 {
17826		return invalidParams
17827	}
17828	return nil
17829}
17830
17831// SetFilePassword sets the FilePassword field's value.
17832func (s *StartImportInput) SetFilePassword(v string) *StartImportInput {
17833	s.FilePassword = &v
17834	return s
17835}
17836
17837// SetImportId sets the ImportId field's value.
17838func (s *StartImportInput) SetImportId(v string) *StartImportInput {
17839	s.ImportId = &v
17840	return s
17841}
17842
17843// SetMergeStrategy sets the MergeStrategy field's value.
17844func (s *StartImportInput) SetMergeStrategy(v string) *StartImportInput {
17845	s.MergeStrategy = &v
17846	return s
17847}
17848
17849// SetResourceSpecification sets the ResourceSpecification field's value.
17850func (s *StartImportInput) SetResourceSpecification(v *ImportResourceSpecification) *StartImportInput {
17851	s.ResourceSpecification = v
17852	return s
17853}
17854
17855type StartImportOutput struct {
17856	_ struct{} `type:"structure"`
17857
17858	// The date and time that the import request was created.
17859	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
17860
17861	// A unique identifier for the import.
17862	ImportId *string `locationName:"importId" min:"10" type:"string"`
17863
17864	// The current status of the import. When the status is Complete the bot or
17865	// bot alias is ready to use.
17866	ImportStatus *string `locationName:"importStatus" type:"string" enum:"ImportStatus"`
17867
17868	// The strategy used when there was a name conflict between the imported resource
17869	// and an existing resource. When the merge strategy is FailOnConflict existing
17870	// resources are not overwritten and the import fails.
17871	MergeStrategy *string `locationName:"mergeStrategy" type:"string" enum:"MergeStrategy"`
17872
17873	// The parameters used when importing the bot or bot locale.
17874	ResourceSpecification *ImportResourceSpecification `locationName:"resourceSpecification" type:"structure"`
17875}
17876
17877// String returns the string representation
17878func (s StartImportOutput) String() string {
17879	return awsutil.Prettify(s)
17880}
17881
17882// GoString returns the string representation
17883func (s StartImportOutput) GoString() string {
17884	return s.String()
17885}
17886
17887// SetCreationDateTime sets the CreationDateTime field's value.
17888func (s *StartImportOutput) SetCreationDateTime(v time.Time) *StartImportOutput {
17889	s.CreationDateTime = &v
17890	return s
17891}
17892
17893// SetImportId sets the ImportId field's value.
17894func (s *StartImportOutput) SetImportId(v string) *StartImportOutput {
17895	s.ImportId = &v
17896	return s
17897}
17898
17899// SetImportStatus sets the ImportStatus field's value.
17900func (s *StartImportOutput) SetImportStatus(v string) *StartImportOutput {
17901	s.ImportStatus = &v
17902	return s
17903}
17904
17905// SetMergeStrategy sets the MergeStrategy field's value.
17906func (s *StartImportOutput) SetMergeStrategy(v string) *StartImportOutput {
17907	s.MergeStrategy = &v
17908	return s
17909}
17910
17911// SetResourceSpecification sets the ResourceSpecification field's value.
17912func (s *StartImportOutput) SetResourceSpecification(v *ImportResourceSpecification) *StartImportOutput {
17913	s.ResourceSpecification = v
17914	return s
17915}
17916
17917// Defines the messages that Amazon Lex sends to a user to remind them that
17918// the bot is waiting for a response.
17919type StillWaitingResponseSpecification struct {
17920	_ struct{} `type:"structure"`
17921
17922	// Indicates that the user can interrupt the response by speaking while the
17923	// message is being played.
17924	AllowInterrupt *bool `locationName:"allowInterrupt" type:"boolean"`
17925
17926	// How often a message should be sent to the user. Minimum of 1 second, maximum
17927	// of 5 minutes.
17928	//
17929	// FrequencyInSeconds is a required field
17930	FrequencyInSeconds *int64 `locationName:"frequencyInSeconds" min:"1" type:"integer" required:"true"`
17931
17932	// One or more message groups, each containing one or more messages, that define
17933	// the prompts that Amazon Lex sends to the user.
17934	//
17935	// MessageGroups is a required field
17936	MessageGroups []*MessageGroup `locationName:"messageGroups" min:"1" type:"list" required:"true"`
17937
17938	// If Amazon Lex waits longer than this length of time for a response, it will
17939	// stop sending messages.
17940	//
17941	// TimeoutInSeconds is a required field
17942	TimeoutInSeconds *int64 `locationName:"timeoutInSeconds" min:"1" type:"integer" required:"true"`
17943}
17944
17945// String returns the string representation
17946func (s StillWaitingResponseSpecification) String() string {
17947	return awsutil.Prettify(s)
17948}
17949
17950// GoString returns the string representation
17951func (s StillWaitingResponseSpecification) GoString() string {
17952	return s.String()
17953}
17954
17955// Validate inspects the fields of the type to determine if they are valid.
17956func (s *StillWaitingResponseSpecification) Validate() error {
17957	invalidParams := request.ErrInvalidParams{Context: "StillWaitingResponseSpecification"}
17958	if s.FrequencyInSeconds == nil {
17959		invalidParams.Add(request.NewErrParamRequired("FrequencyInSeconds"))
17960	}
17961	if s.FrequencyInSeconds != nil && *s.FrequencyInSeconds < 1 {
17962		invalidParams.Add(request.NewErrParamMinValue("FrequencyInSeconds", 1))
17963	}
17964	if s.MessageGroups == nil {
17965		invalidParams.Add(request.NewErrParamRequired("MessageGroups"))
17966	}
17967	if s.MessageGroups != nil && len(s.MessageGroups) < 1 {
17968		invalidParams.Add(request.NewErrParamMinLen("MessageGroups", 1))
17969	}
17970	if s.TimeoutInSeconds == nil {
17971		invalidParams.Add(request.NewErrParamRequired("TimeoutInSeconds"))
17972	}
17973	if s.TimeoutInSeconds != nil && *s.TimeoutInSeconds < 1 {
17974		invalidParams.Add(request.NewErrParamMinValue("TimeoutInSeconds", 1))
17975	}
17976	if s.MessageGroups != nil {
17977		for i, v := range s.MessageGroups {
17978			if v == nil {
17979				continue
17980			}
17981			if err := v.Validate(); err != nil {
17982				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MessageGroups", i), err.(request.ErrInvalidParams))
17983			}
17984		}
17985	}
17986
17987	if invalidParams.Len() > 0 {
17988		return invalidParams
17989	}
17990	return nil
17991}
17992
17993// SetAllowInterrupt sets the AllowInterrupt field's value.
17994func (s *StillWaitingResponseSpecification) SetAllowInterrupt(v bool) *StillWaitingResponseSpecification {
17995	s.AllowInterrupt = &v
17996	return s
17997}
17998
17999// SetFrequencyInSeconds sets the FrequencyInSeconds field's value.
18000func (s *StillWaitingResponseSpecification) SetFrequencyInSeconds(v int64) *StillWaitingResponseSpecification {
18001	s.FrequencyInSeconds = &v
18002	return s
18003}
18004
18005// SetMessageGroups sets the MessageGroups field's value.
18006func (s *StillWaitingResponseSpecification) SetMessageGroups(v []*MessageGroup) *StillWaitingResponseSpecification {
18007	s.MessageGroups = v
18008	return s
18009}
18010
18011// SetTimeoutInSeconds sets the TimeoutInSeconds field's value.
18012func (s *StillWaitingResponseSpecification) SetTimeoutInSeconds(v int64) *StillWaitingResponseSpecification {
18013	s.TimeoutInSeconds = &v
18014	return s
18015}
18016
18017type TagResourceInput struct {
18018	_ struct{} `type:"structure"`
18019
18020	// The Amazon Resource Name (ARN) of the bot, bot alias, or bot channel to tag.
18021	//
18022	// ResourceARN is a required field
18023	ResourceARN *string `location:"uri" locationName:"resourceARN" min:"1" type:"string" required:"true"`
18024
18025	// A list of tag keys to add to the resource. If a tag key already exists, the
18026	// existing value is replaced with the new value.
18027	//
18028	// Tags is a required field
18029	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
18030}
18031
18032// String returns the string representation
18033func (s TagResourceInput) String() string {
18034	return awsutil.Prettify(s)
18035}
18036
18037// GoString returns the string representation
18038func (s TagResourceInput) GoString() string {
18039	return s.String()
18040}
18041
18042// Validate inspects the fields of the type to determine if they are valid.
18043func (s *TagResourceInput) Validate() error {
18044	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
18045	if s.ResourceARN == nil {
18046		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
18047	}
18048	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
18049		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
18050	}
18051	if s.Tags == nil {
18052		invalidParams.Add(request.NewErrParamRequired("Tags"))
18053	}
18054
18055	if invalidParams.Len() > 0 {
18056		return invalidParams
18057	}
18058	return nil
18059}
18060
18061// SetResourceARN sets the ResourceARN field's value.
18062func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
18063	s.ResourceARN = &v
18064	return s
18065}
18066
18067// SetTags sets the Tags field's value.
18068func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
18069	s.Tags = v
18070	return s
18071}
18072
18073type TagResourceOutput struct {
18074	_ struct{} `type:"structure"`
18075}
18076
18077// String returns the string representation
18078func (s TagResourceOutput) String() string {
18079	return awsutil.Prettify(s)
18080}
18081
18082// GoString returns the string representation
18083func (s TagResourceOutput) GoString() string {
18084	return s.String()
18085}
18086
18087// Defines the Amazon CloudWatch Logs destination log group for conversation
18088// text logs.
18089type TextLogDestination struct {
18090	_ struct{} `type:"structure"`
18091
18092	// Defines the Amazon CloudWatch Logs log group where text and metadata logs
18093	// are delivered.
18094	//
18095	// CloudWatch is a required field
18096	CloudWatch *CloudWatchLogGroupLogDestination `locationName:"cloudWatch" type:"structure" required:"true"`
18097}
18098
18099// String returns the string representation
18100func (s TextLogDestination) String() string {
18101	return awsutil.Prettify(s)
18102}
18103
18104// GoString returns the string representation
18105func (s TextLogDestination) GoString() string {
18106	return s.String()
18107}
18108
18109// Validate inspects the fields of the type to determine if they are valid.
18110func (s *TextLogDestination) Validate() error {
18111	invalidParams := request.ErrInvalidParams{Context: "TextLogDestination"}
18112	if s.CloudWatch == nil {
18113		invalidParams.Add(request.NewErrParamRequired("CloudWatch"))
18114	}
18115	if s.CloudWatch != nil {
18116		if err := s.CloudWatch.Validate(); err != nil {
18117			invalidParams.AddNested("CloudWatch", err.(request.ErrInvalidParams))
18118		}
18119	}
18120
18121	if invalidParams.Len() > 0 {
18122		return invalidParams
18123	}
18124	return nil
18125}
18126
18127// SetCloudWatch sets the CloudWatch field's value.
18128func (s *TextLogDestination) SetCloudWatch(v *CloudWatchLogGroupLogDestination) *TextLogDestination {
18129	s.CloudWatch = v
18130	return s
18131}
18132
18133// Defines settings to enable text conversation logs.
18134type TextLogSetting struct {
18135	_ struct{} `type:"structure"`
18136
18137	// Defines the Amazon CloudWatch Logs destination log group for conversation
18138	// text logs.
18139	//
18140	// Destination is a required field
18141	Destination *TextLogDestination `locationName:"destination" type:"structure" required:"true"`
18142
18143	// Determines whether conversation logs should be stored for an alias.
18144	//
18145	// Enabled is a required field
18146	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
18147}
18148
18149// String returns the string representation
18150func (s TextLogSetting) String() string {
18151	return awsutil.Prettify(s)
18152}
18153
18154// GoString returns the string representation
18155func (s TextLogSetting) GoString() string {
18156	return s.String()
18157}
18158
18159// Validate inspects the fields of the type to determine if they are valid.
18160func (s *TextLogSetting) Validate() error {
18161	invalidParams := request.ErrInvalidParams{Context: "TextLogSetting"}
18162	if s.Destination == nil {
18163		invalidParams.Add(request.NewErrParamRequired("Destination"))
18164	}
18165	if s.Enabled == nil {
18166		invalidParams.Add(request.NewErrParamRequired("Enabled"))
18167	}
18168	if s.Destination != nil {
18169		if err := s.Destination.Validate(); err != nil {
18170			invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
18171		}
18172	}
18173
18174	if invalidParams.Len() > 0 {
18175		return invalidParams
18176	}
18177	return nil
18178}
18179
18180// SetDestination sets the Destination field's value.
18181func (s *TextLogSetting) SetDestination(v *TextLogDestination) *TextLogSetting {
18182	s.Destination = v
18183	return s
18184}
18185
18186// SetEnabled sets the Enabled field's value.
18187func (s *TextLogSetting) SetEnabled(v bool) *TextLogSetting {
18188	s.Enabled = &v
18189	return s
18190}
18191
18192type ThrottlingException struct {
18193	_            struct{}                  `type:"structure"`
18194	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18195
18196	Message_ *string `locationName:"message" type:"string"`
18197
18198	RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"`
18199}
18200
18201// String returns the string representation
18202func (s ThrottlingException) String() string {
18203	return awsutil.Prettify(s)
18204}
18205
18206// GoString returns the string representation
18207func (s ThrottlingException) GoString() string {
18208	return s.String()
18209}
18210
18211func newErrorThrottlingException(v protocol.ResponseMetadata) error {
18212	return &ThrottlingException{
18213		RespMetadata: v,
18214	}
18215}
18216
18217// Code returns the exception type name.
18218func (s *ThrottlingException) Code() string {
18219	return "ThrottlingException"
18220}
18221
18222// Message returns the exception's message.
18223func (s *ThrottlingException) Message() string {
18224	if s.Message_ != nil {
18225		return *s.Message_
18226	}
18227	return ""
18228}
18229
18230// OrigErr always returns nil, satisfies awserr.Error interface.
18231func (s *ThrottlingException) OrigErr() error {
18232	return nil
18233}
18234
18235func (s *ThrottlingException) Error() string {
18236	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
18237}
18238
18239// Status code returns the HTTP status code for the request's response error.
18240func (s *ThrottlingException) StatusCode() int {
18241	return s.RespMetadata.StatusCode
18242}
18243
18244// RequestID returns the service's response RequestID for request.
18245func (s *ThrottlingException) RequestID() string {
18246	return s.RespMetadata.RequestID
18247}
18248
18249type UntagResourceInput struct {
18250	_ struct{} `type:"structure"`
18251
18252	// The Amazon Resource Name (ARN) of the resource to remove the tags from.
18253	//
18254	// ResourceARN is a required field
18255	ResourceARN *string `location:"uri" locationName:"resourceARN" min:"1" type:"string" required:"true"`
18256
18257	// A list of tag keys to remove from the resource. If a tag key does not exist
18258	// on the resource, it is ignored.
18259	//
18260	// TagKeys is a required field
18261	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
18262}
18263
18264// String returns the string representation
18265func (s UntagResourceInput) String() string {
18266	return awsutil.Prettify(s)
18267}
18268
18269// GoString returns the string representation
18270func (s UntagResourceInput) GoString() string {
18271	return s.String()
18272}
18273
18274// Validate inspects the fields of the type to determine if they are valid.
18275func (s *UntagResourceInput) Validate() error {
18276	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
18277	if s.ResourceARN == nil {
18278		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
18279	}
18280	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
18281		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
18282	}
18283	if s.TagKeys == nil {
18284		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
18285	}
18286
18287	if invalidParams.Len() > 0 {
18288		return invalidParams
18289	}
18290	return nil
18291}
18292
18293// SetResourceARN sets the ResourceARN field's value.
18294func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
18295	s.ResourceARN = &v
18296	return s
18297}
18298
18299// SetTagKeys sets the TagKeys field's value.
18300func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
18301	s.TagKeys = v
18302	return s
18303}
18304
18305type UntagResourceOutput struct {
18306	_ struct{} `type:"structure"`
18307}
18308
18309// String returns the string representation
18310func (s UntagResourceOutput) String() string {
18311	return awsutil.Prettify(s)
18312}
18313
18314// GoString returns the string representation
18315func (s UntagResourceOutput) GoString() string {
18316	return s.String()
18317}
18318
18319type UpdateBotAliasInput struct {
18320	_ struct{} `type:"structure"`
18321
18322	// The unique identifier of the bot alias.
18323	//
18324	// BotAliasId is a required field
18325	BotAliasId *string `location:"uri" locationName:"botAliasId" min:"10" type:"string" required:"true"`
18326
18327	// The new Lambda functions to use in each locale for the bot alias.
18328	BotAliasLocaleSettings map[string]*BotAliasLocaleSettings `locationName:"botAliasLocaleSettings" min:"1" type:"map"`
18329
18330	// The new name to assign to the bot alias.
18331	//
18332	// BotAliasName is a required field
18333	BotAliasName *string `locationName:"botAliasName" min:"1" type:"string" required:"true"`
18334
18335	// The identifier of the bot with the updated alias.
18336	//
18337	// BotId is a required field
18338	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
18339
18340	// The new bot version to assign to the bot alias.
18341	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
18342
18343	// The new settings for storing conversation logs in Amazon CloudWatch Logs
18344	// and Amazon S3 buckets.
18345	ConversationLogSettings *ConversationLogSettings `locationName:"conversationLogSettings" type:"structure"`
18346
18347	// The new description to assign to the bot alias.
18348	Description *string `locationName:"description" type:"string"`
18349
18350	// Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment
18351	// of user utterances.
18352	SentimentAnalysisSettings *SentimentAnalysisSettings `locationName:"sentimentAnalysisSettings" type:"structure"`
18353}
18354
18355// String returns the string representation
18356func (s UpdateBotAliasInput) String() string {
18357	return awsutil.Prettify(s)
18358}
18359
18360// GoString returns the string representation
18361func (s UpdateBotAliasInput) GoString() string {
18362	return s.String()
18363}
18364
18365// Validate inspects the fields of the type to determine if they are valid.
18366func (s *UpdateBotAliasInput) Validate() error {
18367	invalidParams := request.ErrInvalidParams{Context: "UpdateBotAliasInput"}
18368	if s.BotAliasId == nil {
18369		invalidParams.Add(request.NewErrParamRequired("BotAliasId"))
18370	}
18371	if s.BotAliasId != nil && len(*s.BotAliasId) < 10 {
18372		invalidParams.Add(request.NewErrParamMinLen("BotAliasId", 10))
18373	}
18374	if s.BotAliasLocaleSettings != nil && len(s.BotAliasLocaleSettings) < 1 {
18375		invalidParams.Add(request.NewErrParamMinLen("BotAliasLocaleSettings", 1))
18376	}
18377	if s.BotAliasName == nil {
18378		invalidParams.Add(request.NewErrParamRequired("BotAliasName"))
18379	}
18380	if s.BotAliasName != nil && len(*s.BotAliasName) < 1 {
18381		invalidParams.Add(request.NewErrParamMinLen("BotAliasName", 1))
18382	}
18383	if s.BotId == nil {
18384		invalidParams.Add(request.NewErrParamRequired("BotId"))
18385	}
18386	if s.BotId != nil && len(*s.BotId) < 10 {
18387		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
18388	}
18389	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
18390		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
18391	}
18392	if s.BotAliasLocaleSettings != nil {
18393		for i, v := range s.BotAliasLocaleSettings {
18394			if v == nil {
18395				continue
18396			}
18397			if err := v.Validate(); err != nil {
18398				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BotAliasLocaleSettings", i), err.(request.ErrInvalidParams))
18399			}
18400		}
18401	}
18402	if s.ConversationLogSettings != nil {
18403		if err := s.ConversationLogSettings.Validate(); err != nil {
18404			invalidParams.AddNested("ConversationLogSettings", err.(request.ErrInvalidParams))
18405		}
18406	}
18407	if s.SentimentAnalysisSettings != nil {
18408		if err := s.SentimentAnalysisSettings.Validate(); err != nil {
18409			invalidParams.AddNested("SentimentAnalysisSettings", err.(request.ErrInvalidParams))
18410		}
18411	}
18412
18413	if invalidParams.Len() > 0 {
18414		return invalidParams
18415	}
18416	return nil
18417}
18418
18419// SetBotAliasId sets the BotAliasId field's value.
18420func (s *UpdateBotAliasInput) SetBotAliasId(v string) *UpdateBotAliasInput {
18421	s.BotAliasId = &v
18422	return s
18423}
18424
18425// SetBotAliasLocaleSettings sets the BotAliasLocaleSettings field's value.
18426func (s *UpdateBotAliasInput) SetBotAliasLocaleSettings(v map[string]*BotAliasLocaleSettings) *UpdateBotAliasInput {
18427	s.BotAliasLocaleSettings = v
18428	return s
18429}
18430
18431// SetBotAliasName sets the BotAliasName field's value.
18432func (s *UpdateBotAliasInput) SetBotAliasName(v string) *UpdateBotAliasInput {
18433	s.BotAliasName = &v
18434	return s
18435}
18436
18437// SetBotId sets the BotId field's value.
18438func (s *UpdateBotAliasInput) SetBotId(v string) *UpdateBotAliasInput {
18439	s.BotId = &v
18440	return s
18441}
18442
18443// SetBotVersion sets the BotVersion field's value.
18444func (s *UpdateBotAliasInput) SetBotVersion(v string) *UpdateBotAliasInput {
18445	s.BotVersion = &v
18446	return s
18447}
18448
18449// SetConversationLogSettings sets the ConversationLogSettings field's value.
18450func (s *UpdateBotAliasInput) SetConversationLogSettings(v *ConversationLogSettings) *UpdateBotAliasInput {
18451	s.ConversationLogSettings = v
18452	return s
18453}
18454
18455// SetDescription sets the Description field's value.
18456func (s *UpdateBotAliasInput) SetDescription(v string) *UpdateBotAliasInput {
18457	s.Description = &v
18458	return s
18459}
18460
18461// SetSentimentAnalysisSettings sets the SentimentAnalysisSettings field's value.
18462func (s *UpdateBotAliasInput) SetSentimentAnalysisSettings(v *SentimentAnalysisSettings) *UpdateBotAliasInput {
18463	s.SentimentAnalysisSettings = v
18464	return s
18465}
18466
18467type UpdateBotAliasOutput struct {
18468	_ struct{} `type:"structure"`
18469
18470	// The identifier of the updated bot alias.
18471	BotAliasId *string `locationName:"botAliasId" min:"10" type:"string"`
18472
18473	// The updated Lambda functions to use in each locale for the bot alias.
18474	BotAliasLocaleSettings map[string]*BotAliasLocaleSettings `locationName:"botAliasLocaleSettings" min:"1" type:"map"`
18475
18476	// The updated name of the bot alias.
18477	BotAliasName *string `locationName:"botAliasName" min:"1" type:"string"`
18478
18479	// The current status of the bot alias. When the status is Available the alias
18480	// is ready for use.
18481	BotAliasStatus *string `locationName:"botAliasStatus" type:"string" enum:"BotAliasStatus"`
18482
18483	// The identifier of the bot with the updated alias.
18484	BotId *string `locationName:"botId" min:"10" type:"string"`
18485
18486	// The updated version of the bot that the alias points to.
18487	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
18488
18489	// The updated settings for storing conversation logs in Amazon CloudWatch Logs
18490	// and Amazon S3 buckets.
18491	ConversationLogSettings *ConversationLogSettings `locationName:"conversationLogSettings" type:"structure"`
18492
18493	// A timestamp of the date and time that the bot was created.
18494	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
18495
18496	// The updated description of the bot alias.
18497	Description *string `locationName:"description" type:"string"`
18498
18499	// A timestamp of the date and time that the bot was last updated.
18500	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
18501
18502	// Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment
18503	// of user utterances.
18504	SentimentAnalysisSettings *SentimentAnalysisSettings `locationName:"sentimentAnalysisSettings" type:"structure"`
18505}
18506
18507// String returns the string representation
18508func (s UpdateBotAliasOutput) String() string {
18509	return awsutil.Prettify(s)
18510}
18511
18512// GoString returns the string representation
18513func (s UpdateBotAliasOutput) GoString() string {
18514	return s.String()
18515}
18516
18517// SetBotAliasId sets the BotAliasId field's value.
18518func (s *UpdateBotAliasOutput) SetBotAliasId(v string) *UpdateBotAliasOutput {
18519	s.BotAliasId = &v
18520	return s
18521}
18522
18523// SetBotAliasLocaleSettings sets the BotAliasLocaleSettings field's value.
18524func (s *UpdateBotAliasOutput) SetBotAliasLocaleSettings(v map[string]*BotAliasLocaleSettings) *UpdateBotAliasOutput {
18525	s.BotAliasLocaleSettings = v
18526	return s
18527}
18528
18529// SetBotAliasName sets the BotAliasName field's value.
18530func (s *UpdateBotAliasOutput) SetBotAliasName(v string) *UpdateBotAliasOutput {
18531	s.BotAliasName = &v
18532	return s
18533}
18534
18535// SetBotAliasStatus sets the BotAliasStatus field's value.
18536func (s *UpdateBotAliasOutput) SetBotAliasStatus(v string) *UpdateBotAliasOutput {
18537	s.BotAliasStatus = &v
18538	return s
18539}
18540
18541// SetBotId sets the BotId field's value.
18542func (s *UpdateBotAliasOutput) SetBotId(v string) *UpdateBotAliasOutput {
18543	s.BotId = &v
18544	return s
18545}
18546
18547// SetBotVersion sets the BotVersion field's value.
18548func (s *UpdateBotAliasOutput) SetBotVersion(v string) *UpdateBotAliasOutput {
18549	s.BotVersion = &v
18550	return s
18551}
18552
18553// SetConversationLogSettings sets the ConversationLogSettings field's value.
18554func (s *UpdateBotAliasOutput) SetConversationLogSettings(v *ConversationLogSettings) *UpdateBotAliasOutput {
18555	s.ConversationLogSettings = v
18556	return s
18557}
18558
18559// SetCreationDateTime sets the CreationDateTime field's value.
18560func (s *UpdateBotAliasOutput) SetCreationDateTime(v time.Time) *UpdateBotAliasOutput {
18561	s.CreationDateTime = &v
18562	return s
18563}
18564
18565// SetDescription sets the Description field's value.
18566func (s *UpdateBotAliasOutput) SetDescription(v string) *UpdateBotAliasOutput {
18567	s.Description = &v
18568	return s
18569}
18570
18571// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
18572func (s *UpdateBotAliasOutput) SetLastUpdatedDateTime(v time.Time) *UpdateBotAliasOutput {
18573	s.LastUpdatedDateTime = &v
18574	return s
18575}
18576
18577// SetSentimentAnalysisSettings sets the SentimentAnalysisSettings field's value.
18578func (s *UpdateBotAliasOutput) SetSentimentAnalysisSettings(v *SentimentAnalysisSettings) *UpdateBotAliasOutput {
18579	s.SentimentAnalysisSettings = v
18580	return s
18581}
18582
18583type UpdateBotInput struct {
18584	_ struct{} `type:"structure"`
18585
18586	// The unique identifier of the bot to update. This identifier is returned by
18587	// the CreateBot operation.
18588	//
18589	// BotId is a required field
18590	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
18591
18592	// The new name of the bot. The name must be unique in the account that creates
18593	// the bot.
18594	//
18595	// BotName is a required field
18596	BotName *string `locationName:"botName" min:"1" type:"string" required:"true"`
18597
18598	// Provides information on additional privacy protections Amazon Lex should
18599	// use with the bot's data.
18600	//
18601	// DataPrivacy is a required field
18602	DataPrivacy *DataPrivacy `locationName:"dataPrivacy" type:"structure" required:"true"`
18603
18604	// A description of the bot.
18605	Description *string `locationName:"description" type:"string"`
18606
18607	// The time, in seconds, that Amazon Lex should keep information about a user's
18608	// conversation with the bot.
18609	//
18610	// A user interaction remains active for the amount of time specified. If no
18611	// conversation occurs during this time, the session expires and Amazon Lex
18612	// deletes any data provided before the timeout.
18613	//
18614	// You can specify between 60 (1 minute) and 86,400 (24 hours) seconds.
18615	//
18616	// IdleSessionTTLInSeconds is a required field
18617	IdleSessionTTLInSeconds *int64 `locationName:"idleSessionTTLInSeconds" min:"60" type:"integer" required:"true"`
18618
18619	// The Amazon Resource Name (ARN) of an IAM role that has permissions to access
18620	// the bot.
18621	//
18622	// RoleArn is a required field
18623	RoleArn *string `locationName:"roleArn" min:"32" type:"string" required:"true"`
18624}
18625
18626// String returns the string representation
18627func (s UpdateBotInput) String() string {
18628	return awsutil.Prettify(s)
18629}
18630
18631// GoString returns the string representation
18632func (s UpdateBotInput) GoString() string {
18633	return s.String()
18634}
18635
18636// Validate inspects the fields of the type to determine if they are valid.
18637func (s *UpdateBotInput) Validate() error {
18638	invalidParams := request.ErrInvalidParams{Context: "UpdateBotInput"}
18639	if s.BotId == nil {
18640		invalidParams.Add(request.NewErrParamRequired("BotId"))
18641	}
18642	if s.BotId != nil && len(*s.BotId) < 10 {
18643		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
18644	}
18645	if s.BotName == nil {
18646		invalidParams.Add(request.NewErrParamRequired("BotName"))
18647	}
18648	if s.BotName != nil && len(*s.BotName) < 1 {
18649		invalidParams.Add(request.NewErrParamMinLen("BotName", 1))
18650	}
18651	if s.DataPrivacy == nil {
18652		invalidParams.Add(request.NewErrParamRequired("DataPrivacy"))
18653	}
18654	if s.IdleSessionTTLInSeconds == nil {
18655		invalidParams.Add(request.NewErrParamRequired("IdleSessionTTLInSeconds"))
18656	}
18657	if s.IdleSessionTTLInSeconds != nil && *s.IdleSessionTTLInSeconds < 60 {
18658		invalidParams.Add(request.NewErrParamMinValue("IdleSessionTTLInSeconds", 60))
18659	}
18660	if s.RoleArn == nil {
18661		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
18662	}
18663	if s.RoleArn != nil && len(*s.RoleArn) < 32 {
18664		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 32))
18665	}
18666	if s.DataPrivacy != nil {
18667		if err := s.DataPrivacy.Validate(); err != nil {
18668			invalidParams.AddNested("DataPrivacy", err.(request.ErrInvalidParams))
18669		}
18670	}
18671
18672	if invalidParams.Len() > 0 {
18673		return invalidParams
18674	}
18675	return nil
18676}
18677
18678// SetBotId sets the BotId field's value.
18679func (s *UpdateBotInput) SetBotId(v string) *UpdateBotInput {
18680	s.BotId = &v
18681	return s
18682}
18683
18684// SetBotName sets the BotName field's value.
18685func (s *UpdateBotInput) SetBotName(v string) *UpdateBotInput {
18686	s.BotName = &v
18687	return s
18688}
18689
18690// SetDataPrivacy sets the DataPrivacy field's value.
18691func (s *UpdateBotInput) SetDataPrivacy(v *DataPrivacy) *UpdateBotInput {
18692	s.DataPrivacy = v
18693	return s
18694}
18695
18696// SetDescription sets the Description field's value.
18697func (s *UpdateBotInput) SetDescription(v string) *UpdateBotInput {
18698	s.Description = &v
18699	return s
18700}
18701
18702// SetIdleSessionTTLInSeconds sets the IdleSessionTTLInSeconds field's value.
18703func (s *UpdateBotInput) SetIdleSessionTTLInSeconds(v int64) *UpdateBotInput {
18704	s.IdleSessionTTLInSeconds = &v
18705	return s
18706}
18707
18708// SetRoleArn sets the RoleArn field's value.
18709func (s *UpdateBotInput) SetRoleArn(v string) *UpdateBotInput {
18710	s.RoleArn = &v
18711	return s
18712}
18713
18714type UpdateBotLocaleInput struct {
18715	_ struct{} `type:"structure"`
18716
18717	// The unique identifier of the bot that contains the locale.
18718	//
18719	// BotId is a required field
18720	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
18721
18722	// The version of the bot that contains the locale to be updated. The version
18723	// can only be the DRAFT version.
18724	//
18725	// BotVersion is a required field
18726	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
18727
18728	// The new description of the locale.
18729	Description *string `locationName:"description" type:"string"`
18730
18731	// The identifier of the language and locale to update. The string must match
18732	// one of the supported locales. For more information, see Supported languages
18733	// (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
18734	//
18735	// LocaleId is a required field
18736	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
18737
18738	// The new confidence threshold where Amazon Lex inserts the AMAZON.FallbackIntent
18739	// and AMAZON.KendraSearchIntent intents in the list of possible intents for
18740	// an utterance.
18741	//
18742	// NluIntentConfidenceThreshold is a required field
18743	NluIntentConfidenceThreshold *float64 `locationName:"nluIntentConfidenceThreshold" type:"double" required:"true"`
18744
18745	// The new Amazon Polly voice Amazon Lex should use for voice interaction with
18746	// the user.
18747	VoiceSettings *VoiceSettings `locationName:"voiceSettings" type:"structure"`
18748}
18749
18750// String returns the string representation
18751func (s UpdateBotLocaleInput) String() string {
18752	return awsutil.Prettify(s)
18753}
18754
18755// GoString returns the string representation
18756func (s UpdateBotLocaleInput) GoString() string {
18757	return s.String()
18758}
18759
18760// Validate inspects the fields of the type to determine if they are valid.
18761func (s *UpdateBotLocaleInput) Validate() error {
18762	invalidParams := request.ErrInvalidParams{Context: "UpdateBotLocaleInput"}
18763	if s.BotId == nil {
18764		invalidParams.Add(request.NewErrParamRequired("BotId"))
18765	}
18766	if s.BotId != nil && len(*s.BotId) < 10 {
18767		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
18768	}
18769	if s.BotVersion == nil {
18770		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
18771	}
18772	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
18773		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
18774	}
18775	if s.LocaleId == nil {
18776		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
18777	}
18778	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
18779		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
18780	}
18781	if s.NluIntentConfidenceThreshold == nil {
18782		invalidParams.Add(request.NewErrParamRequired("NluIntentConfidenceThreshold"))
18783	}
18784	if s.VoiceSettings != nil {
18785		if err := s.VoiceSettings.Validate(); err != nil {
18786			invalidParams.AddNested("VoiceSettings", err.(request.ErrInvalidParams))
18787		}
18788	}
18789
18790	if invalidParams.Len() > 0 {
18791		return invalidParams
18792	}
18793	return nil
18794}
18795
18796// SetBotId sets the BotId field's value.
18797func (s *UpdateBotLocaleInput) SetBotId(v string) *UpdateBotLocaleInput {
18798	s.BotId = &v
18799	return s
18800}
18801
18802// SetBotVersion sets the BotVersion field's value.
18803func (s *UpdateBotLocaleInput) SetBotVersion(v string) *UpdateBotLocaleInput {
18804	s.BotVersion = &v
18805	return s
18806}
18807
18808// SetDescription sets the Description field's value.
18809func (s *UpdateBotLocaleInput) SetDescription(v string) *UpdateBotLocaleInput {
18810	s.Description = &v
18811	return s
18812}
18813
18814// SetLocaleId sets the LocaleId field's value.
18815func (s *UpdateBotLocaleInput) SetLocaleId(v string) *UpdateBotLocaleInput {
18816	s.LocaleId = &v
18817	return s
18818}
18819
18820// SetNluIntentConfidenceThreshold sets the NluIntentConfidenceThreshold field's value.
18821func (s *UpdateBotLocaleInput) SetNluIntentConfidenceThreshold(v float64) *UpdateBotLocaleInput {
18822	s.NluIntentConfidenceThreshold = &v
18823	return s
18824}
18825
18826// SetVoiceSettings sets the VoiceSettings field's value.
18827func (s *UpdateBotLocaleInput) SetVoiceSettings(v *VoiceSettings) *UpdateBotLocaleInput {
18828	s.VoiceSettings = v
18829	return s
18830}
18831
18832type UpdateBotLocaleOutput struct {
18833	_ struct{} `type:"structure"`
18834
18835	// The identifier of the bot that contains the updated locale.
18836	BotId *string `locationName:"botId" min:"10" type:"string"`
18837
18838	// The current status of the locale. When the bot status is Built the locale
18839	// is ready for use.
18840	BotLocaleStatus *string `locationName:"botLocaleStatus" type:"string" enum:"BotLocaleStatus"`
18841
18842	// The version of the bot that contains the updated locale.
18843	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
18844
18845	// A timestamp of the date and time that the locale was created.
18846	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
18847
18848	// The updated description of the locale.
18849	Description *string `locationName:"description" type:"string"`
18850
18851	// If the botLocaleStatus is Failed, the failureReasons field lists the errors
18852	// that occurred while building the bot.
18853	FailureReasons []*string `locationName:"failureReasons" type:"list"`
18854
18855	// A timestamp of the date and time that the locale was last updated.
18856	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
18857
18858	// The language and locale of the updated bot locale.
18859	LocaleId *string `locationName:"localeId" type:"string"`
18860
18861	// The updated locale name for the locale.
18862	LocaleName *string `locationName:"localeName" type:"string"`
18863
18864	// The updated confidence threshold for inserting the AMAZON.FallbackIntent
18865	// and AMAZON.KendraSearchIntent intents in the list of possible intents for
18866	// an utterance.
18867	NluIntentConfidenceThreshold *float64 `locationName:"nluIntentConfidenceThreshold" type:"double"`
18868
18869	// The updated Amazon Polly voice to use for voice interaction with the user.
18870	VoiceSettings *VoiceSettings `locationName:"voiceSettings" type:"structure"`
18871}
18872
18873// String returns the string representation
18874func (s UpdateBotLocaleOutput) String() string {
18875	return awsutil.Prettify(s)
18876}
18877
18878// GoString returns the string representation
18879func (s UpdateBotLocaleOutput) GoString() string {
18880	return s.String()
18881}
18882
18883// SetBotId sets the BotId field's value.
18884func (s *UpdateBotLocaleOutput) SetBotId(v string) *UpdateBotLocaleOutput {
18885	s.BotId = &v
18886	return s
18887}
18888
18889// SetBotLocaleStatus sets the BotLocaleStatus field's value.
18890func (s *UpdateBotLocaleOutput) SetBotLocaleStatus(v string) *UpdateBotLocaleOutput {
18891	s.BotLocaleStatus = &v
18892	return s
18893}
18894
18895// SetBotVersion sets the BotVersion field's value.
18896func (s *UpdateBotLocaleOutput) SetBotVersion(v string) *UpdateBotLocaleOutput {
18897	s.BotVersion = &v
18898	return s
18899}
18900
18901// SetCreationDateTime sets the CreationDateTime field's value.
18902func (s *UpdateBotLocaleOutput) SetCreationDateTime(v time.Time) *UpdateBotLocaleOutput {
18903	s.CreationDateTime = &v
18904	return s
18905}
18906
18907// SetDescription sets the Description field's value.
18908func (s *UpdateBotLocaleOutput) SetDescription(v string) *UpdateBotLocaleOutput {
18909	s.Description = &v
18910	return s
18911}
18912
18913// SetFailureReasons sets the FailureReasons field's value.
18914func (s *UpdateBotLocaleOutput) SetFailureReasons(v []*string) *UpdateBotLocaleOutput {
18915	s.FailureReasons = v
18916	return s
18917}
18918
18919// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
18920func (s *UpdateBotLocaleOutput) SetLastUpdatedDateTime(v time.Time) *UpdateBotLocaleOutput {
18921	s.LastUpdatedDateTime = &v
18922	return s
18923}
18924
18925// SetLocaleId sets the LocaleId field's value.
18926func (s *UpdateBotLocaleOutput) SetLocaleId(v string) *UpdateBotLocaleOutput {
18927	s.LocaleId = &v
18928	return s
18929}
18930
18931// SetLocaleName sets the LocaleName field's value.
18932func (s *UpdateBotLocaleOutput) SetLocaleName(v string) *UpdateBotLocaleOutput {
18933	s.LocaleName = &v
18934	return s
18935}
18936
18937// SetNluIntentConfidenceThreshold sets the NluIntentConfidenceThreshold field's value.
18938func (s *UpdateBotLocaleOutput) SetNluIntentConfidenceThreshold(v float64) *UpdateBotLocaleOutput {
18939	s.NluIntentConfidenceThreshold = &v
18940	return s
18941}
18942
18943// SetVoiceSettings sets the VoiceSettings field's value.
18944func (s *UpdateBotLocaleOutput) SetVoiceSettings(v *VoiceSettings) *UpdateBotLocaleOutput {
18945	s.VoiceSettings = v
18946	return s
18947}
18948
18949type UpdateBotOutput struct {
18950	_ struct{} `type:"structure"`
18951
18952	// The unique identifier of the bot that was updated.
18953	BotId *string `locationName:"botId" min:"10" type:"string"`
18954
18955	// The name of the bot after the update.
18956	BotName *string `locationName:"botName" min:"1" type:"string"`
18957
18958	// Shows the current status of the bot. The bot is first in the Creating status.
18959	// Once the bot is read for use, it changes to the Available status. After the
18960	// bot is created, you can use the DRAFT version of the bot.
18961	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
18962
18963	// A timestamp of the date and time that the bot was created.
18964	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
18965
18966	// The data privacy settings for the bot after the update.
18967	DataPrivacy *DataPrivacy `locationName:"dataPrivacy" type:"structure"`
18968
18969	// The description of the bot after the update.
18970	Description *string `locationName:"description" type:"string"`
18971
18972	// The session timeout, in seconds, for the bot after the update.
18973	IdleSessionTTLInSeconds *int64 `locationName:"idleSessionTTLInSeconds" min:"60" type:"integer"`
18974
18975	// A timestamp of the date and time that the bot was last updated.
18976	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
18977
18978	// The Amazon Resource Name (ARN) of the IAM role used by the bot after the
18979	// update.
18980	RoleArn *string `locationName:"roleArn" min:"32" type:"string"`
18981}
18982
18983// String returns the string representation
18984func (s UpdateBotOutput) String() string {
18985	return awsutil.Prettify(s)
18986}
18987
18988// GoString returns the string representation
18989func (s UpdateBotOutput) GoString() string {
18990	return s.String()
18991}
18992
18993// SetBotId sets the BotId field's value.
18994func (s *UpdateBotOutput) SetBotId(v string) *UpdateBotOutput {
18995	s.BotId = &v
18996	return s
18997}
18998
18999// SetBotName sets the BotName field's value.
19000func (s *UpdateBotOutput) SetBotName(v string) *UpdateBotOutput {
19001	s.BotName = &v
19002	return s
19003}
19004
19005// SetBotStatus sets the BotStatus field's value.
19006func (s *UpdateBotOutput) SetBotStatus(v string) *UpdateBotOutput {
19007	s.BotStatus = &v
19008	return s
19009}
19010
19011// SetCreationDateTime sets the CreationDateTime field's value.
19012func (s *UpdateBotOutput) SetCreationDateTime(v time.Time) *UpdateBotOutput {
19013	s.CreationDateTime = &v
19014	return s
19015}
19016
19017// SetDataPrivacy sets the DataPrivacy field's value.
19018func (s *UpdateBotOutput) SetDataPrivacy(v *DataPrivacy) *UpdateBotOutput {
19019	s.DataPrivacy = v
19020	return s
19021}
19022
19023// SetDescription sets the Description field's value.
19024func (s *UpdateBotOutput) SetDescription(v string) *UpdateBotOutput {
19025	s.Description = &v
19026	return s
19027}
19028
19029// SetIdleSessionTTLInSeconds sets the IdleSessionTTLInSeconds field's value.
19030func (s *UpdateBotOutput) SetIdleSessionTTLInSeconds(v int64) *UpdateBotOutput {
19031	s.IdleSessionTTLInSeconds = &v
19032	return s
19033}
19034
19035// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
19036func (s *UpdateBotOutput) SetLastUpdatedDateTime(v time.Time) *UpdateBotOutput {
19037	s.LastUpdatedDateTime = &v
19038	return s
19039}
19040
19041// SetRoleArn sets the RoleArn field's value.
19042func (s *UpdateBotOutput) SetRoleArn(v string) *UpdateBotOutput {
19043	s.RoleArn = &v
19044	return s
19045}
19046
19047type UpdateExportInput struct {
19048	_ struct{} `type:"structure"`
19049
19050	// The unique identifier Amazon Lex assigned to the export.
19051	//
19052	// ExportId is a required field
19053	ExportId *string `location:"uri" locationName:"exportId" min:"10" type:"string" required:"true"`
19054
19055	// The new password to use to encrypt the export zip archive.
19056	FilePassword *string `locationName:"filePassword" min:"1" type:"string" sensitive:"true"`
19057}
19058
19059// String returns the string representation
19060func (s UpdateExportInput) String() string {
19061	return awsutil.Prettify(s)
19062}
19063
19064// GoString returns the string representation
19065func (s UpdateExportInput) GoString() string {
19066	return s.String()
19067}
19068
19069// Validate inspects the fields of the type to determine if they are valid.
19070func (s *UpdateExportInput) Validate() error {
19071	invalidParams := request.ErrInvalidParams{Context: "UpdateExportInput"}
19072	if s.ExportId == nil {
19073		invalidParams.Add(request.NewErrParamRequired("ExportId"))
19074	}
19075	if s.ExportId != nil && len(*s.ExportId) < 10 {
19076		invalidParams.Add(request.NewErrParamMinLen("ExportId", 10))
19077	}
19078	if s.FilePassword != nil && len(*s.FilePassword) < 1 {
19079		invalidParams.Add(request.NewErrParamMinLen("FilePassword", 1))
19080	}
19081
19082	if invalidParams.Len() > 0 {
19083		return invalidParams
19084	}
19085	return nil
19086}
19087
19088// SetExportId sets the ExportId field's value.
19089func (s *UpdateExportInput) SetExportId(v string) *UpdateExportInput {
19090	s.ExportId = &v
19091	return s
19092}
19093
19094// SetFilePassword sets the FilePassword field's value.
19095func (s *UpdateExportInput) SetFilePassword(v string) *UpdateExportInput {
19096	s.FilePassword = &v
19097	return s
19098}
19099
19100type UpdateExportOutput struct {
19101	_ struct{} `type:"structure"`
19102
19103	// The date and time that the export was created.
19104	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
19105
19106	// The unique identifier Amazon Lex assigned to the export.
19107	ExportId *string `locationName:"exportId" min:"10" type:"string"`
19108
19109	// The status of the export. When the status is Completed the export archive
19110	// is available for download.
19111	ExportStatus *string `locationName:"exportStatus" type:"string" enum:"ExportStatus"`
19112
19113	// The file format used for the files that define the resource.
19114	FileFormat *string `locationName:"fileFormat" type:"string" enum:"ImportExportFileFormat"`
19115
19116	// The date and time that the export was last updated.
19117	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
19118
19119	// A description of the type of resource that was exported, either a bot or
19120	// a bot locale.
19121	ResourceSpecification *ExportResourceSpecification `locationName:"resourceSpecification" type:"structure"`
19122}
19123
19124// String returns the string representation
19125func (s UpdateExportOutput) String() string {
19126	return awsutil.Prettify(s)
19127}
19128
19129// GoString returns the string representation
19130func (s UpdateExportOutput) GoString() string {
19131	return s.String()
19132}
19133
19134// SetCreationDateTime sets the CreationDateTime field's value.
19135func (s *UpdateExportOutput) SetCreationDateTime(v time.Time) *UpdateExportOutput {
19136	s.CreationDateTime = &v
19137	return s
19138}
19139
19140// SetExportId sets the ExportId field's value.
19141func (s *UpdateExportOutput) SetExportId(v string) *UpdateExportOutput {
19142	s.ExportId = &v
19143	return s
19144}
19145
19146// SetExportStatus sets the ExportStatus field's value.
19147func (s *UpdateExportOutput) SetExportStatus(v string) *UpdateExportOutput {
19148	s.ExportStatus = &v
19149	return s
19150}
19151
19152// SetFileFormat sets the FileFormat field's value.
19153func (s *UpdateExportOutput) SetFileFormat(v string) *UpdateExportOutput {
19154	s.FileFormat = &v
19155	return s
19156}
19157
19158// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
19159func (s *UpdateExportOutput) SetLastUpdatedDateTime(v time.Time) *UpdateExportOutput {
19160	s.LastUpdatedDateTime = &v
19161	return s
19162}
19163
19164// SetResourceSpecification sets the ResourceSpecification field's value.
19165func (s *UpdateExportOutput) SetResourceSpecification(v *ExportResourceSpecification) *UpdateExportOutput {
19166	s.ResourceSpecification = v
19167	return s
19168}
19169
19170type UpdateIntentInput struct {
19171	_ struct{} `type:"structure"`
19172
19173	// The identifier of the bot that contains the intent.
19174	//
19175	// BotId is a required field
19176	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
19177
19178	// The version of the bot that contains the intent. Must be DRAFT.
19179	//
19180	// BotVersion is a required field
19181	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
19182
19183	// The new description of the intent.
19184	Description *string `locationName:"description" type:"string"`
19185
19186	// The new Lambda function to use between each turn of the conversation with
19187	// the bot.
19188	DialogCodeHook *DialogCodeHookSettings `locationName:"dialogCodeHook" type:"structure"`
19189
19190	// The new Lambda function to call when all of the intents required slots are
19191	// provided and the intent is ready for fulfillment.
19192	FulfillmentCodeHook *FulfillmentCodeHookSettings `locationName:"fulfillmentCodeHook" type:"structure"`
19193
19194	// A new list of contexts that must be active in order for Amazon Lex to consider
19195	// the intent.
19196	InputContexts []*InputContext `locationName:"inputContexts" type:"list"`
19197
19198	// The new response that Amazon Lex sends the user when the intent is closed.
19199	IntentClosingSetting *IntentClosingSetting `locationName:"intentClosingSetting" type:"structure"`
19200
19201	// New prompts that Amazon Lex sends to the user to confirm the completion of
19202	// an intent.
19203	IntentConfirmationSetting *IntentConfirmationSetting `locationName:"intentConfirmationSetting" type:"structure"`
19204
19205	// The unique identifier of the intent to update.
19206	//
19207	// IntentId is a required field
19208	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
19209
19210	// The new name for the intent.
19211	//
19212	// IntentName is a required field
19213	IntentName *string `locationName:"intentName" min:"1" type:"string" required:"true"`
19214
19215	// New configuration settings for connecting to an Amazon Kendra index.
19216	KendraConfiguration *KendraConfiguration `locationName:"kendraConfiguration" type:"structure"`
19217
19218	// The identifier of the language and locale where this intent is used. The
19219	// string must match one of the supported locales. For more information, see
19220	// Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
19221	//
19222	// LocaleId is a required field
19223	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
19224
19225	// A new list of contexts that Amazon Lex activates when the intent is fulfilled.
19226	OutputContexts []*OutputContext `locationName:"outputContexts" type:"list"`
19227
19228	// The signature of the new built-in intent to use as the parent of this intent.
19229	ParentIntentSignature *string `locationName:"parentIntentSignature" type:"string"`
19230
19231	// New utterances used to invoke the intent.
19232	SampleUtterances []*SampleUtterance `locationName:"sampleUtterances" type:"list"`
19233
19234	// A new list of slots and their priorities that are contained by the intent.
19235	SlotPriorities []*SlotPriority `locationName:"slotPriorities" type:"list"`
19236}
19237
19238// String returns the string representation
19239func (s UpdateIntentInput) String() string {
19240	return awsutil.Prettify(s)
19241}
19242
19243// GoString returns the string representation
19244func (s UpdateIntentInput) GoString() string {
19245	return s.String()
19246}
19247
19248// Validate inspects the fields of the type to determine if they are valid.
19249func (s *UpdateIntentInput) Validate() error {
19250	invalidParams := request.ErrInvalidParams{Context: "UpdateIntentInput"}
19251	if s.BotId == nil {
19252		invalidParams.Add(request.NewErrParamRequired("BotId"))
19253	}
19254	if s.BotId != nil && len(*s.BotId) < 10 {
19255		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
19256	}
19257	if s.BotVersion == nil {
19258		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
19259	}
19260	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
19261		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
19262	}
19263	if s.IntentId == nil {
19264		invalidParams.Add(request.NewErrParamRequired("IntentId"))
19265	}
19266	if s.IntentId != nil && len(*s.IntentId) < 10 {
19267		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
19268	}
19269	if s.IntentName == nil {
19270		invalidParams.Add(request.NewErrParamRequired("IntentName"))
19271	}
19272	if s.IntentName != nil && len(*s.IntentName) < 1 {
19273		invalidParams.Add(request.NewErrParamMinLen("IntentName", 1))
19274	}
19275	if s.LocaleId == nil {
19276		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
19277	}
19278	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
19279		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
19280	}
19281	if s.DialogCodeHook != nil {
19282		if err := s.DialogCodeHook.Validate(); err != nil {
19283			invalidParams.AddNested("DialogCodeHook", err.(request.ErrInvalidParams))
19284		}
19285	}
19286	if s.FulfillmentCodeHook != nil {
19287		if err := s.FulfillmentCodeHook.Validate(); err != nil {
19288			invalidParams.AddNested("FulfillmentCodeHook", err.(request.ErrInvalidParams))
19289		}
19290	}
19291	if s.InputContexts != nil {
19292		for i, v := range s.InputContexts {
19293			if v == nil {
19294				continue
19295			}
19296			if err := v.Validate(); err != nil {
19297				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputContexts", i), err.(request.ErrInvalidParams))
19298			}
19299		}
19300	}
19301	if s.IntentClosingSetting != nil {
19302		if err := s.IntentClosingSetting.Validate(); err != nil {
19303			invalidParams.AddNested("IntentClosingSetting", err.(request.ErrInvalidParams))
19304		}
19305	}
19306	if s.IntentConfirmationSetting != nil {
19307		if err := s.IntentConfirmationSetting.Validate(); err != nil {
19308			invalidParams.AddNested("IntentConfirmationSetting", err.(request.ErrInvalidParams))
19309		}
19310	}
19311	if s.KendraConfiguration != nil {
19312		if err := s.KendraConfiguration.Validate(); err != nil {
19313			invalidParams.AddNested("KendraConfiguration", err.(request.ErrInvalidParams))
19314		}
19315	}
19316	if s.OutputContexts != nil {
19317		for i, v := range s.OutputContexts {
19318			if v == nil {
19319				continue
19320			}
19321			if err := v.Validate(); err != nil {
19322				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputContexts", i), err.(request.ErrInvalidParams))
19323			}
19324		}
19325	}
19326	if s.SampleUtterances != nil {
19327		for i, v := range s.SampleUtterances {
19328			if v == nil {
19329				continue
19330			}
19331			if err := v.Validate(); err != nil {
19332				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SampleUtterances", i), err.(request.ErrInvalidParams))
19333			}
19334		}
19335	}
19336	if s.SlotPriorities != nil {
19337		for i, v := range s.SlotPriorities {
19338			if v == nil {
19339				continue
19340			}
19341			if err := v.Validate(); err != nil {
19342				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SlotPriorities", i), err.(request.ErrInvalidParams))
19343			}
19344		}
19345	}
19346
19347	if invalidParams.Len() > 0 {
19348		return invalidParams
19349	}
19350	return nil
19351}
19352
19353// SetBotId sets the BotId field's value.
19354func (s *UpdateIntentInput) SetBotId(v string) *UpdateIntentInput {
19355	s.BotId = &v
19356	return s
19357}
19358
19359// SetBotVersion sets the BotVersion field's value.
19360func (s *UpdateIntentInput) SetBotVersion(v string) *UpdateIntentInput {
19361	s.BotVersion = &v
19362	return s
19363}
19364
19365// SetDescription sets the Description field's value.
19366func (s *UpdateIntentInput) SetDescription(v string) *UpdateIntentInput {
19367	s.Description = &v
19368	return s
19369}
19370
19371// SetDialogCodeHook sets the DialogCodeHook field's value.
19372func (s *UpdateIntentInput) SetDialogCodeHook(v *DialogCodeHookSettings) *UpdateIntentInput {
19373	s.DialogCodeHook = v
19374	return s
19375}
19376
19377// SetFulfillmentCodeHook sets the FulfillmentCodeHook field's value.
19378func (s *UpdateIntentInput) SetFulfillmentCodeHook(v *FulfillmentCodeHookSettings) *UpdateIntentInput {
19379	s.FulfillmentCodeHook = v
19380	return s
19381}
19382
19383// SetInputContexts sets the InputContexts field's value.
19384func (s *UpdateIntentInput) SetInputContexts(v []*InputContext) *UpdateIntentInput {
19385	s.InputContexts = v
19386	return s
19387}
19388
19389// SetIntentClosingSetting sets the IntentClosingSetting field's value.
19390func (s *UpdateIntentInput) SetIntentClosingSetting(v *IntentClosingSetting) *UpdateIntentInput {
19391	s.IntentClosingSetting = v
19392	return s
19393}
19394
19395// SetIntentConfirmationSetting sets the IntentConfirmationSetting field's value.
19396func (s *UpdateIntentInput) SetIntentConfirmationSetting(v *IntentConfirmationSetting) *UpdateIntentInput {
19397	s.IntentConfirmationSetting = v
19398	return s
19399}
19400
19401// SetIntentId sets the IntentId field's value.
19402func (s *UpdateIntentInput) SetIntentId(v string) *UpdateIntentInput {
19403	s.IntentId = &v
19404	return s
19405}
19406
19407// SetIntentName sets the IntentName field's value.
19408func (s *UpdateIntentInput) SetIntentName(v string) *UpdateIntentInput {
19409	s.IntentName = &v
19410	return s
19411}
19412
19413// SetKendraConfiguration sets the KendraConfiguration field's value.
19414func (s *UpdateIntentInput) SetKendraConfiguration(v *KendraConfiguration) *UpdateIntentInput {
19415	s.KendraConfiguration = v
19416	return s
19417}
19418
19419// SetLocaleId sets the LocaleId field's value.
19420func (s *UpdateIntentInput) SetLocaleId(v string) *UpdateIntentInput {
19421	s.LocaleId = &v
19422	return s
19423}
19424
19425// SetOutputContexts sets the OutputContexts field's value.
19426func (s *UpdateIntentInput) SetOutputContexts(v []*OutputContext) *UpdateIntentInput {
19427	s.OutputContexts = v
19428	return s
19429}
19430
19431// SetParentIntentSignature sets the ParentIntentSignature field's value.
19432func (s *UpdateIntentInput) SetParentIntentSignature(v string) *UpdateIntentInput {
19433	s.ParentIntentSignature = &v
19434	return s
19435}
19436
19437// SetSampleUtterances sets the SampleUtterances field's value.
19438func (s *UpdateIntentInput) SetSampleUtterances(v []*SampleUtterance) *UpdateIntentInput {
19439	s.SampleUtterances = v
19440	return s
19441}
19442
19443// SetSlotPriorities sets the SlotPriorities field's value.
19444func (s *UpdateIntentInput) SetSlotPriorities(v []*SlotPriority) *UpdateIntentInput {
19445	s.SlotPriorities = v
19446	return s
19447}
19448
19449type UpdateIntentOutput struct {
19450	_ struct{} `type:"structure"`
19451
19452	// The identifier of the bot that contains the intent.
19453	BotId *string `locationName:"botId" min:"10" type:"string"`
19454
19455	// The version of the bot that contains the intent. Will always be DRAFT.
19456	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
19457
19458	// A timestamp of when the intent was created.
19459	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
19460
19461	// The updated description of the intent.
19462	Description *string `locationName:"description" type:"string"`
19463
19464	// The updated Lambda function called during each turn of the conversation with
19465	// the user.
19466	DialogCodeHook *DialogCodeHookSettings `locationName:"dialogCodeHook" type:"structure"`
19467
19468	// The updated Lambda function called when the intent is ready for fulfillment.
19469	FulfillmentCodeHook *FulfillmentCodeHookSettings `locationName:"fulfillmentCodeHook" type:"structure"`
19470
19471	// The updated list of contexts that must be active for the intent to be considered
19472	// by Amazon Lex.
19473	InputContexts []*InputContext `locationName:"inputContexts" type:"list"`
19474
19475	// The updated response that Amazon Lex sends the user when the intent is closed.
19476	IntentClosingSetting *IntentClosingSetting `locationName:"intentClosingSetting" type:"structure"`
19477
19478	// The updated prompts that Amazon Lex sends to the user to confirm the completion
19479	// of an intent.
19480	IntentConfirmationSetting *IntentConfirmationSetting `locationName:"intentConfirmationSetting" type:"structure"`
19481
19482	// The identifier of the intent that was updated.
19483	IntentId *string `locationName:"intentId" min:"10" type:"string"`
19484
19485	// The updated name of the intent.
19486	IntentName *string `locationName:"intentName" min:"1" type:"string"`
19487
19488	// The updated configuration for connecting to an Amazon Kendra index with the
19489	// AMAZON.KendraSearchIntent intent.
19490	KendraConfiguration *KendraConfiguration `locationName:"kendraConfiguration" type:"structure"`
19491
19492	// A timestamp of the last time that the intent was modified.
19493	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
19494
19495	// The updated language and locale of the intent.
19496	LocaleId *string `locationName:"localeId" type:"string"`
19497
19498	// The updated list of contexts that Amazon Lex activates when the intent is
19499	// fulfilled.
19500	OutputContexts []*OutputContext `locationName:"outputContexts" type:"list"`
19501
19502	// The updated built-in intent that is the parent of this intent.
19503	ParentIntentSignature *string `locationName:"parentIntentSignature" type:"string"`
19504
19505	// The updated list of sample utterances for the intent.
19506	SampleUtterances []*SampleUtterance `locationName:"sampleUtterances" type:"list"`
19507
19508	// The updated list of slots and their priorities that are elicited from the
19509	// user for the intent.
19510	SlotPriorities []*SlotPriority `locationName:"slotPriorities" type:"list"`
19511}
19512
19513// String returns the string representation
19514func (s UpdateIntentOutput) String() string {
19515	return awsutil.Prettify(s)
19516}
19517
19518// GoString returns the string representation
19519func (s UpdateIntentOutput) GoString() string {
19520	return s.String()
19521}
19522
19523// SetBotId sets the BotId field's value.
19524func (s *UpdateIntentOutput) SetBotId(v string) *UpdateIntentOutput {
19525	s.BotId = &v
19526	return s
19527}
19528
19529// SetBotVersion sets the BotVersion field's value.
19530func (s *UpdateIntentOutput) SetBotVersion(v string) *UpdateIntentOutput {
19531	s.BotVersion = &v
19532	return s
19533}
19534
19535// SetCreationDateTime sets the CreationDateTime field's value.
19536func (s *UpdateIntentOutput) SetCreationDateTime(v time.Time) *UpdateIntentOutput {
19537	s.CreationDateTime = &v
19538	return s
19539}
19540
19541// SetDescription sets the Description field's value.
19542func (s *UpdateIntentOutput) SetDescription(v string) *UpdateIntentOutput {
19543	s.Description = &v
19544	return s
19545}
19546
19547// SetDialogCodeHook sets the DialogCodeHook field's value.
19548func (s *UpdateIntentOutput) SetDialogCodeHook(v *DialogCodeHookSettings) *UpdateIntentOutput {
19549	s.DialogCodeHook = v
19550	return s
19551}
19552
19553// SetFulfillmentCodeHook sets the FulfillmentCodeHook field's value.
19554func (s *UpdateIntentOutput) SetFulfillmentCodeHook(v *FulfillmentCodeHookSettings) *UpdateIntentOutput {
19555	s.FulfillmentCodeHook = v
19556	return s
19557}
19558
19559// SetInputContexts sets the InputContexts field's value.
19560func (s *UpdateIntentOutput) SetInputContexts(v []*InputContext) *UpdateIntentOutput {
19561	s.InputContexts = v
19562	return s
19563}
19564
19565// SetIntentClosingSetting sets the IntentClosingSetting field's value.
19566func (s *UpdateIntentOutput) SetIntentClosingSetting(v *IntentClosingSetting) *UpdateIntentOutput {
19567	s.IntentClosingSetting = v
19568	return s
19569}
19570
19571// SetIntentConfirmationSetting sets the IntentConfirmationSetting field's value.
19572func (s *UpdateIntentOutput) SetIntentConfirmationSetting(v *IntentConfirmationSetting) *UpdateIntentOutput {
19573	s.IntentConfirmationSetting = v
19574	return s
19575}
19576
19577// SetIntentId sets the IntentId field's value.
19578func (s *UpdateIntentOutput) SetIntentId(v string) *UpdateIntentOutput {
19579	s.IntentId = &v
19580	return s
19581}
19582
19583// SetIntentName sets the IntentName field's value.
19584func (s *UpdateIntentOutput) SetIntentName(v string) *UpdateIntentOutput {
19585	s.IntentName = &v
19586	return s
19587}
19588
19589// SetKendraConfiguration sets the KendraConfiguration field's value.
19590func (s *UpdateIntentOutput) SetKendraConfiguration(v *KendraConfiguration) *UpdateIntentOutput {
19591	s.KendraConfiguration = v
19592	return s
19593}
19594
19595// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
19596func (s *UpdateIntentOutput) SetLastUpdatedDateTime(v time.Time) *UpdateIntentOutput {
19597	s.LastUpdatedDateTime = &v
19598	return s
19599}
19600
19601// SetLocaleId sets the LocaleId field's value.
19602func (s *UpdateIntentOutput) SetLocaleId(v string) *UpdateIntentOutput {
19603	s.LocaleId = &v
19604	return s
19605}
19606
19607// SetOutputContexts sets the OutputContexts field's value.
19608func (s *UpdateIntentOutput) SetOutputContexts(v []*OutputContext) *UpdateIntentOutput {
19609	s.OutputContexts = v
19610	return s
19611}
19612
19613// SetParentIntentSignature sets the ParentIntentSignature field's value.
19614func (s *UpdateIntentOutput) SetParentIntentSignature(v string) *UpdateIntentOutput {
19615	s.ParentIntentSignature = &v
19616	return s
19617}
19618
19619// SetSampleUtterances sets the SampleUtterances field's value.
19620func (s *UpdateIntentOutput) SetSampleUtterances(v []*SampleUtterance) *UpdateIntentOutput {
19621	s.SampleUtterances = v
19622	return s
19623}
19624
19625// SetSlotPriorities sets the SlotPriorities field's value.
19626func (s *UpdateIntentOutput) SetSlotPriorities(v []*SlotPriority) *UpdateIntentOutput {
19627	s.SlotPriorities = v
19628	return s
19629}
19630
19631type UpdateResourcePolicyInput struct {
19632	_ struct{} `type:"structure"`
19633
19634	// The identifier of the revision of the policy to update. If this revision
19635	// ID doesn't match the current revision ID, Amazon Lex throws an exception.
19636	//
19637	// If you don't specify a revision, Amazon Lex overwrites the contents of the
19638	// policy with the new values.
19639	ExpectedRevisionId *string `location:"querystring" locationName:"expectedRevisionId" min:"1" type:"string"`
19640
19641	// A resource policy to add to the resource. The policy is a JSON structure
19642	// that contains one or more statements that define the policy. The policy must
19643	// follow the IAM syntax. For more information about the contents of a JSON
19644	// policy document, see IAM JSON policy reference (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html).
19645	//
19646	// If the policy isn't valid, Amazon Lex returns a validation exception.
19647	//
19648	// Policy is a required field
19649	Policy *string `locationName:"policy" min:"2" type:"string" required:"true"`
19650
19651	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource
19652	// policy is attached to.
19653	//
19654	// ResourceArn is a required field
19655	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
19656}
19657
19658// String returns the string representation
19659func (s UpdateResourcePolicyInput) String() string {
19660	return awsutil.Prettify(s)
19661}
19662
19663// GoString returns the string representation
19664func (s UpdateResourcePolicyInput) GoString() string {
19665	return s.String()
19666}
19667
19668// Validate inspects the fields of the type to determine if they are valid.
19669func (s *UpdateResourcePolicyInput) Validate() error {
19670	invalidParams := request.ErrInvalidParams{Context: "UpdateResourcePolicyInput"}
19671	if s.ExpectedRevisionId != nil && len(*s.ExpectedRevisionId) < 1 {
19672		invalidParams.Add(request.NewErrParamMinLen("ExpectedRevisionId", 1))
19673	}
19674	if s.Policy == nil {
19675		invalidParams.Add(request.NewErrParamRequired("Policy"))
19676	}
19677	if s.Policy != nil && len(*s.Policy) < 2 {
19678		invalidParams.Add(request.NewErrParamMinLen("Policy", 2))
19679	}
19680	if s.ResourceArn == nil {
19681		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
19682	}
19683	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
19684		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
19685	}
19686
19687	if invalidParams.Len() > 0 {
19688		return invalidParams
19689	}
19690	return nil
19691}
19692
19693// SetExpectedRevisionId sets the ExpectedRevisionId field's value.
19694func (s *UpdateResourcePolicyInput) SetExpectedRevisionId(v string) *UpdateResourcePolicyInput {
19695	s.ExpectedRevisionId = &v
19696	return s
19697}
19698
19699// SetPolicy sets the Policy field's value.
19700func (s *UpdateResourcePolicyInput) SetPolicy(v string) *UpdateResourcePolicyInput {
19701	s.Policy = &v
19702	return s
19703}
19704
19705// SetResourceArn sets the ResourceArn field's value.
19706func (s *UpdateResourcePolicyInput) SetResourceArn(v string) *UpdateResourcePolicyInput {
19707	s.ResourceArn = &v
19708	return s
19709}
19710
19711type UpdateResourcePolicyOutput struct {
19712	_ struct{} `type:"structure"`
19713
19714	// The Amazon Resource Name (ARN) of the bot or bot alias that the resource
19715	// policy is attached to.
19716	ResourceArn *string `locationName:"resourceArn" min:"1" type:"string"`
19717
19718	// The current revision of the resource policy. Use the revision ID to make
19719	// sure that you are updating the most current version of a resource policy
19720	// when you add a policy statement to a resource, delete a resource, or update
19721	// a resource.
19722	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
19723}
19724
19725// String returns the string representation
19726func (s UpdateResourcePolicyOutput) String() string {
19727	return awsutil.Prettify(s)
19728}
19729
19730// GoString returns the string representation
19731func (s UpdateResourcePolicyOutput) GoString() string {
19732	return s.String()
19733}
19734
19735// SetResourceArn sets the ResourceArn field's value.
19736func (s *UpdateResourcePolicyOutput) SetResourceArn(v string) *UpdateResourcePolicyOutput {
19737	s.ResourceArn = &v
19738	return s
19739}
19740
19741// SetRevisionId sets the RevisionId field's value.
19742func (s *UpdateResourcePolicyOutput) SetRevisionId(v string) *UpdateResourcePolicyOutput {
19743	s.RevisionId = &v
19744	return s
19745}
19746
19747type UpdateSlotInput struct {
19748	_ struct{} `type:"structure"`
19749
19750	// The unique identifier of the bot that contains the slot.
19751	//
19752	// BotId is a required field
19753	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
19754
19755	// The version of the bot that contains the slot. Must always be DRAFT.
19756	//
19757	// BotVersion is a required field
19758	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
19759
19760	// The new description for the slot.
19761	Description *string `locationName:"description" type:"string"`
19762
19763	// The identifier of the intent that contains the slot.
19764	//
19765	// IntentId is a required field
19766	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
19767
19768	// The identifier of the language and locale that contains the slot. The string
19769	// must match one of the supported locales. For more information, see Supported
19770	// languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
19771	//
19772	// LocaleId is a required field
19773	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
19774
19775	// Determines whether the slot accepts multiple values in one response. Multiple
19776	// value slots are only available in the en-US locale. If you set this value
19777	// to true in any other locale, Amazon Lex throws a ValidationException.
19778	//
19779	// If the multipleValuesSetting is not set, the default value is false.
19780	MultipleValuesSetting *MultipleValuesSetting `locationName:"multipleValuesSetting" type:"structure"`
19781
19782	// New settings that determine how slot values are formatted in Amazon CloudWatch
19783	// logs.
19784	ObfuscationSetting *ObfuscationSetting `locationName:"obfuscationSetting" type:"structure"`
19785
19786	// The unique identifier for the slot to update.
19787	//
19788	// SlotId is a required field
19789	SlotId *string `location:"uri" locationName:"slotId" min:"10" type:"string" required:"true"`
19790
19791	// The new name for the slot.
19792	//
19793	// SlotName is a required field
19794	SlotName *string `locationName:"slotName" min:"1" type:"string" required:"true"`
19795
19796	// The unique identifier of the new slot type to associate with this slot.
19797	//
19798	// SlotTypeId is a required field
19799	SlotTypeId *string `locationName:"slotTypeId" min:"1" type:"string" required:"true"`
19800
19801	// A new set of prompts that Amazon Lex sends to the user to elicit a response
19802	// the provides a value for the slot.
19803	//
19804	// ValueElicitationSetting is a required field
19805	ValueElicitationSetting *SlotValueElicitationSetting `locationName:"valueElicitationSetting" type:"structure" required:"true"`
19806}
19807
19808// String returns the string representation
19809func (s UpdateSlotInput) String() string {
19810	return awsutil.Prettify(s)
19811}
19812
19813// GoString returns the string representation
19814func (s UpdateSlotInput) GoString() string {
19815	return s.String()
19816}
19817
19818// Validate inspects the fields of the type to determine if they are valid.
19819func (s *UpdateSlotInput) Validate() error {
19820	invalidParams := request.ErrInvalidParams{Context: "UpdateSlotInput"}
19821	if s.BotId == nil {
19822		invalidParams.Add(request.NewErrParamRequired("BotId"))
19823	}
19824	if s.BotId != nil && len(*s.BotId) < 10 {
19825		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
19826	}
19827	if s.BotVersion == nil {
19828		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
19829	}
19830	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
19831		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
19832	}
19833	if s.IntentId == nil {
19834		invalidParams.Add(request.NewErrParamRequired("IntentId"))
19835	}
19836	if s.IntentId != nil && len(*s.IntentId) < 10 {
19837		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
19838	}
19839	if s.LocaleId == nil {
19840		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
19841	}
19842	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
19843		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
19844	}
19845	if s.SlotId == nil {
19846		invalidParams.Add(request.NewErrParamRequired("SlotId"))
19847	}
19848	if s.SlotId != nil && len(*s.SlotId) < 10 {
19849		invalidParams.Add(request.NewErrParamMinLen("SlotId", 10))
19850	}
19851	if s.SlotName == nil {
19852		invalidParams.Add(request.NewErrParamRequired("SlotName"))
19853	}
19854	if s.SlotName != nil && len(*s.SlotName) < 1 {
19855		invalidParams.Add(request.NewErrParamMinLen("SlotName", 1))
19856	}
19857	if s.SlotTypeId == nil {
19858		invalidParams.Add(request.NewErrParamRequired("SlotTypeId"))
19859	}
19860	if s.SlotTypeId != nil && len(*s.SlotTypeId) < 1 {
19861		invalidParams.Add(request.NewErrParamMinLen("SlotTypeId", 1))
19862	}
19863	if s.ValueElicitationSetting == nil {
19864		invalidParams.Add(request.NewErrParamRequired("ValueElicitationSetting"))
19865	}
19866	if s.ObfuscationSetting != nil {
19867		if err := s.ObfuscationSetting.Validate(); err != nil {
19868			invalidParams.AddNested("ObfuscationSetting", err.(request.ErrInvalidParams))
19869		}
19870	}
19871	if s.ValueElicitationSetting != nil {
19872		if err := s.ValueElicitationSetting.Validate(); err != nil {
19873			invalidParams.AddNested("ValueElicitationSetting", err.(request.ErrInvalidParams))
19874		}
19875	}
19876
19877	if invalidParams.Len() > 0 {
19878		return invalidParams
19879	}
19880	return nil
19881}
19882
19883// SetBotId sets the BotId field's value.
19884func (s *UpdateSlotInput) SetBotId(v string) *UpdateSlotInput {
19885	s.BotId = &v
19886	return s
19887}
19888
19889// SetBotVersion sets the BotVersion field's value.
19890func (s *UpdateSlotInput) SetBotVersion(v string) *UpdateSlotInput {
19891	s.BotVersion = &v
19892	return s
19893}
19894
19895// SetDescription sets the Description field's value.
19896func (s *UpdateSlotInput) SetDescription(v string) *UpdateSlotInput {
19897	s.Description = &v
19898	return s
19899}
19900
19901// SetIntentId sets the IntentId field's value.
19902func (s *UpdateSlotInput) SetIntentId(v string) *UpdateSlotInput {
19903	s.IntentId = &v
19904	return s
19905}
19906
19907// SetLocaleId sets the LocaleId field's value.
19908func (s *UpdateSlotInput) SetLocaleId(v string) *UpdateSlotInput {
19909	s.LocaleId = &v
19910	return s
19911}
19912
19913// SetMultipleValuesSetting sets the MultipleValuesSetting field's value.
19914func (s *UpdateSlotInput) SetMultipleValuesSetting(v *MultipleValuesSetting) *UpdateSlotInput {
19915	s.MultipleValuesSetting = v
19916	return s
19917}
19918
19919// SetObfuscationSetting sets the ObfuscationSetting field's value.
19920func (s *UpdateSlotInput) SetObfuscationSetting(v *ObfuscationSetting) *UpdateSlotInput {
19921	s.ObfuscationSetting = v
19922	return s
19923}
19924
19925// SetSlotId sets the SlotId field's value.
19926func (s *UpdateSlotInput) SetSlotId(v string) *UpdateSlotInput {
19927	s.SlotId = &v
19928	return s
19929}
19930
19931// SetSlotName sets the SlotName field's value.
19932func (s *UpdateSlotInput) SetSlotName(v string) *UpdateSlotInput {
19933	s.SlotName = &v
19934	return s
19935}
19936
19937// SetSlotTypeId sets the SlotTypeId field's value.
19938func (s *UpdateSlotInput) SetSlotTypeId(v string) *UpdateSlotInput {
19939	s.SlotTypeId = &v
19940	return s
19941}
19942
19943// SetValueElicitationSetting sets the ValueElicitationSetting field's value.
19944func (s *UpdateSlotInput) SetValueElicitationSetting(v *SlotValueElicitationSetting) *UpdateSlotInput {
19945	s.ValueElicitationSetting = v
19946	return s
19947}
19948
19949type UpdateSlotOutput struct {
19950	_ struct{} `type:"structure"`
19951
19952	// The identifier of the bot that contains the slot.
19953	BotId *string `locationName:"botId" min:"10" type:"string"`
19954
19955	// The identifier of the slot version that contains the slot. Will always be
19956	// DRAFT.
19957	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
19958
19959	// The timestamp of the date and time that the slot was created.
19960	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
19961
19962	// The updated description of the bot.
19963	Description *string `locationName:"description" type:"string"`
19964
19965	// The intent that contains the slot.
19966	IntentId *string `locationName:"intentId" min:"10" type:"string"`
19967
19968	// The timestamp of the date and time that the slot was last updated.
19969	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
19970
19971	// The locale that contains the slot.
19972	LocaleId *string `locationName:"localeId" type:"string"`
19973
19974	// Indicates whether the slot accepts multiple values in one response.
19975	MultipleValuesSetting *MultipleValuesSetting `locationName:"multipleValuesSetting" type:"structure"`
19976
19977	// The updated setting that determines whether the slot value is obfuscated
19978	// in the Amazon CloudWatch logs.
19979	ObfuscationSetting *ObfuscationSetting `locationName:"obfuscationSetting" type:"structure"`
19980
19981	// The unique identifier of the slot that was updated.
19982	SlotId *string `locationName:"slotId" min:"10" type:"string"`
19983
19984	// The updated name of the slot.
19985	SlotName *string `locationName:"slotName" min:"1" type:"string"`
19986
19987	// The updated identifier of the slot type that provides values for the slot.
19988	SlotTypeId *string `locationName:"slotTypeId" min:"1" type:"string"`
19989
19990	// The updated prompts that Amazon Lex sends to the user to elicit a response
19991	// that provides a value for the slot.
19992	ValueElicitationSetting *SlotValueElicitationSetting `locationName:"valueElicitationSetting" type:"structure"`
19993}
19994
19995// String returns the string representation
19996func (s UpdateSlotOutput) String() string {
19997	return awsutil.Prettify(s)
19998}
19999
20000// GoString returns the string representation
20001func (s UpdateSlotOutput) GoString() string {
20002	return s.String()
20003}
20004
20005// SetBotId sets the BotId field's value.
20006func (s *UpdateSlotOutput) SetBotId(v string) *UpdateSlotOutput {
20007	s.BotId = &v
20008	return s
20009}
20010
20011// SetBotVersion sets the BotVersion field's value.
20012func (s *UpdateSlotOutput) SetBotVersion(v string) *UpdateSlotOutput {
20013	s.BotVersion = &v
20014	return s
20015}
20016
20017// SetCreationDateTime sets the CreationDateTime field's value.
20018func (s *UpdateSlotOutput) SetCreationDateTime(v time.Time) *UpdateSlotOutput {
20019	s.CreationDateTime = &v
20020	return s
20021}
20022
20023// SetDescription sets the Description field's value.
20024func (s *UpdateSlotOutput) SetDescription(v string) *UpdateSlotOutput {
20025	s.Description = &v
20026	return s
20027}
20028
20029// SetIntentId sets the IntentId field's value.
20030func (s *UpdateSlotOutput) SetIntentId(v string) *UpdateSlotOutput {
20031	s.IntentId = &v
20032	return s
20033}
20034
20035// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
20036func (s *UpdateSlotOutput) SetLastUpdatedDateTime(v time.Time) *UpdateSlotOutput {
20037	s.LastUpdatedDateTime = &v
20038	return s
20039}
20040
20041// SetLocaleId sets the LocaleId field's value.
20042func (s *UpdateSlotOutput) SetLocaleId(v string) *UpdateSlotOutput {
20043	s.LocaleId = &v
20044	return s
20045}
20046
20047// SetMultipleValuesSetting sets the MultipleValuesSetting field's value.
20048func (s *UpdateSlotOutput) SetMultipleValuesSetting(v *MultipleValuesSetting) *UpdateSlotOutput {
20049	s.MultipleValuesSetting = v
20050	return s
20051}
20052
20053// SetObfuscationSetting sets the ObfuscationSetting field's value.
20054func (s *UpdateSlotOutput) SetObfuscationSetting(v *ObfuscationSetting) *UpdateSlotOutput {
20055	s.ObfuscationSetting = v
20056	return s
20057}
20058
20059// SetSlotId sets the SlotId field's value.
20060func (s *UpdateSlotOutput) SetSlotId(v string) *UpdateSlotOutput {
20061	s.SlotId = &v
20062	return s
20063}
20064
20065// SetSlotName sets the SlotName field's value.
20066func (s *UpdateSlotOutput) SetSlotName(v string) *UpdateSlotOutput {
20067	s.SlotName = &v
20068	return s
20069}
20070
20071// SetSlotTypeId sets the SlotTypeId field's value.
20072func (s *UpdateSlotOutput) SetSlotTypeId(v string) *UpdateSlotOutput {
20073	s.SlotTypeId = &v
20074	return s
20075}
20076
20077// SetValueElicitationSetting sets the ValueElicitationSetting field's value.
20078func (s *UpdateSlotOutput) SetValueElicitationSetting(v *SlotValueElicitationSetting) *UpdateSlotOutput {
20079	s.ValueElicitationSetting = v
20080	return s
20081}
20082
20083type UpdateSlotTypeInput struct {
20084	_ struct{} `type:"structure"`
20085
20086	// The identifier of the bot that contains the slot type.
20087	//
20088	// BotId is a required field
20089	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
20090
20091	// The version of the bot that contains the slot type. Must be DRAFT.
20092	//
20093	// BotVersion is a required field
20094	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
20095
20096	// The new description of the slot type.
20097	Description *string `locationName:"description" type:"string"`
20098
20099	// The identifier of the language and locale that contains the slot type. The
20100	// string must match one of the supported locales. For more information, see
20101	// Supported languages (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
20102	//
20103	// LocaleId is a required field
20104	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
20105
20106	// The new built-in slot type that should be used as the parent of this slot
20107	// type.
20108	ParentSlotTypeSignature *string `locationName:"parentSlotTypeSignature" type:"string"`
20109
20110	// The unique identifier of the slot type to update.
20111	//
20112	// SlotTypeId is a required field
20113	SlotTypeId *string `location:"uri" locationName:"slotTypeId" min:"10" type:"string" required:"true"`
20114
20115	// The new name of the slot type.
20116	//
20117	// SlotTypeName is a required field
20118	SlotTypeName *string `locationName:"slotTypeName" min:"1" type:"string" required:"true"`
20119
20120	// A new list of values and their optional synonyms that define the values that
20121	// the slot type can take.
20122	SlotTypeValues []*SlotTypeValue `locationName:"slotTypeValues" min:"1" type:"list"`
20123
20124	// The strategy that Amazon Lex should use when deciding on a value from the
20125	// list of slot type values.
20126	//
20127	// ValueSelectionSetting is a required field
20128	ValueSelectionSetting *SlotValueSelectionSetting `locationName:"valueSelectionSetting" type:"structure" required:"true"`
20129}
20130
20131// String returns the string representation
20132func (s UpdateSlotTypeInput) String() string {
20133	return awsutil.Prettify(s)
20134}
20135
20136// GoString returns the string representation
20137func (s UpdateSlotTypeInput) GoString() string {
20138	return s.String()
20139}
20140
20141// Validate inspects the fields of the type to determine if they are valid.
20142func (s *UpdateSlotTypeInput) Validate() error {
20143	invalidParams := request.ErrInvalidParams{Context: "UpdateSlotTypeInput"}
20144	if s.BotId == nil {
20145		invalidParams.Add(request.NewErrParamRequired("BotId"))
20146	}
20147	if s.BotId != nil && len(*s.BotId) < 10 {
20148		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
20149	}
20150	if s.BotVersion == nil {
20151		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
20152	}
20153	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
20154		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
20155	}
20156	if s.LocaleId == nil {
20157		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
20158	}
20159	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
20160		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
20161	}
20162	if s.SlotTypeId == nil {
20163		invalidParams.Add(request.NewErrParamRequired("SlotTypeId"))
20164	}
20165	if s.SlotTypeId != nil && len(*s.SlotTypeId) < 10 {
20166		invalidParams.Add(request.NewErrParamMinLen("SlotTypeId", 10))
20167	}
20168	if s.SlotTypeName == nil {
20169		invalidParams.Add(request.NewErrParamRequired("SlotTypeName"))
20170	}
20171	if s.SlotTypeName != nil && len(*s.SlotTypeName) < 1 {
20172		invalidParams.Add(request.NewErrParamMinLen("SlotTypeName", 1))
20173	}
20174	if s.SlotTypeValues != nil && len(s.SlotTypeValues) < 1 {
20175		invalidParams.Add(request.NewErrParamMinLen("SlotTypeValues", 1))
20176	}
20177	if s.ValueSelectionSetting == nil {
20178		invalidParams.Add(request.NewErrParamRequired("ValueSelectionSetting"))
20179	}
20180	if s.SlotTypeValues != nil {
20181		for i, v := range s.SlotTypeValues {
20182			if v == nil {
20183				continue
20184			}
20185			if err := v.Validate(); err != nil {
20186				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SlotTypeValues", i), err.(request.ErrInvalidParams))
20187			}
20188		}
20189	}
20190	if s.ValueSelectionSetting != nil {
20191		if err := s.ValueSelectionSetting.Validate(); err != nil {
20192			invalidParams.AddNested("ValueSelectionSetting", err.(request.ErrInvalidParams))
20193		}
20194	}
20195
20196	if invalidParams.Len() > 0 {
20197		return invalidParams
20198	}
20199	return nil
20200}
20201
20202// SetBotId sets the BotId field's value.
20203func (s *UpdateSlotTypeInput) SetBotId(v string) *UpdateSlotTypeInput {
20204	s.BotId = &v
20205	return s
20206}
20207
20208// SetBotVersion sets the BotVersion field's value.
20209func (s *UpdateSlotTypeInput) SetBotVersion(v string) *UpdateSlotTypeInput {
20210	s.BotVersion = &v
20211	return s
20212}
20213
20214// SetDescription sets the Description field's value.
20215func (s *UpdateSlotTypeInput) SetDescription(v string) *UpdateSlotTypeInput {
20216	s.Description = &v
20217	return s
20218}
20219
20220// SetLocaleId sets the LocaleId field's value.
20221func (s *UpdateSlotTypeInput) SetLocaleId(v string) *UpdateSlotTypeInput {
20222	s.LocaleId = &v
20223	return s
20224}
20225
20226// SetParentSlotTypeSignature sets the ParentSlotTypeSignature field's value.
20227func (s *UpdateSlotTypeInput) SetParentSlotTypeSignature(v string) *UpdateSlotTypeInput {
20228	s.ParentSlotTypeSignature = &v
20229	return s
20230}
20231
20232// SetSlotTypeId sets the SlotTypeId field's value.
20233func (s *UpdateSlotTypeInput) SetSlotTypeId(v string) *UpdateSlotTypeInput {
20234	s.SlotTypeId = &v
20235	return s
20236}
20237
20238// SetSlotTypeName sets the SlotTypeName field's value.
20239func (s *UpdateSlotTypeInput) SetSlotTypeName(v string) *UpdateSlotTypeInput {
20240	s.SlotTypeName = &v
20241	return s
20242}
20243
20244// SetSlotTypeValues sets the SlotTypeValues field's value.
20245func (s *UpdateSlotTypeInput) SetSlotTypeValues(v []*SlotTypeValue) *UpdateSlotTypeInput {
20246	s.SlotTypeValues = v
20247	return s
20248}
20249
20250// SetValueSelectionSetting sets the ValueSelectionSetting field's value.
20251func (s *UpdateSlotTypeInput) SetValueSelectionSetting(v *SlotValueSelectionSetting) *UpdateSlotTypeInput {
20252	s.ValueSelectionSetting = v
20253	return s
20254}
20255
20256type UpdateSlotTypeOutput struct {
20257	_ struct{} `type:"structure"`
20258
20259	// The identifier of the bot that contains the slot type.
20260	BotId *string `locationName:"botId" min:"10" type:"string"`
20261
20262	// The version of the bot that contains the slot type. This is always DRAFT.
20263	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
20264
20265	// The timestamp of the date and time that the slot type was created.
20266	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
20267
20268	// The updated description of the slot type.
20269	Description *string `locationName:"description" type:"string"`
20270
20271	// A timestamp of the date and time that the slot type was last updated.
20272	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
20273
20274	// The language and locale of the updated slot type.
20275	LocaleId *string `locationName:"localeId" type:"string"`
20276
20277	// The updated signature of the built-in slot type that is the parent of this
20278	// slot type.
20279	ParentSlotTypeSignature *string `locationName:"parentSlotTypeSignature" type:"string"`
20280
20281	// The unique identifier of the updated slot type.
20282	SlotTypeId *string `locationName:"slotTypeId" min:"10" type:"string"`
20283
20284	// The updated name of the slot type.
20285	SlotTypeName *string `locationName:"slotTypeName" min:"1" type:"string"`
20286
20287	// The updated values that the slot type provides.
20288	SlotTypeValues []*SlotTypeValue `locationName:"slotTypeValues" min:"1" type:"list"`
20289
20290	// The updated strategy that Amazon Lex uses to determine which value to select
20291	// from the slot type.
20292	ValueSelectionSetting *SlotValueSelectionSetting `locationName:"valueSelectionSetting" type:"structure"`
20293}
20294
20295// String returns the string representation
20296func (s UpdateSlotTypeOutput) String() string {
20297	return awsutil.Prettify(s)
20298}
20299
20300// GoString returns the string representation
20301func (s UpdateSlotTypeOutput) GoString() string {
20302	return s.String()
20303}
20304
20305// SetBotId sets the BotId field's value.
20306func (s *UpdateSlotTypeOutput) SetBotId(v string) *UpdateSlotTypeOutput {
20307	s.BotId = &v
20308	return s
20309}
20310
20311// SetBotVersion sets the BotVersion field's value.
20312func (s *UpdateSlotTypeOutput) SetBotVersion(v string) *UpdateSlotTypeOutput {
20313	s.BotVersion = &v
20314	return s
20315}
20316
20317// SetCreationDateTime sets the CreationDateTime field's value.
20318func (s *UpdateSlotTypeOutput) SetCreationDateTime(v time.Time) *UpdateSlotTypeOutput {
20319	s.CreationDateTime = &v
20320	return s
20321}
20322
20323// SetDescription sets the Description field's value.
20324func (s *UpdateSlotTypeOutput) SetDescription(v string) *UpdateSlotTypeOutput {
20325	s.Description = &v
20326	return s
20327}
20328
20329// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
20330func (s *UpdateSlotTypeOutput) SetLastUpdatedDateTime(v time.Time) *UpdateSlotTypeOutput {
20331	s.LastUpdatedDateTime = &v
20332	return s
20333}
20334
20335// SetLocaleId sets the LocaleId field's value.
20336func (s *UpdateSlotTypeOutput) SetLocaleId(v string) *UpdateSlotTypeOutput {
20337	s.LocaleId = &v
20338	return s
20339}
20340
20341// SetParentSlotTypeSignature sets the ParentSlotTypeSignature field's value.
20342func (s *UpdateSlotTypeOutput) SetParentSlotTypeSignature(v string) *UpdateSlotTypeOutput {
20343	s.ParentSlotTypeSignature = &v
20344	return s
20345}
20346
20347// SetSlotTypeId sets the SlotTypeId field's value.
20348func (s *UpdateSlotTypeOutput) SetSlotTypeId(v string) *UpdateSlotTypeOutput {
20349	s.SlotTypeId = &v
20350	return s
20351}
20352
20353// SetSlotTypeName sets the SlotTypeName field's value.
20354func (s *UpdateSlotTypeOutput) SetSlotTypeName(v string) *UpdateSlotTypeOutput {
20355	s.SlotTypeName = &v
20356	return s
20357}
20358
20359// SetSlotTypeValues sets the SlotTypeValues field's value.
20360func (s *UpdateSlotTypeOutput) SetSlotTypeValues(v []*SlotTypeValue) *UpdateSlotTypeOutput {
20361	s.SlotTypeValues = v
20362	return s
20363}
20364
20365// SetValueSelectionSetting sets the ValueSelectionSetting field's value.
20366func (s *UpdateSlotTypeOutput) SetValueSelectionSetting(v *SlotValueSelectionSetting) *UpdateSlotTypeOutput {
20367	s.ValueSelectionSetting = v
20368	return s
20369}
20370
20371type ValidationException struct {
20372	_            struct{}                  `type:"structure"`
20373	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
20374
20375	Message_ *string `locationName:"message" type:"string"`
20376}
20377
20378// String returns the string representation
20379func (s ValidationException) String() string {
20380	return awsutil.Prettify(s)
20381}
20382
20383// GoString returns the string representation
20384func (s ValidationException) GoString() string {
20385	return s.String()
20386}
20387
20388func newErrorValidationException(v protocol.ResponseMetadata) error {
20389	return &ValidationException{
20390		RespMetadata: v,
20391	}
20392}
20393
20394// Code returns the exception type name.
20395func (s *ValidationException) Code() string {
20396	return "ValidationException"
20397}
20398
20399// Message returns the exception's message.
20400func (s *ValidationException) Message() string {
20401	if s.Message_ != nil {
20402		return *s.Message_
20403	}
20404	return ""
20405}
20406
20407// OrigErr always returns nil, satisfies awserr.Error interface.
20408func (s *ValidationException) OrigErr() error {
20409	return nil
20410}
20411
20412func (s *ValidationException) Error() string {
20413	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
20414}
20415
20416// Status code returns the HTTP status code for the request's response error.
20417func (s *ValidationException) StatusCode() int {
20418	return s.RespMetadata.StatusCode
20419}
20420
20421// RequestID returns the service's response RequestID for request.
20422func (s *ValidationException) RequestID() string {
20423	return s.RespMetadata.RequestID
20424}
20425
20426// Defines settings for using an Amazon Polly voice to communicate with a user.
20427type VoiceSettings struct {
20428	_ struct{} `type:"structure"`
20429
20430	// The identifier of the Amazon Polly voice to use.
20431	//
20432	// VoiceId is a required field
20433	VoiceId *string `locationName:"voiceId" type:"string" required:"true"`
20434}
20435
20436// String returns the string representation
20437func (s VoiceSettings) String() string {
20438	return awsutil.Prettify(s)
20439}
20440
20441// GoString returns the string representation
20442func (s VoiceSettings) GoString() string {
20443	return s.String()
20444}
20445
20446// Validate inspects the fields of the type to determine if they are valid.
20447func (s *VoiceSettings) Validate() error {
20448	invalidParams := request.ErrInvalidParams{Context: "VoiceSettings"}
20449	if s.VoiceId == nil {
20450		invalidParams.Add(request.NewErrParamRequired("VoiceId"))
20451	}
20452
20453	if invalidParams.Len() > 0 {
20454		return invalidParams
20455	}
20456	return nil
20457}
20458
20459// SetVoiceId sets the VoiceId field's value.
20460func (s *VoiceSettings) SetVoiceId(v string) *VoiceSettings {
20461	s.VoiceId = &v
20462	return s
20463}
20464
20465// Specifies the prompts that Amazon Lex uses while a bot is waiting for customer
20466// input.
20467type WaitAndContinueSpecification struct {
20468	_ struct{} `type:"structure"`
20469
20470	// The response that Amazon Lex sends to indicate that the bot is ready to continue
20471	// the conversation.
20472	//
20473	// ContinueResponse is a required field
20474	ContinueResponse *ResponseSpecification `locationName:"continueResponse" type:"structure" required:"true"`
20475
20476	// A response that Amazon Lex sends periodically to the user to indicate that
20477	// the bot is still waiting for input from the user.
20478	StillWaitingResponse *StillWaitingResponseSpecification `locationName:"stillWaitingResponse" type:"structure"`
20479
20480	// The response that Amazon Lex sends to indicate that the bot is waiting for
20481	// the conversation to continue.
20482	//
20483	// WaitingResponse is a required field
20484	WaitingResponse *ResponseSpecification `locationName:"waitingResponse" type:"structure" required:"true"`
20485}
20486
20487// String returns the string representation
20488func (s WaitAndContinueSpecification) String() string {
20489	return awsutil.Prettify(s)
20490}
20491
20492// GoString returns the string representation
20493func (s WaitAndContinueSpecification) GoString() string {
20494	return s.String()
20495}
20496
20497// Validate inspects the fields of the type to determine if they are valid.
20498func (s *WaitAndContinueSpecification) Validate() error {
20499	invalidParams := request.ErrInvalidParams{Context: "WaitAndContinueSpecification"}
20500	if s.ContinueResponse == nil {
20501		invalidParams.Add(request.NewErrParamRequired("ContinueResponse"))
20502	}
20503	if s.WaitingResponse == nil {
20504		invalidParams.Add(request.NewErrParamRequired("WaitingResponse"))
20505	}
20506	if s.ContinueResponse != nil {
20507		if err := s.ContinueResponse.Validate(); err != nil {
20508			invalidParams.AddNested("ContinueResponse", err.(request.ErrInvalidParams))
20509		}
20510	}
20511	if s.StillWaitingResponse != nil {
20512		if err := s.StillWaitingResponse.Validate(); err != nil {
20513			invalidParams.AddNested("StillWaitingResponse", err.(request.ErrInvalidParams))
20514		}
20515	}
20516	if s.WaitingResponse != nil {
20517		if err := s.WaitingResponse.Validate(); err != nil {
20518			invalidParams.AddNested("WaitingResponse", err.(request.ErrInvalidParams))
20519		}
20520	}
20521
20522	if invalidParams.Len() > 0 {
20523		return invalidParams
20524	}
20525	return nil
20526}
20527
20528// SetContinueResponse sets the ContinueResponse field's value.
20529func (s *WaitAndContinueSpecification) SetContinueResponse(v *ResponseSpecification) *WaitAndContinueSpecification {
20530	s.ContinueResponse = v
20531	return s
20532}
20533
20534// SetStillWaitingResponse sets the StillWaitingResponse field's value.
20535func (s *WaitAndContinueSpecification) SetStillWaitingResponse(v *StillWaitingResponseSpecification) *WaitAndContinueSpecification {
20536	s.StillWaitingResponse = v
20537	return s
20538}
20539
20540// SetWaitingResponse sets the WaitingResponse field's value.
20541func (s *WaitAndContinueSpecification) SetWaitingResponse(v *ResponseSpecification) *WaitAndContinueSpecification {
20542	s.WaitingResponse = v
20543	return s
20544}
20545
20546const (
20547	// BotAliasStatusCreating is a BotAliasStatus enum value
20548	BotAliasStatusCreating = "Creating"
20549
20550	// BotAliasStatusAvailable is a BotAliasStatus enum value
20551	BotAliasStatusAvailable = "Available"
20552
20553	// BotAliasStatusDeleting is a BotAliasStatus enum value
20554	BotAliasStatusDeleting = "Deleting"
20555
20556	// BotAliasStatusFailed is a BotAliasStatus enum value
20557	BotAliasStatusFailed = "Failed"
20558)
20559
20560// BotAliasStatus_Values returns all elements of the BotAliasStatus enum
20561func BotAliasStatus_Values() []string {
20562	return []string{
20563		BotAliasStatusCreating,
20564		BotAliasStatusAvailable,
20565		BotAliasStatusDeleting,
20566		BotAliasStatusFailed,
20567	}
20568}
20569
20570const (
20571	// BotFilterNameBotName is a BotFilterName enum value
20572	BotFilterNameBotName = "BotName"
20573)
20574
20575// BotFilterName_Values returns all elements of the BotFilterName enum
20576func BotFilterName_Values() []string {
20577	return []string{
20578		BotFilterNameBotName,
20579	}
20580}
20581
20582const (
20583	// BotFilterOperatorCo is a BotFilterOperator enum value
20584	BotFilterOperatorCo = "CO"
20585
20586	// BotFilterOperatorEq is a BotFilterOperator enum value
20587	BotFilterOperatorEq = "EQ"
20588)
20589
20590// BotFilterOperator_Values returns all elements of the BotFilterOperator enum
20591func BotFilterOperator_Values() []string {
20592	return []string{
20593		BotFilterOperatorCo,
20594		BotFilterOperatorEq,
20595	}
20596}
20597
20598const (
20599	// BotLocaleFilterNameBotLocaleName is a BotLocaleFilterName enum value
20600	BotLocaleFilterNameBotLocaleName = "BotLocaleName"
20601)
20602
20603// BotLocaleFilterName_Values returns all elements of the BotLocaleFilterName enum
20604func BotLocaleFilterName_Values() []string {
20605	return []string{
20606		BotLocaleFilterNameBotLocaleName,
20607	}
20608}
20609
20610const (
20611	// BotLocaleFilterOperatorCo is a BotLocaleFilterOperator enum value
20612	BotLocaleFilterOperatorCo = "CO"
20613
20614	// BotLocaleFilterOperatorEq is a BotLocaleFilterOperator enum value
20615	BotLocaleFilterOperatorEq = "EQ"
20616)
20617
20618// BotLocaleFilterOperator_Values returns all elements of the BotLocaleFilterOperator enum
20619func BotLocaleFilterOperator_Values() []string {
20620	return []string{
20621		BotLocaleFilterOperatorCo,
20622		BotLocaleFilterOperatorEq,
20623	}
20624}
20625
20626const (
20627	// BotLocaleSortAttributeBotLocaleName is a BotLocaleSortAttribute enum value
20628	BotLocaleSortAttributeBotLocaleName = "BotLocaleName"
20629)
20630
20631// BotLocaleSortAttribute_Values returns all elements of the BotLocaleSortAttribute enum
20632func BotLocaleSortAttribute_Values() []string {
20633	return []string{
20634		BotLocaleSortAttributeBotLocaleName,
20635	}
20636}
20637
20638const (
20639	// BotLocaleStatusCreating is a BotLocaleStatus enum value
20640	BotLocaleStatusCreating = "Creating"
20641
20642	// BotLocaleStatusBuilding is a BotLocaleStatus enum value
20643	BotLocaleStatusBuilding = "Building"
20644
20645	// BotLocaleStatusBuilt is a BotLocaleStatus enum value
20646	BotLocaleStatusBuilt = "Built"
20647
20648	// BotLocaleStatusReadyExpressTesting is a BotLocaleStatus enum value
20649	BotLocaleStatusReadyExpressTesting = "ReadyExpressTesting"
20650
20651	// BotLocaleStatusFailed is a BotLocaleStatus enum value
20652	BotLocaleStatusFailed = "Failed"
20653
20654	// BotLocaleStatusDeleting is a BotLocaleStatus enum value
20655	BotLocaleStatusDeleting = "Deleting"
20656
20657	// BotLocaleStatusNotBuilt is a BotLocaleStatus enum value
20658	BotLocaleStatusNotBuilt = "NotBuilt"
20659
20660	// BotLocaleStatusImporting is a BotLocaleStatus enum value
20661	BotLocaleStatusImporting = "Importing"
20662)
20663
20664// BotLocaleStatus_Values returns all elements of the BotLocaleStatus enum
20665func BotLocaleStatus_Values() []string {
20666	return []string{
20667		BotLocaleStatusCreating,
20668		BotLocaleStatusBuilding,
20669		BotLocaleStatusBuilt,
20670		BotLocaleStatusReadyExpressTesting,
20671		BotLocaleStatusFailed,
20672		BotLocaleStatusDeleting,
20673		BotLocaleStatusNotBuilt,
20674		BotLocaleStatusImporting,
20675	}
20676}
20677
20678const (
20679	// BotSortAttributeBotName is a BotSortAttribute enum value
20680	BotSortAttributeBotName = "BotName"
20681)
20682
20683// BotSortAttribute_Values returns all elements of the BotSortAttribute enum
20684func BotSortAttribute_Values() []string {
20685	return []string{
20686		BotSortAttributeBotName,
20687	}
20688}
20689
20690const (
20691	// BotStatusCreating is a BotStatus enum value
20692	BotStatusCreating = "Creating"
20693
20694	// BotStatusAvailable is a BotStatus enum value
20695	BotStatusAvailable = "Available"
20696
20697	// BotStatusInactive is a BotStatus enum value
20698	BotStatusInactive = "Inactive"
20699
20700	// BotStatusDeleting is a BotStatus enum value
20701	BotStatusDeleting = "Deleting"
20702
20703	// BotStatusFailed is a BotStatus enum value
20704	BotStatusFailed = "Failed"
20705
20706	// BotStatusVersioning is a BotStatus enum value
20707	BotStatusVersioning = "Versioning"
20708
20709	// BotStatusImporting is a BotStatus enum value
20710	BotStatusImporting = "Importing"
20711)
20712
20713// BotStatus_Values returns all elements of the BotStatus enum
20714func BotStatus_Values() []string {
20715	return []string{
20716		BotStatusCreating,
20717		BotStatusAvailable,
20718		BotStatusInactive,
20719		BotStatusDeleting,
20720		BotStatusFailed,
20721		BotStatusVersioning,
20722		BotStatusImporting,
20723	}
20724}
20725
20726const (
20727	// BotVersionSortAttributeBotVersion is a BotVersionSortAttribute enum value
20728	BotVersionSortAttributeBotVersion = "BotVersion"
20729)
20730
20731// BotVersionSortAttribute_Values returns all elements of the BotVersionSortAttribute enum
20732func BotVersionSortAttribute_Values() []string {
20733	return []string{
20734		BotVersionSortAttributeBotVersion,
20735	}
20736}
20737
20738const (
20739	// BuiltInIntentSortAttributeIntentSignature is a BuiltInIntentSortAttribute enum value
20740	BuiltInIntentSortAttributeIntentSignature = "IntentSignature"
20741)
20742
20743// BuiltInIntentSortAttribute_Values returns all elements of the BuiltInIntentSortAttribute enum
20744func BuiltInIntentSortAttribute_Values() []string {
20745	return []string{
20746		BuiltInIntentSortAttributeIntentSignature,
20747	}
20748}
20749
20750const (
20751	// BuiltInSlotTypeSortAttributeSlotTypeSignature is a BuiltInSlotTypeSortAttribute enum value
20752	BuiltInSlotTypeSortAttributeSlotTypeSignature = "SlotTypeSignature"
20753)
20754
20755// BuiltInSlotTypeSortAttribute_Values returns all elements of the BuiltInSlotTypeSortAttribute enum
20756func BuiltInSlotTypeSortAttribute_Values() []string {
20757	return []string{
20758		BuiltInSlotTypeSortAttributeSlotTypeSignature,
20759	}
20760}
20761
20762const (
20763	// EffectAllow is a Effect enum value
20764	EffectAllow = "Allow"
20765
20766	// EffectDeny is a Effect enum value
20767	EffectDeny = "Deny"
20768)
20769
20770// Effect_Values returns all elements of the Effect enum
20771func Effect_Values() []string {
20772	return []string{
20773		EffectAllow,
20774		EffectDeny,
20775	}
20776}
20777
20778const (
20779	// ExportFilterNameExportResourceType is a ExportFilterName enum value
20780	ExportFilterNameExportResourceType = "ExportResourceType"
20781)
20782
20783// ExportFilterName_Values returns all elements of the ExportFilterName enum
20784func ExportFilterName_Values() []string {
20785	return []string{
20786		ExportFilterNameExportResourceType,
20787	}
20788}
20789
20790const (
20791	// ExportFilterOperatorCo is a ExportFilterOperator enum value
20792	ExportFilterOperatorCo = "CO"
20793
20794	// ExportFilterOperatorEq is a ExportFilterOperator enum value
20795	ExportFilterOperatorEq = "EQ"
20796)
20797
20798// ExportFilterOperator_Values returns all elements of the ExportFilterOperator enum
20799func ExportFilterOperator_Values() []string {
20800	return []string{
20801		ExportFilterOperatorCo,
20802		ExportFilterOperatorEq,
20803	}
20804}
20805
20806const (
20807	// ExportSortAttributeLastUpdatedDateTime is a ExportSortAttribute enum value
20808	ExportSortAttributeLastUpdatedDateTime = "LastUpdatedDateTime"
20809)
20810
20811// ExportSortAttribute_Values returns all elements of the ExportSortAttribute enum
20812func ExportSortAttribute_Values() []string {
20813	return []string{
20814		ExportSortAttributeLastUpdatedDateTime,
20815	}
20816}
20817
20818const (
20819	// ExportStatusInProgress is a ExportStatus enum value
20820	ExportStatusInProgress = "InProgress"
20821
20822	// ExportStatusCompleted is a ExportStatus enum value
20823	ExportStatusCompleted = "Completed"
20824
20825	// ExportStatusFailed is a ExportStatus enum value
20826	ExportStatusFailed = "Failed"
20827
20828	// ExportStatusDeleting is a ExportStatus enum value
20829	ExportStatusDeleting = "Deleting"
20830)
20831
20832// ExportStatus_Values returns all elements of the ExportStatus enum
20833func ExportStatus_Values() []string {
20834	return []string{
20835		ExportStatusInProgress,
20836		ExportStatusCompleted,
20837		ExportStatusFailed,
20838		ExportStatusDeleting,
20839	}
20840}
20841
20842const (
20843	// ImportExportFileFormatLexJson is a ImportExportFileFormat enum value
20844	ImportExportFileFormatLexJson = "LexJson"
20845)
20846
20847// ImportExportFileFormat_Values returns all elements of the ImportExportFileFormat enum
20848func ImportExportFileFormat_Values() []string {
20849	return []string{
20850		ImportExportFileFormatLexJson,
20851	}
20852}
20853
20854const (
20855	// ImportFilterNameImportResourceType is a ImportFilterName enum value
20856	ImportFilterNameImportResourceType = "ImportResourceType"
20857)
20858
20859// ImportFilterName_Values returns all elements of the ImportFilterName enum
20860func ImportFilterName_Values() []string {
20861	return []string{
20862		ImportFilterNameImportResourceType,
20863	}
20864}
20865
20866const (
20867	// ImportFilterOperatorCo is a ImportFilterOperator enum value
20868	ImportFilterOperatorCo = "CO"
20869
20870	// ImportFilterOperatorEq is a ImportFilterOperator enum value
20871	ImportFilterOperatorEq = "EQ"
20872)
20873
20874// ImportFilterOperator_Values returns all elements of the ImportFilterOperator enum
20875func ImportFilterOperator_Values() []string {
20876	return []string{
20877		ImportFilterOperatorCo,
20878		ImportFilterOperatorEq,
20879	}
20880}
20881
20882const (
20883	// ImportSortAttributeLastUpdatedDateTime is a ImportSortAttribute enum value
20884	ImportSortAttributeLastUpdatedDateTime = "LastUpdatedDateTime"
20885)
20886
20887// ImportSortAttribute_Values returns all elements of the ImportSortAttribute enum
20888func ImportSortAttribute_Values() []string {
20889	return []string{
20890		ImportSortAttributeLastUpdatedDateTime,
20891	}
20892}
20893
20894const (
20895	// ImportStatusInProgress is a ImportStatus enum value
20896	ImportStatusInProgress = "InProgress"
20897
20898	// ImportStatusCompleted is a ImportStatus enum value
20899	ImportStatusCompleted = "Completed"
20900
20901	// ImportStatusFailed is a ImportStatus enum value
20902	ImportStatusFailed = "Failed"
20903
20904	// ImportStatusDeleting is a ImportStatus enum value
20905	ImportStatusDeleting = "Deleting"
20906)
20907
20908// ImportStatus_Values returns all elements of the ImportStatus enum
20909func ImportStatus_Values() []string {
20910	return []string{
20911		ImportStatusInProgress,
20912		ImportStatusCompleted,
20913		ImportStatusFailed,
20914		ImportStatusDeleting,
20915	}
20916}
20917
20918const (
20919	// IntentFilterNameIntentName is a IntentFilterName enum value
20920	IntentFilterNameIntentName = "IntentName"
20921)
20922
20923// IntentFilterName_Values returns all elements of the IntentFilterName enum
20924func IntentFilterName_Values() []string {
20925	return []string{
20926		IntentFilterNameIntentName,
20927	}
20928}
20929
20930const (
20931	// IntentFilterOperatorCo is a IntentFilterOperator enum value
20932	IntentFilterOperatorCo = "CO"
20933
20934	// IntentFilterOperatorEq is a IntentFilterOperator enum value
20935	IntentFilterOperatorEq = "EQ"
20936)
20937
20938// IntentFilterOperator_Values returns all elements of the IntentFilterOperator enum
20939func IntentFilterOperator_Values() []string {
20940	return []string{
20941		IntentFilterOperatorCo,
20942		IntentFilterOperatorEq,
20943	}
20944}
20945
20946const (
20947	// IntentSortAttributeIntentName is a IntentSortAttribute enum value
20948	IntentSortAttributeIntentName = "IntentName"
20949
20950	// IntentSortAttributeLastUpdatedDateTime is a IntentSortAttribute enum value
20951	IntentSortAttributeLastUpdatedDateTime = "LastUpdatedDateTime"
20952)
20953
20954// IntentSortAttribute_Values returns all elements of the IntentSortAttribute enum
20955func IntentSortAttribute_Values() []string {
20956	return []string{
20957		IntentSortAttributeIntentName,
20958		IntentSortAttributeLastUpdatedDateTime,
20959	}
20960}
20961
20962const (
20963	// MergeStrategyOverwrite is a MergeStrategy enum value
20964	MergeStrategyOverwrite = "Overwrite"
20965
20966	// MergeStrategyFailOnConflict is a MergeStrategy enum value
20967	MergeStrategyFailOnConflict = "FailOnConflict"
20968)
20969
20970// MergeStrategy_Values returns all elements of the MergeStrategy enum
20971func MergeStrategy_Values() []string {
20972	return []string{
20973		MergeStrategyOverwrite,
20974		MergeStrategyFailOnConflict,
20975	}
20976}
20977
20978const (
20979	// ObfuscationSettingTypeNone is a ObfuscationSettingType enum value
20980	ObfuscationSettingTypeNone = "None"
20981
20982	// ObfuscationSettingTypeDefaultObfuscation is a ObfuscationSettingType enum value
20983	ObfuscationSettingTypeDefaultObfuscation = "DefaultObfuscation"
20984)
20985
20986// ObfuscationSettingType_Values returns all elements of the ObfuscationSettingType enum
20987func ObfuscationSettingType_Values() []string {
20988	return []string{
20989		ObfuscationSettingTypeNone,
20990		ObfuscationSettingTypeDefaultObfuscation,
20991	}
20992}
20993
20994const (
20995	// SlotConstraintRequired is a SlotConstraint enum value
20996	SlotConstraintRequired = "Required"
20997
20998	// SlotConstraintOptional is a SlotConstraint enum value
20999	SlotConstraintOptional = "Optional"
21000)
21001
21002// SlotConstraint_Values returns all elements of the SlotConstraint enum
21003func SlotConstraint_Values() []string {
21004	return []string{
21005		SlotConstraintRequired,
21006		SlotConstraintOptional,
21007	}
21008}
21009
21010const (
21011	// SlotFilterNameSlotName is a SlotFilterName enum value
21012	SlotFilterNameSlotName = "SlotName"
21013)
21014
21015// SlotFilterName_Values returns all elements of the SlotFilterName enum
21016func SlotFilterName_Values() []string {
21017	return []string{
21018		SlotFilterNameSlotName,
21019	}
21020}
21021
21022const (
21023	// SlotFilterOperatorCo is a SlotFilterOperator enum value
21024	SlotFilterOperatorCo = "CO"
21025
21026	// SlotFilterOperatorEq is a SlotFilterOperator enum value
21027	SlotFilterOperatorEq = "EQ"
21028)
21029
21030// SlotFilterOperator_Values returns all elements of the SlotFilterOperator enum
21031func SlotFilterOperator_Values() []string {
21032	return []string{
21033		SlotFilterOperatorCo,
21034		SlotFilterOperatorEq,
21035	}
21036}
21037
21038const (
21039	// SlotSortAttributeSlotName is a SlotSortAttribute enum value
21040	SlotSortAttributeSlotName = "SlotName"
21041
21042	// SlotSortAttributeLastUpdatedDateTime is a SlotSortAttribute enum value
21043	SlotSortAttributeLastUpdatedDateTime = "LastUpdatedDateTime"
21044)
21045
21046// SlotSortAttribute_Values returns all elements of the SlotSortAttribute enum
21047func SlotSortAttribute_Values() []string {
21048	return []string{
21049		SlotSortAttributeSlotName,
21050		SlotSortAttributeLastUpdatedDateTime,
21051	}
21052}
21053
21054const (
21055	// SlotTypeFilterNameSlotTypeName is a SlotTypeFilterName enum value
21056	SlotTypeFilterNameSlotTypeName = "SlotTypeName"
21057)
21058
21059// SlotTypeFilterName_Values returns all elements of the SlotTypeFilterName enum
21060func SlotTypeFilterName_Values() []string {
21061	return []string{
21062		SlotTypeFilterNameSlotTypeName,
21063	}
21064}
21065
21066const (
21067	// SlotTypeFilterOperatorCo is a SlotTypeFilterOperator enum value
21068	SlotTypeFilterOperatorCo = "CO"
21069
21070	// SlotTypeFilterOperatorEq is a SlotTypeFilterOperator enum value
21071	SlotTypeFilterOperatorEq = "EQ"
21072)
21073
21074// SlotTypeFilterOperator_Values returns all elements of the SlotTypeFilterOperator enum
21075func SlotTypeFilterOperator_Values() []string {
21076	return []string{
21077		SlotTypeFilterOperatorCo,
21078		SlotTypeFilterOperatorEq,
21079	}
21080}
21081
21082const (
21083	// SlotTypeSortAttributeSlotTypeName is a SlotTypeSortAttribute enum value
21084	SlotTypeSortAttributeSlotTypeName = "SlotTypeName"
21085
21086	// SlotTypeSortAttributeLastUpdatedDateTime is a SlotTypeSortAttribute enum value
21087	SlotTypeSortAttributeLastUpdatedDateTime = "LastUpdatedDateTime"
21088)
21089
21090// SlotTypeSortAttribute_Values returns all elements of the SlotTypeSortAttribute enum
21091func SlotTypeSortAttribute_Values() []string {
21092	return []string{
21093		SlotTypeSortAttributeSlotTypeName,
21094		SlotTypeSortAttributeLastUpdatedDateTime,
21095	}
21096}
21097
21098const (
21099	// SlotValueResolutionStrategyOriginalValue is a SlotValueResolutionStrategy enum value
21100	SlotValueResolutionStrategyOriginalValue = "OriginalValue"
21101
21102	// SlotValueResolutionStrategyTopResolution is a SlotValueResolutionStrategy enum value
21103	SlotValueResolutionStrategyTopResolution = "TopResolution"
21104)
21105
21106// SlotValueResolutionStrategy_Values returns all elements of the SlotValueResolutionStrategy enum
21107func SlotValueResolutionStrategy_Values() []string {
21108	return []string{
21109		SlotValueResolutionStrategyOriginalValue,
21110		SlotValueResolutionStrategyTopResolution,
21111	}
21112}
21113
21114const (
21115	// SortOrderAscending is a SortOrder enum value
21116	SortOrderAscending = "Ascending"
21117
21118	// SortOrderDescending is a SortOrder enum value
21119	SortOrderDescending = "Descending"
21120)
21121
21122// SortOrder_Values returns all elements of the SortOrder enum
21123func SortOrder_Values() []string {
21124	return []string{
21125		SortOrderAscending,
21126		SortOrderDescending,
21127	}
21128}
21129