1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package types 4 5import ( 6 "time" 7) 8 9// Provides information about a bot alias. 10type BotAliasMetadata struct { 11 12 // The name of the bot to which the alias points. 13 BotName *string 14 15 // The version of the Amazon Lex bot to which the alias points. 16 BotVersion *string 17 18 // Checksum of the bot alias. 19 Checksum *string 20 21 // Settings that determine how Amazon Lex uses conversation logs for the alias. 22 ConversationLogs *ConversationLogsResponse 23 24 // The date that the bot alias was created. 25 CreatedDate *time.Time 26 27 // A description of the bot alias. 28 Description *string 29 30 // The date that the bot alias was updated. When you create a resource, the 31 // creation date and last updated date are the same. 32 LastUpdatedDate *time.Time 33 34 // The name of the bot alias. 35 Name *string 36} 37 38// Represents an association between an Amazon Lex bot and an external messaging 39// platform. 40type BotChannelAssociation struct { 41 42 // An alias pointing to the specific version of the Amazon Lex bot to which this 43 // association is being made. 44 BotAlias *string 45 46 // Provides information necessary to communicate with the messaging platform. 47 BotConfiguration map[string]string 48 49 // The name of the Amazon Lex bot to which this association is being made. 50 // Currently, Amazon Lex supports associations with Facebook and Slack, and Twilio. 51 BotName *string 52 53 // The date that the association between the Amazon Lex bot and the channel was 54 // created. 55 CreatedDate *time.Time 56 57 // A text description of the association you are creating. 58 Description *string 59 60 // If status is FAILED, Amazon Lex provides the reason that it failed to create the 61 // association. 62 FailureReason *string 63 64 // The name of the association between the bot and the channel. 65 Name *string 66 67 // The status of the bot channel. 68 // 69 // * CREATED - The channel has been created and is 70 // ready for use. 71 // 72 // * IN_PROGRESS - Channel creation is in progress. 73 // 74 // * FAILED - 75 // There was an error creating the channel. For information about the reason for 76 // the failure, see the failureReason field. 77 Status ChannelStatus 78 79 // Specifies the type of association by indicating the type of channel being 80 // established between the Amazon Lex bot and the external messaging platform. 81 Type ChannelType 82} 83 84// Provides information about a bot. . 85type BotMetadata struct { 86 87 // The date that the bot was created. 88 CreatedDate *time.Time 89 90 // A description of the bot. 91 Description *string 92 93 // The date that the bot was updated. When you create a bot, the creation date and 94 // last updated date are the same. 95 LastUpdatedDate *time.Time 96 97 // The name of the bot. 98 Name *string 99 100 // The status of the bot. 101 Status Status 102 103 // The version of the bot. For a new bot, the version is always $LATEST. 104 Version *string 105} 106 107// Provides metadata for a built-in intent. 108type BuiltinIntentMetadata struct { 109 110 // A unique identifier for the built-in intent. To find the signature for an 111 // intent, see Standard Built-in Intents 112 // (https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents) 113 // in the Alexa Skills Kit. 114 Signature *string 115 116 // A list of identifiers for the locales that the intent supports. 117 SupportedLocales []Locale 118} 119 120// Provides information about a slot used in a built-in intent. 121type BuiltinIntentSlot struct { 122 123 // A list of the slots defined for the intent. 124 Name *string 125} 126 127// Provides information about a built in slot type. 128type BuiltinSlotTypeMetadata struct { 129 130 // A unique identifier for the built-in slot type. To find the signature for a slot 131 // type, see Slot Type Reference 132 // (https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/slot-type-reference) 133 // in the Alexa Skills Kit. 134 Signature *string 135 136 // A list of target locales for the slot. 137 SupportedLocales []Locale 138} 139 140// Specifies a Lambda function that verifies requests to a bot or fulfills the 141// user's request to a bot.. 142type CodeHook struct { 143 144 // The version of the request-response that you want Amazon Lex to use to invoke 145 // your Lambda function. For more information, see using-lambda. 146 // 147 // This member is required. 148 MessageVersion *string 149 150 // The Amazon Resource Name (ARN) of the Lambda function. 151 // 152 // This member is required. 153 Uri *string 154} 155 156// Provides the settings needed for conversation logs. 157type ConversationLogsRequest struct { 158 159 // The Amazon Resource Name (ARN) of an IAM role with permission to write to your 160 // CloudWatch Logs for text logs and your S3 bucket for audio logs. If audio 161 // encryption is enabled, this role also provides access permission for the AWS KMS 162 // key used for encrypting audio logs. For more information, see Creating an IAM 163 // Role and Policy for Conversation Logs 164 // (https://docs.aws.amazon.com/lex/latest/dg/conversation-logs-role-and-policy.html). 165 // 166 // This member is required. 167 IamRoleArn *string 168 169 // The settings for your conversation logs. You can log the conversation text, 170 // conversation audio, or both. 171 // 172 // This member is required. 173 LogSettings []LogSettingsRequest 174} 175 176// Contains information about conversation log settings. 177type ConversationLogsResponse struct { 178 179 // The Amazon Resource Name (ARN) of the IAM role used to write your logs to 180 // CloudWatch Logs or an S3 bucket. 181 IamRoleArn *string 182 183 // The settings for your conversation logs. You can log text, audio, or both. 184 LogSettings []LogSettingsResponse 185} 186 187// Each slot type can have a set of values. Each enumeration value represents a 188// value the slot type can take. For example, a pizza ordering bot could have a 189// slot type that specifies the type of crust that the pizza should have. The slot 190// type could include the values 191// 192// * thick 193// 194// * thin 195// 196// * stuffed 197type EnumerationValue struct { 198 199 // The value of the slot type. 200 // 201 // This member is required. 202 Value *string 203 204 // Additional values related to the slot type value. 205 Synonyms []string 206} 207 208// A prompt for additional activity after an intent is fulfilled. For example, 209// after the OrderPizza intent is fulfilled, you might prompt the user to find out 210// whether the user wants to order drinks. 211type FollowUpPrompt struct { 212 213 // Prompts for information from the user. 214 // 215 // This member is required. 216 Prompt *Prompt 217 218 // If the user answers "no" to the question defined in the prompt field, Amazon Lex 219 // responds with this statement to acknowledge that the intent was canceled. 220 // 221 // This member is required. 222 RejectionStatement *Statement 223} 224 225// Describes how the intent is fulfilled after the user provides all of the 226// information required for the intent. You can provide a Lambda function to 227// process the intent, or you can return the intent information to the client 228// application. We recommend that you use a Lambda function so that the relevant 229// logic lives in the Cloud and limit the client-side code primarily to 230// presentation. If you need to update the logic, you only update the Lambda 231// function; you don't need to upgrade your client application. Consider the 232// following examples: 233// 234// * In a pizza ordering application, after the user provides 235// all of the information for placing an order, you use a Lambda function to place 236// an order with a pizzeria. 237// 238// * In a gaming application, when a user says "pick up 239// a rock," this information must go back to the client application so that it can 240// perform the operation and update the graphics. In this case, you want Amazon Lex 241// to return the intent data to the client. 242type FulfillmentActivity struct { 243 244 // How the intent should be fulfilled, either by running a Lambda function or by 245 // returning the slot data to the client application. 246 // 247 // This member is required. 248 Type FulfillmentActivityType 249 250 // A description of the Lambda function that is run to fulfill the intent. 251 CodeHook *CodeHook 252} 253 254// The name of a context that must be active for an intent to be selected by Amazon 255// Lex. 256type InputContext struct { 257 258 // The name of the context. 259 // 260 // This member is required. 261 Name *string 262} 263 264// Identifies the specific version of an intent. 265type Intent struct { 266 267 // The name of the intent. 268 // 269 // This member is required. 270 IntentName *string 271 272 // The version of the intent. 273 // 274 // This member is required. 275 IntentVersion *string 276} 277 278// Provides information about an intent. 279type IntentMetadata struct { 280 281 // The date that the intent was created. 282 CreatedDate *time.Time 283 284 // A description of the intent. 285 Description *string 286 287 // The date that the intent was updated. When you create an intent, the creation 288 // date and last updated date are the same. 289 LastUpdatedDate *time.Time 290 291 // The name of the intent. 292 Name *string 293 294 // The version of the intent. 295 Version *string 296} 297 298// Provides configuration information for the AMAZON.KendraSearchIntent intent. 299// When you use this intent, Amazon Lex searches the specified Amazon Kendra index 300// and returns documents from the index that match the user's utterance. For more 301// information, see AMAZON.KendraSearchIntent 302// (http://docs.aws.amazon.com/lex/latest/dg/built-in-intent-kendra-search.html). 303type KendraConfiguration struct { 304 305 // The Amazon Resource Name (ARN) of the Amazon Kendra index that you want the 306 // AMAZON.KendraSearchIntent intent to search. The index must be in the same 307 // account and Region as the Amazon Lex bot. If the Amazon Kendra index does not 308 // exist, you get an exception when you call the PutIntent operation. 309 // 310 // This member is required. 311 KendraIndex *string 312 313 // The Amazon Resource Name (ARN) of an IAM role that has permission to search the 314 // Amazon Kendra index. The role must be in the same account and Region as the 315 // Amazon Lex bot. If the role does not exist, you get an exception when you call 316 // the PutIntent operation. 317 // 318 // This member is required. 319 Role *string 320 321 // A query filter that Amazon Lex sends to Amazon Kendra to filter the response 322 // from the query. The filter is in the format defined by Amazon Kendra. For more 323 // information, see Filtering queries 324 // (http://docs.aws.amazon.com/kendra/latest/dg/filtering.html). You can override 325 // this filter string with a new filter string at runtime. 326 QueryFilterString *string 327} 328 329// Settings used to configure delivery mode and destination for conversation logs. 330type LogSettingsRequest struct { 331 332 // Where the logs will be delivered. Text logs are delivered to a CloudWatch Logs 333 // log group. Audio logs are delivered to an S3 bucket. 334 // 335 // This member is required. 336 Destination Destination 337 338 // The type of logging to enable. Text logs are delivered to a CloudWatch Logs log 339 // group. Audio logs are delivered to an S3 bucket. 340 // 341 // This member is required. 342 LogType LogType 343 344 // The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket 345 // where the logs should be delivered. 346 // 347 // This member is required. 348 ResourceArn *string 349 350 // The Amazon Resource Name (ARN) of the AWS KMS customer managed key for 351 // encrypting audio logs delivered to an S3 bucket. The key does not apply to 352 // CloudWatch Logs and is optional for S3 buckets. 353 KmsKeyArn *string 354} 355 356// The settings for conversation logs. 357type LogSettingsResponse struct { 358 359 // The destination where logs are delivered. 360 Destination Destination 361 362 // The Amazon Resource Name (ARN) of the key used to encrypt audio logs in an S3 363 // bucket. 364 KmsKeyArn *string 365 366 // The type of logging that is enabled. 367 LogType LogType 368 369 // The Amazon Resource Name (ARN) of the CloudWatch Logs log group or S3 bucket 370 // where the logs are delivered. 371 ResourceArn *string 372 373 // The resource prefix is the first part of the S3 object key within the S3 bucket 374 // that you specified to contain audio logs. For CloudWatch Logs it is the prefix 375 // of the log stream name within the log group that you specified. 376 ResourcePrefix *string 377} 378 379// The message object that provides the message text and its type. 380type Message struct { 381 382 // The text of the message. 383 // 384 // This member is required. 385 Content *string 386 387 // The content type of the message string. 388 // 389 // This member is required. 390 ContentType ContentType 391 392 // Identifies the message group that the message belongs to. When a group is 393 // assigned to a message, Amazon Lex returns one message from each group in the 394 // response. 395 GroupNumber *int32 396} 397 398// The specification of an output context that is set when an intent is fulfilled. 399type OutputContext struct { 400 401 // The name of the context. 402 // 403 // This member is required. 404 Name *string 405 406 // The number of seconds that the context should be active after it is first sent 407 // in a PostContent or PostText response. You can set the value between 5 and 408 // 86,400 seconds (24 hours). 409 // 410 // This member is required. 411 TimeToLiveInSeconds *int32 412 413 // The number of conversation turns that the context should be active. A 414 // conversation turn is one PostContent or PostText request and the corresponding 415 // response from Amazon Lex. 416 // 417 // This member is required. 418 TurnsToLive *int32 419} 420 421// Obtains information from the user. To define a prompt, provide one or more 422// messages and specify the number of attempts to get information from the user. If 423// you provide more than one message, Amazon Lex chooses one of the messages to use 424// to prompt the user. For more information, see how-it-works. 425type Prompt struct { 426 427 // The number of times to prompt the user for information. 428 // 429 // This member is required. 430 MaxAttempts *int32 431 432 // An array of objects, each of which provides a message string and its type. You 433 // can specify the message string in plain text or in Speech Synthesis Markup 434 // Language (SSML). 435 // 436 // This member is required. 437 Messages []Message 438 439 // A response card. Amazon Lex uses this prompt at runtime, in the PostText API 440 // response. It substitutes session attributes and slot values for placeholders in 441 // the response card. For more information, see ex-resp-card. 442 ResponseCard *string 443} 444 445// Describes the resource that refers to the resource that you are attempting to 446// delete. This object is returned as part of the ResourceInUseException exception. 447type ResourceReference struct { 448 449 // The name of the resource that is using the resource that you are trying to 450 // delete. 451 Name *string 452 453 // The version of the resource that is using the resource that you are trying to 454 // delete. 455 Version *string 456} 457 458// Identifies the version of a specific slot. 459type Slot struct { 460 461 // The name of the slot. 462 // 463 // This member is required. 464 Name *string 465 466 // Specifies whether the slot is required or optional. 467 // 468 // This member is required. 469 SlotConstraint SlotConstraint 470 471 // A list of default values for the slot. Default values are used when Amazon Lex 472 // hasn't determined a value for a slot. You can specify default values from 473 // context variables, session attributes, and defined values. 474 DefaultValueSpec *SlotDefaultValueSpec 475 476 // A description of the slot. 477 Description *string 478 479 // Determines whether a slot is obfuscated in conversation logs and stored 480 // utterances. When you obfuscate a slot, the value is replaced by the slot name in 481 // curly braces ({}). For example, if the slot name is "full_name", obfuscated 482 // values are replaced with "{full_name}". For more information, see Slot 483 // Obfuscation (https://docs.aws.amazon.com/lex/latest/dg/how-obfuscate.html). 484 ObfuscationSetting ObfuscationSetting 485 486 // Directs Amazon Lex the order in which to elicit this slot value from the user. 487 // For example, if the intent has two slots with priorities 1 and 2, AWS Amazon Lex 488 // first elicits a value for the slot with priority 1. If multiple slots share the 489 // same priority, the order in which Amazon Lex elicits values is arbitrary. 490 Priority *int32 491 492 // A set of possible responses for the slot type used by text-based clients. A user 493 // chooses an option from the response card, instead of using text to reply. 494 ResponseCard *string 495 496 // If you know a specific pattern with which users might respond to an Amazon Lex 497 // request for a slot value, you can provide those utterances to improve accuracy. 498 // This is optional. In most cases, Amazon Lex is capable of understanding user 499 // utterances. 500 SampleUtterances []string 501 502 // The type of the slot, either a custom slot type that you defined or one of the 503 // built-in slot types. 504 SlotType *string 505 506 // The version of the slot type. 507 SlotTypeVersion *string 508 509 // The prompt that Amazon Lex uses to elicit the slot value from the user. 510 ValueElicitationPrompt *Prompt 511} 512 513// A default value for a slot. 514type SlotDefaultValue struct { 515 516 // The default value for the slot. You can specify one of the following: 517 // 518 // * 519 // #context-name.slot-name - The slot value "slot-name" in the context 520 // "context-name." 521 // 522 // * {attribute} - The slot value of the session attribute 523 // "attribute." 524 // 525 // * 'value' - The discrete value "value." 526 // 527 // This member is required. 528 DefaultValue *string 529} 530 531// Contains the default values for a slot. Default values are used when Amazon Lex 532// hasn't determined a value for a slot. 533type SlotDefaultValueSpec struct { 534 535 // The default values for a slot. You can specify more than one default. For 536 // example, you can specify a default value to use from a matching context 537 // variable, a session attribute, or a fixed value. The default value chosen is 538 // selected based on the order that you specify them in the list. For example, if 539 // you specify a context variable and a fixed value in that order, Amazon Lex uses 540 // the context variable if it is available, else it uses the fixed value. 541 // 542 // This member is required. 543 DefaultValueList []SlotDefaultValue 544} 545 546// Provides configuration information for a slot type. 547type SlotTypeConfiguration struct { 548 549 // A regular expression used to validate the value of a slot. 550 RegexConfiguration *SlotTypeRegexConfiguration 551} 552 553// Provides information about a slot type.. 554type SlotTypeMetadata struct { 555 556 // The date that the slot type was created. 557 CreatedDate *time.Time 558 559 // A description of the slot type. 560 Description *string 561 562 // The date that the slot type was updated. When you create a resource, the 563 // creation date and last updated date are the same. 564 LastUpdatedDate *time.Time 565 566 // The name of the slot type. 567 Name *string 568 569 // The version of the slot type. 570 Version *string 571} 572 573// Provides a regular expression used to validate the value of a slot. 574type SlotTypeRegexConfiguration struct { 575 576 // A regular expression used to validate the value of a slot. Use a standard 577 // regular expression. Amazon Lex supports the following characters in the regular 578 // expression: 579 // 580 // * A-Z, a-z 581 // 582 // * 0-9 583 // 584 // * Unicode characters ("\ u") 585 // 586 // Represent Unicode 587 // characters with four digits, for example "\u0041" or "\u005A". The following 588 // regular expression operators are not supported: 589 // 590 // * Infinite repeaters: *, +, or 591 // {x,} with no upper bound. 592 // 593 // * Wild card (.) 594 // 595 // This member is required. 596 Pattern *string 597} 598 599// A collection of messages that convey information to the user. At runtime, Amazon 600// Lex selects the message to convey. 601type Statement struct { 602 603 // A collection of message objects. 604 // 605 // This member is required. 606 Messages []Message 607 608 // At runtime, if the client is using the PostText 609 // (http://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostText.html) API, Amazon 610 // Lex includes the response card in the response. It substitutes all of the 611 // session attributes and slot values for placeholders in the response card. 612 ResponseCard *string 613} 614 615// A list of key/value pairs that identify a bot, bot alias, or bot channel. Tag 616// keys and values can consist of Unicode letters, digits, white space, and any of 617// the following symbols: _ . : / = + - @. 618type Tag struct { 619 620 // The key for the tag. Keys are not case-sensitive and must be unique. 621 // 622 // This member is required. 623 Key *string 624 625 // The value associated with a key. The value may be an empty string but it can't 626 // be null. 627 // 628 // This member is required. 629 Value *string 630} 631 632// Provides information about a single utterance that was made to your bot. 633type UtteranceData struct { 634 635 // The number of times that the utterance was processed. 636 Count *int32 637 638 // The total number of individuals that used the utterance. 639 DistinctUsers *int32 640 641 // The date that the utterance was first recorded. 642 FirstUtteredDate *time.Time 643 644 // The date that the utterance was last recorded. 645 LastUtteredDate *time.Time 646 647 // The text that was entered by the user or the text representation of an audio 648 // clip. 649 UtteranceString *string 650} 651 652// Provides a list of utterances that have been made to a specific version of your 653// bot. The list contains a maximum of 100 utterances. 654type UtteranceList struct { 655 656 // The version of the bot that processed the list. 657 BotVersion *string 658 659 // One or more UtteranceData objects that contain information about the utterances 660 // that have been made to a bot. The maximum number of object is 100. 661 Utterances []UtteranceData 662} 663