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