// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::put_intent::_put_intent_input::PutIntentInputBuilder;
pub use crate::operation::put_intent::_put_intent_output::PutIntentOutputBuilder;
impl crate::operation::put_intent::builders::PutIntentInputBuilder {
/// Sends a request with this input using the given client.
pub async fn send_with(
self,
client: &crate::Client,
) -> ::std::result::Result<
crate::operation::put_intent::PutIntentOutput,
::aws_smithy_runtime_api::client::result::SdkError<
crate::operation::put_intent::PutIntentError,
::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
>,
> {
let mut fluent_builder = client.put_intent();
fluent_builder.inner = self;
fluent_builder.send().await
}
}
/// Fluent builder constructing a request to `PutIntent`.
///
/// <p>Creates an intent or replaces an existing intent.</p>
/// <p>To define the interaction between the user and your bot, you use one or more intents. For a pizza ordering bot, for example, you would create an <code>OrderPizza</code> intent.</p>
/// <p>To create an intent or replace an existing intent, you must provide the following:</p>
/// <ul>
/// <li>
/// <p>Intent name. For example, <code>OrderPizza</code>.</p></li>
/// <li>
/// <p>Sample utterances. For example, "Can I order a pizza, please." and "I want to order a pizza."</p></li>
/// <li>
/// <p>Information to be gathered. You specify slot types for the information that your bot will request from the user. You can specify standard slot types, such as a date or a time, or custom slot types such as the size and crust of a pizza.</p></li>
/// <li>
/// <p>How the intent will be fulfilled. You can provide a Lambda function or configure the intent to return the intent information to the client application. If you use a Lambda function, when all of the intent information is available, Amazon Lex invokes your Lambda function. If you configure your intent to return the intent information to the client application.</p></li>
/// </ul>
/// <p>You can specify other optional information in the request, such as:</p>
/// <ul>
/// <li>
/// <p>A confirmation prompt to ask the user to confirm an intent. For example, "Shall I order your pizza?"</p></li>
/// <li>
/// <p>A conclusion statement to send to the user after the intent has been fulfilled. For example, "I placed your pizza order."</p></li>
/// <li>
/// <p>A follow-up prompt that asks the user for additional activity. For example, asking "Do you want to order a drink with your pizza?"</p></li>
/// </ul>
/// <p>If you specify an existing intent name to update the intent, Amazon Lex replaces the values in the <code>$LATEST</code> version of the intent with the values in the request. Amazon Lex removes fields that you don't provide in the request. If you don't specify the required fields, Amazon Lex throws an exception. When you update the <code>$LATEST</code> version of an intent, the <code>status</code> field of any bot that uses the <code>$LATEST</code> version of the intent is set to <code>NOT_BUILT</code>.</p>
/// <p>For more information, see <code>how-it-works</code>.</p>
/// <p>This operation requires permissions for the <code>lex:PutIntent</code> action.</p>
#[deprecated(note = "Amazon Lex V1 is deprecated. Use Amazon Lex V2 instead.", since = "2025-09-08")]
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
pub struct PutIntentFluentBuilder {
handle: ::std::sync::Arc<crate::client::Handle>,
inner: crate::operation::put_intent::builders::PutIntentInputBuilder,
config_override: ::std::option::Option<crate::config::Builder>,
}
impl crate::client::customize::internal::CustomizableSend<crate::operation::put_intent::PutIntentOutput, crate::operation::put_intent::PutIntentError>
for PutIntentFluentBuilder
{
fn send(
self,
config_override: crate::config::Builder,
) -> crate::client::customize::internal::BoxFuture<
crate::client::customize::internal::SendResult<crate::operation::put_intent::PutIntentOutput, crate::operation::put_intent::PutIntentError>,
> {
::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
}
}
impl PutIntentFluentBuilder {
/// Creates a new `PutIntentFluentBuilder`.
pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
Self {
handle,
inner: ::std::default::Default::default(),
config_override: ::std::option::Option::None,
}
}
/// Access the PutIntent as a reference.
pub fn as_input(&self) -> &crate::operation::put_intent::builders::PutIntentInputBuilder {
&self.inner
}
/// Sends the request and returns the response.
///
/// If an error occurs, an `SdkError` will be returned with additional details that
/// can be matched against.
///
/// By default, any retryable failures will be retried twice. Retry behavior
/// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
/// set when configuring the client.
pub async fn send(
self,
) -> ::std::result::Result<
crate::operation::put_intent::PutIntentOutput,
::aws_smithy_runtime_api::client::result::SdkError<
crate::operation::put_intent::PutIntentError,
::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
>,
> {
let input = self
.inner
.build()
.map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
let runtime_plugins = crate::operation::put_intent::PutIntent::operation_runtime_plugins(
self.handle.runtime_plugins.clone(),
&self.handle.conf,
self.config_override,
);
crate::operation::put_intent::PutIntent::orchestrate(&runtime_plugins, input).await
}
/// Consumes this builder, creating a customizable operation that can be modified before being sent.
pub fn customize(
self,
) -> crate::client::customize::CustomizableOperation<
crate::operation::put_intent::PutIntentOutput,
crate::operation::put_intent::PutIntentError,
Self,
> {
crate::client::customize::CustomizableOperation::new(self)
}
pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
self.set_config_override(::std::option::Option::Some(config_override.into()));
self
}
pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
self.config_override = config_override;
self
}
/// <p>The name of the intent. The name is <i>not</i> case sensitive.</p>
/// <p>The name can't match a built-in intent name, or a built-in intent name with "AMAZON." removed. For example, because there is a built-in intent called <code>AMAZON.HelpIntent</code>, you can't create a custom intent called <code>HelpIntent</code>.</p>
/// <p>For a list of built-in intents, see <a href="https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents">Standard Built-in Intents</a> in the <i>Alexa Skills Kit</i>.</p>
pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.name(input.into());
self
}
/// <p>The name of the intent. The name is <i>not</i> case sensitive.</p>
/// <p>The name can't match a built-in intent name, or a built-in intent name with "AMAZON." removed. For example, because there is a built-in intent called <code>AMAZON.HelpIntent</code>, you can't create a custom intent called <code>HelpIntent</code>.</p>
/// <p>For a list of built-in intents, see <a href="https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents">Standard Built-in Intents</a> in the <i>Alexa Skills Kit</i>.</p>
pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_name(input);
self
}
/// <p>The name of the intent. The name is <i>not</i> case sensitive.</p>
/// <p>The name can't match a built-in intent name, or a built-in intent name with "AMAZON." removed. For example, because there is a built-in intent called <code>AMAZON.HelpIntent</code>, you can't create a custom intent called <code>HelpIntent</code>.</p>
/// <p>For a list of built-in intents, see <a href="https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents">Standard Built-in Intents</a> in the <i>Alexa Skills Kit</i>.</p>
pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_name()
}
/// <p>A description of the intent.</p>
pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.description(input.into());
self
}
/// <p>A description of the intent.</p>
pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_description(input);
self
}
/// <p>A description of the intent.</p>
pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_description()
}
///
/// Appends an item to `slots`.
///
/// To override the contents of this collection use [`set_slots`](Self::set_slots).
///
/// <p>An array of intent slots. At runtime, Amazon Lex elicits required slot values from the user using prompts defined in the slots. For more information, see <code>how-it-works</code>.</p>
pub fn slots(mut self, input: crate::types::Slot) -> Self {
self.inner = self.inner.slots(input);
self
}
/// <p>An array of intent slots. At runtime, Amazon Lex elicits required slot values from the user using prompts defined in the slots. For more information, see <code>how-it-works</code>.</p>
pub fn set_slots(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Slot>>) -> Self {
self.inner = self.inner.set_slots(input);
self
}
/// <p>An array of intent slots. At runtime, Amazon Lex elicits required slot values from the user using prompts defined in the slots. For more information, see <code>how-it-works</code>.</p>
pub fn get_slots(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Slot>> {
self.inner.get_slots()
}
///
/// Appends an item to `sampleUtterances`.
///
/// To override the contents of this collection use [`set_sample_utterances`](Self::set_sample_utterances).
///
/// <p>An array of utterances (strings) that a user might say to signal the intent. For example, "I want {PizzaSize} pizza", "Order {Quantity} {PizzaSize} pizzas".</p>
/// <p>In each utterance, a slot name is enclosed in curly braces.</p>
pub fn sample_utterances(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.sample_utterances(input.into());
self
}
/// <p>An array of utterances (strings) that a user might say to signal the intent. For example, "I want {PizzaSize} pizza", "Order {Quantity} {PizzaSize} pizzas".</p>
/// <p>In each utterance, a slot name is enclosed in curly braces.</p>
pub fn set_sample_utterances(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.inner = self.inner.set_sample_utterances(input);
self
}
/// <p>An array of utterances (strings) that a user might say to signal the intent. For example, "I want {PizzaSize} pizza", "Order {Quantity} {PizzaSize} pizzas".</p>
/// <p>In each utterance, a slot name is enclosed in curly braces.</p>
pub fn get_sample_utterances(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
self.inner.get_sample_utterances()
}
/// <p>Prompts the user to confirm the intent. This question should have a yes or no answer.</p>
/// <p>Amazon Lex uses this prompt to ensure that the user acknowledges that the intent is ready for fulfillment. For example, with the <code>OrderPizza</code> intent, you might want to confirm that the order is correct before placing it. For other intents, such as intents that simply respond to user questions, you might not need to ask the user for confirmation before providing the information.</p><note>
/// <p>You you must provide both the <code>rejectionStatement</code> and the <code>confirmationPrompt</code>, or neither.</p>
/// </note>
pub fn confirmation_prompt(mut self, input: crate::types::Prompt) -> Self {
self.inner = self.inner.confirmation_prompt(input);
self
}
/// <p>Prompts the user to confirm the intent. This question should have a yes or no answer.</p>
/// <p>Amazon Lex uses this prompt to ensure that the user acknowledges that the intent is ready for fulfillment. For example, with the <code>OrderPizza</code> intent, you might want to confirm that the order is correct before placing it. For other intents, such as intents that simply respond to user questions, you might not need to ask the user for confirmation before providing the information.</p><note>
/// <p>You you must provide both the <code>rejectionStatement</code> and the <code>confirmationPrompt</code>, or neither.</p>
/// </note>
pub fn set_confirmation_prompt(mut self, input: ::std::option::Option<crate::types::Prompt>) -> Self {
self.inner = self.inner.set_confirmation_prompt(input);
self
}
/// <p>Prompts the user to confirm the intent. This question should have a yes or no answer.</p>
/// <p>Amazon Lex uses this prompt to ensure that the user acknowledges that the intent is ready for fulfillment. For example, with the <code>OrderPizza</code> intent, you might want to confirm that the order is correct before placing it. For other intents, such as intents that simply respond to user questions, you might not need to ask the user for confirmation before providing the information.</p><note>
/// <p>You you must provide both the <code>rejectionStatement</code> and the <code>confirmationPrompt</code>, or neither.</p>
/// </note>
pub fn get_confirmation_prompt(&self) -> &::std::option::Option<crate::types::Prompt> {
self.inner.get_confirmation_prompt()
}
/// <p>When the user answers "no" to the question defined in <code>confirmationPrompt</code>, Amazon Lex responds with this statement to acknowledge that the intent was canceled.</p><note>
/// <p>You must provide both the <code>rejectionStatement</code> and the <code>confirmationPrompt</code>, or neither.</p>
/// </note>
pub fn rejection_statement(mut self, input: crate::types::Statement) -> Self {
self.inner = self.inner.rejection_statement(input);
self
}
/// <p>When the user answers "no" to the question defined in <code>confirmationPrompt</code>, Amazon Lex responds with this statement to acknowledge that the intent was canceled.</p><note>
/// <p>You must provide both the <code>rejectionStatement</code> and the <code>confirmationPrompt</code>, or neither.</p>
/// </note>
pub fn set_rejection_statement(mut self, input: ::std::option::Option<crate::types::Statement>) -> Self {
self.inner = self.inner.set_rejection_statement(input);
self
}
/// <p>When the user answers "no" to the question defined in <code>confirmationPrompt</code>, Amazon Lex responds with this statement to acknowledge that the intent was canceled.</p><note>
/// <p>You must provide both the <code>rejectionStatement</code> and the <code>confirmationPrompt</code>, or neither.</p>
/// </note>
pub fn get_rejection_statement(&self) -> &::std::option::Option<crate::types::Statement> {
self.inner.get_rejection_statement()
}
/// <p>Amazon Lex uses this prompt to solicit additional activity after fulfilling an intent. For example, after the <code>OrderPizza</code> intent is fulfilled, you might prompt the user to order a drink.</p>
/// <p>The action that Amazon Lex takes depends on the user's response, as follows:</p>
/// <ul>
/// <li>
/// <p>If the user says "Yes" it responds with the clarification prompt that is configured for the bot.</p></li>
/// <li>
/// <p>if the user says "Yes" and continues with an utterance that triggers an intent it starts a conversation for the intent.</p></li>
/// <li>
/// <p>If the user says "No" it responds with the rejection statement configured for the the follow-up prompt.</p></li>
/// <li>
/// <p>If it doesn't recognize the utterance it repeats the follow-up prompt again.</p></li>
/// </ul>
/// <p>The <code>followUpPrompt</code> field and the <code>conclusionStatement</code> field are mutually exclusive. You can specify only one.</p>
pub fn follow_up_prompt(mut self, input: crate::types::FollowUpPrompt) -> Self {
self.inner = self.inner.follow_up_prompt(input);
self
}
/// <p>Amazon Lex uses this prompt to solicit additional activity after fulfilling an intent. For example, after the <code>OrderPizza</code> intent is fulfilled, you might prompt the user to order a drink.</p>
/// <p>The action that Amazon Lex takes depends on the user's response, as follows:</p>
/// <ul>
/// <li>
/// <p>If the user says "Yes" it responds with the clarification prompt that is configured for the bot.</p></li>
/// <li>
/// <p>if the user says "Yes" and continues with an utterance that triggers an intent it starts a conversation for the intent.</p></li>
/// <li>
/// <p>If the user says "No" it responds with the rejection statement configured for the the follow-up prompt.</p></li>
/// <li>
/// <p>If it doesn't recognize the utterance it repeats the follow-up prompt again.</p></li>
/// </ul>
/// <p>The <code>followUpPrompt</code> field and the <code>conclusionStatement</code> field are mutually exclusive. You can specify only one.</p>
pub fn set_follow_up_prompt(mut self, input: ::std::option::Option<crate::types::FollowUpPrompt>) -> Self {
self.inner = self.inner.set_follow_up_prompt(input);
self
}
/// <p>Amazon Lex uses this prompt to solicit additional activity after fulfilling an intent. For example, after the <code>OrderPizza</code> intent is fulfilled, you might prompt the user to order a drink.</p>
/// <p>The action that Amazon Lex takes depends on the user's response, as follows:</p>
/// <ul>
/// <li>
/// <p>If the user says "Yes" it responds with the clarification prompt that is configured for the bot.</p></li>
/// <li>
/// <p>if the user says "Yes" and continues with an utterance that triggers an intent it starts a conversation for the intent.</p></li>
/// <li>
/// <p>If the user says "No" it responds with the rejection statement configured for the the follow-up prompt.</p></li>
/// <li>
/// <p>If it doesn't recognize the utterance it repeats the follow-up prompt again.</p></li>
/// </ul>
/// <p>The <code>followUpPrompt</code> field and the <code>conclusionStatement</code> field are mutually exclusive. You can specify only one.</p>
pub fn get_follow_up_prompt(&self) -> &::std::option::Option<crate::types::FollowUpPrompt> {
self.inner.get_follow_up_prompt()
}
/// <p>The statement that you want Amazon Lex to convey to the user after the intent is successfully fulfilled by the Lambda function.</p>
/// <p>This element is relevant only if you provide a Lambda function in the <code>fulfillmentActivity</code>. If you return the intent to the client application, you can't specify this element.</p><note>
/// <p>The <code>followUpPrompt</code> and <code>conclusionStatement</code> are mutually exclusive. You can specify only one.</p>
/// </note>
pub fn conclusion_statement(mut self, input: crate::types::Statement) -> Self {
self.inner = self.inner.conclusion_statement(input);
self
}
/// <p>The statement that you want Amazon Lex to convey to the user after the intent is successfully fulfilled by the Lambda function.</p>
/// <p>This element is relevant only if you provide a Lambda function in the <code>fulfillmentActivity</code>. If you return the intent to the client application, you can't specify this element.</p><note>
/// <p>The <code>followUpPrompt</code> and <code>conclusionStatement</code> are mutually exclusive. You can specify only one.</p>
/// </note>
pub fn set_conclusion_statement(mut self, input: ::std::option::Option<crate::types::Statement>) -> Self {
self.inner = self.inner.set_conclusion_statement(input);
self
}
/// <p>The statement that you want Amazon Lex to convey to the user after the intent is successfully fulfilled by the Lambda function.</p>
/// <p>This element is relevant only if you provide a Lambda function in the <code>fulfillmentActivity</code>. If you return the intent to the client application, you can't specify this element.</p><note>
/// <p>The <code>followUpPrompt</code> and <code>conclusionStatement</code> are mutually exclusive. You can specify only one.</p>
/// </note>
pub fn get_conclusion_statement(&self) -> &::std::option::Option<crate::types::Statement> {
self.inner.get_conclusion_statement()
}
/// <p>Specifies a Lambda function to invoke for each user input. You can invoke this Lambda function to personalize user interaction.</p>
/// <p>For example, suppose your bot determines that the user is John. Your Lambda function might retrieve John's information from a backend database and prepopulate some of the values. For example, if you find that John is gluten intolerant, you might set the corresponding intent slot, <code>GlutenIntolerant</code>, to true. You might find John's phone number and set the corresponding session attribute.</p>
pub fn dialog_code_hook(mut self, input: crate::types::CodeHook) -> Self {
self.inner = self.inner.dialog_code_hook(input);
self
}
/// <p>Specifies a Lambda function to invoke for each user input. You can invoke this Lambda function to personalize user interaction.</p>
/// <p>For example, suppose your bot determines that the user is John. Your Lambda function might retrieve John's information from a backend database and prepopulate some of the values. For example, if you find that John is gluten intolerant, you might set the corresponding intent slot, <code>GlutenIntolerant</code>, to true. You might find John's phone number and set the corresponding session attribute.</p>
pub fn set_dialog_code_hook(mut self, input: ::std::option::Option<crate::types::CodeHook>) -> Self {
self.inner = self.inner.set_dialog_code_hook(input);
self
}
/// <p>Specifies a Lambda function to invoke for each user input. You can invoke this Lambda function to personalize user interaction.</p>
/// <p>For example, suppose your bot determines that the user is John. Your Lambda function might retrieve John's information from a backend database and prepopulate some of the values. For example, if you find that John is gluten intolerant, you might set the corresponding intent slot, <code>GlutenIntolerant</code>, to true. You might find John's phone number and set the corresponding session attribute.</p>
pub fn get_dialog_code_hook(&self) -> &::std::option::Option<crate::types::CodeHook> {
self.inner.get_dialog_code_hook()
}
/// <p>Required. Describes how the intent is fulfilled. For example, after a user provides all of the information for a pizza order, <code>fulfillmentActivity</code> defines how the bot places an order with a local pizza store.</p>
/// <p>You might configure Amazon Lex to return all of the intent information to the client application, or direct it to invoke a Lambda function that can process the intent (for example, place an order with a pizzeria).</p>
pub fn fulfillment_activity(mut self, input: crate::types::FulfillmentActivity) -> Self {
self.inner = self.inner.fulfillment_activity(input);
self
}
/// <p>Required. Describes how the intent is fulfilled. For example, after a user provides all of the information for a pizza order, <code>fulfillmentActivity</code> defines how the bot places an order with a local pizza store.</p>
/// <p>You might configure Amazon Lex to return all of the intent information to the client application, or direct it to invoke a Lambda function that can process the intent (for example, place an order with a pizzeria).</p>
pub fn set_fulfillment_activity(mut self, input: ::std::option::Option<crate::types::FulfillmentActivity>) -> Self {
self.inner = self.inner.set_fulfillment_activity(input);
self
}
/// <p>Required. Describes how the intent is fulfilled. For example, after a user provides all of the information for a pizza order, <code>fulfillmentActivity</code> defines how the bot places an order with a local pizza store.</p>
/// <p>You might configure Amazon Lex to return all of the intent information to the client application, or direct it to invoke a Lambda function that can process the intent (for example, place an order with a pizzeria).</p>
pub fn get_fulfillment_activity(&self) -> &::std::option::Option<crate::types::FulfillmentActivity> {
self.inner.get_fulfillment_activity()
}
/// <p>A unique identifier for the built-in intent to base this intent on. To find the signature for an intent, see <a href="https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents">Standard Built-in Intents</a> in the <i>Alexa Skills Kit</i>.</p>
pub fn parent_intent_signature(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.parent_intent_signature(input.into());
self
}
/// <p>A unique identifier for the built-in intent to base this intent on. To find the signature for an intent, see <a href="https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents">Standard Built-in Intents</a> in the <i>Alexa Skills Kit</i>.</p>
pub fn set_parent_intent_signature(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_parent_intent_signature(input);
self
}
/// <p>A unique identifier for the built-in intent to base this intent on. To find the signature for an intent, see <a href="https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/standard-intents">Standard Built-in Intents</a> in the <i>Alexa Skills Kit</i>.</p>
pub fn get_parent_intent_signature(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_parent_intent_signature()
}
/// <p>Identifies a specific revision of the <code>$LATEST</code> version.</p>
/// <p>When you create a new intent, leave the <code>checksum</code> field blank. If you specify a checksum you get a <code>BadRequestException</code> exception.</p>
/// <p>When you want to update a intent, set the <code>checksum</code> field to the checksum of the most recent revision of the <code>$LATEST</code> version. If you don't specify the <code> checksum</code> field, or if the checksum does not match the <code>$LATEST</code> version, you get a <code>PreconditionFailedException</code> exception.</p>
pub fn checksum(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.checksum(input.into());
self
}
/// <p>Identifies a specific revision of the <code>$LATEST</code> version.</p>
/// <p>When you create a new intent, leave the <code>checksum</code> field blank. If you specify a checksum you get a <code>BadRequestException</code> exception.</p>
/// <p>When you want to update a intent, set the <code>checksum</code> field to the checksum of the most recent revision of the <code>$LATEST</code> version. If you don't specify the <code> checksum</code> field, or if the checksum does not match the <code>$LATEST</code> version, you get a <code>PreconditionFailedException</code> exception.</p>
pub fn set_checksum(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_checksum(input);
self
}
/// <p>Identifies a specific revision of the <code>$LATEST</code> version.</p>
/// <p>When you create a new intent, leave the <code>checksum</code> field blank. If you specify a checksum you get a <code>BadRequestException</code> exception.</p>
/// <p>When you want to update a intent, set the <code>checksum</code> field to the checksum of the most recent revision of the <code>$LATEST</code> version. If you don't specify the <code> checksum</code> field, or if the checksum does not match the <code>$LATEST</code> version, you get a <code>PreconditionFailedException</code> exception.</p>
pub fn get_checksum(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_checksum()
}
/// <p>When set to <code>true</code> a new numbered version of the intent is created. This is the same as calling the <code>CreateIntentVersion</code> operation. If you do not specify <code>createVersion</code>, the default is <code>false</code>.</p>
pub fn create_version(mut self, input: bool) -> Self {
self.inner = self.inner.create_version(input);
self
}
/// <p>When set to <code>true</code> a new numbered version of the intent is created. This is the same as calling the <code>CreateIntentVersion</code> operation. If you do not specify <code>createVersion</code>, the default is <code>false</code>.</p>
pub fn set_create_version(mut self, input: ::std::option::Option<bool>) -> Self {
self.inner = self.inner.set_create_version(input);
self
}
/// <p>When set to <code>true</code> a new numbered version of the intent is created. This is the same as calling the <code>CreateIntentVersion</code> operation. If you do not specify <code>createVersion</code>, the default is <code>false</code>.</p>
pub fn get_create_version(&self) -> &::std::option::Option<bool> {
self.inner.get_create_version()
}
/// <p>Configuration information required to use the <code>AMAZON.KendraSearchIntent</code> intent to connect to an Amazon Kendra index. For more information, see <a href="http://docs.aws.amazon.com/lex/latest/dg/built-in-intent-kendra-search.html"> AMAZON.KendraSearchIntent</a>.</p>
pub fn kendra_configuration(mut self, input: crate::types::KendraConfiguration) -> Self {
self.inner = self.inner.kendra_configuration(input);
self
}
/// <p>Configuration information required to use the <code>AMAZON.KendraSearchIntent</code> intent to connect to an Amazon Kendra index. For more information, see <a href="http://docs.aws.amazon.com/lex/latest/dg/built-in-intent-kendra-search.html"> AMAZON.KendraSearchIntent</a>.</p>
pub fn set_kendra_configuration(mut self, input: ::std::option::Option<crate::types::KendraConfiguration>) -> Self {
self.inner = self.inner.set_kendra_configuration(input);
self
}
/// <p>Configuration information required to use the <code>AMAZON.KendraSearchIntent</code> intent to connect to an Amazon Kendra index. For more information, see <a href="http://docs.aws.amazon.com/lex/latest/dg/built-in-intent-kendra-search.html"> AMAZON.KendraSearchIntent</a>.</p>
pub fn get_kendra_configuration(&self) -> &::std::option::Option<crate::types::KendraConfiguration> {
self.inner.get_kendra_configuration()
}
///
/// Appends an item to `inputContexts`.
///
/// To override the contents of this collection use [`set_input_contexts`](Self::set_input_contexts).
///
/// <p>An array of <code>InputContext</code> objects that lists the contexts that must be active for Amazon Lex to choose the intent in a conversation with the user.</p>
pub fn input_contexts(mut self, input: crate::types::InputContext) -> Self {
self.inner = self.inner.input_contexts(input);
self
}
/// <p>An array of <code>InputContext</code> objects that lists the contexts that must be active for Amazon Lex to choose the intent in a conversation with the user.</p>
pub fn set_input_contexts(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::InputContext>>) -> Self {
self.inner = self.inner.set_input_contexts(input);
self
}
/// <p>An array of <code>InputContext</code> objects that lists the contexts that must be active for Amazon Lex to choose the intent in a conversation with the user.</p>
pub fn get_input_contexts(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::InputContext>> {
self.inner.get_input_contexts()
}
///
/// Appends an item to `outputContexts`.
///
/// To override the contents of this collection use [`set_output_contexts`](Self::set_output_contexts).
///
/// <p>An array of <code>OutputContext</code> objects that lists the contexts that the intent activates when the intent is fulfilled.</p>
pub fn output_contexts(mut self, input: crate::types::OutputContext) -> Self {
self.inner = self.inner.output_contexts(input);
self
}
/// <p>An array of <code>OutputContext</code> objects that lists the contexts that the intent activates when the intent is fulfilled.</p>
pub fn set_output_contexts(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::OutputContext>>) -> Self {
self.inner = self.inner.set_output_contexts(input);
self
}
/// <p>An array of <code>OutputContext</code> objects that lists the contexts that the intent activates when the intent is fulfilled.</p>
pub fn get_output_contexts(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::OutputContext>> {
self.inner.get_output_contexts()
}
}