/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the models.lex.v2-2020-08-07.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.LexModelsV2.Model
{
///
/// An object containing information about a specific utterance.
///
public partial class UtteranceSpecification
{
private string _associatedIntentName;
private string _associatedSlotName;
private long? _audioVoiceDurationMillis;
private string _botAliasId;
private string _botResponseAudioVoiceId;
private List _botResponses = new List();
private string _botVersion;
private string _channel;
private DateTime? _conversationEndTime;
private DateTime? _conversationStartTime;
private string _dialogActionType;
private string _inputType;
private IntentState _intentState;
private string _localeId;
private AnalyticsModality _mode;
private string _outputType;
private string _sessionId;
private string _slotsFilledInSession;
private string _utterance;
private string _utteranceRequestId;
private DateTime? _utteranceTimestamp;
private bool? _utteranceUnderstood;
///
/// Gets and sets the property AssociatedIntentName.
///
/// The name of the intent that the utterance is associated to.
///
///
[AWSProperty(Min=1, Max=100)]
public string AssociatedIntentName
{
get { return this._associatedIntentName; }
set { this._associatedIntentName = value; }
}
// Check to see if AssociatedIntentName property is set
internal bool IsSetAssociatedIntentName()
{
return this._associatedIntentName != null;
}
///
/// Gets and sets the property AssociatedSlotName.
///
/// The name of the slot that the utterance is associated to.
///
///
[AWSProperty(Min=1, Max=100)]
public string AssociatedSlotName
{
get { return this._associatedSlotName; }
set { this._associatedSlotName = value; }
}
// Check to see if AssociatedSlotName property is set
internal bool IsSetAssociatedSlotName()
{
return this._associatedSlotName != null;
}
///
/// Gets and sets the property AudioVoiceDurationMillis.
///
/// The duration in milliseconds of the audio associated with the utterance.
///
///
public long AudioVoiceDurationMillis
{
get { return this._audioVoiceDurationMillis.GetValueOrDefault(); }
set { this._audioVoiceDurationMillis = value; }
}
// Check to see if AudioVoiceDurationMillis property is set
internal bool IsSetAudioVoiceDurationMillis()
{
return this._audioVoiceDurationMillis.HasValue;
}
///
/// Gets and sets the property BotAliasId.
///
/// The identifier of the alias of the bot that the utterance was made to.
///
///
[AWSProperty(Min=10, Max=10)]
public string BotAliasId
{
get { return this._botAliasId; }
set { this._botAliasId = value; }
}
// Check to see if BotAliasId property is set
internal bool IsSetBotAliasId()
{
return this._botAliasId != null;
}
///
/// Gets and sets the property BotResponseAudioVoiceId.
///
/// The identifier for the audio of the bot response.
///
///
public string BotResponseAudioVoiceId
{
get { return this._botResponseAudioVoiceId; }
set { this._botResponseAudioVoiceId = value; }
}
// Check to see if BotResponseAudioVoiceId property is set
internal bool IsSetBotResponseAudioVoiceId()
{
return this._botResponseAudioVoiceId != null;
}
///
/// Gets and sets the property BotResponses.
///
/// A list of objects containing information about the bot response to the utterance.
///
///
public List BotResponses
{
get { return this._botResponses; }
set { this._botResponses = value; }
}
// Check to see if BotResponses property is set
internal bool IsSetBotResponses()
{
return this._botResponses != null && this._botResponses.Count > 0;
}
///
/// Gets and sets the property BotVersion.
///
/// The version of the bot that the utterance was made to.
///
///
[AWSProperty(Min=1, Max=5)]
public string BotVersion
{
get { return this._botVersion; }
set { this._botVersion = value; }
}
// Check to see if BotVersion property is set
internal bool IsSetBotVersion()
{
return this._botVersion != null;
}
///
/// Gets and sets the property Channel.
///
/// The channel that is integrated with the bot that the utterance was made to.
///
///
[AWSProperty(Min=1, Max=50)]
public string Channel
{
get { return this._channel; }
set { this._channel = value; }
}
// Check to see if Channel property is set
internal bool IsSetChannel()
{
return this._channel != null;
}
///
/// Gets and sets the property ConversationEndTime.
///
/// The date and time when the conversation in which the utterance took place ended. A
/// conversation is defined as a unique combination of a sessionId
and an
/// originatingRequestId
.
///
///
public DateTime ConversationEndTime
{
get { return this._conversationEndTime.GetValueOrDefault(); }
set { this._conversationEndTime = value; }
}
// Check to see if ConversationEndTime property is set
internal bool IsSetConversationEndTime()
{
return this._conversationEndTime.HasValue;
}
///
/// Gets and sets the property ConversationStartTime.
///
/// The date and time when the conversation in which the utterance took place began. A
/// conversation is defined as a unique combination of a sessionId
and an
/// originatingRequestId
.
///
///
public DateTime ConversationStartTime
{
get { return this._conversationStartTime.GetValueOrDefault(); }
set { this._conversationStartTime = value; }
}
// Check to see if ConversationStartTime property is set
internal bool IsSetConversationStartTime()
{
return this._conversationStartTime.HasValue;
}
///
/// Gets and sets the property DialogActionType.
///
/// The type of dialog action that the utterance is associated to. See the type
/// field in DialogAction
/// for more information.
///
///
public string DialogActionType
{
get { return this._dialogActionType; }
set { this._dialogActionType = value; }
}
// Check to see if DialogActionType property is set
internal bool IsSetDialogActionType()
{
return this._dialogActionType != null;
}
///
/// Gets and sets the property InputType.
///
/// The input type of the utterance. The possible values are as follows:
///
/// -
///
/// PCM format: audio data must be in little-endian byte order.
///
///
-
///
///
audio/l16; rate=16000; channels=1
///
/// -
///
///
audio/x-l16; sample-rate=16000; channel-count=1
///
/// -
///
///
audio/lpcm; sample-rate=8000; sample-size-bits=16; channel-count=1; is-big-endian=false
///
///
///
-
///
/// Opus format
///
///
-
///
///
audio/x-cbr-opus-with-preamble;preamble-size=0;bit-rate=256000;frame-size-milliseconds=4
///
///
///
-
///
/// Text format
///
///
-
///
///
text/plain; charset=utf-8
///
///
///
public string InputType
{
get { return this._inputType; }
set { this._inputType = value; }
}
// Check to see if InputType property is set
internal bool IsSetInputType()
{
return this._inputType != null;
}
///
/// Gets and sets the property IntentState.
///
/// The state of the intent that the utterance is associated to.
///
///
public IntentState IntentState
{
get { return this._intentState; }
set { this._intentState = value; }
}
// Check to see if IntentState property is set
internal bool IsSetIntentState()
{
return this._intentState != null;
}
///
/// Gets and sets the property LocaleId.
///
/// The locale of the bot that the utterance was made to.
///
///
public string LocaleId
{
get { return this._localeId; }
set { this._localeId = value; }
}
// Check to see if LocaleId property is set
internal bool IsSetLocaleId()
{
return this._localeId != null;
}
///
/// Gets and sets the property Mode.
///
/// The mode of the session. The possible values are as follows:
///
/// -
///
///
Speech
– The session consisted of spoken dialogue.
///
/// -
///
///
Text
– The session consisted of written dialogue.
///
/// -
///
///
DTMF
– The session consisted of touch-tone keypad (Dual Tone Multi-Frequency)
/// key presses.
///
/// -
///
///
MultiMode
– The session consisted of multiple modes.
///
///
///
public AnalyticsModality Mode
{
get { return this._mode; }
set { this._mode = value; }
}
// Check to see if Mode property is set
internal bool IsSetMode()
{
return this._mode != null;
}
///
/// Gets and sets the property OutputType.
///
/// The output type of the utterance. The possible values are as follows:
///
/// -
///
///
audio/mpeg
///
/// -
///
///
audio/ogg
///
/// -
///
///
audio/pcm (16 KHz)
///
/// -
///
///
audio/
(defaults to mpeg
)
///
/// -
///
///
text/plain; charset=utf-8
///
///
///
public string OutputType
{
get { return this._outputType; }
set { this._outputType = value; }
}
// Check to see if OutputType property is set
internal bool IsSetOutputType()
{
return this._outputType != null;
}
///
/// Gets and sets the property SessionId.
///
/// The identifier of the session that the utterance was made in.
///
///
public string SessionId
{
get { return this._sessionId; }
set { this._sessionId = value; }
}
// Check to see if SessionId property is set
internal bool IsSetSessionId()
{
return this._sessionId != null;
}
///
/// Gets and sets the property SlotsFilledInSession.
///
/// The slots that have been filled in the session by the time of the utterance.
///
///
public string SlotsFilledInSession
{
get { return this._slotsFilledInSession; }
set { this._slotsFilledInSession = value; }
}
// Check to see if SlotsFilledInSession property is set
internal bool IsSetSlotsFilledInSession()
{
return this._slotsFilledInSession != null;
}
///
/// Gets and sets the property Utterance.
///
/// The text of the utterance.
///
///
public string Utterance
{
get { return this._utterance; }
set { this._utterance = value; }
}
// Check to see if Utterance property is set
internal bool IsSetUtterance()
{
return this._utterance != null;
}
///
/// Gets and sets the property UtteranceRequestId.
///
/// The identifier of the request associated with the utterance.
///
///
[AWSProperty(Min=10, Max=10)]
public string UtteranceRequestId
{
get { return this._utteranceRequestId; }
set { this._utteranceRequestId = value; }
}
// Check to see if UtteranceRequestId property is set
internal bool IsSetUtteranceRequestId()
{
return this._utteranceRequestId != null;
}
///
/// Gets and sets the property UtteranceTimestamp.
///
/// The date and time when the utterance took place.
///
///
public DateTime UtteranceTimestamp
{
get { return this._utteranceTimestamp.GetValueOrDefault(); }
set { this._utteranceTimestamp = value; }
}
// Check to see if UtteranceTimestamp property is set
internal bool IsSetUtteranceTimestamp()
{
return this._utteranceTimestamp.HasValue;
}
///
/// Gets and sets the property UtteranceUnderstood.
///
/// Specifies whether the bot understood the utterance or not.
///
///
public bool UtteranceUnderstood
{
get { return this._utteranceUnderstood.GetValueOrDefault(); }
set { this._utteranceUnderstood = value; }
}
// Check to see if UtteranceUnderstood property is set
internal bool IsSetUtteranceUnderstood()
{
return this._utteranceUnderstood.HasValue;
}
}
}