/* * 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-2016-11-28.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.Lex.Model { /// /// Container for the parameters to the PostContent operation. /// Sends user input (text or speech) to Amazon Lex. Clients use this API to send text /// and audio requests to Amazon Lex at runtime. Amazon Lex interprets the user input /// using the machine learning model that it built for the bot. /// /// /// /// The PostContent operation supports audio input at 8kHz and 16kHz. You /// can use 8kHz audio to achieve higher speech recognition accuracy in telephone audio /// applications. /// /// /// /// In response, Amazon Lex returns the next message to convey to the user. Consider /// the following example messages: /// /// /// /// Not all Amazon Lex messages require a response from the user. For example, conclusion /// statements do not require a response. Some messages require only a yes or no response. /// In addition to the message, Amazon Lex provides additional context about /// the message in the response that you can use to enhance client behavior, such as displaying /// the appropriate client user interface. Consider the following examples: /// /// /// /// In addition, Amazon Lex also returns your application-specific sessionAttributes. /// For more information, see Managing /// Conversation Context. /// /// public partial class PostContentRequest : AmazonLexRequest { private string _accept; private string _activeContexts; private string _botAlias; private string _botName; private string _contentType; private Stream _inputStream; private string _requestAttributes; private string _sessionAttributes; private string _userId; /// /// Gets and sets the property Accept. /// /// You pass this value as the Accept HTTP header. /// /// /// /// The message Amazon Lex returns in the response can be either text or speech based /// on the Accept HTTP header value in the request. /// /// /// public string Accept { get { return this._accept; } set { this._accept = value; } } // Check to see if Accept property is set internal bool IsSetAccept() { return this._accept != null; } /// /// Gets and sets the property ActiveContexts. /// /// A list of contexts active for the request. A context can be activated when a previous /// intent is fulfilled, or by including the context in the request, /// /// /// /// If you don't specify a list of contexts, Amazon Lex will use the current list of contexts /// for the session. If you specify an empty list, all contexts for the session are cleared. /// /// [AWSProperty(Sensitive=true)] public string ActiveContexts { get { return this._activeContexts; } set { this._activeContexts = value; } } // Check to see if ActiveContexts property is set internal bool IsSetActiveContexts() { return this._activeContexts != null; } /// /// Gets and sets the property BotAlias. /// /// Alias of the Amazon Lex bot. /// /// [AWSProperty(Required=true)] public string BotAlias { get { return this._botAlias; } set { this._botAlias = value; } } // Check to see if BotAlias property is set internal bool IsSetBotAlias() { return this._botAlias != null; } /// /// Gets and sets the property BotName. /// /// Name of the Amazon Lex bot. /// /// [AWSProperty(Required=true)] public string BotName { get { return this._botName; } set { this._botName = value; } } // Check to see if BotName property is set internal bool IsSetBotName() { return this._botName != null; } /// /// Gets and sets the property ContentType. /// /// You pass this value as the Content-Type HTTP header. /// /// /// /// Indicates the audio format or text. The header value must start with one of the following /// prefixes: /// /// /// [AWSProperty(Required=true)] public string ContentType { get { return this._contentType; } set { this._contentType = value; } } // Check to see if ContentType property is set internal bool IsSetContentType() { return this._contentType != null; } /// /// Gets and sets the property InputStream. /// /// User input in PCM or Opus audio format or text format as described in the Content-Type /// HTTP header. /// /// /// /// You can stream audio data to Amazon Lex or you can create a local buffer that captures /// all of the audio data before sending. In general, you get better performance if you /// stream audio data rather than buffering the data locally. /// /// [AWSProperty(Required=true)] 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 RequestAttributes. /// /// You pass this value as the x-amz-lex-request-attributes HTTP header. /// /// /// /// Request-specific information passed between Amazon Lex and a client application. The /// value must be a JSON serialized and base64 encoded map with string keys and values. /// The total size of the requestAttributes and sessionAttributes /// headers is limited to 12 KB. /// /// /// /// The namespace x-amz-lex: is reserved for special attributes. Don't create /// any request attributes with the prefix x-amz-lex:. /// /// /// /// For more information, see Setting /// Request Attributes. /// /// [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 SessionAttributes. /// /// You pass this value as the x-amz-lex-session-attributes HTTP header. /// /// /// /// Application-specific information passed between Amazon Lex and a client application. /// The value must be a JSON serialized and base64 encoded map with string keys and values. /// The total size of the sessionAttributes and requestAttributes /// headers is limited to 12 KB. /// /// /// /// For more information, see Setting /// Session Attributes. /// /// [AWSProperty(Sensitive=true)] public string SessionAttributes { get { return this._sessionAttributes; } set { this._sessionAttributes = value; } } // Check to see if SessionAttributes property is set internal bool IsSetSessionAttributes() { return this._sessionAttributes != null; } /// /// Gets and sets the property UserId. /// /// The ID of the client application user. Amazon Lex uses this to identify a user's conversation /// with your bot. At runtime, each request must contain the userID field. /// /// /// /// To decide the user ID to use for your application, consider the following factors. /// /// /// [AWSProperty(Required=true, Min=2, Max=100)] public string UserId { get { return this._userId; } set { this._userId = value; } } // Check to see if UserId property is set internal bool IsSetUserId() { return this._userId != null; } /// /// Get the signer to use for this request. /// /// A signer for this request. override protected AbstractAWSSigner CreateSigner() { return new AWS4Signer(false); } } }