aws_sdk_lexmodelsv2/operation/update_intent/
_update_intent_input.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct UpdateIntentInput {
6    /// <p>The unique identifier of the intent to update.</p>
7    pub intent_id: ::std::option::Option<::std::string::String>,
8    /// <p>The new name for the intent.</p>
9    pub intent_name: ::std::option::Option<::std::string::String>,
10    /// <p>The new description of the intent.</p>
11    pub description: ::std::option::Option<::std::string::String>,
12    /// <p>The signature of the new built-in intent to use as the parent of this intent.</p>
13    pub parent_intent_signature: ::std::option::Option<::std::string::String>,
14    /// <p>New utterances used to invoke the intent.</p>
15    pub sample_utterances: ::std::option::Option<::std::vec::Vec<crate::types::SampleUtterance>>,
16    /// <p>The new Lambda function to use between each turn of the conversation with the bot.</p>
17    pub dialog_code_hook: ::std::option::Option<crate::types::DialogCodeHookSettings>,
18    /// <p>The new Lambda function to call when all of the intents required slots are provided and the intent is ready for fulfillment.</p>
19    pub fulfillment_code_hook: ::std::option::Option<crate::types::FulfillmentCodeHookSettings>,
20    /// <p>A new list of slots and their priorities that are contained by the intent.</p>
21    pub slot_priorities: ::std::option::Option<::std::vec::Vec<crate::types::SlotPriority>>,
22    /// <p>New prompts that Amazon Lex sends to the user to confirm the completion of an intent.</p>
23    pub intent_confirmation_setting: ::std::option::Option<crate::types::IntentConfirmationSetting>,
24    /// <p>The new response that Amazon Lex sends the user when the intent is closed.</p>
25    pub intent_closing_setting: ::std::option::Option<crate::types::IntentClosingSetting>,
26    /// <p>A new list of contexts that must be active in order for Amazon Lex to consider the intent.</p>
27    pub input_contexts: ::std::option::Option<::std::vec::Vec<crate::types::InputContext>>,
28    /// <p>A new list of contexts that Amazon Lex activates when the intent is fulfilled.</p>
29    pub output_contexts: ::std::option::Option<::std::vec::Vec<crate::types::OutputContext>>,
30    /// <p>New configuration settings for connecting to an Amazon Kendra index.</p>
31    pub kendra_configuration: ::std::option::Option<crate::types::KendraConfiguration>,
32    /// <p>The identifier of the bot that contains the intent.</p>
33    pub bot_id: ::std::option::Option<::std::string::String>,
34    /// <p>The version of the bot that contains the intent. Must be <code>DRAFT</code>.</p>
35    pub bot_version: ::std::option::Option<::std::string::String>,
36    /// <p>The identifier of the language and locale where this intent is used. The string must match one of the supported locales. For more information, see <a href="https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html">Supported languages</a>.</p>
37    pub locale_id: ::std::option::Option<::std::string::String>,
38    /// <p>Configuration settings for a response sent to the user before Amazon Lex starts eliciting slots.</p>
39    pub initial_response_setting: ::std::option::Option<crate::types::InitialResponseSetting>,
40    /// <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>
41    pub qn_a_intent_configuration: ::std::option::Option<crate::types::QnAIntentConfiguration>,
42}
43impl UpdateIntentInput {
44    /// <p>The unique identifier of the intent to update.</p>
45    pub fn intent_id(&self) -> ::std::option::Option<&str> {
46        self.intent_id.as_deref()
47    }
48    /// <p>The new name for the intent.</p>
49    pub fn intent_name(&self) -> ::std::option::Option<&str> {
50        self.intent_name.as_deref()
51    }
52    /// <p>The new description of the intent.</p>
53    pub fn description(&self) -> ::std::option::Option<&str> {
54        self.description.as_deref()
55    }
56    /// <p>The signature of the new built-in intent to use as the parent of this intent.</p>
57    pub fn parent_intent_signature(&self) -> ::std::option::Option<&str> {
58        self.parent_intent_signature.as_deref()
59    }
60    /// <p>New utterances used to invoke the intent.</p>
61    ///
62    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.sample_utterances.is_none()`.
63    pub fn sample_utterances(&self) -> &[crate::types::SampleUtterance] {
64        self.sample_utterances.as_deref().unwrap_or_default()
65    }
66    /// <p>The new Lambda function to use between each turn of the conversation with the bot.</p>
67    pub fn dialog_code_hook(&self) -> ::std::option::Option<&crate::types::DialogCodeHookSettings> {
68        self.dialog_code_hook.as_ref()
69    }
70    /// <p>The new Lambda function to call when all of the intents required slots are provided and the intent is ready for fulfillment.</p>
71    pub fn fulfillment_code_hook(&self) -> ::std::option::Option<&crate::types::FulfillmentCodeHookSettings> {
72        self.fulfillment_code_hook.as_ref()
73    }
74    /// <p>A new list of slots and their priorities that are contained by the intent.</p>
75    ///
76    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.slot_priorities.is_none()`.
77    pub fn slot_priorities(&self) -> &[crate::types::SlotPriority] {
78        self.slot_priorities.as_deref().unwrap_or_default()
79    }
80    /// <p>New prompts that Amazon Lex sends to the user to confirm the completion of an intent.</p>
81    pub fn intent_confirmation_setting(&self) -> ::std::option::Option<&crate::types::IntentConfirmationSetting> {
82        self.intent_confirmation_setting.as_ref()
83    }
84    /// <p>The new response that Amazon Lex sends the user when the intent is closed.</p>
85    pub fn intent_closing_setting(&self) -> ::std::option::Option<&crate::types::IntentClosingSetting> {
86        self.intent_closing_setting.as_ref()
87    }
88    /// <p>A new list of contexts that must be active in order for Amazon Lex to consider the intent.</p>
89    ///
90    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.input_contexts.is_none()`.
91    pub fn input_contexts(&self) -> &[crate::types::InputContext] {
92        self.input_contexts.as_deref().unwrap_or_default()
93    }
94    /// <p>A new list of contexts that Amazon Lex activates when the intent is fulfilled.</p>
95    ///
96    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.output_contexts.is_none()`.
97    pub fn output_contexts(&self) -> &[crate::types::OutputContext] {
98        self.output_contexts.as_deref().unwrap_or_default()
99    }
100    /// <p>New configuration settings for connecting to an Amazon Kendra index.</p>
101    pub fn kendra_configuration(&self) -> ::std::option::Option<&crate::types::KendraConfiguration> {
102        self.kendra_configuration.as_ref()
103    }
104    /// <p>The identifier of the bot that contains the intent.</p>
105    pub fn bot_id(&self) -> ::std::option::Option<&str> {
106        self.bot_id.as_deref()
107    }
108    /// <p>The version of the bot that contains the intent. Must be <code>DRAFT</code>.</p>
109    pub fn bot_version(&self) -> ::std::option::Option<&str> {
110        self.bot_version.as_deref()
111    }
112    /// <p>The identifier of the language and locale where this intent is used. The string must match one of the supported locales. For more information, see <a href="https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html">Supported languages</a>.</p>
113    pub fn locale_id(&self) -> ::std::option::Option<&str> {
114        self.locale_id.as_deref()
115    }
116    /// <p>Configuration settings for a response sent to the user before Amazon Lex starts eliciting slots.</p>
117    pub fn initial_response_setting(&self) -> ::std::option::Option<&crate::types::InitialResponseSetting> {
118        self.initial_response_setting.as_ref()
119    }
120    /// <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>
121    pub fn qn_a_intent_configuration(&self) -> ::std::option::Option<&crate::types::QnAIntentConfiguration> {
122        self.qn_a_intent_configuration.as_ref()
123    }
124}
125impl UpdateIntentInput {
126    /// Creates a new builder-style object to manufacture [`UpdateIntentInput`](crate::operation::update_intent::UpdateIntentInput).
127    pub fn builder() -> crate::operation::update_intent::builders::UpdateIntentInputBuilder {
128        crate::operation::update_intent::builders::UpdateIntentInputBuilder::default()
129    }
130}
131
132/// A builder for [`UpdateIntentInput`](crate::operation::update_intent::UpdateIntentInput).
133#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
134#[non_exhaustive]
135pub struct UpdateIntentInputBuilder {
136    pub(crate) intent_id: ::std::option::Option<::std::string::String>,
137    pub(crate) intent_name: ::std::option::Option<::std::string::String>,
138    pub(crate) description: ::std::option::Option<::std::string::String>,
139    pub(crate) parent_intent_signature: ::std::option::Option<::std::string::String>,
140    pub(crate) sample_utterances: ::std::option::Option<::std::vec::Vec<crate::types::SampleUtterance>>,
141    pub(crate) dialog_code_hook: ::std::option::Option<crate::types::DialogCodeHookSettings>,
142    pub(crate) fulfillment_code_hook: ::std::option::Option<crate::types::FulfillmentCodeHookSettings>,
143    pub(crate) slot_priorities: ::std::option::Option<::std::vec::Vec<crate::types::SlotPriority>>,
144    pub(crate) intent_confirmation_setting: ::std::option::Option<crate::types::IntentConfirmationSetting>,
145    pub(crate) intent_closing_setting: ::std::option::Option<crate::types::IntentClosingSetting>,
146    pub(crate) input_contexts: ::std::option::Option<::std::vec::Vec<crate::types::InputContext>>,
147    pub(crate) output_contexts: ::std::option::Option<::std::vec::Vec<crate::types::OutputContext>>,
148    pub(crate) kendra_configuration: ::std::option::Option<crate::types::KendraConfiguration>,
149    pub(crate) bot_id: ::std::option::Option<::std::string::String>,
150    pub(crate) bot_version: ::std::option::Option<::std::string::String>,
151    pub(crate) locale_id: ::std::option::Option<::std::string::String>,
152    pub(crate) initial_response_setting: ::std::option::Option<crate::types::InitialResponseSetting>,
153    pub(crate) qn_a_intent_configuration: ::std::option::Option<crate::types::QnAIntentConfiguration>,
154}
155impl UpdateIntentInputBuilder {
156    /// <p>The unique identifier of the intent to update.</p>
157    /// This field is required.
158    pub fn intent_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
159        self.intent_id = ::std::option::Option::Some(input.into());
160        self
161    }
162    /// <p>The unique identifier of the intent to update.</p>
163    pub fn set_intent_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
164        self.intent_id = input;
165        self
166    }
167    /// <p>The unique identifier of the intent to update.</p>
168    pub fn get_intent_id(&self) -> &::std::option::Option<::std::string::String> {
169        &self.intent_id
170    }
171    /// <p>The new name for the intent.</p>
172    /// This field is required.
173    pub fn intent_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
174        self.intent_name = ::std::option::Option::Some(input.into());
175        self
176    }
177    /// <p>The new name for the intent.</p>
178    pub fn set_intent_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
179        self.intent_name = input;
180        self
181    }
182    /// <p>The new name for the intent.</p>
183    pub fn get_intent_name(&self) -> &::std::option::Option<::std::string::String> {
184        &self.intent_name
185    }
186    /// <p>The new description of the intent.</p>
187    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
188        self.description = ::std::option::Option::Some(input.into());
189        self
190    }
191    /// <p>The new description of the intent.</p>
192    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
193        self.description = input;
194        self
195    }
196    /// <p>The new description of the intent.</p>
197    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
198        &self.description
199    }
200    /// <p>The signature of the new built-in intent to use as the parent of this intent.</p>
201    pub fn parent_intent_signature(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
202        self.parent_intent_signature = ::std::option::Option::Some(input.into());
203        self
204    }
205    /// <p>The signature of the new built-in intent to use as the parent of this intent.</p>
206    pub fn set_parent_intent_signature(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
207        self.parent_intent_signature = input;
208        self
209    }
210    /// <p>The signature of the new built-in intent to use as the parent of this intent.</p>
211    pub fn get_parent_intent_signature(&self) -> &::std::option::Option<::std::string::String> {
212        &self.parent_intent_signature
213    }
214    /// Appends an item to `sample_utterances`.
215    ///
216    /// To override the contents of this collection use [`set_sample_utterances`](Self::set_sample_utterances).
217    ///
218    /// <p>New utterances used to invoke the intent.</p>
219    pub fn sample_utterances(mut self, input: crate::types::SampleUtterance) -> Self {
220        let mut v = self.sample_utterances.unwrap_or_default();
221        v.push(input);
222        self.sample_utterances = ::std::option::Option::Some(v);
223        self
224    }
225    /// <p>New utterances used to invoke the intent.</p>
226    pub fn set_sample_utterances(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::SampleUtterance>>) -> Self {
227        self.sample_utterances = input;
228        self
229    }
230    /// <p>New utterances used to invoke the intent.</p>
231    pub fn get_sample_utterances(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::SampleUtterance>> {
232        &self.sample_utterances
233    }
234    /// <p>The new Lambda function to use between each turn of the conversation with the bot.</p>
235    pub fn dialog_code_hook(mut self, input: crate::types::DialogCodeHookSettings) -> Self {
236        self.dialog_code_hook = ::std::option::Option::Some(input);
237        self
238    }
239    /// <p>The new Lambda function to use between each turn of the conversation with the bot.</p>
240    pub fn set_dialog_code_hook(mut self, input: ::std::option::Option<crate::types::DialogCodeHookSettings>) -> Self {
241        self.dialog_code_hook = input;
242        self
243    }
244    /// <p>The new Lambda function to use between each turn of the conversation with the bot.</p>
245    pub fn get_dialog_code_hook(&self) -> &::std::option::Option<crate::types::DialogCodeHookSettings> {
246        &self.dialog_code_hook
247    }
248    /// <p>The new Lambda function to call when all of the intents required slots are provided and the intent is ready for fulfillment.</p>
249    pub fn fulfillment_code_hook(mut self, input: crate::types::FulfillmentCodeHookSettings) -> Self {
250        self.fulfillment_code_hook = ::std::option::Option::Some(input);
251        self
252    }
253    /// <p>The new Lambda function to call when all of the intents required slots are provided and the intent is ready for fulfillment.</p>
254    pub fn set_fulfillment_code_hook(mut self, input: ::std::option::Option<crate::types::FulfillmentCodeHookSettings>) -> Self {
255        self.fulfillment_code_hook = input;
256        self
257    }
258    /// <p>The new Lambda function to call when all of the intents required slots are provided and the intent is ready for fulfillment.</p>
259    pub fn get_fulfillment_code_hook(&self) -> &::std::option::Option<crate::types::FulfillmentCodeHookSettings> {
260        &self.fulfillment_code_hook
261    }
262    /// Appends an item to `slot_priorities`.
263    ///
264    /// To override the contents of this collection use [`set_slot_priorities`](Self::set_slot_priorities).
265    ///
266    /// <p>A new list of slots and their priorities that are contained by the intent.</p>
267    pub fn slot_priorities(mut self, input: crate::types::SlotPriority) -> Self {
268        let mut v = self.slot_priorities.unwrap_or_default();
269        v.push(input);
270        self.slot_priorities = ::std::option::Option::Some(v);
271        self
272    }
273    /// <p>A new list of slots and their priorities that are contained by the intent.</p>
274    pub fn set_slot_priorities(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::SlotPriority>>) -> Self {
275        self.slot_priorities = input;
276        self
277    }
278    /// <p>A new list of slots and their priorities that are contained by the intent.</p>
279    pub fn get_slot_priorities(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::SlotPriority>> {
280        &self.slot_priorities
281    }
282    /// <p>New prompts that Amazon Lex sends to the user to confirm the completion of an intent.</p>
283    pub fn intent_confirmation_setting(mut self, input: crate::types::IntentConfirmationSetting) -> Self {
284        self.intent_confirmation_setting = ::std::option::Option::Some(input);
285        self
286    }
287    /// <p>New prompts that Amazon Lex sends to the user to confirm the completion of an intent.</p>
288    pub fn set_intent_confirmation_setting(mut self, input: ::std::option::Option<crate::types::IntentConfirmationSetting>) -> Self {
289        self.intent_confirmation_setting = input;
290        self
291    }
292    /// <p>New prompts that Amazon Lex sends to the user to confirm the completion of an intent.</p>
293    pub fn get_intent_confirmation_setting(&self) -> &::std::option::Option<crate::types::IntentConfirmationSetting> {
294        &self.intent_confirmation_setting
295    }
296    /// <p>The new response that Amazon Lex sends the user when the intent is closed.</p>
297    pub fn intent_closing_setting(mut self, input: crate::types::IntentClosingSetting) -> Self {
298        self.intent_closing_setting = ::std::option::Option::Some(input);
299        self
300    }
301    /// <p>The new response that Amazon Lex sends the user when the intent is closed.</p>
302    pub fn set_intent_closing_setting(mut self, input: ::std::option::Option<crate::types::IntentClosingSetting>) -> Self {
303        self.intent_closing_setting = input;
304        self
305    }
306    /// <p>The new response that Amazon Lex sends the user when the intent is closed.</p>
307    pub fn get_intent_closing_setting(&self) -> &::std::option::Option<crate::types::IntentClosingSetting> {
308        &self.intent_closing_setting
309    }
310    /// Appends an item to `input_contexts`.
311    ///
312    /// To override the contents of this collection use [`set_input_contexts`](Self::set_input_contexts).
313    ///
314    /// <p>A new list of contexts that must be active in order for Amazon Lex to consider the intent.</p>
315    pub fn input_contexts(mut self, input: crate::types::InputContext) -> Self {
316        let mut v = self.input_contexts.unwrap_or_default();
317        v.push(input);
318        self.input_contexts = ::std::option::Option::Some(v);
319        self
320    }
321    /// <p>A new list of contexts that must be active in order for Amazon Lex to consider the intent.</p>
322    pub fn set_input_contexts(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::InputContext>>) -> Self {
323        self.input_contexts = input;
324        self
325    }
326    /// <p>A new list of contexts that must be active in order for Amazon Lex to consider the intent.</p>
327    pub fn get_input_contexts(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::InputContext>> {
328        &self.input_contexts
329    }
330    /// Appends an item to `output_contexts`.
331    ///
332    /// To override the contents of this collection use [`set_output_contexts`](Self::set_output_contexts).
333    ///
334    /// <p>A new list of contexts that Amazon Lex activates when the intent is fulfilled.</p>
335    pub fn output_contexts(mut self, input: crate::types::OutputContext) -> Self {
336        let mut v = self.output_contexts.unwrap_or_default();
337        v.push(input);
338        self.output_contexts = ::std::option::Option::Some(v);
339        self
340    }
341    /// <p>A new list of contexts that Amazon Lex activates when the intent is fulfilled.</p>
342    pub fn set_output_contexts(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::OutputContext>>) -> Self {
343        self.output_contexts = input;
344        self
345    }
346    /// <p>A new list of contexts that Amazon Lex activates when the intent is fulfilled.</p>
347    pub fn get_output_contexts(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::OutputContext>> {
348        &self.output_contexts
349    }
350    /// <p>New configuration settings for connecting to an Amazon Kendra index.</p>
351    pub fn kendra_configuration(mut self, input: crate::types::KendraConfiguration) -> Self {
352        self.kendra_configuration = ::std::option::Option::Some(input);
353        self
354    }
355    /// <p>New configuration settings for connecting to an Amazon Kendra index.</p>
356    pub fn set_kendra_configuration(mut self, input: ::std::option::Option<crate::types::KendraConfiguration>) -> Self {
357        self.kendra_configuration = input;
358        self
359    }
360    /// <p>New configuration settings for connecting to an Amazon Kendra index.</p>
361    pub fn get_kendra_configuration(&self) -> &::std::option::Option<crate::types::KendraConfiguration> {
362        &self.kendra_configuration
363    }
364    /// <p>The identifier of the bot that contains the intent.</p>
365    /// This field is required.
366    pub fn bot_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
367        self.bot_id = ::std::option::Option::Some(input.into());
368        self
369    }
370    /// <p>The identifier of the bot that contains the intent.</p>
371    pub fn set_bot_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
372        self.bot_id = input;
373        self
374    }
375    /// <p>The identifier of the bot that contains the intent.</p>
376    pub fn get_bot_id(&self) -> &::std::option::Option<::std::string::String> {
377        &self.bot_id
378    }
379    /// <p>The version of the bot that contains the intent. Must be <code>DRAFT</code>.</p>
380    /// This field is required.
381    pub fn bot_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
382        self.bot_version = ::std::option::Option::Some(input.into());
383        self
384    }
385    /// <p>The version of the bot that contains the intent. Must be <code>DRAFT</code>.</p>
386    pub fn set_bot_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
387        self.bot_version = input;
388        self
389    }
390    /// <p>The version of the bot that contains the intent. Must be <code>DRAFT</code>.</p>
391    pub fn get_bot_version(&self) -> &::std::option::Option<::std::string::String> {
392        &self.bot_version
393    }
394    /// <p>The identifier of the language and locale where this intent is used. The string must match one of the supported locales. For more information, see <a href="https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html">Supported languages</a>.</p>
395    /// This field is required.
396    pub fn locale_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
397        self.locale_id = ::std::option::Option::Some(input.into());
398        self
399    }
400    /// <p>The identifier of the language and locale where this intent is used. The string must match one of the supported locales. For more information, see <a href="https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html">Supported languages</a>.</p>
401    pub fn set_locale_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
402        self.locale_id = input;
403        self
404    }
405    /// <p>The identifier of the language and locale where this intent is used. The string must match one of the supported locales. For more information, see <a href="https://docs.aws.amazon.com/lexv2/latest/dg/how-languages.html">Supported languages</a>.</p>
406    pub fn get_locale_id(&self) -> &::std::option::Option<::std::string::String> {
407        &self.locale_id
408    }
409    /// <p>Configuration settings for a response sent to the user before Amazon Lex starts eliciting slots.</p>
410    pub fn initial_response_setting(mut self, input: crate::types::InitialResponseSetting) -> Self {
411        self.initial_response_setting = ::std::option::Option::Some(input);
412        self
413    }
414    /// <p>Configuration settings for a response sent to the user before Amazon Lex starts eliciting slots.</p>
415    pub fn set_initial_response_setting(mut self, input: ::std::option::Option<crate::types::InitialResponseSetting>) -> Self {
416        self.initial_response_setting = input;
417        self
418    }
419    /// <p>Configuration settings for a response sent to the user before Amazon Lex starts eliciting slots.</p>
420    pub fn get_initial_response_setting(&self) -> &::std::option::Option<crate::types::InitialResponseSetting> {
421        &self.initial_response_setting
422    }
423    /// <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>
424    pub fn qn_a_intent_configuration(mut self, input: crate::types::QnAIntentConfiguration) -> Self {
425        self.qn_a_intent_configuration = ::std::option::Option::Some(input);
426        self
427    }
428    /// <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>
429    pub fn set_qn_a_intent_configuration(mut self, input: ::std::option::Option<crate::types::QnAIntentConfiguration>) -> Self {
430        self.qn_a_intent_configuration = input;
431        self
432    }
433    /// <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>
434    pub fn get_qn_a_intent_configuration(&self) -> &::std::option::Option<crate::types::QnAIntentConfiguration> {
435        &self.qn_a_intent_configuration
436    }
437    /// Consumes the builder and constructs a [`UpdateIntentInput`](crate::operation::update_intent::UpdateIntentInput).
438    pub fn build(
439        self,
440    ) -> ::std::result::Result<crate::operation::update_intent::UpdateIntentInput, ::aws_smithy_types::error::operation::BuildError> {
441        ::std::result::Result::Ok(crate::operation::update_intent::UpdateIntentInput {
442            intent_id: self.intent_id,
443            intent_name: self.intent_name,
444            description: self.description,
445            parent_intent_signature: self.parent_intent_signature,
446            sample_utterances: self.sample_utterances,
447            dialog_code_hook: self.dialog_code_hook,
448            fulfillment_code_hook: self.fulfillment_code_hook,
449            slot_priorities: self.slot_priorities,
450            intent_confirmation_setting: self.intent_confirmation_setting,
451            intent_closing_setting: self.intent_closing_setting,
452            input_contexts: self.input_contexts,
453            output_contexts: self.output_contexts,
454            kendra_configuration: self.kendra_configuration,
455            bot_id: self.bot_id,
456            bot_version: self.bot_version,
457            locale_id: self.locale_id,
458            initial_response_setting: self.initial_response_setting,
459            qn_a_intent_configuration: self.qn_a_intent_configuration,
460        })
461    }
462}