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; }
}
}