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 opCreateIntent = "CreateIntent"
472
473// CreateIntentRequest generates a "aws/request.Request" representing the
474// client's request for the CreateIntent 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 CreateIntent for more information on using the CreateIntent
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 CreateIntentRequest method.
489//    req, resp := client.CreateIntentRequest(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/CreateIntent
497func (c *LexModelsV2) CreateIntentRequest(input *CreateIntentInput) (req *request.Request, output *CreateIntentOutput) {
498	op := &request.Operation{
499		Name:       opCreateIntent,
500		HTTPMethod: "PUT",
501		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/",
502	}
503
504	if input == nil {
505		input = &CreateIntentInput{}
506	}
507
508	output = &CreateIntentOutput{}
509	req = c.newRequest(op, input, output)
510	return
511}
512
513// CreateIntent API operation for Amazon Lex Model Building V2.
514//
515// Creates an intent.
516//
517// To define the interaction between the user and your bot, you define one or
518// more intents. For example, for a pizza ordering bot you would create an OrderPizza
519// intent.
520//
521// When you create an intent, you must provide a name. You can optionally provide
522// the following:
523//
524//    * Sample utterances. For example, "I want to order a pizza" and "Can I
525//    order a pizza." You can't provide utterances for built-in intents.
526//
527//    * Information to be gathered. You specify slots for the information that
528//    you bot requests from the user. You can specify standard slot types, such
529//    as date and time, or custom slot types for your application.
530//
531//    * How the intent is fulfilled. You can provide a Lambda function or configure
532//    the intent to return the intent information to your client application.
533//    If you use a Lambda function, Amazon Lex invokes the function when all
534//    of the intent information is available.
535//
536//    * A confirmation prompt to send to the user to confirm an intent. For
537//    example, "Shall I order your pizza?"
538//
539//    * A conclusion statement to send to the user after the intent is fulfilled.
540//    For example, "I ordered your pizza."
541//
542//    * A follow-up prompt that asks the user for additional activity. For example,
543//    "Do you want a drink with your pizza?"
544//
545// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
546// with awserr.Error's Code and Message methods to get detailed information about
547// the error.
548//
549// See the AWS API reference guide for Amazon Lex Model Building V2's
550// API operation CreateIntent for usage and error information.
551//
552// Returned Error Types:
553//   * ThrottlingException
554//
555//   * ServiceQuotaExceededException
556//
557//   * ValidationException
558//
559//   * PreconditionFailedException
560//
561//   * ConflictException
562//
563//   * InternalServerException
564//
565// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateIntent
566func (c *LexModelsV2) CreateIntent(input *CreateIntentInput) (*CreateIntentOutput, error) {
567	req, out := c.CreateIntentRequest(input)
568	return out, req.Send()
569}
570
571// CreateIntentWithContext is the same as CreateIntent with the addition of
572// the ability to pass a context and additional request options.
573//
574// See CreateIntent for details on how to use this API operation.
575//
576// The context must be non-nil and will be used for request cancellation. If
577// the context is nil a panic will occur. In the future the SDK may create
578// sub-contexts for http.Requests. See https://golang.org/pkg/context/
579// for more information on using Contexts.
580func (c *LexModelsV2) CreateIntentWithContext(ctx aws.Context, input *CreateIntentInput, opts ...request.Option) (*CreateIntentOutput, error) {
581	req, out := c.CreateIntentRequest(input)
582	req.SetContext(ctx)
583	req.ApplyOptions(opts...)
584	return out, req.Send()
585}
586
587const opCreateSlot = "CreateSlot"
588
589// CreateSlotRequest generates a "aws/request.Request" representing the
590// client's request for the CreateSlot operation. The "output" return
591// value will be populated with the request's response once the request completes
592// successfully.
593//
594// Use "Send" method on the returned Request to send the API call to the service.
595// the "output" return value is not valid until after Send returns without error.
596//
597// See CreateSlot for more information on using the CreateSlot
598// API call, and error handling.
599//
600// This method is useful when you want to inject custom logic or configuration
601// into the SDK's request lifecycle. Such as custom headers, or retry logic.
602//
603//
604//    // Example sending a request using the CreateSlotRequest method.
605//    req, resp := client.CreateSlotRequest(params)
606//
607//    err := req.Send()
608//    if err == nil { // resp is now filled
609//        fmt.Println(resp)
610//    }
611//
612// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateSlot
613func (c *LexModelsV2) CreateSlotRequest(input *CreateSlotInput) (req *request.Request, output *CreateSlotOutput) {
614	op := &request.Operation{
615		Name:       opCreateSlot,
616		HTTPMethod: "PUT",
617		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/slots/",
618	}
619
620	if input == nil {
621		input = &CreateSlotInput{}
622	}
623
624	output = &CreateSlotOutput{}
625	req = c.newRequest(op, input, output)
626	return
627}
628
629// CreateSlot API operation for Amazon Lex Model Building V2.
630//
631// Creates a slot in an intent. A slot is a variable needed to fulfill an intent.
632// For example, an OrderPizza intent might need slots for size, crust, and number
633// of pizzas. For each slot, you define one or more utterances that Amazon Lex
634// uses to elicit a response from the user.
635//
636// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
637// with awserr.Error's Code and Message methods to get detailed information about
638// the error.
639//
640// See the AWS API reference guide for Amazon Lex Model Building V2's
641// API operation CreateSlot for usage and error information.
642//
643// Returned Error Types:
644//   * ThrottlingException
645//
646//   * ServiceQuotaExceededException
647//
648//   * ValidationException
649//
650//   * PreconditionFailedException
651//
652//   * ConflictException
653//
654//   * InternalServerException
655//
656// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateSlot
657func (c *LexModelsV2) CreateSlot(input *CreateSlotInput) (*CreateSlotOutput, error) {
658	req, out := c.CreateSlotRequest(input)
659	return out, req.Send()
660}
661
662// CreateSlotWithContext is the same as CreateSlot with the addition of
663// the ability to pass a context and additional request options.
664//
665// See CreateSlot for details on how to use this API operation.
666//
667// The context must be non-nil and will be used for request cancellation. If
668// the context is nil a panic will occur. In the future the SDK may create
669// sub-contexts for http.Requests. See https://golang.org/pkg/context/
670// for more information on using Contexts.
671func (c *LexModelsV2) CreateSlotWithContext(ctx aws.Context, input *CreateSlotInput, opts ...request.Option) (*CreateSlotOutput, error) {
672	req, out := c.CreateSlotRequest(input)
673	req.SetContext(ctx)
674	req.ApplyOptions(opts...)
675	return out, req.Send()
676}
677
678const opCreateSlotType = "CreateSlotType"
679
680// CreateSlotTypeRequest generates a "aws/request.Request" representing the
681// client's request for the CreateSlotType operation. The "output" return
682// value will be populated with the request's response once the request completes
683// successfully.
684//
685// Use "Send" method on the returned Request to send the API call to the service.
686// the "output" return value is not valid until after Send returns without error.
687//
688// See CreateSlotType for more information on using the CreateSlotType
689// API call, and error handling.
690//
691// This method is useful when you want to inject custom logic or configuration
692// into the SDK's request lifecycle. Such as custom headers, or retry logic.
693//
694//
695//    // Example sending a request using the CreateSlotTypeRequest method.
696//    req, resp := client.CreateSlotTypeRequest(params)
697//
698//    err := req.Send()
699//    if err == nil { // resp is now filled
700//        fmt.Println(resp)
701//    }
702//
703// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateSlotType
704func (c *LexModelsV2) CreateSlotTypeRequest(input *CreateSlotTypeInput) (req *request.Request, output *CreateSlotTypeOutput) {
705	op := &request.Operation{
706		Name:       opCreateSlotType,
707		HTTPMethod: "PUT",
708		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/slottypes/",
709	}
710
711	if input == nil {
712		input = &CreateSlotTypeInput{}
713	}
714
715	output = &CreateSlotTypeOutput{}
716	req = c.newRequest(op, input, output)
717	return
718}
719
720// CreateSlotType API operation for Amazon Lex Model Building V2.
721//
722// Creates a custom slot type
723//
724// To create a custom slot type, specify a name for the slot type and a set
725// of enumeration values, the values that a slot of this type can assume.
726//
727// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
728// with awserr.Error's Code and Message methods to get detailed information about
729// the error.
730//
731// See the AWS API reference guide for Amazon Lex Model Building V2's
732// API operation CreateSlotType for usage and error information.
733//
734// Returned Error Types:
735//   * ThrottlingException
736//
737//   * ServiceQuotaExceededException
738//
739//   * ValidationException
740//
741//   * PreconditionFailedException
742//
743//   * ConflictException
744//
745//   * InternalServerException
746//
747// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/CreateSlotType
748func (c *LexModelsV2) CreateSlotType(input *CreateSlotTypeInput) (*CreateSlotTypeOutput, error) {
749	req, out := c.CreateSlotTypeRequest(input)
750	return out, req.Send()
751}
752
753// CreateSlotTypeWithContext is the same as CreateSlotType with the addition of
754// the ability to pass a context and additional request options.
755//
756// See CreateSlotType for details on how to use this API operation.
757//
758// The context must be non-nil and will be used for request cancellation. If
759// the context is nil a panic will occur. In the future the SDK may create
760// sub-contexts for http.Requests. See https://golang.org/pkg/context/
761// for more information on using Contexts.
762func (c *LexModelsV2) CreateSlotTypeWithContext(ctx aws.Context, input *CreateSlotTypeInput, opts ...request.Option) (*CreateSlotTypeOutput, error) {
763	req, out := c.CreateSlotTypeRequest(input)
764	req.SetContext(ctx)
765	req.ApplyOptions(opts...)
766	return out, req.Send()
767}
768
769const opDeleteBot = "DeleteBot"
770
771// DeleteBotRequest generates a "aws/request.Request" representing the
772// client's request for the DeleteBot operation. The "output" return
773// value will be populated with the request's response once the request completes
774// successfully.
775//
776// Use "Send" method on the returned Request to send the API call to the service.
777// the "output" return value is not valid until after Send returns without error.
778//
779// See DeleteBot for more information on using the DeleteBot
780// API call, and error handling.
781//
782// This method is useful when you want to inject custom logic or configuration
783// into the SDK's request lifecycle. Such as custom headers, or retry logic.
784//
785//
786//    // Example sending a request using the DeleteBotRequest method.
787//    req, resp := client.DeleteBotRequest(params)
788//
789//    err := req.Send()
790//    if err == nil { // resp is now filled
791//        fmt.Println(resp)
792//    }
793//
794// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteBot
795func (c *LexModelsV2) DeleteBotRequest(input *DeleteBotInput) (req *request.Request, output *DeleteBotOutput) {
796	op := &request.Operation{
797		Name:       opDeleteBot,
798		HTTPMethod: "DELETE",
799		HTTPPath:   "/bots/{botId}/",
800	}
801
802	if input == nil {
803		input = &DeleteBotInput{}
804	}
805
806	output = &DeleteBotOutput{}
807	req = c.newRequest(op, input, output)
808	return
809}
810
811// DeleteBot API operation for Amazon Lex Model Building V2.
812//
813// Deletes all versions of a bot, including the Draft version. To delete a specific
814// version, use the DeleteBotVersion operation.
815//
816// When you delete a bot, all of the resources contained in the bot are also
817// deleted. Deleting a bot removes all locales, intents, slot, and slot types
818// defined for the bot.
819//
820// If a bot has an alias, the DeleteBot operation returns a ResourceInUseException
821// exception. If you want to delete the bot and the alias, set the skipResourceInUseCheck
822// parameter to true.
823//
824// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
825// with awserr.Error's Code and Message methods to get detailed information about
826// the error.
827//
828// See the AWS API reference guide for Amazon Lex Model Building V2's
829// API operation DeleteBot for usage and error information.
830//
831// Returned Error Types:
832//   * ThrottlingException
833//
834//   * ServiceQuotaExceededException
835//
836//   * ValidationException
837//
838//   * ConflictException
839//
840//   * PreconditionFailedException
841//
842//   * InternalServerException
843//
844// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteBot
845func (c *LexModelsV2) DeleteBot(input *DeleteBotInput) (*DeleteBotOutput, error) {
846	req, out := c.DeleteBotRequest(input)
847	return out, req.Send()
848}
849
850// DeleteBotWithContext is the same as DeleteBot with the addition of
851// the ability to pass a context and additional request options.
852//
853// See DeleteBot 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) DeleteBotWithContext(ctx aws.Context, input *DeleteBotInput, opts ...request.Option) (*DeleteBotOutput, error) {
860	req, out := c.DeleteBotRequest(input)
861	req.SetContext(ctx)
862	req.ApplyOptions(opts...)
863	return out, req.Send()
864}
865
866const opDeleteBotAlias = "DeleteBotAlias"
867
868// DeleteBotAliasRequest generates a "aws/request.Request" representing the
869// client's request for the DeleteBotAlias 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 DeleteBotAlias for more information on using the DeleteBotAlias
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 DeleteBotAliasRequest method.
884//    req, resp := client.DeleteBotAliasRequest(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/DeleteBotAlias
892func (c *LexModelsV2) DeleteBotAliasRequest(input *DeleteBotAliasInput) (req *request.Request, output *DeleteBotAliasOutput) {
893	op := &request.Operation{
894		Name:       opDeleteBotAlias,
895		HTTPMethod: "DELETE",
896		HTTPPath:   "/bots/{botId}/botaliases/{botAliasId}/",
897	}
898
899	if input == nil {
900		input = &DeleteBotAliasInput{}
901	}
902
903	output = &DeleteBotAliasOutput{}
904	req = c.newRequest(op, input, output)
905	return
906}
907
908// DeleteBotAlias API operation for Amazon Lex Model Building V2.
909//
910// Deletes the specified bot alias.
911//
912// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
913// with awserr.Error's Code and Message methods to get detailed information about
914// the error.
915//
916// See the AWS API reference guide for Amazon Lex Model Building V2's
917// API operation DeleteBotAlias for usage and error information.
918//
919// Returned Error Types:
920//   * ThrottlingException
921//
922//   * ServiceQuotaExceededException
923//
924//   * ValidationException
925//
926//   * ConflictException
927//
928//   * PreconditionFailedException
929//
930//   * InternalServerException
931//
932// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteBotAlias
933func (c *LexModelsV2) DeleteBotAlias(input *DeleteBotAliasInput) (*DeleteBotAliasOutput, error) {
934	req, out := c.DeleteBotAliasRequest(input)
935	return out, req.Send()
936}
937
938// DeleteBotAliasWithContext is the same as DeleteBotAlias with the addition of
939// the ability to pass a context and additional request options.
940//
941// See DeleteBotAlias for details on how to use this API operation.
942//
943// The context must be non-nil and will be used for request cancellation. If
944// the context is nil a panic will occur. In the future the SDK may create
945// sub-contexts for http.Requests. See https://golang.org/pkg/context/
946// for more information on using Contexts.
947func (c *LexModelsV2) DeleteBotAliasWithContext(ctx aws.Context, input *DeleteBotAliasInput, opts ...request.Option) (*DeleteBotAliasOutput, error) {
948	req, out := c.DeleteBotAliasRequest(input)
949	req.SetContext(ctx)
950	req.ApplyOptions(opts...)
951	return out, req.Send()
952}
953
954const opDeleteBotLocale = "DeleteBotLocale"
955
956// DeleteBotLocaleRequest generates a "aws/request.Request" representing the
957// client's request for the DeleteBotLocale operation. The "output" return
958// value will be populated with the request's response once the request completes
959// successfully.
960//
961// Use "Send" method on the returned Request to send the API call to the service.
962// the "output" return value is not valid until after Send returns without error.
963//
964// See DeleteBotLocale for more information on using the DeleteBotLocale
965// API call, and error handling.
966//
967// This method is useful when you want to inject custom logic or configuration
968// into the SDK's request lifecycle. Such as custom headers, or retry logic.
969//
970//
971//    // Example sending a request using the DeleteBotLocaleRequest method.
972//    req, resp := client.DeleteBotLocaleRequest(params)
973//
974//    err := req.Send()
975//    if err == nil { // resp is now filled
976//        fmt.Println(resp)
977//    }
978//
979// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteBotLocale
980func (c *LexModelsV2) DeleteBotLocaleRequest(input *DeleteBotLocaleInput) (req *request.Request, output *DeleteBotLocaleOutput) {
981	op := &request.Operation{
982		Name:       opDeleteBotLocale,
983		HTTPMethod: "DELETE",
984		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/",
985	}
986
987	if input == nil {
988		input = &DeleteBotLocaleInput{}
989	}
990
991	output = &DeleteBotLocaleOutput{}
992	req = c.newRequest(op, input, output)
993	return
994}
995
996// DeleteBotLocale API operation for Amazon Lex Model Building V2.
997//
998// Removes a locale from a bot.
999//
1000// When you delete a locale, all intents, slots, and slot types defined for
1001// the locale are also deleted.
1002//
1003// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1004// with awserr.Error's Code and Message methods to get detailed information about
1005// the error.
1006//
1007// See the AWS API reference guide for Amazon Lex Model Building V2's
1008// API operation DeleteBotLocale for usage and error information.
1009//
1010// Returned Error Types:
1011//   * ThrottlingException
1012//
1013//   * ServiceQuotaExceededException
1014//
1015//   * ValidationException
1016//
1017//   * PreconditionFailedException
1018//
1019//   * ConflictException
1020//
1021//   * InternalServerException
1022//
1023// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteBotLocale
1024func (c *LexModelsV2) DeleteBotLocale(input *DeleteBotLocaleInput) (*DeleteBotLocaleOutput, error) {
1025	req, out := c.DeleteBotLocaleRequest(input)
1026	return out, req.Send()
1027}
1028
1029// DeleteBotLocaleWithContext is the same as DeleteBotLocale with the addition of
1030// the ability to pass a context and additional request options.
1031//
1032// See DeleteBotLocale for details on how to use this API operation.
1033//
1034// The context must be non-nil and will be used for request cancellation. If
1035// the context is nil a panic will occur. In the future the SDK may create
1036// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1037// for more information on using Contexts.
1038func (c *LexModelsV2) DeleteBotLocaleWithContext(ctx aws.Context, input *DeleteBotLocaleInput, opts ...request.Option) (*DeleteBotLocaleOutput, error) {
1039	req, out := c.DeleteBotLocaleRequest(input)
1040	req.SetContext(ctx)
1041	req.ApplyOptions(opts...)
1042	return out, req.Send()
1043}
1044
1045const opDeleteBotVersion = "DeleteBotVersion"
1046
1047// DeleteBotVersionRequest generates a "aws/request.Request" representing the
1048// client's request for the DeleteBotVersion operation. The "output" return
1049// value will be populated with the request's response once the request completes
1050// successfully.
1051//
1052// Use "Send" method on the returned Request to send the API call to the service.
1053// the "output" return value is not valid until after Send returns without error.
1054//
1055// See DeleteBotVersion for more information on using the DeleteBotVersion
1056// API call, and error handling.
1057//
1058// This method is useful when you want to inject custom logic or configuration
1059// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1060//
1061//
1062//    // Example sending a request using the DeleteBotVersionRequest method.
1063//    req, resp := client.DeleteBotVersionRequest(params)
1064//
1065//    err := req.Send()
1066//    if err == nil { // resp is now filled
1067//        fmt.Println(resp)
1068//    }
1069//
1070// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteBotVersion
1071func (c *LexModelsV2) DeleteBotVersionRequest(input *DeleteBotVersionInput) (req *request.Request, output *DeleteBotVersionOutput) {
1072	op := &request.Operation{
1073		Name:       opDeleteBotVersion,
1074		HTTPMethod: "DELETE",
1075		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/",
1076	}
1077
1078	if input == nil {
1079		input = &DeleteBotVersionInput{}
1080	}
1081
1082	output = &DeleteBotVersionOutput{}
1083	req = c.newRequest(op, input, output)
1084	return
1085}
1086
1087// DeleteBotVersion API operation for Amazon Lex Model Building V2.
1088//
1089// Deletes a specific version of a bot. To delete all version of a bot, use
1090// the DeleteBot operation.
1091//
1092// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1093// with awserr.Error's Code and Message methods to get detailed information about
1094// the error.
1095//
1096// See the AWS API reference guide for Amazon Lex Model Building V2's
1097// API operation DeleteBotVersion for usage and error information.
1098//
1099// Returned Error Types:
1100//   * ThrottlingException
1101//
1102//   * ServiceQuotaExceededException
1103//
1104//   * ValidationException
1105//
1106//   * ConflictException
1107//
1108//   * PreconditionFailedException
1109//
1110//   * InternalServerException
1111//
1112// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteBotVersion
1113func (c *LexModelsV2) DeleteBotVersion(input *DeleteBotVersionInput) (*DeleteBotVersionOutput, error) {
1114	req, out := c.DeleteBotVersionRequest(input)
1115	return out, req.Send()
1116}
1117
1118// DeleteBotVersionWithContext is the same as DeleteBotVersion with the addition of
1119// the ability to pass a context and additional request options.
1120//
1121// See DeleteBotVersion for details on how to use this API operation.
1122//
1123// The context must be non-nil and will be used for request cancellation. If
1124// the context is nil a panic will occur. In the future the SDK may create
1125// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1126// for more information on using Contexts.
1127func (c *LexModelsV2) DeleteBotVersionWithContext(ctx aws.Context, input *DeleteBotVersionInput, opts ...request.Option) (*DeleteBotVersionOutput, error) {
1128	req, out := c.DeleteBotVersionRequest(input)
1129	req.SetContext(ctx)
1130	req.ApplyOptions(opts...)
1131	return out, req.Send()
1132}
1133
1134const opDeleteIntent = "DeleteIntent"
1135
1136// DeleteIntentRequest generates a "aws/request.Request" representing the
1137// client's request for the DeleteIntent operation. The "output" return
1138// value will be populated with the request's response once the request completes
1139// successfully.
1140//
1141// Use "Send" method on the returned Request to send the API call to the service.
1142// the "output" return value is not valid until after Send returns without error.
1143//
1144// See DeleteIntent for more information on using the DeleteIntent
1145// API call, and error handling.
1146//
1147// This method is useful when you want to inject custom logic or configuration
1148// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1149//
1150//
1151//    // Example sending a request using the DeleteIntentRequest method.
1152//    req, resp := client.DeleteIntentRequest(params)
1153//
1154//    err := req.Send()
1155//    if err == nil { // resp is now filled
1156//        fmt.Println(resp)
1157//    }
1158//
1159// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteIntent
1160func (c *LexModelsV2) DeleteIntentRequest(input *DeleteIntentInput) (req *request.Request, output *DeleteIntentOutput) {
1161	op := &request.Operation{
1162		Name:       opDeleteIntent,
1163		HTTPMethod: "DELETE",
1164		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/",
1165	}
1166
1167	if input == nil {
1168		input = &DeleteIntentInput{}
1169	}
1170
1171	output = &DeleteIntentOutput{}
1172	req = c.newRequest(op, input, output)
1173	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1174	return
1175}
1176
1177// DeleteIntent API operation for Amazon Lex Model Building V2.
1178//
1179// Removes the specified intent.
1180//
1181// Deleting an intent also deletes the slots associated with the intent.
1182//
1183// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1184// with awserr.Error's Code and Message methods to get detailed information about
1185// the error.
1186//
1187// See the AWS API reference guide for Amazon Lex Model Building V2's
1188// API operation DeleteIntent for usage and error information.
1189//
1190// Returned Error Types:
1191//   * ThrottlingException
1192//
1193//   * ServiceQuotaExceededException
1194//
1195//   * ValidationException
1196//
1197//   * ConflictException
1198//
1199//   * PreconditionFailedException
1200//
1201//   * InternalServerException
1202//
1203// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteIntent
1204func (c *LexModelsV2) DeleteIntent(input *DeleteIntentInput) (*DeleteIntentOutput, error) {
1205	req, out := c.DeleteIntentRequest(input)
1206	return out, req.Send()
1207}
1208
1209// DeleteIntentWithContext is the same as DeleteIntent with the addition of
1210// the ability to pass a context and additional request options.
1211//
1212// See DeleteIntent for details on how to use this API operation.
1213//
1214// The context must be non-nil and will be used for request cancellation. If
1215// the context is nil a panic will occur. In the future the SDK may create
1216// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1217// for more information on using Contexts.
1218func (c *LexModelsV2) DeleteIntentWithContext(ctx aws.Context, input *DeleteIntentInput, opts ...request.Option) (*DeleteIntentOutput, error) {
1219	req, out := c.DeleteIntentRequest(input)
1220	req.SetContext(ctx)
1221	req.ApplyOptions(opts...)
1222	return out, req.Send()
1223}
1224
1225const opDeleteSlot = "DeleteSlot"
1226
1227// DeleteSlotRequest generates a "aws/request.Request" representing the
1228// client's request for the DeleteSlot operation. The "output" return
1229// value will be populated with the request's response once the request completes
1230// successfully.
1231//
1232// Use "Send" method on the returned Request to send the API call to the service.
1233// the "output" return value is not valid until after Send returns without error.
1234//
1235// See DeleteSlot for more information on using the DeleteSlot
1236// API call, and error handling.
1237//
1238// This method is useful when you want to inject custom logic or configuration
1239// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1240//
1241//
1242//    // Example sending a request using the DeleteSlotRequest method.
1243//    req, resp := client.DeleteSlotRequest(params)
1244//
1245//    err := req.Send()
1246//    if err == nil { // resp is now filled
1247//        fmt.Println(resp)
1248//    }
1249//
1250// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteSlot
1251func (c *LexModelsV2) DeleteSlotRequest(input *DeleteSlotInput) (req *request.Request, output *DeleteSlotOutput) {
1252	op := &request.Operation{
1253		Name:       opDeleteSlot,
1254		HTTPMethod: "DELETE",
1255		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/slots/{slotId}/",
1256	}
1257
1258	if input == nil {
1259		input = &DeleteSlotInput{}
1260	}
1261
1262	output = &DeleteSlotOutput{}
1263	req = c.newRequest(op, input, output)
1264	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1265	return
1266}
1267
1268// DeleteSlot API operation for Amazon Lex Model Building V2.
1269//
1270// Deletes the specified slot from an intent.
1271//
1272// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1273// with awserr.Error's Code and Message methods to get detailed information about
1274// the error.
1275//
1276// See the AWS API reference guide for Amazon Lex Model Building V2's
1277// API operation DeleteSlot for usage and error information.
1278//
1279// Returned Error Types:
1280//   * ThrottlingException
1281//
1282//   * ServiceQuotaExceededException
1283//
1284//   * ValidationException
1285//
1286//   * ConflictException
1287//
1288//   * PreconditionFailedException
1289//
1290//   * InternalServerException
1291//
1292// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteSlot
1293func (c *LexModelsV2) DeleteSlot(input *DeleteSlotInput) (*DeleteSlotOutput, error) {
1294	req, out := c.DeleteSlotRequest(input)
1295	return out, req.Send()
1296}
1297
1298// DeleteSlotWithContext is the same as DeleteSlot with the addition of
1299// the ability to pass a context and additional request options.
1300//
1301// See DeleteSlot for details on how to use this API operation.
1302//
1303// The context must be non-nil and will be used for request cancellation. If
1304// the context is nil a panic will occur. In the future the SDK may create
1305// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1306// for more information on using Contexts.
1307func (c *LexModelsV2) DeleteSlotWithContext(ctx aws.Context, input *DeleteSlotInput, opts ...request.Option) (*DeleteSlotOutput, error) {
1308	req, out := c.DeleteSlotRequest(input)
1309	req.SetContext(ctx)
1310	req.ApplyOptions(opts...)
1311	return out, req.Send()
1312}
1313
1314const opDeleteSlotType = "DeleteSlotType"
1315
1316// DeleteSlotTypeRequest generates a "aws/request.Request" representing the
1317// client's request for the DeleteSlotType operation. The "output" return
1318// value will be populated with the request's response once the request completes
1319// successfully.
1320//
1321// Use "Send" method on the returned Request to send the API call to the service.
1322// the "output" return value is not valid until after Send returns without error.
1323//
1324// See DeleteSlotType for more information on using the DeleteSlotType
1325// API call, and error handling.
1326//
1327// This method is useful when you want to inject custom logic or configuration
1328// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1329//
1330//
1331//    // Example sending a request using the DeleteSlotTypeRequest method.
1332//    req, resp := client.DeleteSlotTypeRequest(params)
1333//
1334//    err := req.Send()
1335//    if err == nil { // resp is now filled
1336//        fmt.Println(resp)
1337//    }
1338//
1339// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteSlotType
1340func (c *LexModelsV2) DeleteSlotTypeRequest(input *DeleteSlotTypeInput) (req *request.Request, output *DeleteSlotTypeOutput) {
1341	op := &request.Operation{
1342		Name:       opDeleteSlotType,
1343		HTTPMethod: "DELETE",
1344		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/slottypes/{slotTypeId}/",
1345	}
1346
1347	if input == nil {
1348		input = &DeleteSlotTypeInput{}
1349	}
1350
1351	output = &DeleteSlotTypeOutput{}
1352	req = c.newRequest(op, input, output)
1353	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1354	return
1355}
1356
1357// DeleteSlotType API operation for Amazon Lex Model Building V2.
1358//
1359// Deletes a slot type from a bot locale.
1360//
1361// If a slot is using the slot type, Amazon Lex throws a ResourceInUseException
1362// exception. To avoid the exception, set the skipResourceInUseCheck parameter
1363// to true.
1364//
1365// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1366// with awserr.Error's Code and Message methods to get detailed information about
1367// the error.
1368//
1369// See the AWS API reference guide for Amazon Lex Model Building V2's
1370// API operation DeleteSlotType for usage and error information.
1371//
1372// Returned Error Types:
1373//   * ThrottlingException
1374//
1375//   * ServiceQuotaExceededException
1376//
1377//   * ValidationException
1378//
1379//   * ConflictException
1380//
1381//   * PreconditionFailedException
1382//
1383//   * InternalServerException
1384//
1385// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DeleteSlotType
1386func (c *LexModelsV2) DeleteSlotType(input *DeleteSlotTypeInput) (*DeleteSlotTypeOutput, error) {
1387	req, out := c.DeleteSlotTypeRequest(input)
1388	return out, req.Send()
1389}
1390
1391// DeleteSlotTypeWithContext is the same as DeleteSlotType with the addition of
1392// the ability to pass a context and additional request options.
1393//
1394// See DeleteSlotType for details on how to use this API operation.
1395//
1396// The context must be non-nil and will be used for request cancellation. If
1397// the context is nil a panic will occur. In the future the SDK may create
1398// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1399// for more information on using Contexts.
1400func (c *LexModelsV2) DeleteSlotTypeWithContext(ctx aws.Context, input *DeleteSlotTypeInput, opts ...request.Option) (*DeleteSlotTypeOutput, error) {
1401	req, out := c.DeleteSlotTypeRequest(input)
1402	req.SetContext(ctx)
1403	req.ApplyOptions(opts...)
1404	return out, req.Send()
1405}
1406
1407const opDescribeBot = "DescribeBot"
1408
1409// DescribeBotRequest generates a "aws/request.Request" representing the
1410// client's request for the DescribeBot operation. The "output" return
1411// value will be populated with the request's response once the request completes
1412// successfully.
1413//
1414// Use "Send" method on the returned Request to send the API call to the service.
1415// the "output" return value is not valid until after Send returns without error.
1416//
1417// See DescribeBot for more information on using the DescribeBot
1418// API call, and error handling.
1419//
1420// This method is useful when you want to inject custom logic or configuration
1421// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1422//
1423//
1424//    // Example sending a request using the DescribeBotRequest method.
1425//    req, resp := client.DescribeBotRequest(params)
1426//
1427//    err := req.Send()
1428//    if err == nil { // resp is now filled
1429//        fmt.Println(resp)
1430//    }
1431//
1432// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBot
1433func (c *LexModelsV2) DescribeBotRequest(input *DescribeBotInput) (req *request.Request, output *DescribeBotOutput) {
1434	op := &request.Operation{
1435		Name:       opDescribeBot,
1436		HTTPMethod: "GET",
1437		HTTPPath:   "/bots/{botId}/",
1438	}
1439
1440	if input == nil {
1441		input = &DescribeBotInput{}
1442	}
1443
1444	output = &DescribeBotOutput{}
1445	req = c.newRequest(op, input, output)
1446	return
1447}
1448
1449// DescribeBot API operation for Amazon Lex Model Building V2.
1450//
1451// Provides metadata information about a bot.
1452//
1453// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1454// with awserr.Error's Code and Message methods to get detailed information about
1455// the error.
1456//
1457// See the AWS API reference guide for Amazon Lex Model Building V2's
1458// API operation DescribeBot for usage and error information.
1459//
1460// Returned Error Types:
1461//   * ThrottlingException
1462//
1463//   * ServiceQuotaExceededException
1464//
1465//   * ValidationException
1466//
1467//   * ResourceNotFoundException
1468//
1469//   * InternalServerException
1470//
1471// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBot
1472func (c *LexModelsV2) DescribeBot(input *DescribeBotInput) (*DescribeBotOutput, error) {
1473	req, out := c.DescribeBotRequest(input)
1474	return out, req.Send()
1475}
1476
1477// DescribeBotWithContext is the same as DescribeBot with the addition of
1478// the ability to pass a context and additional request options.
1479//
1480// See DescribeBot for details on how to use this API operation.
1481//
1482// The context must be non-nil and will be used for request cancellation. If
1483// the context is nil a panic will occur. In the future the SDK may create
1484// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1485// for more information on using Contexts.
1486func (c *LexModelsV2) DescribeBotWithContext(ctx aws.Context, input *DescribeBotInput, opts ...request.Option) (*DescribeBotOutput, error) {
1487	req, out := c.DescribeBotRequest(input)
1488	req.SetContext(ctx)
1489	req.ApplyOptions(opts...)
1490	return out, req.Send()
1491}
1492
1493const opDescribeBotAlias = "DescribeBotAlias"
1494
1495// DescribeBotAliasRequest generates a "aws/request.Request" representing the
1496// client's request for the DescribeBotAlias operation. The "output" return
1497// value will be populated with the request's response once the request completes
1498// successfully.
1499//
1500// Use "Send" method on the returned Request to send the API call to the service.
1501// the "output" return value is not valid until after Send returns without error.
1502//
1503// See DescribeBotAlias for more information on using the DescribeBotAlias
1504// API call, and error handling.
1505//
1506// This method is useful when you want to inject custom logic or configuration
1507// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1508//
1509//
1510//    // Example sending a request using the DescribeBotAliasRequest method.
1511//    req, resp := client.DescribeBotAliasRequest(params)
1512//
1513//    err := req.Send()
1514//    if err == nil { // resp is now filled
1515//        fmt.Println(resp)
1516//    }
1517//
1518// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBotAlias
1519func (c *LexModelsV2) DescribeBotAliasRequest(input *DescribeBotAliasInput) (req *request.Request, output *DescribeBotAliasOutput) {
1520	op := &request.Operation{
1521		Name:       opDescribeBotAlias,
1522		HTTPMethod: "GET",
1523		HTTPPath:   "/bots/{botId}/botaliases/{botAliasId}/",
1524	}
1525
1526	if input == nil {
1527		input = &DescribeBotAliasInput{}
1528	}
1529
1530	output = &DescribeBotAliasOutput{}
1531	req = c.newRequest(op, input, output)
1532	return
1533}
1534
1535// DescribeBotAlias API operation for Amazon Lex Model Building V2.
1536//
1537// Get information about a specific bot alias.
1538//
1539// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1540// with awserr.Error's Code and Message methods to get detailed information about
1541// the error.
1542//
1543// See the AWS API reference guide for Amazon Lex Model Building V2's
1544// API operation DescribeBotAlias for usage and error information.
1545//
1546// Returned Error Types:
1547//   * ThrottlingException
1548//
1549//   * ServiceQuotaExceededException
1550//
1551//   * ValidationException
1552//
1553//   * ResourceNotFoundException
1554//
1555//   * InternalServerException
1556//
1557// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBotAlias
1558func (c *LexModelsV2) DescribeBotAlias(input *DescribeBotAliasInput) (*DescribeBotAliasOutput, error) {
1559	req, out := c.DescribeBotAliasRequest(input)
1560	return out, req.Send()
1561}
1562
1563// DescribeBotAliasWithContext is the same as DescribeBotAlias with the addition of
1564// the ability to pass a context and additional request options.
1565//
1566// See DescribeBotAlias for details on how to use this API operation.
1567//
1568// The context must be non-nil and will be used for request cancellation. If
1569// the context is nil a panic will occur. In the future the SDK may create
1570// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1571// for more information on using Contexts.
1572func (c *LexModelsV2) DescribeBotAliasWithContext(ctx aws.Context, input *DescribeBotAliasInput, opts ...request.Option) (*DescribeBotAliasOutput, error) {
1573	req, out := c.DescribeBotAliasRequest(input)
1574	req.SetContext(ctx)
1575	req.ApplyOptions(opts...)
1576	return out, req.Send()
1577}
1578
1579const opDescribeBotLocale = "DescribeBotLocale"
1580
1581// DescribeBotLocaleRequest generates a "aws/request.Request" representing the
1582// client's request for the DescribeBotLocale operation. The "output" return
1583// value will be populated with the request's response once the request completes
1584// successfully.
1585//
1586// Use "Send" method on the returned Request to send the API call to the service.
1587// the "output" return value is not valid until after Send returns without error.
1588//
1589// See DescribeBotLocale for more information on using the DescribeBotLocale
1590// API call, and error handling.
1591//
1592// This method is useful when you want to inject custom logic or configuration
1593// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1594//
1595//
1596//    // Example sending a request using the DescribeBotLocaleRequest method.
1597//    req, resp := client.DescribeBotLocaleRequest(params)
1598//
1599//    err := req.Send()
1600//    if err == nil { // resp is now filled
1601//        fmt.Println(resp)
1602//    }
1603//
1604// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBotLocale
1605func (c *LexModelsV2) DescribeBotLocaleRequest(input *DescribeBotLocaleInput) (req *request.Request, output *DescribeBotLocaleOutput) {
1606	op := &request.Operation{
1607		Name:       opDescribeBotLocale,
1608		HTTPMethod: "GET",
1609		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/",
1610	}
1611
1612	if input == nil {
1613		input = &DescribeBotLocaleInput{}
1614	}
1615
1616	output = &DescribeBotLocaleOutput{}
1617	req = c.newRequest(op, input, output)
1618	return
1619}
1620
1621// DescribeBotLocale API operation for Amazon Lex Model Building V2.
1622//
1623// Describes the settings that a bot has for a specific locale.
1624//
1625// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1626// with awserr.Error's Code and Message methods to get detailed information about
1627// the error.
1628//
1629// See the AWS API reference guide for Amazon Lex Model Building V2's
1630// API operation DescribeBotLocale for usage and error information.
1631//
1632// Returned Error Types:
1633//   * ThrottlingException
1634//
1635//   * ServiceQuotaExceededException
1636//
1637//   * ValidationException
1638//
1639//   * ResourceNotFoundException
1640//
1641//   * InternalServerException
1642//
1643// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBotLocale
1644func (c *LexModelsV2) DescribeBotLocale(input *DescribeBotLocaleInput) (*DescribeBotLocaleOutput, error) {
1645	req, out := c.DescribeBotLocaleRequest(input)
1646	return out, req.Send()
1647}
1648
1649// DescribeBotLocaleWithContext is the same as DescribeBotLocale with the addition of
1650// the ability to pass a context and additional request options.
1651//
1652// See DescribeBotLocale for details on how to use this API operation.
1653//
1654// The context must be non-nil and will be used for request cancellation. If
1655// the context is nil a panic will occur. In the future the SDK may create
1656// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1657// for more information on using Contexts.
1658func (c *LexModelsV2) DescribeBotLocaleWithContext(ctx aws.Context, input *DescribeBotLocaleInput, opts ...request.Option) (*DescribeBotLocaleOutput, error) {
1659	req, out := c.DescribeBotLocaleRequest(input)
1660	req.SetContext(ctx)
1661	req.ApplyOptions(opts...)
1662	return out, req.Send()
1663}
1664
1665const opDescribeBotVersion = "DescribeBotVersion"
1666
1667// DescribeBotVersionRequest generates a "aws/request.Request" representing the
1668// client's request for the DescribeBotVersion operation. The "output" return
1669// value will be populated with the request's response once the request completes
1670// successfully.
1671//
1672// Use "Send" method on the returned Request to send the API call to the service.
1673// the "output" return value is not valid until after Send returns without error.
1674//
1675// See DescribeBotVersion for more information on using the DescribeBotVersion
1676// API call, and error handling.
1677//
1678// This method is useful when you want to inject custom logic or configuration
1679// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1680//
1681//
1682//    // Example sending a request using the DescribeBotVersionRequest method.
1683//    req, resp := client.DescribeBotVersionRequest(params)
1684//
1685//    err := req.Send()
1686//    if err == nil { // resp is now filled
1687//        fmt.Println(resp)
1688//    }
1689//
1690// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBotVersion
1691func (c *LexModelsV2) DescribeBotVersionRequest(input *DescribeBotVersionInput) (req *request.Request, output *DescribeBotVersionOutput) {
1692	op := &request.Operation{
1693		Name:       opDescribeBotVersion,
1694		HTTPMethod: "GET",
1695		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/",
1696	}
1697
1698	if input == nil {
1699		input = &DescribeBotVersionInput{}
1700	}
1701
1702	output = &DescribeBotVersionOutput{}
1703	req = c.newRequest(op, input, output)
1704	return
1705}
1706
1707// DescribeBotVersion API operation for Amazon Lex Model Building V2.
1708//
1709// Provides metadata about a version of a bot.
1710//
1711// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1712// with awserr.Error's Code and Message methods to get detailed information about
1713// the error.
1714//
1715// See the AWS API reference guide for Amazon Lex Model Building V2's
1716// API operation DescribeBotVersion for usage and error information.
1717//
1718// Returned Error Types:
1719//   * ThrottlingException
1720//
1721//   * ServiceQuotaExceededException
1722//
1723//   * ValidationException
1724//
1725//   * ResourceNotFoundException
1726//
1727//   * InternalServerException
1728//
1729// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeBotVersion
1730func (c *LexModelsV2) DescribeBotVersion(input *DescribeBotVersionInput) (*DescribeBotVersionOutput, error) {
1731	req, out := c.DescribeBotVersionRequest(input)
1732	return out, req.Send()
1733}
1734
1735// DescribeBotVersionWithContext is the same as DescribeBotVersion with the addition of
1736// the ability to pass a context and additional request options.
1737//
1738// See DescribeBotVersion for details on how to use this API operation.
1739//
1740// The context must be non-nil and will be used for request cancellation. If
1741// the context is nil a panic will occur. In the future the SDK may create
1742// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1743// for more information on using Contexts.
1744func (c *LexModelsV2) DescribeBotVersionWithContext(ctx aws.Context, input *DescribeBotVersionInput, opts ...request.Option) (*DescribeBotVersionOutput, error) {
1745	req, out := c.DescribeBotVersionRequest(input)
1746	req.SetContext(ctx)
1747	req.ApplyOptions(opts...)
1748	return out, req.Send()
1749}
1750
1751const opDescribeIntent = "DescribeIntent"
1752
1753// DescribeIntentRequest generates a "aws/request.Request" representing the
1754// client's request for the DescribeIntent operation. The "output" return
1755// value will be populated with the request's response once the request completes
1756// successfully.
1757//
1758// Use "Send" method on the returned Request to send the API call to the service.
1759// the "output" return value is not valid until after Send returns without error.
1760//
1761// See DescribeIntent for more information on using the DescribeIntent
1762// API call, and error handling.
1763//
1764// This method is useful when you want to inject custom logic or configuration
1765// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1766//
1767//
1768//    // Example sending a request using the DescribeIntentRequest method.
1769//    req, resp := client.DescribeIntentRequest(params)
1770//
1771//    err := req.Send()
1772//    if err == nil { // resp is now filled
1773//        fmt.Println(resp)
1774//    }
1775//
1776// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeIntent
1777func (c *LexModelsV2) DescribeIntentRequest(input *DescribeIntentInput) (req *request.Request, output *DescribeIntentOutput) {
1778	op := &request.Operation{
1779		Name:       opDescribeIntent,
1780		HTTPMethod: "GET",
1781		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/",
1782	}
1783
1784	if input == nil {
1785		input = &DescribeIntentInput{}
1786	}
1787
1788	output = &DescribeIntentOutput{}
1789	req = c.newRequest(op, input, output)
1790	return
1791}
1792
1793// DescribeIntent API operation for Amazon Lex Model Building V2.
1794//
1795// Returns metadata about an intent.
1796//
1797// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1798// with awserr.Error's Code and Message methods to get detailed information about
1799// the error.
1800//
1801// See the AWS API reference guide for Amazon Lex Model Building V2's
1802// API operation DescribeIntent for usage and error information.
1803//
1804// Returned Error Types:
1805//   * ThrottlingException
1806//
1807//   * ServiceQuotaExceededException
1808//
1809//   * ValidationException
1810//
1811//   * ResourceNotFoundException
1812//
1813//   * InternalServerException
1814//
1815// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeIntent
1816func (c *LexModelsV2) DescribeIntent(input *DescribeIntentInput) (*DescribeIntentOutput, error) {
1817	req, out := c.DescribeIntentRequest(input)
1818	return out, req.Send()
1819}
1820
1821// DescribeIntentWithContext is the same as DescribeIntent with the addition of
1822// the ability to pass a context and additional request options.
1823//
1824// See DescribeIntent for details on how to use this API operation.
1825//
1826// The context must be non-nil and will be used for request cancellation. If
1827// the context is nil a panic will occur. In the future the SDK may create
1828// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1829// for more information on using Contexts.
1830func (c *LexModelsV2) DescribeIntentWithContext(ctx aws.Context, input *DescribeIntentInput, opts ...request.Option) (*DescribeIntentOutput, error) {
1831	req, out := c.DescribeIntentRequest(input)
1832	req.SetContext(ctx)
1833	req.ApplyOptions(opts...)
1834	return out, req.Send()
1835}
1836
1837const opDescribeSlot = "DescribeSlot"
1838
1839// DescribeSlotRequest generates a "aws/request.Request" representing the
1840// client's request for the DescribeSlot operation. The "output" return
1841// value will be populated with the request's response once the request completes
1842// successfully.
1843//
1844// Use "Send" method on the returned Request to send the API call to the service.
1845// the "output" return value is not valid until after Send returns without error.
1846//
1847// See DescribeSlot for more information on using the DescribeSlot
1848// API call, and error handling.
1849//
1850// This method is useful when you want to inject custom logic or configuration
1851// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1852//
1853//
1854//    // Example sending a request using the DescribeSlotRequest method.
1855//    req, resp := client.DescribeSlotRequest(params)
1856//
1857//    err := req.Send()
1858//    if err == nil { // resp is now filled
1859//        fmt.Println(resp)
1860//    }
1861//
1862// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeSlot
1863func (c *LexModelsV2) DescribeSlotRequest(input *DescribeSlotInput) (req *request.Request, output *DescribeSlotOutput) {
1864	op := &request.Operation{
1865		Name:       opDescribeSlot,
1866		HTTPMethod: "GET",
1867		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/slots/{slotId}/",
1868	}
1869
1870	if input == nil {
1871		input = &DescribeSlotInput{}
1872	}
1873
1874	output = &DescribeSlotOutput{}
1875	req = c.newRequest(op, input, output)
1876	return
1877}
1878
1879// DescribeSlot API operation for Amazon Lex Model Building V2.
1880//
1881// Gets metadata information about a slot.
1882//
1883// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1884// with awserr.Error's Code and Message methods to get detailed information about
1885// the error.
1886//
1887// See the AWS API reference guide for Amazon Lex Model Building V2's
1888// API operation DescribeSlot for usage and error information.
1889//
1890// Returned Error Types:
1891//   * ThrottlingException
1892//
1893//   * ServiceQuotaExceededException
1894//
1895//   * ValidationException
1896//
1897//   * ResourceNotFoundException
1898//
1899//   * InternalServerException
1900//
1901// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeSlot
1902func (c *LexModelsV2) DescribeSlot(input *DescribeSlotInput) (*DescribeSlotOutput, error) {
1903	req, out := c.DescribeSlotRequest(input)
1904	return out, req.Send()
1905}
1906
1907// DescribeSlotWithContext is the same as DescribeSlot with the addition of
1908// the ability to pass a context and additional request options.
1909//
1910// See DescribeSlot for details on how to use this API operation.
1911//
1912// The context must be non-nil and will be used for request cancellation. If
1913// the context is nil a panic will occur. In the future the SDK may create
1914// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1915// for more information on using Contexts.
1916func (c *LexModelsV2) DescribeSlotWithContext(ctx aws.Context, input *DescribeSlotInput, opts ...request.Option) (*DescribeSlotOutput, error) {
1917	req, out := c.DescribeSlotRequest(input)
1918	req.SetContext(ctx)
1919	req.ApplyOptions(opts...)
1920	return out, req.Send()
1921}
1922
1923const opDescribeSlotType = "DescribeSlotType"
1924
1925// DescribeSlotTypeRequest generates a "aws/request.Request" representing the
1926// client's request for the DescribeSlotType operation. The "output" return
1927// value will be populated with the request's response once the request completes
1928// successfully.
1929//
1930// Use "Send" method on the returned Request to send the API call to the service.
1931// the "output" return value is not valid until after Send returns without error.
1932//
1933// See DescribeSlotType for more information on using the DescribeSlotType
1934// API call, and error handling.
1935//
1936// This method is useful when you want to inject custom logic or configuration
1937// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1938//
1939//
1940//    // Example sending a request using the DescribeSlotTypeRequest method.
1941//    req, resp := client.DescribeSlotTypeRequest(params)
1942//
1943//    err := req.Send()
1944//    if err == nil { // resp is now filled
1945//        fmt.Println(resp)
1946//    }
1947//
1948// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeSlotType
1949func (c *LexModelsV2) DescribeSlotTypeRequest(input *DescribeSlotTypeInput) (req *request.Request, output *DescribeSlotTypeOutput) {
1950	op := &request.Operation{
1951		Name:       opDescribeSlotType,
1952		HTTPMethod: "GET",
1953		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/slottypes/{slotTypeId}/",
1954	}
1955
1956	if input == nil {
1957		input = &DescribeSlotTypeInput{}
1958	}
1959
1960	output = &DescribeSlotTypeOutput{}
1961	req = c.newRequest(op, input, output)
1962	return
1963}
1964
1965// DescribeSlotType API operation for Amazon Lex Model Building V2.
1966//
1967// Gets metadata information about a slot type.
1968//
1969// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1970// with awserr.Error's Code and Message methods to get detailed information about
1971// the error.
1972//
1973// See the AWS API reference guide for Amazon Lex Model Building V2's
1974// API operation DescribeSlotType for usage and error information.
1975//
1976// Returned Error Types:
1977//   * ThrottlingException
1978//
1979//   * ServiceQuotaExceededException
1980//
1981//   * ValidationException
1982//
1983//   * ResourceNotFoundException
1984//
1985//   * InternalServerException
1986//
1987// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/DescribeSlotType
1988func (c *LexModelsV2) DescribeSlotType(input *DescribeSlotTypeInput) (*DescribeSlotTypeOutput, error) {
1989	req, out := c.DescribeSlotTypeRequest(input)
1990	return out, req.Send()
1991}
1992
1993// DescribeSlotTypeWithContext is the same as DescribeSlotType with the addition of
1994// the ability to pass a context and additional request options.
1995//
1996// See DescribeSlotType for details on how to use this API operation.
1997//
1998// The context must be non-nil and will be used for request cancellation. If
1999// the context is nil a panic will occur. In the future the SDK may create
2000// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2001// for more information on using Contexts.
2002func (c *LexModelsV2) DescribeSlotTypeWithContext(ctx aws.Context, input *DescribeSlotTypeInput, opts ...request.Option) (*DescribeSlotTypeOutput, error) {
2003	req, out := c.DescribeSlotTypeRequest(input)
2004	req.SetContext(ctx)
2005	req.ApplyOptions(opts...)
2006	return out, req.Send()
2007}
2008
2009const opListBotAliases = "ListBotAliases"
2010
2011// ListBotAliasesRequest generates a "aws/request.Request" representing the
2012// client's request for the ListBotAliases operation. The "output" return
2013// value will be populated with the request's response once the request completes
2014// successfully.
2015//
2016// Use "Send" method on the returned Request to send the API call to the service.
2017// the "output" return value is not valid until after Send returns without error.
2018//
2019// See ListBotAliases for more information on using the ListBotAliases
2020// API call, and error handling.
2021//
2022// This method is useful when you want to inject custom logic or configuration
2023// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2024//
2025//
2026//    // Example sending a request using the ListBotAliasesRequest method.
2027//    req, resp := client.ListBotAliasesRequest(params)
2028//
2029//    err := req.Send()
2030//    if err == nil { // resp is now filled
2031//        fmt.Println(resp)
2032//    }
2033//
2034// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBotAliases
2035func (c *LexModelsV2) ListBotAliasesRequest(input *ListBotAliasesInput) (req *request.Request, output *ListBotAliasesOutput) {
2036	op := &request.Operation{
2037		Name:       opListBotAliases,
2038		HTTPMethod: "POST",
2039		HTTPPath:   "/bots/{botId}/botaliases/",
2040		Paginator: &request.Paginator{
2041			InputTokens:     []string{"nextToken"},
2042			OutputTokens:    []string{"nextToken"},
2043			LimitToken:      "maxResults",
2044			TruncationToken: "",
2045		},
2046	}
2047
2048	if input == nil {
2049		input = &ListBotAliasesInput{}
2050	}
2051
2052	output = &ListBotAliasesOutput{}
2053	req = c.newRequest(op, input, output)
2054	return
2055}
2056
2057// ListBotAliases API operation for Amazon Lex Model Building V2.
2058//
2059// Gets a list of aliases for the specified bot.
2060//
2061// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2062// with awserr.Error's Code and Message methods to get detailed information about
2063// the error.
2064//
2065// See the AWS API reference guide for Amazon Lex Model Building V2's
2066// API operation ListBotAliases for usage and error information.
2067//
2068// Returned Error Types:
2069//   * ThrottlingException
2070//
2071//   * ServiceQuotaExceededException
2072//
2073//   * ValidationException
2074//
2075//   * InternalServerException
2076//
2077// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBotAliases
2078func (c *LexModelsV2) ListBotAliases(input *ListBotAliasesInput) (*ListBotAliasesOutput, error) {
2079	req, out := c.ListBotAliasesRequest(input)
2080	return out, req.Send()
2081}
2082
2083// ListBotAliasesWithContext is the same as ListBotAliases with the addition of
2084// the ability to pass a context and additional request options.
2085//
2086// See ListBotAliases for details on how to use this API operation.
2087//
2088// The context must be non-nil and will be used for request cancellation. If
2089// the context is nil a panic will occur. In the future the SDK may create
2090// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2091// for more information on using Contexts.
2092func (c *LexModelsV2) ListBotAliasesWithContext(ctx aws.Context, input *ListBotAliasesInput, opts ...request.Option) (*ListBotAliasesOutput, error) {
2093	req, out := c.ListBotAliasesRequest(input)
2094	req.SetContext(ctx)
2095	req.ApplyOptions(opts...)
2096	return out, req.Send()
2097}
2098
2099// ListBotAliasesPages iterates over the pages of a ListBotAliases operation,
2100// calling the "fn" function with the response data for each page. To stop
2101// iterating, return false from the fn function.
2102//
2103// See ListBotAliases method for more information on how to use this operation.
2104//
2105// Note: This operation can generate multiple requests to a service.
2106//
2107//    // Example iterating over at most 3 pages of a ListBotAliases operation.
2108//    pageNum := 0
2109//    err := client.ListBotAliasesPages(params,
2110//        func(page *lexmodelsv2.ListBotAliasesOutput, lastPage bool) bool {
2111//            pageNum++
2112//            fmt.Println(page)
2113//            return pageNum <= 3
2114//        })
2115//
2116func (c *LexModelsV2) ListBotAliasesPages(input *ListBotAliasesInput, fn func(*ListBotAliasesOutput, bool) bool) error {
2117	return c.ListBotAliasesPagesWithContext(aws.BackgroundContext(), input, fn)
2118}
2119
2120// ListBotAliasesPagesWithContext same as ListBotAliasesPages except
2121// it takes a Context and allows setting request options on the pages.
2122//
2123// The context must be non-nil and will be used for request cancellation. If
2124// the context is nil a panic will occur. In the future the SDK may create
2125// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2126// for more information on using Contexts.
2127func (c *LexModelsV2) ListBotAliasesPagesWithContext(ctx aws.Context, input *ListBotAliasesInput, fn func(*ListBotAliasesOutput, bool) bool, opts ...request.Option) error {
2128	p := request.Pagination{
2129		NewRequest: func() (*request.Request, error) {
2130			var inCpy *ListBotAliasesInput
2131			if input != nil {
2132				tmp := *input
2133				inCpy = &tmp
2134			}
2135			req, _ := c.ListBotAliasesRequest(inCpy)
2136			req.SetContext(ctx)
2137			req.ApplyOptions(opts...)
2138			return req, nil
2139		},
2140	}
2141
2142	for p.Next() {
2143		if !fn(p.Page().(*ListBotAliasesOutput), !p.HasNextPage()) {
2144			break
2145		}
2146	}
2147
2148	return p.Err()
2149}
2150
2151const opListBotLocales = "ListBotLocales"
2152
2153// ListBotLocalesRequest generates a "aws/request.Request" representing the
2154// client's request for the ListBotLocales operation. The "output" return
2155// value will be populated with the request's response once the request completes
2156// successfully.
2157//
2158// Use "Send" method on the returned Request to send the API call to the service.
2159// the "output" return value is not valid until after Send returns without error.
2160//
2161// See ListBotLocales for more information on using the ListBotLocales
2162// API call, and error handling.
2163//
2164// This method is useful when you want to inject custom logic or configuration
2165// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2166//
2167//
2168//    // Example sending a request using the ListBotLocalesRequest method.
2169//    req, resp := client.ListBotLocalesRequest(params)
2170//
2171//    err := req.Send()
2172//    if err == nil { // resp is now filled
2173//        fmt.Println(resp)
2174//    }
2175//
2176// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBotLocales
2177func (c *LexModelsV2) ListBotLocalesRequest(input *ListBotLocalesInput) (req *request.Request, output *ListBotLocalesOutput) {
2178	op := &request.Operation{
2179		Name:       opListBotLocales,
2180		HTTPMethod: "POST",
2181		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/",
2182		Paginator: &request.Paginator{
2183			InputTokens:     []string{"nextToken"},
2184			OutputTokens:    []string{"nextToken"},
2185			LimitToken:      "maxResults",
2186			TruncationToken: "",
2187		},
2188	}
2189
2190	if input == nil {
2191		input = &ListBotLocalesInput{}
2192	}
2193
2194	output = &ListBotLocalesOutput{}
2195	req = c.newRequest(op, input, output)
2196	return
2197}
2198
2199// ListBotLocales API operation for Amazon Lex Model Building V2.
2200//
2201// Gets a list of locales for the specified bot.
2202//
2203// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2204// with awserr.Error's Code and Message methods to get detailed information about
2205// the error.
2206//
2207// See the AWS API reference guide for Amazon Lex Model Building V2's
2208// API operation ListBotLocales for usage and error information.
2209//
2210// Returned Error Types:
2211//   * ThrottlingException
2212//
2213//   * ServiceQuotaExceededException
2214//
2215//   * ValidationException
2216//
2217//   * InternalServerException
2218//
2219// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBotLocales
2220func (c *LexModelsV2) ListBotLocales(input *ListBotLocalesInput) (*ListBotLocalesOutput, error) {
2221	req, out := c.ListBotLocalesRequest(input)
2222	return out, req.Send()
2223}
2224
2225// ListBotLocalesWithContext is the same as ListBotLocales with the addition of
2226// the ability to pass a context and additional request options.
2227//
2228// See ListBotLocales for details on how to use this API operation.
2229//
2230// The context must be non-nil and will be used for request cancellation. If
2231// the context is nil a panic will occur. In the future the SDK may create
2232// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2233// for more information on using Contexts.
2234func (c *LexModelsV2) ListBotLocalesWithContext(ctx aws.Context, input *ListBotLocalesInput, opts ...request.Option) (*ListBotLocalesOutput, error) {
2235	req, out := c.ListBotLocalesRequest(input)
2236	req.SetContext(ctx)
2237	req.ApplyOptions(opts...)
2238	return out, req.Send()
2239}
2240
2241// ListBotLocalesPages iterates over the pages of a ListBotLocales operation,
2242// calling the "fn" function with the response data for each page. To stop
2243// iterating, return false from the fn function.
2244//
2245// See ListBotLocales method for more information on how to use this operation.
2246//
2247// Note: This operation can generate multiple requests to a service.
2248//
2249//    // Example iterating over at most 3 pages of a ListBotLocales operation.
2250//    pageNum := 0
2251//    err := client.ListBotLocalesPages(params,
2252//        func(page *lexmodelsv2.ListBotLocalesOutput, lastPage bool) bool {
2253//            pageNum++
2254//            fmt.Println(page)
2255//            return pageNum <= 3
2256//        })
2257//
2258func (c *LexModelsV2) ListBotLocalesPages(input *ListBotLocalesInput, fn func(*ListBotLocalesOutput, bool) bool) error {
2259	return c.ListBotLocalesPagesWithContext(aws.BackgroundContext(), input, fn)
2260}
2261
2262// ListBotLocalesPagesWithContext same as ListBotLocalesPages except
2263// it takes a Context and allows setting request options on the pages.
2264//
2265// The context must be non-nil and will be used for request cancellation. If
2266// the context is nil a panic will occur. In the future the SDK may create
2267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2268// for more information on using Contexts.
2269func (c *LexModelsV2) ListBotLocalesPagesWithContext(ctx aws.Context, input *ListBotLocalesInput, fn func(*ListBotLocalesOutput, bool) bool, opts ...request.Option) error {
2270	p := request.Pagination{
2271		NewRequest: func() (*request.Request, error) {
2272			var inCpy *ListBotLocalesInput
2273			if input != nil {
2274				tmp := *input
2275				inCpy = &tmp
2276			}
2277			req, _ := c.ListBotLocalesRequest(inCpy)
2278			req.SetContext(ctx)
2279			req.ApplyOptions(opts...)
2280			return req, nil
2281		},
2282	}
2283
2284	for p.Next() {
2285		if !fn(p.Page().(*ListBotLocalesOutput), !p.HasNextPage()) {
2286			break
2287		}
2288	}
2289
2290	return p.Err()
2291}
2292
2293const opListBotVersions = "ListBotVersions"
2294
2295// ListBotVersionsRequest generates a "aws/request.Request" representing the
2296// client's request for the ListBotVersions operation. The "output" return
2297// value will be populated with the request's response once the request completes
2298// successfully.
2299//
2300// Use "Send" method on the returned Request to send the API call to the service.
2301// the "output" return value is not valid until after Send returns without error.
2302//
2303// See ListBotVersions for more information on using the ListBotVersions
2304// API call, and error handling.
2305//
2306// This method is useful when you want to inject custom logic or configuration
2307// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2308//
2309//
2310//    // Example sending a request using the ListBotVersionsRequest method.
2311//    req, resp := client.ListBotVersionsRequest(params)
2312//
2313//    err := req.Send()
2314//    if err == nil { // resp is now filled
2315//        fmt.Println(resp)
2316//    }
2317//
2318// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBotVersions
2319func (c *LexModelsV2) ListBotVersionsRequest(input *ListBotVersionsInput) (req *request.Request, output *ListBotVersionsOutput) {
2320	op := &request.Operation{
2321		Name:       opListBotVersions,
2322		HTTPMethod: "POST",
2323		HTTPPath:   "/bots/{botId}/botversions/",
2324		Paginator: &request.Paginator{
2325			InputTokens:     []string{"nextToken"},
2326			OutputTokens:    []string{"nextToken"},
2327			LimitToken:      "maxResults",
2328			TruncationToken: "",
2329		},
2330	}
2331
2332	if input == nil {
2333		input = &ListBotVersionsInput{}
2334	}
2335
2336	output = &ListBotVersionsOutput{}
2337	req = c.newRequest(op, input, output)
2338	return
2339}
2340
2341// ListBotVersions API operation for Amazon Lex Model Building V2.
2342//
2343// Gets information about all of the versions of a bot.
2344//
2345// The ListBotVersions operation returns a summary of each version of a bot.
2346// For example, if a bot has three numbered versions, the ListBotVersions operation
2347// returns for summaries, one for each numbered version and one for the DRAFT
2348// version.
2349//
2350// The ListBotVersions operation always returns at least one version, the DRAFT
2351// version.
2352//
2353// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2354// with awserr.Error's Code and Message methods to get detailed information about
2355// the error.
2356//
2357// See the AWS API reference guide for Amazon Lex Model Building V2's
2358// API operation ListBotVersions for usage and error information.
2359//
2360// Returned Error Types:
2361//   * ThrottlingException
2362//
2363//   * ServiceQuotaExceededException
2364//
2365//   * ValidationException
2366//
2367//   * InternalServerException
2368//
2369// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBotVersions
2370func (c *LexModelsV2) ListBotVersions(input *ListBotVersionsInput) (*ListBotVersionsOutput, error) {
2371	req, out := c.ListBotVersionsRequest(input)
2372	return out, req.Send()
2373}
2374
2375// ListBotVersionsWithContext is the same as ListBotVersions with the addition of
2376// the ability to pass a context and additional request options.
2377//
2378// See ListBotVersions for details on how to use this API operation.
2379//
2380// The context must be non-nil and will be used for request cancellation. If
2381// the context is nil a panic will occur. In the future the SDK may create
2382// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2383// for more information on using Contexts.
2384func (c *LexModelsV2) ListBotVersionsWithContext(ctx aws.Context, input *ListBotVersionsInput, opts ...request.Option) (*ListBotVersionsOutput, error) {
2385	req, out := c.ListBotVersionsRequest(input)
2386	req.SetContext(ctx)
2387	req.ApplyOptions(opts...)
2388	return out, req.Send()
2389}
2390
2391// ListBotVersionsPages iterates over the pages of a ListBotVersions operation,
2392// calling the "fn" function with the response data for each page. To stop
2393// iterating, return false from the fn function.
2394//
2395// See ListBotVersions method for more information on how to use this operation.
2396//
2397// Note: This operation can generate multiple requests to a service.
2398//
2399//    // Example iterating over at most 3 pages of a ListBotVersions operation.
2400//    pageNum := 0
2401//    err := client.ListBotVersionsPages(params,
2402//        func(page *lexmodelsv2.ListBotVersionsOutput, lastPage bool) bool {
2403//            pageNum++
2404//            fmt.Println(page)
2405//            return pageNum <= 3
2406//        })
2407//
2408func (c *LexModelsV2) ListBotVersionsPages(input *ListBotVersionsInput, fn func(*ListBotVersionsOutput, bool) bool) error {
2409	return c.ListBotVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
2410}
2411
2412// ListBotVersionsPagesWithContext same as ListBotVersionsPages except
2413// it takes a Context and allows setting request options on the pages.
2414//
2415// The context must be non-nil and will be used for request cancellation. If
2416// the context is nil a panic will occur. In the future the SDK may create
2417// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2418// for more information on using Contexts.
2419func (c *LexModelsV2) ListBotVersionsPagesWithContext(ctx aws.Context, input *ListBotVersionsInput, fn func(*ListBotVersionsOutput, bool) bool, opts ...request.Option) error {
2420	p := request.Pagination{
2421		NewRequest: func() (*request.Request, error) {
2422			var inCpy *ListBotVersionsInput
2423			if input != nil {
2424				tmp := *input
2425				inCpy = &tmp
2426			}
2427			req, _ := c.ListBotVersionsRequest(inCpy)
2428			req.SetContext(ctx)
2429			req.ApplyOptions(opts...)
2430			return req, nil
2431		},
2432	}
2433
2434	for p.Next() {
2435		if !fn(p.Page().(*ListBotVersionsOutput), !p.HasNextPage()) {
2436			break
2437		}
2438	}
2439
2440	return p.Err()
2441}
2442
2443const opListBots = "ListBots"
2444
2445// ListBotsRequest generates a "aws/request.Request" representing the
2446// client's request for the ListBots operation. The "output" return
2447// value will be populated with the request's response once the request completes
2448// successfully.
2449//
2450// Use "Send" method on the returned Request to send the API call to the service.
2451// the "output" return value is not valid until after Send returns without error.
2452//
2453// See ListBots for more information on using the ListBots
2454// API call, and error handling.
2455//
2456// This method is useful when you want to inject custom logic or configuration
2457// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2458//
2459//
2460//    // Example sending a request using the ListBotsRequest method.
2461//    req, resp := client.ListBotsRequest(params)
2462//
2463//    err := req.Send()
2464//    if err == nil { // resp is now filled
2465//        fmt.Println(resp)
2466//    }
2467//
2468// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBots
2469func (c *LexModelsV2) ListBotsRequest(input *ListBotsInput) (req *request.Request, output *ListBotsOutput) {
2470	op := &request.Operation{
2471		Name:       opListBots,
2472		HTTPMethod: "POST",
2473		HTTPPath:   "/bots/",
2474		Paginator: &request.Paginator{
2475			InputTokens:     []string{"nextToken"},
2476			OutputTokens:    []string{"nextToken"},
2477			LimitToken:      "maxResults",
2478			TruncationToken: "",
2479		},
2480	}
2481
2482	if input == nil {
2483		input = &ListBotsInput{}
2484	}
2485
2486	output = &ListBotsOutput{}
2487	req = c.newRequest(op, input, output)
2488	return
2489}
2490
2491// ListBots API operation for Amazon Lex Model Building V2.
2492//
2493// Gets a list of available bots.
2494//
2495// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2496// with awserr.Error's Code and Message methods to get detailed information about
2497// the error.
2498//
2499// See the AWS API reference guide for Amazon Lex Model Building V2's
2500// API operation ListBots for usage and error information.
2501//
2502// Returned Error Types:
2503//   * ThrottlingException
2504//
2505//   * ServiceQuotaExceededException
2506//
2507//   * ValidationException
2508//
2509//   * InternalServerException
2510//
2511// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBots
2512func (c *LexModelsV2) ListBots(input *ListBotsInput) (*ListBotsOutput, error) {
2513	req, out := c.ListBotsRequest(input)
2514	return out, req.Send()
2515}
2516
2517// ListBotsWithContext is the same as ListBots with the addition of
2518// the ability to pass a context and additional request options.
2519//
2520// See ListBots for details on how to use this API operation.
2521//
2522// The context must be non-nil and will be used for request cancellation. If
2523// the context is nil a panic will occur. In the future the SDK may create
2524// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2525// for more information on using Contexts.
2526func (c *LexModelsV2) ListBotsWithContext(ctx aws.Context, input *ListBotsInput, opts ...request.Option) (*ListBotsOutput, error) {
2527	req, out := c.ListBotsRequest(input)
2528	req.SetContext(ctx)
2529	req.ApplyOptions(opts...)
2530	return out, req.Send()
2531}
2532
2533// ListBotsPages iterates over the pages of a ListBots operation,
2534// calling the "fn" function with the response data for each page. To stop
2535// iterating, return false from the fn function.
2536//
2537// See ListBots method for more information on how to use this operation.
2538//
2539// Note: This operation can generate multiple requests to a service.
2540//
2541//    // Example iterating over at most 3 pages of a ListBots operation.
2542//    pageNum := 0
2543//    err := client.ListBotsPages(params,
2544//        func(page *lexmodelsv2.ListBotsOutput, lastPage bool) bool {
2545//            pageNum++
2546//            fmt.Println(page)
2547//            return pageNum <= 3
2548//        })
2549//
2550func (c *LexModelsV2) ListBotsPages(input *ListBotsInput, fn func(*ListBotsOutput, bool) bool) error {
2551	return c.ListBotsPagesWithContext(aws.BackgroundContext(), input, fn)
2552}
2553
2554// ListBotsPagesWithContext same as ListBotsPages except
2555// it takes a Context and allows setting request options on the pages.
2556//
2557// The context must be non-nil and will be used for request cancellation. If
2558// the context is nil a panic will occur. In the future the SDK may create
2559// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2560// for more information on using Contexts.
2561func (c *LexModelsV2) ListBotsPagesWithContext(ctx aws.Context, input *ListBotsInput, fn func(*ListBotsOutput, bool) bool, opts ...request.Option) error {
2562	p := request.Pagination{
2563		NewRequest: func() (*request.Request, error) {
2564			var inCpy *ListBotsInput
2565			if input != nil {
2566				tmp := *input
2567				inCpy = &tmp
2568			}
2569			req, _ := c.ListBotsRequest(inCpy)
2570			req.SetContext(ctx)
2571			req.ApplyOptions(opts...)
2572			return req, nil
2573		},
2574	}
2575
2576	for p.Next() {
2577		if !fn(p.Page().(*ListBotsOutput), !p.HasNextPage()) {
2578			break
2579		}
2580	}
2581
2582	return p.Err()
2583}
2584
2585const opListBuiltInIntents = "ListBuiltInIntents"
2586
2587// ListBuiltInIntentsRequest generates a "aws/request.Request" representing the
2588// client's request for the ListBuiltInIntents operation. The "output" return
2589// value will be populated with the request's response once the request completes
2590// successfully.
2591//
2592// Use "Send" method on the returned Request to send the API call to the service.
2593// the "output" return value is not valid until after Send returns without error.
2594//
2595// See ListBuiltInIntents for more information on using the ListBuiltInIntents
2596// API call, and error handling.
2597//
2598// This method is useful when you want to inject custom logic or configuration
2599// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2600//
2601//
2602//    // Example sending a request using the ListBuiltInIntentsRequest method.
2603//    req, resp := client.ListBuiltInIntentsRequest(params)
2604//
2605//    err := req.Send()
2606//    if err == nil { // resp is now filled
2607//        fmt.Println(resp)
2608//    }
2609//
2610// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBuiltInIntents
2611func (c *LexModelsV2) ListBuiltInIntentsRequest(input *ListBuiltInIntentsInput) (req *request.Request, output *ListBuiltInIntentsOutput) {
2612	op := &request.Operation{
2613		Name:       opListBuiltInIntents,
2614		HTTPMethod: "POST",
2615		HTTPPath:   "/builtins/locales/{localeId}/intents/",
2616		Paginator: &request.Paginator{
2617			InputTokens:     []string{"nextToken"},
2618			OutputTokens:    []string{"nextToken"},
2619			LimitToken:      "maxResults",
2620			TruncationToken: "",
2621		},
2622	}
2623
2624	if input == nil {
2625		input = &ListBuiltInIntentsInput{}
2626	}
2627
2628	output = &ListBuiltInIntentsOutput{}
2629	req = c.newRequest(op, input, output)
2630	return
2631}
2632
2633// ListBuiltInIntents API operation for Amazon Lex Model Building V2.
2634//
2635// Gets a list of built-in intents provided by Amazon Lex that you can use in
2636// your bot.
2637//
2638// To use a built-in intent as a the base for your own intent, include the built-in
2639// intent signature in the parentIntentSignature parameter when you call the
2640// CreateIntent operation. For more information, see CreateIntent.
2641//
2642// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2643// with awserr.Error's Code and Message methods to get detailed information about
2644// the error.
2645//
2646// See the AWS API reference guide for Amazon Lex Model Building V2's
2647// API operation ListBuiltInIntents for usage and error information.
2648//
2649// Returned Error Types:
2650//   * ThrottlingException
2651//
2652//   * ServiceQuotaExceededException
2653//
2654//   * ValidationException
2655//
2656//   * InternalServerException
2657//
2658// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBuiltInIntents
2659func (c *LexModelsV2) ListBuiltInIntents(input *ListBuiltInIntentsInput) (*ListBuiltInIntentsOutput, error) {
2660	req, out := c.ListBuiltInIntentsRequest(input)
2661	return out, req.Send()
2662}
2663
2664// ListBuiltInIntentsWithContext is the same as ListBuiltInIntents with the addition of
2665// the ability to pass a context and additional request options.
2666//
2667// See ListBuiltInIntents for details on how to use this API operation.
2668//
2669// The context must be non-nil and will be used for request cancellation. If
2670// the context is nil a panic will occur. In the future the SDK may create
2671// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2672// for more information on using Contexts.
2673func (c *LexModelsV2) ListBuiltInIntentsWithContext(ctx aws.Context, input *ListBuiltInIntentsInput, opts ...request.Option) (*ListBuiltInIntentsOutput, error) {
2674	req, out := c.ListBuiltInIntentsRequest(input)
2675	req.SetContext(ctx)
2676	req.ApplyOptions(opts...)
2677	return out, req.Send()
2678}
2679
2680// ListBuiltInIntentsPages iterates over the pages of a ListBuiltInIntents operation,
2681// calling the "fn" function with the response data for each page. To stop
2682// iterating, return false from the fn function.
2683//
2684// See ListBuiltInIntents method for more information on how to use this operation.
2685//
2686// Note: This operation can generate multiple requests to a service.
2687//
2688//    // Example iterating over at most 3 pages of a ListBuiltInIntents operation.
2689//    pageNum := 0
2690//    err := client.ListBuiltInIntentsPages(params,
2691//        func(page *lexmodelsv2.ListBuiltInIntentsOutput, lastPage bool) bool {
2692//            pageNum++
2693//            fmt.Println(page)
2694//            return pageNum <= 3
2695//        })
2696//
2697func (c *LexModelsV2) ListBuiltInIntentsPages(input *ListBuiltInIntentsInput, fn func(*ListBuiltInIntentsOutput, bool) bool) error {
2698	return c.ListBuiltInIntentsPagesWithContext(aws.BackgroundContext(), input, fn)
2699}
2700
2701// ListBuiltInIntentsPagesWithContext same as ListBuiltInIntentsPages except
2702// it takes a Context and allows setting request options on the pages.
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) ListBuiltInIntentsPagesWithContext(ctx aws.Context, input *ListBuiltInIntentsInput, fn func(*ListBuiltInIntentsOutput, bool) bool, opts ...request.Option) error {
2709	p := request.Pagination{
2710		NewRequest: func() (*request.Request, error) {
2711			var inCpy *ListBuiltInIntentsInput
2712			if input != nil {
2713				tmp := *input
2714				inCpy = &tmp
2715			}
2716			req, _ := c.ListBuiltInIntentsRequest(inCpy)
2717			req.SetContext(ctx)
2718			req.ApplyOptions(opts...)
2719			return req, nil
2720		},
2721	}
2722
2723	for p.Next() {
2724		if !fn(p.Page().(*ListBuiltInIntentsOutput), !p.HasNextPage()) {
2725			break
2726		}
2727	}
2728
2729	return p.Err()
2730}
2731
2732const opListBuiltInSlotTypes = "ListBuiltInSlotTypes"
2733
2734// ListBuiltInSlotTypesRequest generates a "aws/request.Request" representing the
2735// client's request for the ListBuiltInSlotTypes operation. The "output" return
2736// value will be populated with the request's response once the request completes
2737// successfully.
2738//
2739// Use "Send" method on the returned Request to send the API call to the service.
2740// the "output" return value is not valid until after Send returns without error.
2741//
2742// See ListBuiltInSlotTypes for more information on using the ListBuiltInSlotTypes
2743// API call, and error handling.
2744//
2745// This method is useful when you want to inject custom logic or configuration
2746// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2747//
2748//
2749//    // Example sending a request using the ListBuiltInSlotTypesRequest method.
2750//    req, resp := client.ListBuiltInSlotTypesRequest(params)
2751//
2752//    err := req.Send()
2753//    if err == nil { // resp is now filled
2754//        fmt.Println(resp)
2755//    }
2756//
2757// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBuiltInSlotTypes
2758func (c *LexModelsV2) ListBuiltInSlotTypesRequest(input *ListBuiltInSlotTypesInput) (req *request.Request, output *ListBuiltInSlotTypesOutput) {
2759	op := &request.Operation{
2760		Name:       opListBuiltInSlotTypes,
2761		HTTPMethod: "POST",
2762		HTTPPath:   "/builtins/locales/{localeId}/slottypes/",
2763		Paginator: &request.Paginator{
2764			InputTokens:     []string{"nextToken"},
2765			OutputTokens:    []string{"nextToken"},
2766			LimitToken:      "maxResults",
2767			TruncationToken: "",
2768		},
2769	}
2770
2771	if input == nil {
2772		input = &ListBuiltInSlotTypesInput{}
2773	}
2774
2775	output = &ListBuiltInSlotTypesOutput{}
2776	req = c.newRequest(op, input, output)
2777	return
2778}
2779
2780// ListBuiltInSlotTypes API operation for Amazon Lex Model Building V2.
2781//
2782// Gets a list of built-in slot types that meet the specified criteria.
2783//
2784// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2785// with awserr.Error's Code and Message methods to get detailed information about
2786// the error.
2787//
2788// See the AWS API reference guide for Amazon Lex Model Building V2's
2789// API operation ListBuiltInSlotTypes for usage and error information.
2790//
2791// Returned Error Types:
2792//   * ThrottlingException
2793//
2794//   * ServiceQuotaExceededException
2795//
2796//   * ValidationException
2797//
2798//   * InternalServerException
2799//
2800// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListBuiltInSlotTypes
2801func (c *LexModelsV2) ListBuiltInSlotTypes(input *ListBuiltInSlotTypesInput) (*ListBuiltInSlotTypesOutput, error) {
2802	req, out := c.ListBuiltInSlotTypesRequest(input)
2803	return out, req.Send()
2804}
2805
2806// ListBuiltInSlotTypesWithContext is the same as ListBuiltInSlotTypes with the addition of
2807// the ability to pass a context and additional request options.
2808//
2809// See ListBuiltInSlotTypes for details on how to use this API operation.
2810//
2811// The context must be non-nil and will be used for request cancellation. If
2812// the context is nil a panic will occur. In the future the SDK may create
2813// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2814// for more information on using Contexts.
2815func (c *LexModelsV2) ListBuiltInSlotTypesWithContext(ctx aws.Context, input *ListBuiltInSlotTypesInput, opts ...request.Option) (*ListBuiltInSlotTypesOutput, error) {
2816	req, out := c.ListBuiltInSlotTypesRequest(input)
2817	req.SetContext(ctx)
2818	req.ApplyOptions(opts...)
2819	return out, req.Send()
2820}
2821
2822// ListBuiltInSlotTypesPages iterates over the pages of a ListBuiltInSlotTypes operation,
2823// calling the "fn" function with the response data for each page. To stop
2824// iterating, return false from the fn function.
2825//
2826// See ListBuiltInSlotTypes method for more information on how to use this operation.
2827//
2828// Note: This operation can generate multiple requests to a service.
2829//
2830//    // Example iterating over at most 3 pages of a ListBuiltInSlotTypes operation.
2831//    pageNum := 0
2832//    err := client.ListBuiltInSlotTypesPages(params,
2833//        func(page *lexmodelsv2.ListBuiltInSlotTypesOutput, lastPage bool) bool {
2834//            pageNum++
2835//            fmt.Println(page)
2836//            return pageNum <= 3
2837//        })
2838//
2839func (c *LexModelsV2) ListBuiltInSlotTypesPages(input *ListBuiltInSlotTypesInput, fn func(*ListBuiltInSlotTypesOutput, bool) bool) error {
2840	return c.ListBuiltInSlotTypesPagesWithContext(aws.BackgroundContext(), input, fn)
2841}
2842
2843// ListBuiltInSlotTypesPagesWithContext same as ListBuiltInSlotTypesPages except
2844// it takes a Context and allows setting request options on the pages.
2845//
2846// The context must be non-nil and will be used for request cancellation. If
2847// the context is nil a panic will occur. In the future the SDK may create
2848// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2849// for more information on using Contexts.
2850func (c *LexModelsV2) ListBuiltInSlotTypesPagesWithContext(ctx aws.Context, input *ListBuiltInSlotTypesInput, fn func(*ListBuiltInSlotTypesOutput, bool) bool, opts ...request.Option) error {
2851	p := request.Pagination{
2852		NewRequest: func() (*request.Request, error) {
2853			var inCpy *ListBuiltInSlotTypesInput
2854			if input != nil {
2855				tmp := *input
2856				inCpy = &tmp
2857			}
2858			req, _ := c.ListBuiltInSlotTypesRequest(inCpy)
2859			req.SetContext(ctx)
2860			req.ApplyOptions(opts...)
2861			return req, nil
2862		},
2863	}
2864
2865	for p.Next() {
2866		if !fn(p.Page().(*ListBuiltInSlotTypesOutput), !p.HasNextPage()) {
2867			break
2868		}
2869	}
2870
2871	return p.Err()
2872}
2873
2874const opListIntents = "ListIntents"
2875
2876// ListIntentsRequest generates a "aws/request.Request" representing the
2877// client's request for the ListIntents operation. The "output" return
2878// value will be populated with the request's response once the request completes
2879// successfully.
2880//
2881// Use "Send" method on the returned Request to send the API call to the service.
2882// the "output" return value is not valid until after Send returns without error.
2883//
2884// See ListIntents for more information on using the ListIntents
2885// API call, and error handling.
2886//
2887// This method is useful when you want to inject custom logic or configuration
2888// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2889//
2890//
2891//    // Example sending a request using the ListIntentsRequest method.
2892//    req, resp := client.ListIntentsRequest(params)
2893//
2894//    err := req.Send()
2895//    if err == nil { // resp is now filled
2896//        fmt.Println(resp)
2897//    }
2898//
2899// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListIntents
2900func (c *LexModelsV2) ListIntentsRequest(input *ListIntentsInput) (req *request.Request, output *ListIntentsOutput) {
2901	op := &request.Operation{
2902		Name:       opListIntents,
2903		HTTPMethod: "POST",
2904		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/",
2905		Paginator: &request.Paginator{
2906			InputTokens:     []string{"nextToken"},
2907			OutputTokens:    []string{"nextToken"},
2908			LimitToken:      "maxResults",
2909			TruncationToken: "",
2910		},
2911	}
2912
2913	if input == nil {
2914		input = &ListIntentsInput{}
2915	}
2916
2917	output = &ListIntentsOutput{}
2918	req = c.newRequest(op, input, output)
2919	return
2920}
2921
2922// ListIntents API operation for Amazon Lex Model Building V2.
2923//
2924// Get a list of intents that meet the specified criteria.
2925//
2926// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2927// with awserr.Error's Code and Message methods to get detailed information about
2928// the error.
2929//
2930// See the AWS API reference guide for Amazon Lex Model Building V2's
2931// API operation ListIntents for usage and error information.
2932//
2933// Returned Error Types:
2934//   * ThrottlingException
2935//
2936//   * ServiceQuotaExceededException
2937//
2938//   * ValidationException
2939//
2940//   * InternalServerException
2941//
2942// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListIntents
2943func (c *LexModelsV2) ListIntents(input *ListIntentsInput) (*ListIntentsOutput, error) {
2944	req, out := c.ListIntentsRequest(input)
2945	return out, req.Send()
2946}
2947
2948// ListIntentsWithContext is the same as ListIntents with the addition of
2949// the ability to pass a context and additional request options.
2950//
2951// See ListIntents for details on how to use this API operation.
2952//
2953// The context must be non-nil and will be used for request cancellation. If
2954// the context is nil a panic will occur. In the future the SDK may create
2955// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2956// for more information on using Contexts.
2957func (c *LexModelsV2) ListIntentsWithContext(ctx aws.Context, input *ListIntentsInput, opts ...request.Option) (*ListIntentsOutput, error) {
2958	req, out := c.ListIntentsRequest(input)
2959	req.SetContext(ctx)
2960	req.ApplyOptions(opts...)
2961	return out, req.Send()
2962}
2963
2964// ListIntentsPages iterates over the pages of a ListIntents operation,
2965// calling the "fn" function with the response data for each page. To stop
2966// iterating, return false from the fn function.
2967//
2968// See ListIntents method for more information on how to use this operation.
2969//
2970// Note: This operation can generate multiple requests to a service.
2971//
2972//    // Example iterating over at most 3 pages of a ListIntents operation.
2973//    pageNum := 0
2974//    err := client.ListIntentsPages(params,
2975//        func(page *lexmodelsv2.ListIntentsOutput, lastPage bool) bool {
2976//            pageNum++
2977//            fmt.Println(page)
2978//            return pageNum <= 3
2979//        })
2980//
2981func (c *LexModelsV2) ListIntentsPages(input *ListIntentsInput, fn func(*ListIntentsOutput, bool) bool) error {
2982	return c.ListIntentsPagesWithContext(aws.BackgroundContext(), input, fn)
2983}
2984
2985// ListIntentsPagesWithContext same as ListIntentsPages except
2986// it takes a Context and allows setting request options on the pages.
2987//
2988// The context must be non-nil and will be used for request cancellation. If
2989// the context is nil a panic will occur. In the future the SDK may create
2990// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2991// for more information on using Contexts.
2992func (c *LexModelsV2) ListIntentsPagesWithContext(ctx aws.Context, input *ListIntentsInput, fn func(*ListIntentsOutput, bool) bool, opts ...request.Option) error {
2993	p := request.Pagination{
2994		NewRequest: func() (*request.Request, error) {
2995			var inCpy *ListIntentsInput
2996			if input != nil {
2997				tmp := *input
2998				inCpy = &tmp
2999			}
3000			req, _ := c.ListIntentsRequest(inCpy)
3001			req.SetContext(ctx)
3002			req.ApplyOptions(opts...)
3003			return req, nil
3004		},
3005	}
3006
3007	for p.Next() {
3008		if !fn(p.Page().(*ListIntentsOutput), !p.HasNextPage()) {
3009			break
3010		}
3011	}
3012
3013	return p.Err()
3014}
3015
3016const opListSlotTypes = "ListSlotTypes"
3017
3018// ListSlotTypesRequest generates a "aws/request.Request" representing the
3019// client's request for the ListSlotTypes operation. The "output" return
3020// value will be populated with the request's response once the request completes
3021// successfully.
3022//
3023// Use "Send" method on the returned Request to send the API call to the service.
3024// the "output" return value is not valid until after Send returns without error.
3025//
3026// See ListSlotTypes for more information on using the ListSlotTypes
3027// API call, and error handling.
3028//
3029// This method is useful when you want to inject custom logic or configuration
3030// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3031//
3032//
3033//    // Example sending a request using the ListSlotTypesRequest method.
3034//    req, resp := client.ListSlotTypesRequest(params)
3035//
3036//    err := req.Send()
3037//    if err == nil { // resp is now filled
3038//        fmt.Println(resp)
3039//    }
3040//
3041// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListSlotTypes
3042func (c *LexModelsV2) ListSlotTypesRequest(input *ListSlotTypesInput) (req *request.Request, output *ListSlotTypesOutput) {
3043	op := &request.Operation{
3044		Name:       opListSlotTypes,
3045		HTTPMethod: "POST",
3046		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/slottypes/",
3047		Paginator: &request.Paginator{
3048			InputTokens:     []string{"nextToken"},
3049			OutputTokens:    []string{"nextToken"},
3050			LimitToken:      "maxResults",
3051			TruncationToken: "",
3052		},
3053	}
3054
3055	if input == nil {
3056		input = &ListSlotTypesInput{}
3057	}
3058
3059	output = &ListSlotTypesOutput{}
3060	req = c.newRequest(op, input, output)
3061	return
3062}
3063
3064// ListSlotTypes API operation for Amazon Lex Model Building V2.
3065//
3066// Gets a list of slot types that match the specified criteria.
3067//
3068// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3069// with awserr.Error's Code and Message methods to get detailed information about
3070// the error.
3071//
3072// See the AWS API reference guide for Amazon Lex Model Building V2's
3073// API operation ListSlotTypes for usage and error information.
3074//
3075// Returned Error Types:
3076//   * ThrottlingException
3077//
3078//   * ServiceQuotaExceededException
3079//
3080//   * ValidationException
3081//
3082//   * InternalServerException
3083//
3084// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListSlotTypes
3085func (c *LexModelsV2) ListSlotTypes(input *ListSlotTypesInput) (*ListSlotTypesOutput, error) {
3086	req, out := c.ListSlotTypesRequest(input)
3087	return out, req.Send()
3088}
3089
3090// ListSlotTypesWithContext is the same as ListSlotTypes with the addition of
3091// the ability to pass a context and additional request options.
3092//
3093// See ListSlotTypes for details on how to use this API operation.
3094//
3095// The context must be non-nil and will be used for request cancellation. If
3096// the context is nil a panic will occur. In the future the SDK may create
3097// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3098// for more information on using Contexts.
3099func (c *LexModelsV2) ListSlotTypesWithContext(ctx aws.Context, input *ListSlotTypesInput, opts ...request.Option) (*ListSlotTypesOutput, error) {
3100	req, out := c.ListSlotTypesRequest(input)
3101	req.SetContext(ctx)
3102	req.ApplyOptions(opts...)
3103	return out, req.Send()
3104}
3105
3106// ListSlotTypesPages iterates over the pages of a ListSlotTypes operation,
3107// calling the "fn" function with the response data for each page. To stop
3108// iterating, return false from the fn function.
3109//
3110// See ListSlotTypes method for more information on how to use this operation.
3111//
3112// Note: This operation can generate multiple requests to a service.
3113//
3114//    // Example iterating over at most 3 pages of a ListSlotTypes operation.
3115//    pageNum := 0
3116//    err := client.ListSlotTypesPages(params,
3117//        func(page *lexmodelsv2.ListSlotTypesOutput, lastPage bool) bool {
3118//            pageNum++
3119//            fmt.Println(page)
3120//            return pageNum <= 3
3121//        })
3122//
3123func (c *LexModelsV2) ListSlotTypesPages(input *ListSlotTypesInput, fn func(*ListSlotTypesOutput, bool) bool) error {
3124	return c.ListSlotTypesPagesWithContext(aws.BackgroundContext(), input, fn)
3125}
3126
3127// ListSlotTypesPagesWithContext same as ListSlotTypesPages except
3128// it takes a Context and allows setting request options on the pages.
3129//
3130// The context must be non-nil and will be used for request cancellation. If
3131// the context is nil a panic will occur. In the future the SDK may create
3132// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3133// for more information on using Contexts.
3134func (c *LexModelsV2) ListSlotTypesPagesWithContext(ctx aws.Context, input *ListSlotTypesInput, fn func(*ListSlotTypesOutput, bool) bool, opts ...request.Option) error {
3135	p := request.Pagination{
3136		NewRequest: func() (*request.Request, error) {
3137			var inCpy *ListSlotTypesInput
3138			if input != nil {
3139				tmp := *input
3140				inCpy = &tmp
3141			}
3142			req, _ := c.ListSlotTypesRequest(inCpy)
3143			req.SetContext(ctx)
3144			req.ApplyOptions(opts...)
3145			return req, nil
3146		},
3147	}
3148
3149	for p.Next() {
3150		if !fn(p.Page().(*ListSlotTypesOutput), !p.HasNextPage()) {
3151			break
3152		}
3153	}
3154
3155	return p.Err()
3156}
3157
3158const opListSlots = "ListSlots"
3159
3160// ListSlotsRequest generates a "aws/request.Request" representing the
3161// client's request for the ListSlots operation. The "output" return
3162// value will be populated with the request's response once the request completes
3163// successfully.
3164//
3165// Use "Send" method on the returned Request to send the API call to the service.
3166// the "output" return value is not valid until after Send returns without error.
3167//
3168// See ListSlots for more information on using the ListSlots
3169// API call, and error handling.
3170//
3171// This method is useful when you want to inject custom logic or configuration
3172// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3173//
3174//
3175//    // Example sending a request using the ListSlotsRequest method.
3176//    req, resp := client.ListSlotsRequest(params)
3177//
3178//    err := req.Send()
3179//    if err == nil { // resp is now filled
3180//        fmt.Println(resp)
3181//    }
3182//
3183// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListSlots
3184func (c *LexModelsV2) ListSlotsRequest(input *ListSlotsInput) (req *request.Request, output *ListSlotsOutput) {
3185	op := &request.Operation{
3186		Name:       opListSlots,
3187		HTTPMethod: "POST",
3188		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/slots/",
3189		Paginator: &request.Paginator{
3190			InputTokens:     []string{"nextToken"},
3191			OutputTokens:    []string{"nextToken"},
3192			LimitToken:      "maxResults",
3193			TruncationToken: "",
3194		},
3195	}
3196
3197	if input == nil {
3198		input = &ListSlotsInput{}
3199	}
3200
3201	output = &ListSlotsOutput{}
3202	req = c.newRequest(op, input, output)
3203	return
3204}
3205
3206// ListSlots API operation for Amazon Lex Model Building V2.
3207//
3208// Gets a list of slots that match the specified criteria.
3209//
3210// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3211// with awserr.Error's Code and Message methods to get detailed information about
3212// the error.
3213//
3214// See the AWS API reference guide for Amazon Lex Model Building V2's
3215// API operation ListSlots for usage and error information.
3216//
3217// Returned Error Types:
3218//   * ThrottlingException
3219//
3220//   * ServiceQuotaExceededException
3221//
3222//   * ValidationException
3223//
3224//   * InternalServerException
3225//
3226// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListSlots
3227func (c *LexModelsV2) ListSlots(input *ListSlotsInput) (*ListSlotsOutput, error) {
3228	req, out := c.ListSlotsRequest(input)
3229	return out, req.Send()
3230}
3231
3232// ListSlotsWithContext is the same as ListSlots with the addition of
3233// the ability to pass a context and additional request options.
3234//
3235// See ListSlots for details on how to use this API operation.
3236//
3237// The context must be non-nil and will be used for request cancellation. If
3238// the context is nil a panic will occur. In the future the SDK may create
3239// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3240// for more information on using Contexts.
3241func (c *LexModelsV2) ListSlotsWithContext(ctx aws.Context, input *ListSlotsInput, opts ...request.Option) (*ListSlotsOutput, error) {
3242	req, out := c.ListSlotsRequest(input)
3243	req.SetContext(ctx)
3244	req.ApplyOptions(opts...)
3245	return out, req.Send()
3246}
3247
3248// ListSlotsPages iterates over the pages of a ListSlots operation,
3249// calling the "fn" function with the response data for each page. To stop
3250// iterating, return false from the fn function.
3251//
3252// See ListSlots method for more information on how to use this operation.
3253//
3254// Note: This operation can generate multiple requests to a service.
3255//
3256//    // Example iterating over at most 3 pages of a ListSlots operation.
3257//    pageNum := 0
3258//    err := client.ListSlotsPages(params,
3259//        func(page *lexmodelsv2.ListSlotsOutput, lastPage bool) bool {
3260//            pageNum++
3261//            fmt.Println(page)
3262//            return pageNum <= 3
3263//        })
3264//
3265func (c *LexModelsV2) ListSlotsPages(input *ListSlotsInput, fn func(*ListSlotsOutput, bool) bool) error {
3266	return c.ListSlotsPagesWithContext(aws.BackgroundContext(), input, fn)
3267}
3268
3269// ListSlotsPagesWithContext same as ListSlotsPages except
3270// it takes a Context and allows setting request options on the pages.
3271//
3272// The context must be non-nil and will be used for request cancellation. If
3273// the context is nil a panic will occur. In the future the SDK may create
3274// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3275// for more information on using Contexts.
3276func (c *LexModelsV2) ListSlotsPagesWithContext(ctx aws.Context, input *ListSlotsInput, fn func(*ListSlotsOutput, bool) bool, opts ...request.Option) error {
3277	p := request.Pagination{
3278		NewRequest: func() (*request.Request, error) {
3279			var inCpy *ListSlotsInput
3280			if input != nil {
3281				tmp := *input
3282				inCpy = &tmp
3283			}
3284			req, _ := c.ListSlotsRequest(inCpy)
3285			req.SetContext(ctx)
3286			req.ApplyOptions(opts...)
3287			return req, nil
3288		},
3289	}
3290
3291	for p.Next() {
3292		if !fn(p.Page().(*ListSlotsOutput), !p.HasNextPage()) {
3293			break
3294		}
3295	}
3296
3297	return p.Err()
3298}
3299
3300const opListTagsForResource = "ListTagsForResource"
3301
3302// ListTagsForResourceRequest generates a "aws/request.Request" representing the
3303// client's request for the ListTagsForResource operation. The "output" return
3304// value will be populated with the request's response once the request completes
3305// successfully.
3306//
3307// Use "Send" method on the returned Request to send the API call to the service.
3308// the "output" return value is not valid until after Send returns without error.
3309//
3310// See ListTagsForResource for more information on using the ListTagsForResource
3311// API call, and error handling.
3312//
3313// This method is useful when you want to inject custom logic or configuration
3314// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3315//
3316//
3317//    // Example sending a request using the ListTagsForResourceRequest method.
3318//    req, resp := client.ListTagsForResourceRequest(params)
3319//
3320//    err := req.Send()
3321//    if err == nil { // resp is now filled
3322//        fmt.Println(resp)
3323//    }
3324//
3325// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListTagsForResource
3326func (c *LexModelsV2) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
3327	op := &request.Operation{
3328		Name:       opListTagsForResource,
3329		HTTPMethod: "GET",
3330		HTTPPath:   "/tags/{resourceARN}",
3331	}
3332
3333	if input == nil {
3334		input = &ListTagsForResourceInput{}
3335	}
3336
3337	output = &ListTagsForResourceOutput{}
3338	req = c.newRequest(op, input, output)
3339	return
3340}
3341
3342// ListTagsForResource API operation for Amazon Lex Model Building V2.
3343//
3344// Gets a list of tags associated with a resource. Only bots, bot aliases, and
3345// bot channels can have tags associated with them.
3346//
3347// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3348// with awserr.Error's Code and Message methods to get detailed information about
3349// the error.
3350//
3351// See the AWS API reference guide for Amazon Lex Model Building V2's
3352// API operation ListTagsForResource for usage and error information.
3353//
3354// Returned Error Types:
3355//   * InternalServerException
3356//
3357//   * ThrottlingException
3358//
3359//   * ResourceNotFoundException
3360//
3361//   * ValidationException
3362//
3363// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ListTagsForResource
3364func (c *LexModelsV2) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
3365	req, out := c.ListTagsForResourceRequest(input)
3366	return out, req.Send()
3367}
3368
3369// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
3370// the ability to pass a context and additional request options.
3371//
3372// See ListTagsForResource for details on how to use this API operation.
3373//
3374// The context must be non-nil and will be used for request cancellation. If
3375// the context is nil a panic will occur. In the future the SDK may create
3376// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3377// for more information on using Contexts.
3378func (c *LexModelsV2) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
3379	req, out := c.ListTagsForResourceRequest(input)
3380	req.SetContext(ctx)
3381	req.ApplyOptions(opts...)
3382	return out, req.Send()
3383}
3384
3385const opTagResource = "TagResource"
3386
3387// TagResourceRequest generates a "aws/request.Request" representing the
3388// client's request for the TagResource operation. The "output" return
3389// value will be populated with the request's response once the request completes
3390// successfully.
3391//
3392// Use "Send" method on the returned Request to send the API call to the service.
3393// the "output" return value is not valid until after Send returns without error.
3394//
3395// See TagResource for more information on using the TagResource
3396// API call, and error handling.
3397//
3398// This method is useful when you want to inject custom logic or configuration
3399// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3400//
3401//
3402//    // Example sending a request using the TagResourceRequest method.
3403//    req, resp := client.TagResourceRequest(params)
3404//
3405//    err := req.Send()
3406//    if err == nil { // resp is now filled
3407//        fmt.Println(resp)
3408//    }
3409//
3410// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/TagResource
3411func (c *LexModelsV2) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
3412	op := &request.Operation{
3413		Name:       opTagResource,
3414		HTTPMethod: "POST",
3415		HTTPPath:   "/tags/{resourceARN}",
3416	}
3417
3418	if input == nil {
3419		input = &TagResourceInput{}
3420	}
3421
3422	output = &TagResourceOutput{}
3423	req = c.newRequest(op, input, output)
3424	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3425	return
3426}
3427
3428// TagResource API operation for Amazon Lex Model Building V2.
3429//
3430// Adds the specified tags to the specified resource. If a tag key already exists,
3431// the existing value is replaced with the new value.
3432//
3433// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3434// with awserr.Error's Code and Message methods to get detailed information about
3435// the error.
3436//
3437// See the AWS API reference guide for Amazon Lex Model Building V2's
3438// API operation TagResource for usage and error information.
3439//
3440// Returned Error Types:
3441//   * InternalServerException
3442//
3443//   * ThrottlingException
3444//
3445//   * ResourceNotFoundException
3446//
3447//   * ValidationException
3448//
3449// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/TagResource
3450func (c *LexModelsV2) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
3451	req, out := c.TagResourceRequest(input)
3452	return out, req.Send()
3453}
3454
3455// TagResourceWithContext is the same as TagResource with the addition of
3456// the ability to pass a context and additional request options.
3457//
3458// See TagResource for details on how to use this API operation.
3459//
3460// The context must be non-nil and will be used for request cancellation. If
3461// the context is nil a panic will occur. In the future the SDK may create
3462// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3463// for more information on using Contexts.
3464func (c *LexModelsV2) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
3465	req, out := c.TagResourceRequest(input)
3466	req.SetContext(ctx)
3467	req.ApplyOptions(opts...)
3468	return out, req.Send()
3469}
3470
3471const opUntagResource = "UntagResource"
3472
3473// UntagResourceRequest generates a "aws/request.Request" representing the
3474// client's request for the UntagResource operation. The "output" return
3475// value will be populated with the request's response once the request completes
3476// successfully.
3477//
3478// Use "Send" method on the returned Request to send the API call to the service.
3479// the "output" return value is not valid until after Send returns without error.
3480//
3481// See UntagResource for more information on using the UntagResource
3482// API call, and error handling.
3483//
3484// This method is useful when you want to inject custom logic or configuration
3485// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3486//
3487//
3488//    // Example sending a request using the UntagResourceRequest method.
3489//    req, resp := client.UntagResourceRequest(params)
3490//
3491//    err := req.Send()
3492//    if err == nil { // resp is now filled
3493//        fmt.Println(resp)
3494//    }
3495//
3496// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UntagResource
3497func (c *LexModelsV2) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
3498	op := &request.Operation{
3499		Name:       opUntagResource,
3500		HTTPMethod: "DELETE",
3501		HTTPPath:   "/tags/{resourceARN}",
3502	}
3503
3504	if input == nil {
3505		input = &UntagResourceInput{}
3506	}
3507
3508	output = &UntagResourceOutput{}
3509	req = c.newRequest(op, input, output)
3510	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3511	return
3512}
3513
3514// UntagResource API operation for Amazon Lex Model Building V2.
3515//
3516// Removes tags from a bot, bot alias, or bot channel.
3517//
3518// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3519// with awserr.Error's Code and Message methods to get detailed information about
3520// the error.
3521//
3522// See the AWS API reference guide for Amazon Lex Model Building V2's
3523// API operation UntagResource for usage and error information.
3524//
3525// Returned Error Types:
3526//   * InternalServerException
3527//
3528//   * ThrottlingException
3529//
3530//   * ResourceNotFoundException
3531//
3532//   * ValidationException
3533//
3534// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UntagResource
3535func (c *LexModelsV2) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
3536	req, out := c.UntagResourceRequest(input)
3537	return out, req.Send()
3538}
3539
3540// UntagResourceWithContext is the same as UntagResource with the addition of
3541// the ability to pass a context and additional request options.
3542//
3543// See UntagResource for details on how to use this API operation.
3544//
3545// The context must be non-nil and will be used for request cancellation. If
3546// the context is nil a panic will occur. In the future the SDK may create
3547// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3548// for more information on using Contexts.
3549func (c *LexModelsV2) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
3550	req, out := c.UntagResourceRequest(input)
3551	req.SetContext(ctx)
3552	req.ApplyOptions(opts...)
3553	return out, req.Send()
3554}
3555
3556const opUpdateBot = "UpdateBot"
3557
3558// UpdateBotRequest generates a "aws/request.Request" representing the
3559// client's request for the UpdateBot operation. The "output" return
3560// value will be populated with the request's response once the request completes
3561// successfully.
3562//
3563// Use "Send" method on the returned Request to send the API call to the service.
3564// the "output" return value is not valid until after Send returns without error.
3565//
3566// See UpdateBot for more information on using the UpdateBot
3567// API call, and error handling.
3568//
3569// This method is useful when you want to inject custom logic or configuration
3570// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3571//
3572//
3573//    // Example sending a request using the UpdateBotRequest method.
3574//    req, resp := client.UpdateBotRequest(params)
3575//
3576//    err := req.Send()
3577//    if err == nil { // resp is now filled
3578//        fmt.Println(resp)
3579//    }
3580//
3581// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateBot
3582func (c *LexModelsV2) UpdateBotRequest(input *UpdateBotInput) (req *request.Request, output *UpdateBotOutput) {
3583	op := &request.Operation{
3584		Name:       opUpdateBot,
3585		HTTPMethod: "PUT",
3586		HTTPPath:   "/bots/{botId}/",
3587	}
3588
3589	if input == nil {
3590		input = &UpdateBotInput{}
3591	}
3592
3593	output = &UpdateBotOutput{}
3594	req = c.newRequest(op, input, output)
3595	return
3596}
3597
3598// UpdateBot API operation for Amazon Lex Model Building V2.
3599//
3600// Updates the configuration of an existing bot.
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 UpdateBot for usage and error information.
3608//
3609// Returned Error Types:
3610//   * ThrottlingException
3611//
3612//   * ServiceQuotaExceededException
3613//
3614//   * ValidationException
3615//
3616//   * PreconditionFailedException
3617//
3618//   * ConflictException
3619//
3620//   * InternalServerException
3621//
3622// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateBot
3623func (c *LexModelsV2) UpdateBot(input *UpdateBotInput) (*UpdateBotOutput, error) {
3624	req, out := c.UpdateBotRequest(input)
3625	return out, req.Send()
3626}
3627
3628// UpdateBotWithContext is the same as UpdateBot with the addition of
3629// the ability to pass a context and additional request options.
3630//
3631// See UpdateBot for details on how to use this API operation.
3632//
3633// The context must be non-nil and will be used for request cancellation. If
3634// the context is nil a panic will occur. In the future the SDK may create
3635// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3636// for more information on using Contexts.
3637func (c *LexModelsV2) UpdateBotWithContext(ctx aws.Context, input *UpdateBotInput, opts ...request.Option) (*UpdateBotOutput, error) {
3638	req, out := c.UpdateBotRequest(input)
3639	req.SetContext(ctx)
3640	req.ApplyOptions(opts...)
3641	return out, req.Send()
3642}
3643
3644const opUpdateBotAlias = "UpdateBotAlias"
3645
3646// UpdateBotAliasRequest generates a "aws/request.Request" representing the
3647// client's request for the UpdateBotAlias operation. The "output" return
3648// value will be populated with the request's response once the request completes
3649// successfully.
3650//
3651// Use "Send" method on the returned Request to send the API call to the service.
3652// the "output" return value is not valid until after Send returns without error.
3653//
3654// See UpdateBotAlias for more information on using the UpdateBotAlias
3655// API call, and error handling.
3656//
3657// This method is useful when you want to inject custom logic or configuration
3658// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3659//
3660//
3661//    // Example sending a request using the UpdateBotAliasRequest method.
3662//    req, resp := client.UpdateBotAliasRequest(params)
3663//
3664//    err := req.Send()
3665//    if err == nil { // resp is now filled
3666//        fmt.Println(resp)
3667//    }
3668//
3669// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateBotAlias
3670func (c *LexModelsV2) UpdateBotAliasRequest(input *UpdateBotAliasInput) (req *request.Request, output *UpdateBotAliasOutput) {
3671	op := &request.Operation{
3672		Name:       opUpdateBotAlias,
3673		HTTPMethod: "PUT",
3674		HTTPPath:   "/bots/{botId}/botaliases/{botAliasId}/",
3675	}
3676
3677	if input == nil {
3678		input = &UpdateBotAliasInput{}
3679	}
3680
3681	output = &UpdateBotAliasOutput{}
3682	req = c.newRequest(op, input, output)
3683	return
3684}
3685
3686// UpdateBotAlias API operation for Amazon Lex Model Building V2.
3687//
3688// Updates the configuration of an existing bot alias.
3689//
3690// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3691// with awserr.Error's Code and Message methods to get detailed information about
3692// the error.
3693//
3694// See the AWS API reference guide for Amazon Lex Model Building V2's
3695// API operation UpdateBotAlias for usage and error information.
3696//
3697// Returned Error Types:
3698//   * ThrottlingException
3699//
3700//   * ServiceQuotaExceededException
3701//
3702//   * ValidationException
3703//
3704//   * PreconditionFailedException
3705//
3706//   * ConflictException
3707//
3708//   * InternalServerException
3709//
3710// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateBotAlias
3711func (c *LexModelsV2) UpdateBotAlias(input *UpdateBotAliasInput) (*UpdateBotAliasOutput, error) {
3712	req, out := c.UpdateBotAliasRequest(input)
3713	return out, req.Send()
3714}
3715
3716// UpdateBotAliasWithContext is the same as UpdateBotAlias with the addition of
3717// the ability to pass a context and additional request options.
3718//
3719// See UpdateBotAlias for details on how to use this API operation.
3720//
3721// The context must be non-nil and will be used for request cancellation. If
3722// the context is nil a panic will occur. In the future the SDK may create
3723// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3724// for more information on using Contexts.
3725func (c *LexModelsV2) UpdateBotAliasWithContext(ctx aws.Context, input *UpdateBotAliasInput, opts ...request.Option) (*UpdateBotAliasOutput, error) {
3726	req, out := c.UpdateBotAliasRequest(input)
3727	req.SetContext(ctx)
3728	req.ApplyOptions(opts...)
3729	return out, req.Send()
3730}
3731
3732const opUpdateBotLocale = "UpdateBotLocale"
3733
3734// UpdateBotLocaleRequest generates a "aws/request.Request" representing the
3735// client's request for the UpdateBotLocale operation. The "output" return
3736// value will be populated with the request's response once the request completes
3737// successfully.
3738//
3739// Use "Send" method on the returned Request to send the API call to the service.
3740// the "output" return value is not valid until after Send returns without error.
3741//
3742// See UpdateBotLocale for more information on using the UpdateBotLocale
3743// API call, and error handling.
3744//
3745// This method is useful when you want to inject custom logic or configuration
3746// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3747//
3748//
3749//    // Example sending a request using the UpdateBotLocaleRequest method.
3750//    req, resp := client.UpdateBotLocaleRequest(params)
3751//
3752//    err := req.Send()
3753//    if err == nil { // resp is now filled
3754//        fmt.Println(resp)
3755//    }
3756//
3757// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateBotLocale
3758func (c *LexModelsV2) UpdateBotLocaleRequest(input *UpdateBotLocaleInput) (req *request.Request, output *UpdateBotLocaleOutput) {
3759	op := &request.Operation{
3760		Name:       opUpdateBotLocale,
3761		HTTPMethod: "PUT",
3762		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/",
3763	}
3764
3765	if input == nil {
3766		input = &UpdateBotLocaleInput{}
3767	}
3768
3769	output = &UpdateBotLocaleOutput{}
3770	req = c.newRequest(op, input, output)
3771	return
3772}
3773
3774// UpdateBotLocale API operation for Amazon Lex Model Building V2.
3775//
3776// Updates the settings that a bot has for a specific locale.
3777//
3778// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3779// with awserr.Error's Code and Message methods to get detailed information about
3780// the error.
3781//
3782// See the AWS API reference guide for Amazon Lex Model Building V2's
3783// API operation UpdateBotLocale for usage and error information.
3784//
3785// Returned Error Types:
3786//   * ThrottlingException
3787//
3788//   * ServiceQuotaExceededException
3789//
3790//   * ValidationException
3791//
3792//   * PreconditionFailedException
3793//
3794//   * ConflictException
3795//
3796//   * InternalServerException
3797//
3798// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateBotLocale
3799func (c *LexModelsV2) UpdateBotLocale(input *UpdateBotLocaleInput) (*UpdateBotLocaleOutput, error) {
3800	req, out := c.UpdateBotLocaleRequest(input)
3801	return out, req.Send()
3802}
3803
3804// UpdateBotLocaleWithContext is the same as UpdateBotLocale with the addition of
3805// the ability to pass a context and additional request options.
3806//
3807// See UpdateBotLocale for details on how to use this API operation.
3808//
3809// The context must be non-nil and will be used for request cancellation. If
3810// the context is nil a panic will occur. In the future the SDK may create
3811// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3812// for more information on using Contexts.
3813func (c *LexModelsV2) UpdateBotLocaleWithContext(ctx aws.Context, input *UpdateBotLocaleInput, opts ...request.Option) (*UpdateBotLocaleOutput, error) {
3814	req, out := c.UpdateBotLocaleRequest(input)
3815	req.SetContext(ctx)
3816	req.ApplyOptions(opts...)
3817	return out, req.Send()
3818}
3819
3820const opUpdateIntent = "UpdateIntent"
3821
3822// UpdateIntentRequest generates a "aws/request.Request" representing the
3823// client's request for the UpdateIntent operation. The "output" return
3824// value will be populated with the request's response once the request completes
3825// successfully.
3826//
3827// Use "Send" method on the returned Request to send the API call to the service.
3828// the "output" return value is not valid until after Send returns without error.
3829//
3830// See UpdateIntent for more information on using the UpdateIntent
3831// API call, and error handling.
3832//
3833// This method is useful when you want to inject custom logic or configuration
3834// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3835//
3836//
3837//    // Example sending a request using the UpdateIntentRequest method.
3838//    req, resp := client.UpdateIntentRequest(params)
3839//
3840//    err := req.Send()
3841//    if err == nil { // resp is now filled
3842//        fmt.Println(resp)
3843//    }
3844//
3845// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateIntent
3846func (c *LexModelsV2) UpdateIntentRequest(input *UpdateIntentInput) (req *request.Request, output *UpdateIntentOutput) {
3847	op := &request.Operation{
3848		Name:       opUpdateIntent,
3849		HTTPMethod: "PUT",
3850		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/",
3851	}
3852
3853	if input == nil {
3854		input = &UpdateIntentInput{}
3855	}
3856
3857	output = &UpdateIntentOutput{}
3858	req = c.newRequest(op, input, output)
3859	return
3860}
3861
3862// UpdateIntent API operation for Amazon Lex Model Building V2.
3863//
3864// Updates the settings for an intent.
3865//
3866// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3867// with awserr.Error's Code and Message methods to get detailed information about
3868// the error.
3869//
3870// See the AWS API reference guide for Amazon Lex Model Building V2's
3871// API operation UpdateIntent for usage and error information.
3872//
3873// Returned Error Types:
3874//   * ThrottlingException
3875//
3876//   * ServiceQuotaExceededException
3877//
3878//   * ValidationException
3879//
3880//   * PreconditionFailedException
3881//
3882//   * ConflictException
3883//
3884//   * InternalServerException
3885//
3886// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateIntent
3887func (c *LexModelsV2) UpdateIntent(input *UpdateIntentInput) (*UpdateIntentOutput, error) {
3888	req, out := c.UpdateIntentRequest(input)
3889	return out, req.Send()
3890}
3891
3892// UpdateIntentWithContext is the same as UpdateIntent with the addition of
3893// the ability to pass a context and additional request options.
3894//
3895// See UpdateIntent for details on how to use this API operation.
3896//
3897// The context must be non-nil and will be used for request cancellation. If
3898// the context is nil a panic will occur. In the future the SDK may create
3899// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3900// for more information on using Contexts.
3901func (c *LexModelsV2) UpdateIntentWithContext(ctx aws.Context, input *UpdateIntentInput, opts ...request.Option) (*UpdateIntentOutput, error) {
3902	req, out := c.UpdateIntentRequest(input)
3903	req.SetContext(ctx)
3904	req.ApplyOptions(opts...)
3905	return out, req.Send()
3906}
3907
3908const opUpdateSlot = "UpdateSlot"
3909
3910// UpdateSlotRequest generates a "aws/request.Request" representing the
3911// client's request for the UpdateSlot operation. The "output" return
3912// value will be populated with the request's response once the request completes
3913// successfully.
3914//
3915// Use "Send" method on the returned Request to send the API call to the service.
3916// the "output" return value is not valid until after Send returns without error.
3917//
3918// See UpdateSlot for more information on using the UpdateSlot
3919// API call, and error handling.
3920//
3921// This method is useful when you want to inject custom logic or configuration
3922// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3923//
3924//
3925//    // Example sending a request using the UpdateSlotRequest method.
3926//    req, resp := client.UpdateSlotRequest(params)
3927//
3928//    err := req.Send()
3929//    if err == nil { // resp is now filled
3930//        fmt.Println(resp)
3931//    }
3932//
3933// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateSlot
3934func (c *LexModelsV2) UpdateSlotRequest(input *UpdateSlotInput) (req *request.Request, output *UpdateSlotOutput) {
3935	op := &request.Operation{
3936		Name:       opUpdateSlot,
3937		HTTPMethod: "PUT",
3938		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/intents/{intentId}/slots/{slotId}/",
3939	}
3940
3941	if input == nil {
3942		input = &UpdateSlotInput{}
3943	}
3944
3945	output = &UpdateSlotOutput{}
3946	req = c.newRequest(op, input, output)
3947	return
3948}
3949
3950// UpdateSlot API operation for Amazon Lex Model Building V2.
3951//
3952// Updates the settings for a slot.
3953//
3954// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3955// with awserr.Error's Code and Message methods to get detailed information about
3956// the error.
3957//
3958// See the AWS API reference guide for Amazon Lex Model Building V2's
3959// API operation UpdateSlot for usage and error information.
3960//
3961// Returned Error Types:
3962//   * ThrottlingException
3963//
3964//   * ServiceQuotaExceededException
3965//
3966//   * ValidationException
3967//
3968//   * PreconditionFailedException
3969//
3970//   * ConflictException
3971//
3972//   * InternalServerException
3973//
3974// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateSlot
3975func (c *LexModelsV2) UpdateSlot(input *UpdateSlotInput) (*UpdateSlotOutput, error) {
3976	req, out := c.UpdateSlotRequest(input)
3977	return out, req.Send()
3978}
3979
3980// UpdateSlotWithContext is the same as UpdateSlot with the addition of
3981// the ability to pass a context and additional request options.
3982//
3983// See UpdateSlot for details on how to use this API operation.
3984//
3985// The context must be non-nil and will be used for request cancellation. If
3986// the context is nil a panic will occur. In the future the SDK may create
3987// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3988// for more information on using Contexts.
3989func (c *LexModelsV2) UpdateSlotWithContext(ctx aws.Context, input *UpdateSlotInput, opts ...request.Option) (*UpdateSlotOutput, error) {
3990	req, out := c.UpdateSlotRequest(input)
3991	req.SetContext(ctx)
3992	req.ApplyOptions(opts...)
3993	return out, req.Send()
3994}
3995
3996const opUpdateSlotType = "UpdateSlotType"
3997
3998// UpdateSlotTypeRequest generates a "aws/request.Request" representing the
3999// client's request for the UpdateSlotType operation. The "output" return
4000// value will be populated with the request's response once the request completes
4001// successfully.
4002//
4003// Use "Send" method on the returned Request to send the API call to the service.
4004// the "output" return value is not valid until after Send returns without error.
4005//
4006// See UpdateSlotType for more information on using the UpdateSlotType
4007// API call, and error handling.
4008//
4009// This method is useful when you want to inject custom logic or configuration
4010// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4011//
4012//
4013//    // Example sending a request using the UpdateSlotTypeRequest method.
4014//    req, resp := client.UpdateSlotTypeRequest(params)
4015//
4016//    err := req.Send()
4017//    if err == nil { // resp is now filled
4018//        fmt.Println(resp)
4019//    }
4020//
4021// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateSlotType
4022func (c *LexModelsV2) UpdateSlotTypeRequest(input *UpdateSlotTypeInput) (req *request.Request, output *UpdateSlotTypeOutput) {
4023	op := &request.Operation{
4024		Name:       opUpdateSlotType,
4025		HTTPMethod: "PUT",
4026		HTTPPath:   "/bots/{botId}/botversions/{botVersion}/botlocales/{localeId}/slottypes/{slotTypeId}/",
4027	}
4028
4029	if input == nil {
4030		input = &UpdateSlotTypeInput{}
4031	}
4032
4033	output = &UpdateSlotTypeOutput{}
4034	req = c.newRequest(op, input, output)
4035	return
4036}
4037
4038// UpdateSlotType API operation for Amazon Lex Model Building V2.
4039//
4040// Updates the configuration of an existing slot type.
4041//
4042// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4043// with awserr.Error's Code and Message methods to get detailed information about
4044// the error.
4045//
4046// See the AWS API reference guide for Amazon Lex Model Building V2's
4047// API operation UpdateSlotType for usage and error information.
4048//
4049// Returned Error Types:
4050//   * ThrottlingException
4051//
4052//   * ServiceQuotaExceededException
4053//
4054//   * ValidationException
4055//
4056//   * PreconditionFailedException
4057//
4058//   * ConflictException
4059//
4060//   * InternalServerException
4061//
4062// See also, https://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/UpdateSlotType
4063func (c *LexModelsV2) UpdateSlotType(input *UpdateSlotTypeInput) (*UpdateSlotTypeOutput, error) {
4064	req, out := c.UpdateSlotTypeRequest(input)
4065	return out, req.Send()
4066}
4067
4068// UpdateSlotTypeWithContext is the same as UpdateSlotType with the addition of
4069// the ability to pass a context and additional request options.
4070//
4071// See UpdateSlotType for details on how to use this API operation.
4072//
4073// The context must be non-nil and will be used for request cancellation. If
4074// the context is nil a panic will occur. In the future the SDK may create
4075// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4076// for more information on using Contexts.
4077func (c *LexModelsV2) UpdateSlotTypeWithContext(ctx aws.Context, input *UpdateSlotTypeInput, opts ...request.Option) (*UpdateSlotTypeOutput, error) {
4078	req, out := c.UpdateSlotTypeRequest(input)
4079	req.SetContext(ctx)
4080	req.ApplyOptions(opts...)
4081	return out, req.Send()
4082}
4083
4084// The location of audio log files collected when conversation logging is enabled
4085// for a bot.
4086type AudioLogDestination struct {
4087	_ struct{} `type:"structure"`
4088
4089	// The Amazon S3 bucket where the audio log files are stored. The IAM role specified
4090	// in the roleArn parameter of the CreateBot operation must have permission
4091	// to write to this bucket.
4092	//
4093	// S3Bucket is a required field
4094	S3Bucket *S3BucketLogDestination `locationName:"s3Bucket" type:"structure" required:"true"`
4095}
4096
4097// String returns the string representation
4098func (s AudioLogDestination) String() string {
4099	return awsutil.Prettify(s)
4100}
4101
4102// GoString returns the string representation
4103func (s AudioLogDestination) GoString() string {
4104	return s.String()
4105}
4106
4107// Validate inspects the fields of the type to determine if they are valid.
4108func (s *AudioLogDestination) Validate() error {
4109	invalidParams := request.ErrInvalidParams{Context: "AudioLogDestination"}
4110	if s.S3Bucket == nil {
4111		invalidParams.Add(request.NewErrParamRequired("S3Bucket"))
4112	}
4113	if s.S3Bucket != nil {
4114		if err := s.S3Bucket.Validate(); err != nil {
4115			invalidParams.AddNested("S3Bucket", err.(request.ErrInvalidParams))
4116		}
4117	}
4118
4119	if invalidParams.Len() > 0 {
4120		return invalidParams
4121	}
4122	return nil
4123}
4124
4125// SetS3Bucket sets the S3Bucket field's value.
4126func (s *AudioLogDestination) SetS3Bucket(v *S3BucketLogDestination) *AudioLogDestination {
4127	s.S3Bucket = v
4128	return s
4129}
4130
4131// Settings for logging audio of conversations between Amazon Lex and a user.
4132// You specify whether to log audio and the Amazon S3 bucket where the audio
4133// file is stored.
4134type AudioLogSetting struct {
4135	_ struct{} `type:"structure"`
4136
4137	// The location of audio log files collected when conversation logging is enabled
4138	// for a bot.
4139	//
4140	// Destination is a required field
4141	Destination *AudioLogDestination `locationName:"destination" type:"structure" required:"true"`
4142
4143	// Determines whether audio logging in enabled for the bot.
4144	//
4145	// Enabled is a required field
4146	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
4147}
4148
4149// String returns the string representation
4150func (s AudioLogSetting) String() string {
4151	return awsutil.Prettify(s)
4152}
4153
4154// GoString returns the string representation
4155func (s AudioLogSetting) GoString() string {
4156	return s.String()
4157}
4158
4159// Validate inspects the fields of the type to determine if they are valid.
4160func (s *AudioLogSetting) Validate() error {
4161	invalidParams := request.ErrInvalidParams{Context: "AudioLogSetting"}
4162	if s.Destination == nil {
4163		invalidParams.Add(request.NewErrParamRequired("Destination"))
4164	}
4165	if s.Enabled == nil {
4166		invalidParams.Add(request.NewErrParamRequired("Enabled"))
4167	}
4168	if s.Destination != nil {
4169		if err := s.Destination.Validate(); err != nil {
4170			invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
4171		}
4172	}
4173
4174	if invalidParams.Len() > 0 {
4175		return invalidParams
4176	}
4177	return nil
4178}
4179
4180// SetDestination sets the Destination field's value.
4181func (s *AudioLogSetting) SetDestination(v *AudioLogDestination) *AudioLogSetting {
4182	s.Destination = v
4183	return s
4184}
4185
4186// SetEnabled sets the Enabled field's value.
4187func (s *AudioLogSetting) SetEnabled(v bool) *AudioLogSetting {
4188	s.Enabled = &v
4189	return s
4190}
4191
4192// Provides a record of an event that affects a bot alias. For example, when
4193// the version of a bot that the alias points to changes.
4194type BotAliasHistoryEvent struct {
4195	_ struct{} `type:"structure"`
4196
4197	// The version of the bot that was used in the event.
4198	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
4199
4200	// The date and time that the event ended.
4201	EndDate *time.Time `locationName:"endDate" type:"timestamp"`
4202
4203	// The date and time that the event started.
4204	StartDate *time.Time `locationName:"startDate" type:"timestamp"`
4205}
4206
4207// String returns the string representation
4208func (s BotAliasHistoryEvent) String() string {
4209	return awsutil.Prettify(s)
4210}
4211
4212// GoString returns the string representation
4213func (s BotAliasHistoryEvent) GoString() string {
4214	return s.String()
4215}
4216
4217// SetBotVersion sets the BotVersion field's value.
4218func (s *BotAliasHistoryEvent) SetBotVersion(v string) *BotAliasHistoryEvent {
4219	s.BotVersion = &v
4220	return s
4221}
4222
4223// SetEndDate sets the EndDate field's value.
4224func (s *BotAliasHistoryEvent) SetEndDate(v time.Time) *BotAliasHistoryEvent {
4225	s.EndDate = &v
4226	return s
4227}
4228
4229// SetStartDate sets the StartDate field's value.
4230func (s *BotAliasHistoryEvent) SetStartDate(v time.Time) *BotAliasHistoryEvent {
4231	s.StartDate = &v
4232	return s
4233}
4234
4235// Specifies settings that are unique to a locale. For example, you can use
4236// different Lambda function depending on the bot's locale.
4237type BotAliasLocaleSettings struct {
4238	_ struct{} `type:"structure"`
4239
4240	// Specifies the Lambda function that should be used in the locale.
4241	CodeHookSpecification *CodeHookSpecification `locationName:"codeHookSpecification" type:"structure"`
4242
4243	// Determines whether the locale is enabled for the bot. If the value is false,
4244	// the locale isn't available for use.
4245	//
4246	// Enabled is a required field
4247	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
4248}
4249
4250// String returns the string representation
4251func (s BotAliasLocaleSettings) String() string {
4252	return awsutil.Prettify(s)
4253}
4254
4255// GoString returns the string representation
4256func (s BotAliasLocaleSettings) GoString() string {
4257	return s.String()
4258}
4259
4260// Validate inspects the fields of the type to determine if they are valid.
4261func (s *BotAliasLocaleSettings) Validate() error {
4262	invalidParams := request.ErrInvalidParams{Context: "BotAliasLocaleSettings"}
4263	if s.Enabled == nil {
4264		invalidParams.Add(request.NewErrParamRequired("Enabled"))
4265	}
4266	if s.CodeHookSpecification != nil {
4267		if err := s.CodeHookSpecification.Validate(); err != nil {
4268			invalidParams.AddNested("CodeHookSpecification", err.(request.ErrInvalidParams))
4269		}
4270	}
4271
4272	if invalidParams.Len() > 0 {
4273		return invalidParams
4274	}
4275	return nil
4276}
4277
4278// SetCodeHookSpecification sets the CodeHookSpecification field's value.
4279func (s *BotAliasLocaleSettings) SetCodeHookSpecification(v *CodeHookSpecification) *BotAliasLocaleSettings {
4280	s.CodeHookSpecification = v
4281	return s
4282}
4283
4284// SetEnabled sets the Enabled field's value.
4285func (s *BotAliasLocaleSettings) SetEnabled(v bool) *BotAliasLocaleSettings {
4286	s.Enabled = &v
4287	return s
4288}
4289
4290// Summary information about bot aliases returned from the ListBotAliases operation.
4291type BotAliasSummary struct {
4292	_ struct{} `type:"structure"`
4293
4294	// The unique identifier assigned to the bot alias. You can use this ID to get
4295	// detailed information about the alias using the DescribeBotAlias operation.
4296	BotAliasId *string `locationName:"botAliasId" min:"10" type:"string"`
4297
4298	// The name of the bot alias.
4299	BotAliasName *string `locationName:"botAliasName" min:"1" type:"string"`
4300
4301	// The current state of the bot alias. If the status is Available, the alias
4302	// is ready for use.
4303	BotAliasStatus *string `locationName:"botAliasStatus" type:"string" enum:"BotAliasStatus"`
4304
4305	// The version of the bot that the bot alias references.
4306	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
4307
4308	// A timestamp of the date and time that the bot alias was created.
4309	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
4310
4311	// The description of the bot alias.
4312	Description *string `locationName:"description" type:"string"`
4313
4314	// A timestamp of the date and time that the bot alias was last updated.
4315	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
4316}
4317
4318// String returns the string representation
4319func (s BotAliasSummary) String() string {
4320	return awsutil.Prettify(s)
4321}
4322
4323// GoString returns the string representation
4324func (s BotAliasSummary) GoString() string {
4325	return s.String()
4326}
4327
4328// SetBotAliasId sets the BotAliasId field's value.
4329func (s *BotAliasSummary) SetBotAliasId(v string) *BotAliasSummary {
4330	s.BotAliasId = &v
4331	return s
4332}
4333
4334// SetBotAliasName sets the BotAliasName field's value.
4335func (s *BotAliasSummary) SetBotAliasName(v string) *BotAliasSummary {
4336	s.BotAliasName = &v
4337	return s
4338}
4339
4340// SetBotAliasStatus sets the BotAliasStatus field's value.
4341func (s *BotAliasSummary) SetBotAliasStatus(v string) *BotAliasSummary {
4342	s.BotAliasStatus = &v
4343	return s
4344}
4345
4346// SetBotVersion sets the BotVersion field's value.
4347func (s *BotAliasSummary) SetBotVersion(v string) *BotAliasSummary {
4348	s.BotVersion = &v
4349	return s
4350}
4351
4352// SetCreationDateTime sets the CreationDateTime field's value.
4353func (s *BotAliasSummary) SetCreationDateTime(v time.Time) *BotAliasSummary {
4354	s.CreationDateTime = &v
4355	return s
4356}
4357
4358// SetDescription sets the Description field's value.
4359func (s *BotAliasSummary) SetDescription(v string) *BotAliasSummary {
4360	s.Description = &v
4361	return s
4362}
4363
4364// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
4365func (s *BotAliasSummary) SetLastUpdatedDateTime(v time.Time) *BotAliasSummary {
4366	s.LastUpdatedDateTime = &v
4367	return s
4368}
4369
4370// Filters the responses returned by the ListBots operation.
4371type BotFilter struct {
4372	_ struct{} `type:"structure"`
4373
4374	// The name of the field to filter the list of bots.
4375	//
4376	// Name is a required field
4377	Name *string `locationName:"name" type:"string" required:"true" enum:"BotFilterName"`
4378
4379	// The operator to use for the filter. Specify EQ when the ListBots operation
4380	// should return only aliases that equal the specified value. Specify CO when
4381	// the ListBots operation should return aliases that contain the specified value.
4382	//
4383	// Operator is a required field
4384	Operator *string `locationName:"operator" type:"string" required:"true" enum:"BotFilterOperator"`
4385
4386	// The value to use for filtering the list of bots.
4387	//
4388	// Values is a required field
4389	Values []*string `locationName:"values" min:"1" type:"list" required:"true"`
4390}
4391
4392// String returns the string representation
4393func (s BotFilter) String() string {
4394	return awsutil.Prettify(s)
4395}
4396
4397// GoString returns the string representation
4398func (s BotFilter) GoString() string {
4399	return s.String()
4400}
4401
4402// Validate inspects the fields of the type to determine if they are valid.
4403func (s *BotFilter) Validate() error {
4404	invalidParams := request.ErrInvalidParams{Context: "BotFilter"}
4405	if s.Name == nil {
4406		invalidParams.Add(request.NewErrParamRequired("Name"))
4407	}
4408	if s.Operator == nil {
4409		invalidParams.Add(request.NewErrParamRequired("Operator"))
4410	}
4411	if s.Values == nil {
4412		invalidParams.Add(request.NewErrParamRequired("Values"))
4413	}
4414	if s.Values != nil && len(s.Values) < 1 {
4415		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
4416	}
4417
4418	if invalidParams.Len() > 0 {
4419		return invalidParams
4420	}
4421	return nil
4422}
4423
4424// SetName sets the Name field's value.
4425func (s *BotFilter) SetName(v string) *BotFilter {
4426	s.Name = &v
4427	return s
4428}
4429
4430// SetOperator sets the Operator field's value.
4431func (s *BotFilter) SetOperator(v string) *BotFilter {
4432	s.Operator = &v
4433	return s
4434}
4435
4436// SetValues sets the Values field's value.
4437func (s *BotFilter) SetValues(v []*string) *BotFilter {
4438	s.Values = v
4439	return s
4440}
4441
4442// Filters responses returned by the ListBotLocales operation.
4443type BotLocaleFilter struct {
4444	_ struct{} `type:"structure"`
4445
4446	// The name of the field to filter the list of bots.
4447	//
4448	// Name is a required field
4449	Name *string `locationName:"name" type:"string" required:"true" enum:"BotLocaleFilterName"`
4450
4451	// The operator to use for the filter. Specify EQ when the ListBotLocales operation
4452	// should return only aliases that equal the specified value. Specify CO when
4453	// the ListBotLocales operation should return aliases that contain the specified
4454	// value.
4455	//
4456	// Operator is a required field
4457	Operator *string `locationName:"operator" type:"string" required:"true" enum:"BotLocaleFilterOperator"`
4458
4459	// The value to use for filtering the list of bots.
4460	//
4461	// Values is a required field
4462	Values []*string `locationName:"values" min:"1" type:"list" required:"true"`
4463}
4464
4465// String returns the string representation
4466func (s BotLocaleFilter) String() string {
4467	return awsutil.Prettify(s)
4468}
4469
4470// GoString returns the string representation
4471func (s BotLocaleFilter) GoString() string {
4472	return s.String()
4473}
4474
4475// Validate inspects the fields of the type to determine if they are valid.
4476func (s *BotLocaleFilter) Validate() error {
4477	invalidParams := request.ErrInvalidParams{Context: "BotLocaleFilter"}
4478	if s.Name == nil {
4479		invalidParams.Add(request.NewErrParamRequired("Name"))
4480	}
4481	if s.Operator == nil {
4482		invalidParams.Add(request.NewErrParamRequired("Operator"))
4483	}
4484	if s.Values == nil {
4485		invalidParams.Add(request.NewErrParamRequired("Values"))
4486	}
4487	if s.Values != nil && len(s.Values) < 1 {
4488		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
4489	}
4490
4491	if invalidParams.Len() > 0 {
4492		return invalidParams
4493	}
4494	return nil
4495}
4496
4497// SetName sets the Name field's value.
4498func (s *BotLocaleFilter) SetName(v string) *BotLocaleFilter {
4499	s.Name = &v
4500	return s
4501}
4502
4503// SetOperator sets the Operator field's value.
4504func (s *BotLocaleFilter) SetOperator(v string) *BotLocaleFilter {
4505	s.Operator = &v
4506	return s
4507}
4508
4509// SetValues sets the Values field's value.
4510func (s *BotLocaleFilter) SetValues(v []*string) *BotLocaleFilter {
4511	s.Values = v
4512	return s
4513}
4514
4515// Provides information about an event that occurred affecting the bot locale.
4516type BotLocaleHistoryEvent struct {
4517	_ struct{} `type:"structure"`
4518
4519	// A description of the event that occurred.
4520	//
4521	// Event is a required field
4522	Event *string `locationName:"event" type:"string" required:"true"`
4523
4524	// A timestamp of the date and time that the event occurred.
4525	//
4526	// EventDate is a required field
4527	EventDate *time.Time `locationName:"eventDate" type:"timestamp" required:"true"`
4528}
4529
4530// String returns the string representation
4531func (s BotLocaleHistoryEvent) String() string {
4532	return awsutil.Prettify(s)
4533}
4534
4535// GoString returns the string representation
4536func (s BotLocaleHistoryEvent) GoString() string {
4537	return s.String()
4538}
4539
4540// SetEvent sets the Event field's value.
4541func (s *BotLocaleHistoryEvent) SetEvent(v string) *BotLocaleHistoryEvent {
4542	s.Event = &v
4543	return s
4544}
4545
4546// SetEventDate sets the EventDate field's value.
4547func (s *BotLocaleHistoryEvent) SetEventDate(v time.Time) *BotLocaleHistoryEvent {
4548	s.EventDate = &v
4549	return s
4550}
4551
4552// Specifies attributes for sorting a list of bot locales.
4553type BotLocaleSortBy struct {
4554	_ struct{} `type:"structure"`
4555
4556	// The bot locale attribute to sort by.
4557	//
4558	// Attribute is a required field
4559	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"BotLocaleSortAttribute"`
4560
4561	// Specifies whether to sort the bot locales in ascending or descending order.
4562	//
4563	// Order is a required field
4564	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
4565}
4566
4567// String returns the string representation
4568func (s BotLocaleSortBy) String() string {
4569	return awsutil.Prettify(s)
4570}
4571
4572// GoString returns the string representation
4573func (s BotLocaleSortBy) GoString() string {
4574	return s.String()
4575}
4576
4577// Validate inspects the fields of the type to determine if they are valid.
4578func (s *BotLocaleSortBy) Validate() error {
4579	invalidParams := request.ErrInvalidParams{Context: "BotLocaleSortBy"}
4580	if s.Attribute == nil {
4581		invalidParams.Add(request.NewErrParamRequired("Attribute"))
4582	}
4583	if s.Order == nil {
4584		invalidParams.Add(request.NewErrParamRequired("Order"))
4585	}
4586
4587	if invalidParams.Len() > 0 {
4588		return invalidParams
4589	}
4590	return nil
4591}
4592
4593// SetAttribute sets the Attribute field's value.
4594func (s *BotLocaleSortBy) SetAttribute(v string) *BotLocaleSortBy {
4595	s.Attribute = &v
4596	return s
4597}
4598
4599// SetOrder sets the Order field's value.
4600func (s *BotLocaleSortBy) SetOrder(v string) *BotLocaleSortBy {
4601	s.Order = &v
4602	return s
4603}
4604
4605// Summary information about bot locales returned by the ListBotLocales operation.
4606type BotLocaleSummary struct {
4607	_ struct{} `type:"structure"`
4608
4609	// The current status of the bot locale. When the status is Built the locale
4610	// is ready for use.
4611	BotLocaleStatus *string `locationName:"botLocaleStatus" type:"string" enum:"BotLocaleStatus"`
4612
4613	// The description of the bot locale.
4614	Description *string `locationName:"description" type:"string"`
4615
4616	// A timestamp of the date and time that the bot locale was last built.
4617	LastBuildSubmittedDateTime *time.Time `locationName:"lastBuildSubmittedDateTime" type:"timestamp"`
4618
4619	// A timestamp of the date and time that the bot locale was last updated.
4620	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
4621
4622	// The language and locale of the bot locale.
4623	LocaleId *string `locationName:"localeId" type:"string"`
4624
4625	// The name of the bot locale.
4626	LocaleName *string `locationName:"localeName" type:"string"`
4627}
4628
4629// String returns the string representation
4630func (s BotLocaleSummary) String() string {
4631	return awsutil.Prettify(s)
4632}
4633
4634// GoString returns the string representation
4635func (s BotLocaleSummary) GoString() string {
4636	return s.String()
4637}
4638
4639// SetBotLocaleStatus sets the BotLocaleStatus field's value.
4640func (s *BotLocaleSummary) SetBotLocaleStatus(v string) *BotLocaleSummary {
4641	s.BotLocaleStatus = &v
4642	return s
4643}
4644
4645// SetDescription sets the Description field's value.
4646func (s *BotLocaleSummary) SetDescription(v string) *BotLocaleSummary {
4647	s.Description = &v
4648	return s
4649}
4650
4651// SetLastBuildSubmittedDateTime sets the LastBuildSubmittedDateTime field's value.
4652func (s *BotLocaleSummary) SetLastBuildSubmittedDateTime(v time.Time) *BotLocaleSummary {
4653	s.LastBuildSubmittedDateTime = &v
4654	return s
4655}
4656
4657// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
4658func (s *BotLocaleSummary) SetLastUpdatedDateTime(v time.Time) *BotLocaleSummary {
4659	s.LastUpdatedDateTime = &v
4660	return s
4661}
4662
4663// SetLocaleId sets the LocaleId field's value.
4664func (s *BotLocaleSummary) SetLocaleId(v string) *BotLocaleSummary {
4665	s.LocaleId = &v
4666	return s
4667}
4668
4669// SetLocaleName sets the LocaleName field's value.
4670func (s *BotLocaleSummary) SetLocaleName(v string) *BotLocaleSummary {
4671	s.LocaleName = &v
4672	return s
4673}
4674
4675// Specifies attributes for sorting a list of bots.
4676type BotSortBy struct {
4677	_ struct{} `type:"structure"`
4678
4679	// The attribute to use to sort the list of bots.
4680	//
4681	// Attribute is a required field
4682	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"BotSortAttribute"`
4683
4684	// The order to sort the list. You can choose ascending or descending.
4685	//
4686	// Order is a required field
4687	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
4688}
4689
4690// String returns the string representation
4691func (s BotSortBy) String() string {
4692	return awsutil.Prettify(s)
4693}
4694
4695// GoString returns the string representation
4696func (s BotSortBy) GoString() string {
4697	return s.String()
4698}
4699
4700// Validate inspects the fields of the type to determine if they are valid.
4701func (s *BotSortBy) Validate() error {
4702	invalidParams := request.ErrInvalidParams{Context: "BotSortBy"}
4703	if s.Attribute == nil {
4704		invalidParams.Add(request.NewErrParamRequired("Attribute"))
4705	}
4706	if s.Order == nil {
4707		invalidParams.Add(request.NewErrParamRequired("Order"))
4708	}
4709
4710	if invalidParams.Len() > 0 {
4711		return invalidParams
4712	}
4713	return nil
4714}
4715
4716// SetAttribute sets the Attribute field's value.
4717func (s *BotSortBy) SetAttribute(v string) *BotSortBy {
4718	s.Attribute = &v
4719	return s
4720}
4721
4722// SetOrder sets the Order field's value.
4723func (s *BotSortBy) SetOrder(v string) *BotSortBy {
4724	s.Order = &v
4725	return s
4726}
4727
4728// Summary information about a bot returned by the ListBots operation.
4729type BotSummary struct {
4730	_ struct{} `type:"structure"`
4731
4732	// The unique identifier assigned to the bot. Use this ID to get detailed information
4733	// about the bot with the DescribeBot operation.
4734	BotId *string `locationName:"botId" min:"10" type:"string"`
4735
4736	// The name of the bot.
4737	BotName *string `locationName:"botName" min:"1" type:"string"`
4738
4739	// The current status of the bot. When the status is Available the bot is ready
4740	// for use.
4741	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
4742
4743	// The description of the bot.
4744	Description *string `locationName:"description" type:"string"`
4745
4746	// The date and time that the bot was last updated.
4747	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
4748
4749	// The latest numerical version in use for the bot.
4750	LatestBotVersion *string `locationName:"latestBotVersion" min:"1" type:"string"`
4751}
4752
4753// String returns the string representation
4754func (s BotSummary) String() string {
4755	return awsutil.Prettify(s)
4756}
4757
4758// GoString returns the string representation
4759func (s BotSummary) GoString() string {
4760	return s.String()
4761}
4762
4763// SetBotId sets the BotId field's value.
4764func (s *BotSummary) SetBotId(v string) *BotSummary {
4765	s.BotId = &v
4766	return s
4767}
4768
4769// SetBotName sets the BotName field's value.
4770func (s *BotSummary) SetBotName(v string) *BotSummary {
4771	s.BotName = &v
4772	return s
4773}
4774
4775// SetBotStatus sets the BotStatus field's value.
4776func (s *BotSummary) SetBotStatus(v string) *BotSummary {
4777	s.BotStatus = &v
4778	return s
4779}
4780
4781// SetDescription sets the Description field's value.
4782func (s *BotSummary) SetDescription(v string) *BotSummary {
4783	s.Description = &v
4784	return s
4785}
4786
4787// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
4788func (s *BotSummary) SetLastUpdatedDateTime(v time.Time) *BotSummary {
4789	s.LastUpdatedDateTime = &v
4790	return s
4791}
4792
4793// SetLatestBotVersion sets the LatestBotVersion field's value.
4794func (s *BotSummary) SetLatestBotVersion(v string) *BotSummary {
4795	s.LatestBotVersion = &v
4796	return s
4797}
4798
4799// The version of a bot used for a bot locale.
4800type BotVersionLocaleDetails struct {
4801	_ struct{} `type:"structure"`
4802
4803	// The version of a bot used for a bot locale.
4804	//
4805	// SourceBotVersion is a required field
4806	SourceBotVersion *string `locationName:"sourceBotVersion" min:"1" type:"string" required:"true"`
4807}
4808
4809// String returns the string representation
4810func (s BotVersionLocaleDetails) String() string {
4811	return awsutil.Prettify(s)
4812}
4813
4814// GoString returns the string representation
4815func (s BotVersionLocaleDetails) GoString() string {
4816	return s.String()
4817}
4818
4819// Validate inspects the fields of the type to determine if they are valid.
4820func (s *BotVersionLocaleDetails) Validate() error {
4821	invalidParams := request.ErrInvalidParams{Context: "BotVersionLocaleDetails"}
4822	if s.SourceBotVersion == nil {
4823		invalidParams.Add(request.NewErrParamRequired("SourceBotVersion"))
4824	}
4825	if s.SourceBotVersion != nil && len(*s.SourceBotVersion) < 1 {
4826		invalidParams.Add(request.NewErrParamMinLen("SourceBotVersion", 1))
4827	}
4828
4829	if invalidParams.Len() > 0 {
4830		return invalidParams
4831	}
4832	return nil
4833}
4834
4835// SetSourceBotVersion sets the SourceBotVersion field's value.
4836func (s *BotVersionLocaleDetails) SetSourceBotVersion(v string) *BotVersionLocaleDetails {
4837	s.SourceBotVersion = &v
4838	return s
4839}
4840
4841// Specifies attributes for sorting a list of bot versions.
4842type BotVersionSortBy struct {
4843	_ struct{} `type:"structure"`
4844
4845	// The attribute to use to sort the list of versions.
4846	//
4847	// Attribute is a required field
4848	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"BotVersionSortAttribute"`
4849
4850	// The order to sort the list. You can specify ascending or descending order.
4851	//
4852	// Order is a required field
4853	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
4854}
4855
4856// String returns the string representation
4857func (s BotVersionSortBy) String() string {
4858	return awsutil.Prettify(s)
4859}
4860
4861// GoString returns the string representation
4862func (s BotVersionSortBy) GoString() string {
4863	return s.String()
4864}
4865
4866// Validate inspects the fields of the type to determine if they are valid.
4867func (s *BotVersionSortBy) Validate() error {
4868	invalidParams := request.ErrInvalidParams{Context: "BotVersionSortBy"}
4869	if s.Attribute == nil {
4870		invalidParams.Add(request.NewErrParamRequired("Attribute"))
4871	}
4872	if s.Order == nil {
4873		invalidParams.Add(request.NewErrParamRequired("Order"))
4874	}
4875
4876	if invalidParams.Len() > 0 {
4877		return invalidParams
4878	}
4879	return nil
4880}
4881
4882// SetAttribute sets the Attribute field's value.
4883func (s *BotVersionSortBy) SetAttribute(v string) *BotVersionSortBy {
4884	s.Attribute = &v
4885	return s
4886}
4887
4888// SetOrder sets the Order field's value.
4889func (s *BotVersionSortBy) SetOrder(v string) *BotVersionSortBy {
4890	s.Order = &v
4891	return s
4892}
4893
4894// Summary information about a bot version returned by the ListBotVersions operation.
4895type BotVersionSummary struct {
4896	_ struct{} `type:"structure"`
4897
4898	// The name of the bot associated with the version.
4899	BotName *string `locationName:"botName" min:"1" type:"string"`
4900
4901	// The status of the bot. When the status is available, the version of the bot
4902	// is ready for use.
4903	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
4904
4905	// The numeric version of the bot, or DRAFT to indicate that this is the version
4906	// of the bot that can be updated..
4907	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
4908
4909	// A timestamp of the date and time that the version was created.
4910	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
4911
4912	// The description of the version.
4913	Description *string `locationName:"description" type:"string"`
4914}
4915
4916// String returns the string representation
4917func (s BotVersionSummary) String() string {
4918	return awsutil.Prettify(s)
4919}
4920
4921// GoString returns the string representation
4922func (s BotVersionSummary) GoString() string {
4923	return s.String()
4924}
4925
4926// SetBotName sets the BotName field's value.
4927func (s *BotVersionSummary) SetBotName(v string) *BotVersionSummary {
4928	s.BotName = &v
4929	return s
4930}
4931
4932// SetBotStatus sets the BotStatus field's value.
4933func (s *BotVersionSummary) SetBotStatus(v string) *BotVersionSummary {
4934	s.BotStatus = &v
4935	return s
4936}
4937
4938// SetBotVersion sets the BotVersion field's value.
4939func (s *BotVersionSummary) SetBotVersion(v string) *BotVersionSummary {
4940	s.BotVersion = &v
4941	return s
4942}
4943
4944// SetCreationDateTime sets the CreationDateTime field's value.
4945func (s *BotVersionSummary) SetCreationDateTime(v time.Time) *BotVersionSummary {
4946	s.CreationDateTime = &v
4947	return s
4948}
4949
4950// SetDescription sets the Description field's value.
4951func (s *BotVersionSummary) SetDescription(v string) *BotVersionSummary {
4952	s.Description = &v
4953	return s
4954}
4955
4956type BuildBotLocaleInput struct {
4957	_ struct{} `type:"structure"`
4958
4959	// The identifier of the bot to build. The identifier is returned in the response
4960	// from the operation.
4961	//
4962	// BotId is a required field
4963	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
4964
4965	// The version of the bot to build. This can only be the draft version of the
4966	// bot.
4967	//
4968	// BotVersion is a required field
4969	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
4970
4971	// The identifier of the language and locale that the bot will be used in. The
4972	// string must match one of the supported locales. All of the intents, slot
4973	// types, and slots used in the bot must have the same locale. For more information,
4974	// see https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html (https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html).
4975	//
4976	// LocaleId is a required field
4977	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
4978}
4979
4980// String returns the string representation
4981func (s BuildBotLocaleInput) String() string {
4982	return awsutil.Prettify(s)
4983}
4984
4985// GoString returns the string representation
4986func (s BuildBotLocaleInput) GoString() string {
4987	return s.String()
4988}
4989
4990// Validate inspects the fields of the type to determine if they are valid.
4991func (s *BuildBotLocaleInput) Validate() error {
4992	invalidParams := request.ErrInvalidParams{Context: "BuildBotLocaleInput"}
4993	if s.BotId == nil {
4994		invalidParams.Add(request.NewErrParamRequired("BotId"))
4995	}
4996	if s.BotId != nil && len(*s.BotId) < 10 {
4997		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
4998	}
4999	if s.BotVersion == nil {
5000		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
5001	}
5002	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
5003		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
5004	}
5005	if s.LocaleId == nil {
5006		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
5007	}
5008	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
5009		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
5010	}
5011
5012	if invalidParams.Len() > 0 {
5013		return invalidParams
5014	}
5015	return nil
5016}
5017
5018// SetBotId sets the BotId field's value.
5019func (s *BuildBotLocaleInput) SetBotId(v string) *BuildBotLocaleInput {
5020	s.BotId = &v
5021	return s
5022}
5023
5024// SetBotVersion sets the BotVersion field's value.
5025func (s *BuildBotLocaleInput) SetBotVersion(v string) *BuildBotLocaleInput {
5026	s.BotVersion = &v
5027	return s
5028}
5029
5030// SetLocaleId sets the LocaleId field's value.
5031func (s *BuildBotLocaleInput) SetLocaleId(v string) *BuildBotLocaleInput {
5032	s.LocaleId = &v
5033	return s
5034}
5035
5036type BuildBotLocaleOutput struct {
5037	_ struct{} `type:"structure"`
5038
5039	// The identifier of the specified bot.
5040	BotId *string `locationName:"botId" min:"10" type:"string"`
5041
5042	// The bot's build status. When the status is ReadyExpressTesting you can test
5043	// the bot using the utterances defined for the intents and slot types. When
5044	// the status is Built, the bot is ready for use and can be tested using any
5045	// utterance.
5046	BotLocaleStatus *string `locationName:"botLocaleStatus" type:"string" enum:"BotLocaleStatus"`
5047
5048	// The version of the bot that was built. This is only the draft version of
5049	// the bot.
5050	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
5051
5052	// A timestamp indicating the date and time that the bot was last built for
5053	// this locale.
5054	LastBuildSubmittedDateTime *time.Time `locationName:"lastBuildSubmittedDateTime" type:"timestamp"`
5055
5056	// The language and locale specified of where the bot can be used.
5057	LocaleId *string `locationName:"localeId" type:"string"`
5058}
5059
5060// String returns the string representation
5061func (s BuildBotLocaleOutput) String() string {
5062	return awsutil.Prettify(s)
5063}
5064
5065// GoString returns the string representation
5066func (s BuildBotLocaleOutput) GoString() string {
5067	return s.String()
5068}
5069
5070// SetBotId sets the BotId field's value.
5071func (s *BuildBotLocaleOutput) SetBotId(v string) *BuildBotLocaleOutput {
5072	s.BotId = &v
5073	return s
5074}
5075
5076// SetBotLocaleStatus sets the BotLocaleStatus field's value.
5077func (s *BuildBotLocaleOutput) SetBotLocaleStatus(v string) *BuildBotLocaleOutput {
5078	s.BotLocaleStatus = &v
5079	return s
5080}
5081
5082// SetBotVersion sets the BotVersion field's value.
5083func (s *BuildBotLocaleOutput) SetBotVersion(v string) *BuildBotLocaleOutput {
5084	s.BotVersion = &v
5085	return s
5086}
5087
5088// SetLastBuildSubmittedDateTime sets the LastBuildSubmittedDateTime field's value.
5089func (s *BuildBotLocaleOutput) SetLastBuildSubmittedDateTime(v time.Time) *BuildBotLocaleOutput {
5090	s.LastBuildSubmittedDateTime = &v
5091	return s
5092}
5093
5094// SetLocaleId sets the LocaleId field's value.
5095func (s *BuildBotLocaleOutput) SetLocaleId(v string) *BuildBotLocaleOutput {
5096	s.LocaleId = &v
5097	return s
5098}
5099
5100// Specifies attributes for sorting a list of built-in intents.
5101type BuiltInIntentSortBy struct {
5102	_ struct{} `type:"structure"`
5103
5104	// The attribute to use to sort the list of built-in intents.
5105	//
5106	// Attribute is a required field
5107	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"BuiltInIntentSortAttribute"`
5108
5109	// The order to sort the list. You can specify ascending or descending order.
5110	//
5111	// Order is a required field
5112	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
5113}
5114
5115// String returns the string representation
5116func (s BuiltInIntentSortBy) String() string {
5117	return awsutil.Prettify(s)
5118}
5119
5120// GoString returns the string representation
5121func (s BuiltInIntentSortBy) GoString() string {
5122	return s.String()
5123}
5124
5125// Validate inspects the fields of the type to determine if they are valid.
5126func (s *BuiltInIntentSortBy) Validate() error {
5127	invalidParams := request.ErrInvalidParams{Context: "BuiltInIntentSortBy"}
5128	if s.Attribute == nil {
5129		invalidParams.Add(request.NewErrParamRequired("Attribute"))
5130	}
5131	if s.Order == nil {
5132		invalidParams.Add(request.NewErrParamRequired("Order"))
5133	}
5134
5135	if invalidParams.Len() > 0 {
5136		return invalidParams
5137	}
5138	return nil
5139}
5140
5141// SetAttribute sets the Attribute field's value.
5142func (s *BuiltInIntentSortBy) SetAttribute(v string) *BuiltInIntentSortBy {
5143	s.Attribute = &v
5144	return s
5145}
5146
5147// SetOrder sets the Order field's value.
5148func (s *BuiltInIntentSortBy) SetOrder(v string) *BuiltInIntentSortBy {
5149	s.Order = &v
5150	return s
5151}
5152
5153// Provides summary information about a built-in intent for the ListBuiltInIntents
5154// operation.
5155type BuiltInIntentSummary struct {
5156	_ struct{} `type:"structure"`
5157
5158	// The description of the intent.
5159	Description *string `locationName:"description" type:"string"`
5160
5161	// The signature of the built-in intent. Use this to specify the parent intent
5162	// of a derived intent.
5163	IntentSignature *string `locationName:"intentSignature" type:"string"`
5164}
5165
5166// String returns the string representation
5167func (s BuiltInIntentSummary) String() string {
5168	return awsutil.Prettify(s)
5169}
5170
5171// GoString returns the string representation
5172func (s BuiltInIntentSummary) GoString() string {
5173	return s.String()
5174}
5175
5176// SetDescription sets the Description field's value.
5177func (s *BuiltInIntentSummary) SetDescription(v string) *BuiltInIntentSummary {
5178	s.Description = &v
5179	return s
5180}
5181
5182// SetIntentSignature sets the IntentSignature field's value.
5183func (s *BuiltInIntentSummary) SetIntentSignature(v string) *BuiltInIntentSummary {
5184	s.IntentSignature = &v
5185	return s
5186}
5187
5188// Specifies attributes for sorting a list of built-in slot types.
5189type BuiltInSlotTypeSortBy struct {
5190	_ struct{} `type:"structure"`
5191
5192	// The attribute to use to sort the list of built-in intents.
5193	//
5194	// Attribute is a required field
5195	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"BuiltInSlotTypeSortAttribute"`
5196
5197	// The order to sort the list. You can choose ascending or descending.
5198	//
5199	// Order is a required field
5200	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
5201}
5202
5203// String returns the string representation
5204func (s BuiltInSlotTypeSortBy) String() string {
5205	return awsutil.Prettify(s)
5206}
5207
5208// GoString returns the string representation
5209func (s BuiltInSlotTypeSortBy) GoString() string {
5210	return s.String()
5211}
5212
5213// Validate inspects the fields of the type to determine if they are valid.
5214func (s *BuiltInSlotTypeSortBy) Validate() error {
5215	invalidParams := request.ErrInvalidParams{Context: "BuiltInSlotTypeSortBy"}
5216	if s.Attribute == nil {
5217		invalidParams.Add(request.NewErrParamRequired("Attribute"))
5218	}
5219	if s.Order == nil {
5220		invalidParams.Add(request.NewErrParamRequired("Order"))
5221	}
5222
5223	if invalidParams.Len() > 0 {
5224		return invalidParams
5225	}
5226	return nil
5227}
5228
5229// SetAttribute sets the Attribute field's value.
5230func (s *BuiltInSlotTypeSortBy) SetAttribute(v string) *BuiltInSlotTypeSortBy {
5231	s.Attribute = &v
5232	return s
5233}
5234
5235// SetOrder sets the Order field's value.
5236func (s *BuiltInSlotTypeSortBy) SetOrder(v string) *BuiltInSlotTypeSortBy {
5237	s.Order = &v
5238	return s
5239}
5240
5241// Provides summary information about a built-in slot type for the ListBuiltInSlotTypes
5242// operation.
5243type BuiltInSlotTypeSummary struct {
5244	_ struct{} `type:"structure"`
5245
5246	// The description of the built-in slot type.
5247	Description *string `locationName:"description" type:"string"`
5248
5249	// The signature of the built-in slot type. Use this to specify the parent slot
5250	// type of a derived slot type.
5251	SlotTypeSignature *string `locationName:"slotTypeSignature" type:"string"`
5252}
5253
5254// String returns the string representation
5255func (s BuiltInSlotTypeSummary) String() string {
5256	return awsutil.Prettify(s)
5257}
5258
5259// GoString returns the string representation
5260func (s BuiltInSlotTypeSummary) GoString() string {
5261	return s.String()
5262}
5263
5264// SetDescription sets the Description field's value.
5265func (s *BuiltInSlotTypeSummary) SetDescription(v string) *BuiltInSlotTypeSummary {
5266	s.Description = &v
5267	return s
5268}
5269
5270// SetSlotTypeSignature sets the SlotTypeSignature field's value.
5271func (s *BuiltInSlotTypeSummary) SetSlotTypeSignature(v string) *BuiltInSlotTypeSummary {
5272	s.SlotTypeSignature = &v
5273	return s
5274}
5275
5276// Describes a button to use on a response card used to gather slot values from
5277// a user.
5278type Button struct {
5279	_ struct{} `type:"structure"`
5280
5281	// The text that appears on the button. Use this to tell the user what value
5282	// is returned when they choose this button.
5283	//
5284	// Text is a required field
5285	Text *string `locationName:"text" min:"1" type:"string" required:"true"`
5286
5287	// The value returned to Amazon Lex when the user chooses this button. This
5288	// must be one of the slot values configured for the slot.
5289	//
5290	// Value is a required field
5291	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
5292}
5293
5294// String returns the string representation
5295func (s Button) String() string {
5296	return awsutil.Prettify(s)
5297}
5298
5299// GoString returns the string representation
5300func (s Button) GoString() string {
5301	return s.String()
5302}
5303
5304// Validate inspects the fields of the type to determine if they are valid.
5305func (s *Button) Validate() error {
5306	invalidParams := request.ErrInvalidParams{Context: "Button"}
5307	if s.Text == nil {
5308		invalidParams.Add(request.NewErrParamRequired("Text"))
5309	}
5310	if s.Text != nil && len(*s.Text) < 1 {
5311		invalidParams.Add(request.NewErrParamMinLen("Text", 1))
5312	}
5313	if s.Value == nil {
5314		invalidParams.Add(request.NewErrParamRequired("Value"))
5315	}
5316	if s.Value != nil && len(*s.Value) < 1 {
5317		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
5318	}
5319
5320	if invalidParams.Len() > 0 {
5321		return invalidParams
5322	}
5323	return nil
5324}
5325
5326// SetText sets the Text field's value.
5327func (s *Button) SetText(v string) *Button {
5328	s.Text = &v
5329	return s
5330}
5331
5332// SetValue sets the Value field's value.
5333func (s *Button) SetValue(v string) *Button {
5334	s.Value = &v
5335	return s
5336}
5337
5338// The Amazon CloudWatch Logs log group where the text and metadata logs are
5339// delivered. The log group must exist before you enable logging.
5340type CloudWatchLogGroupLogDestination struct {
5341	_ struct{} `type:"structure"`
5342
5343	// The Amazon Resource Name (ARN) of the log group where text and metadata logs
5344	// are delivered.
5345	//
5346	// CloudWatchLogGroupArn is a required field
5347	CloudWatchLogGroupArn *string `locationName:"cloudWatchLogGroupArn" min:"1" type:"string" required:"true"`
5348
5349	// The prefix of the log stream name within the log group that you specified
5350	//
5351	// LogPrefix is a required field
5352	LogPrefix *string `locationName:"logPrefix" type:"string" required:"true"`
5353}
5354
5355// String returns the string representation
5356func (s CloudWatchLogGroupLogDestination) String() string {
5357	return awsutil.Prettify(s)
5358}
5359
5360// GoString returns the string representation
5361func (s CloudWatchLogGroupLogDestination) GoString() string {
5362	return s.String()
5363}
5364
5365// Validate inspects the fields of the type to determine if they are valid.
5366func (s *CloudWatchLogGroupLogDestination) Validate() error {
5367	invalidParams := request.ErrInvalidParams{Context: "CloudWatchLogGroupLogDestination"}
5368	if s.CloudWatchLogGroupArn == nil {
5369		invalidParams.Add(request.NewErrParamRequired("CloudWatchLogGroupArn"))
5370	}
5371	if s.CloudWatchLogGroupArn != nil && len(*s.CloudWatchLogGroupArn) < 1 {
5372		invalidParams.Add(request.NewErrParamMinLen("CloudWatchLogGroupArn", 1))
5373	}
5374	if s.LogPrefix == nil {
5375		invalidParams.Add(request.NewErrParamRequired("LogPrefix"))
5376	}
5377
5378	if invalidParams.Len() > 0 {
5379		return invalidParams
5380	}
5381	return nil
5382}
5383
5384// SetCloudWatchLogGroupArn sets the CloudWatchLogGroupArn field's value.
5385func (s *CloudWatchLogGroupLogDestination) SetCloudWatchLogGroupArn(v string) *CloudWatchLogGroupLogDestination {
5386	s.CloudWatchLogGroupArn = &v
5387	return s
5388}
5389
5390// SetLogPrefix sets the LogPrefix field's value.
5391func (s *CloudWatchLogGroupLogDestination) SetLogPrefix(v string) *CloudWatchLogGroupLogDestination {
5392	s.LogPrefix = &v
5393	return s
5394}
5395
5396// Contains information about code hooks that Amazon Lex calls during a conversation.
5397type CodeHookSpecification struct {
5398	_ struct{} `type:"structure"`
5399
5400	// Specifies a Lambda function that verifies requests to a bot or fulfilles
5401	// the user's request to a bot.
5402	//
5403	// LambdaCodeHook is a required field
5404	LambdaCodeHook *LambdaCodeHook `locationName:"lambdaCodeHook" type:"structure" required:"true"`
5405}
5406
5407// String returns the string representation
5408func (s CodeHookSpecification) String() string {
5409	return awsutil.Prettify(s)
5410}
5411
5412// GoString returns the string representation
5413func (s CodeHookSpecification) GoString() string {
5414	return s.String()
5415}
5416
5417// Validate inspects the fields of the type to determine if they are valid.
5418func (s *CodeHookSpecification) Validate() error {
5419	invalidParams := request.ErrInvalidParams{Context: "CodeHookSpecification"}
5420	if s.LambdaCodeHook == nil {
5421		invalidParams.Add(request.NewErrParamRequired("LambdaCodeHook"))
5422	}
5423	if s.LambdaCodeHook != nil {
5424		if err := s.LambdaCodeHook.Validate(); err != nil {
5425			invalidParams.AddNested("LambdaCodeHook", err.(request.ErrInvalidParams))
5426		}
5427	}
5428
5429	if invalidParams.Len() > 0 {
5430		return invalidParams
5431	}
5432	return nil
5433}
5434
5435// SetLambdaCodeHook sets the LambdaCodeHook field's value.
5436func (s *CodeHookSpecification) SetLambdaCodeHook(v *LambdaCodeHook) *CodeHookSpecification {
5437	s.LambdaCodeHook = v
5438	return s
5439}
5440
5441type ConflictException struct {
5442	_            struct{}                  `type:"structure"`
5443	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5444
5445	Message_ *string `locationName:"message" type:"string"`
5446}
5447
5448// String returns the string representation
5449func (s ConflictException) String() string {
5450	return awsutil.Prettify(s)
5451}
5452
5453// GoString returns the string representation
5454func (s ConflictException) GoString() string {
5455	return s.String()
5456}
5457
5458func newErrorConflictException(v protocol.ResponseMetadata) error {
5459	return &ConflictException{
5460		RespMetadata: v,
5461	}
5462}
5463
5464// Code returns the exception type name.
5465func (s *ConflictException) Code() string {
5466	return "ConflictException"
5467}
5468
5469// Message returns the exception's message.
5470func (s *ConflictException) Message() string {
5471	if s.Message_ != nil {
5472		return *s.Message_
5473	}
5474	return ""
5475}
5476
5477// OrigErr always returns nil, satisfies awserr.Error interface.
5478func (s *ConflictException) OrigErr() error {
5479	return nil
5480}
5481
5482func (s *ConflictException) Error() string {
5483	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
5484}
5485
5486// Status code returns the HTTP status code for the request's response error.
5487func (s *ConflictException) StatusCode() int {
5488	return s.RespMetadata.StatusCode
5489}
5490
5491// RequestID returns the service's response RequestID for request.
5492func (s *ConflictException) RequestID() string {
5493	return s.RespMetadata.RequestID
5494}
5495
5496// Configures conversation logging that saves audio, text, and metadata for
5497// the conversations with your users.
5498type ConversationLogSettings struct {
5499	_ struct{} `type:"structure"`
5500
5501	// The Amazon S3 settings for logging audio to an S3 bucket.
5502	AudioLogSettings []*AudioLogSetting `locationName:"audioLogSettings" min:"1" type:"list"`
5503
5504	// The Amazon CloudWatch Logs settings for logging text and metadata.
5505	TextLogSettings []*TextLogSetting `locationName:"textLogSettings" min:"1" type:"list"`
5506}
5507
5508// String returns the string representation
5509func (s ConversationLogSettings) String() string {
5510	return awsutil.Prettify(s)
5511}
5512
5513// GoString returns the string representation
5514func (s ConversationLogSettings) GoString() string {
5515	return s.String()
5516}
5517
5518// Validate inspects the fields of the type to determine if they are valid.
5519func (s *ConversationLogSettings) Validate() error {
5520	invalidParams := request.ErrInvalidParams{Context: "ConversationLogSettings"}
5521	if s.AudioLogSettings != nil && len(s.AudioLogSettings) < 1 {
5522		invalidParams.Add(request.NewErrParamMinLen("AudioLogSettings", 1))
5523	}
5524	if s.TextLogSettings != nil && len(s.TextLogSettings) < 1 {
5525		invalidParams.Add(request.NewErrParamMinLen("TextLogSettings", 1))
5526	}
5527	if s.AudioLogSettings != nil {
5528		for i, v := range s.AudioLogSettings {
5529			if v == nil {
5530				continue
5531			}
5532			if err := v.Validate(); err != nil {
5533				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AudioLogSettings", i), err.(request.ErrInvalidParams))
5534			}
5535		}
5536	}
5537	if s.TextLogSettings != nil {
5538		for i, v := range s.TextLogSettings {
5539			if v == nil {
5540				continue
5541			}
5542			if err := v.Validate(); err != nil {
5543				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TextLogSettings", i), err.(request.ErrInvalidParams))
5544			}
5545		}
5546	}
5547
5548	if invalidParams.Len() > 0 {
5549		return invalidParams
5550	}
5551	return nil
5552}
5553
5554// SetAudioLogSettings sets the AudioLogSettings field's value.
5555func (s *ConversationLogSettings) SetAudioLogSettings(v []*AudioLogSetting) *ConversationLogSettings {
5556	s.AudioLogSettings = v
5557	return s
5558}
5559
5560// SetTextLogSettings sets the TextLogSettings field's value.
5561func (s *ConversationLogSettings) SetTextLogSettings(v []*TextLogSetting) *ConversationLogSettings {
5562	s.TextLogSettings = v
5563	return s
5564}
5565
5566type CreateBotAliasInput struct {
5567	_ struct{} `type:"structure"`
5568
5569	// Maps configuration information to a specific locale. You can use this parameter
5570	// to specify a specific Lambda function to run different functions in different
5571	// locales.
5572	BotAliasLocaleSettings map[string]*BotAliasLocaleSettings `locationName:"botAliasLocaleSettings" min:"1" type:"map"`
5573
5574	// The alias to create. The name must be unique for the bot.
5575	//
5576	// BotAliasName is a required field
5577	BotAliasName *string `locationName:"botAliasName" min:"1" type:"string" required:"true"`
5578
5579	// The unique identifier of the bot that the alias applies to.
5580	//
5581	// BotId is a required field
5582	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
5583
5584	// The version of the bot that this alias points to. You can use the operation
5585	// to change the bot version associated with the alias.
5586	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
5587
5588	// Specifies whether Amazon Lex logs text and audio for a conversation with
5589	// the bot. When you enable conversation logs, text logs store text input, transcripts
5590	// of audio input, and associated metadata in Amazon CloudWatch Logs. Audio
5591	// logs store audio input in Amazon S3.
5592	ConversationLogSettings *ConversationLogSettings `locationName:"conversationLogSettings" type:"structure"`
5593
5594	// A description of the alias. Use this description to help identify the alias.
5595	Description *string `locationName:"description" type:"string"`
5596
5597	// Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment
5598	// of user utterances.
5599	SentimentAnalysisSettings *SentimentAnalysisSettings `locationName:"sentimentAnalysisSettings" type:"structure"`
5600
5601	// A list of tags to add to the bot alias. You can only add tags when you create
5602	// an alias, you can't use the UpdateBotAlias operation to update the tags on
5603	// a bot alias. To update tags, use the TagResource operation.
5604	Tags map[string]*string `locationName:"tags" type:"map"`
5605}
5606
5607// String returns the string representation
5608func (s CreateBotAliasInput) String() string {
5609	return awsutil.Prettify(s)
5610}
5611
5612// GoString returns the string representation
5613func (s CreateBotAliasInput) GoString() string {
5614	return s.String()
5615}
5616
5617// Validate inspects the fields of the type to determine if they are valid.
5618func (s *CreateBotAliasInput) Validate() error {
5619	invalidParams := request.ErrInvalidParams{Context: "CreateBotAliasInput"}
5620	if s.BotAliasLocaleSettings != nil && len(s.BotAliasLocaleSettings) < 1 {
5621		invalidParams.Add(request.NewErrParamMinLen("BotAliasLocaleSettings", 1))
5622	}
5623	if s.BotAliasName == nil {
5624		invalidParams.Add(request.NewErrParamRequired("BotAliasName"))
5625	}
5626	if s.BotAliasName != nil && len(*s.BotAliasName) < 1 {
5627		invalidParams.Add(request.NewErrParamMinLen("BotAliasName", 1))
5628	}
5629	if s.BotId == nil {
5630		invalidParams.Add(request.NewErrParamRequired("BotId"))
5631	}
5632	if s.BotId != nil && len(*s.BotId) < 10 {
5633		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
5634	}
5635	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
5636		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
5637	}
5638	if s.BotAliasLocaleSettings != nil {
5639		for i, v := range s.BotAliasLocaleSettings {
5640			if v == nil {
5641				continue
5642			}
5643			if err := v.Validate(); err != nil {
5644				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BotAliasLocaleSettings", i), err.(request.ErrInvalidParams))
5645			}
5646		}
5647	}
5648	if s.ConversationLogSettings != nil {
5649		if err := s.ConversationLogSettings.Validate(); err != nil {
5650			invalidParams.AddNested("ConversationLogSettings", err.(request.ErrInvalidParams))
5651		}
5652	}
5653	if s.SentimentAnalysisSettings != nil {
5654		if err := s.SentimentAnalysisSettings.Validate(); err != nil {
5655			invalidParams.AddNested("SentimentAnalysisSettings", err.(request.ErrInvalidParams))
5656		}
5657	}
5658
5659	if invalidParams.Len() > 0 {
5660		return invalidParams
5661	}
5662	return nil
5663}
5664
5665// SetBotAliasLocaleSettings sets the BotAliasLocaleSettings field's value.
5666func (s *CreateBotAliasInput) SetBotAliasLocaleSettings(v map[string]*BotAliasLocaleSettings) *CreateBotAliasInput {
5667	s.BotAliasLocaleSettings = v
5668	return s
5669}
5670
5671// SetBotAliasName sets the BotAliasName field's value.
5672func (s *CreateBotAliasInput) SetBotAliasName(v string) *CreateBotAliasInput {
5673	s.BotAliasName = &v
5674	return s
5675}
5676
5677// SetBotId sets the BotId field's value.
5678func (s *CreateBotAliasInput) SetBotId(v string) *CreateBotAliasInput {
5679	s.BotId = &v
5680	return s
5681}
5682
5683// SetBotVersion sets the BotVersion field's value.
5684func (s *CreateBotAliasInput) SetBotVersion(v string) *CreateBotAliasInput {
5685	s.BotVersion = &v
5686	return s
5687}
5688
5689// SetConversationLogSettings sets the ConversationLogSettings field's value.
5690func (s *CreateBotAliasInput) SetConversationLogSettings(v *ConversationLogSettings) *CreateBotAliasInput {
5691	s.ConversationLogSettings = v
5692	return s
5693}
5694
5695// SetDescription sets the Description field's value.
5696func (s *CreateBotAliasInput) SetDescription(v string) *CreateBotAliasInput {
5697	s.Description = &v
5698	return s
5699}
5700
5701// SetSentimentAnalysisSettings sets the SentimentAnalysisSettings field's value.
5702func (s *CreateBotAliasInput) SetSentimentAnalysisSettings(v *SentimentAnalysisSettings) *CreateBotAliasInput {
5703	s.SentimentAnalysisSettings = v
5704	return s
5705}
5706
5707// SetTags sets the Tags field's value.
5708func (s *CreateBotAliasInput) SetTags(v map[string]*string) *CreateBotAliasInput {
5709	s.Tags = v
5710	return s
5711}
5712
5713type CreateBotAliasOutput struct {
5714	_ struct{} `type:"structure"`
5715
5716	// The unique identifier of the bot alias.
5717	BotAliasId *string `locationName:"botAliasId" min:"10" type:"string"`
5718
5719	// Configuration information for a specific locale.
5720	BotAliasLocaleSettings map[string]*BotAliasLocaleSettings `locationName:"botAliasLocaleSettings" min:"1" type:"map"`
5721
5722	// The name specified for the bot alias.
5723	BotAliasName *string `locationName:"botAliasName" min:"1" type:"string"`
5724
5725	// The current status of the alias. The alias is first put into the Creating
5726	// state. When the alias is ready to be used, it is put into the Available state.
5727	// You can use the DescribeBotAlias operation to get the current state of an
5728	// alias.
5729	BotAliasStatus *string `locationName:"botAliasStatus" type:"string" enum:"BotAliasStatus"`
5730
5731	// The unique identifier of the bot that this alias applies to.
5732	BotId *string `locationName:"botId" min:"10" type:"string"`
5733
5734	// The version of the bot associated with this alias.
5735	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
5736
5737	// The conversation log settings specified for the alias.
5738	ConversationLogSettings *ConversationLogSettings `locationName:"conversationLogSettings" type:"structure"`
5739
5740	// A Unix timestamp indicating the date and time that the bot alias was created.
5741	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
5742
5743	// The description specified for the bot alias.
5744	Description *string `locationName:"description" type:"string"`
5745
5746	// Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment
5747	// of user utterances.
5748	SentimentAnalysisSettings *SentimentAnalysisSettings `locationName:"sentimentAnalysisSettings" type:"structure"`
5749
5750	// A list of tags associated with the bot alias.
5751	Tags map[string]*string `locationName:"tags" type:"map"`
5752}
5753
5754// String returns the string representation
5755func (s CreateBotAliasOutput) String() string {
5756	return awsutil.Prettify(s)
5757}
5758
5759// GoString returns the string representation
5760func (s CreateBotAliasOutput) GoString() string {
5761	return s.String()
5762}
5763
5764// SetBotAliasId sets the BotAliasId field's value.
5765func (s *CreateBotAliasOutput) SetBotAliasId(v string) *CreateBotAliasOutput {
5766	s.BotAliasId = &v
5767	return s
5768}
5769
5770// SetBotAliasLocaleSettings sets the BotAliasLocaleSettings field's value.
5771func (s *CreateBotAliasOutput) SetBotAliasLocaleSettings(v map[string]*BotAliasLocaleSettings) *CreateBotAliasOutput {
5772	s.BotAliasLocaleSettings = v
5773	return s
5774}
5775
5776// SetBotAliasName sets the BotAliasName field's value.
5777func (s *CreateBotAliasOutput) SetBotAliasName(v string) *CreateBotAliasOutput {
5778	s.BotAliasName = &v
5779	return s
5780}
5781
5782// SetBotAliasStatus sets the BotAliasStatus field's value.
5783func (s *CreateBotAliasOutput) SetBotAliasStatus(v string) *CreateBotAliasOutput {
5784	s.BotAliasStatus = &v
5785	return s
5786}
5787
5788// SetBotId sets the BotId field's value.
5789func (s *CreateBotAliasOutput) SetBotId(v string) *CreateBotAliasOutput {
5790	s.BotId = &v
5791	return s
5792}
5793
5794// SetBotVersion sets the BotVersion field's value.
5795func (s *CreateBotAliasOutput) SetBotVersion(v string) *CreateBotAliasOutput {
5796	s.BotVersion = &v
5797	return s
5798}
5799
5800// SetConversationLogSettings sets the ConversationLogSettings field's value.
5801func (s *CreateBotAliasOutput) SetConversationLogSettings(v *ConversationLogSettings) *CreateBotAliasOutput {
5802	s.ConversationLogSettings = v
5803	return s
5804}
5805
5806// SetCreationDateTime sets the CreationDateTime field's value.
5807func (s *CreateBotAliasOutput) SetCreationDateTime(v time.Time) *CreateBotAliasOutput {
5808	s.CreationDateTime = &v
5809	return s
5810}
5811
5812// SetDescription sets the Description field's value.
5813func (s *CreateBotAliasOutput) SetDescription(v string) *CreateBotAliasOutput {
5814	s.Description = &v
5815	return s
5816}
5817
5818// SetSentimentAnalysisSettings sets the SentimentAnalysisSettings field's value.
5819func (s *CreateBotAliasOutput) SetSentimentAnalysisSettings(v *SentimentAnalysisSettings) *CreateBotAliasOutput {
5820	s.SentimentAnalysisSettings = v
5821	return s
5822}
5823
5824// SetTags sets the Tags field's value.
5825func (s *CreateBotAliasOutput) SetTags(v map[string]*string) *CreateBotAliasOutput {
5826	s.Tags = v
5827	return s
5828}
5829
5830type CreateBotInput struct {
5831	_ struct{} `type:"structure"`
5832
5833	// The name of the bot. The bot name must be unique in the account that creates
5834	// the bot.
5835	//
5836	// BotName is a required field
5837	BotName *string `locationName:"botName" min:"1" type:"string" required:"true"`
5838
5839	// A list of tags to add to the bot. You can only add tags when you create a
5840	// bot. You can't use the UpdateBot operation to update tags. To update tags,
5841	// use the TagResource operation.
5842	BotTags map[string]*string `locationName:"botTags" type:"map"`
5843
5844	// Provides information on additional privacy protections Amazon Lex should
5845	// use with the bot's data.
5846	//
5847	// DataPrivacy is a required field
5848	DataPrivacy *DataPrivacy `locationName:"dataPrivacy" type:"structure" required:"true"`
5849
5850	// A description of the bot. It appears in lists to help you identify a particular
5851	// bot.
5852	Description *string `locationName:"description" type:"string"`
5853
5854	// The time, in seconds, that Amazon Lex should keep information about a user's
5855	// conversation with the bot.
5856	//
5857	// A user interaction remains active for the amount of time specified. If no
5858	// conversation occurs during this time, the session expires and Amazon Lex
5859	// deletes any data provided before the timeout.
5860	//
5861	// You can specify between 60 (1 minute) and 86,400 (24 hours) seconds.
5862	//
5863	// IdleSessionTTLInSeconds is a required field
5864	IdleSessionTTLInSeconds *int64 `locationName:"idleSessionTTLInSeconds" min:"60" type:"integer" required:"true"`
5865
5866	// The Amazon Resource Name (ARN) of an IAM role that has permission to access
5867	// the bot.
5868	//
5869	// RoleArn is a required field
5870	RoleArn *string `locationName:"roleArn" min:"32" type:"string" required:"true"`
5871
5872	// A list of tags to add to the test alias for a bot. You can only add tags
5873	// when you create a bot. You can't use the UpdateAlias operation to update
5874	// tags. To update tags on the test alias, use the TagResource operation.
5875	TestBotAliasTags map[string]*string `locationName:"testBotAliasTags" type:"map"`
5876}
5877
5878// String returns the string representation
5879func (s CreateBotInput) String() string {
5880	return awsutil.Prettify(s)
5881}
5882
5883// GoString returns the string representation
5884func (s CreateBotInput) GoString() string {
5885	return s.String()
5886}
5887
5888// Validate inspects the fields of the type to determine if they are valid.
5889func (s *CreateBotInput) Validate() error {
5890	invalidParams := request.ErrInvalidParams{Context: "CreateBotInput"}
5891	if s.BotName == nil {
5892		invalidParams.Add(request.NewErrParamRequired("BotName"))
5893	}
5894	if s.BotName != nil && len(*s.BotName) < 1 {
5895		invalidParams.Add(request.NewErrParamMinLen("BotName", 1))
5896	}
5897	if s.DataPrivacy == nil {
5898		invalidParams.Add(request.NewErrParamRequired("DataPrivacy"))
5899	}
5900	if s.IdleSessionTTLInSeconds == nil {
5901		invalidParams.Add(request.NewErrParamRequired("IdleSessionTTLInSeconds"))
5902	}
5903	if s.IdleSessionTTLInSeconds != nil && *s.IdleSessionTTLInSeconds < 60 {
5904		invalidParams.Add(request.NewErrParamMinValue("IdleSessionTTLInSeconds", 60))
5905	}
5906	if s.RoleArn == nil {
5907		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
5908	}
5909	if s.RoleArn != nil && len(*s.RoleArn) < 32 {
5910		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 32))
5911	}
5912	if s.DataPrivacy != nil {
5913		if err := s.DataPrivacy.Validate(); err != nil {
5914			invalidParams.AddNested("DataPrivacy", err.(request.ErrInvalidParams))
5915		}
5916	}
5917
5918	if invalidParams.Len() > 0 {
5919		return invalidParams
5920	}
5921	return nil
5922}
5923
5924// SetBotName sets the BotName field's value.
5925func (s *CreateBotInput) SetBotName(v string) *CreateBotInput {
5926	s.BotName = &v
5927	return s
5928}
5929
5930// SetBotTags sets the BotTags field's value.
5931func (s *CreateBotInput) SetBotTags(v map[string]*string) *CreateBotInput {
5932	s.BotTags = v
5933	return s
5934}
5935
5936// SetDataPrivacy sets the DataPrivacy field's value.
5937func (s *CreateBotInput) SetDataPrivacy(v *DataPrivacy) *CreateBotInput {
5938	s.DataPrivacy = v
5939	return s
5940}
5941
5942// SetDescription sets the Description field's value.
5943func (s *CreateBotInput) SetDescription(v string) *CreateBotInput {
5944	s.Description = &v
5945	return s
5946}
5947
5948// SetIdleSessionTTLInSeconds sets the IdleSessionTTLInSeconds field's value.
5949func (s *CreateBotInput) SetIdleSessionTTLInSeconds(v int64) *CreateBotInput {
5950	s.IdleSessionTTLInSeconds = &v
5951	return s
5952}
5953
5954// SetRoleArn sets the RoleArn field's value.
5955func (s *CreateBotInput) SetRoleArn(v string) *CreateBotInput {
5956	s.RoleArn = &v
5957	return s
5958}
5959
5960// SetTestBotAliasTags sets the TestBotAliasTags field's value.
5961func (s *CreateBotInput) SetTestBotAliasTags(v map[string]*string) *CreateBotInput {
5962	s.TestBotAliasTags = v
5963	return s
5964}
5965
5966type CreateBotLocaleInput struct {
5967	_ struct{} `type:"structure"`
5968
5969	// The identifier of the bot to create the locale for.
5970	//
5971	// BotId is a required field
5972	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
5973
5974	// The version of the bot to create the locale for. This can only be the draft
5975	// version of the bot.
5976	//
5977	// BotVersion is a required field
5978	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
5979
5980	// A description of the bot locale. Use this to help identify the bot locale
5981	// in lists.
5982	Description *string `locationName:"description" type:"string"`
5983
5984	// The identifier of the language and locale that the bot will be used in. The
5985	// string must match one of the supported locales. All of the intents, slot
5986	// types, and slots used in the bot must have the same locale. For more information,
5987	// see https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html (https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html).
5988	//
5989	// LocaleId is a required field
5990	LocaleId *string `locationName:"localeId" type:"string" required:"true"`
5991
5992	// Determines the threshold where Amazon Lex will insert the AMAZON.FallbackIntent,
5993	// AMAZON.KendraSearchIntent, or both when returning alternative intents. AMAZON.FallbackIntent
5994	// and AMAZON.KendraSearchIntent are only inserted if they are configured for
5995	// the bot.
5996	//
5997	// For example, suppose a bot is configured with the confidence threshold of
5998	// 0.80 and the AMAZON.FallbackIntent. Amazon Lex returns three alternative
5999	// intents with the following confidence scores: IntentA (0.70), IntentB (0.60),
6000	// IntentC (0.50). The response from the PostText operation would be:
6001	//
6002	//    * AMAZON.FallbackIntent
6003	//
6004	//    * IntentA
6005	//
6006	//    * IntentB
6007	//
6008	//    * IntentC
6009	//
6010	// NluIntentConfidenceThreshold is a required field
6011	NluIntentConfidenceThreshold *float64 `locationName:"nluIntentConfidenceThreshold" type:"double" required:"true"`
6012
6013	// The Amazon Polly voice ID that Amazon Lex uses for voice interaction with
6014	// the user.
6015	VoiceSettings *VoiceSettings `locationName:"voiceSettings" type:"structure"`
6016}
6017
6018// String returns the string representation
6019func (s CreateBotLocaleInput) String() string {
6020	return awsutil.Prettify(s)
6021}
6022
6023// GoString returns the string representation
6024func (s CreateBotLocaleInput) GoString() string {
6025	return s.String()
6026}
6027
6028// Validate inspects the fields of the type to determine if they are valid.
6029func (s *CreateBotLocaleInput) Validate() error {
6030	invalidParams := request.ErrInvalidParams{Context: "CreateBotLocaleInput"}
6031	if s.BotId == nil {
6032		invalidParams.Add(request.NewErrParamRequired("BotId"))
6033	}
6034	if s.BotId != nil && len(*s.BotId) < 10 {
6035		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
6036	}
6037	if s.BotVersion == nil {
6038		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
6039	}
6040	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
6041		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
6042	}
6043	if s.LocaleId == nil {
6044		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
6045	}
6046	if s.NluIntentConfidenceThreshold == nil {
6047		invalidParams.Add(request.NewErrParamRequired("NluIntentConfidenceThreshold"))
6048	}
6049	if s.VoiceSettings != nil {
6050		if err := s.VoiceSettings.Validate(); err != nil {
6051			invalidParams.AddNested("VoiceSettings", err.(request.ErrInvalidParams))
6052		}
6053	}
6054
6055	if invalidParams.Len() > 0 {
6056		return invalidParams
6057	}
6058	return nil
6059}
6060
6061// SetBotId sets the BotId field's value.
6062func (s *CreateBotLocaleInput) SetBotId(v string) *CreateBotLocaleInput {
6063	s.BotId = &v
6064	return s
6065}
6066
6067// SetBotVersion sets the BotVersion field's value.
6068func (s *CreateBotLocaleInput) SetBotVersion(v string) *CreateBotLocaleInput {
6069	s.BotVersion = &v
6070	return s
6071}
6072
6073// SetDescription sets the Description field's value.
6074func (s *CreateBotLocaleInput) SetDescription(v string) *CreateBotLocaleInput {
6075	s.Description = &v
6076	return s
6077}
6078
6079// SetLocaleId sets the LocaleId field's value.
6080func (s *CreateBotLocaleInput) SetLocaleId(v string) *CreateBotLocaleInput {
6081	s.LocaleId = &v
6082	return s
6083}
6084
6085// SetNluIntentConfidenceThreshold sets the NluIntentConfidenceThreshold field's value.
6086func (s *CreateBotLocaleInput) SetNluIntentConfidenceThreshold(v float64) *CreateBotLocaleInput {
6087	s.NluIntentConfidenceThreshold = &v
6088	return s
6089}
6090
6091// SetVoiceSettings sets the VoiceSettings field's value.
6092func (s *CreateBotLocaleInput) SetVoiceSettings(v *VoiceSettings) *CreateBotLocaleInput {
6093	s.VoiceSettings = v
6094	return s
6095}
6096
6097type CreateBotLocaleOutput struct {
6098	_ struct{} `type:"structure"`
6099
6100	// The specified bot identifier.
6101	BotId *string `locationName:"botId" min:"10" type:"string"`
6102
6103	// The status of the bot.
6104	//
6105	// When the status is Creating the bot locale is being configured. When the
6106	// status is Building Amazon Lex is building the bot for testing and use.
6107	//
6108	// If the status of the bot is ReadyExpressTesting, you can test the bot using
6109	// the exact utterances specified in the bots' intents. When the bot is ready
6110	// for full testing or to run, the status is Built.
6111	//
6112	// If there was a problem with building the bot, the status is Failed. If the
6113	// bot was saved but not built, the status is NotBuilt.
6114	BotLocaleStatus *string `locationName:"botLocaleStatus" type:"string" enum:"BotLocaleStatus"`
6115
6116	// The specified bot version.
6117	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
6118
6119	// A timestamp specifying the date and time that the bot locale was created.
6120	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
6121
6122	// The specified description of the bot locale.
6123	Description *string `locationName:"description" type:"string"`
6124
6125	// The specified locale identifier.
6126	LocaleId *string `locationName:"localeId" type:"string"`
6127
6128	// The specified locale name.
6129	LocaleName *string `locationName:"localeName" type:"string"`
6130
6131	// The specified confidence threshold for inserting the AMAZON.FallbackIntent
6132	// and AMAZON.KendraSearchIntent intents.
6133	NluIntentConfidenceThreshold *float64 `locationName:"nluIntentConfidenceThreshold" type:"double"`
6134
6135	// The Amazon Polly voice ID that Amazon Lex uses for voice interaction with
6136	// the user.
6137	VoiceSettings *VoiceSettings `locationName:"voiceSettings" type:"structure"`
6138}
6139
6140// String returns the string representation
6141func (s CreateBotLocaleOutput) String() string {
6142	return awsutil.Prettify(s)
6143}
6144
6145// GoString returns the string representation
6146func (s CreateBotLocaleOutput) GoString() string {
6147	return s.String()
6148}
6149
6150// SetBotId sets the BotId field's value.
6151func (s *CreateBotLocaleOutput) SetBotId(v string) *CreateBotLocaleOutput {
6152	s.BotId = &v
6153	return s
6154}
6155
6156// SetBotLocaleStatus sets the BotLocaleStatus field's value.
6157func (s *CreateBotLocaleOutput) SetBotLocaleStatus(v string) *CreateBotLocaleOutput {
6158	s.BotLocaleStatus = &v
6159	return s
6160}
6161
6162// SetBotVersion sets the BotVersion field's value.
6163func (s *CreateBotLocaleOutput) SetBotVersion(v string) *CreateBotLocaleOutput {
6164	s.BotVersion = &v
6165	return s
6166}
6167
6168// SetCreationDateTime sets the CreationDateTime field's value.
6169func (s *CreateBotLocaleOutput) SetCreationDateTime(v time.Time) *CreateBotLocaleOutput {
6170	s.CreationDateTime = &v
6171	return s
6172}
6173
6174// SetDescription sets the Description field's value.
6175func (s *CreateBotLocaleOutput) SetDescription(v string) *CreateBotLocaleOutput {
6176	s.Description = &v
6177	return s
6178}
6179
6180// SetLocaleId sets the LocaleId field's value.
6181func (s *CreateBotLocaleOutput) SetLocaleId(v string) *CreateBotLocaleOutput {
6182	s.LocaleId = &v
6183	return s
6184}
6185
6186// SetLocaleName sets the LocaleName field's value.
6187func (s *CreateBotLocaleOutput) SetLocaleName(v string) *CreateBotLocaleOutput {
6188	s.LocaleName = &v
6189	return s
6190}
6191
6192// SetNluIntentConfidenceThreshold sets the NluIntentConfidenceThreshold field's value.
6193func (s *CreateBotLocaleOutput) SetNluIntentConfidenceThreshold(v float64) *CreateBotLocaleOutput {
6194	s.NluIntentConfidenceThreshold = &v
6195	return s
6196}
6197
6198// SetVoiceSettings sets the VoiceSettings field's value.
6199func (s *CreateBotLocaleOutput) SetVoiceSettings(v *VoiceSettings) *CreateBotLocaleOutput {
6200	s.VoiceSettings = v
6201	return s
6202}
6203
6204type CreateBotOutput struct {
6205	_ struct{} `type:"structure"`
6206
6207	// A unique identifier for a particular bot. You use this to identify the bot
6208	// when you call other Amazon Lex API operations.
6209	BotId *string `locationName:"botId" min:"10" type:"string"`
6210
6211	// The name specified for the bot.
6212	BotName *string `locationName:"botName" min:"1" type:"string"`
6213
6214	// Shows the current status of the bot. The bot is first in the Creating status.
6215	// Once the bot is read for use, it changes to the Available status. After the
6216	// bot is created, you can use the Draft version of the bot.
6217	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
6218
6219	// A list of tags associated with the bot.
6220	BotTags map[string]*string `locationName:"botTags" type:"map"`
6221
6222	// A timestamp indicating the date and time that the bot was created.
6223	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
6224
6225	// The data privacy settings specified for the bot.
6226	DataPrivacy *DataPrivacy `locationName:"dataPrivacy" type:"structure"`
6227
6228	// The description specified for the bot.
6229	Description *string `locationName:"description" type:"string"`
6230
6231	// The session idle time specified for the bot.
6232	IdleSessionTTLInSeconds *int64 `locationName:"idleSessionTTLInSeconds" min:"60" type:"integer"`
6233
6234	// The IAM role specified for the bot.
6235	RoleArn *string `locationName:"roleArn" min:"32" type:"string"`
6236
6237	// A list of tags associated with the test alias for the bot.
6238	TestBotAliasTags map[string]*string `locationName:"testBotAliasTags" type:"map"`
6239}
6240
6241// String returns the string representation
6242func (s CreateBotOutput) String() string {
6243	return awsutil.Prettify(s)
6244}
6245
6246// GoString returns the string representation
6247func (s CreateBotOutput) GoString() string {
6248	return s.String()
6249}
6250
6251// SetBotId sets the BotId field's value.
6252func (s *CreateBotOutput) SetBotId(v string) *CreateBotOutput {
6253	s.BotId = &v
6254	return s
6255}
6256
6257// SetBotName sets the BotName field's value.
6258func (s *CreateBotOutput) SetBotName(v string) *CreateBotOutput {
6259	s.BotName = &v
6260	return s
6261}
6262
6263// SetBotStatus sets the BotStatus field's value.
6264func (s *CreateBotOutput) SetBotStatus(v string) *CreateBotOutput {
6265	s.BotStatus = &v
6266	return s
6267}
6268
6269// SetBotTags sets the BotTags field's value.
6270func (s *CreateBotOutput) SetBotTags(v map[string]*string) *CreateBotOutput {
6271	s.BotTags = v
6272	return s
6273}
6274
6275// SetCreationDateTime sets the CreationDateTime field's value.
6276func (s *CreateBotOutput) SetCreationDateTime(v time.Time) *CreateBotOutput {
6277	s.CreationDateTime = &v
6278	return s
6279}
6280
6281// SetDataPrivacy sets the DataPrivacy field's value.
6282func (s *CreateBotOutput) SetDataPrivacy(v *DataPrivacy) *CreateBotOutput {
6283	s.DataPrivacy = v
6284	return s
6285}
6286
6287// SetDescription sets the Description field's value.
6288func (s *CreateBotOutput) SetDescription(v string) *CreateBotOutput {
6289	s.Description = &v
6290	return s
6291}
6292
6293// SetIdleSessionTTLInSeconds sets the IdleSessionTTLInSeconds field's value.
6294func (s *CreateBotOutput) SetIdleSessionTTLInSeconds(v int64) *CreateBotOutput {
6295	s.IdleSessionTTLInSeconds = &v
6296	return s
6297}
6298
6299// SetRoleArn sets the RoleArn field's value.
6300func (s *CreateBotOutput) SetRoleArn(v string) *CreateBotOutput {
6301	s.RoleArn = &v
6302	return s
6303}
6304
6305// SetTestBotAliasTags sets the TestBotAliasTags field's value.
6306func (s *CreateBotOutput) SetTestBotAliasTags(v map[string]*string) *CreateBotOutput {
6307	s.TestBotAliasTags = v
6308	return s
6309}
6310
6311type CreateBotVersionInput struct {
6312	_ struct{} `type:"structure"`
6313
6314	// The identifier of the bot to create the version for.
6315	//
6316	// BotId is a required field
6317	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
6318
6319	// Specifies the locales that Amazon Lex adds to this version. You can choose
6320	// the Draft version or any other previously published version for each locale.
6321	// When you specify a source version, the locale data is copied from the source
6322	// version to the new version.
6323	//
6324	// BotVersionLocaleSpecification is a required field
6325	BotVersionLocaleSpecification map[string]*BotVersionLocaleDetails `locationName:"botVersionLocaleSpecification" min:"1" type:"map" required:"true"`
6326
6327	// A description of the version. Use the description to help identify the version
6328	// in lists.
6329	Description *string `locationName:"description" type:"string"`
6330}
6331
6332// String returns the string representation
6333func (s CreateBotVersionInput) String() string {
6334	return awsutil.Prettify(s)
6335}
6336
6337// GoString returns the string representation
6338func (s CreateBotVersionInput) GoString() string {
6339	return s.String()
6340}
6341
6342// Validate inspects the fields of the type to determine if they are valid.
6343func (s *CreateBotVersionInput) Validate() error {
6344	invalidParams := request.ErrInvalidParams{Context: "CreateBotVersionInput"}
6345	if s.BotId == nil {
6346		invalidParams.Add(request.NewErrParamRequired("BotId"))
6347	}
6348	if s.BotId != nil && len(*s.BotId) < 10 {
6349		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
6350	}
6351	if s.BotVersionLocaleSpecification == nil {
6352		invalidParams.Add(request.NewErrParamRequired("BotVersionLocaleSpecification"))
6353	}
6354	if s.BotVersionLocaleSpecification != nil && len(s.BotVersionLocaleSpecification) < 1 {
6355		invalidParams.Add(request.NewErrParamMinLen("BotVersionLocaleSpecification", 1))
6356	}
6357	if s.BotVersionLocaleSpecification != nil {
6358		for i, v := range s.BotVersionLocaleSpecification {
6359			if v == nil {
6360				continue
6361			}
6362			if err := v.Validate(); err != nil {
6363				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BotVersionLocaleSpecification", i), err.(request.ErrInvalidParams))
6364			}
6365		}
6366	}
6367
6368	if invalidParams.Len() > 0 {
6369		return invalidParams
6370	}
6371	return nil
6372}
6373
6374// SetBotId sets the BotId field's value.
6375func (s *CreateBotVersionInput) SetBotId(v string) *CreateBotVersionInput {
6376	s.BotId = &v
6377	return s
6378}
6379
6380// SetBotVersionLocaleSpecification sets the BotVersionLocaleSpecification field's value.
6381func (s *CreateBotVersionInput) SetBotVersionLocaleSpecification(v map[string]*BotVersionLocaleDetails) *CreateBotVersionInput {
6382	s.BotVersionLocaleSpecification = v
6383	return s
6384}
6385
6386// SetDescription sets the Description field's value.
6387func (s *CreateBotVersionInput) SetDescription(v string) *CreateBotVersionInput {
6388	s.Description = &v
6389	return s
6390}
6391
6392type CreateBotVersionOutput struct {
6393	_ struct{} `type:"structure"`
6394
6395	// The bot identifier specified in the request.
6396	BotId *string `locationName:"botId" min:"10" type:"string"`
6397
6398	// When you send a request to create or update a bot, Amazon Lex sets the status
6399	// response element to Creating. After Amazon Lex builds the bot, it sets status
6400	// to Available. If Amazon Lex can't build the bot, it sets status to Failed.
6401	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
6402
6403	// The version number assigned to the version.
6404	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
6405
6406	// The source versions used for each locale in the new version.
6407	BotVersionLocaleSpecification map[string]*BotVersionLocaleDetails `locationName:"botVersionLocaleSpecification" min:"1" type:"map"`
6408
6409	// A timestamp of the date and time that the version was created.
6410	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
6411
6412	// The description of the version specified in the request.
6413	Description *string `locationName:"description" type:"string"`
6414}
6415
6416// String returns the string representation
6417func (s CreateBotVersionOutput) String() string {
6418	return awsutil.Prettify(s)
6419}
6420
6421// GoString returns the string representation
6422func (s CreateBotVersionOutput) GoString() string {
6423	return s.String()
6424}
6425
6426// SetBotId sets the BotId field's value.
6427func (s *CreateBotVersionOutput) SetBotId(v string) *CreateBotVersionOutput {
6428	s.BotId = &v
6429	return s
6430}
6431
6432// SetBotStatus sets the BotStatus field's value.
6433func (s *CreateBotVersionOutput) SetBotStatus(v string) *CreateBotVersionOutput {
6434	s.BotStatus = &v
6435	return s
6436}
6437
6438// SetBotVersion sets the BotVersion field's value.
6439func (s *CreateBotVersionOutput) SetBotVersion(v string) *CreateBotVersionOutput {
6440	s.BotVersion = &v
6441	return s
6442}
6443
6444// SetBotVersionLocaleSpecification sets the BotVersionLocaleSpecification field's value.
6445func (s *CreateBotVersionOutput) SetBotVersionLocaleSpecification(v map[string]*BotVersionLocaleDetails) *CreateBotVersionOutput {
6446	s.BotVersionLocaleSpecification = v
6447	return s
6448}
6449
6450// SetCreationDateTime sets the CreationDateTime field's value.
6451func (s *CreateBotVersionOutput) SetCreationDateTime(v time.Time) *CreateBotVersionOutput {
6452	s.CreationDateTime = &v
6453	return s
6454}
6455
6456// SetDescription sets the Description field's value.
6457func (s *CreateBotVersionOutput) SetDescription(v string) *CreateBotVersionOutput {
6458	s.Description = &v
6459	return s
6460}
6461
6462type CreateIntentInput struct {
6463	_ struct{} `type:"structure"`
6464
6465	// The identifier of the bot associated with this intent.
6466	//
6467	// BotId is a required field
6468	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
6469
6470	// The identifier of the version of the bot associated with this intent.
6471	//
6472	// BotVersion is a required field
6473	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
6474
6475	// A description of the intent. Use the description to help identify the intent
6476	// in lists.
6477	Description *string `locationName:"description" type:"string"`
6478
6479	// Specifies that Amazon Lex invokes the alias Lambda function for each user
6480	// input. You can invoke this Lambda function to personalize user interaction.
6481	//
6482	// For example, suppose that your bot determines that the user's name is John.
6483	// You Lambda function might retrieve John's information from a backend database
6484	// and prepopulate some of the values. For example, if you find that John is
6485	// gluten intolerant, you might set the corresponding intent slot, glutenIntolerant
6486	// to true. You might find John's phone number and set the corresponding session
6487	// attribute.
6488	DialogCodeHook *DialogCodeHookSettings `locationName:"dialogCodeHook" type:"structure"`
6489
6490	// Specifies that Amazon Lex invokes the alias Lambda function when the intent
6491	// is ready for fulfillment. You can invoke this function to complete the bot's
6492	// transaction with the user.
6493	//
6494	// For example, in a pizza ordering bot, the Lambda function can look up the
6495	// closest pizza restaurant to the customer's location and then place an order
6496	// on the customer's behalf.
6497	FulfillmentCodeHook *FulfillmentCodeHookSettings `locationName:"fulfillmentCodeHook" type:"structure"`
6498
6499	// A list of contexts that must be active for this intent to be considered by
6500	// Amazon Lex.
6501	//
6502	// When an intent has an input context list, Amazon Lex only considers using
6503	// the intent in an interaction with the user when the specified contexts are
6504	// included in the active context list for the session. If the contexts are
6505	// not active, then Amazon Lex will not use the intent.
6506	//
6507	// A context can be automatically activated using the outputContexts property
6508	// or it can be set at runtime.
6509	//
6510	// For example, if there are two intents with different input contexts that
6511	// respond to the same utterances, only the intent with the active context will
6512	// respond.
6513	//
6514	// An intent may have up to 5 input contexts. If an intent has multiple input
6515	// contexts, all of the contexts must be active to consider the intent.
6516	InputContexts []*InputContext `locationName:"inputContexts" type:"list"`
6517
6518	// Sets the response that Amazon Lex sends to the user when the intent is closed.
6519	IntentClosingSetting *IntentClosingSetting `locationName:"intentClosingSetting" type:"structure"`
6520
6521	// Provides prompts that Amazon Lex sends to the user to confirm the completion
6522	// of an intent. If the user answers "no," the settings contain a statement
6523	// that is sent to the user to end the intent.
6524	IntentConfirmationSetting *IntentConfirmationSetting `locationName:"intentConfirmationSetting" type:"structure"`
6525
6526	// The name of the intent. Intent names must be unique in the locale that contains
6527	// the intent and cannot match the name of any built-in intent.
6528	//
6529	// IntentName is a required field
6530	IntentName *string `locationName:"intentName" min:"1" type:"string" required:"true"`
6531
6532	// Configuration information required to use the AMAZON.KendraSearchIntent intent
6533	// to connect to an Amazon Kendra index. The AMAZON.KendraSearchIntent intent
6534	// is called when Amazon Lex can't determine another intent to invoke.
6535	KendraConfiguration *KendraConfiguration `locationName:"kendraConfiguration" type:"structure"`
6536
6537	// The identifier of the language and locale where this intent is used. All
6538	// of the bots, slot types, and slots used by the intent must have the same
6539	// locale.
6540	//
6541	// LocaleId is a required field
6542	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
6543
6544	// A lists of contexts that the intent activates when it is fulfilled.
6545	//
6546	// You can use an output context to indicate the intents that Amazon Lex should
6547	// consider for the next turn of the conversation with a customer.
6548	//
6549	// When you use the outputContextsList property, all of the contexts specified
6550	// in the list are activated when the intent is fulfilled. You can set up to
6551	// 10 output contexts. You can also set the number of conversation turns that
6552	// the context should be active, or the length of time that the context should
6553	// be active.
6554	OutputContexts []*OutputContext `locationName:"outputContexts" type:"list"`
6555
6556	// A unique identifier for the built-in intent to base this intent on.
6557	ParentIntentSignature *string `locationName:"parentIntentSignature" type:"string"`
6558
6559	// An array of strings that a user might say to signal the intent. For example,
6560	// "I want a pizza", or "I want a {PizzaSize} pizza".
6561	//
6562	// In an utterance, slot names are enclosed in curly braces ("{", "}") to indicate
6563	// where they should be displayed in the utterance shown to the user..
6564	SampleUtterances []*SampleUtterance `locationName:"sampleUtterances" type:"list"`
6565}
6566
6567// String returns the string representation
6568func (s CreateIntentInput) String() string {
6569	return awsutil.Prettify(s)
6570}
6571
6572// GoString returns the string representation
6573func (s CreateIntentInput) GoString() string {
6574	return s.String()
6575}
6576
6577// Validate inspects the fields of the type to determine if they are valid.
6578func (s *CreateIntentInput) Validate() error {
6579	invalidParams := request.ErrInvalidParams{Context: "CreateIntentInput"}
6580	if s.BotId == nil {
6581		invalidParams.Add(request.NewErrParamRequired("BotId"))
6582	}
6583	if s.BotId != nil && len(*s.BotId) < 10 {
6584		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
6585	}
6586	if s.BotVersion == nil {
6587		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
6588	}
6589	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
6590		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
6591	}
6592	if s.IntentName == nil {
6593		invalidParams.Add(request.NewErrParamRequired("IntentName"))
6594	}
6595	if s.IntentName != nil && len(*s.IntentName) < 1 {
6596		invalidParams.Add(request.NewErrParamMinLen("IntentName", 1))
6597	}
6598	if s.LocaleId == nil {
6599		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
6600	}
6601	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
6602		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
6603	}
6604	if s.DialogCodeHook != nil {
6605		if err := s.DialogCodeHook.Validate(); err != nil {
6606			invalidParams.AddNested("DialogCodeHook", err.(request.ErrInvalidParams))
6607		}
6608	}
6609	if s.FulfillmentCodeHook != nil {
6610		if err := s.FulfillmentCodeHook.Validate(); err != nil {
6611			invalidParams.AddNested("FulfillmentCodeHook", err.(request.ErrInvalidParams))
6612		}
6613	}
6614	if s.InputContexts != nil {
6615		for i, v := range s.InputContexts {
6616			if v == nil {
6617				continue
6618			}
6619			if err := v.Validate(); err != nil {
6620				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputContexts", i), err.(request.ErrInvalidParams))
6621			}
6622		}
6623	}
6624	if s.IntentClosingSetting != nil {
6625		if err := s.IntentClosingSetting.Validate(); err != nil {
6626			invalidParams.AddNested("IntentClosingSetting", err.(request.ErrInvalidParams))
6627		}
6628	}
6629	if s.IntentConfirmationSetting != nil {
6630		if err := s.IntentConfirmationSetting.Validate(); err != nil {
6631			invalidParams.AddNested("IntentConfirmationSetting", err.(request.ErrInvalidParams))
6632		}
6633	}
6634	if s.KendraConfiguration != nil {
6635		if err := s.KendraConfiguration.Validate(); err != nil {
6636			invalidParams.AddNested("KendraConfiguration", err.(request.ErrInvalidParams))
6637		}
6638	}
6639	if s.OutputContexts != nil {
6640		for i, v := range s.OutputContexts {
6641			if v == nil {
6642				continue
6643			}
6644			if err := v.Validate(); err != nil {
6645				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputContexts", i), err.(request.ErrInvalidParams))
6646			}
6647		}
6648	}
6649	if s.SampleUtterances != nil {
6650		for i, v := range s.SampleUtterances {
6651			if v == nil {
6652				continue
6653			}
6654			if err := v.Validate(); err != nil {
6655				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SampleUtterances", i), err.(request.ErrInvalidParams))
6656			}
6657		}
6658	}
6659
6660	if invalidParams.Len() > 0 {
6661		return invalidParams
6662	}
6663	return nil
6664}
6665
6666// SetBotId sets the BotId field's value.
6667func (s *CreateIntentInput) SetBotId(v string) *CreateIntentInput {
6668	s.BotId = &v
6669	return s
6670}
6671
6672// SetBotVersion sets the BotVersion field's value.
6673func (s *CreateIntentInput) SetBotVersion(v string) *CreateIntentInput {
6674	s.BotVersion = &v
6675	return s
6676}
6677
6678// SetDescription sets the Description field's value.
6679func (s *CreateIntentInput) SetDescription(v string) *CreateIntentInput {
6680	s.Description = &v
6681	return s
6682}
6683
6684// SetDialogCodeHook sets the DialogCodeHook field's value.
6685func (s *CreateIntentInput) SetDialogCodeHook(v *DialogCodeHookSettings) *CreateIntentInput {
6686	s.DialogCodeHook = v
6687	return s
6688}
6689
6690// SetFulfillmentCodeHook sets the FulfillmentCodeHook field's value.
6691func (s *CreateIntentInput) SetFulfillmentCodeHook(v *FulfillmentCodeHookSettings) *CreateIntentInput {
6692	s.FulfillmentCodeHook = v
6693	return s
6694}
6695
6696// SetInputContexts sets the InputContexts field's value.
6697func (s *CreateIntentInput) SetInputContexts(v []*InputContext) *CreateIntentInput {
6698	s.InputContexts = v
6699	return s
6700}
6701
6702// SetIntentClosingSetting sets the IntentClosingSetting field's value.
6703func (s *CreateIntentInput) SetIntentClosingSetting(v *IntentClosingSetting) *CreateIntentInput {
6704	s.IntentClosingSetting = v
6705	return s
6706}
6707
6708// SetIntentConfirmationSetting sets the IntentConfirmationSetting field's value.
6709func (s *CreateIntentInput) SetIntentConfirmationSetting(v *IntentConfirmationSetting) *CreateIntentInput {
6710	s.IntentConfirmationSetting = v
6711	return s
6712}
6713
6714// SetIntentName sets the IntentName field's value.
6715func (s *CreateIntentInput) SetIntentName(v string) *CreateIntentInput {
6716	s.IntentName = &v
6717	return s
6718}
6719
6720// SetKendraConfiguration sets the KendraConfiguration field's value.
6721func (s *CreateIntentInput) SetKendraConfiguration(v *KendraConfiguration) *CreateIntentInput {
6722	s.KendraConfiguration = v
6723	return s
6724}
6725
6726// SetLocaleId sets the LocaleId field's value.
6727func (s *CreateIntentInput) SetLocaleId(v string) *CreateIntentInput {
6728	s.LocaleId = &v
6729	return s
6730}
6731
6732// SetOutputContexts sets the OutputContexts field's value.
6733func (s *CreateIntentInput) SetOutputContexts(v []*OutputContext) *CreateIntentInput {
6734	s.OutputContexts = v
6735	return s
6736}
6737
6738// SetParentIntentSignature sets the ParentIntentSignature field's value.
6739func (s *CreateIntentInput) SetParentIntentSignature(v string) *CreateIntentInput {
6740	s.ParentIntentSignature = &v
6741	return s
6742}
6743
6744// SetSampleUtterances sets the SampleUtterances field's value.
6745func (s *CreateIntentInput) SetSampleUtterances(v []*SampleUtterance) *CreateIntentInput {
6746	s.SampleUtterances = v
6747	return s
6748}
6749
6750type CreateIntentOutput struct {
6751	_ struct{} `type:"structure"`
6752
6753	// The identifier of the bot associated with the intent.
6754	BotId *string `locationName:"botId" min:"10" type:"string"`
6755
6756	// The identifier of the version of the bot associated with the intent.
6757	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
6758
6759	// A timestamp of the date and time that the intent was created.
6760	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
6761
6762	// The description specified for the intent.
6763	Description *string `locationName:"description" type:"string"`
6764
6765	// The dialog Lambda function specified for the intent.
6766	DialogCodeHook *DialogCodeHookSettings `locationName:"dialogCodeHook" type:"structure"`
6767
6768	// The fulfillment Lambda function specified for the intent.
6769	FulfillmentCodeHook *FulfillmentCodeHookSettings `locationName:"fulfillmentCodeHook" type:"structure"`
6770
6771	// The list of input contexts specified for the intent.
6772	InputContexts []*InputContext `locationName:"inputContexts" type:"list"`
6773
6774	// The closing setting specified for the intent.
6775	IntentClosingSetting *IntentClosingSetting `locationName:"intentClosingSetting" type:"structure"`
6776
6777	// The confirmation setting specified for the intent.
6778	IntentConfirmationSetting *IntentConfirmationSetting `locationName:"intentConfirmationSetting" type:"structure"`
6779
6780	// A unique identifier for the intent.
6781	IntentId *string `locationName:"intentId" min:"10" type:"string"`
6782
6783	// The name specified for the intent.
6784	IntentName *string `locationName:"intentName" min:"1" type:"string"`
6785
6786	// Configuration for searching a Amazon Kendra index specified for the intent.
6787	KendraConfiguration *KendraConfiguration `locationName:"kendraConfiguration" type:"structure"`
6788
6789	// The locale that the intent is specified to use.
6790	LocaleId *string `locationName:"localeId" type:"string"`
6791
6792	// The list of output contexts specified for the intent.
6793	OutputContexts []*OutputContext `locationName:"outputContexts" type:"list"`
6794
6795	// The signature of the parent intent specified for the intent.
6796	ParentIntentSignature *string `locationName:"parentIntentSignature" type:"string"`
6797
6798	// The sample utterances specified for the intent.
6799	SampleUtterances []*SampleUtterance `locationName:"sampleUtterances" type:"list"`
6800}
6801
6802// String returns the string representation
6803func (s CreateIntentOutput) String() string {
6804	return awsutil.Prettify(s)
6805}
6806
6807// GoString returns the string representation
6808func (s CreateIntentOutput) GoString() string {
6809	return s.String()
6810}
6811
6812// SetBotId sets the BotId field's value.
6813func (s *CreateIntentOutput) SetBotId(v string) *CreateIntentOutput {
6814	s.BotId = &v
6815	return s
6816}
6817
6818// SetBotVersion sets the BotVersion field's value.
6819func (s *CreateIntentOutput) SetBotVersion(v string) *CreateIntentOutput {
6820	s.BotVersion = &v
6821	return s
6822}
6823
6824// SetCreationDateTime sets the CreationDateTime field's value.
6825func (s *CreateIntentOutput) SetCreationDateTime(v time.Time) *CreateIntentOutput {
6826	s.CreationDateTime = &v
6827	return s
6828}
6829
6830// SetDescription sets the Description field's value.
6831func (s *CreateIntentOutput) SetDescription(v string) *CreateIntentOutput {
6832	s.Description = &v
6833	return s
6834}
6835
6836// SetDialogCodeHook sets the DialogCodeHook field's value.
6837func (s *CreateIntentOutput) SetDialogCodeHook(v *DialogCodeHookSettings) *CreateIntentOutput {
6838	s.DialogCodeHook = v
6839	return s
6840}
6841
6842// SetFulfillmentCodeHook sets the FulfillmentCodeHook field's value.
6843func (s *CreateIntentOutput) SetFulfillmentCodeHook(v *FulfillmentCodeHookSettings) *CreateIntentOutput {
6844	s.FulfillmentCodeHook = v
6845	return s
6846}
6847
6848// SetInputContexts sets the InputContexts field's value.
6849func (s *CreateIntentOutput) SetInputContexts(v []*InputContext) *CreateIntentOutput {
6850	s.InputContexts = v
6851	return s
6852}
6853
6854// SetIntentClosingSetting sets the IntentClosingSetting field's value.
6855func (s *CreateIntentOutput) SetIntentClosingSetting(v *IntentClosingSetting) *CreateIntentOutput {
6856	s.IntentClosingSetting = v
6857	return s
6858}
6859
6860// SetIntentConfirmationSetting sets the IntentConfirmationSetting field's value.
6861func (s *CreateIntentOutput) SetIntentConfirmationSetting(v *IntentConfirmationSetting) *CreateIntentOutput {
6862	s.IntentConfirmationSetting = v
6863	return s
6864}
6865
6866// SetIntentId sets the IntentId field's value.
6867func (s *CreateIntentOutput) SetIntentId(v string) *CreateIntentOutput {
6868	s.IntentId = &v
6869	return s
6870}
6871
6872// SetIntentName sets the IntentName field's value.
6873func (s *CreateIntentOutput) SetIntentName(v string) *CreateIntentOutput {
6874	s.IntentName = &v
6875	return s
6876}
6877
6878// SetKendraConfiguration sets the KendraConfiguration field's value.
6879func (s *CreateIntentOutput) SetKendraConfiguration(v *KendraConfiguration) *CreateIntentOutput {
6880	s.KendraConfiguration = v
6881	return s
6882}
6883
6884// SetLocaleId sets the LocaleId field's value.
6885func (s *CreateIntentOutput) SetLocaleId(v string) *CreateIntentOutput {
6886	s.LocaleId = &v
6887	return s
6888}
6889
6890// SetOutputContexts sets the OutputContexts field's value.
6891func (s *CreateIntentOutput) SetOutputContexts(v []*OutputContext) *CreateIntentOutput {
6892	s.OutputContexts = v
6893	return s
6894}
6895
6896// SetParentIntentSignature sets the ParentIntentSignature field's value.
6897func (s *CreateIntentOutput) SetParentIntentSignature(v string) *CreateIntentOutput {
6898	s.ParentIntentSignature = &v
6899	return s
6900}
6901
6902// SetSampleUtterances sets the SampleUtterances field's value.
6903func (s *CreateIntentOutput) SetSampleUtterances(v []*SampleUtterance) *CreateIntentOutput {
6904	s.SampleUtterances = v
6905	return s
6906}
6907
6908type CreateSlotInput struct {
6909	_ struct{} `type:"structure"`
6910
6911	// The identifier of the bot associated with the slot.
6912	//
6913	// BotId is a required field
6914	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
6915
6916	// The version of the bot associated with the slot.
6917	//
6918	// BotVersion is a required field
6919	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
6920
6921	// A description of the slot. Use this to help identify the slot in lists.
6922	Description *string `locationName:"description" type:"string"`
6923
6924	// The identifier of the intent that contains the slot.
6925	//
6926	// IntentId is a required field
6927	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
6928
6929	// The identifier of the language and locale that the slot will be used in.
6930	// The string must match one of the supported locales. All of the bots, intents,
6931	// slot types used by the slot must have the same locale. For more information,
6932	// see https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html (https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html).
6933	//
6934	// LocaleId is a required field
6935	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
6936
6937	// Determines how slot values are used in Amazon CloudWatch logs. If the value
6938	// of the obfuscationSetting parameter is DefaultObfuscation, slot values are
6939	// obfuscated in the log output. If the value is None, the actual value is present
6940	// in the log output.
6941	//
6942	// The default is to obfuscate values in the CloudWatch logs.
6943	ObfuscationSetting *ObfuscationSetting `locationName:"obfuscationSetting" type:"structure"`
6944
6945	// The name of the slot. Slot names must be unique within the bot that contains
6946	// the slot.
6947	//
6948	// SlotName is a required field
6949	SlotName *string `locationName:"slotName" min:"1" type:"string" required:"true"`
6950
6951	// The unique identifier for the slot type associated with this slot. The slot
6952	// type determines the values that can be entered into the slot.
6953	//
6954	// SlotTypeId is a required field
6955	SlotTypeId *string `locationName:"slotTypeId" min:"1" type:"string" required:"true"`
6956
6957	// Specifies prompts that Amazon Lex sends to the user to elicit a response
6958	// that provides the value for the slot.
6959	//
6960	// ValueElicitationSetting is a required field
6961	ValueElicitationSetting *SlotValueElicitationSetting `locationName:"valueElicitationSetting" type:"structure" required:"true"`
6962}
6963
6964// String returns the string representation
6965func (s CreateSlotInput) String() string {
6966	return awsutil.Prettify(s)
6967}
6968
6969// GoString returns the string representation
6970func (s CreateSlotInput) GoString() string {
6971	return s.String()
6972}
6973
6974// Validate inspects the fields of the type to determine if they are valid.
6975func (s *CreateSlotInput) Validate() error {
6976	invalidParams := request.ErrInvalidParams{Context: "CreateSlotInput"}
6977	if s.BotId == nil {
6978		invalidParams.Add(request.NewErrParamRequired("BotId"))
6979	}
6980	if s.BotId != nil && len(*s.BotId) < 10 {
6981		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
6982	}
6983	if s.BotVersion == nil {
6984		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
6985	}
6986	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
6987		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
6988	}
6989	if s.IntentId == nil {
6990		invalidParams.Add(request.NewErrParamRequired("IntentId"))
6991	}
6992	if s.IntentId != nil && len(*s.IntentId) < 10 {
6993		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
6994	}
6995	if s.LocaleId == nil {
6996		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
6997	}
6998	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
6999		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
7000	}
7001	if s.SlotName == nil {
7002		invalidParams.Add(request.NewErrParamRequired("SlotName"))
7003	}
7004	if s.SlotName != nil && len(*s.SlotName) < 1 {
7005		invalidParams.Add(request.NewErrParamMinLen("SlotName", 1))
7006	}
7007	if s.SlotTypeId == nil {
7008		invalidParams.Add(request.NewErrParamRequired("SlotTypeId"))
7009	}
7010	if s.SlotTypeId != nil && len(*s.SlotTypeId) < 1 {
7011		invalidParams.Add(request.NewErrParamMinLen("SlotTypeId", 1))
7012	}
7013	if s.ValueElicitationSetting == nil {
7014		invalidParams.Add(request.NewErrParamRequired("ValueElicitationSetting"))
7015	}
7016	if s.ObfuscationSetting != nil {
7017		if err := s.ObfuscationSetting.Validate(); err != nil {
7018			invalidParams.AddNested("ObfuscationSetting", err.(request.ErrInvalidParams))
7019		}
7020	}
7021	if s.ValueElicitationSetting != nil {
7022		if err := s.ValueElicitationSetting.Validate(); err != nil {
7023			invalidParams.AddNested("ValueElicitationSetting", err.(request.ErrInvalidParams))
7024		}
7025	}
7026
7027	if invalidParams.Len() > 0 {
7028		return invalidParams
7029	}
7030	return nil
7031}
7032
7033// SetBotId sets the BotId field's value.
7034func (s *CreateSlotInput) SetBotId(v string) *CreateSlotInput {
7035	s.BotId = &v
7036	return s
7037}
7038
7039// SetBotVersion sets the BotVersion field's value.
7040func (s *CreateSlotInput) SetBotVersion(v string) *CreateSlotInput {
7041	s.BotVersion = &v
7042	return s
7043}
7044
7045// SetDescription sets the Description field's value.
7046func (s *CreateSlotInput) SetDescription(v string) *CreateSlotInput {
7047	s.Description = &v
7048	return s
7049}
7050
7051// SetIntentId sets the IntentId field's value.
7052func (s *CreateSlotInput) SetIntentId(v string) *CreateSlotInput {
7053	s.IntentId = &v
7054	return s
7055}
7056
7057// SetLocaleId sets the LocaleId field's value.
7058func (s *CreateSlotInput) SetLocaleId(v string) *CreateSlotInput {
7059	s.LocaleId = &v
7060	return s
7061}
7062
7063// SetObfuscationSetting sets the ObfuscationSetting field's value.
7064func (s *CreateSlotInput) SetObfuscationSetting(v *ObfuscationSetting) *CreateSlotInput {
7065	s.ObfuscationSetting = v
7066	return s
7067}
7068
7069// SetSlotName sets the SlotName field's value.
7070func (s *CreateSlotInput) SetSlotName(v string) *CreateSlotInput {
7071	s.SlotName = &v
7072	return s
7073}
7074
7075// SetSlotTypeId sets the SlotTypeId field's value.
7076func (s *CreateSlotInput) SetSlotTypeId(v string) *CreateSlotInput {
7077	s.SlotTypeId = &v
7078	return s
7079}
7080
7081// SetValueElicitationSetting sets the ValueElicitationSetting field's value.
7082func (s *CreateSlotInput) SetValueElicitationSetting(v *SlotValueElicitationSetting) *CreateSlotInput {
7083	s.ValueElicitationSetting = v
7084	return s
7085}
7086
7087type CreateSlotOutput struct {
7088	_ struct{} `type:"structure"`
7089
7090	// The unique identifier of the bot associated with the slot.
7091	BotId *string `locationName:"botId" min:"10" type:"string"`
7092
7093	// The version of the bot associated with the slot.
7094	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
7095
7096	// The timestamp of the date and time that the slot was created.
7097	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
7098
7099	// The description associated with the slot.
7100	Description *string `locationName:"description" type:"string"`
7101
7102	// The unique identifier of the intent associated with the slot.
7103	IntentId *string `locationName:"intentId" min:"10" type:"string"`
7104
7105	// The language and local specified for the slot.
7106	LocaleId *string `locationName:"localeId" type:"string"`
7107
7108	// Indicates whether the slot is configured to obfuscate values in Amazon CloudWatch
7109	// logs.
7110	ObfuscationSetting *ObfuscationSetting `locationName:"obfuscationSetting" type:"structure"`
7111
7112	// The unique identifier associated with the slot. Use this to identify the
7113	// slot when you update or delete it.
7114	SlotId *string `locationName:"slotId" min:"10" type:"string"`
7115
7116	// The name specified for the slot.
7117	SlotName *string `locationName:"slotName" min:"1" type:"string"`
7118
7119	// The unique identifier of the slot type associated with this slot.
7120	SlotTypeId *string `locationName:"slotTypeId" min:"1" type:"string"`
7121
7122	// The value elicitation settings specified for the slot.
7123	ValueElicitationSetting *SlotValueElicitationSetting `locationName:"valueElicitationSetting" type:"structure"`
7124}
7125
7126// String returns the string representation
7127func (s CreateSlotOutput) String() string {
7128	return awsutil.Prettify(s)
7129}
7130
7131// GoString returns the string representation
7132func (s CreateSlotOutput) GoString() string {
7133	return s.String()
7134}
7135
7136// SetBotId sets the BotId field's value.
7137func (s *CreateSlotOutput) SetBotId(v string) *CreateSlotOutput {
7138	s.BotId = &v
7139	return s
7140}
7141
7142// SetBotVersion sets the BotVersion field's value.
7143func (s *CreateSlotOutput) SetBotVersion(v string) *CreateSlotOutput {
7144	s.BotVersion = &v
7145	return s
7146}
7147
7148// SetCreationDateTime sets the CreationDateTime field's value.
7149func (s *CreateSlotOutput) SetCreationDateTime(v time.Time) *CreateSlotOutput {
7150	s.CreationDateTime = &v
7151	return s
7152}
7153
7154// SetDescription sets the Description field's value.
7155func (s *CreateSlotOutput) SetDescription(v string) *CreateSlotOutput {
7156	s.Description = &v
7157	return s
7158}
7159
7160// SetIntentId sets the IntentId field's value.
7161func (s *CreateSlotOutput) SetIntentId(v string) *CreateSlotOutput {
7162	s.IntentId = &v
7163	return s
7164}
7165
7166// SetLocaleId sets the LocaleId field's value.
7167func (s *CreateSlotOutput) SetLocaleId(v string) *CreateSlotOutput {
7168	s.LocaleId = &v
7169	return s
7170}
7171
7172// SetObfuscationSetting sets the ObfuscationSetting field's value.
7173func (s *CreateSlotOutput) SetObfuscationSetting(v *ObfuscationSetting) *CreateSlotOutput {
7174	s.ObfuscationSetting = v
7175	return s
7176}
7177
7178// SetSlotId sets the SlotId field's value.
7179func (s *CreateSlotOutput) SetSlotId(v string) *CreateSlotOutput {
7180	s.SlotId = &v
7181	return s
7182}
7183
7184// SetSlotName sets the SlotName field's value.
7185func (s *CreateSlotOutput) SetSlotName(v string) *CreateSlotOutput {
7186	s.SlotName = &v
7187	return s
7188}
7189
7190// SetSlotTypeId sets the SlotTypeId field's value.
7191func (s *CreateSlotOutput) SetSlotTypeId(v string) *CreateSlotOutput {
7192	s.SlotTypeId = &v
7193	return s
7194}
7195
7196// SetValueElicitationSetting sets the ValueElicitationSetting field's value.
7197func (s *CreateSlotOutput) SetValueElicitationSetting(v *SlotValueElicitationSetting) *CreateSlotOutput {
7198	s.ValueElicitationSetting = v
7199	return s
7200}
7201
7202type CreateSlotTypeInput struct {
7203	_ struct{} `type:"structure"`
7204
7205	// The identifier of the bot associated with this slot type.
7206	//
7207	// BotId is a required field
7208	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
7209
7210	// The identifier of the bot version associated with this slot type.
7211	//
7212	// BotVersion is a required field
7213	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
7214
7215	// A description of the slot type. Use the description to help identify the
7216	// slot type in lists.
7217	Description *string `locationName:"description" type:"string"`
7218
7219	// The identifier of the language and locale that the slot type will be used
7220	// in. The string must match one of the supported locales. All of the bots,
7221	// intents, and slots used by the slot type must have the same locale. For more
7222	// information, see https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html
7223	// (https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html).
7224	//
7225	// LocaleId is a required field
7226	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
7227
7228	// The built-in slot type used as a parent of this slot type. When you define
7229	// a parent slot type, the new slot type has the configuration of the parent
7230	// slot type.
7231	//
7232	// Only AMAZON.AlphaNumeric is supported.
7233	ParentSlotTypeSignature *string `locationName:"parentSlotTypeSignature" type:"string"`
7234
7235	// The name for the slot. A slot type name must be unique within the account.
7236	//
7237	// SlotTypeName is a required field
7238	SlotTypeName *string `locationName:"slotTypeName" min:"1" type:"string" required:"true"`
7239
7240	// A list of SlotTypeValue objects that defines the values that the slot type
7241	// can take. Each value can have a list of synonyms, additional values that
7242	// help train the machine learning model about the values that it resolves for
7243	// a slot.
7244	SlotTypeValues []*SlotTypeValue `locationName:"slotTypeValues" min:"1" type:"list"`
7245
7246	// Determines the strategy that Amazon Lex uses to select a value from the list
7247	// of possible values. The field can be set to one of the following values:
7248	//
7249	//    * OriginalValue - Returns the value entered by the user, if the user value
7250	//    is similar to the slot value.
7251	//
7252	//    * TopResolution - If there is a resolution list for the slot, return the
7253	//    first value in the resolution list. If there is no resolution list, return
7254	//    null.
7255	//
7256	// If you don't specify the valueSelectionSetting parameter, the default is
7257	// OriginalValue.
7258	//
7259	// ValueSelectionSetting is a required field
7260	ValueSelectionSetting *SlotValueSelectionSetting `locationName:"valueSelectionSetting" type:"structure" required:"true"`
7261}
7262
7263// String returns the string representation
7264func (s CreateSlotTypeInput) String() string {
7265	return awsutil.Prettify(s)
7266}
7267
7268// GoString returns the string representation
7269func (s CreateSlotTypeInput) GoString() string {
7270	return s.String()
7271}
7272
7273// Validate inspects the fields of the type to determine if they are valid.
7274func (s *CreateSlotTypeInput) Validate() error {
7275	invalidParams := request.ErrInvalidParams{Context: "CreateSlotTypeInput"}
7276	if s.BotId == nil {
7277		invalidParams.Add(request.NewErrParamRequired("BotId"))
7278	}
7279	if s.BotId != nil && len(*s.BotId) < 10 {
7280		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
7281	}
7282	if s.BotVersion == nil {
7283		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
7284	}
7285	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
7286		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
7287	}
7288	if s.LocaleId == nil {
7289		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
7290	}
7291	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
7292		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
7293	}
7294	if s.SlotTypeName == nil {
7295		invalidParams.Add(request.NewErrParamRequired("SlotTypeName"))
7296	}
7297	if s.SlotTypeName != nil && len(*s.SlotTypeName) < 1 {
7298		invalidParams.Add(request.NewErrParamMinLen("SlotTypeName", 1))
7299	}
7300	if s.SlotTypeValues != nil && len(s.SlotTypeValues) < 1 {
7301		invalidParams.Add(request.NewErrParamMinLen("SlotTypeValues", 1))
7302	}
7303	if s.ValueSelectionSetting == nil {
7304		invalidParams.Add(request.NewErrParamRequired("ValueSelectionSetting"))
7305	}
7306	if s.SlotTypeValues != nil {
7307		for i, v := range s.SlotTypeValues {
7308			if v == nil {
7309				continue
7310			}
7311			if err := v.Validate(); err != nil {
7312				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SlotTypeValues", i), err.(request.ErrInvalidParams))
7313			}
7314		}
7315	}
7316	if s.ValueSelectionSetting != nil {
7317		if err := s.ValueSelectionSetting.Validate(); err != nil {
7318			invalidParams.AddNested("ValueSelectionSetting", err.(request.ErrInvalidParams))
7319		}
7320	}
7321
7322	if invalidParams.Len() > 0 {
7323		return invalidParams
7324	}
7325	return nil
7326}
7327
7328// SetBotId sets the BotId field's value.
7329func (s *CreateSlotTypeInput) SetBotId(v string) *CreateSlotTypeInput {
7330	s.BotId = &v
7331	return s
7332}
7333
7334// SetBotVersion sets the BotVersion field's value.
7335func (s *CreateSlotTypeInput) SetBotVersion(v string) *CreateSlotTypeInput {
7336	s.BotVersion = &v
7337	return s
7338}
7339
7340// SetDescription sets the Description field's value.
7341func (s *CreateSlotTypeInput) SetDescription(v string) *CreateSlotTypeInput {
7342	s.Description = &v
7343	return s
7344}
7345
7346// SetLocaleId sets the LocaleId field's value.
7347func (s *CreateSlotTypeInput) SetLocaleId(v string) *CreateSlotTypeInput {
7348	s.LocaleId = &v
7349	return s
7350}
7351
7352// SetParentSlotTypeSignature sets the ParentSlotTypeSignature field's value.
7353func (s *CreateSlotTypeInput) SetParentSlotTypeSignature(v string) *CreateSlotTypeInput {
7354	s.ParentSlotTypeSignature = &v
7355	return s
7356}
7357
7358// SetSlotTypeName sets the SlotTypeName field's value.
7359func (s *CreateSlotTypeInput) SetSlotTypeName(v string) *CreateSlotTypeInput {
7360	s.SlotTypeName = &v
7361	return s
7362}
7363
7364// SetSlotTypeValues sets the SlotTypeValues field's value.
7365func (s *CreateSlotTypeInput) SetSlotTypeValues(v []*SlotTypeValue) *CreateSlotTypeInput {
7366	s.SlotTypeValues = v
7367	return s
7368}
7369
7370// SetValueSelectionSetting sets the ValueSelectionSetting field's value.
7371func (s *CreateSlotTypeInput) SetValueSelectionSetting(v *SlotValueSelectionSetting) *CreateSlotTypeInput {
7372	s.ValueSelectionSetting = v
7373	return s
7374}
7375
7376type CreateSlotTypeOutput struct {
7377	_ struct{} `type:"structure"`
7378
7379	// The identifier for the bot associated with the slot type.
7380	BotId *string `locationName:"botId" min:"10" type:"string"`
7381
7382	// The version of the bot associated with the slot type.
7383	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
7384
7385	// A timestamp of the date and time that the slot type was created.
7386	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
7387
7388	// The description specified for the slot type.
7389	Description *string `locationName:"description" type:"string"`
7390
7391	// The specified language and local specified for the slot type.
7392	LocaleId *string `locationName:"localeId" type:"string"`
7393
7394	// The signature of the base slot type specified for the slot type.
7395	ParentSlotTypeSignature *string `locationName:"parentSlotTypeSignature" type:"string"`
7396
7397	// The unique identifier assigned to the slot type. Use this to identify the
7398	// slot type in the UpdateSlotType and DeleteSlotType operations.
7399	SlotTypeId *string `locationName:"slotTypeId" min:"10" type:"string"`
7400
7401	// The name specified for the slot type.
7402	SlotTypeName *string `locationName:"slotTypeName" min:"1" type:"string"`
7403
7404	// The list of values that the slot type can assume.
7405	SlotTypeValues []*SlotTypeValue `locationName:"slotTypeValues" min:"1" type:"list"`
7406
7407	// The strategy that Amazon Lex uses to select a value from the list of possible
7408	// values.
7409	ValueSelectionSetting *SlotValueSelectionSetting `locationName:"valueSelectionSetting" type:"structure"`
7410}
7411
7412// String returns the string representation
7413func (s CreateSlotTypeOutput) String() string {
7414	return awsutil.Prettify(s)
7415}
7416
7417// GoString returns the string representation
7418func (s CreateSlotTypeOutput) GoString() string {
7419	return s.String()
7420}
7421
7422// SetBotId sets the BotId field's value.
7423func (s *CreateSlotTypeOutput) SetBotId(v string) *CreateSlotTypeOutput {
7424	s.BotId = &v
7425	return s
7426}
7427
7428// SetBotVersion sets the BotVersion field's value.
7429func (s *CreateSlotTypeOutput) SetBotVersion(v string) *CreateSlotTypeOutput {
7430	s.BotVersion = &v
7431	return s
7432}
7433
7434// SetCreationDateTime sets the CreationDateTime field's value.
7435func (s *CreateSlotTypeOutput) SetCreationDateTime(v time.Time) *CreateSlotTypeOutput {
7436	s.CreationDateTime = &v
7437	return s
7438}
7439
7440// SetDescription sets the Description field's value.
7441func (s *CreateSlotTypeOutput) SetDescription(v string) *CreateSlotTypeOutput {
7442	s.Description = &v
7443	return s
7444}
7445
7446// SetLocaleId sets the LocaleId field's value.
7447func (s *CreateSlotTypeOutput) SetLocaleId(v string) *CreateSlotTypeOutput {
7448	s.LocaleId = &v
7449	return s
7450}
7451
7452// SetParentSlotTypeSignature sets the ParentSlotTypeSignature field's value.
7453func (s *CreateSlotTypeOutput) SetParentSlotTypeSignature(v string) *CreateSlotTypeOutput {
7454	s.ParentSlotTypeSignature = &v
7455	return s
7456}
7457
7458// SetSlotTypeId sets the SlotTypeId field's value.
7459func (s *CreateSlotTypeOutput) SetSlotTypeId(v string) *CreateSlotTypeOutput {
7460	s.SlotTypeId = &v
7461	return s
7462}
7463
7464// SetSlotTypeName sets the SlotTypeName field's value.
7465func (s *CreateSlotTypeOutput) SetSlotTypeName(v string) *CreateSlotTypeOutput {
7466	s.SlotTypeName = &v
7467	return s
7468}
7469
7470// SetSlotTypeValues sets the SlotTypeValues field's value.
7471func (s *CreateSlotTypeOutput) SetSlotTypeValues(v []*SlotTypeValue) *CreateSlotTypeOutput {
7472	s.SlotTypeValues = v
7473	return s
7474}
7475
7476// SetValueSelectionSetting sets the ValueSelectionSetting field's value.
7477func (s *CreateSlotTypeOutput) SetValueSelectionSetting(v *SlotValueSelectionSetting) *CreateSlotTypeOutput {
7478	s.ValueSelectionSetting = v
7479	return s
7480}
7481
7482// A custom response string that Amazon Lex sends to your application. You define
7483// the content and structure the string.
7484type CustomPayload struct {
7485	_ struct{} `type:"structure"`
7486
7487	// The string that is sent to your application.
7488	//
7489	// Value is a required field
7490	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
7491}
7492
7493// String returns the string representation
7494func (s CustomPayload) String() string {
7495	return awsutil.Prettify(s)
7496}
7497
7498// GoString returns the string representation
7499func (s CustomPayload) GoString() string {
7500	return s.String()
7501}
7502
7503// Validate inspects the fields of the type to determine if they are valid.
7504func (s *CustomPayload) Validate() error {
7505	invalidParams := request.ErrInvalidParams{Context: "CustomPayload"}
7506	if s.Value == nil {
7507		invalidParams.Add(request.NewErrParamRequired("Value"))
7508	}
7509	if s.Value != nil && len(*s.Value) < 1 {
7510		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
7511	}
7512
7513	if invalidParams.Len() > 0 {
7514		return invalidParams
7515	}
7516	return nil
7517}
7518
7519// SetValue sets the Value field's value.
7520func (s *CustomPayload) SetValue(v string) *CustomPayload {
7521	s.Value = &v
7522	return s
7523}
7524
7525// By default, data stored by Amazon Lex is encrypted. The DataPrivacy structure
7526// provides settings that determine how Amazon Lex handles special cases of
7527// securing the data for your bot.
7528type DataPrivacy struct {
7529	_ struct{} `type:"structure"`
7530
7531	// For each Amazon Lex bot created with the Amazon Lex Model Building Service,
7532	// you must specify whether your use of Amazon Lex is related to a website,
7533	// program, or other application that is directed or targeted, in whole or in
7534	// part, to children under age 13 and subject to the Children's Online Privacy
7535	// Protection Act (COPPA) by specifying true or false in the childDirected field.
7536	// By specifying true in the childDirected field, you confirm that your use
7537	// of Amazon Lex is related to a website, program, or other application that
7538	// is directed or targeted, in whole or in part, to children under age 13 and
7539	// subject to COPPA. By specifying false in the childDirected field, you confirm
7540	// that your use of Amazon Lex is not related to a website, program, or other
7541	// application that is directed or targeted, in whole or in part, to children
7542	// under age 13 and subject to COPPA. You may not specify a default value for
7543	// the childDirected field that does not accurately reflect whether your use
7544	// of Amazon Lex is related to a website, program, or other application that
7545	// is directed or targeted, in whole or in part, to children under age 13 and
7546	// subject to COPPA. If your use of Amazon Lex relates to a website, program,
7547	// or other application that is directed in whole or in part, to children under
7548	// age 13, you must obtain any required verifiable parental consent under COPPA.
7549	// For information regarding the use of Amazon Lex in connection with websites,
7550	// programs, or other applications that are directed or targeted, in whole or
7551	// in part, to children under age 13, see the Amazon Lex FAQ (https://aws.amazon.com/lex/faqs#data-security).
7552	//
7553	// ChildDirected is a required field
7554	ChildDirected *bool `locationName:"childDirected" type:"boolean" required:"true"`
7555}
7556
7557// String returns the string representation
7558func (s DataPrivacy) String() string {
7559	return awsutil.Prettify(s)
7560}
7561
7562// GoString returns the string representation
7563func (s DataPrivacy) GoString() string {
7564	return s.String()
7565}
7566
7567// Validate inspects the fields of the type to determine if they are valid.
7568func (s *DataPrivacy) Validate() error {
7569	invalidParams := request.ErrInvalidParams{Context: "DataPrivacy"}
7570	if s.ChildDirected == nil {
7571		invalidParams.Add(request.NewErrParamRequired("ChildDirected"))
7572	}
7573
7574	if invalidParams.Len() > 0 {
7575		return invalidParams
7576	}
7577	return nil
7578}
7579
7580// SetChildDirected sets the ChildDirected field's value.
7581func (s *DataPrivacy) SetChildDirected(v bool) *DataPrivacy {
7582	s.ChildDirected = &v
7583	return s
7584}
7585
7586type DeleteBotAliasInput struct {
7587	_ struct{} `type:"structure"`
7588
7589	// The unique identifier of the bot alias to delete.
7590	//
7591	// BotAliasId is a required field
7592	BotAliasId *string `location:"uri" locationName:"botAliasId" min:"10" type:"string" required:"true"`
7593
7594	// The unique identifier of the bot associated with the alias to delete.
7595	//
7596	// BotId is a required field
7597	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
7598
7599	// When this parameter is true, Amazon Lex doesn't check to see if any other
7600	// resource is using the alias before it is deleted.
7601	SkipResourceInUseCheck *bool `location:"querystring" locationName:"skipResourceInUseCheck" type:"boolean"`
7602}
7603
7604// String returns the string representation
7605func (s DeleteBotAliasInput) String() string {
7606	return awsutil.Prettify(s)
7607}
7608
7609// GoString returns the string representation
7610func (s DeleteBotAliasInput) GoString() string {
7611	return s.String()
7612}
7613
7614// Validate inspects the fields of the type to determine if they are valid.
7615func (s *DeleteBotAliasInput) Validate() error {
7616	invalidParams := request.ErrInvalidParams{Context: "DeleteBotAliasInput"}
7617	if s.BotAliasId == nil {
7618		invalidParams.Add(request.NewErrParamRequired("BotAliasId"))
7619	}
7620	if s.BotAliasId != nil && len(*s.BotAliasId) < 10 {
7621		invalidParams.Add(request.NewErrParamMinLen("BotAliasId", 10))
7622	}
7623	if s.BotId == nil {
7624		invalidParams.Add(request.NewErrParamRequired("BotId"))
7625	}
7626	if s.BotId != nil && len(*s.BotId) < 10 {
7627		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
7628	}
7629
7630	if invalidParams.Len() > 0 {
7631		return invalidParams
7632	}
7633	return nil
7634}
7635
7636// SetBotAliasId sets the BotAliasId field's value.
7637func (s *DeleteBotAliasInput) SetBotAliasId(v string) *DeleteBotAliasInput {
7638	s.BotAliasId = &v
7639	return s
7640}
7641
7642// SetBotId sets the BotId field's value.
7643func (s *DeleteBotAliasInput) SetBotId(v string) *DeleteBotAliasInput {
7644	s.BotId = &v
7645	return s
7646}
7647
7648// SetSkipResourceInUseCheck sets the SkipResourceInUseCheck field's value.
7649func (s *DeleteBotAliasInput) SetSkipResourceInUseCheck(v bool) *DeleteBotAliasInput {
7650	s.SkipResourceInUseCheck = &v
7651	return s
7652}
7653
7654type DeleteBotAliasOutput struct {
7655	_ struct{} `type:"structure"`
7656
7657	// The unique identifier of the bot alias to delete.
7658	BotAliasId *string `locationName:"botAliasId" min:"10" type:"string"`
7659
7660	// The current status of the alias. The status is Deleting while the alias is
7661	// in the process of being deleted. Once the alias is deleted, it will no longer
7662	// appear in the list of aliases returned by the ListBotAliases operation.
7663	BotAliasStatus *string `locationName:"botAliasStatus" type:"string" enum:"BotAliasStatus"`
7664
7665	// The unique identifier of the bot that contains the alias to delete.
7666	BotId *string `locationName:"botId" min:"10" type:"string"`
7667}
7668
7669// String returns the string representation
7670func (s DeleteBotAliasOutput) String() string {
7671	return awsutil.Prettify(s)
7672}
7673
7674// GoString returns the string representation
7675func (s DeleteBotAliasOutput) GoString() string {
7676	return s.String()
7677}
7678
7679// SetBotAliasId sets the BotAliasId field's value.
7680func (s *DeleteBotAliasOutput) SetBotAliasId(v string) *DeleteBotAliasOutput {
7681	s.BotAliasId = &v
7682	return s
7683}
7684
7685// SetBotAliasStatus sets the BotAliasStatus field's value.
7686func (s *DeleteBotAliasOutput) SetBotAliasStatus(v string) *DeleteBotAliasOutput {
7687	s.BotAliasStatus = &v
7688	return s
7689}
7690
7691// SetBotId sets the BotId field's value.
7692func (s *DeleteBotAliasOutput) SetBotId(v string) *DeleteBotAliasOutput {
7693	s.BotId = &v
7694	return s
7695}
7696
7697type DeleteBotInput struct {
7698	_ struct{} `type:"structure"`
7699
7700	// The identifier of the bot to delete.
7701	//
7702	// BotId is a required field
7703	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
7704
7705	// When true, Amazon Lex doesn't check to see if another resource, such as an
7706	// alias, is using the bot before it is deleted.
7707	SkipResourceInUseCheck *bool `location:"querystring" locationName:"skipResourceInUseCheck" type:"boolean"`
7708}
7709
7710// String returns the string representation
7711func (s DeleteBotInput) String() string {
7712	return awsutil.Prettify(s)
7713}
7714
7715// GoString returns the string representation
7716func (s DeleteBotInput) GoString() string {
7717	return s.String()
7718}
7719
7720// Validate inspects the fields of the type to determine if they are valid.
7721func (s *DeleteBotInput) Validate() error {
7722	invalidParams := request.ErrInvalidParams{Context: "DeleteBotInput"}
7723	if s.BotId == nil {
7724		invalidParams.Add(request.NewErrParamRequired("BotId"))
7725	}
7726	if s.BotId != nil && len(*s.BotId) < 10 {
7727		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
7728	}
7729
7730	if invalidParams.Len() > 0 {
7731		return invalidParams
7732	}
7733	return nil
7734}
7735
7736// SetBotId sets the BotId field's value.
7737func (s *DeleteBotInput) SetBotId(v string) *DeleteBotInput {
7738	s.BotId = &v
7739	return s
7740}
7741
7742// SetSkipResourceInUseCheck sets the SkipResourceInUseCheck field's value.
7743func (s *DeleteBotInput) SetSkipResourceInUseCheck(v bool) *DeleteBotInput {
7744	s.SkipResourceInUseCheck = &v
7745	return s
7746}
7747
7748type DeleteBotLocaleInput struct {
7749	_ struct{} `type:"structure"`
7750
7751	// The unique identifier of the bot that contains the locale.
7752	//
7753	// BotId is a required field
7754	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
7755
7756	// The version of the bot that contains the locale.
7757	//
7758	// BotVersion is a required field
7759	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
7760
7761	// The identifier of the language and locale that will be deleted. The string
7762	// must match one of the supported locales. For more information, see https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html
7763	// (https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html).
7764	//
7765	// LocaleId is a required field
7766	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
7767}
7768
7769// String returns the string representation
7770func (s DeleteBotLocaleInput) String() string {
7771	return awsutil.Prettify(s)
7772}
7773
7774// GoString returns the string representation
7775func (s DeleteBotLocaleInput) GoString() string {
7776	return s.String()
7777}
7778
7779// Validate inspects the fields of the type to determine if they are valid.
7780func (s *DeleteBotLocaleInput) Validate() error {
7781	invalidParams := request.ErrInvalidParams{Context: "DeleteBotLocaleInput"}
7782	if s.BotId == nil {
7783		invalidParams.Add(request.NewErrParamRequired("BotId"))
7784	}
7785	if s.BotId != nil && len(*s.BotId) < 10 {
7786		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
7787	}
7788	if s.BotVersion == nil {
7789		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
7790	}
7791	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
7792		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
7793	}
7794	if s.LocaleId == nil {
7795		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
7796	}
7797	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
7798		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
7799	}
7800
7801	if invalidParams.Len() > 0 {
7802		return invalidParams
7803	}
7804	return nil
7805}
7806
7807// SetBotId sets the BotId field's value.
7808func (s *DeleteBotLocaleInput) SetBotId(v string) *DeleteBotLocaleInput {
7809	s.BotId = &v
7810	return s
7811}
7812
7813// SetBotVersion sets the BotVersion field's value.
7814func (s *DeleteBotLocaleInput) SetBotVersion(v string) *DeleteBotLocaleInput {
7815	s.BotVersion = &v
7816	return s
7817}
7818
7819// SetLocaleId sets the LocaleId field's value.
7820func (s *DeleteBotLocaleInput) SetLocaleId(v string) *DeleteBotLocaleInput {
7821	s.LocaleId = &v
7822	return s
7823}
7824
7825type DeleteBotLocaleOutput struct {
7826	_ struct{} `type:"structure"`
7827
7828	// The identifier of the bot that contained the deleted locale.
7829	BotId *string `locationName:"botId" min:"10" type:"string"`
7830
7831	// The status of deleting the bot locale. The locale first enters the Deleting
7832	// status. Once the locale is deleted it no longer appears in the list of locales
7833	// for the bot.
7834	BotLocaleStatus *string `locationName:"botLocaleStatus" type:"string" enum:"BotLocaleStatus"`
7835
7836	// The version of the bot that contained the deleted locale.
7837	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
7838
7839	// The language and locale of the deleted locale.
7840	LocaleId *string `locationName:"localeId" type:"string"`
7841}
7842
7843// String returns the string representation
7844func (s DeleteBotLocaleOutput) String() string {
7845	return awsutil.Prettify(s)
7846}
7847
7848// GoString returns the string representation
7849func (s DeleteBotLocaleOutput) GoString() string {
7850	return s.String()
7851}
7852
7853// SetBotId sets the BotId field's value.
7854func (s *DeleteBotLocaleOutput) SetBotId(v string) *DeleteBotLocaleOutput {
7855	s.BotId = &v
7856	return s
7857}
7858
7859// SetBotLocaleStatus sets the BotLocaleStatus field's value.
7860func (s *DeleteBotLocaleOutput) SetBotLocaleStatus(v string) *DeleteBotLocaleOutput {
7861	s.BotLocaleStatus = &v
7862	return s
7863}
7864
7865// SetBotVersion sets the BotVersion field's value.
7866func (s *DeleteBotLocaleOutput) SetBotVersion(v string) *DeleteBotLocaleOutput {
7867	s.BotVersion = &v
7868	return s
7869}
7870
7871// SetLocaleId sets the LocaleId field's value.
7872func (s *DeleteBotLocaleOutput) SetLocaleId(v string) *DeleteBotLocaleOutput {
7873	s.LocaleId = &v
7874	return s
7875}
7876
7877type DeleteBotOutput struct {
7878	_ struct{} `type:"structure"`
7879
7880	// The unique identifier of the bot that Amazon Lex is deleting.
7881	BotId *string `locationName:"botId" min:"10" type:"string"`
7882
7883	// The current status of the bot. The status is Deleting while the bot and its
7884	// associated resources are being deleted.
7885	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
7886}
7887
7888// String returns the string representation
7889func (s DeleteBotOutput) String() string {
7890	return awsutil.Prettify(s)
7891}
7892
7893// GoString returns the string representation
7894func (s DeleteBotOutput) GoString() string {
7895	return s.String()
7896}
7897
7898// SetBotId sets the BotId field's value.
7899func (s *DeleteBotOutput) SetBotId(v string) *DeleteBotOutput {
7900	s.BotId = &v
7901	return s
7902}
7903
7904// SetBotStatus sets the BotStatus field's value.
7905func (s *DeleteBotOutput) SetBotStatus(v string) *DeleteBotOutput {
7906	s.BotStatus = &v
7907	return s
7908}
7909
7910type DeleteBotVersionInput struct {
7911	_ struct{} `type:"structure"`
7912
7913	// The identifier of the bot that contains the version.
7914	//
7915	// BotId is a required field
7916	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
7917
7918	// The version of the bot to delete.
7919	//
7920	// BotVersion is a required field
7921	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
7922
7923	// By default, the DeleteBotVersion operations throws a ResourceInUseException
7924	// exception if you try to delete a bot version that has an alias pointing at
7925	// it. Set the skipResourceInUseCheck parameter to true to skip this check and
7926	// remove the version even if an alias points to it.
7927	SkipResourceInUseCheck *bool `location:"querystring" locationName:"skipResourceInUseCheck" type:"boolean"`
7928}
7929
7930// String returns the string representation
7931func (s DeleteBotVersionInput) String() string {
7932	return awsutil.Prettify(s)
7933}
7934
7935// GoString returns the string representation
7936func (s DeleteBotVersionInput) GoString() string {
7937	return s.String()
7938}
7939
7940// Validate inspects the fields of the type to determine if they are valid.
7941func (s *DeleteBotVersionInput) Validate() error {
7942	invalidParams := request.ErrInvalidParams{Context: "DeleteBotVersionInput"}
7943	if s.BotId == nil {
7944		invalidParams.Add(request.NewErrParamRequired("BotId"))
7945	}
7946	if s.BotId != nil && len(*s.BotId) < 10 {
7947		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
7948	}
7949	if s.BotVersion == nil {
7950		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
7951	}
7952	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
7953		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
7954	}
7955
7956	if invalidParams.Len() > 0 {
7957		return invalidParams
7958	}
7959	return nil
7960}
7961
7962// SetBotId sets the BotId field's value.
7963func (s *DeleteBotVersionInput) SetBotId(v string) *DeleteBotVersionInput {
7964	s.BotId = &v
7965	return s
7966}
7967
7968// SetBotVersion sets the BotVersion field's value.
7969func (s *DeleteBotVersionInput) SetBotVersion(v string) *DeleteBotVersionInput {
7970	s.BotVersion = &v
7971	return s
7972}
7973
7974// SetSkipResourceInUseCheck sets the SkipResourceInUseCheck field's value.
7975func (s *DeleteBotVersionInput) SetSkipResourceInUseCheck(v bool) *DeleteBotVersionInput {
7976	s.SkipResourceInUseCheck = &v
7977	return s
7978}
7979
7980type DeleteBotVersionOutput struct {
7981	_ struct{} `type:"structure"`
7982
7983	// The identifier of the bot that is being deleted.
7984	BotId *string `locationName:"botId" min:"10" type:"string"`
7985
7986	// The current status of the bot.
7987	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
7988
7989	// The version of the bot that is being deleted.
7990	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
7991}
7992
7993// String returns the string representation
7994func (s DeleteBotVersionOutput) String() string {
7995	return awsutil.Prettify(s)
7996}
7997
7998// GoString returns the string representation
7999func (s DeleteBotVersionOutput) GoString() string {
8000	return s.String()
8001}
8002
8003// SetBotId sets the BotId field's value.
8004func (s *DeleteBotVersionOutput) SetBotId(v string) *DeleteBotVersionOutput {
8005	s.BotId = &v
8006	return s
8007}
8008
8009// SetBotStatus sets the BotStatus field's value.
8010func (s *DeleteBotVersionOutput) SetBotStatus(v string) *DeleteBotVersionOutput {
8011	s.BotStatus = &v
8012	return s
8013}
8014
8015// SetBotVersion sets the BotVersion field's value.
8016func (s *DeleteBotVersionOutput) SetBotVersion(v string) *DeleteBotVersionOutput {
8017	s.BotVersion = &v
8018	return s
8019}
8020
8021type DeleteIntentInput struct {
8022	_ struct{} `type:"structure"`
8023
8024	// The identifier of the bot associated with the intent.
8025	//
8026	// BotId is a required field
8027	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
8028
8029	// The version of the bot associated with the intent.
8030	//
8031	// BotVersion is a required field
8032	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
8033
8034	// The unique identifier of the intent to delete.
8035	//
8036	// IntentId is a required field
8037	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
8038
8039	// The identifier of the language and locale where the bot will be deleted.
8040	// The string must match one of the supported locales. For more information,
8041	// see https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html (https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html).
8042	//
8043	// LocaleId is a required field
8044	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
8045}
8046
8047// String returns the string representation
8048func (s DeleteIntentInput) String() string {
8049	return awsutil.Prettify(s)
8050}
8051
8052// GoString returns the string representation
8053func (s DeleteIntentInput) GoString() string {
8054	return s.String()
8055}
8056
8057// Validate inspects the fields of the type to determine if they are valid.
8058func (s *DeleteIntentInput) Validate() error {
8059	invalidParams := request.ErrInvalidParams{Context: "DeleteIntentInput"}
8060	if s.BotId == nil {
8061		invalidParams.Add(request.NewErrParamRequired("BotId"))
8062	}
8063	if s.BotId != nil && len(*s.BotId) < 10 {
8064		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
8065	}
8066	if s.BotVersion == nil {
8067		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
8068	}
8069	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
8070		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
8071	}
8072	if s.IntentId == nil {
8073		invalidParams.Add(request.NewErrParamRequired("IntentId"))
8074	}
8075	if s.IntentId != nil && len(*s.IntentId) < 10 {
8076		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
8077	}
8078	if s.LocaleId == nil {
8079		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
8080	}
8081	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
8082		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
8083	}
8084
8085	if invalidParams.Len() > 0 {
8086		return invalidParams
8087	}
8088	return nil
8089}
8090
8091// SetBotId sets the BotId field's value.
8092func (s *DeleteIntentInput) SetBotId(v string) *DeleteIntentInput {
8093	s.BotId = &v
8094	return s
8095}
8096
8097// SetBotVersion sets the BotVersion field's value.
8098func (s *DeleteIntentInput) SetBotVersion(v string) *DeleteIntentInput {
8099	s.BotVersion = &v
8100	return s
8101}
8102
8103// SetIntentId sets the IntentId field's value.
8104func (s *DeleteIntentInput) SetIntentId(v string) *DeleteIntentInput {
8105	s.IntentId = &v
8106	return s
8107}
8108
8109// SetLocaleId sets the LocaleId field's value.
8110func (s *DeleteIntentInput) SetLocaleId(v string) *DeleteIntentInput {
8111	s.LocaleId = &v
8112	return s
8113}
8114
8115type DeleteIntentOutput struct {
8116	_ struct{} `type:"structure"`
8117}
8118
8119// String returns the string representation
8120func (s DeleteIntentOutput) String() string {
8121	return awsutil.Prettify(s)
8122}
8123
8124// GoString returns the string representation
8125func (s DeleteIntentOutput) GoString() string {
8126	return s.String()
8127}
8128
8129type DeleteSlotInput struct {
8130	_ struct{} `type:"structure"`
8131
8132	// The identifier of the bot associated with the slot to delete.
8133	//
8134	// BotId is a required field
8135	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
8136
8137	// The version of the bot associated with the slot to delete.
8138	//
8139	// BotVersion is a required field
8140	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
8141
8142	// The identifier of the intent associated with the slot.
8143	//
8144	// IntentId is a required field
8145	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
8146
8147	// The identifier of the language and locale that the slot will be deleted from.
8148	// The string must match one of the supported locales. For more information,
8149	// see https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html (https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html).
8150	//
8151	// LocaleId is a required field
8152	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
8153
8154	// The identifier of the slot to delete.
8155	//
8156	// SlotId is a required field
8157	SlotId *string `location:"uri" locationName:"slotId" min:"10" type:"string" required:"true"`
8158}
8159
8160// String returns the string representation
8161func (s DeleteSlotInput) String() string {
8162	return awsutil.Prettify(s)
8163}
8164
8165// GoString returns the string representation
8166func (s DeleteSlotInput) GoString() string {
8167	return s.String()
8168}
8169
8170// Validate inspects the fields of the type to determine if they are valid.
8171func (s *DeleteSlotInput) Validate() error {
8172	invalidParams := request.ErrInvalidParams{Context: "DeleteSlotInput"}
8173	if s.BotId == nil {
8174		invalidParams.Add(request.NewErrParamRequired("BotId"))
8175	}
8176	if s.BotId != nil && len(*s.BotId) < 10 {
8177		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
8178	}
8179	if s.BotVersion == nil {
8180		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
8181	}
8182	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
8183		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
8184	}
8185	if s.IntentId == nil {
8186		invalidParams.Add(request.NewErrParamRequired("IntentId"))
8187	}
8188	if s.IntentId != nil && len(*s.IntentId) < 10 {
8189		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
8190	}
8191	if s.LocaleId == nil {
8192		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
8193	}
8194	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
8195		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
8196	}
8197	if s.SlotId == nil {
8198		invalidParams.Add(request.NewErrParamRequired("SlotId"))
8199	}
8200	if s.SlotId != nil && len(*s.SlotId) < 10 {
8201		invalidParams.Add(request.NewErrParamMinLen("SlotId", 10))
8202	}
8203
8204	if invalidParams.Len() > 0 {
8205		return invalidParams
8206	}
8207	return nil
8208}
8209
8210// SetBotId sets the BotId field's value.
8211func (s *DeleteSlotInput) SetBotId(v string) *DeleteSlotInput {
8212	s.BotId = &v
8213	return s
8214}
8215
8216// SetBotVersion sets the BotVersion field's value.
8217func (s *DeleteSlotInput) SetBotVersion(v string) *DeleteSlotInput {
8218	s.BotVersion = &v
8219	return s
8220}
8221
8222// SetIntentId sets the IntentId field's value.
8223func (s *DeleteSlotInput) SetIntentId(v string) *DeleteSlotInput {
8224	s.IntentId = &v
8225	return s
8226}
8227
8228// SetLocaleId sets the LocaleId field's value.
8229func (s *DeleteSlotInput) SetLocaleId(v string) *DeleteSlotInput {
8230	s.LocaleId = &v
8231	return s
8232}
8233
8234// SetSlotId sets the SlotId field's value.
8235func (s *DeleteSlotInput) SetSlotId(v string) *DeleteSlotInput {
8236	s.SlotId = &v
8237	return s
8238}
8239
8240type DeleteSlotOutput struct {
8241	_ struct{} `type:"structure"`
8242}
8243
8244// String returns the string representation
8245func (s DeleteSlotOutput) String() string {
8246	return awsutil.Prettify(s)
8247}
8248
8249// GoString returns the string representation
8250func (s DeleteSlotOutput) GoString() string {
8251	return s.String()
8252}
8253
8254type DeleteSlotTypeInput struct {
8255	_ struct{} `type:"structure"`
8256
8257	// The identifier of the bot associated with the slot type.
8258	//
8259	// BotId is a required field
8260	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
8261
8262	// The version of the bot associated with the slot type.
8263	//
8264	// BotVersion is a required field
8265	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
8266
8267	// The identifier of the language and locale that the slot type will be deleted
8268	// from. The string must match one of the supported locales. For more information,
8269	// see https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html (https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html).
8270	//
8271	// LocaleId is a required field
8272	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
8273
8274	// By default, the DeleteSlotType operations throws a ResourceInUseException
8275	// exception if you try to delete a slot type used by a slot. Set the skipResourceInUseCheck
8276	// parameter to true to skip this check and remove the slot type even if a slot
8277	// uses it.
8278	SkipResourceInUseCheck *bool `location:"querystring" locationName:"skipResourceInUseCheck" type:"boolean"`
8279
8280	// The identifier of the slot type to delete.
8281	//
8282	// SlotTypeId is a required field
8283	SlotTypeId *string `location:"uri" locationName:"slotTypeId" min:"10" type:"string" required:"true"`
8284}
8285
8286// String returns the string representation
8287func (s DeleteSlotTypeInput) String() string {
8288	return awsutil.Prettify(s)
8289}
8290
8291// GoString returns the string representation
8292func (s DeleteSlotTypeInput) GoString() string {
8293	return s.String()
8294}
8295
8296// Validate inspects the fields of the type to determine if they are valid.
8297func (s *DeleteSlotTypeInput) Validate() error {
8298	invalidParams := request.ErrInvalidParams{Context: "DeleteSlotTypeInput"}
8299	if s.BotId == nil {
8300		invalidParams.Add(request.NewErrParamRequired("BotId"))
8301	}
8302	if s.BotId != nil && len(*s.BotId) < 10 {
8303		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
8304	}
8305	if s.BotVersion == nil {
8306		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
8307	}
8308	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
8309		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
8310	}
8311	if s.LocaleId == nil {
8312		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
8313	}
8314	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
8315		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
8316	}
8317	if s.SlotTypeId == nil {
8318		invalidParams.Add(request.NewErrParamRequired("SlotTypeId"))
8319	}
8320	if s.SlotTypeId != nil && len(*s.SlotTypeId) < 10 {
8321		invalidParams.Add(request.NewErrParamMinLen("SlotTypeId", 10))
8322	}
8323
8324	if invalidParams.Len() > 0 {
8325		return invalidParams
8326	}
8327	return nil
8328}
8329
8330// SetBotId sets the BotId field's value.
8331func (s *DeleteSlotTypeInput) SetBotId(v string) *DeleteSlotTypeInput {
8332	s.BotId = &v
8333	return s
8334}
8335
8336// SetBotVersion sets the BotVersion field's value.
8337func (s *DeleteSlotTypeInput) SetBotVersion(v string) *DeleteSlotTypeInput {
8338	s.BotVersion = &v
8339	return s
8340}
8341
8342// SetLocaleId sets the LocaleId field's value.
8343func (s *DeleteSlotTypeInput) SetLocaleId(v string) *DeleteSlotTypeInput {
8344	s.LocaleId = &v
8345	return s
8346}
8347
8348// SetSkipResourceInUseCheck sets the SkipResourceInUseCheck field's value.
8349func (s *DeleteSlotTypeInput) SetSkipResourceInUseCheck(v bool) *DeleteSlotTypeInput {
8350	s.SkipResourceInUseCheck = &v
8351	return s
8352}
8353
8354// SetSlotTypeId sets the SlotTypeId field's value.
8355func (s *DeleteSlotTypeInput) SetSlotTypeId(v string) *DeleteSlotTypeInput {
8356	s.SlotTypeId = &v
8357	return s
8358}
8359
8360type DeleteSlotTypeOutput struct {
8361	_ struct{} `type:"structure"`
8362}
8363
8364// String returns the string representation
8365func (s DeleteSlotTypeOutput) String() string {
8366	return awsutil.Prettify(s)
8367}
8368
8369// GoString returns the string representation
8370func (s DeleteSlotTypeOutput) GoString() string {
8371	return s.String()
8372}
8373
8374type DescribeBotAliasInput struct {
8375	_ struct{} `type:"structure"`
8376
8377	// The identifier of the bot alias to describe.
8378	//
8379	// BotAliasId is a required field
8380	BotAliasId *string `location:"uri" locationName:"botAliasId" min:"10" type:"string" required:"true"`
8381
8382	// The identifier of the bot associated with the bot alias to describe.
8383	//
8384	// BotId is a required field
8385	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
8386}
8387
8388// String returns the string representation
8389func (s DescribeBotAliasInput) String() string {
8390	return awsutil.Prettify(s)
8391}
8392
8393// GoString returns the string representation
8394func (s DescribeBotAliasInput) GoString() string {
8395	return s.String()
8396}
8397
8398// Validate inspects the fields of the type to determine if they are valid.
8399func (s *DescribeBotAliasInput) Validate() error {
8400	invalidParams := request.ErrInvalidParams{Context: "DescribeBotAliasInput"}
8401	if s.BotAliasId == nil {
8402		invalidParams.Add(request.NewErrParamRequired("BotAliasId"))
8403	}
8404	if s.BotAliasId != nil && len(*s.BotAliasId) < 10 {
8405		invalidParams.Add(request.NewErrParamMinLen("BotAliasId", 10))
8406	}
8407	if s.BotId == nil {
8408		invalidParams.Add(request.NewErrParamRequired("BotId"))
8409	}
8410	if s.BotId != nil && len(*s.BotId) < 10 {
8411		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
8412	}
8413
8414	if invalidParams.Len() > 0 {
8415		return invalidParams
8416	}
8417	return nil
8418}
8419
8420// SetBotAliasId sets the BotAliasId field's value.
8421func (s *DescribeBotAliasInput) SetBotAliasId(v string) *DescribeBotAliasInput {
8422	s.BotAliasId = &v
8423	return s
8424}
8425
8426// SetBotId sets the BotId field's value.
8427func (s *DescribeBotAliasInput) SetBotId(v string) *DescribeBotAliasInput {
8428	s.BotId = &v
8429	return s
8430}
8431
8432type DescribeBotAliasOutput struct {
8433	_ struct{} `type:"structure"`
8434
8435	// A list of events that affect a bot alias. For example, an event is recorded
8436	// when the version that the alias points to changes.
8437	BotAliasHistoryEvents []*BotAliasHistoryEvent `locationName:"botAliasHistoryEvents" type:"list"`
8438
8439	// The identifier of the bot alias.
8440	BotAliasId *string `locationName:"botAliasId" min:"10" type:"string"`
8441
8442	// The locale settings that are unique to the alias.
8443	BotAliasLocaleSettings map[string]*BotAliasLocaleSettings `locationName:"botAliasLocaleSettings" min:"1" type:"map"`
8444
8445	// The name of the bot alias.
8446	BotAliasName *string `locationName:"botAliasName" min:"1" type:"string"`
8447
8448	// The current status of the alias. When the alias is Available, the alias is
8449	// ready for use with your bot.
8450	BotAliasStatus *string `locationName:"botAliasStatus" type:"string" enum:"BotAliasStatus"`
8451
8452	// The identifier of the bot associated with the bot alias.
8453	BotId *string `locationName:"botId" min:"10" type:"string"`
8454
8455	// The version of the bot associated with the bot alias.
8456	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
8457
8458	// Specifics of how Amazon Lex logs text and audio conversations with the bot
8459	// associated with the alias.
8460	ConversationLogSettings *ConversationLogSettings `locationName:"conversationLogSettings" type:"structure"`
8461
8462	// A timestamp of the date and time that the alias was created.
8463	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
8464
8465	// The description of the bot alias.
8466	Description *string `locationName:"description" type:"string"`
8467
8468	// A timestamp of the date and time that the alias was last updated.
8469	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
8470
8471	// Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment
8472	// of user utterances.
8473	SentimentAnalysisSettings *SentimentAnalysisSettings `locationName:"sentimentAnalysisSettings" type:"structure"`
8474}
8475
8476// String returns the string representation
8477func (s DescribeBotAliasOutput) String() string {
8478	return awsutil.Prettify(s)
8479}
8480
8481// GoString returns the string representation
8482func (s DescribeBotAliasOutput) GoString() string {
8483	return s.String()
8484}
8485
8486// SetBotAliasHistoryEvents sets the BotAliasHistoryEvents field's value.
8487func (s *DescribeBotAliasOutput) SetBotAliasHistoryEvents(v []*BotAliasHistoryEvent) *DescribeBotAliasOutput {
8488	s.BotAliasHistoryEvents = v
8489	return s
8490}
8491
8492// SetBotAliasId sets the BotAliasId field's value.
8493func (s *DescribeBotAliasOutput) SetBotAliasId(v string) *DescribeBotAliasOutput {
8494	s.BotAliasId = &v
8495	return s
8496}
8497
8498// SetBotAliasLocaleSettings sets the BotAliasLocaleSettings field's value.
8499func (s *DescribeBotAliasOutput) SetBotAliasLocaleSettings(v map[string]*BotAliasLocaleSettings) *DescribeBotAliasOutput {
8500	s.BotAliasLocaleSettings = v
8501	return s
8502}
8503
8504// SetBotAliasName sets the BotAliasName field's value.
8505func (s *DescribeBotAliasOutput) SetBotAliasName(v string) *DescribeBotAliasOutput {
8506	s.BotAliasName = &v
8507	return s
8508}
8509
8510// SetBotAliasStatus sets the BotAliasStatus field's value.
8511func (s *DescribeBotAliasOutput) SetBotAliasStatus(v string) *DescribeBotAliasOutput {
8512	s.BotAliasStatus = &v
8513	return s
8514}
8515
8516// SetBotId sets the BotId field's value.
8517func (s *DescribeBotAliasOutput) SetBotId(v string) *DescribeBotAliasOutput {
8518	s.BotId = &v
8519	return s
8520}
8521
8522// SetBotVersion sets the BotVersion field's value.
8523func (s *DescribeBotAliasOutput) SetBotVersion(v string) *DescribeBotAliasOutput {
8524	s.BotVersion = &v
8525	return s
8526}
8527
8528// SetConversationLogSettings sets the ConversationLogSettings field's value.
8529func (s *DescribeBotAliasOutput) SetConversationLogSettings(v *ConversationLogSettings) *DescribeBotAliasOutput {
8530	s.ConversationLogSettings = v
8531	return s
8532}
8533
8534// SetCreationDateTime sets the CreationDateTime field's value.
8535func (s *DescribeBotAliasOutput) SetCreationDateTime(v time.Time) *DescribeBotAliasOutput {
8536	s.CreationDateTime = &v
8537	return s
8538}
8539
8540// SetDescription sets the Description field's value.
8541func (s *DescribeBotAliasOutput) SetDescription(v string) *DescribeBotAliasOutput {
8542	s.Description = &v
8543	return s
8544}
8545
8546// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
8547func (s *DescribeBotAliasOutput) SetLastUpdatedDateTime(v time.Time) *DescribeBotAliasOutput {
8548	s.LastUpdatedDateTime = &v
8549	return s
8550}
8551
8552// SetSentimentAnalysisSettings sets the SentimentAnalysisSettings field's value.
8553func (s *DescribeBotAliasOutput) SetSentimentAnalysisSettings(v *SentimentAnalysisSettings) *DescribeBotAliasOutput {
8554	s.SentimentAnalysisSettings = v
8555	return s
8556}
8557
8558type DescribeBotInput struct {
8559	_ struct{} `type:"structure"`
8560
8561	// The unique identifier of the bot to describe.
8562	//
8563	// BotId is a required field
8564	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
8565}
8566
8567// String returns the string representation
8568func (s DescribeBotInput) String() string {
8569	return awsutil.Prettify(s)
8570}
8571
8572// GoString returns the string representation
8573func (s DescribeBotInput) GoString() string {
8574	return s.String()
8575}
8576
8577// Validate inspects the fields of the type to determine if they are valid.
8578func (s *DescribeBotInput) Validate() error {
8579	invalidParams := request.ErrInvalidParams{Context: "DescribeBotInput"}
8580	if s.BotId == nil {
8581		invalidParams.Add(request.NewErrParamRequired("BotId"))
8582	}
8583	if s.BotId != nil && len(*s.BotId) < 10 {
8584		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
8585	}
8586
8587	if invalidParams.Len() > 0 {
8588		return invalidParams
8589	}
8590	return nil
8591}
8592
8593// SetBotId sets the BotId field's value.
8594func (s *DescribeBotInput) SetBotId(v string) *DescribeBotInput {
8595	s.BotId = &v
8596	return s
8597}
8598
8599type DescribeBotLocaleInput struct {
8600	_ struct{} `type:"structure"`
8601
8602	// The identifier of the bot associated with the locale.
8603	//
8604	// BotId is a required field
8605	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
8606
8607	// The identifier of the version of the bot associated with the locale.
8608	//
8609	// BotVersion is a required field
8610	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
8611
8612	// The unique identifier of the locale to describe. The string must match one
8613	// of the supported locales. For more information, see https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html
8614	// (https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html).
8615	//
8616	// LocaleId is a required field
8617	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
8618}
8619
8620// String returns the string representation
8621func (s DescribeBotLocaleInput) String() string {
8622	return awsutil.Prettify(s)
8623}
8624
8625// GoString returns the string representation
8626func (s DescribeBotLocaleInput) GoString() string {
8627	return s.String()
8628}
8629
8630// Validate inspects the fields of the type to determine if they are valid.
8631func (s *DescribeBotLocaleInput) Validate() error {
8632	invalidParams := request.ErrInvalidParams{Context: "DescribeBotLocaleInput"}
8633	if s.BotId == nil {
8634		invalidParams.Add(request.NewErrParamRequired("BotId"))
8635	}
8636	if s.BotId != nil && len(*s.BotId) < 10 {
8637		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
8638	}
8639	if s.BotVersion == nil {
8640		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
8641	}
8642	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
8643		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
8644	}
8645	if s.LocaleId == nil {
8646		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
8647	}
8648	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
8649		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
8650	}
8651
8652	if invalidParams.Len() > 0 {
8653		return invalidParams
8654	}
8655	return nil
8656}
8657
8658// SetBotId sets the BotId field's value.
8659func (s *DescribeBotLocaleInput) SetBotId(v string) *DescribeBotLocaleInput {
8660	s.BotId = &v
8661	return s
8662}
8663
8664// SetBotVersion sets the BotVersion field's value.
8665func (s *DescribeBotLocaleInput) SetBotVersion(v string) *DescribeBotLocaleInput {
8666	s.BotVersion = &v
8667	return s
8668}
8669
8670// SetLocaleId sets the LocaleId field's value.
8671func (s *DescribeBotLocaleInput) SetLocaleId(v string) *DescribeBotLocaleInput {
8672	s.LocaleId = &v
8673	return s
8674}
8675
8676type DescribeBotLocaleOutput struct {
8677	_ struct{} `type:"structure"`
8678
8679	// The identifier of the bot associated with the locale.
8680	BotId *string `locationName:"botId" min:"10" type:"string"`
8681
8682	// History of changes, such as when a locale is used in an alias, that have
8683	// taken place for the locale.
8684	BotLocaleHistoryEvents []*BotLocaleHistoryEvent `locationName:"botLocaleHistoryEvents" type:"list"`
8685
8686	// The status of the bot. If the status is Failed, the reasons for the failure
8687	// are listed in the failureReasons field.
8688	BotLocaleStatus *string `locationName:"botLocaleStatus" type:"string" enum:"BotLocaleStatus"`
8689
8690	// The identifier of the version of the bot associated with the locale.
8691	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
8692
8693	// The date and time that the locale was created.
8694	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
8695
8696	// The description of the locale.
8697	Description *string `locationName:"description" type:"string"`
8698
8699	// if botLocaleStatus is Failed, Amazon Lex explains why it failed to build
8700	// the bot.
8701	FailureReasons []*string `locationName:"failureReasons" type:"list"`
8702
8703	// The number of intents defined for the locale.
8704	IntentsCount *int64 `locationName:"intentsCount" type:"integer"`
8705
8706	// The date and time that the locale was last submitted for building.
8707	LastBuildSubmittedDateTime *time.Time `locationName:"lastBuildSubmittedDateTime" type:"timestamp"`
8708
8709	// The date and time that the locale was last updated.
8710	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
8711
8712	// The unique identifier of the described locale.
8713	LocaleId *string `locationName:"localeId" type:"string"`
8714
8715	// The name of the locale.
8716	LocaleName *string `locationName:"localeName" type:"string"`
8717
8718	// The confidence threshold where Amazon Lex inserts the AMAZON.FallbackIntent
8719	// and AMAZON.KendraSearchIntent intents in the list of possible intents for
8720	// an utterance.
8721	NluIntentConfidenceThreshold *float64 `locationName:"nluIntentConfidenceThreshold" type:"double"`
8722
8723	// The number of slot types defined for the locale.
8724	SlotTypesCount *int64 `locationName:"slotTypesCount" type:"integer"`
8725
8726	// The Amazon Polly voice Amazon Lex uses for voice interaction with the user.
8727	VoiceSettings *VoiceSettings `locationName:"voiceSettings" type:"structure"`
8728}
8729
8730// String returns the string representation
8731func (s DescribeBotLocaleOutput) String() string {
8732	return awsutil.Prettify(s)
8733}
8734
8735// GoString returns the string representation
8736func (s DescribeBotLocaleOutput) GoString() string {
8737	return s.String()
8738}
8739
8740// SetBotId sets the BotId field's value.
8741func (s *DescribeBotLocaleOutput) SetBotId(v string) *DescribeBotLocaleOutput {
8742	s.BotId = &v
8743	return s
8744}
8745
8746// SetBotLocaleHistoryEvents sets the BotLocaleHistoryEvents field's value.
8747func (s *DescribeBotLocaleOutput) SetBotLocaleHistoryEvents(v []*BotLocaleHistoryEvent) *DescribeBotLocaleOutput {
8748	s.BotLocaleHistoryEvents = v
8749	return s
8750}
8751
8752// SetBotLocaleStatus sets the BotLocaleStatus field's value.
8753func (s *DescribeBotLocaleOutput) SetBotLocaleStatus(v string) *DescribeBotLocaleOutput {
8754	s.BotLocaleStatus = &v
8755	return s
8756}
8757
8758// SetBotVersion sets the BotVersion field's value.
8759func (s *DescribeBotLocaleOutput) SetBotVersion(v string) *DescribeBotLocaleOutput {
8760	s.BotVersion = &v
8761	return s
8762}
8763
8764// SetCreationDateTime sets the CreationDateTime field's value.
8765func (s *DescribeBotLocaleOutput) SetCreationDateTime(v time.Time) *DescribeBotLocaleOutput {
8766	s.CreationDateTime = &v
8767	return s
8768}
8769
8770// SetDescription sets the Description field's value.
8771func (s *DescribeBotLocaleOutput) SetDescription(v string) *DescribeBotLocaleOutput {
8772	s.Description = &v
8773	return s
8774}
8775
8776// SetFailureReasons sets the FailureReasons field's value.
8777func (s *DescribeBotLocaleOutput) SetFailureReasons(v []*string) *DescribeBotLocaleOutput {
8778	s.FailureReasons = v
8779	return s
8780}
8781
8782// SetIntentsCount sets the IntentsCount field's value.
8783func (s *DescribeBotLocaleOutput) SetIntentsCount(v int64) *DescribeBotLocaleOutput {
8784	s.IntentsCount = &v
8785	return s
8786}
8787
8788// SetLastBuildSubmittedDateTime sets the LastBuildSubmittedDateTime field's value.
8789func (s *DescribeBotLocaleOutput) SetLastBuildSubmittedDateTime(v time.Time) *DescribeBotLocaleOutput {
8790	s.LastBuildSubmittedDateTime = &v
8791	return s
8792}
8793
8794// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
8795func (s *DescribeBotLocaleOutput) SetLastUpdatedDateTime(v time.Time) *DescribeBotLocaleOutput {
8796	s.LastUpdatedDateTime = &v
8797	return s
8798}
8799
8800// SetLocaleId sets the LocaleId field's value.
8801func (s *DescribeBotLocaleOutput) SetLocaleId(v string) *DescribeBotLocaleOutput {
8802	s.LocaleId = &v
8803	return s
8804}
8805
8806// SetLocaleName sets the LocaleName field's value.
8807func (s *DescribeBotLocaleOutput) SetLocaleName(v string) *DescribeBotLocaleOutput {
8808	s.LocaleName = &v
8809	return s
8810}
8811
8812// SetNluIntentConfidenceThreshold sets the NluIntentConfidenceThreshold field's value.
8813func (s *DescribeBotLocaleOutput) SetNluIntentConfidenceThreshold(v float64) *DescribeBotLocaleOutput {
8814	s.NluIntentConfidenceThreshold = &v
8815	return s
8816}
8817
8818// SetSlotTypesCount sets the SlotTypesCount field's value.
8819func (s *DescribeBotLocaleOutput) SetSlotTypesCount(v int64) *DescribeBotLocaleOutput {
8820	s.SlotTypesCount = &v
8821	return s
8822}
8823
8824// SetVoiceSettings sets the VoiceSettings field's value.
8825func (s *DescribeBotLocaleOutput) SetVoiceSettings(v *VoiceSettings) *DescribeBotLocaleOutput {
8826	s.VoiceSettings = v
8827	return s
8828}
8829
8830type DescribeBotOutput struct {
8831	_ struct{} `type:"structure"`
8832
8833	// The unique identifier of the bot.
8834	BotId *string `locationName:"botId" min:"10" type:"string"`
8835
8836	// The name of the bot.
8837	BotName *string `locationName:"botName" min:"1" type:"string"`
8838
8839	// The current status of the bot. When the status is Available the bot is ready
8840	// to be used in conversations with users.
8841	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
8842
8843	// A timestamp of the date and time that the bot was created.
8844	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
8845
8846	// Settings for managing data privacy of the bot and its conversations with
8847	// users.
8848	DataPrivacy *DataPrivacy `locationName:"dataPrivacy" type:"structure"`
8849
8850	// The description of the bot.
8851	Description *string `locationName:"description" type:"string"`
8852
8853	// The maximum time in seconds that Amazon Lex retains the data gathered in
8854	// a conversation.
8855	IdleSessionTTLInSeconds *int64 `locationName:"idleSessionTTLInSeconds" min:"60" type:"integer"`
8856
8857	// A timestamp of the date and time that the bot was last updated.
8858	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
8859
8860	// The Amazon Resource Name (ARN) of an IAM role that has permission to access
8861	// the bot.
8862	RoleArn *string `locationName:"roleArn" min:"32" type:"string"`
8863}
8864
8865// String returns the string representation
8866func (s DescribeBotOutput) String() string {
8867	return awsutil.Prettify(s)
8868}
8869
8870// GoString returns the string representation
8871func (s DescribeBotOutput) GoString() string {
8872	return s.String()
8873}
8874
8875// SetBotId sets the BotId field's value.
8876func (s *DescribeBotOutput) SetBotId(v string) *DescribeBotOutput {
8877	s.BotId = &v
8878	return s
8879}
8880
8881// SetBotName sets the BotName field's value.
8882func (s *DescribeBotOutput) SetBotName(v string) *DescribeBotOutput {
8883	s.BotName = &v
8884	return s
8885}
8886
8887// SetBotStatus sets the BotStatus field's value.
8888func (s *DescribeBotOutput) SetBotStatus(v string) *DescribeBotOutput {
8889	s.BotStatus = &v
8890	return s
8891}
8892
8893// SetCreationDateTime sets the CreationDateTime field's value.
8894func (s *DescribeBotOutput) SetCreationDateTime(v time.Time) *DescribeBotOutput {
8895	s.CreationDateTime = &v
8896	return s
8897}
8898
8899// SetDataPrivacy sets the DataPrivacy field's value.
8900func (s *DescribeBotOutput) SetDataPrivacy(v *DataPrivacy) *DescribeBotOutput {
8901	s.DataPrivacy = v
8902	return s
8903}
8904
8905// SetDescription sets the Description field's value.
8906func (s *DescribeBotOutput) SetDescription(v string) *DescribeBotOutput {
8907	s.Description = &v
8908	return s
8909}
8910
8911// SetIdleSessionTTLInSeconds sets the IdleSessionTTLInSeconds field's value.
8912func (s *DescribeBotOutput) SetIdleSessionTTLInSeconds(v int64) *DescribeBotOutput {
8913	s.IdleSessionTTLInSeconds = &v
8914	return s
8915}
8916
8917// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
8918func (s *DescribeBotOutput) SetLastUpdatedDateTime(v time.Time) *DescribeBotOutput {
8919	s.LastUpdatedDateTime = &v
8920	return s
8921}
8922
8923// SetRoleArn sets the RoleArn field's value.
8924func (s *DescribeBotOutput) SetRoleArn(v string) *DescribeBotOutput {
8925	s.RoleArn = &v
8926	return s
8927}
8928
8929type DescribeBotVersionInput struct {
8930	_ struct{} `type:"structure"`
8931
8932	// The identifier of the bot containing the version to return metadata for.
8933	//
8934	// BotId is a required field
8935	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
8936
8937	// The version of the bot to return metadata for.
8938	//
8939	// BotVersion is a required field
8940	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
8941}
8942
8943// String returns the string representation
8944func (s DescribeBotVersionInput) String() string {
8945	return awsutil.Prettify(s)
8946}
8947
8948// GoString returns the string representation
8949func (s DescribeBotVersionInput) GoString() string {
8950	return s.String()
8951}
8952
8953// Validate inspects the fields of the type to determine if they are valid.
8954func (s *DescribeBotVersionInput) Validate() error {
8955	invalidParams := request.ErrInvalidParams{Context: "DescribeBotVersionInput"}
8956	if s.BotId == nil {
8957		invalidParams.Add(request.NewErrParamRequired("BotId"))
8958	}
8959	if s.BotId != nil && len(*s.BotId) < 10 {
8960		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
8961	}
8962	if s.BotVersion == nil {
8963		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
8964	}
8965	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
8966		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
8967	}
8968
8969	if invalidParams.Len() > 0 {
8970		return invalidParams
8971	}
8972	return nil
8973}
8974
8975// SetBotId sets the BotId field's value.
8976func (s *DescribeBotVersionInput) SetBotId(v string) *DescribeBotVersionInput {
8977	s.BotId = &v
8978	return s
8979}
8980
8981// SetBotVersion sets the BotVersion field's value.
8982func (s *DescribeBotVersionInput) SetBotVersion(v string) *DescribeBotVersionInput {
8983	s.BotVersion = &v
8984	return s
8985}
8986
8987type DescribeBotVersionOutput struct {
8988	_ struct{} `type:"structure"`
8989
8990	// The identifier of the bot that contains the version.
8991	BotId *string `locationName:"botId" min:"10" type:"string"`
8992
8993	// The name of the bot that contains the version.
8994	BotName *string `locationName:"botName" min:"1" type:"string"`
8995
8996	// The current status of the bot. When the status is Available, the bot version
8997	// is ready for use.
8998	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
8999
9000	// The version of the bot to describe.
9001	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
9002
9003	// A timestamp of the date and time that the bot version was created.
9004	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
9005
9006	// Data privacy settings for the bot version.
9007	DataPrivacy *DataPrivacy `locationName:"dataPrivacy" type:"structure"`
9008
9009	// The description specified for the bot.
9010	Description *string `locationName:"description" type:"string"`
9011
9012	// If the botStatus is Failed, this contains a list of reasons that the version
9013	// couldn't be built.
9014	FailureReasons []*string `locationName:"failureReasons" type:"list"`
9015
9016	// The number of seconds that a session with the bot remains active before it
9017	// is discarded by Amazon Lex.
9018	IdleSessionTTLInSeconds *int64 `locationName:"idleSessionTTLInSeconds" min:"60" type:"integer"`
9019
9020	// The Amazon Resource Name (ARN) of an IAM role that has permission to access
9021	// the bot version.
9022	RoleArn *string `locationName:"roleArn" min:"32" type:"string"`
9023}
9024
9025// String returns the string representation
9026func (s DescribeBotVersionOutput) String() string {
9027	return awsutil.Prettify(s)
9028}
9029
9030// GoString returns the string representation
9031func (s DescribeBotVersionOutput) GoString() string {
9032	return s.String()
9033}
9034
9035// SetBotId sets the BotId field's value.
9036func (s *DescribeBotVersionOutput) SetBotId(v string) *DescribeBotVersionOutput {
9037	s.BotId = &v
9038	return s
9039}
9040
9041// SetBotName sets the BotName field's value.
9042func (s *DescribeBotVersionOutput) SetBotName(v string) *DescribeBotVersionOutput {
9043	s.BotName = &v
9044	return s
9045}
9046
9047// SetBotStatus sets the BotStatus field's value.
9048func (s *DescribeBotVersionOutput) SetBotStatus(v string) *DescribeBotVersionOutput {
9049	s.BotStatus = &v
9050	return s
9051}
9052
9053// SetBotVersion sets the BotVersion field's value.
9054func (s *DescribeBotVersionOutput) SetBotVersion(v string) *DescribeBotVersionOutput {
9055	s.BotVersion = &v
9056	return s
9057}
9058
9059// SetCreationDateTime sets the CreationDateTime field's value.
9060func (s *DescribeBotVersionOutput) SetCreationDateTime(v time.Time) *DescribeBotVersionOutput {
9061	s.CreationDateTime = &v
9062	return s
9063}
9064
9065// SetDataPrivacy sets the DataPrivacy field's value.
9066func (s *DescribeBotVersionOutput) SetDataPrivacy(v *DataPrivacy) *DescribeBotVersionOutput {
9067	s.DataPrivacy = v
9068	return s
9069}
9070
9071// SetDescription sets the Description field's value.
9072func (s *DescribeBotVersionOutput) SetDescription(v string) *DescribeBotVersionOutput {
9073	s.Description = &v
9074	return s
9075}
9076
9077// SetFailureReasons sets the FailureReasons field's value.
9078func (s *DescribeBotVersionOutput) SetFailureReasons(v []*string) *DescribeBotVersionOutput {
9079	s.FailureReasons = v
9080	return s
9081}
9082
9083// SetIdleSessionTTLInSeconds sets the IdleSessionTTLInSeconds field's value.
9084func (s *DescribeBotVersionOutput) SetIdleSessionTTLInSeconds(v int64) *DescribeBotVersionOutput {
9085	s.IdleSessionTTLInSeconds = &v
9086	return s
9087}
9088
9089// SetRoleArn sets the RoleArn field's value.
9090func (s *DescribeBotVersionOutput) SetRoleArn(v string) *DescribeBotVersionOutput {
9091	s.RoleArn = &v
9092	return s
9093}
9094
9095type DescribeIntentInput struct {
9096	_ struct{} `type:"structure"`
9097
9098	// The identifier of the bot associated with the intent.
9099	//
9100	// BotId is a required field
9101	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
9102
9103	// The version of the bot associated with the intent.
9104	//
9105	// BotVersion is a required field
9106	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
9107
9108	// The identifier of the intent to describe.
9109	//
9110	// IntentId is a required field
9111	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
9112
9113	// The identifier of the language and locale of the intent to describe. The
9114	// string must match one of the supported locales. For more information, see
9115	// https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html (https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html).
9116	//
9117	// LocaleId is a required field
9118	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
9119}
9120
9121// String returns the string representation
9122func (s DescribeIntentInput) String() string {
9123	return awsutil.Prettify(s)
9124}
9125
9126// GoString returns the string representation
9127func (s DescribeIntentInput) GoString() string {
9128	return s.String()
9129}
9130
9131// Validate inspects the fields of the type to determine if they are valid.
9132func (s *DescribeIntentInput) Validate() error {
9133	invalidParams := request.ErrInvalidParams{Context: "DescribeIntentInput"}
9134	if s.BotId == nil {
9135		invalidParams.Add(request.NewErrParamRequired("BotId"))
9136	}
9137	if s.BotId != nil && len(*s.BotId) < 10 {
9138		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
9139	}
9140	if s.BotVersion == nil {
9141		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
9142	}
9143	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
9144		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
9145	}
9146	if s.IntentId == nil {
9147		invalidParams.Add(request.NewErrParamRequired("IntentId"))
9148	}
9149	if s.IntentId != nil && len(*s.IntentId) < 10 {
9150		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
9151	}
9152	if s.LocaleId == nil {
9153		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
9154	}
9155	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
9156		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
9157	}
9158
9159	if invalidParams.Len() > 0 {
9160		return invalidParams
9161	}
9162	return nil
9163}
9164
9165// SetBotId sets the BotId field's value.
9166func (s *DescribeIntentInput) SetBotId(v string) *DescribeIntentInput {
9167	s.BotId = &v
9168	return s
9169}
9170
9171// SetBotVersion sets the BotVersion field's value.
9172func (s *DescribeIntentInput) SetBotVersion(v string) *DescribeIntentInput {
9173	s.BotVersion = &v
9174	return s
9175}
9176
9177// SetIntentId sets the IntentId field's value.
9178func (s *DescribeIntentInput) SetIntentId(v string) *DescribeIntentInput {
9179	s.IntentId = &v
9180	return s
9181}
9182
9183// SetLocaleId sets the LocaleId field's value.
9184func (s *DescribeIntentInput) SetLocaleId(v string) *DescribeIntentInput {
9185	s.LocaleId = &v
9186	return s
9187}
9188
9189type DescribeIntentOutput struct {
9190	_ struct{} `type:"structure"`
9191
9192	// The identifier of the bot associated with the intent.
9193	BotId *string `locationName:"botId" min:"10" type:"string"`
9194
9195	// The version of the bot associated with the intent.
9196	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
9197
9198	// A timestamp of the date and time that the intent was created.
9199	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
9200
9201	// The description of the intent.
9202	Description *string `locationName:"description" type:"string"`
9203
9204	// The Lambda function called during each turn of a conversation with the intent.
9205	DialogCodeHook *DialogCodeHookSettings `locationName:"dialogCodeHook" type:"structure"`
9206
9207	// The Lambda function called when the intent is complete and ready for fulfillment.
9208	FulfillmentCodeHook *FulfillmentCodeHookSettings `locationName:"fulfillmentCodeHook" type:"structure"`
9209
9210	// A list of contexts that must be active for the intent to be considered for
9211	// sending to the user.
9212	InputContexts []*InputContext `locationName:"inputContexts" type:"list"`
9213
9214	// The response that Amazon Lex sends to when the intent is closed.
9215	IntentClosingSetting *IntentClosingSetting `locationName:"intentClosingSetting" type:"structure"`
9216
9217	// Prompts that Amazon Lex sends to the user to confirm completion of an intent.
9218	IntentConfirmationSetting *IntentConfirmationSetting `locationName:"intentConfirmationSetting" type:"structure"`
9219
9220	// The unique identifier assigned to the intent when it was created.
9221	IntentId *string `locationName:"intentId" min:"10" type:"string"`
9222
9223	// The name specified for the intent.
9224	IntentName *string `locationName:"intentName" min:"1" type:"string"`
9225
9226	// Configuration information required to use the AMAZON.KendraSearchIntent intent.
9227	KendraConfiguration *KendraConfiguration `locationName:"kendraConfiguration" type:"structure"`
9228
9229	// A timestamp of the date and time that the intent was last updated.
9230	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
9231
9232	// The language and locale specified for the intent.
9233	LocaleId *string `locationName:"localeId" type:"string"`
9234
9235	// A list of contexts that are activated when the intent is fulfilled.
9236	OutputContexts []*OutputContext `locationName:"outputContexts" type:"list"`
9237
9238	// The identifier of the built-in intent that this intent is derived from, if
9239	// any.
9240	ParentIntentSignature *string `locationName:"parentIntentSignature" type:"string"`
9241
9242	// User utterances that trigger this intent.
9243	SampleUtterances []*SampleUtterance `locationName:"sampleUtterances" type:"list"`
9244
9245	// The list that determines the priority that slots should be elicited from
9246	// the user.
9247	SlotPriorities []*SlotPriority `locationName:"slotPriorities" type:"list"`
9248}
9249
9250// String returns the string representation
9251func (s DescribeIntentOutput) String() string {
9252	return awsutil.Prettify(s)
9253}
9254
9255// GoString returns the string representation
9256func (s DescribeIntentOutput) GoString() string {
9257	return s.String()
9258}
9259
9260// SetBotId sets the BotId field's value.
9261func (s *DescribeIntentOutput) SetBotId(v string) *DescribeIntentOutput {
9262	s.BotId = &v
9263	return s
9264}
9265
9266// SetBotVersion sets the BotVersion field's value.
9267func (s *DescribeIntentOutput) SetBotVersion(v string) *DescribeIntentOutput {
9268	s.BotVersion = &v
9269	return s
9270}
9271
9272// SetCreationDateTime sets the CreationDateTime field's value.
9273func (s *DescribeIntentOutput) SetCreationDateTime(v time.Time) *DescribeIntentOutput {
9274	s.CreationDateTime = &v
9275	return s
9276}
9277
9278// SetDescription sets the Description field's value.
9279func (s *DescribeIntentOutput) SetDescription(v string) *DescribeIntentOutput {
9280	s.Description = &v
9281	return s
9282}
9283
9284// SetDialogCodeHook sets the DialogCodeHook field's value.
9285func (s *DescribeIntentOutput) SetDialogCodeHook(v *DialogCodeHookSettings) *DescribeIntentOutput {
9286	s.DialogCodeHook = v
9287	return s
9288}
9289
9290// SetFulfillmentCodeHook sets the FulfillmentCodeHook field's value.
9291func (s *DescribeIntentOutput) SetFulfillmentCodeHook(v *FulfillmentCodeHookSettings) *DescribeIntentOutput {
9292	s.FulfillmentCodeHook = v
9293	return s
9294}
9295
9296// SetInputContexts sets the InputContexts field's value.
9297func (s *DescribeIntentOutput) SetInputContexts(v []*InputContext) *DescribeIntentOutput {
9298	s.InputContexts = v
9299	return s
9300}
9301
9302// SetIntentClosingSetting sets the IntentClosingSetting field's value.
9303func (s *DescribeIntentOutput) SetIntentClosingSetting(v *IntentClosingSetting) *DescribeIntentOutput {
9304	s.IntentClosingSetting = v
9305	return s
9306}
9307
9308// SetIntentConfirmationSetting sets the IntentConfirmationSetting field's value.
9309func (s *DescribeIntentOutput) SetIntentConfirmationSetting(v *IntentConfirmationSetting) *DescribeIntentOutput {
9310	s.IntentConfirmationSetting = v
9311	return s
9312}
9313
9314// SetIntentId sets the IntentId field's value.
9315func (s *DescribeIntentOutput) SetIntentId(v string) *DescribeIntentOutput {
9316	s.IntentId = &v
9317	return s
9318}
9319
9320// SetIntentName sets the IntentName field's value.
9321func (s *DescribeIntentOutput) SetIntentName(v string) *DescribeIntentOutput {
9322	s.IntentName = &v
9323	return s
9324}
9325
9326// SetKendraConfiguration sets the KendraConfiguration field's value.
9327func (s *DescribeIntentOutput) SetKendraConfiguration(v *KendraConfiguration) *DescribeIntentOutput {
9328	s.KendraConfiguration = v
9329	return s
9330}
9331
9332// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
9333func (s *DescribeIntentOutput) SetLastUpdatedDateTime(v time.Time) *DescribeIntentOutput {
9334	s.LastUpdatedDateTime = &v
9335	return s
9336}
9337
9338// SetLocaleId sets the LocaleId field's value.
9339func (s *DescribeIntentOutput) SetLocaleId(v string) *DescribeIntentOutput {
9340	s.LocaleId = &v
9341	return s
9342}
9343
9344// SetOutputContexts sets the OutputContexts field's value.
9345func (s *DescribeIntentOutput) SetOutputContexts(v []*OutputContext) *DescribeIntentOutput {
9346	s.OutputContexts = v
9347	return s
9348}
9349
9350// SetParentIntentSignature sets the ParentIntentSignature field's value.
9351func (s *DescribeIntentOutput) SetParentIntentSignature(v string) *DescribeIntentOutput {
9352	s.ParentIntentSignature = &v
9353	return s
9354}
9355
9356// SetSampleUtterances sets the SampleUtterances field's value.
9357func (s *DescribeIntentOutput) SetSampleUtterances(v []*SampleUtterance) *DescribeIntentOutput {
9358	s.SampleUtterances = v
9359	return s
9360}
9361
9362// SetSlotPriorities sets the SlotPriorities field's value.
9363func (s *DescribeIntentOutput) SetSlotPriorities(v []*SlotPriority) *DescribeIntentOutput {
9364	s.SlotPriorities = v
9365	return s
9366}
9367
9368type DescribeSlotInput struct {
9369	_ struct{} `type:"structure"`
9370
9371	// The identifier of the bot associated with the slot.
9372	//
9373	// BotId is a required field
9374	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
9375
9376	// The version of the bot associated with the slot.
9377	//
9378	// BotVersion is a required field
9379	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
9380
9381	// The identifier of the intent that contains the slot.
9382	//
9383	// IntentId is a required field
9384	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
9385
9386	// The identifier of the language and locale of the slot to describe. The string
9387	// must match one of the supported locales. For more information, see https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html
9388	// (https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html).
9389	//
9390	// LocaleId is a required field
9391	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
9392
9393	// The unique identifier for the slot.
9394	//
9395	// SlotId is a required field
9396	SlotId *string `location:"uri" locationName:"slotId" min:"10" type:"string" required:"true"`
9397}
9398
9399// String returns the string representation
9400func (s DescribeSlotInput) String() string {
9401	return awsutil.Prettify(s)
9402}
9403
9404// GoString returns the string representation
9405func (s DescribeSlotInput) GoString() string {
9406	return s.String()
9407}
9408
9409// Validate inspects the fields of the type to determine if they are valid.
9410func (s *DescribeSlotInput) Validate() error {
9411	invalidParams := request.ErrInvalidParams{Context: "DescribeSlotInput"}
9412	if s.BotId == nil {
9413		invalidParams.Add(request.NewErrParamRequired("BotId"))
9414	}
9415	if s.BotId != nil && len(*s.BotId) < 10 {
9416		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
9417	}
9418	if s.BotVersion == nil {
9419		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
9420	}
9421	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
9422		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
9423	}
9424	if s.IntentId == nil {
9425		invalidParams.Add(request.NewErrParamRequired("IntentId"))
9426	}
9427	if s.IntentId != nil && len(*s.IntentId) < 10 {
9428		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
9429	}
9430	if s.LocaleId == nil {
9431		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
9432	}
9433	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
9434		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
9435	}
9436	if s.SlotId == nil {
9437		invalidParams.Add(request.NewErrParamRequired("SlotId"))
9438	}
9439	if s.SlotId != nil && len(*s.SlotId) < 10 {
9440		invalidParams.Add(request.NewErrParamMinLen("SlotId", 10))
9441	}
9442
9443	if invalidParams.Len() > 0 {
9444		return invalidParams
9445	}
9446	return nil
9447}
9448
9449// SetBotId sets the BotId field's value.
9450func (s *DescribeSlotInput) SetBotId(v string) *DescribeSlotInput {
9451	s.BotId = &v
9452	return s
9453}
9454
9455// SetBotVersion sets the BotVersion field's value.
9456func (s *DescribeSlotInput) SetBotVersion(v string) *DescribeSlotInput {
9457	s.BotVersion = &v
9458	return s
9459}
9460
9461// SetIntentId sets the IntentId field's value.
9462func (s *DescribeSlotInput) SetIntentId(v string) *DescribeSlotInput {
9463	s.IntentId = &v
9464	return s
9465}
9466
9467// SetLocaleId sets the LocaleId field's value.
9468func (s *DescribeSlotInput) SetLocaleId(v string) *DescribeSlotInput {
9469	s.LocaleId = &v
9470	return s
9471}
9472
9473// SetSlotId sets the SlotId field's value.
9474func (s *DescribeSlotInput) SetSlotId(v string) *DescribeSlotInput {
9475	s.SlotId = &v
9476	return s
9477}
9478
9479type DescribeSlotOutput struct {
9480	_ struct{} `type:"structure"`
9481
9482	// The identifier of the bot associated with the slot.
9483	BotId *string `locationName:"botId" min:"10" type:"string"`
9484
9485	// The version of the bot associated with the slot.
9486	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
9487
9488	// A timestamp of the date and time that the slot was created.
9489	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
9490
9491	// The description specified for the slot.
9492	Description *string `locationName:"description" type:"string"`
9493
9494	// The identifier of the intent associated with the slot.
9495	IntentId *string `locationName:"intentId" min:"10" type:"string"`
9496
9497	// A timestamp of the date and time that the slot was last updated.
9498	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
9499
9500	// The language and locale specified for the slot.
9501	LocaleId *string `locationName:"localeId" type:"string"`
9502
9503	// Whether slot values are shown in Amazon CloudWatch logs. If the value is
9504	// None, the actual value of the slot is shown in logs.
9505	ObfuscationSetting *ObfuscationSetting `locationName:"obfuscationSetting" type:"structure"`
9506
9507	// The unique identifier generated for the slot.
9508	SlotId *string `locationName:"slotId" min:"10" type:"string"`
9509
9510	// The name specified for the slot.
9511	SlotName *string `locationName:"slotName" min:"1" type:"string"`
9512
9513	// The identifier of the slot type that determines the values entered into the
9514	// slot.
9515	SlotTypeId *string `locationName:"slotTypeId" min:"1" type:"string"`
9516
9517	// Prompts that Amazon Lex uses to elicit a value for the slot.
9518	ValueElicitationSetting *SlotValueElicitationSetting `locationName:"valueElicitationSetting" type:"structure"`
9519}
9520
9521// String returns the string representation
9522func (s DescribeSlotOutput) String() string {
9523	return awsutil.Prettify(s)
9524}
9525
9526// GoString returns the string representation
9527func (s DescribeSlotOutput) GoString() string {
9528	return s.String()
9529}
9530
9531// SetBotId sets the BotId field's value.
9532func (s *DescribeSlotOutput) SetBotId(v string) *DescribeSlotOutput {
9533	s.BotId = &v
9534	return s
9535}
9536
9537// SetBotVersion sets the BotVersion field's value.
9538func (s *DescribeSlotOutput) SetBotVersion(v string) *DescribeSlotOutput {
9539	s.BotVersion = &v
9540	return s
9541}
9542
9543// SetCreationDateTime sets the CreationDateTime field's value.
9544func (s *DescribeSlotOutput) SetCreationDateTime(v time.Time) *DescribeSlotOutput {
9545	s.CreationDateTime = &v
9546	return s
9547}
9548
9549// SetDescription sets the Description field's value.
9550func (s *DescribeSlotOutput) SetDescription(v string) *DescribeSlotOutput {
9551	s.Description = &v
9552	return s
9553}
9554
9555// SetIntentId sets the IntentId field's value.
9556func (s *DescribeSlotOutput) SetIntentId(v string) *DescribeSlotOutput {
9557	s.IntentId = &v
9558	return s
9559}
9560
9561// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
9562func (s *DescribeSlotOutput) SetLastUpdatedDateTime(v time.Time) *DescribeSlotOutput {
9563	s.LastUpdatedDateTime = &v
9564	return s
9565}
9566
9567// SetLocaleId sets the LocaleId field's value.
9568func (s *DescribeSlotOutput) SetLocaleId(v string) *DescribeSlotOutput {
9569	s.LocaleId = &v
9570	return s
9571}
9572
9573// SetObfuscationSetting sets the ObfuscationSetting field's value.
9574func (s *DescribeSlotOutput) SetObfuscationSetting(v *ObfuscationSetting) *DescribeSlotOutput {
9575	s.ObfuscationSetting = v
9576	return s
9577}
9578
9579// SetSlotId sets the SlotId field's value.
9580func (s *DescribeSlotOutput) SetSlotId(v string) *DescribeSlotOutput {
9581	s.SlotId = &v
9582	return s
9583}
9584
9585// SetSlotName sets the SlotName field's value.
9586func (s *DescribeSlotOutput) SetSlotName(v string) *DescribeSlotOutput {
9587	s.SlotName = &v
9588	return s
9589}
9590
9591// SetSlotTypeId sets the SlotTypeId field's value.
9592func (s *DescribeSlotOutput) SetSlotTypeId(v string) *DescribeSlotOutput {
9593	s.SlotTypeId = &v
9594	return s
9595}
9596
9597// SetValueElicitationSetting sets the ValueElicitationSetting field's value.
9598func (s *DescribeSlotOutput) SetValueElicitationSetting(v *SlotValueElicitationSetting) *DescribeSlotOutput {
9599	s.ValueElicitationSetting = v
9600	return s
9601}
9602
9603type DescribeSlotTypeInput struct {
9604	_ struct{} `type:"structure"`
9605
9606	// The identifier of the bot associated with the slot type.
9607	//
9608	// BotId is a required field
9609	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
9610
9611	// The version of the bot associated with the slot type.
9612	//
9613	// BotVersion is a required field
9614	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
9615
9616	// The identifier of the language and locale of the slot type to describe. The
9617	// string must match one of the supported locales. For more information, see
9618	// https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html (https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html).
9619	//
9620	// LocaleId is a required field
9621	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
9622
9623	// The identifier of the slot type.
9624	//
9625	// SlotTypeId is a required field
9626	SlotTypeId *string `location:"uri" locationName:"slotTypeId" min:"10" type:"string" required:"true"`
9627}
9628
9629// String returns the string representation
9630func (s DescribeSlotTypeInput) String() string {
9631	return awsutil.Prettify(s)
9632}
9633
9634// GoString returns the string representation
9635func (s DescribeSlotTypeInput) GoString() string {
9636	return s.String()
9637}
9638
9639// Validate inspects the fields of the type to determine if they are valid.
9640func (s *DescribeSlotTypeInput) Validate() error {
9641	invalidParams := request.ErrInvalidParams{Context: "DescribeSlotTypeInput"}
9642	if s.BotId == nil {
9643		invalidParams.Add(request.NewErrParamRequired("BotId"))
9644	}
9645	if s.BotId != nil && len(*s.BotId) < 10 {
9646		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
9647	}
9648	if s.BotVersion == nil {
9649		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
9650	}
9651	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
9652		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
9653	}
9654	if s.LocaleId == nil {
9655		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
9656	}
9657	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
9658		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
9659	}
9660	if s.SlotTypeId == nil {
9661		invalidParams.Add(request.NewErrParamRequired("SlotTypeId"))
9662	}
9663	if s.SlotTypeId != nil && len(*s.SlotTypeId) < 10 {
9664		invalidParams.Add(request.NewErrParamMinLen("SlotTypeId", 10))
9665	}
9666
9667	if invalidParams.Len() > 0 {
9668		return invalidParams
9669	}
9670	return nil
9671}
9672
9673// SetBotId sets the BotId field's value.
9674func (s *DescribeSlotTypeInput) SetBotId(v string) *DescribeSlotTypeInput {
9675	s.BotId = &v
9676	return s
9677}
9678
9679// SetBotVersion sets the BotVersion field's value.
9680func (s *DescribeSlotTypeInput) SetBotVersion(v string) *DescribeSlotTypeInput {
9681	s.BotVersion = &v
9682	return s
9683}
9684
9685// SetLocaleId sets the LocaleId field's value.
9686func (s *DescribeSlotTypeInput) SetLocaleId(v string) *DescribeSlotTypeInput {
9687	s.LocaleId = &v
9688	return s
9689}
9690
9691// SetSlotTypeId sets the SlotTypeId field's value.
9692func (s *DescribeSlotTypeInput) SetSlotTypeId(v string) *DescribeSlotTypeInput {
9693	s.SlotTypeId = &v
9694	return s
9695}
9696
9697type DescribeSlotTypeOutput struct {
9698	_ struct{} `type:"structure"`
9699
9700	// The identifier of 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:"1" 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	// A timestamp of the date and time that the slot type was last updated.
9713	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
9714
9715	// The language and locale specified for the slot type.
9716	LocaleId *string `locationName:"localeId" type:"string"`
9717
9718	// The built in slot type used as a parent to this slot type.
9719	ParentSlotTypeSignature *string `locationName:"parentSlotTypeSignature" type:"string"`
9720
9721	// The unique identifier for the slot type.
9722	SlotTypeId *string `locationName:"slotTypeId" min:"10" type:"string"`
9723
9724	// The name specified for the slot type.
9725	SlotTypeName *string `locationName:"slotTypeName" min:"1" type:"string"`
9726
9727	// The values that the slot type can take. Includes any synonyms for the slot
9728	// type values.
9729	SlotTypeValues []*SlotTypeValue `locationName:"slotTypeValues" min:"1" type:"list"`
9730
9731	// The strategy that Amazon Lex uses to choose a value from a list of possible
9732	// values.
9733	ValueSelectionSetting *SlotValueSelectionSetting `locationName:"valueSelectionSetting" type:"structure"`
9734}
9735
9736// String returns the string representation
9737func (s DescribeSlotTypeOutput) String() string {
9738	return awsutil.Prettify(s)
9739}
9740
9741// GoString returns the string representation
9742func (s DescribeSlotTypeOutput) GoString() string {
9743	return s.String()
9744}
9745
9746// SetBotId sets the BotId field's value.
9747func (s *DescribeSlotTypeOutput) SetBotId(v string) *DescribeSlotTypeOutput {
9748	s.BotId = &v
9749	return s
9750}
9751
9752// SetBotVersion sets the BotVersion field's value.
9753func (s *DescribeSlotTypeOutput) SetBotVersion(v string) *DescribeSlotTypeOutput {
9754	s.BotVersion = &v
9755	return s
9756}
9757
9758// SetCreationDateTime sets the CreationDateTime field's value.
9759func (s *DescribeSlotTypeOutput) SetCreationDateTime(v time.Time) *DescribeSlotTypeOutput {
9760	s.CreationDateTime = &v
9761	return s
9762}
9763
9764// SetDescription sets the Description field's value.
9765func (s *DescribeSlotTypeOutput) SetDescription(v string) *DescribeSlotTypeOutput {
9766	s.Description = &v
9767	return s
9768}
9769
9770// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
9771func (s *DescribeSlotTypeOutput) SetLastUpdatedDateTime(v time.Time) *DescribeSlotTypeOutput {
9772	s.LastUpdatedDateTime = &v
9773	return s
9774}
9775
9776// SetLocaleId sets the LocaleId field's value.
9777func (s *DescribeSlotTypeOutput) SetLocaleId(v string) *DescribeSlotTypeOutput {
9778	s.LocaleId = &v
9779	return s
9780}
9781
9782// SetParentSlotTypeSignature sets the ParentSlotTypeSignature field's value.
9783func (s *DescribeSlotTypeOutput) SetParentSlotTypeSignature(v string) *DescribeSlotTypeOutput {
9784	s.ParentSlotTypeSignature = &v
9785	return s
9786}
9787
9788// SetSlotTypeId sets the SlotTypeId field's value.
9789func (s *DescribeSlotTypeOutput) SetSlotTypeId(v string) *DescribeSlotTypeOutput {
9790	s.SlotTypeId = &v
9791	return s
9792}
9793
9794// SetSlotTypeName sets the SlotTypeName field's value.
9795func (s *DescribeSlotTypeOutput) SetSlotTypeName(v string) *DescribeSlotTypeOutput {
9796	s.SlotTypeName = &v
9797	return s
9798}
9799
9800// SetSlotTypeValues sets the SlotTypeValues field's value.
9801func (s *DescribeSlotTypeOutput) SetSlotTypeValues(v []*SlotTypeValue) *DescribeSlotTypeOutput {
9802	s.SlotTypeValues = v
9803	return s
9804}
9805
9806// SetValueSelectionSetting sets the ValueSelectionSetting field's value.
9807func (s *DescribeSlotTypeOutput) SetValueSelectionSetting(v *SlotValueSelectionSetting) *DescribeSlotTypeOutput {
9808	s.ValueSelectionSetting = v
9809	return s
9810}
9811
9812// Settings that determine the Lambda function that Amazon Lex uses for processing
9813// user responses.
9814type DialogCodeHookSettings struct {
9815	_ struct{} `type:"structure"`
9816
9817	// Enables the dialog code hook so that it processes user requests.
9818	//
9819	// Enabled is a required field
9820	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
9821}
9822
9823// String returns the string representation
9824func (s DialogCodeHookSettings) String() string {
9825	return awsutil.Prettify(s)
9826}
9827
9828// GoString returns the string representation
9829func (s DialogCodeHookSettings) GoString() string {
9830	return s.String()
9831}
9832
9833// Validate inspects the fields of the type to determine if they are valid.
9834func (s *DialogCodeHookSettings) Validate() error {
9835	invalidParams := request.ErrInvalidParams{Context: "DialogCodeHookSettings"}
9836	if s.Enabled == nil {
9837		invalidParams.Add(request.NewErrParamRequired("Enabled"))
9838	}
9839
9840	if invalidParams.Len() > 0 {
9841		return invalidParams
9842	}
9843	return nil
9844}
9845
9846// SetEnabled sets the Enabled field's value.
9847func (s *DialogCodeHookSettings) SetEnabled(v bool) *DialogCodeHookSettings {
9848	s.Enabled = &v
9849	return s
9850}
9851
9852// Determines if a Lambda function should be invoked for a specific intent.
9853type FulfillmentCodeHookSettings struct {
9854	_ struct{} `type:"structure"`
9855
9856	// Indicates whether a Lambda function should be invoked to fulfill a specific
9857	// intent.
9858	//
9859	// Enabled is a required field
9860	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
9861}
9862
9863// String returns the string representation
9864func (s FulfillmentCodeHookSettings) String() string {
9865	return awsutil.Prettify(s)
9866}
9867
9868// GoString returns the string representation
9869func (s FulfillmentCodeHookSettings) GoString() string {
9870	return s.String()
9871}
9872
9873// Validate inspects the fields of the type to determine if they are valid.
9874func (s *FulfillmentCodeHookSettings) Validate() error {
9875	invalidParams := request.ErrInvalidParams{Context: "FulfillmentCodeHookSettings"}
9876	if s.Enabled == nil {
9877		invalidParams.Add(request.NewErrParamRequired("Enabled"))
9878	}
9879
9880	if invalidParams.Len() > 0 {
9881		return invalidParams
9882	}
9883	return nil
9884}
9885
9886// SetEnabled sets the Enabled field's value.
9887func (s *FulfillmentCodeHookSettings) SetEnabled(v bool) *FulfillmentCodeHookSettings {
9888	s.Enabled = &v
9889	return s
9890}
9891
9892// A card that is shown to the user by a messaging platform. You define the
9893// contents of the card, the card is displayed by the platform.
9894//
9895// When you use a response card, the response from the user is constrained to
9896// the text associated with a button on the card.
9897type ImageResponseCard struct {
9898	_ struct{} `type:"structure"`
9899
9900	// A list of buttons that should be displayed on the response card. The arrangement
9901	// of the buttons is determined by the platform that displays the button.
9902	Buttons []*Button `locationName:"buttons" type:"list"`
9903
9904	// The URL of an image to display on the response card. The image URL must be
9905	// publicly available so that the platform displaying the response card has
9906	// access to the image.
9907	ImageUrl *string `locationName:"imageUrl" min:"1" type:"string"`
9908
9909	// The subtitle to display on the response card. The format of the subtitle
9910	// is determined by the platform displaying the response card.
9911	Subtitle *string `locationName:"subtitle" min:"1" type:"string"`
9912
9913	// The title to display on the response card. The format of the title is determined
9914	// by the platform displaying the response card.
9915	//
9916	// Title is a required field
9917	Title *string `locationName:"title" min:"1" type:"string" required:"true"`
9918}
9919
9920// String returns the string representation
9921func (s ImageResponseCard) String() string {
9922	return awsutil.Prettify(s)
9923}
9924
9925// GoString returns the string representation
9926func (s ImageResponseCard) GoString() string {
9927	return s.String()
9928}
9929
9930// Validate inspects the fields of the type to determine if they are valid.
9931func (s *ImageResponseCard) Validate() error {
9932	invalidParams := request.ErrInvalidParams{Context: "ImageResponseCard"}
9933	if s.ImageUrl != nil && len(*s.ImageUrl) < 1 {
9934		invalidParams.Add(request.NewErrParamMinLen("ImageUrl", 1))
9935	}
9936	if s.Subtitle != nil && len(*s.Subtitle) < 1 {
9937		invalidParams.Add(request.NewErrParamMinLen("Subtitle", 1))
9938	}
9939	if s.Title == nil {
9940		invalidParams.Add(request.NewErrParamRequired("Title"))
9941	}
9942	if s.Title != nil && len(*s.Title) < 1 {
9943		invalidParams.Add(request.NewErrParamMinLen("Title", 1))
9944	}
9945	if s.Buttons != nil {
9946		for i, v := range s.Buttons {
9947			if v == nil {
9948				continue
9949			}
9950			if err := v.Validate(); err != nil {
9951				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Buttons", i), err.(request.ErrInvalidParams))
9952			}
9953		}
9954	}
9955
9956	if invalidParams.Len() > 0 {
9957		return invalidParams
9958	}
9959	return nil
9960}
9961
9962// SetButtons sets the Buttons field's value.
9963func (s *ImageResponseCard) SetButtons(v []*Button) *ImageResponseCard {
9964	s.Buttons = v
9965	return s
9966}
9967
9968// SetImageUrl sets the ImageUrl field's value.
9969func (s *ImageResponseCard) SetImageUrl(v string) *ImageResponseCard {
9970	s.ImageUrl = &v
9971	return s
9972}
9973
9974// SetSubtitle sets the Subtitle field's value.
9975func (s *ImageResponseCard) SetSubtitle(v string) *ImageResponseCard {
9976	s.Subtitle = &v
9977	return s
9978}
9979
9980// SetTitle sets the Title field's value.
9981func (s *ImageResponseCard) SetTitle(v string) *ImageResponseCard {
9982	s.Title = &v
9983	return s
9984}
9985
9986// The name of a context that must be active for an intent to be selected by
9987// Amazon Lex.
9988type InputContext struct {
9989	_ struct{} `type:"structure"`
9990
9991	// The name of the context.
9992	//
9993	// Name is a required field
9994	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
9995}
9996
9997// String returns the string representation
9998func (s InputContext) String() string {
9999	return awsutil.Prettify(s)
10000}
10001
10002// GoString returns the string representation
10003func (s InputContext) GoString() string {
10004	return s.String()
10005}
10006
10007// Validate inspects the fields of the type to determine if they are valid.
10008func (s *InputContext) Validate() error {
10009	invalidParams := request.ErrInvalidParams{Context: "InputContext"}
10010	if s.Name == nil {
10011		invalidParams.Add(request.NewErrParamRequired("Name"))
10012	}
10013	if s.Name != nil && len(*s.Name) < 1 {
10014		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10015	}
10016
10017	if invalidParams.Len() > 0 {
10018		return invalidParams
10019	}
10020	return nil
10021}
10022
10023// SetName sets the Name field's value.
10024func (s *InputContext) SetName(v string) *InputContext {
10025	s.Name = &v
10026	return s
10027}
10028
10029// Provides a statement the Amazon Lex conveys to the user when the intent is
10030// successfully fulfilled.
10031type IntentClosingSetting struct {
10032	_ struct{} `type:"structure"`
10033
10034	// The response that Amazon Lex sends to the user when the intent is complete.
10035	//
10036	// ClosingResponse is a required field
10037	ClosingResponse *ResponseSpecification `locationName:"closingResponse" type:"structure" required:"true"`
10038}
10039
10040// String returns the string representation
10041func (s IntentClosingSetting) String() string {
10042	return awsutil.Prettify(s)
10043}
10044
10045// GoString returns the string representation
10046func (s IntentClosingSetting) GoString() string {
10047	return s.String()
10048}
10049
10050// Validate inspects the fields of the type to determine if they are valid.
10051func (s *IntentClosingSetting) Validate() error {
10052	invalidParams := request.ErrInvalidParams{Context: "IntentClosingSetting"}
10053	if s.ClosingResponse == nil {
10054		invalidParams.Add(request.NewErrParamRequired("ClosingResponse"))
10055	}
10056	if s.ClosingResponse != nil {
10057		if err := s.ClosingResponse.Validate(); err != nil {
10058			invalidParams.AddNested("ClosingResponse", err.(request.ErrInvalidParams))
10059		}
10060	}
10061
10062	if invalidParams.Len() > 0 {
10063		return invalidParams
10064	}
10065	return nil
10066}
10067
10068// SetClosingResponse sets the ClosingResponse field's value.
10069func (s *IntentClosingSetting) SetClosingResponse(v *ResponseSpecification) *IntentClosingSetting {
10070	s.ClosingResponse = v
10071	return s
10072}
10073
10074// Provides a prompt for making sure that the user is ready for the intent to
10075// be fulfilled.
10076type IntentConfirmationSetting struct {
10077	_ struct{} `type:"structure"`
10078
10079	// When the user answers "no" to the question defined in promptSpecification,
10080	// Amazon Lex responds with this response to acknowledge that the intent was
10081	// canceled.
10082	//
10083	// DeclinationResponse is a required field
10084	DeclinationResponse *ResponseSpecification `locationName:"declinationResponse" type:"structure" required:"true"`
10085
10086	// Prompts the user to confirm the intent. This question should have a yes or
10087	// no answer.
10088	//
10089	// Amazon Lex uses this prompt to ensure that the user acknowledges that the
10090	// intent is ready for fulfillment. For example, with the OrderPizza intent,
10091	// you might want to confirm that the order is correct before placing it. For
10092	// other intents, such as intents that simply respond to user questions, you
10093	// might not need to ask the user for confirmation before providing the information.
10094	//
10095	// PromptSpecification is a required field
10096	PromptSpecification *PromptSpecification `locationName:"promptSpecification" type:"structure" required:"true"`
10097}
10098
10099// String returns the string representation
10100func (s IntentConfirmationSetting) String() string {
10101	return awsutil.Prettify(s)
10102}
10103
10104// GoString returns the string representation
10105func (s IntentConfirmationSetting) GoString() string {
10106	return s.String()
10107}
10108
10109// Validate inspects the fields of the type to determine if they are valid.
10110func (s *IntentConfirmationSetting) Validate() error {
10111	invalidParams := request.ErrInvalidParams{Context: "IntentConfirmationSetting"}
10112	if s.DeclinationResponse == nil {
10113		invalidParams.Add(request.NewErrParamRequired("DeclinationResponse"))
10114	}
10115	if s.PromptSpecification == nil {
10116		invalidParams.Add(request.NewErrParamRequired("PromptSpecification"))
10117	}
10118	if s.DeclinationResponse != nil {
10119		if err := s.DeclinationResponse.Validate(); err != nil {
10120			invalidParams.AddNested("DeclinationResponse", err.(request.ErrInvalidParams))
10121		}
10122	}
10123	if s.PromptSpecification != nil {
10124		if err := s.PromptSpecification.Validate(); err != nil {
10125			invalidParams.AddNested("PromptSpecification", err.(request.ErrInvalidParams))
10126		}
10127	}
10128
10129	if invalidParams.Len() > 0 {
10130		return invalidParams
10131	}
10132	return nil
10133}
10134
10135// SetDeclinationResponse sets the DeclinationResponse field's value.
10136func (s *IntentConfirmationSetting) SetDeclinationResponse(v *ResponseSpecification) *IntentConfirmationSetting {
10137	s.DeclinationResponse = v
10138	return s
10139}
10140
10141// SetPromptSpecification sets the PromptSpecification field's value.
10142func (s *IntentConfirmationSetting) SetPromptSpecification(v *PromptSpecification) *IntentConfirmationSetting {
10143	s.PromptSpecification = v
10144	return s
10145}
10146
10147// Filters the response from the ListIntents operation.
10148type IntentFilter struct {
10149	_ struct{} `type:"structure"`
10150
10151	// The name of the field to use for the filter.
10152	//
10153	// Name is a required field
10154	Name *string `locationName:"name" type:"string" required:"true" enum:"IntentFilterName"`
10155
10156	// The operator to use for the filter. Specify EQ when the ListIntents operation
10157	// should return only aliases that equal the specified value. Specify CO when
10158	// the ListIntents operation should return aliases that contain the specified
10159	// value.
10160	//
10161	// Operator is a required field
10162	Operator *string `locationName:"operator" type:"string" required:"true" enum:"IntentFilterOperator"`
10163
10164	// The value to use for the filter.
10165	//
10166	// Values is a required field
10167	Values []*string `locationName:"values" min:"1" type:"list" required:"true"`
10168}
10169
10170// String returns the string representation
10171func (s IntentFilter) String() string {
10172	return awsutil.Prettify(s)
10173}
10174
10175// GoString returns the string representation
10176func (s IntentFilter) GoString() string {
10177	return s.String()
10178}
10179
10180// Validate inspects the fields of the type to determine if they are valid.
10181func (s *IntentFilter) Validate() error {
10182	invalidParams := request.ErrInvalidParams{Context: "IntentFilter"}
10183	if s.Name == nil {
10184		invalidParams.Add(request.NewErrParamRequired("Name"))
10185	}
10186	if s.Operator == nil {
10187		invalidParams.Add(request.NewErrParamRequired("Operator"))
10188	}
10189	if s.Values == nil {
10190		invalidParams.Add(request.NewErrParamRequired("Values"))
10191	}
10192	if s.Values != nil && len(s.Values) < 1 {
10193		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
10194	}
10195
10196	if invalidParams.Len() > 0 {
10197		return invalidParams
10198	}
10199	return nil
10200}
10201
10202// SetName sets the Name field's value.
10203func (s *IntentFilter) SetName(v string) *IntentFilter {
10204	s.Name = &v
10205	return s
10206}
10207
10208// SetOperator sets the Operator field's value.
10209func (s *IntentFilter) SetOperator(v string) *IntentFilter {
10210	s.Operator = &v
10211	return s
10212}
10213
10214// SetValues sets the Values field's value.
10215func (s *IntentFilter) SetValues(v []*string) *IntentFilter {
10216	s.Values = v
10217	return s
10218}
10219
10220// Specifies attributes for sorting a list of intents.
10221type IntentSortBy struct {
10222	_ struct{} `type:"structure"`
10223
10224	// The attribute to use to sort the list of intents.
10225	//
10226	// Attribute is a required field
10227	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"IntentSortAttribute"`
10228
10229	// The order to sort the list. You can choose ascending or descending.
10230	//
10231	// Order is a required field
10232	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
10233}
10234
10235// String returns the string representation
10236func (s IntentSortBy) String() string {
10237	return awsutil.Prettify(s)
10238}
10239
10240// GoString returns the string representation
10241func (s IntentSortBy) GoString() string {
10242	return s.String()
10243}
10244
10245// Validate inspects the fields of the type to determine if they are valid.
10246func (s *IntentSortBy) Validate() error {
10247	invalidParams := request.ErrInvalidParams{Context: "IntentSortBy"}
10248	if s.Attribute == nil {
10249		invalidParams.Add(request.NewErrParamRequired("Attribute"))
10250	}
10251	if s.Order == nil {
10252		invalidParams.Add(request.NewErrParamRequired("Order"))
10253	}
10254
10255	if invalidParams.Len() > 0 {
10256		return invalidParams
10257	}
10258	return nil
10259}
10260
10261// SetAttribute sets the Attribute field's value.
10262func (s *IntentSortBy) SetAttribute(v string) *IntentSortBy {
10263	s.Attribute = &v
10264	return s
10265}
10266
10267// SetOrder sets the Order field's value.
10268func (s *IntentSortBy) SetOrder(v string) *IntentSortBy {
10269	s.Order = &v
10270	return s
10271}
10272
10273// Summary information about an intent returned by the ListIntents operation.
10274type IntentSummary struct {
10275	_ struct{} `type:"structure"`
10276
10277	// The description of the intent.
10278	Description *string `locationName:"description" type:"string"`
10279
10280	// The input contexts that must be active for this intent to be considered for
10281	// recognition.
10282	InputContexts []*InputContext `locationName:"inputContexts" type:"list"`
10283
10284	// The unique identifier assigned to the intent. Use this ID to get detailed
10285	// information about the intent with the DescribeIntent operation.
10286	IntentId *string `locationName:"intentId" min:"10" type:"string"`
10287
10288	// The name of the intent.
10289	IntentName *string `locationName:"intentName" min:"1" type:"string"`
10290
10291	// The timestamp of the date and time that the intent was last updated.
10292	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
10293
10294	// The output contexts that are activated when this intent is fulfilled.
10295	OutputContexts []*OutputContext `locationName:"outputContexts" type:"list"`
10296
10297	// If this intent is derived from a built-in intent, the name of the parent
10298	// intent.
10299	ParentIntentSignature *string `locationName:"parentIntentSignature" type:"string"`
10300}
10301
10302// String returns the string representation
10303func (s IntentSummary) String() string {
10304	return awsutil.Prettify(s)
10305}
10306
10307// GoString returns the string representation
10308func (s IntentSummary) GoString() string {
10309	return s.String()
10310}
10311
10312// SetDescription sets the Description field's value.
10313func (s *IntentSummary) SetDescription(v string) *IntentSummary {
10314	s.Description = &v
10315	return s
10316}
10317
10318// SetInputContexts sets the InputContexts field's value.
10319func (s *IntentSummary) SetInputContexts(v []*InputContext) *IntentSummary {
10320	s.InputContexts = v
10321	return s
10322}
10323
10324// SetIntentId sets the IntentId field's value.
10325func (s *IntentSummary) SetIntentId(v string) *IntentSummary {
10326	s.IntentId = &v
10327	return s
10328}
10329
10330// SetIntentName sets the IntentName field's value.
10331func (s *IntentSummary) SetIntentName(v string) *IntentSummary {
10332	s.IntentName = &v
10333	return s
10334}
10335
10336// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
10337func (s *IntentSummary) SetLastUpdatedDateTime(v time.Time) *IntentSummary {
10338	s.LastUpdatedDateTime = &v
10339	return s
10340}
10341
10342// SetOutputContexts sets the OutputContexts field's value.
10343func (s *IntentSummary) SetOutputContexts(v []*OutputContext) *IntentSummary {
10344	s.OutputContexts = v
10345	return s
10346}
10347
10348// SetParentIntentSignature sets the ParentIntentSignature field's value.
10349func (s *IntentSummary) SetParentIntentSignature(v string) *IntentSummary {
10350	s.ParentIntentSignature = &v
10351	return s
10352}
10353
10354type InternalServerException struct {
10355	_            struct{}                  `type:"structure"`
10356	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10357
10358	Message_ *string `locationName:"message" type:"string"`
10359}
10360
10361// String returns the string representation
10362func (s InternalServerException) String() string {
10363	return awsutil.Prettify(s)
10364}
10365
10366// GoString returns the string representation
10367func (s InternalServerException) GoString() string {
10368	return s.String()
10369}
10370
10371func newErrorInternalServerException(v protocol.ResponseMetadata) error {
10372	return &InternalServerException{
10373		RespMetadata: v,
10374	}
10375}
10376
10377// Code returns the exception type name.
10378func (s *InternalServerException) Code() string {
10379	return "InternalServerException"
10380}
10381
10382// Message returns the exception's message.
10383func (s *InternalServerException) Message() string {
10384	if s.Message_ != nil {
10385		return *s.Message_
10386	}
10387	return ""
10388}
10389
10390// OrigErr always returns nil, satisfies awserr.Error interface.
10391func (s *InternalServerException) OrigErr() error {
10392	return nil
10393}
10394
10395func (s *InternalServerException) Error() string {
10396	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10397}
10398
10399// Status code returns the HTTP status code for the request's response error.
10400func (s *InternalServerException) StatusCode() int {
10401	return s.RespMetadata.StatusCode
10402}
10403
10404// RequestID returns the service's response RequestID for request.
10405func (s *InternalServerException) RequestID() string {
10406	return s.RespMetadata.RequestID
10407}
10408
10409// Provides configuration information for the AMAZON.KendraSearchIntent intent.
10410// When you use this intent, Amazon Lex searches the specified Amazon Kendra
10411// index and returns documents from the index that match the user's utterance.
10412type KendraConfiguration struct {
10413	_ struct{} `type:"structure"`
10414
10415	// The Amazon Resource Name (ARN) of the Amazon Kendra index that you want the
10416	// AMAZON.KendraSearchIntent intent to search. The index must be in the same
10417	// account and Region as the Amazon Lex bot.
10418	//
10419	// KendraIndex is a required field
10420	KendraIndex *string `locationName:"kendraIndex" min:"32" type:"string" required:"true"`
10421
10422	// A query filter that Amazon Lex sends to Amazon Kendra to filter the response
10423	// from a query. The filter is in the format defined by Amazon Kendra. For more
10424	// information, see Filtering queries (https://docs.aws.amazon.com/kendra/latest/dg/filtering.html).
10425	QueryFilterString *string `locationName:"queryFilterString" min:"1" type:"string"`
10426
10427	// Determines whether the AMAZON.KendraSearchIntent intent uses a custom query
10428	// string to query the Amazon Kendra index.
10429	QueryFilterStringEnabled *bool `locationName:"queryFilterStringEnabled" type:"boolean"`
10430}
10431
10432// String returns the string representation
10433func (s KendraConfiguration) String() string {
10434	return awsutil.Prettify(s)
10435}
10436
10437// GoString returns the string representation
10438func (s KendraConfiguration) GoString() string {
10439	return s.String()
10440}
10441
10442// Validate inspects the fields of the type to determine if they are valid.
10443func (s *KendraConfiguration) Validate() error {
10444	invalidParams := request.ErrInvalidParams{Context: "KendraConfiguration"}
10445	if s.KendraIndex == nil {
10446		invalidParams.Add(request.NewErrParamRequired("KendraIndex"))
10447	}
10448	if s.KendraIndex != nil && len(*s.KendraIndex) < 32 {
10449		invalidParams.Add(request.NewErrParamMinLen("KendraIndex", 32))
10450	}
10451	if s.QueryFilterString != nil && len(*s.QueryFilterString) < 1 {
10452		invalidParams.Add(request.NewErrParamMinLen("QueryFilterString", 1))
10453	}
10454
10455	if invalidParams.Len() > 0 {
10456		return invalidParams
10457	}
10458	return nil
10459}
10460
10461// SetKendraIndex sets the KendraIndex field's value.
10462func (s *KendraConfiguration) SetKendraIndex(v string) *KendraConfiguration {
10463	s.KendraIndex = &v
10464	return s
10465}
10466
10467// SetQueryFilterString sets the QueryFilterString field's value.
10468func (s *KendraConfiguration) SetQueryFilterString(v string) *KendraConfiguration {
10469	s.QueryFilterString = &v
10470	return s
10471}
10472
10473// SetQueryFilterStringEnabled sets the QueryFilterStringEnabled field's value.
10474func (s *KendraConfiguration) SetQueryFilterStringEnabled(v bool) *KendraConfiguration {
10475	s.QueryFilterStringEnabled = &v
10476	return s
10477}
10478
10479// Specifies a Lambda function that verifies requests to a bot or fulfilles
10480// the user's request to a bot.
10481type LambdaCodeHook struct {
10482	_ struct{} `type:"structure"`
10483
10484	// The version of the request-response that you want Amazon Lex to use to invoke
10485	// your Lambda function.
10486	//
10487	// CodeHookInterfaceVersion is a required field
10488	CodeHookInterfaceVersion *string `locationName:"codeHookInterfaceVersion" min:"1" type:"string" required:"true"`
10489
10490	// The Amazon Resource Name (ARN) of the Lambda function.
10491	//
10492	// LambdaARN is a required field
10493	LambdaARN *string `locationName:"lambdaARN" min:"20" type:"string" required:"true"`
10494}
10495
10496// String returns the string representation
10497func (s LambdaCodeHook) String() string {
10498	return awsutil.Prettify(s)
10499}
10500
10501// GoString returns the string representation
10502func (s LambdaCodeHook) GoString() string {
10503	return s.String()
10504}
10505
10506// Validate inspects the fields of the type to determine if they are valid.
10507func (s *LambdaCodeHook) Validate() error {
10508	invalidParams := request.ErrInvalidParams{Context: "LambdaCodeHook"}
10509	if s.CodeHookInterfaceVersion == nil {
10510		invalidParams.Add(request.NewErrParamRequired("CodeHookInterfaceVersion"))
10511	}
10512	if s.CodeHookInterfaceVersion != nil && len(*s.CodeHookInterfaceVersion) < 1 {
10513		invalidParams.Add(request.NewErrParamMinLen("CodeHookInterfaceVersion", 1))
10514	}
10515	if s.LambdaARN == nil {
10516		invalidParams.Add(request.NewErrParamRequired("LambdaARN"))
10517	}
10518	if s.LambdaARN != nil && len(*s.LambdaARN) < 20 {
10519		invalidParams.Add(request.NewErrParamMinLen("LambdaARN", 20))
10520	}
10521
10522	if invalidParams.Len() > 0 {
10523		return invalidParams
10524	}
10525	return nil
10526}
10527
10528// SetCodeHookInterfaceVersion sets the CodeHookInterfaceVersion field's value.
10529func (s *LambdaCodeHook) SetCodeHookInterfaceVersion(v string) *LambdaCodeHook {
10530	s.CodeHookInterfaceVersion = &v
10531	return s
10532}
10533
10534// SetLambdaARN sets the LambdaARN field's value.
10535func (s *LambdaCodeHook) SetLambdaARN(v string) *LambdaCodeHook {
10536	s.LambdaARN = &v
10537	return s
10538}
10539
10540type ListBotAliasesInput struct {
10541	_ struct{} `type:"structure"`
10542
10543	// The identifier of the bot to list aliases for.
10544	//
10545	// BotId is a required field
10546	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
10547
10548	// The maximum number of aliases to return in each page of results. If there
10549	// are fewer results than the max page size, only the actual number of results
10550	// are returned.
10551	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
10552
10553	// If the response from the ListBotAliases operation contains more results than
10554	// specified in the maxResults parameter, a token is returned in the response.
10555	// Use that token in the nextToken parameter to return the next page of results.
10556	NextToken *string `locationName:"nextToken" type:"string"`
10557}
10558
10559// String returns the string representation
10560func (s ListBotAliasesInput) String() string {
10561	return awsutil.Prettify(s)
10562}
10563
10564// GoString returns the string representation
10565func (s ListBotAliasesInput) GoString() string {
10566	return s.String()
10567}
10568
10569// Validate inspects the fields of the type to determine if they are valid.
10570func (s *ListBotAliasesInput) Validate() error {
10571	invalidParams := request.ErrInvalidParams{Context: "ListBotAliasesInput"}
10572	if s.BotId == nil {
10573		invalidParams.Add(request.NewErrParamRequired("BotId"))
10574	}
10575	if s.BotId != nil && len(*s.BotId) < 10 {
10576		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
10577	}
10578	if s.MaxResults != nil && *s.MaxResults < 1 {
10579		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10580	}
10581
10582	if invalidParams.Len() > 0 {
10583		return invalidParams
10584	}
10585	return nil
10586}
10587
10588// SetBotId sets the BotId field's value.
10589func (s *ListBotAliasesInput) SetBotId(v string) *ListBotAliasesInput {
10590	s.BotId = &v
10591	return s
10592}
10593
10594// SetMaxResults sets the MaxResults field's value.
10595func (s *ListBotAliasesInput) SetMaxResults(v int64) *ListBotAliasesInput {
10596	s.MaxResults = &v
10597	return s
10598}
10599
10600// SetNextToken sets the NextToken field's value.
10601func (s *ListBotAliasesInput) SetNextToken(v string) *ListBotAliasesInput {
10602	s.NextToken = &v
10603	return s
10604}
10605
10606type ListBotAliasesOutput struct {
10607	_ struct{} `type:"structure"`
10608
10609	// Summary information for the bot aliases that meet the filter criteria specified
10610	// in the request. The length of the list is specified in the maxResults parameter
10611	// of the request. If there are more aliases available, the nextToken field
10612	// contains a token to get the next page of results.
10613	BotAliasSummaries []*BotAliasSummary `locationName:"botAliasSummaries" type:"list"`
10614
10615	// The identifier of the bot associated with the aliases.
10616	BotId *string `locationName:"botId" min:"10" type:"string"`
10617
10618	// A token that indicates whether there are more results to return in a response
10619	// to the ListBotAliases operation. If the nextToken field is present, you send
10620	// the contents as the nextToken parameter of a ListBotAliases operation request
10621	// to get the next page of results.
10622	NextToken *string `locationName:"nextToken" type:"string"`
10623}
10624
10625// String returns the string representation
10626func (s ListBotAliasesOutput) String() string {
10627	return awsutil.Prettify(s)
10628}
10629
10630// GoString returns the string representation
10631func (s ListBotAliasesOutput) GoString() string {
10632	return s.String()
10633}
10634
10635// SetBotAliasSummaries sets the BotAliasSummaries field's value.
10636func (s *ListBotAliasesOutput) SetBotAliasSummaries(v []*BotAliasSummary) *ListBotAliasesOutput {
10637	s.BotAliasSummaries = v
10638	return s
10639}
10640
10641// SetBotId sets the BotId field's value.
10642func (s *ListBotAliasesOutput) SetBotId(v string) *ListBotAliasesOutput {
10643	s.BotId = &v
10644	return s
10645}
10646
10647// SetNextToken sets the NextToken field's value.
10648func (s *ListBotAliasesOutput) SetNextToken(v string) *ListBotAliasesOutput {
10649	s.NextToken = &v
10650	return s
10651}
10652
10653type ListBotLocalesInput struct {
10654	_ struct{} `type:"structure"`
10655
10656	// The identifier of the bot to list locales for.
10657	//
10658	// BotId is a required field
10659	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
10660
10661	// The version of the bot to list locales for.
10662	//
10663	// BotVersion is a required field
10664	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
10665
10666	// Provides the specification for a filter used to limit the response to only
10667	// those locales that match the filter specification. You can only specify one
10668	// filter and one value to filter on.
10669	Filters []*BotLocaleFilter `locationName:"filters" min:"1" type:"list"`
10670
10671	// The maximum number of aliases to return in each page of results. If there
10672	// are fewer results than the max page size, only the actual number of results
10673	// are returned.
10674	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
10675
10676	// If the response from the ListBotLocales operation contains more results than
10677	// specified in the maxResults parameter, a token is returned in the response.
10678	// Use that token as the nextToken parameter to return the next page of results.
10679	NextToken *string `locationName:"nextToken" type:"string"`
10680
10681	// Specifies sorting parameters for the list of locales. You can sort by locale
10682	// name in ascending or descending order.
10683	SortBy *BotLocaleSortBy `locationName:"sortBy" type:"structure"`
10684}
10685
10686// String returns the string representation
10687func (s ListBotLocalesInput) String() string {
10688	return awsutil.Prettify(s)
10689}
10690
10691// GoString returns the string representation
10692func (s ListBotLocalesInput) GoString() string {
10693	return s.String()
10694}
10695
10696// Validate inspects the fields of the type to determine if they are valid.
10697func (s *ListBotLocalesInput) Validate() error {
10698	invalidParams := request.ErrInvalidParams{Context: "ListBotLocalesInput"}
10699	if s.BotId == nil {
10700		invalidParams.Add(request.NewErrParamRequired("BotId"))
10701	}
10702	if s.BotId != nil && len(*s.BotId) < 10 {
10703		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
10704	}
10705	if s.BotVersion == nil {
10706		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
10707	}
10708	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
10709		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
10710	}
10711	if s.Filters != nil && len(s.Filters) < 1 {
10712		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
10713	}
10714	if s.MaxResults != nil && *s.MaxResults < 1 {
10715		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10716	}
10717	if s.Filters != nil {
10718		for i, v := range s.Filters {
10719			if v == nil {
10720				continue
10721			}
10722			if err := v.Validate(); err != nil {
10723				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
10724			}
10725		}
10726	}
10727	if s.SortBy != nil {
10728		if err := s.SortBy.Validate(); err != nil {
10729			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
10730		}
10731	}
10732
10733	if invalidParams.Len() > 0 {
10734		return invalidParams
10735	}
10736	return nil
10737}
10738
10739// SetBotId sets the BotId field's value.
10740func (s *ListBotLocalesInput) SetBotId(v string) *ListBotLocalesInput {
10741	s.BotId = &v
10742	return s
10743}
10744
10745// SetBotVersion sets the BotVersion field's value.
10746func (s *ListBotLocalesInput) SetBotVersion(v string) *ListBotLocalesInput {
10747	s.BotVersion = &v
10748	return s
10749}
10750
10751// SetFilters sets the Filters field's value.
10752func (s *ListBotLocalesInput) SetFilters(v []*BotLocaleFilter) *ListBotLocalesInput {
10753	s.Filters = v
10754	return s
10755}
10756
10757// SetMaxResults sets the MaxResults field's value.
10758func (s *ListBotLocalesInput) SetMaxResults(v int64) *ListBotLocalesInput {
10759	s.MaxResults = &v
10760	return s
10761}
10762
10763// SetNextToken sets the NextToken field's value.
10764func (s *ListBotLocalesInput) SetNextToken(v string) *ListBotLocalesInput {
10765	s.NextToken = &v
10766	return s
10767}
10768
10769// SetSortBy sets the SortBy field's value.
10770func (s *ListBotLocalesInput) SetSortBy(v *BotLocaleSortBy) *ListBotLocalesInput {
10771	s.SortBy = v
10772	return s
10773}
10774
10775type ListBotLocalesOutput struct {
10776	_ struct{} `type:"structure"`
10777
10778	// The identifier of the bot to list locales for.
10779	BotId *string `locationName:"botId" min:"10" type:"string"`
10780
10781	// Summary information for the locales that meet the filter criteria specified
10782	// in the request. The length of the list is specified in the maxResults parameter
10783	// of the request. If there are more locales available, the nextToken field
10784	// contains a token to get the next page of results.
10785	BotLocaleSummaries []*BotLocaleSummary `locationName:"botLocaleSummaries" type:"list"`
10786
10787	// The version of the bot.
10788	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
10789
10790	// A token that indicates whether there are more results to return in a response
10791	// to the ListBotLocales operation. If the nextToken field is present, you send
10792	// the contents as the nextToken parameter of a ListBotLocales operation request
10793	// to get the next page of results.
10794	NextToken *string `locationName:"nextToken" type:"string"`
10795}
10796
10797// String returns the string representation
10798func (s ListBotLocalesOutput) String() string {
10799	return awsutil.Prettify(s)
10800}
10801
10802// GoString returns the string representation
10803func (s ListBotLocalesOutput) GoString() string {
10804	return s.String()
10805}
10806
10807// SetBotId sets the BotId field's value.
10808func (s *ListBotLocalesOutput) SetBotId(v string) *ListBotLocalesOutput {
10809	s.BotId = &v
10810	return s
10811}
10812
10813// SetBotLocaleSummaries sets the BotLocaleSummaries field's value.
10814func (s *ListBotLocalesOutput) SetBotLocaleSummaries(v []*BotLocaleSummary) *ListBotLocalesOutput {
10815	s.BotLocaleSummaries = v
10816	return s
10817}
10818
10819// SetBotVersion sets the BotVersion field's value.
10820func (s *ListBotLocalesOutput) SetBotVersion(v string) *ListBotLocalesOutput {
10821	s.BotVersion = &v
10822	return s
10823}
10824
10825// SetNextToken sets the NextToken field's value.
10826func (s *ListBotLocalesOutput) SetNextToken(v string) *ListBotLocalesOutput {
10827	s.NextToken = &v
10828	return s
10829}
10830
10831type ListBotVersionsInput struct {
10832	_ struct{} `type:"structure"`
10833
10834	// The identifier of the bot to list versions for.
10835	//
10836	// BotId is a required field
10837	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
10838
10839	// The maximum number of versions to return in each page of results. If there
10840	// are fewer results than the max page size, only the actual number of results
10841	// are returned.
10842	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
10843
10844	// If the response to the ListBotVersion operation contains more results than
10845	// specified in the maxResults parameter, a token is returned in the response.
10846	// Use that token in the nextToken parameter to return the next page of results.
10847	NextToken *string `locationName:"nextToken" type:"string"`
10848
10849	// Specifies sorting parameters for the list of versions. You can specify that
10850	// the list be sorted by version name in either ascending or descending order.
10851	SortBy *BotVersionSortBy `locationName:"sortBy" type:"structure"`
10852}
10853
10854// String returns the string representation
10855func (s ListBotVersionsInput) String() string {
10856	return awsutil.Prettify(s)
10857}
10858
10859// GoString returns the string representation
10860func (s ListBotVersionsInput) GoString() string {
10861	return s.String()
10862}
10863
10864// Validate inspects the fields of the type to determine if they are valid.
10865func (s *ListBotVersionsInput) Validate() error {
10866	invalidParams := request.ErrInvalidParams{Context: "ListBotVersionsInput"}
10867	if s.BotId == nil {
10868		invalidParams.Add(request.NewErrParamRequired("BotId"))
10869	}
10870	if s.BotId != nil && len(*s.BotId) < 10 {
10871		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
10872	}
10873	if s.MaxResults != nil && *s.MaxResults < 1 {
10874		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10875	}
10876	if s.SortBy != nil {
10877		if err := s.SortBy.Validate(); err != nil {
10878			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
10879		}
10880	}
10881
10882	if invalidParams.Len() > 0 {
10883		return invalidParams
10884	}
10885	return nil
10886}
10887
10888// SetBotId sets the BotId field's value.
10889func (s *ListBotVersionsInput) SetBotId(v string) *ListBotVersionsInput {
10890	s.BotId = &v
10891	return s
10892}
10893
10894// SetMaxResults sets the MaxResults field's value.
10895func (s *ListBotVersionsInput) SetMaxResults(v int64) *ListBotVersionsInput {
10896	s.MaxResults = &v
10897	return s
10898}
10899
10900// SetNextToken sets the NextToken field's value.
10901func (s *ListBotVersionsInput) SetNextToken(v string) *ListBotVersionsInput {
10902	s.NextToken = &v
10903	return s
10904}
10905
10906// SetSortBy sets the SortBy field's value.
10907func (s *ListBotVersionsInput) SetSortBy(v *BotVersionSortBy) *ListBotVersionsInput {
10908	s.SortBy = v
10909	return s
10910}
10911
10912type ListBotVersionsOutput struct {
10913	_ struct{} `type:"structure"`
10914
10915	// The identifier of the bot to list versions for.
10916	BotId *string `locationName:"botId" min:"10" type:"string"`
10917
10918	// Summary information for the bot versions that meet the filter criteria specified
10919	// in the request. The length of the list is specified in the maxResults parameter
10920	// of the request. If there are more versions available, the nextToken field
10921	// contains a token to get the next page of results.
10922	BotVersionSummaries []*BotVersionSummary `locationName:"botVersionSummaries" type:"list"`
10923
10924	// A token that indicates whether there are more results to return in a response
10925	// to the ListBotVersions operation. If the nextToken field is present, you
10926	// send the contents as the nextToken parameter of a ListBotAliases operation
10927	// request to get the next page of results.
10928	NextToken *string `locationName:"nextToken" type:"string"`
10929}
10930
10931// String returns the string representation
10932func (s ListBotVersionsOutput) String() string {
10933	return awsutil.Prettify(s)
10934}
10935
10936// GoString returns the string representation
10937func (s ListBotVersionsOutput) GoString() string {
10938	return s.String()
10939}
10940
10941// SetBotId sets the BotId field's value.
10942func (s *ListBotVersionsOutput) SetBotId(v string) *ListBotVersionsOutput {
10943	s.BotId = &v
10944	return s
10945}
10946
10947// SetBotVersionSummaries sets the BotVersionSummaries field's value.
10948func (s *ListBotVersionsOutput) SetBotVersionSummaries(v []*BotVersionSummary) *ListBotVersionsOutput {
10949	s.BotVersionSummaries = v
10950	return s
10951}
10952
10953// SetNextToken sets the NextToken field's value.
10954func (s *ListBotVersionsOutput) SetNextToken(v string) *ListBotVersionsOutput {
10955	s.NextToken = &v
10956	return s
10957}
10958
10959type ListBotsInput struct {
10960	_ struct{} `type:"structure"`
10961
10962	// Provides the specification of a filter used to limit the bots in the response
10963	// to only those that match the filter specification. You can only specify one
10964	// filter and one string to filter on.
10965	Filters []*BotFilter `locationName:"filters" min:"1" type:"list"`
10966
10967	// The maximum number of bots to return in each page of results. If there are
10968	// fewer results than the maximum page size, only the actual number of results
10969	// are returned.
10970	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
10971
10972	// If the response from the ListBots operation contains more results than specified
10973	// in the maxResults parameter, a token is returned in the response. Use that
10974	// token in the nextToken parameter to return the next page of results.
10975	NextToken *string `locationName:"nextToken" type:"string"`
10976
10977	// Specifies sorting parameters for the list of bots. You can specify that the
10978	// list be sorted by bot name in ascending or descending order.
10979	SortBy *BotSortBy `locationName:"sortBy" type:"structure"`
10980}
10981
10982// String returns the string representation
10983func (s ListBotsInput) String() string {
10984	return awsutil.Prettify(s)
10985}
10986
10987// GoString returns the string representation
10988func (s ListBotsInput) GoString() string {
10989	return s.String()
10990}
10991
10992// Validate inspects the fields of the type to determine if they are valid.
10993func (s *ListBotsInput) Validate() error {
10994	invalidParams := request.ErrInvalidParams{Context: "ListBotsInput"}
10995	if s.Filters != nil && len(s.Filters) < 1 {
10996		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
10997	}
10998	if s.MaxResults != nil && *s.MaxResults < 1 {
10999		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11000	}
11001	if s.Filters != nil {
11002		for i, v := range s.Filters {
11003			if v == nil {
11004				continue
11005			}
11006			if err := v.Validate(); err != nil {
11007				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
11008			}
11009		}
11010	}
11011	if s.SortBy != nil {
11012		if err := s.SortBy.Validate(); err != nil {
11013			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
11014		}
11015	}
11016
11017	if invalidParams.Len() > 0 {
11018		return invalidParams
11019	}
11020	return nil
11021}
11022
11023// SetFilters sets the Filters field's value.
11024func (s *ListBotsInput) SetFilters(v []*BotFilter) *ListBotsInput {
11025	s.Filters = v
11026	return s
11027}
11028
11029// SetMaxResults sets the MaxResults field's value.
11030func (s *ListBotsInput) SetMaxResults(v int64) *ListBotsInput {
11031	s.MaxResults = &v
11032	return s
11033}
11034
11035// SetNextToken sets the NextToken field's value.
11036func (s *ListBotsInput) SetNextToken(v string) *ListBotsInput {
11037	s.NextToken = &v
11038	return s
11039}
11040
11041// SetSortBy sets the SortBy field's value.
11042func (s *ListBotsInput) SetSortBy(v *BotSortBy) *ListBotsInput {
11043	s.SortBy = v
11044	return s
11045}
11046
11047type ListBotsOutput struct {
11048	_ struct{} `type:"structure"`
11049
11050	// Summary information for the bots that meet the filter criteria specified
11051	// in the request. The length of the list is specified in the maxResults parameter
11052	// of the request. If there are more bots available, the nextToken field contains
11053	// a token to the next page of results.
11054	BotSummaries []*BotSummary `locationName:"botSummaries" type:"list"`
11055
11056	// A token that indicates whether there are more results to return in a response
11057	// to the ListBots operation. If the nextToken field is present, you send the
11058	// contents as the nextToken parameter of a ListBots operation request to get
11059	// the next page of results.
11060	NextToken *string `locationName:"nextToken" type:"string"`
11061}
11062
11063// String returns the string representation
11064func (s ListBotsOutput) String() string {
11065	return awsutil.Prettify(s)
11066}
11067
11068// GoString returns the string representation
11069func (s ListBotsOutput) GoString() string {
11070	return s.String()
11071}
11072
11073// SetBotSummaries sets the BotSummaries field's value.
11074func (s *ListBotsOutput) SetBotSummaries(v []*BotSummary) *ListBotsOutput {
11075	s.BotSummaries = v
11076	return s
11077}
11078
11079// SetNextToken sets the NextToken field's value.
11080func (s *ListBotsOutput) SetNextToken(v string) *ListBotsOutput {
11081	s.NextToken = &v
11082	return s
11083}
11084
11085type ListBuiltInIntentsInput struct {
11086	_ struct{} `type:"structure"`
11087
11088	// The identifier of the language and locale of the intents to list. The string
11089	// must match one of the supported locales. For more information, see https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html
11090	// (https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html).
11091	//
11092	// LocaleId is a required field
11093	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
11094
11095	// The maximum number of built-in intents to return in each page of results.
11096	// If there are fewer results than the max page size, only the actual number
11097	// of results are returned.
11098	MaxResults *int64 `locationName:"maxResults" min:"20" type:"integer"`
11099
11100	// If the response from the ListBuiltInIntents operation contains more results
11101	// than specified in the maxResults parameter, a token is returned in the response.
11102	// Use that token in the nextToken parameter to return the next page of results.
11103	NextToken *string `locationName:"nextToken" type:"string"`
11104
11105	// Specifies sorting parameters for the list of built-in intents. You can specify
11106	// that the list be sorted by the built-in intent signature in either ascending
11107	// or descending order.
11108	SortBy *BuiltInIntentSortBy `locationName:"sortBy" type:"structure"`
11109}
11110
11111// String returns the string representation
11112func (s ListBuiltInIntentsInput) String() string {
11113	return awsutil.Prettify(s)
11114}
11115
11116// GoString returns the string representation
11117func (s ListBuiltInIntentsInput) GoString() string {
11118	return s.String()
11119}
11120
11121// Validate inspects the fields of the type to determine if they are valid.
11122func (s *ListBuiltInIntentsInput) Validate() error {
11123	invalidParams := request.ErrInvalidParams{Context: "ListBuiltInIntentsInput"}
11124	if s.LocaleId == nil {
11125		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
11126	}
11127	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
11128		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
11129	}
11130	if s.MaxResults != nil && *s.MaxResults < 20 {
11131		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 20))
11132	}
11133	if s.SortBy != nil {
11134		if err := s.SortBy.Validate(); err != nil {
11135			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
11136		}
11137	}
11138
11139	if invalidParams.Len() > 0 {
11140		return invalidParams
11141	}
11142	return nil
11143}
11144
11145// SetLocaleId sets the LocaleId field's value.
11146func (s *ListBuiltInIntentsInput) SetLocaleId(v string) *ListBuiltInIntentsInput {
11147	s.LocaleId = &v
11148	return s
11149}
11150
11151// SetMaxResults sets the MaxResults field's value.
11152func (s *ListBuiltInIntentsInput) SetMaxResults(v int64) *ListBuiltInIntentsInput {
11153	s.MaxResults = &v
11154	return s
11155}
11156
11157// SetNextToken sets the NextToken field's value.
11158func (s *ListBuiltInIntentsInput) SetNextToken(v string) *ListBuiltInIntentsInput {
11159	s.NextToken = &v
11160	return s
11161}
11162
11163// SetSortBy sets the SortBy field's value.
11164func (s *ListBuiltInIntentsInput) SetSortBy(v *BuiltInIntentSortBy) *ListBuiltInIntentsInput {
11165	s.SortBy = v
11166	return s
11167}
11168
11169type ListBuiltInIntentsOutput struct {
11170	_ struct{} `type:"structure"`
11171
11172	// Summary information for the built-in intents that meet the filter criteria
11173	// specified in the request. The length of the list is specified in the maxResults
11174	// parameter of the request. If there are more intents available, the nextToken
11175	// field contains a token to get the next page of results.
11176	BuiltInIntentSummaries []*BuiltInIntentSummary `locationName:"builtInIntentSummaries" type:"list"`
11177
11178	// The language and locale of the intents in the list.
11179	LocaleId *string `locationName:"localeId" type:"string"`
11180
11181	// A token that indicates whether there are more results to return in a response
11182	// to the ListBuiltInIntents operation. If the nextToken field is present, you
11183	// send the contents as the nextToken parameter of a ListBotAliases operation
11184	// request to get the next page of results.
11185	NextToken *string `locationName:"nextToken" type:"string"`
11186}
11187
11188// String returns the string representation
11189func (s ListBuiltInIntentsOutput) String() string {
11190	return awsutil.Prettify(s)
11191}
11192
11193// GoString returns the string representation
11194func (s ListBuiltInIntentsOutput) GoString() string {
11195	return s.String()
11196}
11197
11198// SetBuiltInIntentSummaries sets the BuiltInIntentSummaries field's value.
11199func (s *ListBuiltInIntentsOutput) SetBuiltInIntentSummaries(v []*BuiltInIntentSummary) *ListBuiltInIntentsOutput {
11200	s.BuiltInIntentSummaries = v
11201	return s
11202}
11203
11204// SetLocaleId sets the LocaleId field's value.
11205func (s *ListBuiltInIntentsOutput) SetLocaleId(v string) *ListBuiltInIntentsOutput {
11206	s.LocaleId = &v
11207	return s
11208}
11209
11210// SetNextToken sets the NextToken field's value.
11211func (s *ListBuiltInIntentsOutput) SetNextToken(v string) *ListBuiltInIntentsOutput {
11212	s.NextToken = &v
11213	return s
11214}
11215
11216type ListBuiltInSlotTypesInput struct {
11217	_ struct{} `type:"structure"`
11218
11219	// The identifier of the language and locale of the slot types to list. The
11220	// string must match one of the supported locales. For more information, see
11221	// https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html (https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html).
11222	//
11223	// LocaleId is a required field
11224	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
11225
11226	// The maximum number of built-in slot types to return in each page of results.
11227	// If there are fewer results than the max page size, only the actual number
11228	// of results are returned.
11229	MaxResults *int64 `locationName:"maxResults" min:"20" type:"integer"`
11230
11231	// If the response from the ListBuiltInSlotTypes operation contains more results
11232	// than specified in the maxResults parameter, a token is returned in the response.
11233	// Use that token in the nextToken parameter to return the next page of results.
11234	NextToken *string `locationName:"nextToken" type:"string"`
11235
11236	// Determines the sort order for the response from the ListBuiltInSlotTypes
11237	// operation. You can choose to sort by the slot type signature in either ascending
11238	// or descending order.
11239	SortBy *BuiltInSlotTypeSortBy `locationName:"sortBy" type:"structure"`
11240}
11241
11242// String returns the string representation
11243func (s ListBuiltInSlotTypesInput) String() string {
11244	return awsutil.Prettify(s)
11245}
11246
11247// GoString returns the string representation
11248func (s ListBuiltInSlotTypesInput) GoString() string {
11249	return s.String()
11250}
11251
11252// Validate inspects the fields of the type to determine if they are valid.
11253func (s *ListBuiltInSlotTypesInput) Validate() error {
11254	invalidParams := request.ErrInvalidParams{Context: "ListBuiltInSlotTypesInput"}
11255	if s.LocaleId == nil {
11256		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
11257	}
11258	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
11259		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
11260	}
11261	if s.MaxResults != nil && *s.MaxResults < 20 {
11262		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 20))
11263	}
11264	if s.SortBy != nil {
11265		if err := s.SortBy.Validate(); err != nil {
11266			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
11267		}
11268	}
11269
11270	if invalidParams.Len() > 0 {
11271		return invalidParams
11272	}
11273	return nil
11274}
11275
11276// SetLocaleId sets the LocaleId field's value.
11277func (s *ListBuiltInSlotTypesInput) SetLocaleId(v string) *ListBuiltInSlotTypesInput {
11278	s.LocaleId = &v
11279	return s
11280}
11281
11282// SetMaxResults sets the MaxResults field's value.
11283func (s *ListBuiltInSlotTypesInput) SetMaxResults(v int64) *ListBuiltInSlotTypesInput {
11284	s.MaxResults = &v
11285	return s
11286}
11287
11288// SetNextToken sets the NextToken field's value.
11289func (s *ListBuiltInSlotTypesInput) SetNextToken(v string) *ListBuiltInSlotTypesInput {
11290	s.NextToken = &v
11291	return s
11292}
11293
11294// SetSortBy sets the SortBy field's value.
11295func (s *ListBuiltInSlotTypesInput) SetSortBy(v *BuiltInSlotTypeSortBy) *ListBuiltInSlotTypesInput {
11296	s.SortBy = v
11297	return s
11298}
11299
11300type ListBuiltInSlotTypesOutput struct {
11301	_ struct{} `type:"structure"`
11302
11303	// Summary information for the built-in slot types that meet the filter criteria
11304	// specified in the request. The length of the list is specified in the maxResults
11305	// parameter of the request. If there are more slot types available, the nextToken
11306	// field contains a token to get the next page of results.
11307	BuiltInSlotTypeSummaries []*BuiltInSlotTypeSummary `locationName:"builtInSlotTypeSummaries" type:"list"`
11308
11309	// The language and locale of the slot types in the list.
11310	LocaleId *string `locationName:"localeId" type:"string"`
11311
11312	// A token that indicates whether there are more results to return in a response
11313	// to the ListBuiltInSlotTypes operation. If the nextToken field is present,
11314	// you send the contents as the nextToken parameter of a LIstBuiltInSlotTypes
11315	// operation request to get the next page of results.
11316	NextToken *string `locationName:"nextToken" type:"string"`
11317}
11318
11319// String returns the string representation
11320func (s ListBuiltInSlotTypesOutput) String() string {
11321	return awsutil.Prettify(s)
11322}
11323
11324// GoString returns the string representation
11325func (s ListBuiltInSlotTypesOutput) GoString() string {
11326	return s.String()
11327}
11328
11329// SetBuiltInSlotTypeSummaries sets the BuiltInSlotTypeSummaries field's value.
11330func (s *ListBuiltInSlotTypesOutput) SetBuiltInSlotTypeSummaries(v []*BuiltInSlotTypeSummary) *ListBuiltInSlotTypesOutput {
11331	s.BuiltInSlotTypeSummaries = v
11332	return s
11333}
11334
11335// SetLocaleId sets the LocaleId field's value.
11336func (s *ListBuiltInSlotTypesOutput) SetLocaleId(v string) *ListBuiltInSlotTypesOutput {
11337	s.LocaleId = &v
11338	return s
11339}
11340
11341// SetNextToken sets the NextToken field's value.
11342func (s *ListBuiltInSlotTypesOutput) SetNextToken(v string) *ListBuiltInSlotTypesOutput {
11343	s.NextToken = &v
11344	return s
11345}
11346
11347type ListIntentsInput struct {
11348	_ struct{} `type:"structure"`
11349
11350	// The unique identifier of the bot that contains the intent.
11351	//
11352	// BotId is a required field
11353	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
11354
11355	// The version of the bot that contains the intent.
11356	//
11357	// BotVersion is a required field
11358	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
11359
11360	// Provides the specification of a filter used to limit the intents in the response
11361	// to only those that match the filter specification. You can only specify one
11362	// filter and only one string to filter on.
11363	Filters []*IntentFilter `locationName:"filters" min:"1" type:"list"`
11364
11365	// The identifier of the language and locale of the intents to list. The string
11366	// must match one of the supported locales. For more information, see https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html
11367	// (https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html).
11368	//
11369	// LocaleId is a required field
11370	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
11371
11372	// The maximum number of intents to return in each page of results. If there
11373	// are fewer results than the max page size, only the actual number of results
11374	// are returned.
11375	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
11376
11377	// If the response from the ListIntents operation contains more results than
11378	// specified in the maxResults parameter, a token is returned in the response.
11379	// Use that token in the nextToken parameter to return the next page of results.
11380	NextToken *string `locationName:"nextToken" type:"string"`
11381
11382	// Determines the sort order for the response from the ListIntents operation.
11383	// You can choose to sort by the intent name or last updated date in either
11384	// ascending or descending order.
11385	SortBy *IntentSortBy `locationName:"sortBy" type:"structure"`
11386}
11387
11388// String returns the string representation
11389func (s ListIntentsInput) String() string {
11390	return awsutil.Prettify(s)
11391}
11392
11393// GoString returns the string representation
11394func (s ListIntentsInput) GoString() string {
11395	return s.String()
11396}
11397
11398// Validate inspects the fields of the type to determine if they are valid.
11399func (s *ListIntentsInput) Validate() error {
11400	invalidParams := request.ErrInvalidParams{Context: "ListIntentsInput"}
11401	if s.BotId == nil {
11402		invalidParams.Add(request.NewErrParamRequired("BotId"))
11403	}
11404	if s.BotId != nil && len(*s.BotId) < 10 {
11405		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
11406	}
11407	if s.BotVersion == nil {
11408		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
11409	}
11410	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
11411		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
11412	}
11413	if s.Filters != nil && len(s.Filters) < 1 {
11414		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
11415	}
11416	if s.LocaleId == nil {
11417		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
11418	}
11419	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
11420		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
11421	}
11422	if s.MaxResults != nil && *s.MaxResults < 1 {
11423		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11424	}
11425	if s.Filters != nil {
11426		for i, v := range s.Filters {
11427			if v == nil {
11428				continue
11429			}
11430			if err := v.Validate(); err != nil {
11431				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
11432			}
11433		}
11434	}
11435	if s.SortBy != nil {
11436		if err := s.SortBy.Validate(); err != nil {
11437			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
11438		}
11439	}
11440
11441	if invalidParams.Len() > 0 {
11442		return invalidParams
11443	}
11444	return nil
11445}
11446
11447// SetBotId sets the BotId field's value.
11448func (s *ListIntentsInput) SetBotId(v string) *ListIntentsInput {
11449	s.BotId = &v
11450	return s
11451}
11452
11453// SetBotVersion sets the BotVersion field's value.
11454func (s *ListIntentsInput) SetBotVersion(v string) *ListIntentsInput {
11455	s.BotVersion = &v
11456	return s
11457}
11458
11459// SetFilters sets the Filters field's value.
11460func (s *ListIntentsInput) SetFilters(v []*IntentFilter) *ListIntentsInput {
11461	s.Filters = v
11462	return s
11463}
11464
11465// SetLocaleId sets the LocaleId field's value.
11466func (s *ListIntentsInput) SetLocaleId(v string) *ListIntentsInput {
11467	s.LocaleId = &v
11468	return s
11469}
11470
11471// SetMaxResults sets the MaxResults field's value.
11472func (s *ListIntentsInput) SetMaxResults(v int64) *ListIntentsInput {
11473	s.MaxResults = &v
11474	return s
11475}
11476
11477// SetNextToken sets the NextToken field's value.
11478func (s *ListIntentsInput) SetNextToken(v string) *ListIntentsInput {
11479	s.NextToken = &v
11480	return s
11481}
11482
11483// SetSortBy sets the SortBy field's value.
11484func (s *ListIntentsInput) SetSortBy(v *IntentSortBy) *ListIntentsInput {
11485	s.SortBy = v
11486	return s
11487}
11488
11489type ListIntentsOutput struct {
11490	_ struct{} `type:"structure"`
11491
11492	// The identifier of the bot that contains the intent.
11493	BotId *string `locationName:"botId" min:"10" type:"string"`
11494
11495	// The version of the bot that contains the intent.
11496	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
11497
11498	// Summary information for the intents that meet the filter criteria specified
11499	// in the request. The length of the list is specified in the maxResults parameter
11500	// of the request. If there are more intents available, the nextToken field
11501	// contains a token to get the next page of results.
11502	IntentSummaries []*IntentSummary `locationName:"intentSummaries" type:"list"`
11503
11504	// The language and locale of the intents in the list.
11505	LocaleId *string `locationName:"localeId" type:"string"`
11506
11507	// A token that indicates whether there are more results to return in a response
11508	// to the ListIntents operation. If the nextToken field is present, you send
11509	// the contents as the nextToken parameter of a ListIntents operation request
11510	// to get the next page of results.
11511	NextToken *string `locationName:"nextToken" type:"string"`
11512}
11513
11514// String returns the string representation
11515func (s ListIntentsOutput) String() string {
11516	return awsutil.Prettify(s)
11517}
11518
11519// GoString returns the string representation
11520func (s ListIntentsOutput) GoString() string {
11521	return s.String()
11522}
11523
11524// SetBotId sets the BotId field's value.
11525func (s *ListIntentsOutput) SetBotId(v string) *ListIntentsOutput {
11526	s.BotId = &v
11527	return s
11528}
11529
11530// SetBotVersion sets the BotVersion field's value.
11531func (s *ListIntentsOutput) SetBotVersion(v string) *ListIntentsOutput {
11532	s.BotVersion = &v
11533	return s
11534}
11535
11536// SetIntentSummaries sets the IntentSummaries field's value.
11537func (s *ListIntentsOutput) SetIntentSummaries(v []*IntentSummary) *ListIntentsOutput {
11538	s.IntentSummaries = v
11539	return s
11540}
11541
11542// SetLocaleId sets the LocaleId field's value.
11543func (s *ListIntentsOutput) SetLocaleId(v string) *ListIntentsOutput {
11544	s.LocaleId = &v
11545	return s
11546}
11547
11548// SetNextToken sets the NextToken field's value.
11549func (s *ListIntentsOutput) SetNextToken(v string) *ListIntentsOutput {
11550	s.NextToken = &v
11551	return s
11552}
11553
11554type ListSlotTypesInput struct {
11555	_ struct{} `type:"structure"`
11556
11557	// The unique identifier of the bot that contains the slot types.
11558	//
11559	// BotId is a required field
11560	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
11561
11562	// The version of the bot that contains the slot type.
11563	//
11564	// BotVersion is a required field
11565	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
11566
11567	// Provides the specification of a filter used to limit the slot types in the
11568	// response to only those that match the filter specification. You can only
11569	// specify one filter and only one string to filter on.
11570	Filters []*SlotTypeFilter `locationName:"filters" min:"1" type:"list"`
11571
11572	// The identifier of the language and locale of the slot types to list. The
11573	// string must match one of the supported locales. For more information, see
11574	// https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html (https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html).
11575	//
11576	// LocaleId is a required field
11577	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
11578
11579	// The maximum number of slot types to return in each page of results. If there
11580	// are fewer results than the max page size, only the actual number of results
11581	// are returned.
11582	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
11583
11584	// If the response from the ListSlotTypes operation contains more results than
11585	// specified in the maxResults parameter, a token is returned in the response.
11586	// Use that token in the nextToken parameter to return the next page of results.
11587	NextToken *string `locationName:"nextToken" type:"string"`
11588
11589	// Determines the sort order for the response from the ListSlotTypes operation.
11590	// You can choose to sort by the slot type name or last updated date in either
11591	// ascending or descending order.
11592	SortBy *SlotTypeSortBy `locationName:"sortBy" type:"structure"`
11593}
11594
11595// String returns the string representation
11596func (s ListSlotTypesInput) String() string {
11597	return awsutil.Prettify(s)
11598}
11599
11600// GoString returns the string representation
11601func (s ListSlotTypesInput) GoString() string {
11602	return s.String()
11603}
11604
11605// Validate inspects the fields of the type to determine if they are valid.
11606func (s *ListSlotTypesInput) Validate() error {
11607	invalidParams := request.ErrInvalidParams{Context: "ListSlotTypesInput"}
11608	if s.BotId == nil {
11609		invalidParams.Add(request.NewErrParamRequired("BotId"))
11610	}
11611	if s.BotId != nil && len(*s.BotId) < 10 {
11612		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
11613	}
11614	if s.BotVersion == nil {
11615		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
11616	}
11617	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
11618		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
11619	}
11620	if s.Filters != nil && len(s.Filters) < 1 {
11621		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
11622	}
11623	if s.LocaleId == nil {
11624		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
11625	}
11626	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
11627		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
11628	}
11629	if s.MaxResults != nil && *s.MaxResults < 1 {
11630		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11631	}
11632	if s.Filters != nil {
11633		for i, v := range s.Filters {
11634			if v == nil {
11635				continue
11636			}
11637			if err := v.Validate(); err != nil {
11638				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
11639			}
11640		}
11641	}
11642	if s.SortBy != nil {
11643		if err := s.SortBy.Validate(); err != nil {
11644			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
11645		}
11646	}
11647
11648	if invalidParams.Len() > 0 {
11649		return invalidParams
11650	}
11651	return nil
11652}
11653
11654// SetBotId sets the BotId field's value.
11655func (s *ListSlotTypesInput) SetBotId(v string) *ListSlotTypesInput {
11656	s.BotId = &v
11657	return s
11658}
11659
11660// SetBotVersion sets the BotVersion field's value.
11661func (s *ListSlotTypesInput) SetBotVersion(v string) *ListSlotTypesInput {
11662	s.BotVersion = &v
11663	return s
11664}
11665
11666// SetFilters sets the Filters field's value.
11667func (s *ListSlotTypesInput) SetFilters(v []*SlotTypeFilter) *ListSlotTypesInput {
11668	s.Filters = v
11669	return s
11670}
11671
11672// SetLocaleId sets the LocaleId field's value.
11673func (s *ListSlotTypesInput) SetLocaleId(v string) *ListSlotTypesInput {
11674	s.LocaleId = &v
11675	return s
11676}
11677
11678// SetMaxResults sets the MaxResults field's value.
11679func (s *ListSlotTypesInput) SetMaxResults(v int64) *ListSlotTypesInput {
11680	s.MaxResults = &v
11681	return s
11682}
11683
11684// SetNextToken sets the NextToken field's value.
11685func (s *ListSlotTypesInput) SetNextToken(v string) *ListSlotTypesInput {
11686	s.NextToken = &v
11687	return s
11688}
11689
11690// SetSortBy sets the SortBy field's value.
11691func (s *ListSlotTypesInput) SetSortBy(v *SlotTypeSortBy) *ListSlotTypesInput {
11692	s.SortBy = v
11693	return s
11694}
11695
11696type ListSlotTypesOutput struct {
11697	_ struct{} `type:"structure"`
11698
11699	// The identifier of the bot that contains the slot types.
11700	BotId *string `locationName:"botId" min:"10" type:"string"`
11701
11702	// The version of the bot that contains the slot types.
11703	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
11704
11705	// The language and local of the slot types in the list.
11706	LocaleId *string `locationName:"localeId" type:"string"`
11707
11708	// A token that indicates whether there are more results to return in a response
11709	// to the ListSlotTypes operation. If the nextToken field is present, you send
11710	// the contents as the nextToken parameter of a ListSlotTypes operation request
11711	// to get the next page of results.
11712	NextToken *string `locationName:"nextToken" type:"string"`
11713
11714	// Summary information for the slot types that meet the filter criteria specified
11715	// in the request. The length of the list is specified in the maxResults parameter
11716	// of the request. If there are more slot types available, the nextToken field
11717	// contains a token to get the next page of results.
11718	SlotTypeSummaries []*SlotTypeSummary `locationName:"slotTypeSummaries" type:"list"`
11719}
11720
11721// String returns the string representation
11722func (s ListSlotTypesOutput) String() string {
11723	return awsutil.Prettify(s)
11724}
11725
11726// GoString returns the string representation
11727func (s ListSlotTypesOutput) GoString() string {
11728	return s.String()
11729}
11730
11731// SetBotId sets the BotId field's value.
11732func (s *ListSlotTypesOutput) SetBotId(v string) *ListSlotTypesOutput {
11733	s.BotId = &v
11734	return s
11735}
11736
11737// SetBotVersion sets the BotVersion field's value.
11738func (s *ListSlotTypesOutput) SetBotVersion(v string) *ListSlotTypesOutput {
11739	s.BotVersion = &v
11740	return s
11741}
11742
11743// SetLocaleId sets the LocaleId field's value.
11744func (s *ListSlotTypesOutput) SetLocaleId(v string) *ListSlotTypesOutput {
11745	s.LocaleId = &v
11746	return s
11747}
11748
11749// SetNextToken sets the NextToken field's value.
11750func (s *ListSlotTypesOutput) SetNextToken(v string) *ListSlotTypesOutput {
11751	s.NextToken = &v
11752	return s
11753}
11754
11755// SetSlotTypeSummaries sets the SlotTypeSummaries field's value.
11756func (s *ListSlotTypesOutput) SetSlotTypeSummaries(v []*SlotTypeSummary) *ListSlotTypesOutput {
11757	s.SlotTypeSummaries = v
11758	return s
11759}
11760
11761type ListSlotsInput struct {
11762	_ struct{} `type:"structure"`
11763
11764	// The identifier of the bot that contains the slot.
11765	//
11766	// BotId is a required field
11767	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
11768
11769	// The version of the bot that contains the slot.
11770	//
11771	// BotVersion is a required field
11772	BotVersion *string `location:"uri" locationName:"botVersion" min:"1" type:"string" required:"true"`
11773
11774	// Provides the specification of a filter used to limit the slots in the response
11775	// to only those that match the filter specification. You can only specify one
11776	// filter and only one string to filter on.
11777	Filters []*SlotFilter `locationName:"filters" min:"1" type:"list"`
11778
11779	// The unique identifier of the intent that contains the slot.
11780	//
11781	// IntentId is a required field
11782	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
11783
11784	// The identifier of the language and locale of the slots to list. The string
11785	// must match one of the supported locales. For more information, see https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html
11786	// (https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html).
11787	//
11788	// LocaleId is a required field
11789	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
11790
11791	// The maximum number of slots to return in each page of results. If there are
11792	// fewer results than the max page size, only the actual number of results are
11793	// returned.
11794	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
11795
11796	// If the response from the ListSlots operation contains more results than specified
11797	// in the maxResults parameter, a token is returned in the response. Use that
11798	// token in the nextToken parameter to return the next page of results.
11799	NextToken *string `locationName:"nextToken" type:"string"`
11800
11801	// Determines the sort order for the response from the ListSlots operation.
11802	// You can choose to sort by the slot name or last updated date in either ascending
11803	// or descending order.
11804	SortBy *SlotSortBy `locationName:"sortBy" type:"structure"`
11805}
11806
11807// String returns the string representation
11808func (s ListSlotsInput) String() string {
11809	return awsutil.Prettify(s)
11810}
11811
11812// GoString returns the string representation
11813func (s ListSlotsInput) GoString() string {
11814	return s.String()
11815}
11816
11817// Validate inspects the fields of the type to determine if they are valid.
11818func (s *ListSlotsInput) Validate() error {
11819	invalidParams := request.ErrInvalidParams{Context: "ListSlotsInput"}
11820	if s.BotId == nil {
11821		invalidParams.Add(request.NewErrParamRequired("BotId"))
11822	}
11823	if s.BotId != nil && len(*s.BotId) < 10 {
11824		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
11825	}
11826	if s.BotVersion == nil {
11827		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
11828	}
11829	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
11830		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
11831	}
11832	if s.Filters != nil && len(s.Filters) < 1 {
11833		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
11834	}
11835	if s.IntentId == nil {
11836		invalidParams.Add(request.NewErrParamRequired("IntentId"))
11837	}
11838	if s.IntentId != nil && len(*s.IntentId) < 10 {
11839		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
11840	}
11841	if s.LocaleId == nil {
11842		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
11843	}
11844	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
11845		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
11846	}
11847	if s.MaxResults != nil && *s.MaxResults < 1 {
11848		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11849	}
11850	if s.Filters != nil {
11851		for i, v := range s.Filters {
11852			if v == nil {
11853				continue
11854			}
11855			if err := v.Validate(); err != nil {
11856				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
11857			}
11858		}
11859	}
11860	if s.SortBy != nil {
11861		if err := s.SortBy.Validate(); err != nil {
11862			invalidParams.AddNested("SortBy", err.(request.ErrInvalidParams))
11863		}
11864	}
11865
11866	if invalidParams.Len() > 0 {
11867		return invalidParams
11868	}
11869	return nil
11870}
11871
11872// SetBotId sets the BotId field's value.
11873func (s *ListSlotsInput) SetBotId(v string) *ListSlotsInput {
11874	s.BotId = &v
11875	return s
11876}
11877
11878// SetBotVersion sets the BotVersion field's value.
11879func (s *ListSlotsInput) SetBotVersion(v string) *ListSlotsInput {
11880	s.BotVersion = &v
11881	return s
11882}
11883
11884// SetFilters sets the Filters field's value.
11885func (s *ListSlotsInput) SetFilters(v []*SlotFilter) *ListSlotsInput {
11886	s.Filters = v
11887	return s
11888}
11889
11890// SetIntentId sets the IntentId field's value.
11891func (s *ListSlotsInput) SetIntentId(v string) *ListSlotsInput {
11892	s.IntentId = &v
11893	return s
11894}
11895
11896// SetLocaleId sets the LocaleId field's value.
11897func (s *ListSlotsInput) SetLocaleId(v string) *ListSlotsInput {
11898	s.LocaleId = &v
11899	return s
11900}
11901
11902// SetMaxResults sets the MaxResults field's value.
11903func (s *ListSlotsInput) SetMaxResults(v int64) *ListSlotsInput {
11904	s.MaxResults = &v
11905	return s
11906}
11907
11908// SetNextToken sets the NextToken field's value.
11909func (s *ListSlotsInput) SetNextToken(v string) *ListSlotsInput {
11910	s.NextToken = &v
11911	return s
11912}
11913
11914// SetSortBy sets the SortBy field's value.
11915func (s *ListSlotsInput) SetSortBy(v *SlotSortBy) *ListSlotsInput {
11916	s.SortBy = v
11917	return s
11918}
11919
11920type ListSlotsOutput struct {
11921	_ struct{} `type:"structure"`
11922
11923	// The identifier of the bot that contains the slots.
11924	BotId *string `locationName:"botId" min:"10" type:"string"`
11925
11926	// The version of the bot that contains the slots.
11927	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
11928
11929	// The identifier of the intent that contains the slots.
11930	IntentId *string `locationName:"intentId" min:"10" type:"string"`
11931
11932	// The language and locale of the slots in the list.
11933	LocaleId *string `locationName:"localeId" type:"string"`
11934
11935	// A token that indicates whether there are more results to return in a response
11936	// to the ListSlots operation. If the nextToken field is present, you send the
11937	// contents as the nextToken parameter of a ListSlots operation request to get
11938	// the next page of results.
11939	NextToken *string `locationName:"nextToken" type:"string"`
11940
11941	// Summary information for the slots that meet the filter criteria specified
11942	// in the request. The length of the list is specified in the maxResults parameter
11943	// of the request. If there are more slots available, the nextToken field contains
11944	// a token to get the next page of results.
11945	SlotSummaries []*SlotSummary `locationName:"slotSummaries" type:"list"`
11946}
11947
11948// String returns the string representation
11949func (s ListSlotsOutput) String() string {
11950	return awsutil.Prettify(s)
11951}
11952
11953// GoString returns the string representation
11954func (s ListSlotsOutput) GoString() string {
11955	return s.String()
11956}
11957
11958// SetBotId sets the BotId field's value.
11959func (s *ListSlotsOutput) SetBotId(v string) *ListSlotsOutput {
11960	s.BotId = &v
11961	return s
11962}
11963
11964// SetBotVersion sets the BotVersion field's value.
11965func (s *ListSlotsOutput) SetBotVersion(v string) *ListSlotsOutput {
11966	s.BotVersion = &v
11967	return s
11968}
11969
11970// SetIntentId sets the IntentId field's value.
11971func (s *ListSlotsOutput) SetIntentId(v string) *ListSlotsOutput {
11972	s.IntentId = &v
11973	return s
11974}
11975
11976// SetLocaleId sets the LocaleId field's value.
11977func (s *ListSlotsOutput) SetLocaleId(v string) *ListSlotsOutput {
11978	s.LocaleId = &v
11979	return s
11980}
11981
11982// SetNextToken sets the NextToken field's value.
11983func (s *ListSlotsOutput) SetNextToken(v string) *ListSlotsOutput {
11984	s.NextToken = &v
11985	return s
11986}
11987
11988// SetSlotSummaries sets the SlotSummaries field's value.
11989func (s *ListSlotsOutput) SetSlotSummaries(v []*SlotSummary) *ListSlotsOutput {
11990	s.SlotSummaries = v
11991	return s
11992}
11993
11994type ListTagsForResourceInput struct {
11995	_ struct{} `type:"structure"`
11996
11997	// The Amazon Resource Name (ARN) of the resource to get a list of tags for.
11998	//
11999	// ResourceARN is a required field
12000	ResourceARN *string `location:"uri" locationName:"resourceARN" min:"1" type:"string" required:"true"`
12001}
12002
12003// String returns the string representation
12004func (s ListTagsForResourceInput) String() string {
12005	return awsutil.Prettify(s)
12006}
12007
12008// GoString returns the string representation
12009func (s ListTagsForResourceInput) GoString() string {
12010	return s.String()
12011}
12012
12013// Validate inspects the fields of the type to determine if they are valid.
12014func (s *ListTagsForResourceInput) Validate() error {
12015	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
12016	if s.ResourceARN == nil {
12017		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
12018	}
12019	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
12020		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
12021	}
12022
12023	if invalidParams.Len() > 0 {
12024		return invalidParams
12025	}
12026	return nil
12027}
12028
12029// SetResourceARN sets the ResourceARN field's value.
12030func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
12031	s.ResourceARN = &v
12032	return s
12033}
12034
12035type ListTagsForResourceOutput struct {
12036	_ struct{} `type:"structure"`
12037
12038	// The tags associated with a resource.
12039	Tags map[string]*string `locationName:"tags" type:"map"`
12040}
12041
12042// String returns the string representation
12043func (s ListTagsForResourceOutput) String() string {
12044	return awsutil.Prettify(s)
12045}
12046
12047// GoString returns the string representation
12048func (s ListTagsForResourceOutput) GoString() string {
12049	return s.String()
12050}
12051
12052// SetTags sets the Tags field's value.
12053func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
12054	s.Tags = v
12055	return s
12056}
12057
12058// The object that provides message text and it's type.
12059type Message struct {
12060	_ struct{} `type:"structure"`
12061
12062	// A message in a custom format defined by the client application.
12063	CustomPayload *CustomPayload `locationName:"customPayload" type:"structure"`
12064
12065	// A message that defines a response card that the client application can show
12066	// to the user.
12067	ImageResponseCard *ImageResponseCard `locationName:"imageResponseCard" type:"structure"`
12068
12069	// A message in plain text format.
12070	PlainTextMessage *PlainTextMessage `locationName:"plainTextMessage" type:"structure"`
12071
12072	// A message in Speech Synthesis Markup Language (SSML).
12073	SsmlMessage *SSMLMessage `locationName:"ssmlMessage" type:"structure"`
12074}
12075
12076// String returns the string representation
12077func (s Message) String() string {
12078	return awsutil.Prettify(s)
12079}
12080
12081// GoString returns the string representation
12082func (s Message) GoString() string {
12083	return s.String()
12084}
12085
12086// Validate inspects the fields of the type to determine if they are valid.
12087func (s *Message) Validate() error {
12088	invalidParams := request.ErrInvalidParams{Context: "Message"}
12089	if s.CustomPayload != nil {
12090		if err := s.CustomPayload.Validate(); err != nil {
12091			invalidParams.AddNested("CustomPayload", err.(request.ErrInvalidParams))
12092		}
12093	}
12094	if s.ImageResponseCard != nil {
12095		if err := s.ImageResponseCard.Validate(); err != nil {
12096			invalidParams.AddNested("ImageResponseCard", err.(request.ErrInvalidParams))
12097		}
12098	}
12099	if s.PlainTextMessage != nil {
12100		if err := s.PlainTextMessage.Validate(); err != nil {
12101			invalidParams.AddNested("PlainTextMessage", err.(request.ErrInvalidParams))
12102		}
12103	}
12104	if s.SsmlMessage != nil {
12105		if err := s.SsmlMessage.Validate(); err != nil {
12106			invalidParams.AddNested("SsmlMessage", err.(request.ErrInvalidParams))
12107		}
12108	}
12109
12110	if invalidParams.Len() > 0 {
12111		return invalidParams
12112	}
12113	return nil
12114}
12115
12116// SetCustomPayload sets the CustomPayload field's value.
12117func (s *Message) SetCustomPayload(v *CustomPayload) *Message {
12118	s.CustomPayload = v
12119	return s
12120}
12121
12122// SetImageResponseCard sets the ImageResponseCard field's value.
12123func (s *Message) SetImageResponseCard(v *ImageResponseCard) *Message {
12124	s.ImageResponseCard = v
12125	return s
12126}
12127
12128// SetPlainTextMessage sets the PlainTextMessage field's value.
12129func (s *Message) SetPlainTextMessage(v *PlainTextMessage) *Message {
12130	s.PlainTextMessage = v
12131	return s
12132}
12133
12134// SetSsmlMessage sets the SsmlMessage field's value.
12135func (s *Message) SetSsmlMessage(v *SSMLMessage) *Message {
12136	s.SsmlMessage = v
12137	return s
12138}
12139
12140// Provides one or more messages that Amazon Lex should send to the user.
12141type MessageGroup struct {
12142	_ struct{} `type:"structure"`
12143
12144	// The primary message that Amazon Lex should send to the user.
12145	//
12146	// Message is a required field
12147	Message *Message `locationName:"message" type:"structure" required:"true"`
12148
12149	// Message variations to send to the user. When variations are defined, Amazon
12150	// Lex chooses the primary message or one of the variations to send to the user.
12151	Variations []*Message `locationName:"variations" type:"list"`
12152}
12153
12154// String returns the string representation
12155func (s MessageGroup) String() string {
12156	return awsutil.Prettify(s)
12157}
12158
12159// GoString returns the string representation
12160func (s MessageGroup) GoString() string {
12161	return s.String()
12162}
12163
12164// Validate inspects the fields of the type to determine if they are valid.
12165func (s *MessageGroup) Validate() error {
12166	invalidParams := request.ErrInvalidParams{Context: "MessageGroup"}
12167	if s.Message == nil {
12168		invalidParams.Add(request.NewErrParamRequired("Message"))
12169	}
12170	if s.Message != nil {
12171		if err := s.Message.Validate(); err != nil {
12172			invalidParams.AddNested("Message", err.(request.ErrInvalidParams))
12173		}
12174	}
12175	if s.Variations != nil {
12176		for i, v := range s.Variations {
12177			if v == nil {
12178				continue
12179			}
12180			if err := v.Validate(); err != nil {
12181				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Variations", i), err.(request.ErrInvalidParams))
12182			}
12183		}
12184	}
12185
12186	if invalidParams.Len() > 0 {
12187		return invalidParams
12188	}
12189	return nil
12190}
12191
12192// SetMessage sets the Message field's value.
12193func (s *MessageGroup) SetMessage(v *Message) *MessageGroup {
12194	s.Message = v
12195	return s
12196}
12197
12198// SetVariations sets the Variations field's value.
12199func (s *MessageGroup) SetVariations(v []*Message) *MessageGroup {
12200	s.Variations = v
12201	return s
12202}
12203
12204// Determines whether Amazon Lex obscures slot values in conversation logs.
12205type ObfuscationSetting struct {
12206	_ struct{} `type:"structure"`
12207
12208	// Value that determines whether Amazon Lex obscures slot values in conversation
12209	// logs. The default is to obscure the values.
12210	//
12211	// ObfuscationSettingType is a required field
12212	ObfuscationSettingType *string `locationName:"obfuscationSettingType" type:"string" required:"true" enum:"ObfuscationSettingType"`
12213}
12214
12215// String returns the string representation
12216func (s ObfuscationSetting) String() string {
12217	return awsutil.Prettify(s)
12218}
12219
12220// GoString returns the string representation
12221func (s ObfuscationSetting) GoString() string {
12222	return s.String()
12223}
12224
12225// Validate inspects the fields of the type to determine if they are valid.
12226func (s *ObfuscationSetting) Validate() error {
12227	invalidParams := request.ErrInvalidParams{Context: "ObfuscationSetting"}
12228	if s.ObfuscationSettingType == nil {
12229		invalidParams.Add(request.NewErrParamRequired("ObfuscationSettingType"))
12230	}
12231
12232	if invalidParams.Len() > 0 {
12233		return invalidParams
12234	}
12235	return nil
12236}
12237
12238// SetObfuscationSettingType sets the ObfuscationSettingType field's value.
12239func (s *ObfuscationSetting) SetObfuscationSettingType(v string) *ObfuscationSetting {
12240	s.ObfuscationSettingType = &v
12241	return s
12242}
12243
12244// Describes a session context that is activated when an intent is fulfilled.
12245type OutputContext struct {
12246	_ struct{} `type:"structure"`
12247
12248	// The name of the output context.
12249	//
12250	// Name is a required field
12251	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
12252
12253	// The amount of time, in seconds, that the output context should remain active.
12254	// The time is figured from the first time the context is sent to the user.
12255	//
12256	// TimeToLiveInSeconds is a required field
12257	TimeToLiveInSeconds *int64 `locationName:"timeToLiveInSeconds" min:"5" type:"integer" required:"true"`
12258
12259	// The number of conversation turns that the output context should remain active.
12260	// The number of turns is counted from the first time that the context is sent
12261	// to the user.
12262	//
12263	// TurnsToLive is a required field
12264	TurnsToLive *int64 `locationName:"turnsToLive" min:"1" type:"integer" required:"true"`
12265}
12266
12267// String returns the string representation
12268func (s OutputContext) String() string {
12269	return awsutil.Prettify(s)
12270}
12271
12272// GoString returns the string representation
12273func (s OutputContext) GoString() string {
12274	return s.String()
12275}
12276
12277// Validate inspects the fields of the type to determine if they are valid.
12278func (s *OutputContext) Validate() error {
12279	invalidParams := request.ErrInvalidParams{Context: "OutputContext"}
12280	if s.Name == nil {
12281		invalidParams.Add(request.NewErrParamRequired("Name"))
12282	}
12283	if s.Name != nil && len(*s.Name) < 1 {
12284		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
12285	}
12286	if s.TimeToLiveInSeconds == nil {
12287		invalidParams.Add(request.NewErrParamRequired("TimeToLiveInSeconds"))
12288	}
12289	if s.TimeToLiveInSeconds != nil && *s.TimeToLiveInSeconds < 5 {
12290		invalidParams.Add(request.NewErrParamMinValue("TimeToLiveInSeconds", 5))
12291	}
12292	if s.TurnsToLive == nil {
12293		invalidParams.Add(request.NewErrParamRequired("TurnsToLive"))
12294	}
12295	if s.TurnsToLive != nil && *s.TurnsToLive < 1 {
12296		invalidParams.Add(request.NewErrParamMinValue("TurnsToLive", 1))
12297	}
12298
12299	if invalidParams.Len() > 0 {
12300		return invalidParams
12301	}
12302	return nil
12303}
12304
12305// SetName sets the Name field's value.
12306func (s *OutputContext) SetName(v string) *OutputContext {
12307	s.Name = &v
12308	return s
12309}
12310
12311// SetTimeToLiveInSeconds sets the TimeToLiveInSeconds field's value.
12312func (s *OutputContext) SetTimeToLiveInSeconds(v int64) *OutputContext {
12313	s.TimeToLiveInSeconds = &v
12314	return s
12315}
12316
12317// SetTurnsToLive sets the TurnsToLive field's value.
12318func (s *OutputContext) SetTurnsToLive(v int64) *OutputContext {
12319	s.TurnsToLive = &v
12320	return s
12321}
12322
12323// Defines an ASCII text message to send to the user.
12324type PlainTextMessage struct {
12325	_ struct{} `type:"structure"`
12326
12327	// The message to send to the user.
12328	//
12329	// Value is a required field
12330	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
12331}
12332
12333// String returns the string representation
12334func (s PlainTextMessage) String() string {
12335	return awsutil.Prettify(s)
12336}
12337
12338// GoString returns the string representation
12339func (s PlainTextMessage) GoString() string {
12340	return s.String()
12341}
12342
12343// Validate inspects the fields of the type to determine if they are valid.
12344func (s *PlainTextMessage) Validate() error {
12345	invalidParams := request.ErrInvalidParams{Context: "PlainTextMessage"}
12346	if s.Value == nil {
12347		invalidParams.Add(request.NewErrParamRequired("Value"))
12348	}
12349	if s.Value != nil && len(*s.Value) < 1 {
12350		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
12351	}
12352
12353	if invalidParams.Len() > 0 {
12354		return invalidParams
12355	}
12356	return nil
12357}
12358
12359// SetValue sets the Value field's value.
12360func (s *PlainTextMessage) SetValue(v string) *PlainTextMessage {
12361	s.Value = &v
12362	return s
12363}
12364
12365type PreconditionFailedException struct {
12366	_            struct{}                  `type:"structure"`
12367	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12368
12369	Message_ *string `locationName:"message" type:"string"`
12370}
12371
12372// String returns the string representation
12373func (s PreconditionFailedException) String() string {
12374	return awsutil.Prettify(s)
12375}
12376
12377// GoString returns the string representation
12378func (s PreconditionFailedException) GoString() string {
12379	return s.String()
12380}
12381
12382func newErrorPreconditionFailedException(v protocol.ResponseMetadata) error {
12383	return &PreconditionFailedException{
12384		RespMetadata: v,
12385	}
12386}
12387
12388// Code returns the exception type name.
12389func (s *PreconditionFailedException) Code() string {
12390	return "PreconditionFailedException"
12391}
12392
12393// Message returns the exception's message.
12394func (s *PreconditionFailedException) Message() string {
12395	if s.Message_ != nil {
12396		return *s.Message_
12397	}
12398	return ""
12399}
12400
12401// OrigErr always returns nil, satisfies awserr.Error interface.
12402func (s *PreconditionFailedException) OrigErr() error {
12403	return nil
12404}
12405
12406func (s *PreconditionFailedException) Error() string {
12407	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12408}
12409
12410// Status code returns the HTTP status code for the request's response error.
12411func (s *PreconditionFailedException) StatusCode() int {
12412	return s.RespMetadata.StatusCode
12413}
12414
12415// RequestID returns the service's response RequestID for request.
12416func (s *PreconditionFailedException) RequestID() string {
12417	return s.RespMetadata.RequestID
12418}
12419
12420// Specifies a list of message groups that Amazon Lex sends to a user to elicit
12421// a response.
12422type PromptSpecification struct {
12423	_ struct{} `type:"structure"`
12424
12425	// Indicates whether the user can interrupt a speech prompt from the bot.
12426	AllowInterrupt *bool `locationName:"allowInterrupt" type:"boolean"`
12427
12428	// The maximum number of times the bot tries to elicit a resonse from the user
12429	// using this prompt.
12430	//
12431	// MaxRetries is a required field
12432	MaxRetries *int64 `locationName:"maxRetries" type:"integer" required:"true"`
12433
12434	// A collection of messages that Amazon Lex can send to the user. Amazon Lex
12435	// chooses the actual message to send at runtime.
12436	//
12437	// MessageGroups is a required field
12438	MessageGroups []*MessageGroup `locationName:"messageGroups" min:"1" type:"list" required:"true"`
12439}
12440
12441// String returns the string representation
12442func (s PromptSpecification) String() string {
12443	return awsutil.Prettify(s)
12444}
12445
12446// GoString returns the string representation
12447func (s PromptSpecification) GoString() string {
12448	return s.String()
12449}
12450
12451// Validate inspects the fields of the type to determine if they are valid.
12452func (s *PromptSpecification) Validate() error {
12453	invalidParams := request.ErrInvalidParams{Context: "PromptSpecification"}
12454	if s.MaxRetries == nil {
12455		invalidParams.Add(request.NewErrParamRequired("MaxRetries"))
12456	}
12457	if s.MessageGroups == nil {
12458		invalidParams.Add(request.NewErrParamRequired("MessageGroups"))
12459	}
12460	if s.MessageGroups != nil && len(s.MessageGroups) < 1 {
12461		invalidParams.Add(request.NewErrParamMinLen("MessageGroups", 1))
12462	}
12463	if s.MessageGroups != nil {
12464		for i, v := range s.MessageGroups {
12465			if v == nil {
12466				continue
12467			}
12468			if err := v.Validate(); err != nil {
12469				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MessageGroups", i), err.(request.ErrInvalidParams))
12470			}
12471		}
12472	}
12473
12474	if invalidParams.Len() > 0 {
12475		return invalidParams
12476	}
12477	return nil
12478}
12479
12480// SetAllowInterrupt sets the AllowInterrupt field's value.
12481func (s *PromptSpecification) SetAllowInterrupt(v bool) *PromptSpecification {
12482	s.AllowInterrupt = &v
12483	return s
12484}
12485
12486// SetMaxRetries sets the MaxRetries field's value.
12487func (s *PromptSpecification) SetMaxRetries(v int64) *PromptSpecification {
12488	s.MaxRetries = &v
12489	return s
12490}
12491
12492// SetMessageGroups sets the MessageGroups field's value.
12493func (s *PromptSpecification) SetMessageGroups(v []*MessageGroup) *PromptSpecification {
12494	s.MessageGroups = v
12495	return s
12496}
12497
12498type ResourceNotFoundException struct {
12499	_            struct{}                  `type:"structure"`
12500	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12501
12502	Message_ *string `locationName:"message" type:"string"`
12503}
12504
12505// String returns the string representation
12506func (s ResourceNotFoundException) String() string {
12507	return awsutil.Prettify(s)
12508}
12509
12510// GoString returns the string representation
12511func (s ResourceNotFoundException) GoString() string {
12512	return s.String()
12513}
12514
12515func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
12516	return &ResourceNotFoundException{
12517		RespMetadata: v,
12518	}
12519}
12520
12521// Code returns the exception type name.
12522func (s *ResourceNotFoundException) Code() string {
12523	return "ResourceNotFoundException"
12524}
12525
12526// Message returns the exception's message.
12527func (s *ResourceNotFoundException) Message() string {
12528	if s.Message_ != nil {
12529		return *s.Message_
12530	}
12531	return ""
12532}
12533
12534// OrigErr always returns nil, satisfies awserr.Error interface.
12535func (s *ResourceNotFoundException) OrigErr() error {
12536	return nil
12537}
12538
12539func (s *ResourceNotFoundException) Error() string {
12540	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12541}
12542
12543// Status code returns the HTTP status code for the request's response error.
12544func (s *ResourceNotFoundException) StatusCode() int {
12545	return s.RespMetadata.StatusCode
12546}
12547
12548// RequestID returns the service's response RequestID for request.
12549func (s *ResourceNotFoundException) RequestID() string {
12550	return s.RespMetadata.RequestID
12551}
12552
12553// Specifies a list of message groups that Amazon Lex uses to respond the user
12554// input.
12555type ResponseSpecification struct {
12556	_ struct{} `type:"structure"`
12557
12558	// Indicates whether the user can interrupt a speech response from Amazon Lex.
12559	AllowInterrupt *bool `locationName:"allowInterrupt" type:"boolean"`
12560
12561	// A collection of responses that Amazon Lex can send to the user. Amazon Lex
12562	// chooses the actual response to send at runtime.
12563	//
12564	// MessageGroups is a required field
12565	MessageGroups []*MessageGroup `locationName:"messageGroups" min:"1" type:"list" required:"true"`
12566}
12567
12568// String returns the string representation
12569func (s ResponseSpecification) String() string {
12570	return awsutil.Prettify(s)
12571}
12572
12573// GoString returns the string representation
12574func (s ResponseSpecification) GoString() string {
12575	return s.String()
12576}
12577
12578// Validate inspects the fields of the type to determine if they are valid.
12579func (s *ResponseSpecification) Validate() error {
12580	invalidParams := request.ErrInvalidParams{Context: "ResponseSpecification"}
12581	if s.MessageGroups == nil {
12582		invalidParams.Add(request.NewErrParamRequired("MessageGroups"))
12583	}
12584	if s.MessageGroups != nil && len(s.MessageGroups) < 1 {
12585		invalidParams.Add(request.NewErrParamMinLen("MessageGroups", 1))
12586	}
12587	if s.MessageGroups != nil {
12588		for i, v := range s.MessageGroups {
12589			if v == nil {
12590				continue
12591			}
12592			if err := v.Validate(); err != nil {
12593				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MessageGroups", i), err.(request.ErrInvalidParams))
12594			}
12595		}
12596	}
12597
12598	if invalidParams.Len() > 0 {
12599		return invalidParams
12600	}
12601	return nil
12602}
12603
12604// SetAllowInterrupt sets the AllowInterrupt field's value.
12605func (s *ResponseSpecification) SetAllowInterrupt(v bool) *ResponseSpecification {
12606	s.AllowInterrupt = &v
12607	return s
12608}
12609
12610// SetMessageGroups sets the MessageGroups field's value.
12611func (s *ResponseSpecification) SetMessageGroups(v []*MessageGroup) *ResponseSpecification {
12612	s.MessageGroups = v
12613	return s
12614}
12615
12616// Specifies an Amazon S3 bucket for logging audio conversations
12617type S3BucketLogDestination struct {
12618	_ struct{} `type:"structure"`
12619
12620	// The Amazon Resource Name (ARN) of an AWS Key Management Service (KMS) key
12621	// for encrypting audio log files stored in an S3 bucket.
12622	KmsKeyArn *string `locationName:"kmsKeyArn" min:"20" type:"string"`
12623
12624	// The S3 prefix to assign to audio log files.
12625	//
12626	// LogPrefix is a required field
12627	LogPrefix *string `locationName:"logPrefix" type:"string" required:"true"`
12628
12629	// The Amazon Resource Name (ARN) of an Amazon S3 bucket where audio log files
12630	// are stored.
12631	//
12632	// S3BucketArn is a required field
12633	S3BucketArn *string `locationName:"s3BucketArn" min:"1" type:"string" required:"true"`
12634}
12635
12636// String returns the string representation
12637func (s S3BucketLogDestination) String() string {
12638	return awsutil.Prettify(s)
12639}
12640
12641// GoString returns the string representation
12642func (s S3BucketLogDestination) GoString() string {
12643	return s.String()
12644}
12645
12646// Validate inspects the fields of the type to determine if they are valid.
12647func (s *S3BucketLogDestination) Validate() error {
12648	invalidParams := request.ErrInvalidParams{Context: "S3BucketLogDestination"}
12649	if s.KmsKeyArn != nil && len(*s.KmsKeyArn) < 20 {
12650		invalidParams.Add(request.NewErrParamMinLen("KmsKeyArn", 20))
12651	}
12652	if s.LogPrefix == nil {
12653		invalidParams.Add(request.NewErrParamRequired("LogPrefix"))
12654	}
12655	if s.S3BucketArn == nil {
12656		invalidParams.Add(request.NewErrParamRequired("S3BucketArn"))
12657	}
12658	if s.S3BucketArn != nil && len(*s.S3BucketArn) < 1 {
12659		invalidParams.Add(request.NewErrParamMinLen("S3BucketArn", 1))
12660	}
12661
12662	if invalidParams.Len() > 0 {
12663		return invalidParams
12664	}
12665	return nil
12666}
12667
12668// SetKmsKeyArn sets the KmsKeyArn field's value.
12669func (s *S3BucketLogDestination) SetKmsKeyArn(v string) *S3BucketLogDestination {
12670	s.KmsKeyArn = &v
12671	return s
12672}
12673
12674// SetLogPrefix sets the LogPrefix field's value.
12675func (s *S3BucketLogDestination) SetLogPrefix(v string) *S3BucketLogDestination {
12676	s.LogPrefix = &v
12677	return s
12678}
12679
12680// SetS3BucketArn sets the S3BucketArn field's value.
12681func (s *S3BucketLogDestination) SetS3BucketArn(v string) *S3BucketLogDestination {
12682	s.S3BucketArn = &v
12683	return s
12684}
12685
12686// Defines a Speech Synthesis Markup Language (SSML) prompt.
12687type SSMLMessage struct {
12688	_ struct{} `type:"structure"`
12689
12690	// The SSML text that defines the prompt.
12691	//
12692	// Value is a required field
12693	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
12694}
12695
12696// String returns the string representation
12697func (s SSMLMessage) String() string {
12698	return awsutil.Prettify(s)
12699}
12700
12701// GoString returns the string representation
12702func (s SSMLMessage) GoString() string {
12703	return s.String()
12704}
12705
12706// Validate inspects the fields of the type to determine if they are valid.
12707func (s *SSMLMessage) Validate() error {
12708	invalidParams := request.ErrInvalidParams{Context: "SSMLMessage"}
12709	if s.Value == nil {
12710		invalidParams.Add(request.NewErrParamRequired("Value"))
12711	}
12712	if s.Value != nil && len(*s.Value) < 1 {
12713		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
12714	}
12715
12716	if invalidParams.Len() > 0 {
12717		return invalidParams
12718	}
12719	return nil
12720}
12721
12722// SetValue sets the Value field's value.
12723func (s *SSMLMessage) SetValue(v string) *SSMLMessage {
12724	s.Value = &v
12725	return s
12726}
12727
12728// A sample utterance that invokes an intent or respond to a slot elicitation
12729// prompt.
12730type SampleUtterance struct {
12731	_ struct{} `type:"structure"`
12732
12733	// The sample utterance that Amazon Lex uses to build its machine-learning model
12734	// to recognize intents.
12735	//
12736	// Utterance is a required field
12737	Utterance *string `locationName:"utterance" type:"string" required:"true"`
12738}
12739
12740// String returns the string representation
12741func (s SampleUtterance) String() string {
12742	return awsutil.Prettify(s)
12743}
12744
12745// GoString returns the string representation
12746func (s SampleUtterance) GoString() string {
12747	return s.String()
12748}
12749
12750// Validate inspects the fields of the type to determine if they are valid.
12751func (s *SampleUtterance) Validate() error {
12752	invalidParams := request.ErrInvalidParams{Context: "SampleUtterance"}
12753	if s.Utterance == nil {
12754		invalidParams.Add(request.NewErrParamRequired("Utterance"))
12755	}
12756
12757	if invalidParams.Len() > 0 {
12758		return invalidParams
12759	}
12760	return nil
12761}
12762
12763// SetUtterance sets the Utterance field's value.
12764func (s *SampleUtterance) SetUtterance(v string) *SampleUtterance {
12765	s.Utterance = &v
12766	return s
12767}
12768
12769// Defines one of the values for a slot type.
12770type SampleValue struct {
12771	_ struct{} `type:"structure"`
12772
12773	// The value that can be used for a slot type.
12774	//
12775	// Value is a required field
12776	Value *string `locationName:"value" min:"1" type:"string" required:"true"`
12777}
12778
12779// String returns the string representation
12780func (s SampleValue) String() string {
12781	return awsutil.Prettify(s)
12782}
12783
12784// GoString returns the string representation
12785func (s SampleValue) GoString() string {
12786	return s.String()
12787}
12788
12789// Validate inspects the fields of the type to determine if they are valid.
12790func (s *SampleValue) Validate() error {
12791	invalidParams := request.ErrInvalidParams{Context: "SampleValue"}
12792	if s.Value == nil {
12793		invalidParams.Add(request.NewErrParamRequired("Value"))
12794	}
12795	if s.Value != nil && len(*s.Value) < 1 {
12796		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
12797	}
12798
12799	if invalidParams.Len() > 0 {
12800		return invalidParams
12801	}
12802	return nil
12803}
12804
12805// SetValue sets the Value field's value.
12806func (s *SampleValue) SetValue(v string) *SampleValue {
12807	s.Value = &v
12808	return s
12809}
12810
12811// Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment
12812// of user utterances.
12813type SentimentAnalysisSettings struct {
12814	_ struct{} `type:"structure"`
12815
12816	// Sets whether Amazon Lex uses Amazon Comprehend to detect the sentiment of
12817	// user utterances.
12818	//
12819	// DetectSentiment is a required field
12820	DetectSentiment *bool `locationName:"detectSentiment" type:"boolean" required:"true"`
12821}
12822
12823// String returns the string representation
12824func (s SentimentAnalysisSettings) String() string {
12825	return awsutil.Prettify(s)
12826}
12827
12828// GoString returns the string representation
12829func (s SentimentAnalysisSettings) GoString() string {
12830	return s.String()
12831}
12832
12833// Validate inspects the fields of the type to determine if they are valid.
12834func (s *SentimentAnalysisSettings) Validate() error {
12835	invalidParams := request.ErrInvalidParams{Context: "SentimentAnalysisSettings"}
12836	if s.DetectSentiment == nil {
12837		invalidParams.Add(request.NewErrParamRequired("DetectSentiment"))
12838	}
12839
12840	if invalidParams.Len() > 0 {
12841		return invalidParams
12842	}
12843	return nil
12844}
12845
12846// SetDetectSentiment sets the DetectSentiment field's value.
12847func (s *SentimentAnalysisSettings) SetDetectSentiment(v bool) *SentimentAnalysisSettings {
12848	s.DetectSentiment = &v
12849	return s
12850}
12851
12852type ServiceQuotaExceededException struct {
12853	_            struct{}                  `type:"structure"`
12854	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12855
12856	Message_ *string `locationName:"message" type:"string"`
12857}
12858
12859// String returns the string representation
12860func (s ServiceQuotaExceededException) String() string {
12861	return awsutil.Prettify(s)
12862}
12863
12864// GoString returns the string representation
12865func (s ServiceQuotaExceededException) GoString() string {
12866	return s.String()
12867}
12868
12869func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
12870	return &ServiceQuotaExceededException{
12871		RespMetadata: v,
12872	}
12873}
12874
12875// Code returns the exception type name.
12876func (s *ServiceQuotaExceededException) Code() string {
12877	return "ServiceQuotaExceededException"
12878}
12879
12880// Message returns the exception's message.
12881func (s *ServiceQuotaExceededException) Message() string {
12882	if s.Message_ != nil {
12883		return *s.Message_
12884	}
12885	return ""
12886}
12887
12888// OrigErr always returns nil, satisfies awserr.Error interface.
12889func (s *ServiceQuotaExceededException) OrigErr() error {
12890	return nil
12891}
12892
12893func (s *ServiceQuotaExceededException) Error() string {
12894	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12895}
12896
12897// Status code returns the HTTP status code for the request's response error.
12898func (s *ServiceQuotaExceededException) StatusCode() int {
12899	return s.RespMetadata.StatusCode
12900}
12901
12902// RequestID returns the service's response RequestID for request.
12903func (s *ServiceQuotaExceededException) RequestID() string {
12904	return s.RespMetadata.RequestID
12905}
12906
12907// Specifies the default value to use when a user doesn't provide a value for
12908// a slot.
12909type SlotDefaultValue struct {
12910	_ struct{} `type:"structure"`
12911
12912	// The default value to use when a user doesn't provide a value for a slot.
12913	//
12914	// DefaultValue is a required field
12915	DefaultValue *string `locationName:"defaultValue" min:"1" type:"string" required:"true"`
12916}
12917
12918// String returns the string representation
12919func (s SlotDefaultValue) String() string {
12920	return awsutil.Prettify(s)
12921}
12922
12923// GoString returns the string representation
12924func (s SlotDefaultValue) GoString() string {
12925	return s.String()
12926}
12927
12928// Validate inspects the fields of the type to determine if they are valid.
12929func (s *SlotDefaultValue) Validate() error {
12930	invalidParams := request.ErrInvalidParams{Context: "SlotDefaultValue"}
12931	if s.DefaultValue == nil {
12932		invalidParams.Add(request.NewErrParamRequired("DefaultValue"))
12933	}
12934	if s.DefaultValue != nil && len(*s.DefaultValue) < 1 {
12935		invalidParams.Add(request.NewErrParamMinLen("DefaultValue", 1))
12936	}
12937
12938	if invalidParams.Len() > 0 {
12939		return invalidParams
12940	}
12941	return nil
12942}
12943
12944// SetDefaultValue sets the DefaultValue field's value.
12945func (s *SlotDefaultValue) SetDefaultValue(v string) *SlotDefaultValue {
12946	s.DefaultValue = &v
12947	return s
12948}
12949
12950// Defines a list of values that Amazon Lex should use as the default value
12951// for a slot.
12952type SlotDefaultValueSpecification struct {
12953	_ struct{} `type:"structure"`
12954
12955	// A list of default values. Amazon Lex chooses the default value to use in
12956	// the order that they are presented in the list.
12957	//
12958	// DefaultValueList is a required field
12959	DefaultValueList []*SlotDefaultValue `locationName:"defaultValueList" type:"list" required:"true"`
12960}
12961
12962// String returns the string representation
12963func (s SlotDefaultValueSpecification) String() string {
12964	return awsutil.Prettify(s)
12965}
12966
12967// GoString returns the string representation
12968func (s SlotDefaultValueSpecification) GoString() string {
12969	return s.String()
12970}
12971
12972// Validate inspects the fields of the type to determine if they are valid.
12973func (s *SlotDefaultValueSpecification) Validate() error {
12974	invalidParams := request.ErrInvalidParams{Context: "SlotDefaultValueSpecification"}
12975	if s.DefaultValueList == nil {
12976		invalidParams.Add(request.NewErrParamRequired("DefaultValueList"))
12977	}
12978	if s.DefaultValueList != nil {
12979		for i, v := range s.DefaultValueList {
12980			if v == nil {
12981				continue
12982			}
12983			if err := v.Validate(); err != nil {
12984				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultValueList", i), err.(request.ErrInvalidParams))
12985			}
12986		}
12987	}
12988
12989	if invalidParams.Len() > 0 {
12990		return invalidParams
12991	}
12992	return nil
12993}
12994
12995// SetDefaultValueList sets the DefaultValueList field's value.
12996func (s *SlotDefaultValueSpecification) SetDefaultValueList(v []*SlotDefaultValue) *SlotDefaultValueSpecification {
12997	s.DefaultValueList = v
12998	return s
12999}
13000
13001// Filters the response from the ListSlots operation.
13002type SlotFilter struct {
13003	_ struct{} `type:"structure"`
13004
13005	// The name of the field to use for filtering.
13006	//
13007	// Name is a required field
13008	Name *string `locationName:"name" type:"string" required:"true" enum:"SlotFilterName"`
13009
13010	// The operator to use for the filter. Specify EQ when the ListSlots operation
13011	// should return only aliases that equal the specified value. Specify CO when
13012	// the ListSlots operation should return aliases that contain the specified
13013	// value.
13014	//
13015	// Operator is a required field
13016	Operator *string `locationName:"operator" type:"string" required:"true" enum:"SlotFilterOperator"`
13017
13018	// The value to use to filter the response.
13019	//
13020	// Values is a required field
13021	Values []*string `locationName:"values" min:"1" type:"list" required:"true"`
13022}
13023
13024// String returns the string representation
13025func (s SlotFilter) String() string {
13026	return awsutil.Prettify(s)
13027}
13028
13029// GoString returns the string representation
13030func (s SlotFilter) GoString() string {
13031	return s.String()
13032}
13033
13034// Validate inspects the fields of the type to determine if they are valid.
13035func (s *SlotFilter) Validate() error {
13036	invalidParams := request.ErrInvalidParams{Context: "SlotFilter"}
13037	if s.Name == nil {
13038		invalidParams.Add(request.NewErrParamRequired("Name"))
13039	}
13040	if s.Operator == nil {
13041		invalidParams.Add(request.NewErrParamRequired("Operator"))
13042	}
13043	if s.Values == nil {
13044		invalidParams.Add(request.NewErrParamRequired("Values"))
13045	}
13046	if s.Values != nil && len(s.Values) < 1 {
13047		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
13048	}
13049
13050	if invalidParams.Len() > 0 {
13051		return invalidParams
13052	}
13053	return nil
13054}
13055
13056// SetName sets the Name field's value.
13057func (s *SlotFilter) SetName(v string) *SlotFilter {
13058	s.Name = &v
13059	return s
13060}
13061
13062// SetOperator sets the Operator field's value.
13063func (s *SlotFilter) SetOperator(v string) *SlotFilter {
13064	s.Operator = &v
13065	return s
13066}
13067
13068// SetValues sets the Values field's value.
13069func (s *SlotFilter) SetValues(v []*string) *SlotFilter {
13070	s.Values = v
13071	return s
13072}
13073
13074// Sets the priority that Amazon Lex should use when eliciting slot values from
13075// a user.
13076type SlotPriority struct {
13077	_ struct{} `type:"structure"`
13078
13079	// The priority that a slot should be elicited.
13080	//
13081	// Priority is a required field
13082	Priority *int64 `locationName:"priority" type:"integer" required:"true"`
13083
13084	// The unique identifier of the slot.
13085	//
13086	// SlotId is a required field
13087	SlotId *string `locationName:"slotId" min:"10" type:"string" required:"true"`
13088}
13089
13090// String returns the string representation
13091func (s SlotPriority) String() string {
13092	return awsutil.Prettify(s)
13093}
13094
13095// GoString returns the string representation
13096func (s SlotPriority) GoString() string {
13097	return s.String()
13098}
13099
13100// Validate inspects the fields of the type to determine if they are valid.
13101func (s *SlotPriority) Validate() error {
13102	invalidParams := request.ErrInvalidParams{Context: "SlotPriority"}
13103	if s.Priority == nil {
13104		invalidParams.Add(request.NewErrParamRequired("Priority"))
13105	}
13106	if s.SlotId == nil {
13107		invalidParams.Add(request.NewErrParamRequired("SlotId"))
13108	}
13109	if s.SlotId != nil && len(*s.SlotId) < 10 {
13110		invalidParams.Add(request.NewErrParamMinLen("SlotId", 10))
13111	}
13112
13113	if invalidParams.Len() > 0 {
13114		return invalidParams
13115	}
13116	return nil
13117}
13118
13119// SetPriority sets the Priority field's value.
13120func (s *SlotPriority) SetPriority(v int64) *SlotPriority {
13121	s.Priority = &v
13122	return s
13123}
13124
13125// SetSlotId sets the SlotId field's value.
13126func (s *SlotPriority) SetSlotId(v string) *SlotPriority {
13127	s.SlotId = &v
13128	return s
13129}
13130
13131// Specifies attributes for sorting a list of bots.
13132type SlotSortBy struct {
13133	_ struct{} `type:"structure"`
13134
13135	// The attribute to use to sort the list.
13136	//
13137	// Attribute is a required field
13138	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"SlotSortAttribute"`
13139
13140	// The order to sort the list. You can choose ascending or descending.
13141	//
13142	// Order is a required field
13143	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
13144}
13145
13146// String returns the string representation
13147func (s SlotSortBy) String() string {
13148	return awsutil.Prettify(s)
13149}
13150
13151// GoString returns the string representation
13152func (s SlotSortBy) GoString() string {
13153	return s.String()
13154}
13155
13156// Validate inspects the fields of the type to determine if they are valid.
13157func (s *SlotSortBy) Validate() error {
13158	invalidParams := request.ErrInvalidParams{Context: "SlotSortBy"}
13159	if s.Attribute == nil {
13160		invalidParams.Add(request.NewErrParamRequired("Attribute"))
13161	}
13162	if s.Order == nil {
13163		invalidParams.Add(request.NewErrParamRequired("Order"))
13164	}
13165
13166	if invalidParams.Len() > 0 {
13167		return invalidParams
13168	}
13169	return nil
13170}
13171
13172// SetAttribute sets the Attribute field's value.
13173func (s *SlotSortBy) SetAttribute(v string) *SlotSortBy {
13174	s.Attribute = &v
13175	return s
13176}
13177
13178// SetOrder sets the Order field's value.
13179func (s *SlotSortBy) SetOrder(v string) *SlotSortBy {
13180	s.Order = &v
13181	return s
13182}
13183
13184// Summary information about a slot, a value that the bot elicits from the user.
13185type SlotSummary struct {
13186	_ struct{} `type:"structure"`
13187
13188	// The description of the slot.
13189	Description *string `locationName:"description" type:"string"`
13190
13191	// The timestamp of the last date and time that the slot was updated.
13192	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
13193
13194	// Whether the slot is required or optional. An intent is complete when all
13195	// required slots are filled.
13196	SlotConstraint *string `locationName:"slotConstraint" type:"string" enum:"SlotConstraint"`
13197
13198	// The unique identifier of the slot.
13199	SlotId *string `locationName:"slotId" min:"10" type:"string"`
13200
13201	// The name given to the slot.
13202	SlotName *string `locationName:"slotName" min:"1" type:"string"`
13203
13204	// The unique identifier for the slot type that defines the values for the slot.
13205	SlotTypeId *string `locationName:"slotTypeId" min:"1" type:"string"`
13206
13207	// Prompts that are sent to the user to elicit a value for the slot.
13208	ValueElicitationPromptSpecification *PromptSpecification `locationName:"valueElicitationPromptSpecification" type:"structure"`
13209}
13210
13211// String returns the string representation
13212func (s SlotSummary) String() string {
13213	return awsutil.Prettify(s)
13214}
13215
13216// GoString returns the string representation
13217func (s SlotSummary) GoString() string {
13218	return s.String()
13219}
13220
13221// SetDescription sets the Description field's value.
13222func (s *SlotSummary) SetDescription(v string) *SlotSummary {
13223	s.Description = &v
13224	return s
13225}
13226
13227// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
13228func (s *SlotSummary) SetLastUpdatedDateTime(v time.Time) *SlotSummary {
13229	s.LastUpdatedDateTime = &v
13230	return s
13231}
13232
13233// SetSlotConstraint sets the SlotConstraint field's value.
13234func (s *SlotSummary) SetSlotConstraint(v string) *SlotSummary {
13235	s.SlotConstraint = &v
13236	return s
13237}
13238
13239// SetSlotId sets the SlotId field's value.
13240func (s *SlotSummary) SetSlotId(v string) *SlotSummary {
13241	s.SlotId = &v
13242	return s
13243}
13244
13245// SetSlotName sets the SlotName field's value.
13246func (s *SlotSummary) SetSlotName(v string) *SlotSummary {
13247	s.SlotName = &v
13248	return s
13249}
13250
13251// SetSlotTypeId sets the SlotTypeId field's value.
13252func (s *SlotSummary) SetSlotTypeId(v string) *SlotSummary {
13253	s.SlotTypeId = &v
13254	return s
13255}
13256
13257// SetValueElicitationPromptSpecification sets the ValueElicitationPromptSpecification field's value.
13258func (s *SlotSummary) SetValueElicitationPromptSpecification(v *PromptSpecification) *SlotSummary {
13259	s.ValueElicitationPromptSpecification = v
13260	return s
13261}
13262
13263// Filters the response from the ListSlotTypes operation.
13264type SlotTypeFilter struct {
13265	_ struct{} `type:"structure"`
13266
13267	// The name of the field to use for filtering.
13268	//
13269	// Name is a required field
13270	Name *string `locationName:"name" type:"string" required:"true" enum:"SlotTypeFilterName"`
13271
13272	// The operator to use for the filter. Specify EQ when the ListSlotTypes operation
13273	// should return only aliases that equal the specified value. Specify CO when
13274	// the ListSlotTypes operation should return aliases that contain the specified
13275	// value.
13276	//
13277	// Operator is a required field
13278	Operator *string `locationName:"operator" type:"string" required:"true" enum:"SlotTypeFilterOperator"`
13279
13280	// The value to use to filter the response.
13281	//
13282	// Values is a required field
13283	Values []*string `locationName:"values" min:"1" type:"list" required:"true"`
13284}
13285
13286// String returns the string representation
13287func (s SlotTypeFilter) String() string {
13288	return awsutil.Prettify(s)
13289}
13290
13291// GoString returns the string representation
13292func (s SlotTypeFilter) GoString() string {
13293	return s.String()
13294}
13295
13296// Validate inspects the fields of the type to determine if they are valid.
13297func (s *SlotTypeFilter) Validate() error {
13298	invalidParams := request.ErrInvalidParams{Context: "SlotTypeFilter"}
13299	if s.Name == nil {
13300		invalidParams.Add(request.NewErrParamRequired("Name"))
13301	}
13302	if s.Operator == nil {
13303		invalidParams.Add(request.NewErrParamRequired("Operator"))
13304	}
13305	if s.Values == nil {
13306		invalidParams.Add(request.NewErrParamRequired("Values"))
13307	}
13308	if s.Values != nil && len(s.Values) < 1 {
13309		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
13310	}
13311
13312	if invalidParams.Len() > 0 {
13313		return invalidParams
13314	}
13315	return nil
13316}
13317
13318// SetName sets the Name field's value.
13319func (s *SlotTypeFilter) SetName(v string) *SlotTypeFilter {
13320	s.Name = &v
13321	return s
13322}
13323
13324// SetOperator sets the Operator field's value.
13325func (s *SlotTypeFilter) SetOperator(v string) *SlotTypeFilter {
13326	s.Operator = &v
13327	return s
13328}
13329
13330// SetValues sets the Values field's value.
13331func (s *SlotTypeFilter) SetValues(v []*string) *SlotTypeFilter {
13332	s.Values = v
13333	return s
13334}
13335
13336// Specifies attributes for sorting a list of slot types.
13337type SlotTypeSortBy struct {
13338	_ struct{} `type:"structure"`
13339
13340	// The attribute to use to sort the list of slot types.
13341	//
13342	// Attribute is a required field
13343	Attribute *string `locationName:"attribute" type:"string" required:"true" enum:"SlotTypeSortAttribute"`
13344
13345	// The order to sort the list. You can say ascending or descending.
13346	//
13347	// Order is a required field
13348	Order *string `locationName:"order" type:"string" required:"true" enum:"SortOrder"`
13349}
13350
13351// String returns the string representation
13352func (s SlotTypeSortBy) String() string {
13353	return awsutil.Prettify(s)
13354}
13355
13356// GoString returns the string representation
13357func (s SlotTypeSortBy) GoString() string {
13358	return s.String()
13359}
13360
13361// Validate inspects the fields of the type to determine if they are valid.
13362func (s *SlotTypeSortBy) Validate() error {
13363	invalidParams := request.ErrInvalidParams{Context: "SlotTypeSortBy"}
13364	if s.Attribute == nil {
13365		invalidParams.Add(request.NewErrParamRequired("Attribute"))
13366	}
13367	if s.Order == nil {
13368		invalidParams.Add(request.NewErrParamRequired("Order"))
13369	}
13370
13371	if invalidParams.Len() > 0 {
13372		return invalidParams
13373	}
13374	return nil
13375}
13376
13377// SetAttribute sets the Attribute field's value.
13378func (s *SlotTypeSortBy) SetAttribute(v string) *SlotTypeSortBy {
13379	s.Attribute = &v
13380	return s
13381}
13382
13383// SetOrder sets the Order field's value.
13384func (s *SlotTypeSortBy) SetOrder(v string) *SlotTypeSortBy {
13385	s.Order = &v
13386	return s
13387}
13388
13389// Provides summary information about a slot type.
13390type SlotTypeSummary struct {
13391	_ struct{} `type:"structure"`
13392
13393	// The description of the slot type.
13394	Description *string `locationName:"description" type:"string"`
13395
13396	// A timestamp of the date and time that the slot type was last updated.
13397	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
13398
13399	// If the slot type is derived from a built-on slot type, the name of the parent
13400	// slot type.
13401	ParentSlotTypeSignature *string `locationName:"parentSlotTypeSignature" type:"string"`
13402
13403	// The unique identifier assigned to the slot type.
13404	SlotTypeId *string `locationName:"slotTypeId" min:"10" type:"string"`
13405
13406	// The name of the slot type.
13407	SlotTypeName *string `locationName:"slotTypeName" min:"1" type:"string"`
13408}
13409
13410// String returns the string representation
13411func (s SlotTypeSummary) String() string {
13412	return awsutil.Prettify(s)
13413}
13414
13415// GoString returns the string representation
13416func (s SlotTypeSummary) GoString() string {
13417	return s.String()
13418}
13419
13420// SetDescription sets the Description field's value.
13421func (s *SlotTypeSummary) SetDescription(v string) *SlotTypeSummary {
13422	s.Description = &v
13423	return s
13424}
13425
13426// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
13427func (s *SlotTypeSummary) SetLastUpdatedDateTime(v time.Time) *SlotTypeSummary {
13428	s.LastUpdatedDateTime = &v
13429	return s
13430}
13431
13432// SetParentSlotTypeSignature sets the ParentSlotTypeSignature field's value.
13433func (s *SlotTypeSummary) SetParentSlotTypeSignature(v string) *SlotTypeSummary {
13434	s.ParentSlotTypeSignature = &v
13435	return s
13436}
13437
13438// SetSlotTypeId sets the SlotTypeId field's value.
13439func (s *SlotTypeSummary) SetSlotTypeId(v string) *SlotTypeSummary {
13440	s.SlotTypeId = &v
13441	return s
13442}
13443
13444// SetSlotTypeName sets the SlotTypeName field's value.
13445func (s *SlotTypeSummary) SetSlotTypeName(v string) *SlotTypeSummary {
13446	s.SlotTypeName = &v
13447	return s
13448}
13449
13450// Each slot type can have a set of values. Each SlotTypeValue represents a
13451// value that the slot type can take.
13452type SlotTypeValue struct {
13453	_ struct{} `type:"structure"`
13454
13455	// The value of the slot type entry.
13456	SampleValue *SampleValue `locationName:"sampleValue" type:"structure"`
13457
13458	// Additional values releated to the slot type entry.
13459	Synonyms []*SampleValue `locationName:"synonyms" min:"1" type:"list"`
13460}
13461
13462// String returns the string representation
13463func (s SlotTypeValue) String() string {
13464	return awsutil.Prettify(s)
13465}
13466
13467// GoString returns the string representation
13468func (s SlotTypeValue) GoString() string {
13469	return s.String()
13470}
13471
13472// Validate inspects the fields of the type to determine if they are valid.
13473func (s *SlotTypeValue) Validate() error {
13474	invalidParams := request.ErrInvalidParams{Context: "SlotTypeValue"}
13475	if s.Synonyms != nil && len(s.Synonyms) < 1 {
13476		invalidParams.Add(request.NewErrParamMinLen("Synonyms", 1))
13477	}
13478	if s.SampleValue != nil {
13479		if err := s.SampleValue.Validate(); err != nil {
13480			invalidParams.AddNested("SampleValue", err.(request.ErrInvalidParams))
13481		}
13482	}
13483	if s.Synonyms != nil {
13484		for i, v := range s.Synonyms {
13485			if v == nil {
13486				continue
13487			}
13488			if err := v.Validate(); err != nil {
13489				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Synonyms", i), err.(request.ErrInvalidParams))
13490			}
13491		}
13492	}
13493
13494	if invalidParams.Len() > 0 {
13495		return invalidParams
13496	}
13497	return nil
13498}
13499
13500// SetSampleValue sets the SampleValue field's value.
13501func (s *SlotTypeValue) SetSampleValue(v *SampleValue) *SlotTypeValue {
13502	s.SampleValue = v
13503	return s
13504}
13505
13506// SetSynonyms sets the Synonyms field's value.
13507func (s *SlotTypeValue) SetSynonyms(v []*SampleValue) *SlotTypeValue {
13508	s.Synonyms = v
13509	return s
13510}
13511
13512// Settings that you can use for eliciting a slot value.
13513type SlotValueElicitationSetting struct {
13514	_ struct{} `type:"structure"`
13515
13516	// A list of default values for a slot. Default values are used when Amazon
13517	// Lex hasn't determined a value for a slot. You can specify default values
13518	// from context variables, sesion attributes, and defined values.
13519	DefaultValueSpecification *SlotDefaultValueSpecification `locationName:"defaultValueSpecification" type:"structure"`
13520
13521	// The prompt that Amazon Lex uses to elicit the slot value from the user.
13522	PromptSpecification *PromptSpecification `locationName:"promptSpecification" type:"structure"`
13523
13524	// If you know a specific pattern that users might respond to an Amazon Lex
13525	// request for a slot value, you can provide those utterances to improve accuracy.
13526	// This is optional. In most cases, Amazon Lex is capable of understanding user
13527	// utterances.
13528	SampleUtterances []*SampleUtterance `locationName:"sampleUtterances" type:"list"`
13529
13530	// Specifies whether the slot is required or optional.
13531	//
13532	// SlotConstraint is a required field
13533	SlotConstraint *string `locationName:"slotConstraint" type:"string" required:"true" enum:"SlotConstraint"`
13534
13535	// Specifies the prompts that Amazon Lex uses while a bot is waiting for customer
13536	// input.
13537	WaitAndContinueSpecification *WaitAndContinueSpecification `locationName:"waitAndContinueSpecification" type:"structure"`
13538}
13539
13540// String returns the string representation
13541func (s SlotValueElicitationSetting) String() string {
13542	return awsutil.Prettify(s)
13543}
13544
13545// GoString returns the string representation
13546func (s SlotValueElicitationSetting) GoString() string {
13547	return s.String()
13548}
13549
13550// Validate inspects the fields of the type to determine if they are valid.
13551func (s *SlotValueElicitationSetting) Validate() error {
13552	invalidParams := request.ErrInvalidParams{Context: "SlotValueElicitationSetting"}
13553	if s.SlotConstraint == nil {
13554		invalidParams.Add(request.NewErrParamRequired("SlotConstraint"))
13555	}
13556	if s.DefaultValueSpecification != nil {
13557		if err := s.DefaultValueSpecification.Validate(); err != nil {
13558			invalidParams.AddNested("DefaultValueSpecification", err.(request.ErrInvalidParams))
13559		}
13560	}
13561	if s.PromptSpecification != nil {
13562		if err := s.PromptSpecification.Validate(); err != nil {
13563			invalidParams.AddNested("PromptSpecification", err.(request.ErrInvalidParams))
13564		}
13565	}
13566	if s.SampleUtterances != nil {
13567		for i, v := range s.SampleUtterances {
13568			if v == nil {
13569				continue
13570			}
13571			if err := v.Validate(); err != nil {
13572				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SampleUtterances", i), err.(request.ErrInvalidParams))
13573			}
13574		}
13575	}
13576	if s.WaitAndContinueSpecification != nil {
13577		if err := s.WaitAndContinueSpecification.Validate(); err != nil {
13578			invalidParams.AddNested("WaitAndContinueSpecification", err.(request.ErrInvalidParams))
13579		}
13580	}
13581
13582	if invalidParams.Len() > 0 {
13583		return invalidParams
13584	}
13585	return nil
13586}
13587
13588// SetDefaultValueSpecification sets the DefaultValueSpecification field's value.
13589func (s *SlotValueElicitationSetting) SetDefaultValueSpecification(v *SlotDefaultValueSpecification) *SlotValueElicitationSetting {
13590	s.DefaultValueSpecification = v
13591	return s
13592}
13593
13594// SetPromptSpecification sets the PromptSpecification field's value.
13595func (s *SlotValueElicitationSetting) SetPromptSpecification(v *PromptSpecification) *SlotValueElicitationSetting {
13596	s.PromptSpecification = v
13597	return s
13598}
13599
13600// SetSampleUtterances sets the SampleUtterances field's value.
13601func (s *SlotValueElicitationSetting) SetSampleUtterances(v []*SampleUtterance) *SlotValueElicitationSetting {
13602	s.SampleUtterances = v
13603	return s
13604}
13605
13606// SetSlotConstraint sets the SlotConstraint field's value.
13607func (s *SlotValueElicitationSetting) SetSlotConstraint(v string) *SlotValueElicitationSetting {
13608	s.SlotConstraint = &v
13609	return s
13610}
13611
13612// SetWaitAndContinueSpecification sets the WaitAndContinueSpecification field's value.
13613func (s *SlotValueElicitationSetting) SetWaitAndContinueSpecification(v *WaitAndContinueSpecification) *SlotValueElicitationSetting {
13614	s.WaitAndContinueSpecification = v
13615	return s
13616}
13617
13618// Provides a regular expression used to validate the value of a slot.
13619type SlotValueRegexFilter struct {
13620	_ struct{} `type:"structure"`
13621
13622	// A regular expression used to validate the value of a slot.
13623	//
13624	// Use a standard regular expression. Amazon Lex supports the following characters
13625	// in the regular expression:
13626	//
13627	//    * A-Z, a-z
13628	//
13629	//    * 0-9
13630	//
13631	//    * Unicode characters ("\ u<Unicode>")
13632	//
13633	// Represent Unicode characters with four digits, for example "\u0041" or "\u005A".
13634	//
13635	// The following regular expression operators are not supported:
13636	//
13637	//    * Infinite repeaters: *, +, or {x,} with no upper bound.
13638	//
13639	//    * Wild card (.)
13640	//
13641	// Pattern is a required field
13642	Pattern *string `locationName:"pattern" min:"1" type:"string" required:"true"`
13643}
13644
13645// String returns the string representation
13646func (s SlotValueRegexFilter) String() string {
13647	return awsutil.Prettify(s)
13648}
13649
13650// GoString returns the string representation
13651func (s SlotValueRegexFilter) GoString() string {
13652	return s.String()
13653}
13654
13655// Validate inspects the fields of the type to determine if they are valid.
13656func (s *SlotValueRegexFilter) Validate() error {
13657	invalidParams := request.ErrInvalidParams{Context: "SlotValueRegexFilter"}
13658	if s.Pattern == nil {
13659		invalidParams.Add(request.NewErrParamRequired("Pattern"))
13660	}
13661	if s.Pattern != nil && len(*s.Pattern) < 1 {
13662		invalidParams.Add(request.NewErrParamMinLen("Pattern", 1))
13663	}
13664
13665	if invalidParams.Len() > 0 {
13666		return invalidParams
13667	}
13668	return nil
13669}
13670
13671// SetPattern sets the Pattern field's value.
13672func (s *SlotValueRegexFilter) SetPattern(v string) *SlotValueRegexFilter {
13673	s.Pattern = &v
13674	return s
13675}
13676
13677// Contains settings used by Amazon Lex to select a slot value.
13678type SlotValueSelectionSetting struct {
13679	_ struct{} `type:"structure"`
13680
13681	// A regular expression used to validate the value of a slot.
13682	RegexFilter *SlotValueRegexFilter `locationName:"regexFilter" type:"structure"`
13683
13684	// Determines the slot resolution strategy that Amazon Lex uses to return slot
13685	// type values. The field can be set to one of the following values:
13686	//
13687	//    * OriginalValue - Returns the value entered by the user, if the user value
13688	//    is similar to the slot value.
13689	//
13690	//    * TopResolution - If there is a resolution list for the slot, return the
13691	//    first value in the resolution list as the slot type value. If there is
13692	//    no resolution list, null is returned.
13693	//
13694	// If you don't specify the valueSelectionStrategy, the default is OriginalValue.
13695	//
13696	// ResolutionStrategy is a required field
13697	ResolutionStrategy *string `locationName:"resolutionStrategy" type:"string" required:"true" enum:"SlotValueResolutionStrategy"`
13698}
13699
13700// String returns the string representation
13701func (s SlotValueSelectionSetting) String() string {
13702	return awsutil.Prettify(s)
13703}
13704
13705// GoString returns the string representation
13706func (s SlotValueSelectionSetting) GoString() string {
13707	return s.String()
13708}
13709
13710// Validate inspects the fields of the type to determine if they are valid.
13711func (s *SlotValueSelectionSetting) Validate() error {
13712	invalidParams := request.ErrInvalidParams{Context: "SlotValueSelectionSetting"}
13713	if s.ResolutionStrategy == nil {
13714		invalidParams.Add(request.NewErrParamRequired("ResolutionStrategy"))
13715	}
13716	if s.RegexFilter != nil {
13717		if err := s.RegexFilter.Validate(); err != nil {
13718			invalidParams.AddNested("RegexFilter", err.(request.ErrInvalidParams))
13719		}
13720	}
13721
13722	if invalidParams.Len() > 0 {
13723		return invalidParams
13724	}
13725	return nil
13726}
13727
13728// SetRegexFilter sets the RegexFilter field's value.
13729func (s *SlotValueSelectionSetting) SetRegexFilter(v *SlotValueRegexFilter) *SlotValueSelectionSetting {
13730	s.RegexFilter = v
13731	return s
13732}
13733
13734// SetResolutionStrategy sets the ResolutionStrategy field's value.
13735func (s *SlotValueSelectionSetting) SetResolutionStrategy(v string) *SlotValueSelectionSetting {
13736	s.ResolutionStrategy = &v
13737	return s
13738}
13739
13740// Defines the messages that Amazon Lex sends to a user to remind them that
13741// the bot is waiting for a response.
13742type StillWaitingResponseSpecification struct {
13743	_ struct{} `type:"structure"`
13744
13745	// Indicates that the user can interrupt the response by speaking while the
13746	// message is being played.
13747	AllowInterrupt *bool `locationName:"allowInterrupt" type:"boolean"`
13748
13749	// How often a message should be sent to the user. Minimum of 1 second, maximum
13750	// of 5 minutes.
13751	//
13752	// FrequencyInSeconds is a required field
13753	FrequencyInSeconds *int64 `locationName:"frequencyInSeconds" min:"1" type:"integer" required:"true"`
13754
13755	// One or more message groups, each containing one or more messages, that define
13756	// the prompts that Amazon Lex sends to the user.
13757	//
13758	// MessageGroups is a required field
13759	MessageGroups []*MessageGroup `locationName:"messageGroups" min:"1" type:"list" required:"true"`
13760
13761	// If Amazon Lex waits longer than this length of time for a response, it will
13762	// stop sending messages.
13763	//
13764	// TimeoutInSeconds is a required field
13765	TimeoutInSeconds *int64 `locationName:"timeoutInSeconds" min:"1" type:"integer" required:"true"`
13766}
13767
13768// String returns the string representation
13769func (s StillWaitingResponseSpecification) String() string {
13770	return awsutil.Prettify(s)
13771}
13772
13773// GoString returns the string representation
13774func (s StillWaitingResponseSpecification) GoString() string {
13775	return s.String()
13776}
13777
13778// Validate inspects the fields of the type to determine if they are valid.
13779func (s *StillWaitingResponseSpecification) Validate() error {
13780	invalidParams := request.ErrInvalidParams{Context: "StillWaitingResponseSpecification"}
13781	if s.FrequencyInSeconds == nil {
13782		invalidParams.Add(request.NewErrParamRequired("FrequencyInSeconds"))
13783	}
13784	if s.FrequencyInSeconds != nil && *s.FrequencyInSeconds < 1 {
13785		invalidParams.Add(request.NewErrParamMinValue("FrequencyInSeconds", 1))
13786	}
13787	if s.MessageGroups == nil {
13788		invalidParams.Add(request.NewErrParamRequired("MessageGroups"))
13789	}
13790	if s.MessageGroups != nil && len(s.MessageGroups) < 1 {
13791		invalidParams.Add(request.NewErrParamMinLen("MessageGroups", 1))
13792	}
13793	if s.TimeoutInSeconds == nil {
13794		invalidParams.Add(request.NewErrParamRequired("TimeoutInSeconds"))
13795	}
13796	if s.TimeoutInSeconds != nil && *s.TimeoutInSeconds < 1 {
13797		invalidParams.Add(request.NewErrParamMinValue("TimeoutInSeconds", 1))
13798	}
13799	if s.MessageGroups != nil {
13800		for i, v := range s.MessageGroups {
13801			if v == nil {
13802				continue
13803			}
13804			if err := v.Validate(); err != nil {
13805				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MessageGroups", i), err.(request.ErrInvalidParams))
13806			}
13807		}
13808	}
13809
13810	if invalidParams.Len() > 0 {
13811		return invalidParams
13812	}
13813	return nil
13814}
13815
13816// SetAllowInterrupt sets the AllowInterrupt field's value.
13817func (s *StillWaitingResponseSpecification) SetAllowInterrupt(v bool) *StillWaitingResponseSpecification {
13818	s.AllowInterrupt = &v
13819	return s
13820}
13821
13822// SetFrequencyInSeconds sets the FrequencyInSeconds field's value.
13823func (s *StillWaitingResponseSpecification) SetFrequencyInSeconds(v int64) *StillWaitingResponseSpecification {
13824	s.FrequencyInSeconds = &v
13825	return s
13826}
13827
13828// SetMessageGroups sets the MessageGroups field's value.
13829func (s *StillWaitingResponseSpecification) SetMessageGroups(v []*MessageGroup) *StillWaitingResponseSpecification {
13830	s.MessageGroups = v
13831	return s
13832}
13833
13834// SetTimeoutInSeconds sets the TimeoutInSeconds field's value.
13835func (s *StillWaitingResponseSpecification) SetTimeoutInSeconds(v int64) *StillWaitingResponseSpecification {
13836	s.TimeoutInSeconds = &v
13837	return s
13838}
13839
13840type TagResourceInput struct {
13841	_ struct{} `type:"structure"`
13842
13843	// The Amazon Resource Name (ARN) of the bot, bot alias, or bot channel to tag.
13844	//
13845	// ResourceARN is a required field
13846	ResourceARN *string `location:"uri" locationName:"resourceARN" min:"1" type:"string" required:"true"`
13847
13848	// A list of tag keys to add to the resource. If a tag key already exists, the
13849	// existing value is replaced with the new value.
13850	//
13851	// Tags is a required field
13852	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
13853}
13854
13855// String returns the string representation
13856func (s TagResourceInput) String() string {
13857	return awsutil.Prettify(s)
13858}
13859
13860// GoString returns the string representation
13861func (s TagResourceInput) GoString() string {
13862	return s.String()
13863}
13864
13865// Validate inspects the fields of the type to determine if they are valid.
13866func (s *TagResourceInput) Validate() error {
13867	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
13868	if s.ResourceARN == nil {
13869		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
13870	}
13871	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
13872		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
13873	}
13874	if s.Tags == nil {
13875		invalidParams.Add(request.NewErrParamRequired("Tags"))
13876	}
13877
13878	if invalidParams.Len() > 0 {
13879		return invalidParams
13880	}
13881	return nil
13882}
13883
13884// SetResourceARN sets the ResourceARN field's value.
13885func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
13886	s.ResourceARN = &v
13887	return s
13888}
13889
13890// SetTags sets the Tags field's value.
13891func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
13892	s.Tags = v
13893	return s
13894}
13895
13896type TagResourceOutput struct {
13897	_ struct{} `type:"structure"`
13898}
13899
13900// String returns the string representation
13901func (s TagResourceOutput) String() string {
13902	return awsutil.Prettify(s)
13903}
13904
13905// GoString returns the string representation
13906func (s TagResourceOutput) GoString() string {
13907	return s.String()
13908}
13909
13910// Defines the Amazon CloudWatch Logs destination log group for conversation
13911// text logs.
13912type TextLogDestination struct {
13913	_ struct{} `type:"structure"`
13914
13915	// Defines the Amazon CloudWatch Logs log group where text and metadata logs
13916	// are delivered.
13917	//
13918	// CloudWatch is a required field
13919	CloudWatch *CloudWatchLogGroupLogDestination `locationName:"cloudWatch" type:"structure" required:"true"`
13920}
13921
13922// String returns the string representation
13923func (s TextLogDestination) String() string {
13924	return awsutil.Prettify(s)
13925}
13926
13927// GoString returns the string representation
13928func (s TextLogDestination) GoString() string {
13929	return s.String()
13930}
13931
13932// Validate inspects the fields of the type to determine if they are valid.
13933func (s *TextLogDestination) Validate() error {
13934	invalidParams := request.ErrInvalidParams{Context: "TextLogDestination"}
13935	if s.CloudWatch == nil {
13936		invalidParams.Add(request.NewErrParamRequired("CloudWatch"))
13937	}
13938	if s.CloudWatch != nil {
13939		if err := s.CloudWatch.Validate(); err != nil {
13940			invalidParams.AddNested("CloudWatch", err.(request.ErrInvalidParams))
13941		}
13942	}
13943
13944	if invalidParams.Len() > 0 {
13945		return invalidParams
13946	}
13947	return nil
13948}
13949
13950// SetCloudWatch sets the CloudWatch field's value.
13951func (s *TextLogDestination) SetCloudWatch(v *CloudWatchLogGroupLogDestination) *TextLogDestination {
13952	s.CloudWatch = v
13953	return s
13954}
13955
13956// Defines settings to enable text conversation logs.
13957type TextLogSetting struct {
13958	_ struct{} `type:"structure"`
13959
13960	// Defines the Amazon CloudWatch Logs destination log group for conversation
13961	// text logs.
13962	//
13963	// Destination is a required field
13964	Destination *TextLogDestination `locationName:"destination" type:"structure" required:"true"`
13965
13966	// Determines whether conversation logs should be stored for an alias.
13967	//
13968	// Enabled is a required field
13969	Enabled *bool `locationName:"enabled" type:"boolean" required:"true"`
13970}
13971
13972// String returns the string representation
13973func (s TextLogSetting) String() string {
13974	return awsutil.Prettify(s)
13975}
13976
13977// GoString returns the string representation
13978func (s TextLogSetting) GoString() string {
13979	return s.String()
13980}
13981
13982// Validate inspects the fields of the type to determine if they are valid.
13983func (s *TextLogSetting) Validate() error {
13984	invalidParams := request.ErrInvalidParams{Context: "TextLogSetting"}
13985	if s.Destination == nil {
13986		invalidParams.Add(request.NewErrParamRequired("Destination"))
13987	}
13988	if s.Enabled == nil {
13989		invalidParams.Add(request.NewErrParamRequired("Enabled"))
13990	}
13991	if s.Destination != nil {
13992		if err := s.Destination.Validate(); err != nil {
13993			invalidParams.AddNested("Destination", err.(request.ErrInvalidParams))
13994		}
13995	}
13996
13997	if invalidParams.Len() > 0 {
13998		return invalidParams
13999	}
14000	return nil
14001}
14002
14003// SetDestination sets the Destination field's value.
14004func (s *TextLogSetting) SetDestination(v *TextLogDestination) *TextLogSetting {
14005	s.Destination = v
14006	return s
14007}
14008
14009// SetEnabled sets the Enabled field's value.
14010func (s *TextLogSetting) SetEnabled(v bool) *TextLogSetting {
14011	s.Enabled = &v
14012	return s
14013}
14014
14015type ThrottlingException struct {
14016	_            struct{}                  `type:"structure"`
14017	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14018
14019	Message_ *string `locationName:"message" type:"string"`
14020
14021	RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"`
14022}
14023
14024// String returns the string representation
14025func (s ThrottlingException) String() string {
14026	return awsutil.Prettify(s)
14027}
14028
14029// GoString returns the string representation
14030func (s ThrottlingException) GoString() string {
14031	return s.String()
14032}
14033
14034func newErrorThrottlingException(v protocol.ResponseMetadata) error {
14035	return &ThrottlingException{
14036		RespMetadata: v,
14037	}
14038}
14039
14040// Code returns the exception type name.
14041func (s *ThrottlingException) Code() string {
14042	return "ThrottlingException"
14043}
14044
14045// Message returns the exception's message.
14046func (s *ThrottlingException) Message() string {
14047	if s.Message_ != nil {
14048		return *s.Message_
14049	}
14050	return ""
14051}
14052
14053// OrigErr always returns nil, satisfies awserr.Error interface.
14054func (s *ThrottlingException) OrigErr() error {
14055	return nil
14056}
14057
14058func (s *ThrottlingException) Error() string {
14059	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
14060}
14061
14062// Status code returns the HTTP status code for the request's response error.
14063func (s *ThrottlingException) StatusCode() int {
14064	return s.RespMetadata.StatusCode
14065}
14066
14067// RequestID returns the service's response RequestID for request.
14068func (s *ThrottlingException) RequestID() string {
14069	return s.RespMetadata.RequestID
14070}
14071
14072type UntagResourceInput struct {
14073	_ struct{} `type:"structure"`
14074
14075	// The Amazon Resource Name (ARN) of the resource to remove the tags from.
14076	//
14077	// ResourceARN is a required field
14078	ResourceARN *string `location:"uri" locationName:"resourceARN" min:"1" type:"string" required:"true"`
14079
14080	// A list of tag keys to remove from the resource. If a tag key does not exist
14081	// on the resource, it is ignored.
14082	//
14083	// TagKeys is a required field
14084	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
14085}
14086
14087// String returns the string representation
14088func (s UntagResourceInput) String() string {
14089	return awsutil.Prettify(s)
14090}
14091
14092// GoString returns the string representation
14093func (s UntagResourceInput) GoString() string {
14094	return s.String()
14095}
14096
14097// Validate inspects the fields of the type to determine if they are valid.
14098func (s *UntagResourceInput) Validate() error {
14099	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
14100	if s.ResourceARN == nil {
14101		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
14102	}
14103	if s.ResourceARN != nil && len(*s.ResourceARN) < 1 {
14104		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1))
14105	}
14106	if s.TagKeys == nil {
14107		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
14108	}
14109
14110	if invalidParams.Len() > 0 {
14111		return invalidParams
14112	}
14113	return nil
14114}
14115
14116// SetResourceARN sets the ResourceARN field's value.
14117func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
14118	s.ResourceARN = &v
14119	return s
14120}
14121
14122// SetTagKeys sets the TagKeys field's value.
14123func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
14124	s.TagKeys = v
14125	return s
14126}
14127
14128type UntagResourceOutput struct {
14129	_ struct{} `type:"structure"`
14130}
14131
14132// String returns the string representation
14133func (s UntagResourceOutput) String() string {
14134	return awsutil.Prettify(s)
14135}
14136
14137// GoString returns the string representation
14138func (s UntagResourceOutput) GoString() string {
14139	return s.String()
14140}
14141
14142type UpdateBotAliasInput struct {
14143	_ struct{} `type:"structure"`
14144
14145	// The unique identifier of the bot alias.
14146	//
14147	// BotAliasId is a required field
14148	BotAliasId *string `location:"uri" locationName:"botAliasId" min:"10" type:"string" required:"true"`
14149
14150	// The new Lambda functions to use in each locale for the bot alias.
14151	BotAliasLocaleSettings map[string]*BotAliasLocaleSettings `locationName:"botAliasLocaleSettings" min:"1" type:"map"`
14152
14153	// The new name to assign to the bot alias.
14154	//
14155	// BotAliasName is a required field
14156	BotAliasName *string `locationName:"botAliasName" min:"1" type:"string" required:"true"`
14157
14158	// The identifier of the bot with the updated alias.
14159	//
14160	// BotId is a required field
14161	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
14162
14163	// The new bot version to assign to the bot alias.
14164	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
14165
14166	// The new settings for storing conversation logs in Amazon CloudWatch Logs
14167	// and Amazon S3 buckets.
14168	ConversationLogSettings *ConversationLogSettings `locationName:"conversationLogSettings" type:"structure"`
14169
14170	// The new description to assign to the bot alias.
14171	Description *string `locationName:"description" type:"string"`
14172
14173	// Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment
14174	// of user utterances.
14175	SentimentAnalysisSettings *SentimentAnalysisSettings `locationName:"sentimentAnalysisSettings" type:"structure"`
14176}
14177
14178// String returns the string representation
14179func (s UpdateBotAliasInput) String() string {
14180	return awsutil.Prettify(s)
14181}
14182
14183// GoString returns the string representation
14184func (s UpdateBotAliasInput) GoString() string {
14185	return s.String()
14186}
14187
14188// Validate inspects the fields of the type to determine if they are valid.
14189func (s *UpdateBotAliasInput) Validate() error {
14190	invalidParams := request.ErrInvalidParams{Context: "UpdateBotAliasInput"}
14191	if s.BotAliasId == nil {
14192		invalidParams.Add(request.NewErrParamRequired("BotAliasId"))
14193	}
14194	if s.BotAliasId != nil && len(*s.BotAliasId) < 10 {
14195		invalidParams.Add(request.NewErrParamMinLen("BotAliasId", 10))
14196	}
14197	if s.BotAliasLocaleSettings != nil && len(s.BotAliasLocaleSettings) < 1 {
14198		invalidParams.Add(request.NewErrParamMinLen("BotAliasLocaleSettings", 1))
14199	}
14200	if s.BotAliasName == nil {
14201		invalidParams.Add(request.NewErrParamRequired("BotAliasName"))
14202	}
14203	if s.BotAliasName != nil && len(*s.BotAliasName) < 1 {
14204		invalidParams.Add(request.NewErrParamMinLen("BotAliasName", 1))
14205	}
14206	if s.BotId == nil {
14207		invalidParams.Add(request.NewErrParamRequired("BotId"))
14208	}
14209	if s.BotId != nil && len(*s.BotId) < 10 {
14210		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
14211	}
14212	if s.BotVersion != nil && len(*s.BotVersion) < 1 {
14213		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 1))
14214	}
14215	if s.BotAliasLocaleSettings != nil {
14216		for i, v := range s.BotAliasLocaleSettings {
14217			if v == nil {
14218				continue
14219			}
14220			if err := v.Validate(); err != nil {
14221				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BotAliasLocaleSettings", i), err.(request.ErrInvalidParams))
14222			}
14223		}
14224	}
14225	if s.ConversationLogSettings != nil {
14226		if err := s.ConversationLogSettings.Validate(); err != nil {
14227			invalidParams.AddNested("ConversationLogSettings", err.(request.ErrInvalidParams))
14228		}
14229	}
14230	if s.SentimentAnalysisSettings != nil {
14231		if err := s.SentimentAnalysisSettings.Validate(); err != nil {
14232			invalidParams.AddNested("SentimentAnalysisSettings", err.(request.ErrInvalidParams))
14233		}
14234	}
14235
14236	if invalidParams.Len() > 0 {
14237		return invalidParams
14238	}
14239	return nil
14240}
14241
14242// SetBotAliasId sets the BotAliasId field's value.
14243func (s *UpdateBotAliasInput) SetBotAliasId(v string) *UpdateBotAliasInput {
14244	s.BotAliasId = &v
14245	return s
14246}
14247
14248// SetBotAliasLocaleSettings sets the BotAliasLocaleSettings field's value.
14249func (s *UpdateBotAliasInput) SetBotAliasLocaleSettings(v map[string]*BotAliasLocaleSettings) *UpdateBotAliasInput {
14250	s.BotAliasLocaleSettings = v
14251	return s
14252}
14253
14254// SetBotAliasName sets the BotAliasName field's value.
14255func (s *UpdateBotAliasInput) SetBotAliasName(v string) *UpdateBotAliasInput {
14256	s.BotAliasName = &v
14257	return s
14258}
14259
14260// SetBotId sets the BotId field's value.
14261func (s *UpdateBotAliasInput) SetBotId(v string) *UpdateBotAliasInput {
14262	s.BotId = &v
14263	return s
14264}
14265
14266// SetBotVersion sets the BotVersion field's value.
14267func (s *UpdateBotAliasInput) SetBotVersion(v string) *UpdateBotAliasInput {
14268	s.BotVersion = &v
14269	return s
14270}
14271
14272// SetConversationLogSettings sets the ConversationLogSettings field's value.
14273func (s *UpdateBotAliasInput) SetConversationLogSettings(v *ConversationLogSettings) *UpdateBotAliasInput {
14274	s.ConversationLogSettings = v
14275	return s
14276}
14277
14278// SetDescription sets the Description field's value.
14279func (s *UpdateBotAliasInput) SetDescription(v string) *UpdateBotAliasInput {
14280	s.Description = &v
14281	return s
14282}
14283
14284// SetSentimentAnalysisSettings sets the SentimentAnalysisSettings field's value.
14285func (s *UpdateBotAliasInput) SetSentimentAnalysisSettings(v *SentimentAnalysisSettings) *UpdateBotAliasInput {
14286	s.SentimentAnalysisSettings = v
14287	return s
14288}
14289
14290type UpdateBotAliasOutput struct {
14291	_ struct{} `type:"structure"`
14292
14293	// The identifier of the updated bot alias.
14294	BotAliasId *string `locationName:"botAliasId" min:"10" type:"string"`
14295
14296	// The updated Lambda functions to use in each locale for the bot alias.
14297	BotAliasLocaleSettings map[string]*BotAliasLocaleSettings `locationName:"botAliasLocaleSettings" min:"1" type:"map"`
14298
14299	// The updated name of the bot alias.
14300	BotAliasName *string `locationName:"botAliasName" min:"1" type:"string"`
14301
14302	// The current status of the bot alias. When the status is Available the alias
14303	// is ready for use.
14304	BotAliasStatus *string `locationName:"botAliasStatus" type:"string" enum:"BotAliasStatus"`
14305
14306	// The identifier of the bot with the updated alias.
14307	BotId *string `locationName:"botId" min:"10" type:"string"`
14308
14309	// The updated version of the bot that the alias points to.
14310	BotVersion *string `locationName:"botVersion" min:"1" type:"string"`
14311
14312	// The updated settings for storing conversation logs in Amazon CloudWatch Logs
14313	// and Amazon S3 buckets.
14314	ConversationLogSettings *ConversationLogSettings `locationName:"conversationLogSettings" type:"structure"`
14315
14316	// A timestamp of the date and time that the bot was created.
14317	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
14318
14319	// The updated description of the bot alias.
14320	Description *string `locationName:"description" type:"string"`
14321
14322	// A timestamp of the date and time that the bot was last updated.
14323	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
14324
14325	// Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment
14326	// of user utterances.
14327	SentimentAnalysisSettings *SentimentAnalysisSettings `locationName:"sentimentAnalysisSettings" type:"structure"`
14328}
14329
14330// String returns the string representation
14331func (s UpdateBotAliasOutput) String() string {
14332	return awsutil.Prettify(s)
14333}
14334
14335// GoString returns the string representation
14336func (s UpdateBotAliasOutput) GoString() string {
14337	return s.String()
14338}
14339
14340// SetBotAliasId sets the BotAliasId field's value.
14341func (s *UpdateBotAliasOutput) SetBotAliasId(v string) *UpdateBotAliasOutput {
14342	s.BotAliasId = &v
14343	return s
14344}
14345
14346// SetBotAliasLocaleSettings sets the BotAliasLocaleSettings field's value.
14347func (s *UpdateBotAliasOutput) SetBotAliasLocaleSettings(v map[string]*BotAliasLocaleSettings) *UpdateBotAliasOutput {
14348	s.BotAliasLocaleSettings = v
14349	return s
14350}
14351
14352// SetBotAliasName sets the BotAliasName field's value.
14353func (s *UpdateBotAliasOutput) SetBotAliasName(v string) *UpdateBotAliasOutput {
14354	s.BotAliasName = &v
14355	return s
14356}
14357
14358// SetBotAliasStatus sets the BotAliasStatus field's value.
14359func (s *UpdateBotAliasOutput) SetBotAliasStatus(v string) *UpdateBotAliasOutput {
14360	s.BotAliasStatus = &v
14361	return s
14362}
14363
14364// SetBotId sets the BotId field's value.
14365func (s *UpdateBotAliasOutput) SetBotId(v string) *UpdateBotAliasOutput {
14366	s.BotId = &v
14367	return s
14368}
14369
14370// SetBotVersion sets the BotVersion field's value.
14371func (s *UpdateBotAliasOutput) SetBotVersion(v string) *UpdateBotAliasOutput {
14372	s.BotVersion = &v
14373	return s
14374}
14375
14376// SetConversationLogSettings sets the ConversationLogSettings field's value.
14377func (s *UpdateBotAliasOutput) SetConversationLogSettings(v *ConversationLogSettings) *UpdateBotAliasOutput {
14378	s.ConversationLogSettings = v
14379	return s
14380}
14381
14382// SetCreationDateTime sets the CreationDateTime field's value.
14383func (s *UpdateBotAliasOutput) SetCreationDateTime(v time.Time) *UpdateBotAliasOutput {
14384	s.CreationDateTime = &v
14385	return s
14386}
14387
14388// SetDescription sets the Description field's value.
14389func (s *UpdateBotAliasOutput) SetDescription(v string) *UpdateBotAliasOutput {
14390	s.Description = &v
14391	return s
14392}
14393
14394// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
14395func (s *UpdateBotAliasOutput) SetLastUpdatedDateTime(v time.Time) *UpdateBotAliasOutput {
14396	s.LastUpdatedDateTime = &v
14397	return s
14398}
14399
14400// SetSentimentAnalysisSettings sets the SentimentAnalysisSettings field's value.
14401func (s *UpdateBotAliasOutput) SetSentimentAnalysisSettings(v *SentimentAnalysisSettings) *UpdateBotAliasOutput {
14402	s.SentimentAnalysisSettings = v
14403	return s
14404}
14405
14406type UpdateBotInput struct {
14407	_ struct{} `type:"structure"`
14408
14409	// The unique identifier of the bot to update. This identifier is returned by
14410	// the CreateBot operation.
14411	//
14412	// BotId is a required field
14413	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
14414
14415	// The new name of the bot. The name must be unique in the account that creates
14416	// the bot.
14417	//
14418	// BotName is a required field
14419	BotName *string `locationName:"botName" min:"1" type:"string" required:"true"`
14420
14421	// Provides information on additional privacy protections Amazon Lex should
14422	// use with the bot's data.
14423	//
14424	// DataPrivacy is a required field
14425	DataPrivacy *DataPrivacy `locationName:"dataPrivacy" type:"structure" required:"true"`
14426
14427	// A description of the bot.
14428	Description *string `locationName:"description" type:"string"`
14429
14430	// The time, in seconds, that Amazon Lex should keep information about a user's
14431	// conversation with the bot.
14432	//
14433	// A user interaction remains active for the amount of time specified. If no
14434	// conversation occurs during this time, the session expires and Amazon Lex
14435	// deletes any data provided before the timeout.
14436	//
14437	// You can specify between 60 (1 minute) and 86,400 (24 hours) seconds.
14438	//
14439	// IdleSessionTTLInSeconds is a required field
14440	IdleSessionTTLInSeconds *int64 `locationName:"idleSessionTTLInSeconds" min:"60" type:"integer" required:"true"`
14441
14442	// The Amazon Resource Name (ARN) of an IAM role that has permissions to access
14443	// the bot.
14444	//
14445	// RoleArn is a required field
14446	RoleArn *string `locationName:"roleArn" min:"32" type:"string" required:"true"`
14447}
14448
14449// String returns the string representation
14450func (s UpdateBotInput) String() string {
14451	return awsutil.Prettify(s)
14452}
14453
14454// GoString returns the string representation
14455func (s UpdateBotInput) GoString() string {
14456	return s.String()
14457}
14458
14459// Validate inspects the fields of the type to determine if they are valid.
14460func (s *UpdateBotInput) Validate() error {
14461	invalidParams := request.ErrInvalidParams{Context: "UpdateBotInput"}
14462	if s.BotId == nil {
14463		invalidParams.Add(request.NewErrParamRequired("BotId"))
14464	}
14465	if s.BotId != nil && len(*s.BotId) < 10 {
14466		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
14467	}
14468	if s.BotName == nil {
14469		invalidParams.Add(request.NewErrParamRequired("BotName"))
14470	}
14471	if s.BotName != nil && len(*s.BotName) < 1 {
14472		invalidParams.Add(request.NewErrParamMinLen("BotName", 1))
14473	}
14474	if s.DataPrivacy == nil {
14475		invalidParams.Add(request.NewErrParamRequired("DataPrivacy"))
14476	}
14477	if s.IdleSessionTTLInSeconds == nil {
14478		invalidParams.Add(request.NewErrParamRequired("IdleSessionTTLInSeconds"))
14479	}
14480	if s.IdleSessionTTLInSeconds != nil && *s.IdleSessionTTLInSeconds < 60 {
14481		invalidParams.Add(request.NewErrParamMinValue("IdleSessionTTLInSeconds", 60))
14482	}
14483	if s.RoleArn == nil {
14484		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
14485	}
14486	if s.RoleArn != nil && len(*s.RoleArn) < 32 {
14487		invalidParams.Add(request.NewErrParamMinLen("RoleArn", 32))
14488	}
14489	if s.DataPrivacy != nil {
14490		if err := s.DataPrivacy.Validate(); err != nil {
14491			invalidParams.AddNested("DataPrivacy", err.(request.ErrInvalidParams))
14492		}
14493	}
14494
14495	if invalidParams.Len() > 0 {
14496		return invalidParams
14497	}
14498	return nil
14499}
14500
14501// SetBotId sets the BotId field's value.
14502func (s *UpdateBotInput) SetBotId(v string) *UpdateBotInput {
14503	s.BotId = &v
14504	return s
14505}
14506
14507// SetBotName sets the BotName field's value.
14508func (s *UpdateBotInput) SetBotName(v string) *UpdateBotInput {
14509	s.BotName = &v
14510	return s
14511}
14512
14513// SetDataPrivacy sets the DataPrivacy field's value.
14514func (s *UpdateBotInput) SetDataPrivacy(v *DataPrivacy) *UpdateBotInput {
14515	s.DataPrivacy = v
14516	return s
14517}
14518
14519// SetDescription sets the Description field's value.
14520func (s *UpdateBotInput) SetDescription(v string) *UpdateBotInput {
14521	s.Description = &v
14522	return s
14523}
14524
14525// SetIdleSessionTTLInSeconds sets the IdleSessionTTLInSeconds field's value.
14526func (s *UpdateBotInput) SetIdleSessionTTLInSeconds(v int64) *UpdateBotInput {
14527	s.IdleSessionTTLInSeconds = &v
14528	return s
14529}
14530
14531// SetRoleArn sets the RoleArn field's value.
14532func (s *UpdateBotInput) SetRoleArn(v string) *UpdateBotInput {
14533	s.RoleArn = &v
14534	return s
14535}
14536
14537type UpdateBotLocaleInput struct {
14538	_ struct{} `type:"structure"`
14539
14540	// The unique identifier of the bot that contains the locale.
14541	//
14542	// BotId is a required field
14543	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
14544
14545	// The version of the bot that contains the locale to be updated. The version
14546	// can only be the DRAFT version.
14547	//
14548	// BotVersion is a required field
14549	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
14550
14551	// The new description of the locale.
14552	Description *string `locationName:"description" type:"string"`
14553
14554	// The identifier of the language and locale to update. The string must match
14555	// one of the supported locales. For more information, see https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html
14556	// (https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html).
14557	//
14558	// LocaleId is a required field
14559	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
14560
14561	// The new confidence threshold where Amazon Lex inserts the AMAZON.FallbackIntent
14562	// and AMAZON.KendraSearchIntent intents in the list of possible intents for
14563	// an utterance.
14564	//
14565	// NluIntentConfidenceThreshold is a required field
14566	NluIntentConfidenceThreshold *float64 `locationName:"nluIntentConfidenceThreshold" type:"double" required:"true"`
14567
14568	// The new Amazon Polly voice Amazon Lex should use for voice interaction with
14569	// the user.
14570	VoiceSettings *VoiceSettings `locationName:"voiceSettings" type:"structure"`
14571}
14572
14573// String returns the string representation
14574func (s UpdateBotLocaleInput) String() string {
14575	return awsutil.Prettify(s)
14576}
14577
14578// GoString returns the string representation
14579func (s UpdateBotLocaleInput) GoString() string {
14580	return s.String()
14581}
14582
14583// Validate inspects the fields of the type to determine if they are valid.
14584func (s *UpdateBotLocaleInput) Validate() error {
14585	invalidParams := request.ErrInvalidParams{Context: "UpdateBotLocaleInput"}
14586	if s.BotId == nil {
14587		invalidParams.Add(request.NewErrParamRequired("BotId"))
14588	}
14589	if s.BotId != nil && len(*s.BotId) < 10 {
14590		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
14591	}
14592	if s.BotVersion == nil {
14593		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
14594	}
14595	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
14596		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
14597	}
14598	if s.LocaleId == nil {
14599		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
14600	}
14601	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
14602		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
14603	}
14604	if s.NluIntentConfidenceThreshold == nil {
14605		invalidParams.Add(request.NewErrParamRequired("NluIntentConfidenceThreshold"))
14606	}
14607	if s.VoiceSettings != nil {
14608		if err := s.VoiceSettings.Validate(); err != nil {
14609			invalidParams.AddNested("VoiceSettings", err.(request.ErrInvalidParams))
14610		}
14611	}
14612
14613	if invalidParams.Len() > 0 {
14614		return invalidParams
14615	}
14616	return nil
14617}
14618
14619// SetBotId sets the BotId field's value.
14620func (s *UpdateBotLocaleInput) SetBotId(v string) *UpdateBotLocaleInput {
14621	s.BotId = &v
14622	return s
14623}
14624
14625// SetBotVersion sets the BotVersion field's value.
14626func (s *UpdateBotLocaleInput) SetBotVersion(v string) *UpdateBotLocaleInput {
14627	s.BotVersion = &v
14628	return s
14629}
14630
14631// SetDescription sets the Description field's value.
14632func (s *UpdateBotLocaleInput) SetDescription(v string) *UpdateBotLocaleInput {
14633	s.Description = &v
14634	return s
14635}
14636
14637// SetLocaleId sets the LocaleId field's value.
14638func (s *UpdateBotLocaleInput) SetLocaleId(v string) *UpdateBotLocaleInput {
14639	s.LocaleId = &v
14640	return s
14641}
14642
14643// SetNluIntentConfidenceThreshold sets the NluIntentConfidenceThreshold field's value.
14644func (s *UpdateBotLocaleInput) SetNluIntentConfidenceThreshold(v float64) *UpdateBotLocaleInput {
14645	s.NluIntentConfidenceThreshold = &v
14646	return s
14647}
14648
14649// SetVoiceSettings sets the VoiceSettings field's value.
14650func (s *UpdateBotLocaleInput) SetVoiceSettings(v *VoiceSettings) *UpdateBotLocaleInput {
14651	s.VoiceSettings = v
14652	return s
14653}
14654
14655type UpdateBotLocaleOutput struct {
14656	_ struct{} `type:"structure"`
14657
14658	// The identifier of the bot that contains the updated locale.
14659	BotId *string `locationName:"botId" min:"10" type:"string"`
14660
14661	// The current status of the locale. When the bot status is Built the locale
14662	// is ready for use.
14663	BotLocaleStatus *string `locationName:"botLocaleStatus" type:"string" enum:"BotLocaleStatus"`
14664
14665	// The version of the bot that contains the updated locale.
14666	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
14667
14668	// A timestamp of the date and time that the locale was created.
14669	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
14670
14671	// The updated description of the locale.
14672	Description *string `locationName:"description" type:"string"`
14673
14674	// If the botLocaleStatus is Failed, the failureReasons field lists the errors
14675	// that occurred while building the bot.
14676	FailureReasons []*string `locationName:"failureReasons" type:"list"`
14677
14678	// A timestamp of the date and time that the locale was last updated.
14679	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
14680
14681	// The language and locale of the updated bot locale.
14682	LocaleId *string `locationName:"localeId" type:"string"`
14683
14684	// The updated locale name for the locale.
14685	LocaleName *string `locationName:"localeName" type:"string"`
14686
14687	// The updated confidence threshold for inserting the AMAZON.FallbackIntent
14688	// and AMAZON.KendraSearchIntent intents in the list of possible intents for
14689	// an utterance.
14690	NluIntentConfidenceThreshold *float64 `locationName:"nluIntentConfidenceThreshold" type:"double"`
14691
14692	// The updated Amazon Polly voice to use for voice interaction with the user.
14693	VoiceSettings *VoiceSettings `locationName:"voiceSettings" type:"structure"`
14694}
14695
14696// String returns the string representation
14697func (s UpdateBotLocaleOutput) String() string {
14698	return awsutil.Prettify(s)
14699}
14700
14701// GoString returns the string representation
14702func (s UpdateBotLocaleOutput) GoString() string {
14703	return s.String()
14704}
14705
14706// SetBotId sets the BotId field's value.
14707func (s *UpdateBotLocaleOutput) SetBotId(v string) *UpdateBotLocaleOutput {
14708	s.BotId = &v
14709	return s
14710}
14711
14712// SetBotLocaleStatus sets the BotLocaleStatus field's value.
14713func (s *UpdateBotLocaleOutput) SetBotLocaleStatus(v string) *UpdateBotLocaleOutput {
14714	s.BotLocaleStatus = &v
14715	return s
14716}
14717
14718// SetBotVersion sets the BotVersion field's value.
14719func (s *UpdateBotLocaleOutput) SetBotVersion(v string) *UpdateBotLocaleOutput {
14720	s.BotVersion = &v
14721	return s
14722}
14723
14724// SetCreationDateTime sets the CreationDateTime field's value.
14725func (s *UpdateBotLocaleOutput) SetCreationDateTime(v time.Time) *UpdateBotLocaleOutput {
14726	s.CreationDateTime = &v
14727	return s
14728}
14729
14730// SetDescription sets the Description field's value.
14731func (s *UpdateBotLocaleOutput) SetDescription(v string) *UpdateBotLocaleOutput {
14732	s.Description = &v
14733	return s
14734}
14735
14736// SetFailureReasons sets the FailureReasons field's value.
14737func (s *UpdateBotLocaleOutput) SetFailureReasons(v []*string) *UpdateBotLocaleOutput {
14738	s.FailureReasons = v
14739	return s
14740}
14741
14742// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
14743func (s *UpdateBotLocaleOutput) SetLastUpdatedDateTime(v time.Time) *UpdateBotLocaleOutput {
14744	s.LastUpdatedDateTime = &v
14745	return s
14746}
14747
14748// SetLocaleId sets the LocaleId field's value.
14749func (s *UpdateBotLocaleOutput) SetLocaleId(v string) *UpdateBotLocaleOutput {
14750	s.LocaleId = &v
14751	return s
14752}
14753
14754// SetLocaleName sets the LocaleName field's value.
14755func (s *UpdateBotLocaleOutput) SetLocaleName(v string) *UpdateBotLocaleOutput {
14756	s.LocaleName = &v
14757	return s
14758}
14759
14760// SetNluIntentConfidenceThreshold sets the NluIntentConfidenceThreshold field's value.
14761func (s *UpdateBotLocaleOutput) SetNluIntentConfidenceThreshold(v float64) *UpdateBotLocaleOutput {
14762	s.NluIntentConfidenceThreshold = &v
14763	return s
14764}
14765
14766// SetVoiceSettings sets the VoiceSettings field's value.
14767func (s *UpdateBotLocaleOutput) SetVoiceSettings(v *VoiceSettings) *UpdateBotLocaleOutput {
14768	s.VoiceSettings = v
14769	return s
14770}
14771
14772type UpdateBotOutput struct {
14773	_ struct{} `type:"structure"`
14774
14775	// The unique identifier of the bot that was updated.
14776	BotId *string `locationName:"botId" min:"10" type:"string"`
14777
14778	// The name of the bot after the update.
14779	BotName *string `locationName:"botName" min:"1" type:"string"`
14780
14781	// Shows the current status of the bot. The bot is first in the Creating status.
14782	// Once the bot is read for use, it changes to the Available status. After the
14783	// bot is created, you can use the DRAFT version of the bot.
14784	BotStatus *string `locationName:"botStatus" type:"string" enum:"BotStatus"`
14785
14786	// A timestamp of the date and time that the bot was created.
14787	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
14788
14789	// The data privacy settings for the bot after the update.
14790	DataPrivacy *DataPrivacy `locationName:"dataPrivacy" type:"structure"`
14791
14792	// The description of the bot after the update.
14793	Description *string `locationName:"description" type:"string"`
14794
14795	// The session timeout, in seconds, for the bot after the update.
14796	IdleSessionTTLInSeconds *int64 `locationName:"idleSessionTTLInSeconds" min:"60" type:"integer"`
14797
14798	// A timestamp of the date and time that the bot was last updated.
14799	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
14800
14801	// The Amazon Resource Name (ARN) of the IAM role used by the bot after the
14802	// update.
14803	RoleArn *string `locationName:"roleArn" min:"32" type:"string"`
14804}
14805
14806// String returns the string representation
14807func (s UpdateBotOutput) String() string {
14808	return awsutil.Prettify(s)
14809}
14810
14811// GoString returns the string representation
14812func (s UpdateBotOutput) GoString() string {
14813	return s.String()
14814}
14815
14816// SetBotId sets the BotId field's value.
14817func (s *UpdateBotOutput) SetBotId(v string) *UpdateBotOutput {
14818	s.BotId = &v
14819	return s
14820}
14821
14822// SetBotName sets the BotName field's value.
14823func (s *UpdateBotOutput) SetBotName(v string) *UpdateBotOutput {
14824	s.BotName = &v
14825	return s
14826}
14827
14828// SetBotStatus sets the BotStatus field's value.
14829func (s *UpdateBotOutput) SetBotStatus(v string) *UpdateBotOutput {
14830	s.BotStatus = &v
14831	return s
14832}
14833
14834// SetCreationDateTime sets the CreationDateTime field's value.
14835func (s *UpdateBotOutput) SetCreationDateTime(v time.Time) *UpdateBotOutput {
14836	s.CreationDateTime = &v
14837	return s
14838}
14839
14840// SetDataPrivacy sets the DataPrivacy field's value.
14841func (s *UpdateBotOutput) SetDataPrivacy(v *DataPrivacy) *UpdateBotOutput {
14842	s.DataPrivacy = v
14843	return s
14844}
14845
14846// SetDescription sets the Description field's value.
14847func (s *UpdateBotOutput) SetDescription(v string) *UpdateBotOutput {
14848	s.Description = &v
14849	return s
14850}
14851
14852// SetIdleSessionTTLInSeconds sets the IdleSessionTTLInSeconds field's value.
14853func (s *UpdateBotOutput) SetIdleSessionTTLInSeconds(v int64) *UpdateBotOutput {
14854	s.IdleSessionTTLInSeconds = &v
14855	return s
14856}
14857
14858// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
14859func (s *UpdateBotOutput) SetLastUpdatedDateTime(v time.Time) *UpdateBotOutput {
14860	s.LastUpdatedDateTime = &v
14861	return s
14862}
14863
14864// SetRoleArn sets the RoleArn field's value.
14865func (s *UpdateBotOutput) SetRoleArn(v string) *UpdateBotOutput {
14866	s.RoleArn = &v
14867	return s
14868}
14869
14870type UpdateIntentInput struct {
14871	_ struct{} `type:"structure"`
14872
14873	// The identifier of the bot that contains the intent.
14874	//
14875	// BotId is a required field
14876	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
14877
14878	// The version of the bot that contains the intent. Must be DRAFT.
14879	//
14880	// BotVersion is a required field
14881	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
14882
14883	// The new description of the intent.
14884	Description *string `locationName:"description" type:"string"`
14885
14886	// The new Lambda function to use between each turn of the conversation with
14887	// the bot.
14888	DialogCodeHook *DialogCodeHookSettings `locationName:"dialogCodeHook" type:"structure"`
14889
14890	// The new Lambda function to call when all of the intents required slots are
14891	// provided and the intent is ready for fulfillment.
14892	FulfillmentCodeHook *FulfillmentCodeHookSettings `locationName:"fulfillmentCodeHook" type:"structure"`
14893
14894	// A new list of contexts that must be active in order for Amazon Lex to consider
14895	// the intent.
14896	InputContexts []*InputContext `locationName:"inputContexts" type:"list"`
14897
14898	// The new response that Amazon Lex sends the user when the intent is closed.
14899	IntentClosingSetting *IntentClosingSetting `locationName:"intentClosingSetting" type:"structure"`
14900
14901	// New prompts that Amazon Lex sends to the user to confirm the completion of
14902	// an intent.
14903	IntentConfirmationSetting *IntentConfirmationSetting `locationName:"intentConfirmationSetting" type:"structure"`
14904
14905	// The unique identifier of the intent to update.
14906	//
14907	// IntentId is a required field
14908	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
14909
14910	// The new name for the intent.
14911	//
14912	// IntentName is a required field
14913	IntentName *string `locationName:"intentName" min:"1" type:"string" required:"true"`
14914
14915	// New configuration settings for connecting to an Amazon Kendra index.
14916	KendraConfiguration *KendraConfiguration `locationName:"kendraConfiguration" type:"structure"`
14917
14918	// The identifier of the language and locale where this intent is used. The
14919	// string must match one of the supported locales. For more information, see
14920	// https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html (https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html).
14921	//
14922	// LocaleId is a required field
14923	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
14924
14925	// A new list of contexts that Amazon Lex activates when the intent is fulfilled.
14926	OutputContexts []*OutputContext `locationName:"outputContexts" type:"list"`
14927
14928	// The signature of the new built-in intent to use as the parent of this intent.
14929	ParentIntentSignature *string `locationName:"parentIntentSignature" type:"string"`
14930
14931	// New utterances used to invoke the intent.
14932	SampleUtterances []*SampleUtterance `locationName:"sampleUtterances" type:"list"`
14933
14934	// A new list of slots and their priorities that are contained by the intent.
14935	SlotPriorities []*SlotPriority `locationName:"slotPriorities" type:"list"`
14936}
14937
14938// String returns the string representation
14939func (s UpdateIntentInput) String() string {
14940	return awsutil.Prettify(s)
14941}
14942
14943// GoString returns the string representation
14944func (s UpdateIntentInput) GoString() string {
14945	return s.String()
14946}
14947
14948// Validate inspects the fields of the type to determine if they are valid.
14949func (s *UpdateIntentInput) Validate() error {
14950	invalidParams := request.ErrInvalidParams{Context: "UpdateIntentInput"}
14951	if s.BotId == nil {
14952		invalidParams.Add(request.NewErrParamRequired("BotId"))
14953	}
14954	if s.BotId != nil && len(*s.BotId) < 10 {
14955		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
14956	}
14957	if s.BotVersion == nil {
14958		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
14959	}
14960	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
14961		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
14962	}
14963	if s.IntentId == nil {
14964		invalidParams.Add(request.NewErrParamRequired("IntentId"))
14965	}
14966	if s.IntentId != nil && len(*s.IntentId) < 10 {
14967		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
14968	}
14969	if s.IntentName == nil {
14970		invalidParams.Add(request.NewErrParamRequired("IntentName"))
14971	}
14972	if s.IntentName != nil && len(*s.IntentName) < 1 {
14973		invalidParams.Add(request.NewErrParamMinLen("IntentName", 1))
14974	}
14975	if s.LocaleId == nil {
14976		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
14977	}
14978	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
14979		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
14980	}
14981	if s.DialogCodeHook != nil {
14982		if err := s.DialogCodeHook.Validate(); err != nil {
14983			invalidParams.AddNested("DialogCodeHook", err.(request.ErrInvalidParams))
14984		}
14985	}
14986	if s.FulfillmentCodeHook != nil {
14987		if err := s.FulfillmentCodeHook.Validate(); err != nil {
14988			invalidParams.AddNested("FulfillmentCodeHook", err.(request.ErrInvalidParams))
14989		}
14990	}
14991	if s.InputContexts != nil {
14992		for i, v := range s.InputContexts {
14993			if v == nil {
14994				continue
14995			}
14996			if err := v.Validate(); err != nil {
14997				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InputContexts", i), err.(request.ErrInvalidParams))
14998			}
14999		}
15000	}
15001	if s.IntentClosingSetting != nil {
15002		if err := s.IntentClosingSetting.Validate(); err != nil {
15003			invalidParams.AddNested("IntentClosingSetting", err.(request.ErrInvalidParams))
15004		}
15005	}
15006	if s.IntentConfirmationSetting != nil {
15007		if err := s.IntentConfirmationSetting.Validate(); err != nil {
15008			invalidParams.AddNested("IntentConfirmationSetting", err.(request.ErrInvalidParams))
15009		}
15010	}
15011	if s.KendraConfiguration != nil {
15012		if err := s.KendraConfiguration.Validate(); err != nil {
15013			invalidParams.AddNested("KendraConfiguration", err.(request.ErrInvalidParams))
15014		}
15015	}
15016	if s.OutputContexts != nil {
15017		for i, v := range s.OutputContexts {
15018			if v == nil {
15019				continue
15020			}
15021			if err := v.Validate(); err != nil {
15022				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputContexts", i), err.(request.ErrInvalidParams))
15023			}
15024		}
15025	}
15026	if s.SampleUtterances != nil {
15027		for i, v := range s.SampleUtterances {
15028			if v == nil {
15029				continue
15030			}
15031			if err := v.Validate(); err != nil {
15032				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SampleUtterances", i), err.(request.ErrInvalidParams))
15033			}
15034		}
15035	}
15036	if s.SlotPriorities != nil {
15037		for i, v := range s.SlotPriorities {
15038			if v == nil {
15039				continue
15040			}
15041			if err := v.Validate(); err != nil {
15042				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SlotPriorities", i), err.(request.ErrInvalidParams))
15043			}
15044		}
15045	}
15046
15047	if invalidParams.Len() > 0 {
15048		return invalidParams
15049	}
15050	return nil
15051}
15052
15053// SetBotId sets the BotId field's value.
15054func (s *UpdateIntentInput) SetBotId(v string) *UpdateIntentInput {
15055	s.BotId = &v
15056	return s
15057}
15058
15059// SetBotVersion sets the BotVersion field's value.
15060func (s *UpdateIntentInput) SetBotVersion(v string) *UpdateIntentInput {
15061	s.BotVersion = &v
15062	return s
15063}
15064
15065// SetDescription sets the Description field's value.
15066func (s *UpdateIntentInput) SetDescription(v string) *UpdateIntentInput {
15067	s.Description = &v
15068	return s
15069}
15070
15071// SetDialogCodeHook sets the DialogCodeHook field's value.
15072func (s *UpdateIntentInput) SetDialogCodeHook(v *DialogCodeHookSettings) *UpdateIntentInput {
15073	s.DialogCodeHook = v
15074	return s
15075}
15076
15077// SetFulfillmentCodeHook sets the FulfillmentCodeHook field's value.
15078func (s *UpdateIntentInput) SetFulfillmentCodeHook(v *FulfillmentCodeHookSettings) *UpdateIntentInput {
15079	s.FulfillmentCodeHook = v
15080	return s
15081}
15082
15083// SetInputContexts sets the InputContexts field's value.
15084func (s *UpdateIntentInput) SetInputContexts(v []*InputContext) *UpdateIntentInput {
15085	s.InputContexts = v
15086	return s
15087}
15088
15089// SetIntentClosingSetting sets the IntentClosingSetting field's value.
15090func (s *UpdateIntentInput) SetIntentClosingSetting(v *IntentClosingSetting) *UpdateIntentInput {
15091	s.IntentClosingSetting = v
15092	return s
15093}
15094
15095// SetIntentConfirmationSetting sets the IntentConfirmationSetting field's value.
15096func (s *UpdateIntentInput) SetIntentConfirmationSetting(v *IntentConfirmationSetting) *UpdateIntentInput {
15097	s.IntentConfirmationSetting = v
15098	return s
15099}
15100
15101// SetIntentId sets the IntentId field's value.
15102func (s *UpdateIntentInput) SetIntentId(v string) *UpdateIntentInput {
15103	s.IntentId = &v
15104	return s
15105}
15106
15107// SetIntentName sets the IntentName field's value.
15108func (s *UpdateIntentInput) SetIntentName(v string) *UpdateIntentInput {
15109	s.IntentName = &v
15110	return s
15111}
15112
15113// SetKendraConfiguration sets the KendraConfiguration field's value.
15114func (s *UpdateIntentInput) SetKendraConfiguration(v *KendraConfiguration) *UpdateIntentInput {
15115	s.KendraConfiguration = v
15116	return s
15117}
15118
15119// SetLocaleId sets the LocaleId field's value.
15120func (s *UpdateIntentInput) SetLocaleId(v string) *UpdateIntentInput {
15121	s.LocaleId = &v
15122	return s
15123}
15124
15125// SetOutputContexts sets the OutputContexts field's value.
15126func (s *UpdateIntentInput) SetOutputContexts(v []*OutputContext) *UpdateIntentInput {
15127	s.OutputContexts = v
15128	return s
15129}
15130
15131// SetParentIntentSignature sets the ParentIntentSignature field's value.
15132func (s *UpdateIntentInput) SetParentIntentSignature(v string) *UpdateIntentInput {
15133	s.ParentIntentSignature = &v
15134	return s
15135}
15136
15137// SetSampleUtterances sets the SampleUtterances field's value.
15138func (s *UpdateIntentInput) SetSampleUtterances(v []*SampleUtterance) *UpdateIntentInput {
15139	s.SampleUtterances = v
15140	return s
15141}
15142
15143// SetSlotPriorities sets the SlotPriorities field's value.
15144func (s *UpdateIntentInput) SetSlotPriorities(v []*SlotPriority) *UpdateIntentInput {
15145	s.SlotPriorities = v
15146	return s
15147}
15148
15149type UpdateIntentOutput struct {
15150	_ struct{} `type:"structure"`
15151
15152	// The identifier of the bot that contains the intent.
15153	BotId *string `locationName:"botId" min:"10" type:"string"`
15154
15155	// The version of the bot that contains the intent. Will always be DRAFT.
15156	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
15157
15158	// A timestamp of when the intent was created.
15159	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
15160
15161	// The updated description of the intent.
15162	Description *string `locationName:"description" type:"string"`
15163
15164	// The updated Lambda function called during each turn of the conversation with
15165	// the user.
15166	DialogCodeHook *DialogCodeHookSettings `locationName:"dialogCodeHook" type:"structure"`
15167
15168	// The updated Lambda function called when the intent is ready for fulfillment.
15169	FulfillmentCodeHook *FulfillmentCodeHookSettings `locationName:"fulfillmentCodeHook" type:"structure"`
15170
15171	// The updated list of contexts that must be active for the intent to be considered
15172	// by Amazon Lex.
15173	InputContexts []*InputContext `locationName:"inputContexts" type:"list"`
15174
15175	// The updated response that Amazon Lex sends the user when the intent is closed.
15176	IntentClosingSetting *IntentClosingSetting `locationName:"intentClosingSetting" type:"structure"`
15177
15178	// The updated prompts that Amazon Lex sends to the user to confirm the completion
15179	// of an intent.
15180	IntentConfirmationSetting *IntentConfirmationSetting `locationName:"intentConfirmationSetting" type:"structure"`
15181
15182	// The identifier of the intent that was updated.
15183	IntentId *string `locationName:"intentId" min:"10" type:"string"`
15184
15185	// The updated name of the intent.
15186	IntentName *string `locationName:"intentName" min:"1" type:"string"`
15187
15188	// The updated configuration for connecting to an Amazon Kendra index with the
15189	// AMAZON.KendraSearchIntent intent.
15190	KendraConfiguration *KendraConfiguration `locationName:"kendraConfiguration" type:"structure"`
15191
15192	// A timestamp of the last time that the intent was modified.
15193	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
15194
15195	// The updated language and locale of the intent.
15196	LocaleId *string `locationName:"localeId" type:"string"`
15197
15198	// The updated list of contexts that Amazon Lex activates when the intent is
15199	// fulfilled.
15200	OutputContexts []*OutputContext `locationName:"outputContexts" type:"list"`
15201
15202	// The updated built-in intent that is the parent of this intent.
15203	ParentIntentSignature *string `locationName:"parentIntentSignature" type:"string"`
15204
15205	// The updated list of sample utterances for the intent.
15206	SampleUtterances []*SampleUtterance `locationName:"sampleUtterances" type:"list"`
15207
15208	// The updated list of slots and their priorities that are elicited from the
15209	// user for the intent.
15210	SlotPriorities []*SlotPriority `locationName:"slotPriorities" type:"list"`
15211}
15212
15213// String returns the string representation
15214func (s UpdateIntentOutput) String() string {
15215	return awsutil.Prettify(s)
15216}
15217
15218// GoString returns the string representation
15219func (s UpdateIntentOutput) GoString() string {
15220	return s.String()
15221}
15222
15223// SetBotId sets the BotId field's value.
15224func (s *UpdateIntentOutput) SetBotId(v string) *UpdateIntentOutput {
15225	s.BotId = &v
15226	return s
15227}
15228
15229// SetBotVersion sets the BotVersion field's value.
15230func (s *UpdateIntentOutput) SetBotVersion(v string) *UpdateIntentOutput {
15231	s.BotVersion = &v
15232	return s
15233}
15234
15235// SetCreationDateTime sets the CreationDateTime field's value.
15236func (s *UpdateIntentOutput) SetCreationDateTime(v time.Time) *UpdateIntentOutput {
15237	s.CreationDateTime = &v
15238	return s
15239}
15240
15241// SetDescription sets the Description field's value.
15242func (s *UpdateIntentOutput) SetDescription(v string) *UpdateIntentOutput {
15243	s.Description = &v
15244	return s
15245}
15246
15247// SetDialogCodeHook sets the DialogCodeHook field's value.
15248func (s *UpdateIntentOutput) SetDialogCodeHook(v *DialogCodeHookSettings) *UpdateIntentOutput {
15249	s.DialogCodeHook = v
15250	return s
15251}
15252
15253// SetFulfillmentCodeHook sets the FulfillmentCodeHook field's value.
15254func (s *UpdateIntentOutput) SetFulfillmentCodeHook(v *FulfillmentCodeHookSettings) *UpdateIntentOutput {
15255	s.FulfillmentCodeHook = v
15256	return s
15257}
15258
15259// SetInputContexts sets the InputContexts field's value.
15260func (s *UpdateIntentOutput) SetInputContexts(v []*InputContext) *UpdateIntentOutput {
15261	s.InputContexts = v
15262	return s
15263}
15264
15265// SetIntentClosingSetting sets the IntentClosingSetting field's value.
15266func (s *UpdateIntentOutput) SetIntentClosingSetting(v *IntentClosingSetting) *UpdateIntentOutput {
15267	s.IntentClosingSetting = v
15268	return s
15269}
15270
15271// SetIntentConfirmationSetting sets the IntentConfirmationSetting field's value.
15272func (s *UpdateIntentOutput) SetIntentConfirmationSetting(v *IntentConfirmationSetting) *UpdateIntentOutput {
15273	s.IntentConfirmationSetting = v
15274	return s
15275}
15276
15277// SetIntentId sets the IntentId field's value.
15278func (s *UpdateIntentOutput) SetIntentId(v string) *UpdateIntentOutput {
15279	s.IntentId = &v
15280	return s
15281}
15282
15283// SetIntentName sets the IntentName field's value.
15284func (s *UpdateIntentOutput) SetIntentName(v string) *UpdateIntentOutput {
15285	s.IntentName = &v
15286	return s
15287}
15288
15289// SetKendraConfiguration sets the KendraConfiguration field's value.
15290func (s *UpdateIntentOutput) SetKendraConfiguration(v *KendraConfiguration) *UpdateIntentOutput {
15291	s.KendraConfiguration = v
15292	return s
15293}
15294
15295// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
15296func (s *UpdateIntentOutput) SetLastUpdatedDateTime(v time.Time) *UpdateIntentOutput {
15297	s.LastUpdatedDateTime = &v
15298	return s
15299}
15300
15301// SetLocaleId sets the LocaleId field's value.
15302func (s *UpdateIntentOutput) SetLocaleId(v string) *UpdateIntentOutput {
15303	s.LocaleId = &v
15304	return s
15305}
15306
15307// SetOutputContexts sets the OutputContexts field's value.
15308func (s *UpdateIntentOutput) SetOutputContexts(v []*OutputContext) *UpdateIntentOutput {
15309	s.OutputContexts = v
15310	return s
15311}
15312
15313// SetParentIntentSignature sets the ParentIntentSignature field's value.
15314func (s *UpdateIntentOutput) SetParentIntentSignature(v string) *UpdateIntentOutput {
15315	s.ParentIntentSignature = &v
15316	return s
15317}
15318
15319// SetSampleUtterances sets the SampleUtterances field's value.
15320func (s *UpdateIntentOutput) SetSampleUtterances(v []*SampleUtterance) *UpdateIntentOutput {
15321	s.SampleUtterances = v
15322	return s
15323}
15324
15325// SetSlotPriorities sets the SlotPriorities field's value.
15326func (s *UpdateIntentOutput) SetSlotPriorities(v []*SlotPriority) *UpdateIntentOutput {
15327	s.SlotPriorities = v
15328	return s
15329}
15330
15331type UpdateSlotInput struct {
15332	_ struct{} `type:"structure"`
15333
15334	// The unique identifier of the bot that contains the slot.
15335	//
15336	// BotId is a required field
15337	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
15338
15339	// The version of the bot that contains the slot. Must always be DRAFT.
15340	//
15341	// BotVersion is a required field
15342	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
15343
15344	// The new description for the slot.
15345	Description *string `locationName:"description" type:"string"`
15346
15347	// The identifier of the intent that contains the slot.
15348	//
15349	// IntentId is a required field
15350	IntentId *string `location:"uri" locationName:"intentId" min:"10" type:"string" required:"true"`
15351
15352	// The identifier of the language and locale that contains the slot. The string
15353	// must match one of the supported locales. For more information, see https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html
15354	// (https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html).
15355	//
15356	// LocaleId is a required field
15357	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
15358
15359	// New settings that determine how slot values are formatted in Amazon CloudWatch
15360	// logs.
15361	ObfuscationSetting *ObfuscationSetting `locationName:"obfuscationSetting" type:"structure"`
15362
15363	// The unique identifier for the slot to update.
15364	//
15365	// SlotId is a required field
15366	SlotId *string `location:"uri" locationName:"slotId" min:"10" type:"string" required:"true"`
15367
15368	// The new name for the slot.
15369	//
15370	// SlotName is a required field
15371	SlotName *string `locationName:"slotName" min:"1" type:"string" required:"true"`
15372
15373	// The unique identifier of the new slot type to associate with this slot.
15374	//
15375	// SlotTypeId is a required field
15376	SlotTypeId *string `locationName:"slotTypeId" min:"1" type:"string" required:"true"`
15377
15378	// A new set of prompts that Amazon Lex sends to the user to elicit a response
15379	// the provides a value for the slot.
15380	//
15381	// ValueElicitationSetting is a required field
15382	ValueElicitationSetting *SlotValueElicitationSetting `locationName:"valueElicitationSetting" type:"structure" required:"true"`
15383}
15384
15385// String returns the string representation
15386func (s UpdateSlotInput) String() string {
15387	return awsutil.Prettify(s)
15388}
15389
15390// GoString returns the string representation
15391func (s UpdateSlotInput) GoString() string {
15392	return s.String()
15393}
15394
15395// Validate inspects the fields of the type to determine if they are valid.
15396func (s *UpdateSlotInput) Validate() error {
15397	invalidParams := request.ErrInvalidParams{Context: "UpdateSlotInput"}
15398	if s.BotId == nil {
15399		invalidParams.Add(request.NewErrParamRequired("BotId"))
15400	}
15401	if s.BotId != nil && len(*s.BotId) < 10 {
15402		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
15403	}
15404	if s.BotVersion == nil {
15405		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
15406	}
15407	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
15408		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
15409	}
15410	if s.IntentId == nil {
15411		invalidParams.Add(request.NewErrParamRequired("IntentId"))
15412	}
15413	if s.IntentId != nil && len(*s.IntentId) < 10 {
15414		invalidParams.Add(request.NewErrParamMinLen("IntentId", 10))
15415	}
15416	if s.LocaleId == nil {
15417		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
15418	}
15419	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
15420		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
15421	}
15422	if s.SlotId == nil {
15423		invalidParams.Add(request.NewErrParamRequired("SlotId"))
15424	}
15425	if s.SlotId != nil && len(*s.SlotId) < 10 {
15426		invalidParams.Add(request.NewErrParamMinLen("SlotId", 10))
15427	}
15428	if s.SlotName == nil {
15429		invalidParams.Add(request.NewErrParamRequired("SlotName"))
15430	}
15431	if s.SlotName != nil && len(*s.SlotName) < 1 {
15432		invalidParams.Add(request.NewErrParamMinLen("SlotName", 1))
15433	}
15434	if s.SlotTypeId == nil {
15435		invalidParams.Add(request.NewErrParamRequired("SlotTypeId"))
15436	}
15437	if s.SlotTypeId != nil && len(*s.SlotTypeId) < 1 {
15438		invalidParams.Add(request.NewErrParamMinLen("SlotTypeId", 1))
15439	}
15440	if s.ValueElicitationSetting == nil {
15441		invalidParams.Add(request.NewErrParamRequired("ValueElicitationSetting"))
15442	}
15443	if s.ObfuscationSetting != nil {
15444		if err := s.ObfuscationSetting.Validate(); err != nil {
15445			invalidParams.AddNested("ObfuscationSetting", err.(request.ErrInvalidParams))
15446		}
15447	}
15448	if s.ValueElicitationSetting != nil {
15449		if err := s.ValueElicitationSetting.Validate(); err != nil {
15450			invalidParams.AddNested("ValueElicitationSetting", err.(request.ErrInvalidParams))
15451		}
15452	}
15453
15454	if invalidParams.Len() > 0 {
15455		return invalidParams
15456	}
15457	return nil
15458}
15459
15460// SetBotId sets the BotId field's value.
15461func (s *UpdateSlotInput) SetBotId(v string) *UpdateSlotInput {
15462	s.BotId = &v
15463	return s
15464}
15465
15466// SetBotVersion sets the BotVersion field's value.
15467func (s *UpdateSlotInput) SetBotVersion(v string) *UpdateSlotInput {
15468	s.BotVersion = &v
15469	return s
15470}
15471
15472// SetDescription sets the Description field's value.
15473func (s *UpdateSlotInput) SetDescription(v string) *UpdateSlotInput {
15474	s.Description = &v
15475	return s
15476}
15477
15478// SetIntentId sets the IntentId field's value.
15479func (s *UpdateSlotInput) SetIntentId(v string) *UpdateSlotInput {
15480	s.IntentId = &v
15481	return s
15482}
15483
15484// SetLocaleId sets the LocaleId field's value.
15485func (s *UpdateSlotInput) SetLocaleId(v string) *UpdateSlotInput {
15486	s.LocaleId = &v
15487	return s
15488}
15489
15490// SetObfuscationSetting sets the ObfuscationSetting field's value.
15491func (s *UpdateSlotInput) SetObfuscationSetting(v *ObfuscationSetting) *UpdateSlotInput {
15492	s.ObfuscationSetting = v
15493	return s
15494}
15495
15496// SetSlotId sets the SlotId field's value.
15497func (s *UpdateSlotInput) SetSlotId(v string) *UpdateSlotInput {
15498	s.SlotId = &v
15499	return s
15500}
15501
15502// SetSlotName sets the SlotName field's value.
15503func (s *UpdateSlotInput) SetSlotName(v string) *UpdateSlotInput {
15504	s.SlotName = &v
15505	return s
15506}
15507
15508// SetSlotTypeId sets the SlotTypeId field's value.
15509func (s *UpdateSlotInput) SetSlotTypeId(v string) *UpdateSlotInput {
15510	s.SlotTypeId = &v
15511	return s
15512}
15513
15514// SetValueElicitationSetting sets the ValueElicitationSetting field's value.
15515func (s *UpdateSlotInput) SetValueElicitationSetting(v *SlotValueElicitationSetting) *UpdateSlotInput {
15516	s.ValueElicitationSetting = v
15517	return s
15518}
15519
15520type UpdateSlotOutput struct {
15521	_ struct{} `type:"structure"`
15522
15523	// The identifier of the bot that contains the slot.
15524	BotId *string `locationName:"botId" min:"10" type:"string"`
15525
15526	// The identifier of the slot version that contains the slot. Will always be
15527	// DRAFT.
15528	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
15529
15530	// The timestamp of the date and time that the slot was created.
15531	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
15532
15533	// The updated description of the bot.
15534	Description *string `locationName:"description" type:"string"`
15535
15536	// The intent that contains the slot.
15537	IntentId *string `locationName:"intentId" min:"10" type:"string"`
15538
15539	// The timestamp of the date and time that the slot was last updated.
15540	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
15541
15542	// The locale that contains the slot.
15543	LocaleId *string `locationName:"localeId" type:"string"`
15544
15545	// The updated setting that determines whether the slot value is obfuscated
15546	// in the Amazon CloudWatch logs.
15547	ObfuscationSetting *ObfuscationSetting `locationName:"obfuscationSetting" type:"structure"`
15548
15549	// The unique identifier of the slot that was updated.
15550	SlotId *string `locationName:"slotId" min:"10" type:"string"`
15551
15552	// The updated name of the slot.
15553	SlotName *string `locationName:"slotName" min:"1" type:"string"`
15554
15555	// The updated identifier of the slot type that provides values for the slot.
15556	SlotTypeId *string `locationName:"slotTypeId" min:"1" type:"string"`
15557
15558	// The updated prompts that Amazon Lex sends to the user to elicit a response
15559	// that provides a value for the slot.
15560	ValueElicitationSetting *SlotValueElicitationSetting `locationName:"valueElicitationSetting" type:"structure"`
15561}
15562
15563// String returns the string representation
15564func (s UpdateSlotOutput) String() string {
15565	return awsutil.Prettify(s)
15566}
15567
15568// GoString returns the string representation
15569func (s UpdateSlotOutput) GoString() string {
15570	return s.String()
15571}
15572
15573// SetBotId sets the BotId field's value.
15574func (s *UpdateSlotOutput) SetBotId(v string) *UpdateSlotOutput {
15575	s.BotId = &v
15576	return s
15577}
15578
15579// SetBotVersion sets the BotVersion field's value.
15580func (s *UpdateSlotOutput) SetBotVersion(v string) *UpdateSlotOutput {
15581	s.BotVersion = &v
15582	return s
15583}
15584
15585// SetCreationDateTime sets the CreationDateTime field's value.
15586func (s *UpdateSlotOutput) SetCreationDateTime(v time.Time) *UpdateSlotOutput {
15587	s.CreationDateTime = &v
15588	return s
15589}
15590
15591// SetDescription sets the Description field's value.
15592func (s *UpdateSlotOutput) SetDescription(v string) *UpdateSlotOutput {
15593	s.Description = &v
15594	return s
15595}
15596
15597// SetIntentId sets the IntentId field's value.
15598func (s *UpdateSlotOutput) SetIntentId(v string) *UpdateSlotOutput {
15599	s.IntentId = &v
15600	return s
15601}
15602
15603// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
15604func (s *UpdateSlotOutput) SetLastUpdatedDateTime(v time.Time) *UpdateSlotOutput {
15605	s.LastUpdatedDateTime = &v
15606	return s
15607}
15608
15609// SetLocaleId sets the LocaleId field's value.
15610func (s *UpdateSlotOutput) SetLocaleId(v string) *UpdateSlotOutput {
15611	s.LocaleId = &v
15612	return s
15613}
15614
15615// SetObfuscationSetting sets the ObfuscationSetting field's value.
15616func (s *UpdateSlotOutput) SetObfuscationSetting(v *ObfuscationSetting) *UpdateSlotOutput {
15617	s.ObfuscationSetting = v
15618	return s
15619}
15620
15621// SetSlotId sets the SlotId field's value.
15622func (s *UpdateSlotOutput) SetSlotId(v string) *UpdateSlotOutput {
15623	s.SlotId = &v
15624	return s
15625}
15626
15627// SetSlotName sets the SlotName field's value.
15628func (s *UpdateSlotOutput) SetSlotName(v string) *UpdateSlotOutput {
15629	s.SlotName = &v
15630	return s
15631}
15632
15633// SetSlotTypeId sets the SlotTypeId field's value.
15634func (s *UpdateSlotOutput) SetSlotTypeId(v string) *UpdateSlotOutput {
15635	s.SlotTypeId = &v
15636	return s
15637}
15638
15639// SetValueElicitationSetting sets the ValueElicitationSetting field's value.
15640func (s *UpdateSlotOutput) SetValueElicitationSetting(v *SlotValueElicitationSetting) *UpdateSlotOutput {
15641	s.ValueElicitationSetting = v
15642	return s
15643}
15644
15645type UpdateSlotTypeInput struct {
15646	_ struct{} `type:"structure"`
15647
15648	// The identifier of the bot that contains the slot type.
15649	//
15650	// BotId is a required field
15651	BotId *string `location:"uri" locationName:"botId" min:"10" type:"string" required:"true"`
15652
15653	// The version of the bot that contains the slot type. Must be DRAFT.
15654	//
15655	// BotVersion is a required field
15656	BotVersion *string `location:"uri" locationName:"botVersion" min:"5" type:"string" required:"true"`
15657
15658	// The new description of the slot type.
15659	Description *string `locationName:"description" type:"string"`
15660
15661	// The identifier of the language and locale that contains the slot type. The
15662	// string must match one of the supported locales. For more information, see
15663	// https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html (https://docs.aws.amazon.com/lex/latest/dg/supported-locales.html).
15664	//
15665	// LocaleId is a required field
15666	LocaleId *string `location:"uri" locationName:"localeId" type:"string" required:"true"`
15667
15668	// The new built-in slot type that should be used as the parent of this slot
15669	// type.
15670	ParentSlotTypeSignature *string `locationName:"parentSlotTypeSignature" type:"string"`
15671
15672	// The unique identifier of the slot type to update.
15673	//
15674	// SlotTypeId is a required field
15675	SlotTypeId *string `location:"uri" locationName:"slotTypeId" min:"10" type:"string" required:"true"`
15676
15677	// The new name of the slot type.
15678	//
15679	// SlotTypeName is a required field
15680	SlotTypeName *string `locationName:"slotTypeName" min:"1" type:"string" required:"true"`
15681
15682	// A new list of values and their optional synonyms that define the values that
15683	// the slot type can take.
15684	SlotTypeValues []*SlotTypeValue `locationName:"slotTypeValues" min:"1" type:"list"`
15685
15686	// The strategy that Amazon Lex should use when deciding on a value from the
15687	// list of slot type values.
15688	//
15689	// ValueSelectionSetting is a required field
15690	ValueSelectionSetting *SlotValueSelectionSetting `locationName:"valueSelectionSetting" type:"structure" required:"true"`
15691}
15692
15693// String returns the string representation
15694func (s UpdateSlotTypeInput) String() string {
15695	return awsutil.Prettify(s)
15696}
15697
15698// GoString returns the string representation
15699func (s UpdateSlotTypeInput) GoString() string {
15700	return s.String()
15701}
15702
15703// Validate inspects the fields of the type to determine if they are valid.
15704func (s *UpdateSlotTypeInput) Validate() error {
15705	invalidParams := request.ErrInvalidParams{Context: "UpdateSlotTypeInput"}
15706	if s.BotId == nil {
15707		invalidParams.Add(request.NewErrParamRequired("BotId"))
15708	}
15709	if s.BotId != nil && len(*s.BotId) < 10 {
15710		invalidParams.Add(request.NewErrParamMinLen("BotId", 10))
15711	}
15712	if s.BotVersion == nil {
15713		invalidParams.Add(request.NewErrParamRequired("BotVersion"))
15714	}
15715	if s.BotVersion != nil && len(*s.BotVersion) < 5 {
15716		invalidParams.Add(request.NewErrParamMinLen("BotVersion", 5))
15717	}
15718	if s.LocaleId == nil {
15719		invalidParams.Add(request.NewErrParamRequired("LocaleId"))
15720	}
15721	if s.LocaleId != nil && len(*s.LocaleId) < 1 {
15722		invalidParams.Add(request.NewErrParamMinLen("LocaleId", 1))
15723	}
15724	if s.SlotTypeId == nil {
15725		invalidParams.Add(request.NewErrParamRequired("SlotTypeId"))
15726	}
15727	if s.SlotTypeId != nil && len(*s.SlotTypeId) < 10 {
15728		invalidParams.Add(request.NewErrParamMinLen("SlotTypeId", 10))
15729	}
15730	if s.SlotTypeName == nil {
15731		invalidParams.Add(request.NewErrParamRequired("SlotTypeName"))
15732	}
15733	if s.SlotTypeName != nil && len(*s.SlotTypeName) < 1 {
15734		invalidParams.Add(request.NewErrParamMinLen("SlotTypeName", 1))
15735	}
15736	if s.SlotTypeValues != nil && len(s.SlotTypeValues) < 1 {
15737		invalidParams.Add(request.NewErrParamMinLen("SlotTypeValues", 1))
15738	}
15739	if s.ValueSelectionSetting == nil {
15740		invalidParams.Add(request.NewErrParamRequired("ValueSelectionSetting"))
15741	}
15742	if s.SlotTypeValues != nil {
15743		for i, v := range s.SlotTypeValues {
15744			if v == nil {
15745				continue
15746			}
15747			if err := v.Validate(); err != nil {
15748				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SlotTypeValues", i), err.(request.ErrInvalidParams))
15749			}
15750		}
15751	}
15752	if s.ValueSelectionSetting != nil {
15753		if err := s.ValueSelectionSetting.Validate(); err != nil {
15754			invalidParams.AddNested("ValueSelectionSetting", err.(request.ErrInvalidParams))
15755		}
15756	}
15757
15758	if invalidParams.Len() > 0 {
15759		return invalidParams
15760	}
15761	return nil
15762}
15763
15764// SetBotId sets the BotId field's value.
15765func (s *UpdateSlotTypeInput) SetBotId(v string) *UpdateSlotTypeInput {
15766	s.BotId = &v
15767	return s
15768}
15769
15770// SetBotVersion sets the BotVersion field's value.
15771func (s *UpdateSlotTypeInput) SetBotVersion(v string) *UpdateSlotTypeInput {
15772	s.BotVersion = &v
15773	return s
15774}
15775
15776// SetDescription sets the Description field's value.
15777func (s *UpdateSlotTypeInput) SetDescription(v string) *UpdateSlotTypeInput {
15778	s.Description = &v
15779	return s
15780}
15781
15782// SetLocaleId sets the LocaleId field's value.
15783func (s *UpdateSlotTypeInput) SetLocaleId(v string) *UpdateSlotTypeInput {
15784	s.LocaleId = &v
15785	return s
15786}
15787
15788// SetParentSlotTypeSignature sets the ParentSlotTypeSignature field's value.
15789func (s *UpdateSlotTypeInput) SetParentSlotTypeSignature(v string) *UpdateSlotTypeInput {
15790	s.ParentSlotTypeSignature = &v
15791	return s
15792}
15793
15794// SetSlotTypeId sets the SlotTypeId field's value.
15795func (s *UpdateSlotTypeInput) SetSlotTypeId(v string) *UpdateSlotTypeInput {
15796	s.SlotTypeId = &v
15797	return s
15798}
15799
15800// SetSlotTypeName sets the SlotTypeName field's value.
15801func (s *UpdateSlotTypeInput) SetSlotTypeName(v string) *UpdateSlotTypeInput {
15802	s.SlotTypeName = &v
15803	return s
15804}
15805
15806// SetSlotTypeValues sets the SlotTypeValues field's value.
15807func (s *UpdateSlotTypeInput) SetSlotTypeValues(v []*SlotTypeValue) *UpdateSlotTypeInput {
15808	s.SlotTypeValues = v
15809	return s
15810}
15811
15812// SetValueSelectionSetting sets the ValueSelectionSetting field's value.
15813func (s *UpdateSlotTypeInput) SetValueSelectionSetting(v *SlotValueSelectionSetting) *UpdateSlotTypeInput {
15814	s.ValueSelectionSetting = v
15815	return s
15816}
15817
15818type UpdateSlotTypeOutput struct {
15819	_ struct{} `type:"structure"`
15820
15821	// The identifier of the bot that contains the slot type.
15822	BotId *string `locationName:"botId" min:"10" type:"string"`
15823
15824	// The version of the bot that contains the slot type. This is always DRAFT.
15825	BotVersion *string `locationName:"botVersion" min:"5" type:"string"`
15826
15827	// The timestamp of the date and time that the slot type was created.
15828	CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp"`
15829
15830	// The updated description of the slot type.
15831	Description *string `locationName:"description" type:"string"`
15832
15833	// A timestamp of the date and time that the slot type was last updated.
15834	LastUpdatedDateTime *time.Time `locationName:"lastUpdatedDateTime" type:"timestamp"`
15835
15836	// The language and locale of the updated slot type.
15837	LocaleId *string `locationName:"localeId" type:"string"`
15838
15839	// The updated signature of the built-in slot type that is the parent of this
15840	// slot type.
15841	ParentSlotTypeSignature *string `locationName:"parentSlotTypeSignature" type:"string"`
15842
15843	// The unique identifier of the updated slot type.
15844	SlotTypeId *string `locationName:"slotTypeId" min:"10" type:"string"`
15845
15846	// The updated name of the slot type.
15847	SlotTypeName *string `locationName:"slotTypeName" min:"1" type:"string"`
15848
15849	// The updated values that the slot type provides.
15850	SlotTypeValues []*SlotTypeValue `locationName:"slotTypeValues" min:"1" type:"list"`
15851
15852	// The updated strategy that Amazon Lex uses to determine which value to select
15853	// from the slot type.
15854	ValueSelectionSetting *SlotValueSelectionSetting `locationName:"valueSelectionSetting" type:"structure"`
15855}
15856
15857// String returns the string representation
15858func (s UpdateSlotTypeOutput) String() string {
15859	return awsutil.Prettify(s)
15860}
15861
15862// GoString returns the string representation
15863func (s UpdateSlotTypeOutput) GoString() string {
15864	return s.String()
15865}
15866
15867// SetBotId sets the BotId field's value.
15868func (s *UpdateSlotTypeOutput) SetBotId(v string) *UpdateSlotTypeOutput {
15869	s.BotId = &v
15870	return s
15871}
15872
15873// SetBotVersion sets the BotVersion field's value.
15874func (s *UpdateSlotTypeOutput) SetBotVersion(v string) *UpdateSlotTypeOutput {
15875	s.BotVersion = &v
15876	return s
15877}
15878
15879// SetCreationDateTime sets the CreationDateTime field's value.
15880func (s *UpdateSlotTypeOutput) SetCreationDateTime(v time.Time) *UpdateSlotTypeOutput {
15881	s.CreationDateTime = &v
15882	return s
15883}
15884
15885// SetDescription sets the Description field's value.
15886func (s *UpdateSlotTypeOutput) SetDescription(v string) *UpdateSlotTypeOutput {
15887	s.Description = &v
15888	return s
15889}
15890
15891// SetLastUpdatedDateTime sets the LastUpdatedDateTime field's value.
15892func (s *UpdateSlotTypeOutput) SetLastUpdatedDateTime(v time.Time) *UpdateSlotTypeOutput {
15893	s.LastUpdatedDateTime = &v
15894	return s
15895}
15896
15897// SetLocaleId sets the LocaleId field's value.
15898func (s *UpdateSlotTypeOutput) SetLocaleId(v string) *UpdateSlotTypeOutput {
15899	s.LocaleId = &v
15900	return s
15901}
15902
15903// SetParentSlotTypeSignature sets the ParentSlotTypeSignature field's value.
15904func (s *UpdateSlotTypeOutput) SetParentSlotTypeSignature(v string) *UpdateSlotTypeOutput {
15905	s.ParentSlotTypeSignature = &v
15906	return s
15907}
15908
15909// SetSlotTypeId sets the SlotTypeId field's value.
15910func (s *UpdateSlotTypeOutput) SetSlotTypeId(v string) *UpdateSlotTypeOutput {
15911	s.SlotTypeId = &v
15912	return s
15913}
15914
15915// SetSlotTypeName sets the SlotTypeName field's value.
15916func (s *UpdateSlotTypeOutput) SetSlotTypeName(v string) *UpdateSlotTypeOutput {
15917	s.SlotTypeName = &v
15918	return s
15919}
15920
15921// SetSlotTypeValues sets the SlotTypeValues field's value.
15922func (s *UpdateSlotTypeOutput) SetSlotTypeValues(v []*SlotTypeValue) *UpdateSlotTypeOutput {
15923	s.SlotTypeValues = v
15924	return s
15925}
15926
15927// SetValueSelectionSetting sets the ValueSelectionSetting field's value.
15928func (s *UpdateSlotTypeOutput) SetValueSelectionSetting(v *SlotValueSelectionSetting) *UpdateSlotTypeOutput {
15929	s.ValueSelectionSetting = v
15930	return s
15931}
15932
15933type ValidationException struct {
15934	_            struct{}                  `type:"structure"`
15935	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15936
15937	Message_ *string `locationName:"message" type:"string"`
15938}
15939
15940// String returns the string representation
15941func (s ValidationException) String() string {
15942	return awsutil.Prettify(s)
15943}
15944
15945// GoString returns the string representation
15946func (s ValidationException) GoString() string {
15947	return s.String()
15948}
15949
15950func newErrorValidationException(v protocol.ResponseMetadata) error {
15951	return &ValidationException{
15952		RespMetadata: v,
15953	}
15954}
15955
15956// Code returns the exception type name.
15957func (s *ValidationException) Code() string {
15958	return "ValidationException"
15959}
15960
15961// Message returns the exception's message.
15962func (s *ValidationException) Message() string {
15963	if s.Message_ != nil {
15964		return *s.Message_
15965	}
15966	return ""
15967}
15968
15969// OrigErr always returns nil, satisfies awserr.Error interface.
15970func (s *ValidationException) OrigErr() error {
15971	return nil
15972}
15973
15974func (s *ValidationException) Error() string {
15975	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
15976}
15977
15978// Status code returns the HTTP status code for the request's response error.
15979func (s *ValidationException) StatusCode() int {
15980	return s.RespMetadata.StatusCode
15981}
15982
15983// RequestID returns the service's response RequestID for request.
15984func (s *ValidationException) RequestID() string {
15985	return s.RespMetadata.RequestID
15986}
15987
15988// Defines settings for using an Amazon Polly voice to communicate with a user.
15989type VoiceSettings struct {
15990	_ struct{} `type:"structure"`
15991
15992	// The identifier of the Amazon Polly voice to use.
15993	//
15994	// VoiceId is a required field
15995	VoiceId *string `locationName:"voiceId" type:"string" required:"true"`
15996}
15997
15998// String returns the string representation
15999func (s VoiceSettings) String() string {
16000	return awsutil.Prettify(s)
16001}
16002
16003// GoString returns the string representation
16004func (s VoiceSettings) GoString() string {
16005	return s.String()
16006}
16007
16008// Validate inspects the fields of the type to determine if they are valid.
16009func (s *VoiceSettings) Validate() error {
16010	invalidParams := request.ErrInvalidParams{Context: "VoiceSettings"}
16011	if s.VoiceId == nil {
16012		invalidParams.Add(request.NewErrParamRequired("VoiceId"))
16013	}
16014
16015	if invalidParams.Len() > 0 {
16016		return invalidParams
16017	}
16018	return nil
16019}
16020
16021// SetVoiceId sets the VoiceId field's value.
16022func (s *VoiceSettings) SetVoiceId(v string) *VoiceSettings {
16023	s.VoiceId = &v
16024	return s
16025}
16026
16027// Specifies the prompts that Amazon Lex uses while a bot is waiting for customer
16028// input.
16029type WaitAndContinueSpecification struct {
16030	_ struct{} `type:"structure"`
16031
16032	// The response that Amazon Lex sends to indicate that the bot is ready to continue
16033	// the conversation.
16034	//
16035	// ContinueResponse is a required field
16036	ContinueResponse *ResponseSpecification `locationName:"continueResponse" type:"structure" required:"true"`
16037
16038	// A response that Amazon Lex sends periodically to the user to indicate that
16039	// the bot is still waiting for input from the user.
16040	StillWaitingResponse *StillWaitingResponseSpecification `locationName:"stillWaitingResponse" type:"structure"`
16041
16042	// The response that Amazon Lex sends to indicate that the bot is waiting for
16043	// the conversation to continue.
16044	//
16045	// WaitingResponse is a required field
16046	WaitingResponse *ResponseSpecification `locationName:"waitingResponse" type:"structure" required:"true"`
16047}
16048
16049// String returns the string representation
16050func (s WaitAndContinueSpecification) String() string {
16051	return awsutil.Prettify(s)
16052}
16053
16054// GoString returns the string representation
16055func (s WaitAndContinueSpecification) GoString() string {
16056	return s.String()
16057}
16058
16059// Validate inspects the fields of the type to determine if they are valid.
16060func (s *WaitAndContinueSpecification) Validate() error {
16061	invalidParams := request.ErrInvalidParams{Context: "WaitAndContinueSpecification"}
16062	if s.ContinueResponse == nil {
16063		invalidParams.Add(request.NewErrParamRequired("ContinueResponse"))
16064	}
16065	if s.WaitingResponse == nil {
16066		invalidParams.Add(request.NewErrParamRequired("WaitingResponse"))
16067	}
16068	if s.ContinueResponse != nil {
16069		if err := s.ContinueResponse.Validate(); err != nil {
16070			invalidParams.AddNested("ContinueResponse", err.(request.ErrInvalidParams))
16071		}
16072	}
16073	if s.StillWaitingResponse != nil {
16074		if err := s.StillWaitingResponse.Validate(); err != nil {
16075			invalidParams.AddNested("StillWaitingResponse", err.(request.ErrInvalidParams))
16076		}
16077	}
16078	if s.WaitingResponse != nil {
16079		if err := s.WaitingResponse.Validate(); err != nil {
16080			invalidParams.AddNested("WaitingResponse", err.(request.ErrInvalidParams))
16081		}
16082	}
16083
16084	if invalidParams.Len() > 0 {
16085		return invalidParams
16086	}
16087	return nil
16088}
16089
16090// SetContinueResponse sets the ContinueResponse field's value.
16091func (s *WaitAndContinueSpecification) SetContinueResponse(v *ResponseSpecification) *WaitAndContinueSpecification {
16092	s.ContinueResponse = v
16093	return s
16094}
16095
16096// SetStillWaitingResponse sets the StillWaitingResponse field's value.
16097func (s *WaitAndContinueSpecification) SetStillWaitingResponse(v *StillWaitingResponseSpecification) *WaitAndContinueSpecification {
16098	s.StillWaitingResponse = v
16099	return s
16100}
16101
16102// SetWaitingResponse sets the WaitingResponse field's value.
16103func (s *WaitAndContinueSpecification) SetWaitingResponse(v *ResponseSpecification) *WaitAndContinueSpecification {
16104	s.WaitingResponse = v
16105	return s
16106}
16107
16108const (
16109	// BotAliasStatusCreating is a BotAliasStatus enum value
16110	BotAliasStatusCreating = "Creating"
16111
16112	// BotAliasStatusAvailable is a BotAliasStatus enum value
16113	BotAliasStatusAvailable = "Available"
16114
16115	// BotAliasStatusDeleting is a BotAliasStatus enum value
16116	BotAliasStatusDeleting = "Deleting"
16117
16118	// BotAliasStatusFailed is a BotAliasStatus enum value
16119	BotAliasStatusFailed = "Failed"
16120)
16121
16122// BotAliasStatus_Values returns all elements of the BotAliasStatus enum
16123func BotAliasStatus_Values() []string {
16124	return []string{
16125		BotAliasStatusCreating,
16126		BotAliasStatusAvailable,
16127		BotAliasStatusDeleting,
16128		BotAliasStatusFailed,
16129	}
16130}
16131
16132const (
16133	// BotFilterNameBotName is a BotFilterName enum value
16134	BotFilterNameBotName = "BotName"
16135)
16136
16137// BotFilterName_Values returns all elements of the BotFilterName enum
16138func BotFilterName_Values() []string {
16139	return []string{
16140		BotFilterNameBotName,
16141	}
16142}
16143
16144const (
16145	// BotFilterOperatorCo is a BotFilterOperator enum value
16146	BotFilterOperatorCo = "CO"
16147
16148	// BotFilterOperatorEq is a BotFilterOperator enum value
16149	BotFilterOperatorEq = "EQ"
16150)
16151
16152// BotFilterOperator_Values returns all elements of the BotFilterOperator enum
16153func BotFilterOperator_Values() []string {
16154	return []string{
16155		BotFilterOperatorCo,
16156		BotFilterOperatorEq,
16157	}
16158}
16159
16160const (
16161	// BotLocaleFilterNameBotLocaleName is a BotLocaleFilterName enum value
16162	BotLocaleFilterNameBotLocaleName = "BotLocaleName"
16163)
16164
16165// BotLocaleFilterName_Values returns all elements of the BotLocaleFilterName enum
16166func BotLocaleFilterName_Values() []string {
16167	return []string{
16168		BotLocaleFilterNameBotLocaleName,
16169	}
16170}
16171
16172const (
16173	// BotLocaleFilterOperatorCo is a BotLocaleFilterOperator enum value
16174	BotLocaleFilterOperatorCo = "CO"
16175
16176	// BotLocaleFilterOperatorEq is a BotLocaleFilterOperator enum value
16177	BotLocaleFilterOperatorEq = "EQ"
16178)
16179
16180// BotLocaleFilterOperator_Values returns all elements of the BotLocaleFilterOperator enum
16181func BotLocaleFilterOperator_Values() []string {
16182	return []string{
16183		BotLocaleFilterOperatorCo,
16184		BotLocaleFilterOperatorEq,
16185	}
16186}
16187
16188const (
16189	// BotLocaleSortAttributeBotLocaleName is a BotLocaleSortAttribute enum value
16190	BotLocaleSortAttributeBotLocaleName = "BotLocaleName"
16191)
16192
16193// BotLocaleSortAttribute_Values returns all elements of the BotLocaleSortAttribute enum
16194func BotLocaleSortAttribute_Values() []string {
16195	return []string{
16196		BotLocaleSortAttributeBotLocaleName,
16197	}
16198}
16199
16200const (
16201	// BotLocaleStatusCreating is a BotLocaleStatus enum value
16202	BotLocaleStatusCreating = "Creating"
16203
16204	// BotLocaleStatusBuilding is a BotLocaleStatus enum value
16205	BotLocaleStatusBuilding = "Building"
16206
16207	// BotLocaleStatusBuilt is a BotLocaleStatus enum value
16208	BotLocaleStatusBuilt = "Built"
16209
16210	// BotLocaleStatusReadyExpressTesting is a BotLocaleStatus enum value
16211	BotLocaleStatusReadyExpressTesting = "ReadyExpressTesting"
16212
16213	// BotLocaleStatusFailed is a BotLocaleStatus enum value
16214	BotLocaleStatusFailed = "Failed"
16215
16216	// BotLocaleStatusDeleting is a BotLocaleStatus enum value
16217	BotLocaleStatusDeleting = "Deleting"
16218
16219	// BotLocaleStatusNotBuilt is a BotLocaleStatus enum value
16220	BotLocaleStatusNotBuilt = "NotBuilt"
16221)
16222
16223// BotLocaleStatus_Values returns all elements of the BotLocaleStatus enum
16224func BotLocaleStatus_Values() []string {
16225	return []string{
16226		BotLocaleStatusCreating,
16227		BotLocaleStatusBuilding,
16228		BotLocaleStatusBuilt,
16229		BotLocaleStatusReadyExpressTesting,
16230		BotLocaleStatusFailed,
16231		BotLocaleStatusDeleting,
16232		BotLocaleStatusNotBuilt,
16233	}
16234}
16235
16236const (
16237	// BotSortAttributeBotName is a BotSortAttribute enum value
16238	BotSortAttributeBotName = "BotName"
16239)
16240
16241// BotSortAttribute_Values returns all elements of the BotSortAttribute enum
16242func BotSortAttribute_Values() []string {
16243	return []string{
16244		BotSortAttributeBotName,
16245	}
16246}
16247
16248const (
16249	// BotStatusCreating is a BotStatus enum value
16250	BotStatusCreating = "Creating"
16251
16252	// BotStatusAvailable is a BotStatus enum value
16253	BotStatusAvailable = "Available"
16254
16255	// BotStatusInactive is a BotStatus enum value
16256	BotStatusInactive = "Inactive"
16257
16258	// BotStatusDeleting is a BotStatus enum value
16259	BotStatusDeleting = "Deleting"
16260
16261	// BotStatusFailed is a BotStatus enum value
16262	BotStatusFailed = "Failed"
16263
16264	// BotStatusVersioning is a BotStatus enum value
16265	BotStatusVersioning = "Versioning"
16266)
16267
16268// BotStatus_Values returns all elements of the BotStatus enum
16269func BotStatus_Values() []string {
16270	return []string{
16271		BotStatusCreating,
16272		BotStatusAvailable,
16273		BotStatusInactive,
16274		BotStatusDeleting,
16275		BotStatusFailed,
16276		BotStatusVersioning,
16277	}
16278}
16279
16280const (
16281	// BotVersionSortAttributeBotVersion is a BotVersionSortAttribute enum value
16282	BotVersionSortAttributeBotVersion = "BotVersion"
16283)
16284
16285// BotVersionSortAttribute_Values returns all elements of the BotVersionSortAttribute enum
16286func BotVersionSortAttribute_Values() []string {
16287	return []string{
16288		BotVersionSortAttributeBotVersion,
16289	}
16290}
16291
16292const (
16293	// BuiltInIntentSortAttributeIntentSignature is a BuiltInIntentSortAttribute enum value
16294	BuiltInIntentSortAttributeIntentSignature = "IntentSignature"
16295)
16296
16297// BuiltInIntentSortAttribute_Values returns all elements of the BuiltInIntentSortAttribute enum
16298func BuiltInIntentSortAttribute_Values() []string {
16299	return []string{
16300		BuiltInIntentSortAttributeIntentSignature,
16301	}
16302}
16303
16304const (
16305	// BuiltInSlotTypeSortAttributeSlotTypeSignature is a BuiltInSlotTypeSortAttribute enum value
16306	BuiltInSlotTypeSortAttributeSlotTypeSignature = "SlotTypeSignature"
16307)
16308
16309// BuiltInSlotTypeSortAttribute_Values returns all elements of the BuiltInSlotTypeSortAttribute enum
16310func BuiltInSlotTypeSortAttribute_Values() []string {
16311	return []string{
16312		BuiltInSlotTypeSortAttributeSlotTypeSignature,
16313	}
16314}
16315
16316const (
16317	// IntentFilterNameIntentName is a IntentFilterName enum value
16318	IntentFilterNameIntentName = "IntentName"
16319)
16320
16321// IntentFilterName_Values returns all elements of the IntentFilterName enum
16322func IntentFilterName_Values() []string {
16323	return []string{
16324		IntentFilterNameIntentName,
16325	}
16326}
16327
16328const (
16329	// IntentFilterOperatorCo is a IntentFilterOperator enum value
16330	IntentFilterOperatorCo = "CO"
16331
16332	// IntentFilterOperatorEq is a IntentFilterOperator enum value
16333	IntentFilterOperatorEq = "EQ"
16334)
16335
16336// IntentFilterOperator_Values returns all elements of the IntentFilterOperator enum
16337func IntentFilterOperator_Values() []string {
16338	return []string{
16339		IntentFilterOperatorCo,
16340		IntentFilterOperatorEq,
16341	}
16342}
16343
16344const (
16345	// IntentSortAttributeIntentName is a IntentSortAttribute enum value
16346	IntentSortAttributeIntentName = "IntentName"
16347
16348	// IntentSortAttributeLastUpdatedDateTime is a IntentSortAttribute enum value
16349	IntentSortAttributeLastUpdatedDateTime = "LastUpdatedDateTime"
16350)
16351
16352// IntentSortAttribute_Values returns all elements of the IntentSortAttribute enum
16353func IntentSortAttribute_Values() []string {
16354	return []string{
16355		IntentSortAttributeIntentName,
16356		IntentSortAttributeLastUpdatedDateTime,
16357	}
16358}
16359
16360const (
16361	// ObfuscationSettingTypeNone is a ObfuscationSettingType enum value
16362	ObfuscationSettingTypeNone = "None"
16363
16364	// ObfuscationSettingTypeDefaultObfuscation is a ObfuscationSettingType enum value
16365	ObfuscationSettingTypeDefaultObfuscation = "DefaultObfuscation"
16366)
16367
16368// ObfuscationSettingType_Values returns all elements of the ObfuscationSettingType enum
16369func ObfuscationSettingType_Values() []string {
16370	return []string{
16371		ObfuscationSettingTypeNone,
16372		ObfuscationSettingTypeDefaultObfuscation,
16373	}
16374}
16375
16376const (
16377	// SlotConstraintRequired is a SlotConstraint enum value
16378	SlotConstraintRequired = "Required"
16379
16380	// SlotConstraintOptional is a SlotConstraint enum value
16381	SlotConstraintOptional = "Optional"
16382)
16383
16384// SlotConstraint_Values returns all elements of the SlotConstraint enum
16385func SlotConstraint_Values() []string {
16386	return []string{
16387		SlotConstraintRequired,
16388		SlotConstraintOptional,
16389	}
16390}
16391
16392const (
16393	// SlotFilterNameSlotName is a SlotFilterName enum value
16394	SlotFilterNameSlotName = "SlotName"
16395)
16396
16397// SlotFilterName_Values returns all elements of the SlotFilterName enum
16398func SlotFilterName_Values() []string {
16399	return []string{
16400		SlotFilterNameSlotName,
16401	}
16402}
16403
16404const (
16405	// SlotFilterOperatorCo is a SlotFilterOperator enum value
16406	SlotFilterOperatorCo = "CO"
16407
16408	// SlotFilterOperatorEq is a SlotFilterOperator enum value
16409	SlotFilterOperatorEq = "EQ"
16410)
16411
16412// SlotFilterOperator_Values returns all elements of the SlotFilterOperator enum
16413func SlotFilterOperator_Values() []string {
16414	return []string{
16415		SlotFilterOperatorCo,
16416		SlotFilterOperatorEq,
16417	}
16418}
16419
16420const (
16421	// SlotSortAttributeSlotName is a SlotSortAttribute enum value
16422	SlotSortAttributeSlotName = "SlotName"
16423
16424	// SlotSortAttributeLastUpdatedDateTime is a SlotSortAttribute enum value
16425	SlotSortAttributeLastUpdatedDateTime = "LastUpdatedDateTime"
16426)
16427
16428// SlotSortAttribute_Values returns all elements of the SlotSortAttribute enum
16429func SlotSortAttribute_Values() []string {
16430	return []string{
16431		SlotSortAttributeSlotName,
16432		SlotSortAttributeLastUpdatedDateTime,
16433	}
16434}
16435
16436const (
16437	// SlotTypeFilterNameSlotTypeName is a SlotTypeFilterName enum value
16438	SlotTypeFilterNameSlotTypeName = "SlotTypeName"
16439)
16440
16441// SlotTypeFilterName_Values returns all elements of the SlotTypeFilterName enum
16442func SlotTypeFilterName_Values() []string {
16443	return []string{
16444		SlotTypeFilterNameSlotTypeName,
16445	}
16446}
16447
16448const (
16449	// SlotTypeFilterOperatorCo is a SlotTypeFilterOperator enum value
16450	SlotTypeFilterOperatorCo = "CO"
16451
16452	// SlotTypeFilterOperatorEq is a SlotTypeFilterOperator enum value
16453	SlotTypeFilterOperatorEq = "EQ"
16454)
16455
16456// SlotTypeFilterOperator_Values returns all elements of the SlotTypeFilterOperator enum
16457func SlotTypeFilterOperator_Values() []string {
16458	return []string{
16459		SlotTypeFilterOperatorCo,
16460		SlotTypeFilterOperatorEq,
16461	}
16462}
16463
16464const (
16465	// SlotTypeSortAttributeSlotTypeName is a SlotTypeSortAttribute enum value
16466	SlotTypeSortAttributeSlotTypeName = "SlotTypeName"
16467
16468	// SlotTypeSortAttributeLastUpdatedDateTime is a SlotTypeSortAttribute enum value
16469	SlotTypeSortAttributeLastUpdatedDateTime = "LastUpdatedDateTime"
16470)
16471
16472// SlotTypeSortAttribute_Values returns all elements of the SlotTypeSortAttribute enum
16473func SlotTypeSortAttribute_Values() []string {
16474	return []string{
16475		SlotTypeSortAttributeSlotTypeName,
16476		SlotTypeSortAttributeLastUpdatedDateTime,
16477	}
16478}
16479
16480const (
16481	// SlotValueResolutionStrategyOriginalValue is a SlotValueResolutionStrategy enum value
16482	SlotValueResolutionStrategyOriginalValue = "OriginalValue"
16483
16484	// SlotValueResolutionStrategyTopResolution is a SlotValueResolutionStrategy enum value
16485	SlotValueResolutionStrategyTopResolution = "TopResolution"
16486)
16487
16488// SlotValueResolutionStrategy_Values returns all elements of the SlotValueResolutionStrategy enum
16489func SlotValueResolutionStrategy_Values() []string {
16490	return []string{
16491		SlotValueResolutionStrategyOriginalValue,
16492		SlotValueResolutionStrategyTopResolution,
16493	}
16494}
16495
16496const (
16497	// SortOrderAscending is a SortOrder enum value
16498	SortOrderAscending = "Ascending"
16499
16500	// SortOrderDescending is a SortOrder enum value
16501	SortOrderDescending = "Descending"
16502)
16503
16504// SortOrder_Values returns all elements of the SortOrder enum
16505func SortOrder_Values() []string {
16506	return []string{
16507		SortOrderAscending,
16508		SortOrderDescending,
16509	}
16510}
16511