using System; using System.Collections.Generic; using System.Runtime.Serialization; namespace Amazon.Lambda.LexV2Events { /// <summary> /// This class represents response from the Lambda function. /// https://docs.aws.amazon.com/lexv2/latest/dg/lambda.html#lambda-response-format /// </summary> [DataContract] public class LexV2Response { /// <summary> /// The current state of the conversation with the user. The actual contents of the structure depends on the type of dialog action. /// </summary> [DataMember(Name = "sessionState", EmitDefaultValue = false)] [System.Text.Json.Serialization.JsonPropertyName("sessionState")] public LexV2SessionState SessionState { get; set; } /// <summary> /// One or more messages that Amazon Lex V2 shows to the customer to perform the next turn of the conversation. Required if <c>dialogAction.type</c> is <c>ElicitIntent</c>. /// If you don't supply messages, Amazon Lex V2 uses the appropriate message defined when the bot was created. /// </summary> [DataMember(Name = "messages", EmitDefaultValue = false)] [System.Text.Json.Serialization.JsonPropertyName("messages")] public IList<LexV2Message> Messages { get; set; } /// <summary> /// Request-specific attributes that the client sends in the request. /// </summary> [DataMember(Name = "requestAttributes", EmitDefaultValue = false)] [System.Text.Json.Serialization.JsonPropertyName("requestAttributes")] public IDictionary<string, string> RequestAttributes { get; set; } } }