1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5import (
6	"time"
7)
8
9// The location of audio log files collected when conversation logging is enabled
10// for a bot.
11type AudioLogDestination struct {
12
13	// The Amazon S3 bucket where the audio log files are stored. The IAM role
14	// specified in the roleArn parameter of the CreateBot operation must have
15	// permission to write to this bucket.
16	//
17	// This member is required.
18	S3Bucket *S3BucketLogDestination
19}
20
21// Settings for logging audio of conversations between Amazon Lex and a user. You
22// specify whether to log audio and the Amazon S3 bucket where the audio file is
23// stored.
24type AudioLogSetting struct {
25
26	// The location of audio log files collected when conversation logging is enabled
27	// for a bot.
28	//
29	// This member is required.
30	Destination *AudioLogDestination
31
32	// Determines whether audio logging in enabled for the bot.
33	//
34	// This member is required.
35	Enabled bool
36}
37
38// Provides a record of an event that affects a bot alias. For example, when the
39// version of a bot that the alias points to changes.
40type BotAliasHistoryEvent struct {
41
42	// The version of the bot that was used in the event.
43	BotVersion *string
44
45	// The date and time that the event ended.
46	EndDate *time.Time
47
48	// The date and time that the event started.
49	StartDate *time.Time
50}
51
52// Specifies settings that are unique to a locale. For example, you can use
53// different Lambda function depending on the bot's locale.
54type BotAliasLocaleSettings struct {
55
56	// Determines whether the locale is enabled for the bot. If the value is false, the
57	// locale isn't available for use.
58	//
59	// This member is required.
60	Enabled bool
61
62	// Specifies the Lambda function that should be used in the locale.
63	CodeHookSpecification *CodeHookSpecification
64}
65
66// Summary information about bot aliases returned from the ListBotAliases
67// operation.
68type BotAliasSummary struct {
69
70	// The unique identifier assigned to the bot alias. You can use this ID to get
71	// detailed information about the alias using the DescribeBotAlias operation.
72	BotAliasId *string
73
74	// The name of the bot alias.
75	BotAliasName *string
76
77	// The current state of the bot alias. If the status is Available, the alias is
78	// ready for use.
79	BotAliasStatus BotAliasStatus
80
81	// The version of the bot that the bot alias references.
82	BotVersion *string
83
84	// A timestamp of the date and time that the bot alias was created.
85	CreationDateTime *time.Time
86
87	// The description of the bot alias.
88	Description *string
89
90	// A timestamp of the date and time that the bot alias was last updated.
91	LastUpdatedDateTime *time.Time
92}
93
94// Filters the responses returned by the ListBots operation.
95type BotFilter struct {
96
97	// The name of the field to filter the list of bots.
98	//
99	// This member is required.
100	Name BotFilterName
101
102	// The operator to use for the filter. Specify EQ when the ListBots operation
103	// should return only aliases that equal the specified value. Specify CO when the
104	// ListBots operation should return aliases that contain the specified value.
105	//
106	// This member is required.
107	Operator BotFilterOperator
108
109	// The value to use for filtering the list of bots.
110	//
111	// This member is required.
112	Values []string
113}
114
115// Filters responses returned by the ListBotLocales operation.
116type BotLocaleFilter struct {
117
118	// The name of the field to filter the list of bots.
119	//
120	// This member is required.
121	Name BotLocaleFilterName
122
123	// The operator to use for the filter. Specify EQ when the ListBotLocales operation
124	// should return only aliases that equal the specified value. Specify CO when the
125	// ListBotLocales operation should return aliases that contain the specified value.
126	//
127	// This member is required.
128	Operator BotLocaleFilterOperator
129
130	// The value to use for filtering the list of bots.
131	//
132	// This member is required.
133	Values []string
134}
135
136// Provides information about an event that occurred affecting the bot locale.
137type BotLocaleHistoryEvent struct {
138
139	// A description of the event that occurred.
140	//
141	// This member is required.
142	Event *string
143
144	// A timestamp of the date and time that the event occurred.
145	//
146	// This member is required.
147	EventDate *time.Time
148}
149
150// Specifies attributes for sorting a list of bot locales.
151type BotLocaleSortBy struct {
152
153	// The bot locale attribute to sort by.
154	//
155	// This member is required.
156	Attribute BotLocaleSortAttribute
157
158	// Specifies whether to sort the bot locales in ascending or descending order.
159	//
160	// This member is required.
161	Order SortOrder
162}
163
164// Summary information about bot locales returned by the ListBotLocales operation.
165type BotLocaleSummary struct {
166
167	// The current status of the bot locale. When the status is Built the locale is
168	// ready for use.
169	BotLocaleStatus BotLocaleStatus
170
171	// The description of the bot locale.
172	Description *string
173
174	// A timestamp of the date and time that the bot locale was last built.
175	LastBuildSubmittedDateTime *time.Time
176
177	// A timestamp of the date and time that the bot locale was last updated.
178	LastUpdatedDateTime *time.Time
179
180	// The language and locale of the bot locale.
181	LocaleId *string
182
183	// The name of the bot locale.
184	LocaleName *string
185}
186
187// Specifies attributes for sorting a list of bots.
188type BotSortBy struct {
189
190	// The attribute to use to sort the list of bots.
191	//
192	// This member is required.
193	Attribute BotSortAttribute
194
195	// The order to sort the list. You can choose ascending or descending.
196	//
197	// This member is required.
198	Order SortOrder
199}
200
201// Summary information about a bot returned by the ListBots operation.
202type BotSummary struct {
203
204	// The unique identifier assigned to the bot. Use this ID to get detailed
205	// information about the bot with the DescribeBot operation.
206	BotId *string
207
208	// The name of the bot.
209	BotName *string
210
211	// The current status of the bot. When the status is Available the bot is ready for
212	// use.
213	BotStatus BotStatus
214
215	// The description of the bot.
216	Description *string
217
218	// The date and time that the bot was last updated.
219	LastUpdatedDateTime *time.Time
220
221	// The latest numerical version in use for the bot.
222	LatestBotVersion *string
223}
224
225// The version of a bot used for a bot locale.
226type BotVersionLocaleDetails struct {
227
228	// The version of a bot used for a bot locale.
229	//
230	// This member is required.
231	SourceBotVersion *string
232}
233
234// Specifies attributes for sorting a list of bot versions.
235type BotVersionSortBy struct {
236
237	// The attribute to use to sort the list of versions.
238	//
239	// This member is required.
240	Attribute BotVersionSortAttribute
241
242	// The order to sort the list. You can specify ascending or descending order.
243	//
244	// This member is required.
245	Order SortOrder
246}
247
248// Summary information about a bot version returned by the ListBotVersions
249// operation.
250type BotVersionSummary struct {
251
252	// The name of the bot associated with the version.
253	BotName *string
254
255	// The status of the bot. When the status is available, the version of the bot is
256	// ready for use.
257	BotStatus BotStatus
258
259	// The numeric version of the bot, or DRAFT to indicate that this is the version of
260	// the bot that can be updated..
261	BotVersion *string
262
263	// A timestamp of the date and time that the version was created.
264	CreationDateTime *time.Time
265
266	// The description of the version.
267	Description *string
268}
269
270// Specifies attributes for sorting a list of built-in intents.
271type BuiltInIntentSortBy struct {
272
273	// The attribute to use to sort the list of built-in intents.
274	//
275	// This member is required.
276	Attribute BuiltInIntentSortAttribute
277
278	// The order to sort the list. You can specify ascending or descending order.
279	//
280	// This member is required.
281	Order SortOrder
282}
283
284// Provides summary information about a built-in intent for the ListBuiltInIntents
285// operation.
286type BuiltInIntentSummary struct {
287
288	// The description of the intent.
289	Description *string
290
291	// The signature of the built-in intent. Use this to specify the parent intent of a
292	// derived intent.
293	IntentSignature *string
294}
295
296// Specifies attributes for sorting a list of built-in slot types.
297type BuiltInSlotTypeSortBy struct {
298
299	// The attribute to use to sort the list of built-in intents.
300	//
301	// This member is required.
302	Attribute BuiltInSlotTypeSortAttribute
303
304	// The order to sort the list. You can choose ascending or descending.
305	//
306	// This member is required.
307	Order SortOrder
308}
309
310// Provides summary information about a built-in slot type for the
311// ListBuiltInSlotTypes operation.
312type BuiltInSlotTypeSummary struct {
313
314	// The description of the built-in slot type.
315	Description *string
316
317	// The signature of the built-in slot type. Use this to specify the parent slot
318	// type of a derived slot type.
319	SlotTypeSignature *string
320}
321
322// Describes a button to use on a response card used to gather slot values from a
323// user.
324type Button struct {
325
326	// The text that appears on the button. Use this to tell the user what value is
327	// returned when they choose this button.
328	//
329	// This member is required.
330	Text *string
331
332	// The value returned to Amazon Lex when the user chooses this button. This must be
333	// one of the slot values configured for the slot.
334	//
335	// This member is required.
336	Value *string
337}
338
339// The Amazon CloudWatch Logs log group where the text and metadata logs are
340// delivered. The log group must exist before you enable logging.
341type CloudWatchLogGroupLogDestination struct {
342
343	// The Amazon Resource Name (ARN) of the log group where text and metadata logs are
344	// delivered.
345	//
346	// This member is required.
347	CloudWatchLogGroupArn *string
348
349	// The prefix of the log stream name within the log group that you specified
350	//
351	// This member is required.
352	LogPrefix *string
353}
354
355// Contains information about code hooks that Amazon Lex calls during a
356// conversation.
357type CodeHookSpecification struct {
358
359	// Specifies a Lambda function that verifies requests to a bot or fulfilles the
360	// user's request to a bot.
361	//
362	// This member is required.
363	LambdaCodeHook *LambdaCodeHook
364}
365
366// Configures conversation logging that saves audio, text, and metadata for the
367// conversations with your users.
368type ConversationLogSettings struct {
369
370	// The Amazon S3 settings for logging audio to an S3 bucket.
371	AudioLogSettings []AudioLogSetting
372
373	// The Amazon CloudWatch Logs settings for logging text and metadata.
374	TextLogSettings []TextLogSetting
375}
376
377// A custom response string that Amazon Lex sends to your application. You define
378// the content and structure the string.
379type CustomPayload struct {
380
381	// The string that is sent to your application.
382	//
383	// This member is required.
384	Value *string
385}
386
387// By default, data stored by Amazon Lex is encrypted. The DataPrivacy structure
388// provides settings that determine how Amazon Lex handles special cases of
389// securing the data for your bot.
390type DataPrivacy struct {
391
392	// For each Amazon Lex bot created with the Amazon Lex Model Building Service, you
393	// must specify whether your use of Amazon Lex is related to a website, program, or
394	// other application that is directed or targeted, in whole or in part, to children
395	// under age 13 and subject to the Children's Online Privacy Protection Act (COPPA)
396	// by specifying true or false in the childDirected field. By specifying true in
397	// the childDirected field, you confirm that your use of Amazon Lex is related to a
398	// website, program, or other application that is directed or targeted, in whole or
399	// in part, to children under age 13 and subject to COPPA. By specifying false in
400	// the childDirected field, you confirm that your use of Amazon Lex is not related
401	// to a website, program, or other application that is directed or targeted, in
402	// whole or in part, to children under age 13 and subject to COPPA. You may not
403	// specify a default value for the childDirected field that does not accurately
404	// reflect whether your use of Amazon Lex is related to a website, program, or
405	// other application that is directed or targeted, in whole or in part, to children
406	// under age 13 and subject to COPPA. If your use of Amazon Lex relates to a
407	// website, program, or other application that is directed in whole or in part, to
408	// children under age 13, you must obtain any required verifiable parental consent
409	// under COPPA. For information regarding the use of Amazon Lex in connection with
410	// websites, programs, or other applications that are directed or targeted, in
411	// whole or in part, to children under age 13, see the Amazon Lex FAQ
412	// (https://aws.amazon.com/lex/faqs#data-security).
413	//
414	// This member is required.
415	ChildDirected bool
416}
417
418// Settings that determine the Lambda function that Amazon Lex uses for processing
419// user responses.
420type DialogCodeHookSettings struct {
421
422	// Enables the dialog code hook so that it processes user requests.
423	//
424	// This member is required.
425	Enabled bool
426}
427
428// Determines if a Lambda function should be invoked for a specific intent.
429type FulfillmentCodeHookSettings struct {
430
431	// Indicates whether a Lambda function should be invoked to fulfill a specific
432	// intent.
433	//
434	// This member is required.
435	Enabled bool
436}
437
438// A card that is shown to the user by a messaging platform. You define the
439// contents of the card, the card is displayed by the platform. When you use a
440// response card, the response from the user is constrained to the text associated
441// with a button on the card.
442type ImageResponseCard struct {
443
444	// The title to display on the response card. The format of the title is determined
445	// by the platform displaying the response card.
446	//
447	// This member is required.
448	Title *string
449
450	// A list of buttons that should be displayed on the response card. The arrangement
451	// of the buttons is determined by the platform that displays the button.
452	Buttons []Button
453
454	// The URL of an image to display on the response card. The image URL must be
455	// publicly available so that the platform displaying the response card has access
456	// to the image.
457	ImageUrl *string
458
459	// The subtitle to display on the response card. The format of the subtitle is
460	// determined by the platform displaying the response card.
461	Subtitle *string
462}
463
464// The name of a context that must be active for an intent to be selected by Amazon
465// Lex.
466type InputContext struct {
467
468	// The name of the context.
469	//
470	// This member is required.
471	Name *string
472}
473
474// Provides a statement the Amazon Lex conveys to the user when the intent is
475// successfully fulfilled.
476type IntentClosingSetting struct {
477
478	// The response that Amazon Lex sends to the user when the intent is complete.
479	//
480	// This member is required.
481	ClosingResponse *ResponseSpecification
482}
483
484// Provides a prompt for making sure that the user is ready for the intent to be
485// fulfilled.
486type IntentConfirmationSetting struct {
487
488	// When the user answers "no" to the question defined in promptSpecification,
489	// Amazon Lex responds with this response to acknowledge that the intent was
490	// canceled.
491	//
492	// This member is required.
493	DeclinationResponse *ResponseSpecification
494
495	// Prompts the user to confirm the intent. This question should have a yes or no
496	// answer. Amazon Lex uses this prompt to ensure that the user acknowledges that
497	// the intent is ready for fulfillment. For example, with the OrderPizza intent,
498	// you might want to confirm that the order is correct before placing it. For other
499	// intents, such as intents that simply respond to user questions, you might not
500	// need to ask the user for confirmation before providing the information.
501	//
502	// This member is required.
503	PromptSpecification *PromptSpecification
504}
505
506// Filters the response from the ListIntents operation.
507type IntentFilter struct {
508
509	// The name of the field to use for the filter.
510	//
511	// This member is required.
512	Name IntentFilterName
513
514	// The operator to use for the filter. Specify EQ when the ListIntents operation
515	// should return only aliases that equal the specified value. Specify CO when the
516	// ListIntents operation should return aliases that contain the specified value.
517	//
518	// This member is required.
519	Operator IntentFilterOperator
520
521	// The value to use for the filter.
522	//
523	// This member is required.
524	Values []string
525}
526
527// Specifies attributes for sorting a list of intents.
528type IntentSortBy struct {
529
530	// The attribute to use to sort the list of intents.
531	//
532	// This member is required.
533	Attribute IntentSortAttribute
534
535	// The order to sort the list. You can choose ascending or descending.
536	//
537	// This member is required.
538	Order SortOrder
539}
540
541// Summary information about an intent returned by the ListIntents operation.
542type IntentSummary struct {
543
544	// The description of the intent.
545	Description *string
546
547	// The input contexts that must be active for this intent to be considered for
548	// recognition.
549	InputContexts []InputContext
550
551	// The unique identifier assigned to the intent. Use this ID to get detailed
552	// information about the intent with the DescribeIntent operation.
553	IntentId *string
554
555	// The name of the intent.
556	IntentName *string
557
558	// The timestamp of the date and time that the intent was last updated.
559	LastUpdatedDateTime *time.Time
560
561	// The output contexts that are activated when this intent is fulfilled.
562	OutputContexts []OutputContext
563
564	// If this intent is derived from a built-in intent, the name of the parent intent.
565	ParentIntentSignature *string
566}
567
568// Provides configuration information for the AMAZON.KendraSearchIntent intent.
569// When you use this intent, Amazon Lex searches the specified Amazon Kendra index
570// and returns documents from the index that match the user's utterance.
571type KendraConfiguration struct {
572
573	// The Amazon Resource Name (ARN) of the Amazon Kendra index that you want the
574	// AMAZON.KendraSearchIntent intent to search. The index must be in the same
575	// account and Region as the Amazon Lex bot.
576	//
577	// This member is required.
578	KendraIndex *string
579
580	// A query filter that Amazon Lex sends to Amazon Kendra to filter the response
581	// from a query. The filter is in the format defined by Amazon Kendra. For more
582	// information, see Filtering queries
583	// (https://docs.aws.amazon.com/kendra/latest/dg/filtering.html).
584	QueryFilterString *string
585
586	// Determines whether the AMAZON.KendraSearchIntent intent uses a custom query
587	// string to query the Amazon Kendra index.
588	QueryFilterStringEnabled bool
589}
590
591// Specifies a Lambda function that verifies requests to a bot or fulfilles the
592// user's request to a bot.
593type LambdaCodeHook struct {
594
595	// The version of the request-response that you want Amazon Lex to use to invoke
596	// your Lambda function.
597	//
598	// This member is required.
599	CodeHookInterfaceVersion *string
600
601	// The Amazon Resource Name (ARN) of the Lambda function.
602	//
603	// This member is required.
604	LambdaARN *string
605}
606
607// The object that provides message text and it's type.
608type Message struct {
609
610	// A message in a custom format defined by the client application.
611	CustomPayload *CustomPayload
612
613	// A message that defines a response card that the client application can show to
614	// the user.
615	ImageResponseCard *ImageResponseCard
616
617	// A message in plain text format.
618	PlainTextMessage *PlainTextMessage
619
620	// A message in Speech Synthesis Markup Language (SSML).
621	SsmlMessage *SSMLMessage
622}
623
624// Provides one or more messages that Amazon Lex should send to the user.
625type MessageGroup struct {
626
627	// The primary message that Amazon Lex should send to the user.
628	//
629	// This member is required.
630	Message *Message
631
632	// Message variations to send to the user. When variations are defined, Amazon Lex
633	// chooses the primary message or one of the variations to send to the user.
634	Variations []Message
635}
636
637// Determines whether Amazon Lex obscures slot values in conversation logs.
638type ObfuscationSetting struct {
639
640	// Value that determines whether Amazon Lex obscures slot values in conversation
641	// logs. The default is to obscure the values.
642	//
643	// This member is required.
644	ObfuscationSettingType ObfuscationSettingType
645}
646
647// Describes a session context that is activated when an intent is fulfilled.
648type OutputContext struct {
649
650	// The name of the output context.
651	//
652	// This member is required.
653	Name *string
654
655	// The amount of time, in seconds, that the output context should remain active.
656	// The time is figured from the first time the context is sent to the user.
657	//
658	// This member is required.
659	TimeToLiveInSeconds *int32
660
661	// The number of conversation turns that the output context should remain active.
662	// The number of turns is counted from the first time that the context is sent to
663	// the user.
664	//
665	// This member is required.
666	TurnsToLive *int32
667}
668
669// Defines an ASCII text message to send to the user.
670type PlainTextMessage struct {
671
672	// The message to send to the user.
673	//
674	// This member is required.
675	Value *string
676}
677
678// Specifies a list of message groups that Amazon Lex sends to a user to elicit a
679// response.
680type PromptSpecification struct {
681
682	// The maximum number of times the bot tries to elicit a resonse from the user
683	// using this prompt.
684	//
685	// This member is required.
686	MaxRetries *int32
687
688	// A collection of messages that Amazon Lex can send to the user. Amazon Lex
689	// chooses the actual message to send at runtime.
690	//
691	// This member is required.
692	MessageGroups []MessageGroup
693
694	// Indicates whether the user can interrupt a speech prompt from the bot.
695	AllowInterrupt *bool
696}
697
698// Specifies a list of message groups that Amazon Lex uses to respond the user
699// input.
700type ResponseSpecification struct {
701
702	// A collection of responses that Amazon Lex can send to the user. Amazon Lex
703	// chooses the actual response to send at runtime.
704	//
705	// This member is required.
706	MessageGroups []MessageGroup
707
708	// Indicates whether the user can interrupt a speech response from Amazon Lex.
709	AllowInterrupt *bool
710}
711
712// Specifies an Amazon S3 bucket for logging audio conversations
713type S3BucketLogDestination struct {
714
715	// The S3 prefix to assign to audio log files.
716	//
717	// This member is required.
718	LogPrefix *string
719
720	// The Amazon Resource Name (ARN) of an Amazon S3 bucket where audio log files are
721	// stored.
722	//
723	// This member is required.
724	S3BucketArn *string
725
726	// The Amazon Resource Name (ARN) of an AWS Key Management Service (KMS) key for
727	// encrypting audio log files stored in an S3 bucket.
728	KmsKeyArn *string
729}
730
731// A sample utterance that invokes an intent or respond to a slot elicitation
732// prompt.
733type SampleUtterance struct {
734
735	// The sample utterance that Amazon Lex uses to build its machine-learning model to
736	// recognize intents.
737	//
738	// This member is required.
739	Utterance *string
740}
741
742// Defines one of the values for a slot type.
743type SampleValue struct {
744
745	// The value that can be used for a slot type.
746	//
747	// This member is required.
748	Value *string
749}
750
751// Determines whether Amazon Lex will use Amazon Comprehend to detect the sentiment
752// of user utterances.
753type SentimentAnalysisSettings struct {
754
755	// Sets whether Amazon Lex uses Amazon Comprehend to detect the sentiment of user
756	// utterances.
757	//
758	// This member is required.
759	DetectSentiment bool
760}
761
762// Specifies the default value to use when a user doesn't provide a value for a
763// slot.
764type SlotDefaultValue struct {
765
766	// The default value to use when a user doesn't provide a value for a slot.
767	//
768	// This member is required.
769	DefaultValue *string
770}
771
772// Defines a list of values that Amazon Lex should use as the default value for a
773// slot.
774type SlotDefaultValueSpecification struct {
775
776	// A list of default values. Amazon Lex chooses the default value to use in the
777	// order that they are presented in the list.
778	//
779	// This member is required.
780	DefaultValueList []SlotDefaultValue
781}
782
783// Filters the response from the ListSlots operation.
784type SlotFilter struct {
785
786	// The name of the field to use for filtering.
787	//
788	// This member is required.
789	Name SlotFilterName
790
791	// The operator to use for the filter. Specify EQ when the ListSlots operation
792	// should return only aliases that equal the specified value. Specify CO when the
793	// ListSlots operation should return aliases that contain the specified value.
794	//
795	// This member is required.
796	Operator SlotFilterOperator
797
798	// The value to use to filter the response.
799	//
800	// This member is required.
801	Values []string
802}
803
804// Sets the priority that Amazon Lex should use when eliciting slot values from a
805// user.
806type SlotPriority struct {
807
808	// The priority that a slot should be elicited.
809	//
810	// This member is required.
811	Priority *int32
812
813	// The unique identifier of the slot.
814	//
815	// This member is required.
816	SlotId *string
817}
818
819// Specifies attributes for sorting a list of bots.
820type SlotSortBy struct {
821
822	// The attribute to use to sort the list.
823	//
824	// This member is required.
825	Attribute SlotSortAttribute
826
827	// The order to sort the list. You can choose ascending or descending.
828	//
829	// This member is required.
830	Order SortOrder
831}
832
833// Summary information about a slot, a value that the bot elicits from the user.
834type SlotSummary struct {
835
836	// The description of the slot.
837	Description *string
838
839	// The timestamp of the last date and time that the slot was updated.
840	LastUpdatedDateTime *time.Time
841
842	// Whether the slot is required or optional. An intent is complete when all
843	// required slots are filled.
844	SlotConstraint SlotConstraint
845
846	// The unique identifier of the slot.
847	SlotId *string
848
849	// The name given to the slot.
850	SlotName *string
851
852	// The unique identifier for the slot type that defines the values for the slot.
853	SlotTypeId *string
854
855	// Prompts that are sent to the user to elicit a value for the slot.
856	ValueElicitationPromptSpecification *PromptSpecification
857}
858
859// Filters the response from the ListSlotTypes operation.
860type SlotTypeFilter struct {
861
862	// The name of the field to use for filtering.
863	//
864	// This member is required.
865	Name SlotTypeFilterName
866
867	// The operator to use for the filter. Specify EQ when the ListSlotTypes operation
868	// should return only aliases that equal the specified value. Specify CO when the
869	// ListSlotTypes operation should return aliases that contain the specified value.
870	//
871	// This member is required.
872	Operator SlotTypeFilterOperator
873
874	// The value to use to filter the response.
875	//
876	// This member is required.
877	Values []string
878}
879
880// Specifies attributes for sorting a list of slot types.
881type SlotTypeSortBy struct {
882
883	// The attribute to use to sort the list of slot types.
884	//
885	// This member is required.
886	Attribute SlotTypeSortAttribute
887
888	// The order to sort the list. You can say ascending or descending.
889	//
890	// This member is required.
891	Order SortOrder
892}
893
894// Provides summary information about a slot type.
895type SlotTypeSummary struct {
896
897	// The description of the slot type.
898	Description *string
899
900	// A timestamp of the date and time that the slot type was last updated.
901	LastUpdatedDateTime *time.Time
902
903	// If the slot type is derived from a built-on slot type, the name of the parent
904	// slot type.
905	ParentSlotTypeSignature *string
906
907	// The unique identifier assigned to the slot type.
908	SlotTypeId *string
909
910	// The name of the slot type.
911	SlotTypeName *string
912}
913
914// Each slot type can have a set of values. Each SlotTypeValue represents a value
915// that the slot type can take.
916type SlotTypeValue struct {
917
918	// The value of the slot type entry.
919	SampleValue *SampleValue
920
921	// Additional values releated to the slot type entry.
922	Synonyms []SampleValue
923}
924
925// Settings that you can use for eliciting a slot value.
926type SlotValueElicitationSetting struct {
927
928	// Specifies whether the slot is required or optional.
929	//
930	// This member is required.
931	SlotConstraint SlotConstraint
932
933	// A list of default values for a slot. Default values are used when Amazon Lex
934	// hasn't determined a value for a slot. You can specify default values from
935	// context variables, sesion attributes, and defined values.
936	DefaultValueSpecification *SlotDefaultValueSpecification
937
938	// The prompt that Amazon Lex uses to elicit the slot value from the user.
939	PromptSpecification *PromptSpecification
940
941	// If you know a specific pattern that users might respond to an Amazon Lex request
942	// for a slot value, you can provide those utterances to improve accuracy. This is
943	// optional. In most cases, Amazon Lex is capable of understanding user utterances.
944	SampleUtterances []SampleUtterance
945
946	// Specifies the prompts that Amazon Lex uses while a bot is waiting for customer
947	// input.
948	WaitAndContinueSpecification *WaitAndContinueSpecification
949}
950
951// Provides a regular expression used to validate the value of a slot.
952type SlotValueRegexFilter struct {
953
954	// A regular expression used to validate the value of a slot. Use a standard
955	// regular expression. Amazon Lex supports the following characters in the regular
956	// expression:
957	//
958	// * A-Z, a-z
959	//
960	// * 0-9
961	//
962	// * Unicode characters ("\ u")
963	//
964	// Represent Unicode
965	// characters with four digits, for example "\u0041" or "\u005A". The following
966	// regular expression operators are not supported:
967	//
968	// * Infinite repeaters: *, +, or
969	// {x,} with no upper bound.
970	//
971	// * Wild card (.)
972	//
973	// This member is required.
974	Pattern *string
975}
976
977// Contains settings used by Amazon Lex to select a slot value.
978type SlotValueSelectionSetting struct {
979
980	// Determines the slot resolution strategy that Amazon Lex uses to return slot type
981	// values. The field can be set to one of the following values:
982	//
983	// * OriginalValue -
984	// Returns the value entered by the user, if the user value is similar to the slot
985	// value.
986	//
987	// * TopResolution - If there is a resolution list for the slot, return the
988	// first value in the resolution list as the slot type value. If there is no
989	// resolution list, null is returned.
990	//
991	// If you don't specify the
992	// valueSelectionStrategy, the default is OriginalValue.
993	//
994	// This member is required.
995	ResolutionStrategy SlotValueResolutionStrategy
996
997	// A regular expression used to validate the value of a slot.
998	RegexFilter *SlotValueRegexFilter
999}
1000
1001// Defines a Speech Synthesis Markup Language (SSML) prompt.
1002type SSMLMessage struct {
1003
1004	// The SSML text that defines the prompt.
1005	//
1006	// This member is required.
1007	Value *string
1008}
1009
1010// Defines the messages that Amazon Lex sends to a user to remind them that the bot
1011// is waiting for a response.
1012type StillWaitingResponseSpecification struct {
1013
1014	// How often a message should be sent to the user. Minimum of 1 second, maximum of
1015	// 5 minutes.
1016	//
1017	// This member is required.
1018	FrequencyInSeconds *int32
1019
1020	// One or more message groups, each containing one or more messages, that define
1021	// the prompts that Amazon Lex sends to the user.
1022	//
1023	// This member is required.
1024	MessageGroups []MessageGroup
1025
1026	// If Amazon Lex waits longer than this length of time for a response, it will stop
1027	// sending messages.
1028	//
1029	// This member is required.
1030	TimeoutInSeconds *int32
1031
1032	// Indicates that the user can interrupt the response by speaking while the message
1033	// is being played.
1034	AllowInterrupt *bool
1035}
1036
1037// Defines the Amazon CloudWatch Logs destination log group for conversation text
1038// logs.
1039type TextLogDestination struct {
1040
1041	// Defines the Amazon CloudWatch Logs log group where text and metadata logs are
1042	// delivered.
1043	//
1044	// This member is required.
1045	CloudWatch *CloudWatchLogGroupLogDestination
1046}
1047
1048// Defines settings to enable text conversation logs.
1049type TextLogSetting struct {
1050
1051	// Defines the Amazon CloudWatch Logs destination log group for conversation text
1052	// logs.
1053	//
1054	// This member is required.
1055	Destination *TextLogDestination
1056
1057	// Determines whether conversation logs should be stored for an alias.
1058	//
1059	// This member is required.
1060	Enabled bool
1061}
1062
1063// Defines settings for using an Amazon Polly voice to communicate with a user.
1064type VoiceSettings struct {
1065
1066	// The identifier of the Amazon Polly voice to use.
1067	//
1068	// This member is required.
1069	VoiceId *string
1070}
1071
1072// Specifies the prompts that Amazon Lex uses while a bot is waiting for customer
1073// input.
1074type WaitAndContinueSpecification struct {
1075
1076	// The response that Amazon Lex sends to indicate that the bot is ready to continue
1077	// the conversation.
1078	//
1079	// This member is required.
1080	ContinueResponse *ResponseSpecification
1081
1082	// The response that Amazon Lex sends to indicate that the bot is waiting for the
1083	// conversation to continue.
1084	//
1085	// This member is required.
1086	WaitingResponse *ResponseSpecification
1087
1088	// A response that Amazon Lex sends periodically to the user to indicate that the
1089	// bot is still waiting for input from the user.
1090	StillWaitingResponse *StillWaitingResponseSpecification
1091}
1092