aws_sdk_lexmodelbuilding/operation/get_bot/
_get_bot_output.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 GetBotOutput {
6    /// <p>The name of the bot.</p>
7    pub name: ::std::option::Option<::std::string::String>,
8    /// <p>A description of the bot.</p>
9    pub description: ::std::option::Option<::std::string::String>,
10    /// <p>An array of <code>intent</code> objects. For more information, see <code>PutBot</code>.</p>
11    pub intents: ::std::option::Option<::std::vec::Vec<crate::types::Intent>>,
12    /// <p>Indicates whether the bot uses accuracy improvements. <code>true</code> indicates that the bot is using the improvements, otherwise, <code>false</code>.</p>
13    pub enable_model_improvements: ::std::option::Option<bool>,
14    /// <p>The score that determines where Amazon Lex inserts the <code>AMAZON.FallbackIntent</code>, <code>AMAZON.KendraSearchIntent</code>, or both when returning alternative intents in a <a href="https://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostContent.html">PostContent</a> or <a href="https://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostText.html">PostText</a> response. <code>AMAZON.FallbackIntent</code> is inserted if the confidence score for all intents is below this value. <code>AMAZON.KendraSearchIntent</code> is only inserted if it is configured for the bot.</p>
15    pub nlu_intent_confidence_threshold: ::std::option::Option<f64>,
16    /// <p>The message Amazon Lex uses when it doesn't understand the user's request. For more information, see <code>PutBot</code>.</p>
17    pub clarification_prompt: ::std::option::Option<crate::types::Prompt>,
18    /// <p>The message that Amazon Lex returns when the user elects to end the conversation without completing it. For more information, see <code>PutBot</code>.</p>
19    pub abort_statement: ::std::option::Option<crate::types::Statement>,
20    /// <p>The status of the bot.</p>
21    /// <p>When the status is <code>BUILDING</code> Amazon Lex is building the bot for testing and use.</p>
22    /// <p>If the status of the bot is <code>READY_BASIC_TESTING</code>, you can test the bot using the exact utterances specified in the bot's intents. When the bot is ready for full testing or to run, the status is <code>READY</code>.</p>
23    /// <p>If there was a problem with building the bot, the status is <code>FAILED</code> and the <code>failureReason</code> field explains why the bot did not build.</p>
24    /// <p>If the bot was saved but not built, the status is <code>NOT_BUILT</code>.</p>
25    pub status: ::std::option::Option<crate::types::Status>,
26    /// <p>If <code>status</code> is <code>FAILED</code>, Amazon Lex explains why it failed to build the bot.</p>
27    pub failure_reason: ::std::option::Option<::std::string::String>,
28    /// <p>The date that the bot was updated. When you create a resource, the creation date and last updated date are the same.</p>
29    pub last_updated_date: ::std::option::Option<::aws_smithy_types::DateTime>,
30    /// <p>The date that the bot was created.</p>
31    pub created_date: ::std::option::Option<::aws_smithy_types::DateTime>,
32    /// <p>The maximum time in seconds that Amazon Lex retains the data gathered in a conversation. For more information, see <code>PutBot</code>.</p>
33    pub idle_session_ttl_in_seconds: ::std::option::Option<i32>,
34    /// <p>The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user. For more information, see <code>PutBot</code>.</p>
35    pub voice_id: ::std::option::Option<::std::string::String>,
36    /// <p>Checksum of the bot used to identify a specific revision of the bot's <code>$LATEST</code> version.</p>
37    pub checksum: ::std::option::Option<::std::string::String>,
38    /// <p>The version of the bot. For a new bot, the version is always <code>$LATEST</code>.</p>
39    pub version: ::std::option::Option<::std::string::String>,
40    /// <p>The target locale for the bot.</p>
41    pub locale: ::std::option::Option<crate::types::Locale>,
42    /// <p>For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying <code>true</code> or <code>false</code> in the <code>childDirected</code> field. By specifying <code>true</code> in the <code>childDirected</code> field, you confirm that your use of Amazon Lex <b>is</b> related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying <code>false</code> in the <code>childDirected</code> field, you confirm that your use of Amazon Lex <b>is not</b> related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the <code>childDirected</code> field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA.</p>
43    /// <p>If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the <a href="https://aws.amazon.com/lex/faqs#data-security">Amazon Lex FAQ.</a></p>
44    pub child_directed: ::std::option::Option<bool>,
45    /// <p>Indicates whether user utterances should be sent to Amazon Comprehend for sentiment analysis.</p>
46    pub detect_sentiment: ::std::option::Option<bool>,
47    _request_id: Option<String>,
48}
49impl GetBotOutput {
50    /// <p>The name of the bot.</p>
51    pub fn name(&self) -> ::std::option::Option<&str> {
52        self.name.as_deref()
53    }
54    /// <p>A description of the bot.</p>
55    pub fn description(&self) -> ::std::option::Option<&str> {
56        self.description.as_deref()
57    }
58    /// <p>An array of <code>intent</code> objects. For more information, see <code>PutBot</code>.</p>
59    ///
60    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.intents.is_none()`.
61    pub fn intents(&self) -> &[crate::types::Intent] {
62        self.intents.as_deref().unwrap_or_default()
63    }
64    /// <p>Indicates whether the bot uses accuracy improvements. <code>true</code> indicates that the bot is using the improvements, otherwise, <code>false</code>.</p>
65    pub fn enable_model_improvements(&self) -> ::std::option::Option<bool> {
66        self.enable_model_improvements
67    }
68    /// <p>The score that determines where Amazon Lex inserts the <code>AMAZON.FallbackIntent</code>, <code>AMAZON.KendraSearchIntent</code>, or both when returning alternative intents in a <a href="https://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostContent.html">PostContent</a> or <a href="https://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostText.html">PostText</a> response. <code>AMAZON.FallbackIntent</code> is inserted if the confidence score for all intents is below this value. <code>AMAZON.KendraSearchIntent</code> is only inserted if it is configured for the bot.</p>
69    pub fn nlu_intent_confidence_threshold(&self) -> ::std::option::Option<f64> {
70        self.nlu_intent_confidence_threshold
71    }
72    /// <p>The message Amazon Lex uses when it doesn't understand the user's request. For more information, see <code>PutBot</code>.</p>
73    pub fn clarification_prompt(&self) -> ::std::option::Option<&crate::types::Prompt> {
74        self.clarification_prompt.as_ref()
75    }
76    /// <p>The message that Amazon Lex returns when the user elects to end the conversation without completing it. For more information, see <code>PutBot</code>.</p>
77    pub fn abort_statement(&self) -> ::std::option::Option<&crate::types::Statement> {
78        self.abort_statement.as_ref()
79    }
80    /// <p>The status of the bot.</p>
81    /// <p>When the status is <code>BUILDING</code> Amazon Lex is building the bot for testing and use.</p>
82    /// <p>If the status of the bot is <code>READY_BASIC_TESTING</code>, you can test the bot using the exact utterances specified in the bot's intents. When the bot is ready for full testing or to run, the status is <code>READY</code>.</p>
83    /// <p>If there was a problem with building the bot, the status is <code>FAILED</code> and the <code>failureReason</code> field explains why the bot did not build.</p>
84    /// <p>If the bot was saved but not built, the status is <code>NOT_BUILT</code>.</p>
85    pub fn status(&self) -> ::std::option::Option<&crate::types::Status> {
86        self.status.as_ref()
87    }
88    /// <p>If <code>status</code> is <code>FAILED</code>, Amazon Lex explains why it failed to build the bot.</p>
89    pub fn failure_reason(&self) -> ::std::option::Option<&str> {
90        self.failure_reason.as_deref()
91    }
92    /// <p>The date that the bot was updated. When you create a resource, the creation date and last updated date are the same.</p>
93    pub fn last_updated_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
94        self.last_updated_date.as_ref()
95    }
96    /// <p>The date that the bot was created.</p>
97    pub fn created_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
98        self.created_date.as_ref()
99    }
100    /// <p>The maximum time in seconds that Amazon Lex retains the data gathered in a conversation. For more information, see <code>PutBot</code>.</p>
101    pub fn idle_session_ttl_in_seconds(&self) -> ::std::option::Option<i32> {
102        self.idle_session_ttl_in_seconds
103    }
104    /// <p>The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user. For more information, see <code>PutBot</code>.</p>
105    pub fn voice_id(&self) -> ::std::option::Option<&str> {
106        self.voice_id.as_deref()
107    }
108    /// <p>Checksum of the bot used to identify a specific revision of the bot's <code>$LATEST</code> version.</p>
109    pub fn checksum(&self) -> ::std::option::Option<&str> {
110        self.checksum.as_deref()
111    }
112    /// <p>The version of the bot. For a new bot, the version is always <code>$LATEST</code>.</p>
113    pub fn version(&self) -> ::std::option::Option<&str> {
114        self.version.as_deref()
115    }
116    /// <p>The target locale for the bot.</p>
117    pub fn locale(&self) -> ::std::option::Option<&crate::types::Locale> {
118        self.locale.as_ref()
119    }
120    /// <p>For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying <code>true</code> or <code>false</code> in the <code>childDirected</code> field. By specifying <code>true</code> in the <code>childDirected</code> field, you confirm that your use of Amazon Lex <b>is</b> related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying <code>false</code> in the <code>childDirected</code> field, you confirm that your use of Amazon Lex <b>is not</b> related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the <code>childDirected</code> field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA.</p>
121    /// <p>If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the <a href="https://aws.amazon.com/lex/faqs#data-security">Amazon Lex FAQ.</a></p>
122    pub fn child_directed(&self) -> ::std::option::Option<bool> {
123        self.child_directed
124    }
125    /// <p>Indicates whether user utterances should be sent to Amazon Comprehend for sentiment analysis.</p>
126    pub fn detect_sentiment(&self) -> ::std::option::Option<bool> {
127        self.detect_sentiment
128    }
129}
130impl ::aws_types::request_id::RequestId for GetBotOutput {
131    fn request_id(&self) -> Option<&str> {
132        self._request_id.as_deref()
133    }
134}
135impl GetBotOutput {
136    /// Creates a new builder-style object to manufacture [`GetBotOutput`](crate::operation::get_bot::GetBotOutput).
137    pub fn builder() -> crate::operation::get_bot::builders::GetBotOutputBuilder {
138        crate::operation::get_bot::builders::GetBotOutputBuilder::default()
139    }
140}
141
142/// A builder for [`GetBotOutput`](crate::operation::get_bot::GetBotOutput).
143#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
144#[non_exhaustive]
145pub struct GetBotOutputBuilder {
146    pub(crate) name: ::std::option::Option<::std::string::String>,
147    pub(crate) description: ::std::option::Option<::std::string::String>,
148    pub(crate) intents: ::std::option::Option<::std::vec::Vec<crate::types::Intent>>,
149    pub(crate) enable_model_improvements: ::std::option::Option<bool>,
150    pub(crate) nlu_intent_confidence_threshold: ::std::option::Option<f64>,
151    pub(crate) clarification_prompt: ::std::option::Option<crate::types::Prompt>,
152    pub(crate) abort_statement: ::std::option::Option<crate::types::Statement>,
153    pub(crate) status: ::std::option::Option<crate::types::Status>,
154    pub(crate) failure_reason: ::std::option::Option<::std::string::String>,
155    pub(crate) last_updated_date: ::std::option::Option<::aws_smithy_types::DateTime>,
156    pub(crate) created_date: ::std::option::Option<::aws_smithy_types::DateTime>,
157    pub(crate) idle_session_ttl_in_seconds: ::std::option::Option<i32>,
158    pub(crate) voice_id: ::std::option::Option<::std::string::String>,
159    pub(crate) checksum: ::std::option::Option<::std::string::String>,
160    pub(crate) version: ::std::option::Option<::std::string::String>,
161    pub(crate) locale: ::std::option::Option<crate::types::Locale>,
162    pub(crate) child_directed: ::std::option::Option<bool>,
163    pub(crate) detect_sentiment: ::std::option::Option<bool>,
164    _request_id: Option<String>,
165}
166impl GetBotOutputBuilder {
167    /// <p>The name of the bot.</p>
168    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
169        self.name = ::std::option::Option::Some(input.into());
170        self
171    }
172    /// <p>The name of the bot.</p>
173    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
174        self.name = input;
175        self
176    }
177    /// <p>The name of the bot.</p>
178    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
179        &self.name
180    }
181    /// <p>A description of the bot.</p>
182    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
183        self.description = ::std::option::Option::Some(input.into());
184        self
185    }
186    /// <p>A description of the bot.</p>
187    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
188        self.description = input;
189        self
190    }
191    /// <p>A description of the bot.</p>
192    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
193        &self.description
194    }
195    /// Appends an item to `intents`.
196    ///
197    /// To override the contents of this collection use [`set_intents`](Self::set_intents).
198    ///
199    /// <p>An array of <code>intent</code> objects. For more information, see <code>PutBot</code>.</p>
200    pub fn intents(mut self, input: crate::types::Intent) -> Self {
201        let mut v = self.intents.unwrap_or_default();
202        v.push(input);
203        self.intents = ::std::option::Option::Some(v);
204        self
205    }
206    /// <p>An array of <code>intent</code> objects. For more information, see <code>PutBot</code>.</p>
207    pub fn set_intents(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Intent>>) -> Self {
208        self.intents = input;
209        self
210    }
211    /// <p>An array of <code>intent</code> objects. For more information, see <code>PutBot</code>.</p>
212    pub fn get_intents(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Intent>> {
213        &self.intents
214    }
215    /// <p>Indicates whether the bot uses accuracy improvements. <code>true</code> indicates that the bot is using the improvements, otherwise, <code>false</code>.</p>
216    pub fn enable_model_improvements(mut self, input: bool) -> Self {
217        self.enable_model_improvements = ::std::option::Option::Some(input);
218        self
219    }
220    /// <p>Indicates whether the bot uses accuracy improvements. <code>true</code> indicates that the bot is using the improvements, otherwise, <code>false</code>.</p>
221    pub fn set_enable_model_improvements(mut self, input: ::std::option::Option<bool>) -> Self {
222        self.enable_model_improvements = input;
223        self
224    }
225    /// <p>Indicates whether the bot uses accuracy improvements. <code>true</code> indicates that the bot is using the improvements, otherwise, <code>false</code>.</p>
226    pub fn get_enable_model_improvements(&self) -> &::std::option::Option<bool> {
227        &self.enable_model_improvements
228    }
229    /// <p>The score that determines where Amazon Lex inserts the <code>AMAZON.FallbackIntent</code>, <code>AMAZON.KendraSearchIntent</code>, or both when returning alternative intents in a <a href="https://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostContent.html">PostContent</a> or <a href="https://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostText.html">PostText</a> response. <code>AMAZON.FallbackIntent</code> is inserted if the confidence score for all intents is below this value. <code>AMAZON.KendraSearchIntent</code> is only inserted if it is configured for the bot.</p>
230    pub fn nlu_intent_confidence_threshold(mut self, input: f64) -> Self {
231        self.nlu_intent_confidence_threshold = ::std::option::Option::Some(input);
232        self
233    }
234    /// <p>The score that determines where Amazon Lex inserts the <code>AMAZON.FallbackIntent</code>, <code>AMAZON.KendraSearchIntent</code>, or both when returning alternative intents in a <a href="https://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostContent.html">PostContent</a> or <a href="https://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostText.html">PostText</a> response. <code>AMAZON.FallbackIntent</code> is inserted if the confidence score for all intents is below this value. <code>AMAZON.KendraSearchIntent</code> is only inserted if it is configured for the bot.</p>
235    pub fn set_nlu_intent_confidence_threshold(mut self, input: ::std::option::Option<f64>) -> Self {
236        self.nlu_intent_confidence_threshold = input;
237        self
238    }
239    /// <p>The score that determines where Amazon Lex inserts the <code>AMAZON.FallbackIntent</code>, <code>AMAZON.KendraSearchIntent</code>, or both when returning alternative intents in a <a href="https://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostContent.html">PostContent</a> or <a href="https://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostText.html">PostText</a> response. <code>AMAZON.FallbackIntent</code> is inserted if the confidence score for all intents is below this value. <code>AMAZON.KendraSearchIntent</code> is only inserted if it is configured for the bot.</p>
240    pub fn get_nlu_intent_confidence_threshold(&self) -> &::std::option::Option<f64> {
241        &self.nlu_intent_confidence_threshold
242    }
243    /// <p>The message Amazon Lex uses when it doesn't understand the user's request. For more information, see <code>PutBot</code>.</p>
244    pub fn clarification_prompt(mut self, input: crate::types::Prompt) -> Self {
245        self.clarification_prompt = ::std::option::Option::Some(input);
246        self
247    }
248    /// <p>The message Amazon Lex uses when it doesn't understand the user's request. For more information, see <code>PutBot</code>.</p>
249    pub fn set_clarification_prompt(mut self, input: ::std::option::Option<crate::types::Prompt>) -> Self {
250        self.clarification_prompt = input;
251        self
252    }
253    /// <p>The message Amazon Lex uses when it doesn't understand the user's request. For more information, see <code>PutBot</code>.</p>
254    pub fn get_clarification_prompt(&self) -> &::std::option::Option<crate::types::Prompt> {
255        &self.clarification_prompt
256    }
257    /// <p>The message that Amazon Lex returns when the user elects to end the conversation without completing it. For more information, see <code>PutBot</code>.</p>
258    pub fn abort_statement(mut self, input: crate::types::Statement) -> Self {
259        self.abort_statement = ::std::option::Option::Some(input);
260        self
261    }
262    /// <p>The message that Amazon Lex returns when the user elects to end the conversation without completing it. For more information, see <code>PutBot</code>.</p>
263    pub fn set_abort_statement(mut self, input: ::std::option::Option<crate::types::Statement>) -> Self {
264        self.abort_statement = input;
265        self
266    }
267    /// <p>The message that Amazon Lex returns when the user elects to end the conversation without completing it. For more information, see <code>PutBot</code>.</p>
268    pub fn get_abort_statement(&self) -> &::std::option::Option<crate::types::Statement> {
269        &self.abort_statement
270    }
271    /// <p>The status of the bot.</p>
272    /// <p>When the status is <code>BUILDING</code> Amazon Lex is building the bot for testing and use.</p>
273    /// <p>If the status of the bot is <code>READY_BASIC_TESTING</code>, you can test the bot using the exact utterances specified in the bot's intents. When the bot is ready for full testing or to run, the status is <code>READY</code>.</p>
274    /// <p>If there was a problem with building the bot, the status is <code>FAILED</code> and the <code>failureReason</code> field explains why the bot did not build.</p>
275    /// <p>If the bot was saved but not built, the status is <code>NOT_BUILT</code>.</p>
276    pub fn status(mut self, input: crate::types::Status) -> Self {
277        self.status = ::std::option::Option::Some(input);
278        self
279    }
280    /// <p>The status of the bot.</p>
281    /// <p>When the status is <code>BUILDING</code> Amazon Lex is building the bot for testing and use.</p>
282    /// <p>If the status of the bot is <code>READY_BASIC_TESTING</code>, you can test the bot using the exact utterances specified in the bot's intents. When the bot is ready for full testing or to run, the status is <code>READY</code>.</p>
283    /// <p>If there was a problem with building the bot, the status is <code>FAILED</code> and the <code>failureReason</code> field explains why the bot did not build.</p>
284    /// <p>If the bot was saved but not built, the status is <code>NOT_BUILT</code>.</p>
285    pub fn set_status(mut self, input: ::std::option::Option<crate::types::Status>) -> Self {
286        self.status = input;
287        self
288    }
289    /// <p>The status of the bot.</p>
290    /// <p>When the status is <code>BUILDING</code> Amazon Lex is building the bot for testing and use.</p>
291    /// <p>If the status of the bot is <code>READY_BASIC_TESTING</code>, you can test the bot using the exact utterances specified in the bot's intents. When the bot is ready for full testing or to run, the status is <code>READY</code>.</p>
292    /// <p>If there was a problem with building the bot, the status is <code>FAILED</code> and the <code>failureReason</code> field explains why the bot did not build.</p>
293    /// <p>If the bot was saved but not built, the status is <code>NOT_BUILT</code>.</p>
294    pub fn get_status(&self) -> &::std::option::Option<crate::types::Status> {
295        &self.status
296    }
297    /// <p>If <code>status</code> is <code>FAILED</code>, Amazon Lex explains why it failed to build the bot.</p>
298    pub fn failure_reason(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
299        self.failure_reason = ::std::option::Option::Some(input.into());
300        self
301    }
302    /// <p>If <code>status</code> is <code>FAILED</code>, Amazon Lex explains why it failed to build the bot.</p>
303    pub fn set_failure_reason(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
304        self.failure_reason = input;
305        self
306    }
307    /// <p>If <code>status</code> is <code>FAILED</code>, Amazon Lex explains why it failed to build the bot.</p>
308    pub fn get_failure_reason(&self) -> &::std::option::Option<::std::string::String> {
309        &self.failure_reason
310    }
311    /// <p>The date that the bot was updated. When you create a resource, the creation date and last updated date are the same.</p>
312    pub fn last_updated_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
313        self.last_updated_date = ::std::option::Option::Some(input);
314        self
315    }
316    /// <p>The date that the bot was updated. When you create a resource, the creation date and last updated date are the same.</p>
317    pub fn set_last_updated_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
318        self.last_updated_date = input;
319        self
320    }
321    /// <p>The date that the bot was updated. When you create a resource, the creation date and last updated date are the same.</p>
322    pub fn get_last_updated_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
323        &self.last_updated_date
324    }
325    /// <p>The date that the bot was created.</p>
326    pub fn created_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
327        self.created_date = ::std::option::Option::Some(input);
328        self
329    }
330    /// <p>The date that the bot was created.</p>
331    pub fn set_created_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
332        self.created_date = input;
333        self
334    }
335    /// <p>The date that the bot was created.</p>
336    pub fn get_created_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
337        &self.created_date
338    }
339    /// <p>The maximum time in seconds that Amazon Lex retains the data gathered in a conversation. For more information, see <code>PutBot</code>.</p>
340    pub fn idle_session_ttl_in_seconds(mut self, input: i32) -> Self {
341        self.idle_session_ttl_in_seconds = ::std::option::Option::Some(input);
342        self
343    }
344    /// <p>The maximum time in seconds that Amazon Lex retains the data gathered in a conversation. For more information, see <code>PutBot</code>.</p>
345    pub fn set_idle_session_ttl_in_seconds(mut self, input: ::std::option::Option<i32>) -> Self {
346        self.idle_session_ttl_in_seconds = input;
347        self
348    }
349    /// <p>The maximum time in seconds that Amazon Lex retains the data gathered in a conversation. For more information, see <code>PutBot</code>.</p>
350    pub fn get_idle_session_ttl_in_seconds(&self) -> &::std::option::Option<i32> {
351        &self.idle_session_ttl_in_seconds
352    }
353    /// <p>The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user. For more information, see <code>PutBot</code>.</p>
354    pub fn voice_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
355        self.voice_id = ::std::option::Option::Some(input.into());
356        self
357    }
358    /// <p>The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user. For more information, see <code>PutBot</code>.</p>
359    pub fn set_voice_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
360        self.voice_id = input;
361        self
362    }
363    /// <p>The Amazon Polly voice ID that Amazon Lex uses for voice interaction with the user. For more information, see <code>PutBot</code>.</p>
364    pub fn get_voice_id(&self) -> &::std::option::Option<::std::string::String> {
365        &self.voice_id
366    }
367    /// <p>Checksum of the bot used to identify a specific revision of the bot's <code>$LATEST</code> version.</p>
368    pub fn checksum(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
369        self.checksum = ::std::option::Option::Some(input.into());
370        self
371    }
372    /// <p>Checksum of the bot used to identify a specific revision of the bot's <code>$LATEST</code> version.</p>
373    pub fn set_checksum(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
374        self.checksum = input;
375        self
376    }
377    /// <p>Checksum of the bot used to identify a specific revision of the bot's <code>$LATEST</code> version.</p>
378    pub fn get_checksum(&self) -> &::std::option::Option<::std::string::String> {
379        &self.checksum
380    }
381    /// <p>The version of the bot. For a new bot, the version is always <code>$LATEST</code>.</p>
382    pub fn version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
383        self.version = ::std::option::Option::Some(input.into());
384        self
385    }
386    /// <p>The version of the bot. For a new bot, the version is always <code>$LATEST</code>.</p>
387    pub fn set_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
388        self.version = input;
389        self
390    }
391    /// <p>The version of the bot. For a new bot, the version is always <code>$LATEST</code>.</p>
392    pub fn get_version(&self) -> &::std::option::Option<::std::string::String> {
393        &self.version
394    }
395    /// <p>The target locale for the bot.</p>
396    pub fn locale(mut self, input: crate::types::Locale) -> Self {
397        self.locale = ::std::option::Option::Some(input);
398        self
399    }
400    /// <p>The target locale for the bot.</p>
401    pub fn set_locale(mut self, input: ::std::option::Option<crate::types::Locale>) -> Self {
402        self.locale = input;
403        self
404    }
405    /// <p>The target locale for the bot.</p>
406    pub fn get_locale(&self) -> &::std::option::Option<crate::types::Locale> {
407        &self.locale
408    }
409    /// <p>For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying <code>true</code> or <code>false</code> in the <code>childDirected</code> field. By specifying <code>true</code> in the <code>childDirected</code> field, you confirm that your use of Amazon Lex <b>is</b> related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying <code>false</code> in the <code>childDirected</code> field, you confirm that your use of Amazon Lex <b>is not</b> related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the <code>childDirected</code> field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA.</p>
410    /// <p>If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the <a href="https://aws.amazon.com/lex/faqs#data-security">Amazon Lex FAQ.</a></p>
411    pub fn child_directed(mut self, input: bool) -> Self {
412        self.child_directed = ::std::option::Option::Some(input);
413        self
414    }
415    /// <p>For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying <code>true</code> or <code>false</code> in the <code>childDirected</code> field. By specifying <code>true</code> in the <code>childDirected</code> field, you confirm that your use of Amazon Lex <b>is</b> related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying <code>false</code> in the <code>childDirected</code> field, you confirm that your use of Amazon Lex <b>is not</b> related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the <code>childDirected</code> field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA.</p>
416    /// <p>If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the <a href="https://aws.amazon.com/lex/faqs#data-security">Amazon Lex FAQ.</a></p>
417    pub fn set_child_directed(mut self, input: ::std::option::Option<bool>) -> Self {
418        self.child_directed = input;
419        self
420    }
421    /// <p>For each Amazon Lex bot created with the Amazon Lex Model Building Service, you must specify whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to the Children's Online Privacy Protection Act (COPPA) by specifying <code>true</code> or <code>false</code> in the <code>childDirected</code> field. By specifying <code>true</code> in the <code>childDirected</code> field, you confirm that your use of Amazon Lex <b>is</b> related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. By specifying <code>false</code> in the <code>childDirected</code> field, you confirm that your use of Amazon Lex <b>is not</b> related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA. You may not specify a default value for the <code>childDirected</code> field that does not accurately reflect whether your use of Amazon Lex is related to a website, program, or other application that is directed or targeted, in whole or in part, to children under age 13 and subject to COPPA.</p>
422    /// <p>If your use of Amazon Lex relates to a website, program, or other application that is directed in whole or in part, to children under age 13, you must obtain any required verifiable parental consent under COPPA. For information regarding the use of Amazon Lex in connection with websites, programs, or other applications that are directed or targeted, in whole or in part, to children under age 13, see the <a href="https://aws.amazon.com/lex/faqs#data-security">Amazon Lex FAQ.</a></p>
423    pub fn get_child_directed(&self) -> &::std::option::Option<bool> {
424        &self.child_directed
425    }
426    /// <p>Indicates whether user utterances should be sent to Amazon Comprehend for sentiment analysis.</p>
427    pub fn detect_sentiment(mut self, input: bool) -> Self {
428        self.detect_sentiment = ::std::option::Option::Some(input);
429        self
430    }
431    /// <p>Indicates whether user utterances should be sent to Amazon Comprehend for sentiment analysis.</p>
432    pub fn set_detect_sentiment(mut self, input: ::std::option::Option<bool>) -> Self {
433        self.detect_sentiment = input;
434        self
435    }
436    /// <p>Indicates whether user utterances should be sent to Amazon Comprehend for sentiment analysis.</p>
437    pub fn get_detect_sentiment(&self) -> &::std::option::Option<bool> {
438        &self.detect_sentiment
439    }
440    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
441        self._request_id = Some(request_id.into());
442        self
443    }
444
445    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
446        self._request_id = request_id;
447        self
448    }
449    /// Consumes the builder and constructs a [`GetBotOutput`](crate::operation::get_bot::GetBotOutput).
450    pub fn build(self) -> crate::operation::get_bot::GetBotOutput {
451        crate::operation::get_bot::GetBotOutput {
452            name: self.name,
453            description: self.description,
454            intents: self.intents,
455            enable_model_improvements: self.enable_model_improvements,
456            nlu_intent_confidence_threshold: self.nlu_intent_confidence_threshold,
457            clarification_prompt: self.clarification_prompt,
458            abort_statement: self.abort_statement,
459            status: self.status,
460            failure_reason: self.failure_reason,
461            last_updated_date: self.last_updated_date,
462            created_date: self.created_date,
463            idle_session_ttl_in_seconds: self.idle_session_ttl_in_seconds,
464            voice_id: self.voice_id,
465            checksum: self.checksum,
466            version: self.version,
467            locale: self.locale,
468            child_directed: self.child_directed,
469            detect_sentiment: self.detect_sentiment,
470            _request_id: self._request_id,
471        }
472    }
473}