using System.Collections.Generic; using System.Runtime.Serialization; namespace Amazon.Lambda.LexV2Events { /// /// The class that represents a value that Amazon Lex V2 uses to fulfill an intent. /// https://docs.aws.amazon.com/lexv2/latest/dg/API_runtime_Slot.html /// [DataContract] public class LexV2Slot { /// /// When the shape value is List, it indicates that the values field contains a list of slot values. /// When the value is Scalar, it indicates that the value field contains a single value. /// [DataMember(Name = "shape", EmitDefaultValue = false)] [System.Text.Json.Serialization.JsonPropertyName("shape")] public string Shape { get; set; } /// /// The current value of the slot. /// [DataMember(Name = "value", EmitDefaultValue = false)] [System.Text.Json.Serialization.JsonPropertyName("value")] public LexV2SlotValue Value { get; set; } /// /// The resolutions array contains a list of additional values recognized for the slot. /// [DataMember(Name = "values", EmitDefaultValue = false)] [System.Text.Json.Serialization.JsonPropertyName("values")] public IList Values { get; set; } } /// /// The class that represents the value of a slot. /// https://docs.aws.amazon.com/lexv2/latest/dg/API_runtime_Value.html /// [DataContract] public class LexV2SlotValue { /// /// The value that Amazon Lex V2 determines for the slot. The actual value depends on the setting of the value selection strategy for the bot. /// [DataMember(Name = "interpretedValue", EmitDefaultValue = false)] [System.Text.Json.Serialization.JsonPropertyName("interpretedValue")] public string InterpretedValue { get; set; } /// /// The text of the utterance from the user that was entered for the slot. /// [DataMember(Name = "originalValue", EmitDefaultValue = false)] [System.Text.Json.Serialization.JsonPropertyName("originalValue")] public string OriginalValue { get; set; } /// /// A list of additional values that have been recognized for the slot. /// [DataMember(Name = "resolvedValues", EmitDefaultValue = false)] [System.Text.Json.Serialization.JsonPropertyName("resolvedValues")] public IList ResolvedValues { get; set; } } }