#[non_exhaustive]pub struct PostContentOutput {Show 18 fields
pub content_type: Option<String>,
pub intent_name: Option<String>,
pub nlu_intent_confidence: Option<String>,
pub alternative_intents: Option<String>,
pub slots: Option<String>,
pub session_attributes: Option<String>,
pub sentiment_response: Option<String>,
pub message: Option<String>,
pub encoded_message: Option<String>,
pub message_format: Option<MessageFormatType>,
pub dialog_state: Option<DialogState>,
pub slot_to_elicit: Option<String>,
pub input_transcript: Option<String>,
pub encoded_input_transcript: Option<String>,
pub audio_stream: ByteStream,
pub bot_version: Option<String>,
pub session_id: Option<String>,
pub active_contexts: Option<String>,
/* private fields */
}
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.content_type: Option<String>
Content type as specified in the Accept
HTTP header in the request.
intent_name: Option<String>
Current user intent that Amazon Lex is aware of.
nlu_intent_confidence: Option<String>
Provides a score that indicates how confident Amazon Lex is that the returned intent is the one that matches the user's intent. The score is between 0.0 and 1.0.
The score is a relative score, not an absolute score. The score may change based on improvements to Amazon Lex.
alternative_intents: Option<String>
One to four alternative intents that may be applicable to the user's intent.
Each alternative includes a score that indicates how confident Amazon Lex is that the intent matches the user's intent. The intents are sorted by the confidence score.
slots: Option<String>
Map of zero or more intent slots (name/value pairs) Amazon Lex detected from the user input during the conversation. The field is base-64 encoded.
Amazon Lex creates a resolution list containing likely values for a slot. The value that it returns is determined by the valueSelectionStrategy
selected when the slot type was created or updated. If valueSelectionStrategy
is set to ORIGINAL_VALUE
, the value provided by the user is returned, if the user value is similar to the slot values. If valueSelectionStrategy
is set to TOP_RESOLUTION
Amazon Lex returns the first value in the resolution list or, if there is no resolution list, null. If you don't specify a valueSelectionStrategy
, the default is ORIGINAL_VALUE
.
session_attributes: Option<String>
Map of key/value pairs representing the session-specific context information.
sentiment_response: Option<String>
The sentiment expressed in an utterance.
When the bot is configured to send utterances to Amazon Comprehend for sentiment analysis, this field contains the result of the analysis.
message: Option<String>
You can only use this field in the de-DE, en-AU, en-GB, en-US, es-419, es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the message
field is null. You should use the encodedMessage
field instead.
The message to convey to the user. The message can come from the bot's configuration or from a Lambda function.
If the intent is not configured with a Lambda function, or if the Lambda function returned Delegate
as the dialogAction.type
in its response, Amazon Lex decides on the next course of action and selects an appropriate message from the bot's configuration based on the current interaction context. For example, if Amazon Lex isn't able to understand user input, it uses a clarification prompt message.
When you create an intent you can assign messages to groups. When messages are assigned to groups Amazon Lex returns one message from each group in the response. The message field is an escaped JSON string containing the messages. For more information about the structure of the JSON string returned, see msg-prompts-formats
.
If the Lambda function returns a message, Amazon Lex passes it to the client in its response.
encoded_message: Option<String>
The message to convey to the user. The message can come from the bot's configuration or from a Lambda function.
If the intent is not configured with a Lambda function, or if the Lambda function returned Delegate
as the dialogAction.type
in its response, Amazon Lex decides on the next course of action and selects an appropriate message from the bot's configuration based on the current interaction context. For example, if Amazon Lex isn't able to understand user input, it uses a clarification prompt message.
When you create an intent you can assign messages to groups. When messages are assigned to groups Amazon Lex returns one message from each group in the response. The message field is an escaped JSON string containing the messages. For more information about the structure of the JSON string returned, see msg-prompts-formats
.
If the Lambda function returns a message, Amazon Lex passes it to the client in its response.
The encodedMessage
field is base-64 encoded. You must decode the field before you can use the value.
message_format: Option<MessageFormatType>
The format of the response message. One of the following values:
-
PlainText
- The message contains plain UTF-8 text. -
CustomPayload
- The message is a custom format for the client. -
SSML
- The message contains text formatted for voice output. -
Composite
- The message contains an escaped JSON object containing one or more messages from the groups that messages were assigned to when the intent was created.
dialog_state: Option<DialogState>
Identifies the current state of the user interaction. Amazon Lex returns one of the following values as dialogState
. The client can optionally use this information to customize the user interface.
-
ElicitIntent
- Amazon Lex wants to elicit the user's intent. Consider the following examples:For example, a user might utter an intent ("I want to order a pizza"). If Amazon Lex cannot infer the user intent from this utterance, it will return this dialog state.
-
ConfirmIntent
- Amazon Lex is expecting a "yes" or "no" response.For example, Amazon Lex wants user confirmation before fulfilling an intent. Instead of a simple "yes" or "no" response, a user might respond with additional information. For example, "yes, but make it a thick crust pizza" or "no, I want to order a drink." Amazon Lex can process such additional information (in these examples, update the crust type slot or change the intent from OrderPizza to OrderDrink).
-
ElicitSlot
- Amazon Lex is expecting the value of a slot for the current intent.For example, suppose that in the response Amazon Lex sends this message: "What size pizza would you like?". A user might reply with the slot value (e.g., "medium"). The user might also provide additional information in the response (e.g., "medium thick crust pizza"). Amazon Lex can process such additional information appropriately.
-
Fulfilled
- Conveys that the Lambda function has successfully fulfilled the intent. -
ReadyForFulfillment
- Conveys that the client has to fulfill the request. -
Failed
- Conveys that the conversation with the user failed.This can happen for various reasons, including that the user does not provide an appropriate response to prompts from the service (you can configure how many times Amazon Lex can prompt a user for specific information), or if the Lambda function fails to fulfill the intent.
slot_to_elicit: Option<String>
If the dialogState
value is ElicitSlot
, returns the name of the slot for which Amazon Lex is eliciting a value.
input_transcript: Option<String>
The text used to process the request.
You can use this field only in the de-DE, en-AU, en-GB, en-US, es-419, es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the inputTranscript
field is null. You should use the encodedInputTranscript
field instead.
If the input was an audio stream, the inputTranscript
field contains the text extracted from the audio stream. This is the text that is actually processed to recognize intents and slot values. You can use this information to determine if Amazon Lex is correctly processing the audio that you send.
encoded_input_transcript: Option<String>
The text used to process the request.
If the input was an audio stream, the encodedInputTranscript
field contains the text extracted from the audio stream. This is the text that is actually processed to recognize intents and slot values. You can use this information to determine if Amazon Lex is correctly processing the audio that you send.
The encodedInputTranscript
field is base-64 encoded. You must decode the field before you can use the value.
audio_stream: ByteStream
The prompt (or statement) to convey to the user. This is based on the bot configuration and context. For example, if Amazon Lex did not understand the user intent, it sends the clarificationPrompt
configured for the bot. If the intent requires confirmation before taking the fulfillment action, it sends the confirmationPrompt
. Another example: Suppose that the Lambda function successfully fulfilled the intent, and sent a message to convey to the user. Then Amazon Lex sends that message in the response.
bot_version: Option<String>
The version of the bot that responded to the conversation. You can use this information to help determine if one version of a bot is performing better than another version.
session_id: Option<String>
The unique identifier for the session.
active_contexts: Option<String>
A list of active contexts for the session. A context can be set when an intent is fulfilled or by calling the PostContent
, PostText
, or PutSession
operation.
You can use a context to control the intents that can follow up an intent, or to modify the operation of your application.
Implementations§
Source§impl PostContentOutput
impl PostContentOutput
Sourcepub fn content_type(&self) -> Option<&str>
pub fn content_type(&self) -> Option<&str>
Content type as specified in the Accept
HTTP header in the request.
Sourcepub fn intent_name(&self) -> Option<&str>
pub fn intent_name(&self) -> Option<&str>
Current user intent that Amazon Lex is aware of.
Sourcepub fn nlu_intent_confidence(&self) -> Option<&str>
pub fn nlu_intent_confidence(&self) -> Option<&str>
Provides a score that indicates how confident Amazon Lex is that the returned intent is the one that matches the user's intent. The score is between 0.0 and 1.0.
The score is a relative score, not an absolute score. The score may change based on improvements to Amazon Lex.
Sourcepub fn alternative_intents(&self) -> Option<&str>
pub fn alternative_intents(&self) -> Option<&str>
One to four alternative intents that may be applicable to the user's intent.
Each alternative includes a score that indicates how confident Amazon Lex is that the intent matches the user's intent. The intents are sorted by the confidence score.
Sourcepub fn slots(&self) -> Option<&str>
pub fn slots(&self) -> Option<&str>
Map of zero or more intent slots (name/value pairs) Amazon Lex detected from the user input during the conversation. The field is base-64 encoded.
Amazon Lex creates a resolution list containing likely values for a slot. The value that it returns is determined by the valueSelectionStrategy
selected when the slot type was created or updated. If valueSelectionStrategy
is set to ORIGINAL_VALUE
, the value provided by the user is returned, if the user value is similar to the slot values. If valueSelectionStrategy
is set to TOP_RESOLUTION
Amazon Lex returns the first value in the resolution list or, if there is no resolution list, null. If you don't specify a valueSelectionStrategy
, the default is ORIGINAL_VALUE
.
Sourcepub fn session_attributes(&self) -> Option<&str>
pub fn session_attributes(&self) -> Option<&str>
Map of key/value pairs representing the session-specific context information.
Sourcepub fn sentiment_response(&self) -> Option<&str>
pub fn sentiment_response(&self) -> Option<&str>
The sentiment expressed in an utterance.
When the bot is configured to send utterances to Amazon Comprehend for sentiment analysis, this field contains the result of the analysis.
Sourcepub fn message(&self) -> Option<&str>
👎Deprecated: The message field is deprecated, use the encodedMessage field instead. The message field is available only in the de-DE, en-AU, en-GB, en-US, es-419, es-ES, es-US, fr-CA, fr-FR and it-IT locales.
pub fn message(&self) -> Option<&str>
You can only use this field in the de-DE, en-AU, en-GB, en-US, es-419, es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the message
field is null. You should use the encodedMessage
field instead.
The message to convey to the user. The message can come from the bot's configuration or from a Lambda function.
If the intent is not configured with a Lambda function, or if the Lambda function returned Delegate
as the dialogAction.type
in its response, Amazon Lex decides on the next course of action and selects an appropriate message from the bot's configuration based on the current interaction context. For example, if Amazon Lex isn't able to understand user input, it uses a clarification prompt message.
When you create an intent you can assign messages to groups. When messages are assigned to groups Amazon Lex returns one message from each group in the response. The message field is an escaped JSON string containing the messages. For more information about the structure of the JSON string returned, see msg-prompts-formats
.
If the Lambda function returns a message, Amazon Lex passes it to the client in its response.
Sourcepub fn encoded_message(&self) -> Option<&str>
pub fn encoded_message(&self) -> Option<&str>
The message to convey to the user. The message can come from the bot's configuration or from a Lambda function.
If the intent is not configured with a Lambda function, or if the Lambda function returned Delegate
as the dialogAction.type
in its response, Amazon Lex decides on the next course of action and selects an appropriate message from the bot's configuration based on the current interaction context. For example, if Amazon Lex isn't able to understand user input, it uses a clarification prompt message.
When you create an intent you can assign messages to groups. When messages are assigned to groups Amazon Lex returns one message from each group in the response. The message field is an escaped JSON string containing the messages. For more information about the structure of the JSON string returned, see msg-prompts-formats
.
If the Lambda function returns a message, Amazon Lex passes it to the client in its response.
The encodedMessage
field is base-64 encoded. You must decode the field before you can use the value.
Sourcepub fn message_format(&self) -> Option<&MessageFormatType>
pub fn message_format(&self) -> Option<&MessageFormatType>
The format of the response message. One of the following values:
-
PlainText
- The message contains plain UTF-8 text. -
CustomPayload
- The message is a custom format for the client. -
SSML
- The message contains text formatted for voice output. -
Composite
- The message contains an escaped JSON object containing one or more messages from the groups that messages were assigned to when the intent was created.
Sourcepub fn dialog_state(&self) -> Option<&DialogState>
pub fn dialog_state(&self) -> Option<&DialogState>
Identifies the current state of the user interaction. Amazon Lex returns one of the following values as dialogState
. The client can optionally use this information to customize the user interface.
-
ElicitIntent
- Amazon Lex wants to elicit the user's intent. Consider the following examples:For example, a user might utter an intent ("I want to order a pizza"). If Amazon Lex cannot infer the user intent from this utterance, it will return this dialog state.
-
ConfirmIntent
- Amazon Lex is expecting a "yes" or "no" response.For example, Amazon Lex wants user confirmation before fulfilling an intent. Instead of a simple "yes" or "no" response, a user might respond with additional information. For example, "yes, but make it a thick crust pizza" or "no, I want to order a drink." Amazon Lex can process such additional information (in these examples, update the crust type slot or change the intent from OrderPizza to OrderDrink).
-
ElicitSlot
- Amazon Lex is expecting the value of a slot for the current intent.For example, suppose that in the response Amazon Lex sends this message: "What size pizza would you like?". A user might reply with the slot value (e.g., "medium"). The user might also provide additional information in the response (e.g., "medium thick crust pizza"). Amazon Lex can process such additional information appropriately.
-
Fulfilled
- Conveys that the Lambda function has successfully fulfilled the intent. -
ReadyForFulfillment
- Conveys that the client has to fulfill the request. -
Failed
- Conveys that the conversation with the user failed.This can happen for various reasons, including that the user does not provide an appropriate response to prompts from the service (you can configure how many times Amazon Lex can prompt a user for specific information), or if the Lambda function fails to fulfill the intent.
Sourcepub fn slot_to_elicit(&self) -> Option<&str>
pub fn slot_to_elicit(&self) -> Option<&str>
If the dialogState
value is ElicitSlot
, returns the name of the slot for which Amazon Lex is eliciting a value.
Sourcepub fn input_transcript(&self) -> Option<&str>
👎Deprecated: The inputTranscript field is deprecated, use the encodedInputTranscript field instead. The inputTranscript field is available only in the de-DE, en-AU, en-GB, en-US, es-419, es-ES, es-US, fr-CA, fr-FR and it-IT locales.
pub fn input_transcript(&self) -> Option<&str>
The text used to process the request.
You can use this field only in the de-DE, en-AU, en-GB, en-US, es-419, es-ES, es-US, fr-CA, fr-FR, and it-IT locales. In all other locales, the inputTranscript
field is null. You should use the encodedInputTranscript
field instead.
If the input was an audio stream, the inputTranscript
field contains the text extracted from the audio stream. This is the text that is actually processed to recognize intents and slot values. You can use this information to determine if Amazon Lex is correctly processing the audio that you send.
Sourcepub fn encoded_input_transcript(&self) -> Option<&str>
pub fn encoded_input_transcript(&self) -> Option<&str>
The text used to process the request.
If the input was an audio stream, the encodedInputTranscript
field contains the text extracted from the audio stream. This is the text that is actually processed to recognize intents and slot values. You can use this information to determine if Amazon Lex is correctly processing the audio that you send.
The encodedInputTranscript
field is base-64 encoded. You must decode the field before you can use the value.
Sourcepub fn audio_stream(&self) -> &ByteStream
pub fn audio_stream(&self) -> &ByteStream
The prompt (or statement) to convey to the user. This is based on the bot configuration and context. For example, if Amazon Lex did not understand the user intent, it sends the clarificationPrompt
configured for the bot. If the intent requires confirmation before taking the fulfillment action, it sends the confirmationPrompt
. Another example: Suppose that the Lambda function successfully fulfilled the intent, and sent a message to convey to the user. Then Amazon Lex sends that message in the response.
Sourcepub fn bot_version(&self) -> Option<&str>
pub fn bot_version(&self) -> Option<&str>
The version of the bot that responded to the conversation. You can use this information to help determine if one version of a bot is performing better than another version.
Sourcepub fn session_id(&self) -> Option<&str>
pub fn session_id(&self) -> Option<&str>
The unique identifier for the session.
Sourcepub fn active_contexts(&self) -> Option<&str>
pub fn active_contexts(&self) -> Option<&str>
A list of active contexts for the session. A context can be set when an intent is fulfilled or by calling the PostContent
, PostText
, or PutSession
operation.
You can use a context to control the intents that can follow up an intent, or to modify the operation of your application.
Source§impl PostContentOutput
impl PostContentOutput
Sourcepub fn builder() -> PostContentOutputBuilder
pub fn builder() -> PostContentOutputBuilder
Creates a new builder-style object to manufacture PostContentOutput
.
Trait Implementations§
Source§impl Debug for PostContentOutput
impl Debug for PostContentOutput
Source§impl RequestId for PostContentOutput
impl RequestId for PostContentOutput
Source§fn request_id(&self) -> Option<&str>
fn request_id(&self) -> Option<&str>
None
if the service could not be reached.Auto Trait Implementations§
impl !Freeze for PostContentOutput
impl !RefUnwindSafe for PostContentOutput
impl Send for PostContentOutput
impl Sync for PostContentOutput
impl Unpin for PostContentOutput
impl !UnwindSafe for PostContentOutput
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);