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