/* * 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 runtime.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.LexRuntimeV2.Model { /// /// The state of the user's session with Amazon Lex V2. /// public partial class SessionState { private List _activeContexts = new List(); private DialogAction _dialogAction; private Intent _intent; private string _originatingRequestId; private RuntimeHints _runtimeHints; private Dictionary _sessionAttributes = new Dictionary(); /// /// Gets and sets the property ActiveContexts. /// /// One or more contexts that indicate to Amazon Lex V2 the context of a request. When /// a context is active, Amazon Lex V2 considers intents with the matching context as /// a trigger as the next intent in a session. /// /// [AWSProperty(Min=0, Max=20)] public List ActiveContexts { get { return this._activeContexts; } set { this._activeContexts = value; } } // Check to see if ActiveContexts property is set internal bool IsSetActiveContexts() { return this._activeContexts != null && this._activeContexts.Count > 0; } /// /// Gets and sets the property DialogAction. /// /// The next step that Amazon Lex V2 should take in the conversation with a user. /// /// public DialogAction DialogAction { get { return this._dialogAction; } set { this._dialogAction = value; } } // Check to see if DialogAction property is set internal bool IsSetDialogAction() { return this._dialogAction != null; } /// /// Gets and sets the property Intent. /// /// The active intent that Amazon Lex V2 is processing. /// /// public Intent Intent { get { return this._intent; } set { this._intent = value; } } // Check to see if Intent property is set internal bool IsSetIntent() { return this._intent != null; } /// /// Gets and sets the property OriginatingRequestId. /// /// A unique identifier for a specific request. /// /// [AWSProperty(Min=1)] public string OriginatingRequestId { get { return this._originatingRequestId; } set { this._originatingRequestId = value; } } // Check to see if OriginatingRequestId property is set internal bool IsSetOriginatingRequestId() { return this._originatingRequestId != null; } /// /// Gets and sets the property RuntimeHints. /// /// Hints for phrases that a customer is likely to use for a slot. Amazon Lex V2 uses /// the hints to help determine the correct value of a slot. /// /// public RuntimeHints RuntimeHints { get { return this._runtimeHints; } set { this._runtimeHints = value; } } // Check to see if RuntimeHints property is set internal bool IsSetRuntimeHints() { return this._runtimeHints != null; } /// /// Gets and sets the property SessionAttributes. /// /// Map of key/value pairs representing session-specific context information. It contains /// application information passed between Amazon Lex V2 and a client application. /// /// public Dictionary SessionAttributes { get { return this._sessionAttributes; } set { this._sessionAttributes = value; } } // Check to see if SessionAttributes property is set internal bool IsSetSessionAttributes() { return this._sessionAttributes != null && this._sessionAttributes.Count > 0; } } }