using System.Collections.Generic; using System.Runtime.Serialization; namespace Amazon.Lambda.LexV2Events { /// /// The class that represents the current intent that Amazon Lex V2 is attempting to fulfill. /// https://docs.aws.amazon.com/lexv2/latest/dg/API_runtime_Intent.html /// [DataContract] public class LexV2Intent { /// /// Contains information about whether fulfillment of the intent has been confirmed. Could be one of Confirmed, Denied or None. /// [DataMember(Name = "confirmationState", EmitDefaultValue = false)] [System.Text.Json.Serialization.JsonPropertyName("confirmationState")] public string ConfirmationState { get; set; } /// /// The name of the intent. /// [DataMember(Name = "name", EmitDefaultValue = false)] [System.Text.Json.Serialization.JsonPropertyName("name")] public string Name { get; set; } /// /// A map of all of the slots for the intent. The name of the slot maps to the value of the slot. If a slot has not been filled, the value is null. /// [DataMember(Name = "slots", EmitDefaultValue = false)] [System.Text.Json.Serialization.JsonPropertyName("slots")] public IDictionary Slots { get; set; } /// /// Contains fulfillment information for the intent. Could be one of Failed, Fulfilled, FulfillmentInProgress, InProgress, ReadyForFulfillment or Waiting. /// [DataMember(Name = "state", EmitDefaultValue = false)] [System.Text.Json.Serialization.JsonPropertyName("state")] public string State { get; set; } /// /// Only present when intent is KendraSearchIntent. /// [DataMember(Name = "kendraResponse", EmitDefaultValue = false)] [System.Text.Json.Serialization.JsonPropertyName("kendraResponse")] public KendraResponse KendraResponse { get; set; } } }