1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5import (
6	smithydocument "github.com/aws/smithy-go/document"
7	"time"
8)
9
10// The location of audio log files collected when conversation logging is enabled
11// for a bot.
12type AudioLogDestination struct {
13
14	// The Amazon S3 bucket where the audio log files are stored. The IAM role
15	// specified in the roleArn parameter of the CreateBot operation must have
16	// permission to write to this bucket.
17	//
18	// This member is required.
19	S3Bucket *S3BucketLogDestination
20
21	noSmithyDocumentSerde
22}
23
24// Settings for logging audio of conversations between Amazon Lex and a user. You
25// specify whether to log audio and the Amazon S3 bucket where the audio file is
26// stored.
27type AudioLogSetting struct {
28
29	// The location of audio log files collected when conversation logging is enabled
30	// for a bot.
31	//
32	// This member is required.
33	Destination *AudioLogDestination
34
35	// Determines whether audio logging in enabled for the bot.
36	//
37	// This member is required.
38	Enabled bool
39
40	noSmithyDocumentSerde
41}
42
43// Provides a record of an event that affects a bot alias. For example, when the
44// version of a bot that the alias points to changes.
45type BotAliasHistoryEvent struct {
46
47	// The version of the bot that was used in the event.
48	BotVersion *string
49
50	// The date and time that the event ended.
51	EndDate *time.Time
52
53	// The date and time that the event started.
54	StartDate *time.Time
55
56	noSmithyDocumentSerde
57}
58
59// Specifies settings that are unique to a locale. For example, you can use
60// different Lambda function depending on the bot's locale.
61type BotAliasLocaleSettings struct {
62
63	// Determines whether the locale is enabled for the bot. If the value is false, the
64	// locale isn't available for use.
65	//
66	// This member is required.
67	Enabled bool
68
69	// Specifies the Lambda function that should be used in the locale.
70	CodeHookSpecification *CodeHookSpecification
71
72	noSmithyDocumentSerde
73}
74
75// Summary information about bot aliases returned from the ListBotAliases
76// operation.
77type BotAliasSummary struct {
78
79	// The unique identifier assigned to the bot alias. You can use this ID to get
80	// detailed information about the alias using the DescribeBotAlias operation.
81	BotAliasId *string
82
83	// The name of the bot alias.
84	BotAliasName *string
85
86	// The current state of the bot alias. If the status is Available, the alias is
87	// ready for use.
88	BotAliasStatus BotAliasStatus
89
90	// The version of the bot that the bot alias references.
91	BotVersion *string
92
93	// A timestamp of the date and time that the bot alias was created.
94	CreationDateTime *time.Time
95
96	// The description of the bot alias.
97	Description *string
98
99	// A timestamp of the date and time that the bot alias was last updated.
100	LastUpdatedDateTime *time.Time
101
102	noSmithyDocumentSerde
103}
104
105// Provides the identity of a the bot that was exported.
106type BotExportSpecification struct {
107
108	// The identifier of the bot assigned by Amazon Lex.
109	//
110	// This member is required.
111	BotId *string
112
113	// The version of the bot that was exported. This will be either DRAFT or the
114	// version number.
115	//
116	// This member is required.
117	BotVersion *string
118
119	noSmithyDocumentSerde
120}
121
122// Filters the responses returned by the ListBots operation.
123type BotFilter struct {
124
125	// The name of the field to filter the list of bots.
126	//
127	// This member is required.
128	Name BotFilterName
129
130	// The operator to use for the filter. Specify EQ when the ListBots operation
131	// should return only aliases that equal the specified value. Specify CO when the
132	// ListBots operation should return aliases that contain the specified value.
133	//
134	// This member is required.
135	Operator BotFilterOperator
136
137	// The value to use for filtering the list of bots.
138	//
139	// This member is required.
140	Values []string
141
142	noSmithyDocumentSerde
143}
144
145// Provides the bot parameters required for importing a bot.
146type BotImportSpecification struct {
147
148	// The name that Amazon Lex should use for the bot.
149	//
150	// This member is required.
151	BotName *string
152
153	// By default, data stored by Amazon Lex is encrypted. The DataPrivacy structure
154	// provides settings that determine how Amazon Lex handles special cases of
155	// securing the data for your bot.
156	//
157	// This member is required.
158	DataPrivacy *DataPrivacy
159
160	// The Amazon Resource Name (ARN) of the IAM role used to build and run the bot.
161	//
162	// This member is required.
163	RoleArn *string
164
165	// A list of tags to add to the bot. You can only add tags when you import a bot.
166	// You can't use the UpdateBot operation to update tags. To update tags, use the
167	// TagResource operation.
168	BotTags map[string]string
169
170	// The time, in seconds, that Amazon Lex should keep information about a user's
171	// conversation with the bot. A user interaction remains active for the amount of
172	// time specified. If no conversation occurs during this time, the session expires
173	// and Amazon Lex deletes any data provided before the timeout. You can specify
174	// between 60 (1 minute) and 86,400 (24 hours) seconds.
175	IdleSessionTTLInSeconds *int32
176
177	// A list of tags to add to the test alias for a bot. You can only add tags when
178	// you import a bot. You can't use the UpdateAlias operation to update tags. To
179	// update tags on the test alias, use the TagResource operation.
180	TestBotAliasTags map[string]string
181
182	noSmithyDocumentSerde
183}
184
185// Provides the bot locale parameters required for exporting a bot locale.
186type BotLocaleExportSpecification struct {
187
188	// The identifier of the bot to create the locale for.
189	//
190	// This member is required.
191	BotId *string
192
193	// The version of the bot to export.
194	//
195	// This member is required.
196	BotVersion *string
197
198	// The identifier of the language and locale to export. The string must match one
199	// of the locales in the bot.
200	//
201	// This member is required.
202	LocaleId *string
203
204	noSmithyDocumentSerde
205}
206
207// Filters responses returned by the ListBotLocales operation.
208type BotLocaleFilter struct {
209
210	// The name of the field to filter the list of bots.
211	//
212	// This member is required.
213	Name BotLocaleFilterName
214
215	// The operator to use for the filter. Specify EQ when the ListBotLocales operation
216	// should return only aliases that equal the specified value. Specify CO when the
217	// ListBotLocales operation should return aliases that contain the specified value.
218	//
219	// This member is required.
220	Operator BotLocaleFilterOperator
221
222	// The value to use for filtering the list of bots.
223	//
224	// This member is required.
225	Values []string
226
227	noSmithyDocumentSerde
228}
229
230// Provides information about an event that occurred affecting the bot locale.
231type BotLocaleHistoryEvent struct {
232
233	// A description of the event that occurred.
234	//
235	// This member is required.
236	Event *string
237
238	// A timestamp of the date and time that the event occurred.
239	//
240	// This member is required.
241	EventDate *time.Time
242
243	noSmithyDocumentSerde
244}
245
246// Provides the bot locale parameters required for importing a bot locale.
247type BotLocaleImportSpecification struct {
248
249	// The identifier of the bot to import the locale to.
250	//
251	// This member is required.
252	BotId *string
253
254	// The version of the bot to import the locale to. This can only be the DRAFT
255	// version of the bot.
256	//
257	// This member is required.
258	BotVersion *string
259
260	// The identifier of the language and locale that the bot will be used in. The
261	// string must match one of the supported locales. All of the intents, slot types,
262	// and slots used in the bot must have the same locale. For more information, see
263	// Supported languages
264	// (https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html).
265	//
266	// This member is required.
267	LocaleId *string
268
269	// Determines the threshold where Amazon Lex will insert the AMAZON.FallbackIntent,
270	// AMAZON.KendraSearchIntent, or both when returning alternative intents.
271	// AMAZON.FallbackIntent and AMAZON.KendraSearchIntent are only inserted if they
272	// are configured for the bot. For example, suppose a bot is configured with the
273	// confidence threshold of 0.80 and the AMAZON.FallbackIntent. Amazon Lex returns
274	// three alternative intents with the following confidence scores: IntentA (0.70),
275	// IntentB (0.60), IntentC (0.50). The response from the PostText operation would
276	// be:
277	//
278	// * AMAZON.FallbackIntent
279	//
280	// * IntentA
281	//
282	// * IntentB
283	//
284	// * IntentC
285	NluIntentConfidenceThreshold *float64
286
287	// Defines settings for using an Amazon Polly voice to communicate with a user.
288	VoiceSettings *VoiceSettings
289
290	noSmithyDocumentSerde
291}
292
293// Specifies attributes for sorting a list of bot locales.
294type BotLocaleSortBy struct {
295
296	// The bot locale attribute to sort by.
297	//
298	// This member is required.
299	Attribute BotLocaleSortAttribute
300
301	// Specifies whether to sort the bot locales in ascending or descending order.
302	//
303	// This member is required.
304	Order SortOrder
305
306	noSmithyDocumentSerde
307}
308
309// Summary information about bot locales returned by the ListBotLocales operation.
310type BotLocaleSummary struct {
311
312	// The current status of the bot locale. When the status is Built the locale is
313	// ready for use.
314	BotLocaleStatus BotLocaleStatus
315
316	// The description of the bot locale.
317	Description *string
318
319	// A timestamp of the date and time that the bot locale was last built.
320	LastBuildSubmittedDateTime *time.Time
321
322	// A timestamp of the date and time that the bot locale was last updated.
323	LastUpdatedDateTime *time.Time
324
325	// The language and locale of the bot locale.
326	LocaleId *string
327
328	// The name of the bot locale.
329	LocaleName *string
330
331	noSmithyDocumentSerde
332}
333
334// Specifies attributes for sorting a list of bots.
335type BotSortBy struct {
336
337	// The attribute to use to sort the list of bots.
338	//
339	// This member is required.
340	Attribute BotSortAttribute
341
342	// The order to sort the list. You can choose ascending or descending.
343	//
344	// This member is required.
345	Order SortOrder
346
347	noSmithyDocumentSerde
348}
349
350// Summary information about a bot returned by the ListBots operation.
351type BotSummary struct {
352
353	// The unique identifier assigned to the bot. Use this ID to get detailed
354	// information about the bot with the DescribeBot operation.
355	BotId *string
356
357	// The name of the bot.
358	BotName *string
359
360	// The current status of the bot. When the status is Available the bot is ready for
361	// use.
362	BotStatus BotStatus
363
364	// The description of the bot.
365	Description *string
366
367	// The date and time that the bot was last updated.
368	LastUpdatedDateTime *time.Time
369
370	// The latest numerical version in use for the bot.
371	LatestBotVersion *string
372
373	noSmithyDocumentSerde
374}
375
376// The version of a bot used for a bot locale.
377type BotVersionLocaleDetails struct {
378
379	// The version of a bot used for a bot locale.
380	//
381	// This member is required.
382	SourceBotVersion *string
383
384	noSmithyDocumentSerde
385}
386
387// Specifies attributes for sorting a list of bot versions.
388type BotVersionSortBy struct {
389
390	// The attribute to use to sort the list of versions.
391	//
392	// This member is required.
393	Attribute BotVersionSortAttribute
394
395	// The order to sort the list. You can specify ascending or descending order.
396	//
397	// This member is required.
398	Order SortOrder
399
400	noSmithyDocumentSerde
401}
402
403// Summary information about a bot version returned by the ListBotVersions
404// operation.
405type BotVersionSummary struct {
406
407	// The name of the bot associated with the version.
408	BotName *string
409
410	// The status of the bot. When the status is available, the version of the bot is
411	// ready for use.
412	BotStatus BotStatus
413
414	// The numeric version of the bot, or DRAFT to indicate that this is the version of
415	// the bot that can be updated..
416	BotVersion *string
417
418	// A timestamp of the date and time that the version was created.
419	CreationDateTime *time.Time
420
421	// The description of the version.
422	Description *string
423
424	noSmithyDocumentSerde
425}
426
427// Specifies attributes for sorting a list of built-in intents.
428type BuiltInIntentSortBy struct {
429
430	// The attribute to use to sort the list of built-in intents.
431	//
432	// This member is required.
433	Attribute BuiltInIntentSortAttribute
434
435	// The order to sort the list. You can specify ascending or descending order.
436	//
437	// This member is required.
438	Order SortOrder
439
440	noSmithyDocumentSerde
441}
442
443// Provides summary information about a built-in intent for the ListBuiltInIntents
444// operation.
445type BuiltInIntentSummary struct {
446
447	// The description of the intent.
448	Description *string
449
450	// The signature of the built-in intent. Use this to specify the parent intent of a
451	// derived intent.
452	IntentSignature *string
453
454	noSmithyDocumentSerde
455}
456
457// Specifies attributes for sorting a list of built-in slot types.
458type BuiltInSlotTypeSortBy struct {
459
460	// The attribute to use to sort the list of built-in intents.
461	//
462	// This member is required.
463	Attribute BuiltInSlotTypeSortAttribute
464
465	// The order to sort the list. You can choose ascending or descending.
466	//
467	// This member is required.
468	Order SortOrder
469
470	noSmithyDocumentSerde
471}
472
473// Provides summary information about a built-in slot type for the
474// ListBuiltInSlotTypes operation.
475type BuiltInSlotTypeSummary struct {
476
477	// The description of the built-in slot type.
478	Description *string
479
480	// The signature of the built-in slot type. Use this to specify the parent slot
481	// type of a derived slot type.
482	SlotTypeSignature *string
483
484	noSmithyDocumentSerde
485}
486
487// Describes a button to use on a response card used to gather slot values from a
488// user.
489type Button struct {
490
491	// The text that appears on the button. Use this to tell the user what value is
492	// returned when they choose this button.
493	//
494	// This member is required.
495	Text *string
496
497	// The value returned to Amazon Lex when the user chooses this button. This must be
498	// one of the slot values configured for the slot.
499	//
500	// This member is required.
501	Value *string
502
503	noSmithyDocumentSerde
504}
505
506// The Amazon CloudWatch Logs log group where the text and metadata logs are
507// delivered. The log group must exist before you enable logging.
508type CloudWatchLogGroupLogDestination struct {
509
510	// The Amazon Resource Name (ARN) of the log group where text and metadata logs are
511	// delivered.
512	//
513	// This member is required.
514	CloudWatchLogGroupArn *string
515
516	// The prefix of the log stream name within the log group that you specified
517	//
518	// This member is required.
519	LogPrefix *string
520
521	noSmithyDocumentSerde
522}
523
524// Contains information about code hooks that Amazon Lex calls during a
525// conversation.
526type CodeHookSpecification struct {
527
528	// Specifies a Lambda function that verifies requests to a bot or fulfilles the
529	// user's request to a bot.
530	//
531	// This member is required.
532	LambdaCodeHook *LambdaCodeHook
533
534	noSmithyDocumentSerde
535}
536
537// Configures conversation logging that saves audio, text, and metadata for the
538// conversations with your users.
539type ConversationLogSettings struct {
540
541	// The Amazon S3 settings for logging audio to an S3 bucket.
542	AudioLogSettings []AudioLogSetting
543
544	// The Amazon CloudWatch Logs settings for logging text and metadata.
545	TextLogSettings []TextLogSetting
546
547	noSmithyDocumentSerde
548}
549
550// A custom response string that Amazon Lex sends to your application. You define
551// the content and structure the string.
552type CustomPayload struct {
553
554	// The string that is sent to your application.
555	//
556	// This member is required.
557	Value *string
558
559	noSmithyDocumentSerde
560}
561
562// By default, data stored by Amazon Lex is encrypted. The DataPrivacy structure
563// provides settings that determine how Amazon Lex handles special cases of
564// securing the data for your bot.
565type DataPrivacy struct {
566
567	// For each Amazon Lex bot created with the Amazon Lex Model Building Service, you
568	// must specify whether your use of Amazon Lex is related to a website, program, or
569	// other application that is directed or targeted, in whole or in part, to children
570	// under age 13 and subject to the Children's Online Privacy Protection Act (COPPA)
571	// by specifying true or false in the childDirected field. By specifying true in
572	// the childDirected field, you confirm that your use of Amazon Lex is related to a
573	// website, program, or other application that is directed or targeted, in whole or
574	// in part, to children under age 13 and subject to COPPA. By specifying false in
575	// the childDirected field, you confirm that your use of Amazon Lex is not related
576	// to a website, program, or other application that is directed or targeted, in
577	// whole or in part, to children under age 13 and subject to COPPA. You may not
578	// specify a default value for the childDirected field that does not accurately
579	// reflect whether your use of Amazon Lex is related to a website, program, or
580	// other application that is directed or targeted, in whole or in part, to children
581	// under age 13 and subject to COPPA. If your use of Amazon Lex relates to a
582	// website, program, or other application that is directed in whole or in part, to
583	// children under age 13, you must obtain any required verifiable parental consent
584	// under COPPA. For information regarding the use of Amazon Lex in connection with
585	// websites, programs, or other applications that are directed or targeted, in
586	// whole or in part, to children under age 13, see the Amazon Lex FAQ
587	// (https://aws.amazon.com/lex/faqs#data-security).
588	//
589	// This member is required.
590	ChildDirected bool
591
592	noSmithyDocumentSerde
593}
594
595// Settings that determine the Lambda function that Amazon Lex uses for processing
596// user responses.
597type DialogCodeHookSettings struct {
598
599	// Enables the dialog code hook so that it processes user requests.
600	//
601	// This member is required.
602	Enabled bool
603
604	noSmithyDocumentSerde
605}
606
607// Filtes the response form the operation
608type ExportFilter struct {
609
610	// The name of the field to use for filtering.
611	//
612	// This member is required.
613	Name ExportFilterName
614
615	// The operator to use for the filter. Specify EQ when the ListExports operation
616	// should return only resource types that equal the specified value. Specify CO
617	// when the ListExports operation should return resource types that contain the
618	// specified value.
619	//
620	// This member is required.
621	Operator ExportFilterOperator
622
623	// The values to use to fileter the response.
624	//
625	// This member is required.
626	Values []string
627
628	noSmithyDocumentSerde
629}
630
631// Provides information about the bot or bot locale that you want to export. You
632// can specify the botExportSpecification or the botLocaleExportSpecification, but
633// not both.
634type ExportResourceSpecification struct {
635
636	// Parameters for exporting a bot.
637	BotExportSpecification *BotExportSpecification
638
639	// Parameters for exporting a bot locale.
640	BotLocaleExportSpecification *BotLocaleExportSpecification
641
642	noSmithyDocumentSerde
643}
644
645// Provides information about sorting a list of exports.
646type ExportSortBy struct {
647
648	// The export field to use for sorting.
649	//
650	// This member is required.
651	Attribute ExportSortAttribute
652
653	// The order to sort the list.
654	//
655	// This member is required.
656	Order SortOrder
657
658	noSmithyDocumentSerde
659}
660
661// Provides summary information about an export in an export list.
662type ExportSummary struct {
663
664	// The date and time that the export was created.
665	CreationDateTime *time.Time
666
667	// The unique identifier that Amazon Lex assigned to the export.
668	ExportId *string
669
670	// The status of the export. When the status is Completed the export is ready to
671	// download.
672	ExportStatus ExportStatus
673
674	// The file format used in the export files.
675	FileFormat ImportExportFileFormat
676
677	// The date and time that the export was last updated.
678	LastUpdatedDateTime *time.Time
679
680	// Information about the bot or bot locale that was exported.
681	ResourceSpecification *ExportResourceSpecification
682
683	noSmithyDocumentSerde
684}
685
686// Determines if a Lambda function should be invoked for a specific intent.
687type FulfillmentCodeHookSettings struct {
688
689	// Indicates whether a Lambda function should be invoked to fulfill a specific
690	// intent.
691	//
692	// This member is required.
693	Enabled bool
694
695	noSmithyDocumentSerde
696}
697
698// A card that is shown to the user by a messaging platform. You define the
699// contents of the card, the card is displayed by the platform. When you use a
700// response card, the response from the user is constrained to the text associated
701// with a button on the card.
702type ImageResponseCard struct {
703
704	// The title to display on the response card. The format of the title is determined
705	// by the platform displaying the response card.
706	//
707	// This member is required.
708	Title *string
709
710	// A list of buttons that should be displayed on the response card. The arrangement
711	// of the buttons is determined by the platform that displays the button.
712	Buttons []Button
713
714	// The URL of an image to display on the response card. The image URL must be
715	// publicly available so that the platform displaying the response card has access
716	// to the image.
717	ImageUrl *string
718
719	// The subtitle to display on the response card. The format of the subtitle is
720	// determined by the platform displaying the response card.
721	Subtitle *string
722
723	noSmithyDocumentSerde
724}
725
726// Filters the response from the operation.
727type ImportFilter struct {
728
729	// The name of the field to use for filtering.
730	//
731	// This member is required.
732	Name ImportFilterName
733
734	// The operator to use for the filter. Specify EQ when the ListImports operation
735	// should return only resource types that equal the specified value. Specify CO
736	// when the ListImports operation should return resource types that contain the
737	// specified value.
738	//
739	// This member is required.
740	Operator ImportFilterOperator
741
742	// The values to use to filter the response.
743	//
744	// This member is required.
745	Values []string
746
747	noSmithyDocumentSerde
748}
749
750// Provides information about the bot or bot locale that you want to import. You
751// can sepcifiy the botImportSpecification or the botLocaleImportSpecification, but
752// not both.
753type ImportResourceSpecification struct {
754
755	// Parameters for importing a bot.
756	BotImportSpecification *BotImportSpecification
757
758	// Parameters for importing a bot locale.
759	BotLocaleImportSpecification *BotLocaleImportSpecification
760
761	noSmithyDocumentSerde
762}
763
764// Provides information for sorting a list of imports.
765type ImportSortBy struct {
766
767	// The export field to use for sorting.
768	//
769	// This member is required.
770	Attribute ImportSortAttribute
771
772	// The order to sort the list.
773	//
774	// This member is required.
775	Order SortOrder
776
777	noSmithyDocumentSerde
778}
779
780// Provides summary information about an import in an import list.
781type ImportSummary struct {
782
783	// The date and time that the import was created.
784	CreationDateTime *time.Time
785
786	// The unique identifier that Amazon Lex assigned to the import.
787	ImportId *string
788
789	// The status of the resource. When the status is Completed the resource is ready
790	// to build.
791	ImportStatus ImportStatus
792
793	// The unique identifier that Amazon Lex assigned to the imported resource.
794	ImportedResourceId *string
795
796	// The name that you gave the imported resource.
797	ImportedResourceName *string
798
799	// The date and time that the import was last updated.
800	LastUpdatedDateTime *time.Time
801
802	// The strategy used to merge existing bot or bot locale definitions with the
803	// imported definition.
804	MergeStrategy MergeStrategy
805
806	noSmithyDocumentSerde
807}
808
809// The name of a context that must be active for an intent to be selected by Amazon
810// Lex.
811type InputContext struct {
812
813	// The name of the context.
814	//
815	// This member is required.
816	Name *string
817
818	noSmithyDocumentSerde
819}
820
821// Provides a statement the Amazon Lex conveys to the user when the intent is
822// successfully fulfilled.
823type IntentClosingSetting struct {
824
825	// The response that Amazon Lex sends to the user when the intent is complete.
826	//
827	// This member is required.
828	ClosingResponse *ResponseSpecification
829
830	// Specifies whether an intent's closing response is used. When this field is
831	// false, the closing response isn't sent to the user and no closing input from the
832	// user is used. If the active field isn't specified, the default is true.
833	Active *bool
834
835	noSmithyDocumentSerde
836}
837
838// Provides a prompt for making sure that the user is ready for the intent to be
839// fulfilled.
840type IntentConfirmationSetting struct {
841
842	// When the user answers "no" to the question defined in promptSpecification,
843	// Amazon Lex responds with this response to acknowledge that the intent was
844	// canceled.
845	//
846	// This member is required.
847	DeclinationResponse *ResponseSpecification
848
849	// Prompts the user to confirm the intent. This question should have a yes or no
850	// answer. Amazon Lex uses this prompt to ensure that the user acknowledges that
851	// the intent is ready for fulfillment. For example, with the OrderPizza intent,
852	// you might want to confirm that the order is correct before placing it. For other
853	// intents, such as intents that simply respond to user questions, you might not
854	// need to ask the user for confirmation before providing the information.
855	//
856	// This member is required.
857	PromptSpecification *PromptSpecification
858
859	// Specifies whether the intent's confirmation is sent to the user. When this field
860	// is false, confirmation and declination responses aren't sent and processing
861	// continues as if the responses aren't present. If the active field isn't
862	// specified, the default is true.
863	Active *bool
864
865	noSmithyDocumentSerde
866}
867
868// Filters the response from the ListIntents operation.
869type IntentFilter struct {
870
871	// The name of the field to use for the filter.
872	//
873	// This member is required.
874	Name IntentFilterName
875
876	// The operator to use for the filter. Specify EQ when the ListIntents operation
877	// should return only aliases that equal the specified value. Specify CO when the
878	// ListIntents operation should return aliases that contain the specified value.
879	//
880	// This member is required.
881	Operator IntentFilterOperator
882
883	// The value to use for the filter.
884	//
885	// This member is required.
886	Values []string
887
888	noSmithyDocumentSerde
889}
890
891// Specifies attributes for sorting a list of intents.
892type IntentSortBy struct {
893
894	// The attribute to use to sort the list of intents.
895	//
896	// This member is required.
897	Attribute IntentSortAttribute
898
899	// The order to sort the list. You can choose ascending or descending.
900	//
901	// This member is required.
902	Order SortOrder
903
904	noSmithyDocumentSerde
905}
906
907// Summary information about an intent returned by the ListIntents operation.
908type IntentSummary struct {
909
910	// The description of the intent.
911	Description *string
912
913	// The input contexts that must be active for this intent to be considered for
914	// recognition.
915	InputContexts []InputContext
916
917	// The unique identifier assigned to the intent. Use this ID to get detailed
918	// information about the intent with the DescribeIntent operation.
919	IntentId *string
920
921	// The name of the intent.
922	IntentName *string
923
924	// The timestamp of the date and time that the intent was last updated.
925	LastUpdatedDateTime *time.Time
926
927	// The output contexts that are activated when this intent is fulfilled.
928	OutputContexts []OutputContext
929
930	// If this intent is derived from a built-in intent, the name of the parent intent.
931	ParentIntentSignature *string
932
933	noSmithyDocumentSerde
934}
935
936// Provides configuration information for the AMAZON.KendraSearchIntent intent.
937// When you use this intent, Amazon Lex searches the specified Amazon Kendra index
938// and returns documents from the index that match the user's utterance.
939type KendraConfiguration struct {
940
941	// The Amazon Resource Name (ARN) of the Amazon Kendra index that you want the
942	// AMAZON.KendraSearchIntent intent to search. The index must be in the same
943	// account and Region as the Amazon Lex bot.
944	//
945	// This member is required.
946	KendraIndex *string
947
948	// A query filter that Amazon Lex sends to Amazon Kendra to filter the response
949	// from a query. The filter is in the format defined by Amazon Kendra. For more
950	// information, see Filtering queries
951	// (https://docs.aws.amazon.com/kendra/latest/dg/filtering.html).
952	QueryFilterString *string
953
954	// Determines whether the AMAZON.KendraSearchIntent intent uses a custom query
955	// string to query the Amazon Kendra index.
956	QueryFilterStringEnabled bool
957
958	noSmithyDocumentSerde
959}
960
961// Specifies a Lambda function that verifies requests to a bot or fulfilles the
962// user's request to a bot.
963type LambdaCodeHook struct {
964
965	// The version of the request-response that you want Amazon Lex to use to invoke
966	// your Lambda function.
967	//
968	// This member is required.
969	CodeHookInterfaceVersion *string
970
971	// The Amazon Resource Name (ARN) of the Lambda function.
972	//
973	// This member is required.
974	LambdaARN *string
975
976	noSmithyDocumentSerde
977}
978
979// The object that provides message text and it's type.
980type Message struct {
981
982	// A message in a custom format defined by the client application.
983	CustomPayload *CustomPayload
984
985	// A message that defines a response card that the client application can show to
986	// the user.
987	ImageResponseCard *ImageResponseCard
988
989	// A message in plain text format.
990	PlainTextMessage *PlainTextMessage
991
992	// A message in Speech Synthesis Markup Language (SSML).
993	SsmlMessage *SSMLMessage
994
995	noSmithyDocumentSerde
996}
997
998// Provides one or more messages that Amazon Lex should send to the user.
999type MessageGroup struct {
1000
1001	// The primary message that Amazon Lex should send to the user.
1002	//
1003	// This member is required.
1004	Message *Message
1005
1006	// Message variations to send to the user. When variations are defined, Amazon Lex
1007	// chooses the primary message or one of the variations to send to the user.
1008	Variations []Message
1009
1010	noSmithyDocumentSerde
1011}
1012
1013// Indicates whether a slot can return multiple values.
1014type MultipleValuesSetting struct {
1015
1016	// Indicates whether a slot can return multiple values. When true, the slot may
1017	// return more than one value in a response. When false, the slot returns only a
1018	// single value. Multi-value slots are only available in the en-US locale. If you
1019	// set this value to true in any other locale, Amazon Lex throws a
1020	// ValidationException. If the allowMutlipleValues is not set, the default value is
1021	// false.
1022	AllowMultipleValues bool
1023
1024	noSmithyDocumentSerde
1025}
1026
1027// Determines whether Amazon Lex obscures slot values in conversation logs.
1028type ObfuscationSetting struct {
1029
1030	// Value that determines whether Amazon Lex obscures slot values in conversation
1031	// logs. The default is to obscure the values.
1032	//
1033	// This member is required.
1034	ObfuscationSettingType ObfuscationSettingType
1035
1036	noSmithyDocumentSerde
1037}
1038
1039// Describes a session context that is activated when an intent is fulfilled.
1040type OutputContext struct {
1041
1042	// The name of the output context.
1043	//
1044	// This member is required.
1045	Name *string
1046
1047	// The amount of time, in seconds, that the output context should remain active.
1048	// The time is figured from the first time the context is sent to the user.
1049	//
1050	// This member is required.
1051	TimeToLiveInSeconds *int32
1052
1053	// The number of conversation turns that the output context should remain active.
1054	// The number of turns is counted from the first time that the context is sent to
1055	// the user.
1056	//
1057	// This member is required.
1058	TurnsToLive *int32
1059
1060	noSmithyDocumentSerde
1061}
1062
1063// Defines an ASCII text message to send to the user.
1064type PlainTextMessage struct {
1065
1066	// The message to send to the user.
1067	//
1068	// This member is required.
1069	Value *string
1070
1071	noSmithyDocumentSerde
1072}
1073
1074// The IAM principal that you allowing or denying access to an Amazon Lex action.
1075// You must provide a service or an arn, but not both in the same statement. For
1076// more information, see  AWS JSON policy elements: Principal
1077// (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html).
1078type Principal struct {
1079
1080	// The Amazon Resource Name (ARN) of the principal.
1081	Arn *string
1082
1083	// The name of the AWS service that should allowed or denied access to an Amazon
1084	// Lex action.
1085	Service *string
1086
1087	noSmithyDocumentSerde
1088}
1089
1090// Specifies a list of message groups that Amazon Lex sends to a user to elicit a
1091// response.
1092type PromptSpecification struct {
1093
1094	// The maximum number of times the bot tries to elicit a resonse from the user
1095	// using this prompt.
1096	//
1097	// This member is required.
1098	MaxRetries *int32
1099
1100	// A collection of messages that Amazon Lex can send to the user. Amazon Lex
1101	// chooses the actual message to send at runtime.
1102	//
1103	// This member is required.
1104	MessageGroups []MessageGroup
1105
1106	// Indicates whether the user can interrupt a speech prompt from the bot.
1107	AllowInterrupt *bool
1108
1109	noSmithyDocumentSerde
1110}
1111
1112// Specifies a list of message groups that Amazon Lex uses to respond the user
1113// input.
1114type ResponseSpecification struct {
1115
1116	// A collection of responses that Amazon Lex can send to the user. Amazon Lex
1117	// chooses the actual response to send at runtime.
1118	//
1119	// This member is required.
1120	MessageGroups []MessageGroup
1121
1122	// Indicates whether the user can interrupt a speech response from Amazon Lex.
1123	AllowInterrupt *bool
1124
1125	noSmithyDocumentSerde
1126}
1127
1128// Specifies an Amazon S3 bucket for logging audio conversations
1129type S3BucketLogDestination struct {
1130
1131	// The S3 prefix to assign to audio log files.
1132	//
1133	// This member is required.
1134	LogPrefix *string
1135
1136	// The Amazon Resource Name (ARN) of an Amazon S3 bucket where audio log files are
1137	// stored.
1138	//
1139	// This member is required.
1140	S3BucketArn *string
1141
1142	// The Amazon Resource Name (ARN) of an AWS Key Management Service (KMS) key for
1143	// encrypting audio log files stored in an S3 bucket.
1144	KmsKeyArn *string
1145
1146	noSmithyDocumentSerde
1147}
1148
1149// A sample utterance that invokes an intent or respond to a slot elicitation
1150// prompt.
1151type SampleUtterance struct {
1152
1153	// The sample utterance that Amazon Lex uses to build its machine-learning model to
1154	// recognize intents.
1155	//
1156	// This member is required.
1157	Utterance *string
1158
1159	noSmithyDocumentSerde
1160}
1161
1162// Defines one of the values for a slot type.
1163type SampleValue struct {
1164
1165	// The value that can be used for a slot type.
1166	//
1167	// This member is required.
1168	Value *string
1169
1170	noSmithyDocumentSerde
1171}
1172
1173// Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment
1174// of user utterances.
1175type SentimentAnalysisSettings struct {
1176
1177	// Sets whether Amazon Lex uses Amazon Comprehend to detect the sentiment of user
1178	// utterances.
1179	//
1180	// This member is required.
1181	DetectSentiment bool
1182
1183	noSmithyDocumentSerde
1184}
1185
1186// Specifies the default value to use when a user doesn't provide a value for a
1187// slot.
1188type SlotDefaultValue struct {
1189
1190	// The default value to use when a user doesn't provide a value for a slot.
1191	//
1192	// This member is required.
1193	DefaultValue *string
1194
1195	noSmithyDocumentSerde
1196}
1197
1198// Defines a list of values that Amazon Lex should use as the default value for a
1199// slot.
1200type SlotDefaultValueSpecification struct {
1201
1202	// A list of default values. Amazon Lex chooses the default value to use in the
1203	// order that they are presented in the list.
1204	//
1205	// This member is required.
1206	DefaultValueList []SlotDefaultValue
1207
1208	noSmithyDocumentSerde
1209}
1210
1211// Filters the response from the ListSlots operation.
1212type SlotFilter struct {
1213
1214	// The name of the field to use for filtering.
1215	//
1216	// This member is required.
1217	Name SlotFilterName
1218
1219	// The operator to use for the filter. Specify EQ when the ListSlots operation
1220	// should return only aliases that equal the specified value. Specify CO when the
1221	// ListSlots operation should return aliases that contain the specified value.
1222	//
1223	// This member is required.
1224	Operator SlotFilterOperator
1225
1226	// The value to use to filter the response.
1227	//
1228	// This member is required.
1229	Values []string
1230
1231	noSmithyDocumentSerde
1232}
1233
1234// Sets the priority that Amazon Lex should use when eliciting slot values from a
1235// user.
1236type SlotPriority struct {
1237
1238	// The priority that a slot should be elicited.
1239	//
1240	// This member is required.
1241	Priority *int32
1242
1243	// The unique identifier of the slot.
1244	//
1245	// This member is required.
1246	SlotId *string
1247
1248	noSmithyDocumentSerde
1249}
1250
1251// Specifies attributes for sorting a list of bots.
1252type SlotSortBy struct {
1253
1254	// The attribute to use to sort the list.
1255	//
1256	// This member is required.
1257	Attribute SlotSortAttribute
1258
1259	// The order to sort the list. You can choose ascending or descending.
1260	//
1261	// This member is required.
1262	Order SortOrder
1263
1264	noSmithyDocumentSerde
1265}
1266
1267// Summary information about a slot, a value that the bot elicits from the user.
1268type SlotSummary struct {
1269
1270	// The description of the slot.
1271	Description *string
1272
1273	// The timestamp of the last date and time that the slot was updated.
1274	LastUpdatedDateTime *time.Time
1275
1276	// Whether the slot is required or optional. An intent is complete when all
1277	// required slots are filled.
1278	SlotConstraint SlotConstraint
1279
1280	// The unique identifier of the slot.
1281	SlotId *string
1282
1283	// The name given to the slot.
1284	SlotName *string
1285
1286	// The unique identifier for the slot type that defines the values for the slot.
1287	SlotTypeId *string
1288
1289	// Prompts that are sent to the user to elicit a value for the slot.
1290	ValueElicitationPromptSpecification *PromptSpecification
1291
1292	noSmithyDocumentSerde
1293}
1294
1295// Filters the response from the ListSlotTypes operation.
1296type SlotTypeFilter struct {
1297
1298	// The name of the field to use for filtering.
1299	//
1300	// This member is required.
1301	Name SlotTypeFilterName
1302
1303	// The operator to use for the filter. Specify EQ when the ListSlotTypes operation
1304	// should return only aliases that equal the specified value. Specify CO when the
1305	// ListSlotTypes operation should return aliases that contain the specified value.
1306	//
1307	// This member is required.
1308	Operator SlotTypeFilterOperator
1309
1310	// The value to use to filter the response.
1311	//
1312	// This member is required.
1313	Values []string
1314
1315	noSmithyDocumentSerde
1316}
1317
1318// Specifies attributes for sorting a list of slot types.
1319type SlotTypeSortBy struct {
1320
1321	// The attribute to use to sort the list of slot types.
1322	//
1323	// This member is required.
1324	Attribute SlotTypeSortAttribute
1325
1326	// The order to sort the list. You can say ascending or descending.
1327	//
1328	// This member is required.
1329	Order SortOrder
1330
1331	noSmithyDocumentSerde
1332}
1333
1334// Provides summary information about a slot type.
1335type SlotTypeSummary struct {
1336
1337	// The description of the slot type.
1338	Description *string
1339
1340	// A timestamp of the date and time that the slot type was last updated.
1341	LastUpdatedDateTime *time.Time
1342
1343	// If the slot type is derived from a built-on slot type, the name of the parent
1344	// slot type.
1345	ParentSlotTypeSignature *string
1346
1347	// The unique identifier assigned to the slot type.
1348	SlotTypeId *string
1349
1350	// The name of the slot type.
1351	SlotTypeName *string
1352
1353	noSmithyDocumentSerde
1354}
1355
1356// Each slot type can have a set of values. Each SlotTypeValue represents a value
1357// that the slot type can take.
1358type SlotTypeValue struct {
1359
1360	// The value of the slot type entry.
1361	SampleValue *SampleValue
1362
1363	// Additional values releated to the slot type entry.
1364	Synonyms []SampleValue
1365
1366	noSmithyDocumentSerde
1367}
1368
1369// Settings that you can use for eliciting a slot value.
1370type SlotValueElicitationSetting struct {
1371
1372	// Specifies whether the slot is required or optional.
1373	//
1374	// This member is required.
1375	SlotConstraint SlotConstraint
1376
1377	// A list of default values for a slot. Default values are used when Amazon Lex
1378	// hasn't determined a value for a slot. You can specify default values from
1379	// context variables, sesion attributes, and defined values.
1380	DefaultValueSpecification *SlotDefaultValueSpecification
1381
1382	// The prompt that Amazon Lex uses to elicit the slot value from the user.
1383	PromptSpecification *PromptSpecification
1384
1385	// If you know a specific pattern that users might respond to an Amazon Lex request
1386	// for a slot value, you can provide those utterances to improve accuracy. This is
1387	// optional. In most cases, Amazon Lex is capable of understanding user utterances.
1388	SampleUtterances []SampleUtterance
1389
1390	// Specifies the prompts that Amazon Lex uses while a bot is waiting for customer
1391	// input.
1392	WaitAndContinueSpecification *WaitAndContinueSpecification
1393
1394	noSmithyDocumentSerde
1395}
1396
1397// Provides a regular expression used to validate the value of a slot.
1398type SlotValueRegexFilter struct {
1399
1400	// A regular expression used to validate the value of a slot. Use a standard
1401	// regular expression. Amazon Lex supports the following characters in the regular
1402	// expression:
1403	//
1404	// * A-Z, a-z
1405	//
1406	// * 0-9
1407	//
1408	// * Unicode characters ("\ u")
1409	//
1410	// Represent Unicode
1411	// characters with four digits, for example "\u0041" or "\u005A". The following
1412	// regular expression operators are not supported:
1413	//
1414	// * Infinite repeaters: *, +, or
1415	// {x,} with no upper bound.
1416	//
1417	// * Wild card (.)
1418	//
1419	// This member is required.
1420	Pattern *string
1421
1422	noSmithyDocumentSerde
1423}
1424
1425// Contains settings used by Amazon Lex to select a slot value.
1426type SlotValueSelectionSetting struct {
1427
1428	// Determines the slot resolution strategy that Amazon Lex uses to return slot type
1429	// values. The field can be set to one of the following values:
1430	//
1431	// * OriginalValue -
1432	// Returns the value entered by the user, if the user value is similar to the slot
1433	// value.
1434	//
1435	// * TopResolution - If there is a resolution list for the slot, return the
1436	// first value in the resolution list as the slot type value. If there is no
1437	// resolution list, null is returned.
1438	//
1439	// If you don't specify the
1440	// valueSelectionStrategy, the default is OriginalValue.
1441	//
1442	// This member is required.
1443	ResolutionStrategy SlotValueResolutionStrategy
1444
1445	// A regular expression used to validate the value of a slot.
1446	RegexFilter *SlotValueRegexFilter
1447
1448	noSmithyDocumentSerde
1449}
1450
1451// Defines a Speech Synthesis Markup Language (SSML) prompt.
1452type SSMLMessage struct {
1453
1454	// The SSML text that defines the prompt.
1455	//
1456	// This member is required.
1457	Value *string
1458
1459	noSmithyDocumentSerde
1460}
1461
1462// Defines the messages that Amazon Lex sends to a user to remind them that the bot
1463// is waiting for a response.
1464type StillWaitingResponseSpecification struct {
1465
1466	// How often a message should be sent to the user. Minimum of 1 second, maximum of
1467	// 5 minutes.
1468	//
1469	// This member is required.
1470	FrequencyInSeconds *int32
1471
1472	// One or more message groups, each containing one or more messages, that define
1473	// the prompts that Amazon Lex sends to the user.
1474	//
1475	// This member is required.
1476	MessageGroups []MessageGroup
1477
1478	// If Amazon Lex waits longer than this length of time for a response, it will stop
1479	// sending messages.
1480	//
1481	// This member is required.
1482	TimeoutInSeconds *int32
1483
1484	// Indicates that the user can interrupt the response by speaking while the message
1485	// is being played.
1486	AllowInterrupt *bool
1487
1488	noSmithyDocumentSerde
1489}
1490
1491// Defines the Amazon CloudWatch Logs destination log group for conversation text
1492// logs.
1493type TextLogDestination struct {
1494
1495	// Defines the Amazon CloudWatch Logs log group where text and metadata logs are
1496	// delivered.
1497	//
1498	// This member is required.
1499	CloudWatch *CloudWatchLogGroupLogDestination
1500
1501	noSmithyDocumentSerde
1502}
1503
1504// Defines settings to enable text conversation logs.
1505type TextLogSetting struct {
1506
1507	// Defines the Amazon CloudWatch Logs destination log group for conversation text
1508	// logs.
1509	//
1510	// This member is required.
1511	Destination *TextLogDestination
1512
1513	// Determines whether conversation logs should be stored for an alias.
1514	//
1515	// This member is required.
1516	Enabled bool
1517
1518	noSmithyDocumentSerde
1519}
1520
1521// Defines settings for using an Amazon Polly voice to communicate with a user.
1522type VoiceSettings struct {
1523
1524	// The identifier of the Amazon Polly voice to use.
1525	//
1526	// This member is required.
1527	VoiceId *string
1528
1529	noSmithyDocumentSerde
1530}
1531
1532// Specifies the prompts that Amazon Lex uses while a bot is waiting for customer
1533// input.
1534type WaitAndContinueSpecification struct {
1535
1536	// The response that Amazon Lex sends to indicate that the bot is ready to continue
1537	// the conversation.
1538	//
1539	// This member is required.
1540	ContinueResponse *ResponseSpecification
1541
1542	// The response that Amazon Lex sends to indicate that the bot is waiting for the
1543	// conversation to continue.
1544	//
1545	// This member is required.
1546	WaitingResponse *ResponseSpecification
1547
1548	// Specifies whether the bot will wait for a user to respond. When this field is
1549	// false, wait and continue responses for a slot aren't used and the bot expects an
1550	// appropriate response within the configured timeout. If the active field isn't
1551	// specified, the default is true.
1552	Active *bool
1553
1554	// A response that Amazon Lex sends periodically to the user to indicate that the
1555	// bot is still waiting for input from the user.
1556	StillWaitingResponse *StillWaitingResponseSpecification
1557
1558	noSmithyDocumentSerde
1559}
1560
1561type noSmithyDocumentSerde = smithydocument.NoSerde
1562