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