/* * 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; using Amazon.Runtime.Internal.Auth; namespace Amazon.LexRuntimeV2.Model { /// /// Container for the parameters to the RecognizeUtterance operation. /// Sends user input to Amazon Lex V2. You can send text or speech. Clients use this API /// to send text and audio requests to Amazon Lex V2 at runtime. Amazon Lex V2 interprets /// the user input using the machine learning model built for the bot. /// /// /// /// The following request fields must be compressed with gzip and then base64 encoded /// before you send them to Amazon Lex V2. /// /// /// /// The following response fields are compressed using gzip and then base64 encoded by /// Amazon Lex V2. Before you can use these fields, you must decode and decompress them. /// /// /// /// /// The example contains a Java application that compresses and encodes a Java object /// to send to Amazon Lex V2, and a second that decodes and decompresses a response from /// Amazon Lex V2. /// /// /// /// If the optional post-fulfillment response is specified, the messages are returned /// as follows. For more information, see PostFulfillmentStatusSpecification. /// /// /// /// For more information, see Completion /// message. /// /// public partial class RecognizeUtteranceRequest : AmazonLexRuntimeV2Request { private string _botAliasId; private string _botId; private Stream _inputStream; private string _localeId; private string _requestAttributes; private string _requestContentType; private string _responseContentType; private string _sessionId; private string _sessionStateValue; /// /// Gets and sets the property BotAliasId. /// /// The alias identifier in use for the bot that should receive the request. /// /// [AWSProperty(Required=true)] 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 BotId. /// /// The identifier of the bot that should receive the request. /// /// [AWSProperty(Required=true, Min=10, Max=10)] public string BotId { get { return this._botId; } set { this._botId = value; } } // Check to see if BotId property is set internal bool IsSetBotId() { return this._botId != null; } /// /// Gets and sets the property InputStream. /// /// User input in PCM or Opus audio format or text format as described in the requestContentType /// parameter. /// /// public Stream InputStream { get { return this._inputStream; } set { this._inputStream = value; } } // Check to see if InputStream property is set internal bool IsSetInputStream() { return this._inputStream != null; } /// /// Gets and sets the property LocaleId. /// /// The locale where the session is in use. /// /// [AWSProperty(Required=true, Min=1)] 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 RequestAttributes. /// /// Request-specific information passed between the client application and Amazon Lex /// V2 /// /// /// /// The namespace x-amz-lex: is reserved for special attributes. Don't create /// any request attributes for prefix x-amz-lex:. /// /// /// /// The requestAttributes field must be compressed using gzip and then base64 /// encoded before sending to Amazon Lex V2. /// /// [AWSProperty(Sensitive=true)] public string RequestAttributes { get { return this._requestAttributes; } set { this._requestAttributes = value; } } // Check to see if RequestAttributes property is set internal bool IsSetRequestAttributes() { return this._requestAttributes != null; } /// /// Gets and sets the property RequestContentType. /// /// Indicates the format for audio input or that the content is text. The header must /// start with one of the following prefixes: /// /// /// [AWSProperty(Required=true, Min=1)] public string RequestContentType { get { return this._requestContentType; } set { this._requestContentType = value; } } // Check to see if RequestContentType property is set internal bool IsSetRequestContentType() { return this._requestContentType != null; } /// /// Gets and sets the property ResponseContentType. /// /// The message that Amazon Lex V2 returns in the response can be either text or speech /// based on the responseContentType value. /// /// /// [AWSProperty(Min=1)] public string ResponseContentType { get { return this._responseContentType; } set { this._responseContentType = value; } } // Check to see if ResponseContentType property is set internal bool IsSetResponseContentType() { return this._responseContentType != null; } /// /// Gets and sets the property SessionId. /// /// The identifier of the session in use. /// /// [AWSProperty(Required=true, Min=2, Max=100)] 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 SessionStateValue. /// /// Sets the state of the session with the user. You can use this to set the current intent, /// attributes, context, and dialog action. Use the dialog action to determine the next /// step that Amazon Lex V2 should use in the conversation with the user. /// /// /// /// The sessionState field must be compressed using gzip and then base64 /// encoded before sending to Amazon Lex V2. /// /// [AWSProperty(Sensitive=true)] public string SessionStateValue { get { return this._sessionStateValue; } set { this._sessionStateValue = value; } } // Check to see if SessionStateValue property is set internal bool IsSetSessionStateValue() { return this._sessionStateValue != null; } /// /// Get the signer to use for this request. /// /// A signer for this request. override protected AbstractAWSSigner CreateSigner() { return new AWS4Signer(false); } } }