using System.Collections.Generic; using System.Runtime.Serialization; namespace Amazon.Lambda.LexEvents { /// /// One or more contexts that are active during this turn of a conversation with the user. /// [DataContract] public class LexActiveContext { /// /// The length of time or number of turns in the conversation with the user that the context remains active. /// [DataMember(Name = "timeToLive", EmitDefaultValue = false)] #if NETCOREAPP3_1 [System.Text.Json.Serialization.JsonPropertyName("timeToLive")] #endif public TimeToLive TimeToLive { get; set; } /// /// The name of the context. /// [DataMember(Name = "name", EmitDefaultValue = false)] #if NETCOREAPP3_1 [System.Text.Json.Serialization.JsonPropertyName("name")] #endif public string Name { get; set; } /// /// A list of key/value pairs the contains the name and value of the slots from the intent that activated the context. /// [DataMember(Name = "parameters", EmitDefaultValue = false)] #if NETCOREAPP3_1 [System.Text.Json.Serialization.JsonPropertyName("parameters")] #endif public IDictionary Parameters { get; set; } } /// /// The length of time or number of turns in the conversation with the user that the context remains active. /// [DataContract] public class TimeToLive { /// /// The length of time that the context remains active. /// [DataMember(Name = "timeToLiveInSeconds", EmitDefaultValue = false)] #if NETCOREAPP3_1 [System.Text.Json.Serialization.JsonPropertyName("timeToLiveInSeconds")] #endif public int TimeToLiveInSeconds { get; set; } /// /// The number of turns in the conversation with the user that the context remains active. /// [DataMember(Name = "turnsToLive", EmitDefaultValue = false)] #if NETCOREAPP3_1 [System.Text.Json.Serialization.JsonPropertyName("turnsToLive")] #endif public int TurnsToLive { get; set; } } }