aws_sdk_lexmodelsv2/operation/create_intent/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_intent::_create_intent_output::CreateIntentOutputBuilder;
3
4pub use crate::operation::create_intent::_create_intent_input::CreateIntentInputBuilder;
5
6impl crate::operation::create_intent::builders::CreateIntentInputBuilder {
7    /// Sends a request with this input using the given client.
8    pub async fn send_with(
9        self,
10        client: &crate::Client,
11    ) -> ::std::result::Result<
12        crate::operation::create_intent::CreateIntentOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::create_intent::CreateIntentError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.create_intent();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `CreateIntent`.
24///
25/// <p>Creates an intent.</p>
26/// <p>To define the interaction between the user and your bot, you define one or more intents. For example, for a pizza ordering bot you would create an <code>OrderPizza</code> intent.</p>
27/// <p>When you create an intent, you must provide a name. You can optionally provide the following:</p>
28/// <ul>
29/// <li>
30/// <p>Sample utterances. For example, "I want to order a pizza" and "Can I order a pizza." You can't provide utterances for built-in intents.</p></li>
31/// <li>
32/// <p>Information to be gathered. You specify slots for the information that you bot requests from the user. You can specify standard slot types, such as date and time, or custom slot types for your application.</p></li>
33/// <li>
34/// <p>How the intent is fulfilled. You can provide a Lambda function or configure the intent to return the intent information to your client application. If you use a Lambda function, Amazon Lex invokes the function when all of the intent information is available.</p></li>
35/// <li>
36/// <p>A confirmation prompt to send to the user to confirm an intent. For example, "Shall I order your pizza?"</p></li>
37/// <li>
38/// <p>A conclusion statement to send to the user after the intent is fulfilled. For example, "I ordered your pizza."</p></li>
39/// <li>
40/// <p>A follow-up prompt that asks the user for additional activity. For example, "Do you want a drink with your pizza?"</p></li>
41/// </ul>
42#[derive(::std::clone::Clone, ::std::fmt::Debug)]
43pub struct CreateIntentFluentBuilder {
44    handle: ::std::sync::Arc<crate::client::Handle>,
45    inner: crate::operation::create_intent::builders::CreateIntentInputBuilder,
46    config_override: ::std::option::Option<crate::config::Builder>,
47}
48impl
49    crate::client::customize::internal::CustomizableSend<
50        crate::operation::create_intent::CreateIntentOutput,
51        crate::operation::create_intent::CreateIntentError,
52    > for CreateIntentFluentBuilder
53{
54    fn send(
55        self,
56        config_override: crate::config::Builder,
57    ) -> crate::client::customize::internal::BoxFuture<
58        crate::client::customize::internal::SendResult<
59            crate::operation::create_intent::CreateIntentOutput,
60            crate::operation::create_intent::CreateIntentError,
61        >,
62    > {
63        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
64    }
65}
66impl CreateIntentFluentBuilder {
67    /// Creates a new `CreateIntentFluentBuilder`.
68    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
69        Self {
70            handle,
71            inner: ::std::default::Default::default(),
72            config_override: ::std::option::Option::None,
73        }
74    }
75    /// Access the CreateIntent as a reference.
76    pub fn as_input(&self) -> &crate::operation::create_intent::builders::CreateIntentInputBuilder {
77        &self.inner
78    }
79    /// Sends the request and returns the response.
80    ///
81    /// If an error occurs, an `SdkError` will be returned with additional details that
82    /// can be matched against.
83    ///
84    /// By default, any retryable failures will be retried twice. Retry behavior
85    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
86    /// set when configuring the client.
87    pub async fn send(
88        self,
89    ) -> ::std::result::Result<
90        crate::operation::create_intent::CreateIntentOutput,
91        ::aws_smithy_runtime_api::client::result::SdkError<
92            crate::operation::create_intent::CreateIntentError,
93            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
94        >,
95    > {
96        let input = self
97            .inner
98            .build()
99            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
100        let runtime_plugins = crate::operation::create_intent::CreateIntent::operation_runtime_plugins(
101            self.handle.runtime_plugins.clone(),
102            &self.handle.conf,
103            self.config_override,
104        );
105        crate::operation::create_intent::CreateIntent::orchestrate(&runtime_plugins, input).await
106    }
107
108    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
109    pub fn customize(
110        self,
111    ) -> crate::client::customize::CustomizableOperation<
112        crate::operation::create_intent::CreateIntentOutput,
113        crate::operation::create_intent::CreateIntentError,
114        Self,
115    > {
116        crate::client::customize::CustomizableOperation::new(self)
117    }
118    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
119        self.set_config_override(::std::option::Option::Some(config_override.into()));
120        self
121    }
122
123    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
124        self.config_override = config_override;
125        self
126    }
127    /// <p>The name of the intent. Intent names must be unique in the locale that contains the intent and cannot match the name of any built-in intent.</p>
128    pub fn intent_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
129        self.inner = self.inner.intent_name(input.into());
130        self
131    }
132    /// <p>The name of the intent. Intent names must be unique in the locale that contains the intent and cannot match the name of any built-in intent.</p>
133    pub fn set_intent_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
134        self.inner = self.inner.set_intent_name(input);
135        self
136    }
137    /// <p>The name of the intent. Intent names must be unique in the locale that contains the intent and cannot match the name of any built-in intent.</p>
138    pub fn get_intent_name(&self) -> &::std::option::Option<::std::string::String> {
139        self.inner.get_intent_name()
140    }
141    /// <p>A description of the intent. Use the description to help identify the intent in lists.</p>
142    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
143        self.inner = self.inner.description(input.into());
144        self
145    }
146    /// <p>A description of the intent. Use the description to help identify the intent in lists.</p>
147    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
148        self.inner = self.inner.set_description(input);
149        self
150    }
151    /// <p>A description of the intent. Use the description to help identify the intent in lists.</p>
152    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
153        self.inner.get_description()
154    }
155    /// <p>A unique identifier for the built-in intent to base this intent on.</p>
156    pub fn parent_intent_signature(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
157        self.inner = self.inner.parent_intent_signature(input.into());
158        self
159    }
160    /// <p>A unique identifier for the built-in intent to base this intent on.</p>
161    pub fn set_parent_intent_signature(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
162        self.inner = self.inner.set_parent_intent_signature(input);
163        self
164    }
165    /// <p>A unique identifier for the built-in intent to base this intent on.</p>
166    pub fn get_parent_intent_signature(&self) -> &::std::option::Option<::std::string::String> {
167        self.inner.get_parent_intent_signature()
168    }
169    ///
170    /// Appends an item to `sampleUtterances`.
171    ///
172    /// To override the contents of this collection use [`set_sample_utterances`](Self::set_sample_utterances).
173    ///
174    /// <p>An array of strings that a user might say to signal the intent. For example, "I want a pizza", or "I want a {PizzaSize} pizza".</p>
175    /// <p>In an utterance, slot names are enclosed in curly braces ("{", "}") to indicate where they should be displayed in the utterance shown to the user..</p>
176    pub fn sample_utterances(mut self, input: crate::types::SampleUtterance) -> Self {
177        self.inner = self.inner.sample_utterances(input);
178        self
179    }
180    /// <p>An array of strings that a user might say to signal the intent. For example, "I want a pizza", or "I want a {PizzaSize} pizza".</p>
181    /// <p>In an utterance, slot names are enclosed in curly braces ("{", "}") to indicate where they should be displayed in the utterance shown to the user..</p>
182    pub fn set_sample_utterances(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::SampleUtterance>>) -> Self {
183        self.inner = self.inner.set_sample_utterances(input);
184        self
185    }
186    /// <p>An array of strings that a user might say to signal the intent. For example, "I want a pizza", or "I want a {PizzaSize} pizza".</p>
187    /// <p>In an utterance, slot names are enclosed in curly braces ("{", "}") to indicate where they should be displayed in the utterance shown to the user..</p>
188    pub fn get_sample_utterances(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::SampleUtterance>> {
189        self.inner.get_sample_utterances()
190    }
191    /// <p>Specifies that Amazon Lex invokes the alias Lambda function for each user input. You can invoke this Lambda function to personalize user interaction.</p>
192    /// <p>For example, suppose that your bot determines that the user's name is John. You 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 <code>true</code>. You might find John's phone number and set the corresponding session attribute.</p>
193    pub fn dialog_code_hook(mut self, input: crate::types::DialogCodeHookSettings) -> Self {
194        self.inner = self.inner.dialog_code_hook(input);
195        self
196    }
197    /// <p>Specifies that Amazon Lex invokes the alias Lambda function for each user input. You can invoke this Lambda function to personalize user interaction.</p>
198    /// <p>For example, suppose that your bot determines that the user's name is John. You 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 <code>true</code>. You might find John's phone number and set the corresponding session attribute.</p>
199    pub fn set_dialog_code_hook(mut self, input: ::std::option::Option<crate::types::DialogCodeHookSettings>) -> Self {
200        self.inner = self.inner.set_dialog_code_hook(input);
201        self
202    }
203    /// <p>Specifies that Amazon Lex invokes the alias Lambda function for each user input. You can invoke this Lambda function to personalize user interaction.</p>
204    /// <p>For example, suppose that your bot determines that the user's name is John. You 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 <code>true</code>. You might find John's phone number and set the corresponding session attribute.</p>
205    pub fn get_dialog_code_hook(&self) -> &::std::option::Option<crate::types::DialogCodeHookSettings> {
206        self.inner.get_dialog_code_hook()
207    }
208    /// <p>Specifies that Amazon Lex invokes the alias Lambda function when the intent is ready for fulfillment. You can invoke this function to complete the bot's transaction with the user.</p>
209    /// <p>For example, in a pizza ordering bot, the Lambda function can look up the closest pizza restaurant to the customer's location and then place an order on the customer's behalf.</p>
210    pub fn fulfillment_code_hook(mut self, input: crate::types::FulfillmentCodeHookSettings) -> Self {
211        self.inner = self.inner.fulfillment_code_hook(input);
212        self
213    }
214    /// <p>Specifies that Amazon Lex invokes the alias Lambda function when the intent is ready for fulfillment. You can invoke this function to complete the bot's transaction with the user.</p>
215    /// <p>For example, in a pizza ordering bot, the Lambda function can look up the closest pizza restaurant to the customer's location and then place an order on the customer's behalf.</p>
216    pub fn set_fulfillment_code_hook(mut self, input: ::std::option::Option<crate::types::FulfillmentCodeHookSettings>) -> Self {
217        self.inner = self.inner.set_fulfillment_code_hook(input);
218        self
219    }
220    /// <p>Specifies that Amazon Lex invokes the alias Lambda function when the intent is ready for fulfillment. You can invoke this function to complete the bot's transaction with the user.</p>
221    /// <p>For example, in a pizza ordering bot, the Lambda function can look up the closest pizza restaurant to the customer's location and then place an order on the customer's behalf.</p>
222    pub fn get_fulfillment_code_hook(&self) -> &::std::option::Option<crate::types::FulfillmentCodeHookSettings> {
223        self.inner.get_fulfillment_code_hook()
224    }
225    /// <p>Provides prompts that Amazon Lex sends to the user to confirm the completion of an intent. If the user answers "no," the settings contain a statement that is sent to the user to end the intent.</p>
226    pub fn intent_confirmation_setting(mut self, input: crate::types::IntentConfirmationSetting) -> Self {
227        self.inner = self.inner.intent_confirmation_setting(input);
228        self
229    }
230    /// <p>Provides prompts that Amazon Lex sends to the user to confirm the completion of an intent. If the user answers "no," the settings contain a statement that is sent to the user to end the intent.</p>
231    pub fn set_intent_confirmation_setting(mut self, input: ::std::option::Option<crate::types::IntentConfirmationSetting>) -> Self {
232        self.inner = self.inner.set_intent_confirmation_setting(input);
233        self
234    }
235    /// <p>Provides prompts that Amazon Lex sends to the user to confirm the completion of an intent. If the user answers "no," the settings contain a statement that is sent to the user to end the intent.</p>
236    pub fn get_intent_confirmation_setting(&self) -> &::std::option::Option<crate::types::IntentConfirmationSetting> {
237        self.inner.get_intent_confirmation_setting()
238    }
239    /// <p>Sets the response that Amazon Lex sends to the user when the intent is closed.</p>
240    pub fn intent_closing_setting(mut self, input: crate::types::IntentClosingSetting) -> Self {
241        self.inner = self.inner.intent_closing_setting(input);
242        self
243    }
244    /// <p>Sets the response that Amazon Lex sends to the user when the intent is closed.</p>
245    pub fn set_intent_closing_setting(mut self, input: ::std::option::Option<crate::types::IntentClosingSetting>) -> Self {
246        self.inner = self.inner.set_intent_closing_setting(input);
247        self
248    }
249    /// <p>Sets the response that Amazon Lex sends to the user when the intent is closed.</p>
250    pub fn get_intent_closing_setting(&self) -> &::std::option::Option<crate::types::IntentClosingSetting> {
251        self.inner.get_intent_closing_setting()
252    }
253    ///
254    /// Appends an item to `inputContexts`.
255    ///
256    /// To override the contents of this collection use [`set_input_contexts`](Self::set_input_contexts).
257    ///
258    /// <p>A list of contexts that must be active for this intent to be considered by Amazon Lex.</p>
259    /// <p>When an intent has an input context list, Amazon Lex only considers using the intent in an interaction with the user when the specified contexts are included in the active context list for the session. If the contexts are not active, then Amazon Lex will not use the intent.</p>
260    /// <p>A context can be automatically activated using the <code>outputContexts</code> property or it can be set at runtime.</p>
261    /// <p>For example, if there are two intents with different input contexts that respond to the same utterances, only the intent with the active context will respond.</p>
262    /// <p>An intent may have up to 5 input contexts. If an intent has multiple input contexts, all of the contexts must be active to consider the intent.</p>
263    pub fn input_contexts(mut self, input: crate::types::InputContext) -> Self {
264        self.inner = self.inner.input_contexts(input);
265        self
266    }
267    /// <p>A list of contexts that must be active for this intent to be considered by Amazon Lex.</p>
268    /// <p>When an intent has an input context list, Amazon Lex only considers using the intent in an interaction with the user when the specified contexts are included in the active context list for the session. If the contexts are not active, then Amazon Lex will not use the intent.</p>
269    /// <p>A context can be automatically activated using the <code>outputContexts</code> property or it can be set at runtime.</p>
270    /// <p>For example, if there are two intents with different input contexts that respond to the same utterances, only the intent with the active context will respond.</p>
271    /// <p>An intent may have up to 5 input contexts. If an intent has multiple input contexts, all of the contexts must be active to consider the intent.</p>
272    pub fn set_input_contexts(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::InputContext>>) -> Self {
273        self.inner = self.inner.set_input_contexts(input);
274        self
275    }
276    /// <p>A list of contexts that must be active for this intent to be considered by Amazon Lex.</p>
277    /// <p>When an intent has an input context list, Amazon Lex only considers using the intent in an interaction with the user when the specified contexts are included in the active context list for the session. If the contexts are not active, then Amazon Lex will not use the intent.</p>
278    /// <p>A context can be automatically activated using the <code>outputContexts</code> property or it can be set at runtime.</p>
279    /// <p>For example, if there are two intents with different input contexts that respond to the same utterances, only the intent with the active context will respond.</p>
280    /// <p>An intent may have up to 5 input contexts. If an intent has multiple input contexts, all of the contexts must be active to consider the intent.</p>
281    pub fn get_input_contexts(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::InputContext>> {
282        self.inner.get_input_contexts()
283    }
284    ///
285    /// Appends an item to `outputContexts`.
286    ///
287    /// To override the contents of this collection use [`set_output_contexts`](Self::set_output_contexts).
288    ///
289    /// <p>A lists of contexts that the intent activates when it is fulfilled.</p>
290    /// <p>You can use an output context to indicate the intents that Amazon Lex should consider for the next turn of the conversation with a customer.</p>
291    /// <p>When you use the <code>outputContextsList</code> property, all of the contexts specified in the list are activated when the intent is fulfilled. You can set up to 10 output contexts. You can also set the number of conversation turns that the context should be active, or the length of time that the context should be active.</p>
292    pub fn output_contexts(mut self, input: crate::types::OutputContext) -> Self {
293        self.inner = self.inner.output_contexts(input);
294        self
295    }
296    /// <p>A lists of contexts that the intent activates when it is fulfilled.</p>
297    /// <p>You can use an output context to indicate the intents that Amazon Lex should consider for the next turn of the conversation with a customer.</p>
298    /// <p>When you use the <code>outputContextsList</code> property, all of the contexts specified in the list are activated when the intent is fulfilled. You can set up to 10 output contexts. You can also set the number of conversation turns that the context should be active, or the length of time that the context should be active.</p>
299    pub fn set_output_contexts(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::OutputContext>>) -> Self {
300        self.inner = self.inner.set_output_contexts(input);
301        self
302    }
303    /// <p>A lists of contexts that the intent activates when it is fulfilled.</p>
304    /// <p>You can use an output context to indicate the intents that Amazon Lex should consider for the next turn of the conversation with a customer.</p>
305    /// <p>When you use the <code>outputContextsList</code> property, all of the contexts specified in the list are activated when the intent is fulfilled. You can set up to 10 output contexts. You can also set the number of conversation turns that the context should be active, or the length of time that the context should be active.</p>
306    pub fn get_output_contexts(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::OutputContext>> {
307        self.inner.get_output_contexts()
308    }
309    /// <p>Configuration information required to use the <code>AMAZON.KendraSearchIntent</code> intent to connect to an Amazon Kendra index. The <code>AMAZON.KendraSearchIntent</code> intent is called when Amazon Lex can't determine another intent to invoke.</p>
310    pub fn kendra_configuration(mut self, input: crate::types::KendraConfiguration) -> Self {
311        self.inner = self.inner.kendra_configuration(input);
312        self
313    }
314    /// <p>Configuration information required to use the <code>AMAZON.KendraSearchIntent</code> intent to connect to an Amazon Kendra index. The <code>AMAZON.KendraSearchIntent</code> intent is called when Amazon Lex can't determine another intent to invoke.</p>
315    pub fn set_kendra_configuration(mut self, input: ::std::option::Option<crate::types::KendraConfiguration>) -> Self {
316        self.inner = self.inner.set_kendra_configuration(input);
317        self
318    }
319    /// <p>Configuration information required to use the <code>AMAZON.KendraSearchIntent</code> intent to connect to an Amazon Kendra index. The <code>AMAZON.KendraSearchIntent</code> intent is called when Amazon Lex can't determine another intent to invoke.</p>
320    pub fn get_kendra_configuration(&self) -> &::std::option::Option<crate::types::KendraConfiguration> {
321        self.inner.get_kendra_configuration()
322    }
323    /// <p>The identifier of the bot associated with this intent.</p>
324    pub fn bot_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
325        self.inner = self.inner.bot_id(input.into());
326        self
327    }
328    /// <p>The identifier of the bot associated with this intent.</p>
329    pub fn set_bot_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
330        self.inner = self.inner.set_bot_id(input);
331        self
332    }
333    /// <p>The identifier of the bot associated with this intent.</p>
334    pub fn get_bot_id(&self) -> &::std::option::Option<::std::string::String> {
335        self.inner.get_bot_id()
336    }
337    /// <p>The version of the bot associated with this intent.</p>
338    pub fn bot_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
339        self.inner = self.inner.bot_version(input.into());
340        self
341    }
342    /// <p>The version of the bot associated with this intent.</p>
343    pub fn set_bot_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
344        self.inner = self.inner.set_bot_version(input);
345        self
346    }
347    /// <p>The version of the bot associated with this intent.</p>
348    pub fn get_bot_version(&self) -> &::std::option::Option<::std::string::String> {
349        self.inner.get_bot_version()
350    }
351    /// <p>The identifier of the language and locale where this intent is used. All of the bots, slot types, and slots used by the intent must have the same locale. For more information, see <a href="https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html">Supported languages</a>.</p>
352    pub fn locale_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
353        self.inner = self.inner.locale_id(input.into());
354        self
355    }
356    /// <p>The identifier of the language and locale where this intent is used. All of the bots, slot types, and slots used by the intent must have the same locale. For more information, see <a href="https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html">Supported languages</a>.</p>
357    pub fn set_locale_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
358        self.inner = self.inner.set_locale_id(input);
359        self
360    }
361    /// <p>The identifier of the language and locale where this intent is used. All of the bots, slot types, and slots used by the intent must have the same locale. For more information, see <a href="https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html">Supported languages</a>.</p>
362    pub fn get_locale_id(&self) -> &::std::option::Option<::std::string::String> {
363        self.inner.get_locale_id()
364    }
365    /// <p>Configuration settings for the response that is sent to the user at the beginning of a conversation, before eliciting slot values.</p>
366    pub fn initial_response_setting(mut self, input: crate::types::InitialResponseSetting) -> Self {
367        self.inner = self.inner.initial_response_setting(input);
368        self
369    }
370    /// <p>Configuration settings for the response that is sent to the user at the beginning of a conversation, before eliciting slot values.</p>
371    pub fn set_initial_response_setting(mut self, input: ::std::option::Option<crate::types::InitialResponseSetting>) -> Self {
372        self.inner = self.inner.set_initial_response_setting(input);
373        self
374    }
375    /// <p>Configuration settings for the response that is sent to the user at the beginning of a conversation, before eliciting slot values.</p>
376    pub fn get_initial_response_setting(&self) -> &::std::option::Option<crate::types::InitialResponseSetting> {
377        self.inner.get_initial_response_setting()
378    }
379    /// <p>Specifies the configuration of the built-in <code>Amazon.QnAIntent</code>. The <code>AMAZON.QnAIntent</code> intent is called when Amazon Lex can't determine another intent to invoke. If you specify this field, you can't specify the <code>kendraConfiguration</code> field.</p>
380    pub fn qn_a_intent_configuration(mut self, input: crate::types::QnAIntentConfiguration) -> Self {
381        self.inner = self.inner.qn_a_intent_configuration(input);
382        self
383    }
384    /// <p>Specifies the configuration of the built-in <code>Amazon.QnAIntent</code>. The <code>AMAZON.QnAIntent</code> intent is called when Amazon Lex can't determine another intent to invoke. If you specify this field, you can't specify the <code>kendraConfiguration</code> field.</p>
385    pub fn set_qn_a_intent_configuration(mut self, input: ::std::option::Option<crate::types::QnAIntentConfiguration>) -> Self {
386        self.inner = self.inner.set_qn_a_intent_configuration(input);
387        self
388    }
389    /// <p>Specifies the configuration of the built-in <code>Amazon.QnAIntent</code>. The <code>AMAZON.QnAIntent</code> intent is called when Amazon Lex can't determine another intent to invoke. If you specify this field, you can't specify the <code>kendraConfiguration</code> field.</p>
390    pub fn get_qn_a_intent_configuration(&self) -> &::std::option::Option<crate::types::QnAIntentConfiguration> {
391        self.inner.get_qn_a_intent_configuration()
392    }
393    /// <p>Qinconnect intent configuration details for the create intent request.</p>
394    pub fn q_in_connect_intent_configuration(mut self, input: crate::types::QInConnectIntentConfiguration) -> Self {
395        self.inner = self.inner.q_in_connect_intent_configuration(input);
396        self
397    }
398    /// <p>Qinconnect intent configuration details for the create intent request.</p>
399    pub fn set_q_in_connect_intent_configuration(mut self, input: ::std::option::Option<crate::types::QInConnectIntentConfiguration>) -> Self {
400        self.inner = self.inner.set_q_in_connect_intent_configuration(input);
401        self
402    }
403    /// <p>Qinconnect intent configuration details for the create intent request.</p>
404    pub fn get_q_in_connect_intent_configuration(&self) -> &::std::option::Option<crate::types::QInConnectIntentConfiguration> {
405        self.inner.get_q_in_connect_intent_configuration()
406    }
407}