aws_sdk_lexruntime/operation/put_session/
_put_session_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)]
5pub struct PutSessionInput {
6    /// <p>The name of the bot that contains the session data.</p>
7    pub bot_name: ::std::option::Option<::std::string::String>,
8    /// <p>The alias in use for the bot that contains the session data.</p>
9    pub bot_alias: ::std::option::Option<::std::string::String>,
10    /// <p>The ID of the client application user. Amazon Lex uses this to identify a user's conversation with your bot.</p>
11    pub user_id: ::std::option::Option<::std::string::String>,
12    /// <p>Map of key/value pairs representing the session-specific context information. It contains application information passed between Amazon Lex and a client application.</p>
13    pub session_attributes: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
14    /// <p>Sets the next action that the bot should take to fulfill the conversation.</p>
15    pub dialog_action: ::std::option::Option<crate::types::DialogAction>,
16    /// <p>A summary of the recent intents for the bot. You can use the intent summary view to set a checkpoint label on an intent and modify attributes of intents. You can also use it to remove or add intent summary objects to the list.</p>
17    /// <p>An intent that you modify or add to the list must make sense for the bot. For example, the intent name must be valid for the bot. You must provide valid values for:</p>
18    /// <ul>
19    /// <li>
20    /// <p><code>intentName</code></p></li>
21    /// <li>
22    /// <p>slot names</p></li>
23    /// <li>
24    /// <p><code>slotToElict</code></p></li>
25    /// </ul>
26    /// <p>If you send the <code>recentIntentSummaryView</code> parameter in a <code>PutSession</code> request, the contents of the new summary view replaces the old summary view. For example, if a <code>GetSession</code> request returns three intents in the summary view and you call <code>PutSession</code> with one intent in the summary view, the next call to <code>GetSession</code> will only return one intent.</p>
27    pub recent_intent_summary_view: ::std::option::Option<::std::vec::Vec<crate::types::IntentSummary>>,
28    /// <p>The message that Amazon Lex returns in the response can be either text or speech based depending on the value of this field.</p>
29    /// <ul>
30    /// <li>
31    /// <p>If the value is <code>text/plain; charset=utf-8</code>, Amazon Lex returns text in the response.</p></li>
32    /// <li>
33    /// <p>If the value begins with <code>audio/</code>, Amazon Lex returns speech in the response. Amazon Lex uses Amazon Polly to generate the speech in the configuration that you specify. For example, if you specify <code>audio/mpeg</code> as the value, Amazon Lex returns speech in the MPEG format.</p></li>
34    /// <li>
35    /// <p>If the value is <code>audio/pcm</code>, the speech is returned as <code>audio/pcm</code> in 16-bit, little endian format.</p></li>
36    /// <li>
37    /// <p>The following are the accepted values:</p>
38    /// <ul>
39    /// <li>
40    /// <p><code>audio/mpeg</code></p></li>
41    /// <li>
42    /// <p><code>audio/ogg</code></p></li>
43    /// <li>
44    /// <p><code>audio/pcm</code></p></li>
45    /// <li>
46    /// <p><code>audio/*</code> (defaults to mpeg)</p></li>
47    /// <li>
48    /// <p><code>text/plain; charset=utf-8</code></p></li>
49    /// </ul></li>
50    /// </ul>
51    pub accept: ::std::option::Option<::std::string::String>,
52    /// <p>A list of contexts active for the request. A context can be activated when a previous intent is fulfilled, or by including the context in the request,</p>
53    /// <p>If you don't specify a list of contexts, Amazon Lex will use the current list of contexts for the session. If you specify an empty list, all contexts for the session are cleared.</p>
54    pub active_contexts: ::std::option::Option<::std::vec::Vec<crate::types::ActiveContext>>,
55}
56impl PutSessionInput {
57    /// <p>The name of the bot that contains the session data.</p>
58    pub fn bot_name(&self) -> ::std::option::Option<&str> {
59        self.bot_name.as_deref()
60    }
61    /// <p>The alias in use for the bot that contains the session data.</p>
62    pub fn bot_alias(&self) -> ::std::option::Option<&str> {
63        self.bot_alias.as_deref()
64    }
65    /// <p>The ID of the client application user. Amazon Lex uses this to identify a user's conversation with your bot.</p>
66    pub fn user_id(&self) -> ::std::option::Option<&str> {
67        self.user_id.as_deref()
68    }
69    /// <p>Map of key/value pairs representing the session-specific context information. It contains application information passed between Amazon Lex and a client application.</p>
70    pub fn session_attributes(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
71        self.session_attributes.as_ref()
72    }
73    /// <p>Sets the next action that the bot should take to fulfill the conversation.</p>
74    pub fn dialog_action(&self) -> ::std::option::Option<&crate::types::DialogAction> {
75        self.dialog_action.as_ref()
76    }
77    /// <p>A summary of the recent intents for the bot. You can use the intent summary view to set a checkpoint label on an intent and modify attributes of intents. You can also use it to remove or add intent summary objects to the list.</p>
78    /// <p>An intent that you modify or add to the list must make sense for the bot. For example, the intent name must be valid for the bot. You must provide valid values for:</p>
79    /// <ul>
80    /// <li>
81    /// <p><code>intentName</code></p></li>
82    /// <li>
83    /// <p>slot names</p></li>
84    /// <li>
85    /// <p><code>slotToElict</code></p></li>
86    /// </ul>
87    /// <p>If you send the <code>recentIntentSummaryView</code> parameter in a <code>PutSession</code> request, the contents of the new summary view replaces the old summary view. For example, if a <code>GetSession</code> request returns three intents in the summary view and you call <code>PutSession</code> with one intent in the summary view, the next call to <code>GetSession</code> will only return one intent.</p>
88    ///
89    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.recent_intent_summary_view.is_none()`.
90    pub fn recent_intent_summary_view(&self) -> &[crate::types::IntentSummary] {
91        self.recent_intent_summary_view.as_deref().unwrap_or_default()
92    }
93    /// <p>The message that Amazon Lex returns in the response can be either text or speech based depending on the value of this field.</p>
94    /// <ul>
95    /// <li>
96    /// <p>If the value is <code>text/plain; charset=utf-8</code>, Amazon Lex returns text in the response.</p></li>
97    /// <li>
98    /// <p>If the value begins with <code>audio/</code>, Amazon Lex returns speech in the response. Amazon Lex uses Amazon Polly to generate the speech in the configuration that you specify. For example, if you specify <code>audio/mpeg</code> as the value, Amazon Lex returns speech in the MPEG format.</p></li>
99    /// <li>
100    /// <p>If the value is <code>audio/pcm</code>, the speech is returned as <code>audio/pcm</code> in 16-bit, little endian format.</p></li>
101    /// <li>
102    /// <p>The following are the accepted values:</p>
103    /// <ul>
104    /// <li>
105    /// <p><code>audio/mpeg</code></p></li>
106    /// <li>
107    /// <p><code>audio/ogg</code></p></li>
108    /// <li>
109    /// <p><code>audio/pcm</code></p></li>
110    /// <li>
111    /// <p><code>audio/*</code> (defaults to mpeg)</p></li>
112    /// <li>
113    /// <p><code>text/plain; charset=utf-8</code></p></li>
114    /// </ul></li>
115    /// </ul>
116    pub fn accept(&self) -> ::std::option::Option<&str> {
117        self.accept.as_deref()
118    }
119    /// <p>A list of contexts active for the request. A context can be activated when a previous intent is fulfilled, or by including the context in the request,</p>
120    /// <p>If you don't specify a list of contexts, Amazon Lex will use the current list of contexts for the session. If you specify an empty list, all contexts for the session are cleared.</p>
121    ///
122    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.active_contexts.is_none()`.
123    pub fn active_contexts(&self) -> &[crate::types::ActiveContext] {
124        self.active_contexts.as_deref().unwrap_or_default()
125    }
126}
127impl ::std::fmt::Debug for PutSessionInput {
128    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
129        let mut formatter = f.debug_struct("PutSessionInput");
130        formatter.field("bot_name", &self.bot_name);
131        formatter.field("bot_alias", &self.bot_alias);
132        formatter.field("user_id", &self.user_id);
133        formatter.field("session_attributes", &"*** Sensitive Data Redacted ***");
134        formatter.field("dialog_action", &self.dialog_action);
135        formatter.field("recent_intent_summary_view", &self.recent_intent_summary_view);
136        formatter.field("accept", &self.accept);
137        formatter.field("active_contexts", &"*** Sensitive Data Redacted ***");
138        formatter.finish()
139    }
140}
141impl PutSessionInput {
142    /// Creates a new builder-style object to manufacture [`PutSessionInput`](crate::operation::put_session::PutSessionInput).
143    pub fn builder() -> crate::operation::put_session::builders::PutSessionInputBuilder {
144        crate::operation::put_session::builders::PutSessionInputBuilder::default()
145    }
146}
147
148/// A builder for [`PutSessionInput`](crate::operation::put_session::PutSessionInput).
149#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
150#[non_exhaustive]
151pub struct PutSessionInputBuilder {
152    pub(crate) bot_name: ::std::option::Option<::std::string::String>,
153    pub(crate) bot_alias: ::std::option::Option<::std::string::String>,
154    pub(crate) user_id: ::std::option::Option<::std::string::String>,
155    pub(crate) session_attributes: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
156    pub(crate) dialog_action: ::std::option::Option<crate::types::DialogAction>,
157    pub(crate) recent_intent_summary_view: ::std::option::Option<::std::vec::Vec<crate::types::IntentSummary>>,
158    pub(crate) accept: ::std::option::Option<::std::string::String>,
159    pub(crate) active_contexts: ::std::option::Option<::std::vec::Vec<crate::types::ActiveContext>>,
160}
161impl PutSessionInputBuilder {
162    /// <p>The name of the bot that contains the session data.</p>
163    /// This field is required.
164    pub fn bot_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
165        self.bot_name = ::std::option::Option::Some(input.into());
166        self
167    }
168    /// <p>The name of the bot that contains the session data.</p>
169    pub fn set_bot_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
170        self.bot_name = input;
171        self
172    }
173    /// <p>The name of the bot that contains the session data.</p>
174    pub fn get_bot_name(&self) -> &::std::option::Option<::std::string::String> {
175        &self.bot_name
176    }
177    /// <p>The alias in use for the bot that contains the session data.</p>
178    /// This field is required.
179    pub fn bot_alias(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
180        self.bot_alias = ::std::option::Option::Some(input.into());
181        self
182    }
183    /// <p>The alias in use for the bot that contains the session data.</p>
184    pub fn set_bot_alias(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
185        self.bot_alias = input;
186        self
187    }
188    /// <p>The alias in use for the bot that contains the session data.</p>
189    pub fn get_bot_alias(&self) -> &::std::option::Option<::std::string::String> {
190        &self.bot_alias
191    }
192    /// <p>The ID of the client application user. Amazon Lex uses this to identify a user's conversation with your bot.</p>
193    /// This field is required.
194    pub fn user_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
195        self.user_id = ::std::option::Option::Some(input.into());
196        self
197    }
198    /// <p>The ID of the client application user. Amazon Lex uses this to identify a user's conversation with your bot.</p>
199    pub fn set_user_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
200        self.user_id = input;
201        self
202    }
203    /// <p>The ID of the client application user. Amazon Lex uses this to identify a user's conversation with your bot.</p>
204    pub fn get_user_id(&self) -> &::std::option::Option<::std::string::String> {
205        &self.user_id
206    }
207    /// Adds a key-value pair to `session_attributes`.
208    ///
209    /// To override the contents of this collection use [`set_session_attributes`](Self::set_session_attributes).
210    ///
211    /// <p>Map of key/value pairs representing the session-specific context information. It contains application information passed between Amazon Lex and a client application.</p>
212    pub fn session_attributes(
213        mut self,
214        k: impl ::std::convert::Into<::std::string::String>,
215        v: impl ::std::convert::Into<::std::string::String>,
216    ) -> Self {
217        let mut hash_map = self.session_attributes.unwrap_or_default();
218        hash_map.insert(k.into(), v.into());
219        self.session_attributes = ::std::option::Option::Some(hash_map);
220        self
221    }
222    /// <p>Map of key/value pairs representing the session-specific context information. It contains application information passed between Amazon Lex and a client application.</p>
223    pub fn set_session_attributes(
224        mut self,
225        input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
226    ) -> Self {
227        self.session_attributes = input;
228        self
229    }
230    /// <p>Map of key/value pairs representing the session-specific context information. It contains application information passed between Amazon Lex and a client application.</p>
231    pub fn get_session_attributes(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
232        &self.session_attributes
233    }
234    /// <p>Sets the next action that the bot should take to fulfill the conversation.</p>
235    pub fn dialog_action(mut self, input: crate::types::DialogAction) -> Self {
236        self.dialog_action = ::std::option::Option::Some(input);
237        self
238    }
239    /// <p>Sets the next action that the bot should take to fulfill the conversation.</p>
240    pub fn set_dialog_action(mut self, input: ::std::option::Option<crate::types::DialogAction>) -> Self {
241        self.dialog_action = input;
242        self
243    }
244    /// <p>Sets the next action that the bot should take to fulfill the conversation.</p>
245    pub fn get_dialog_action(&self) -> &::std::option::Option<crate::types::DialogAction> {
246        &self.dialog_action
247    }
248    /// Appends an item to `recent_intent_summary_view`.
249    ///
250    /// To override the contents of this collection use [`set_recent_intent_summary_view`](Self::set_recent_intent_summary_view).
251    ///
252    /// <p>A summary of the recent intents for the bot. You can use the intent summary view to set a checkpoint label on an intent and modify attributes of intents. You can also use it to remove or add intent summary objects to the list.</p>
253    /// <p>An intent that you modify or add to the list must make sense for the bot. For example, the intent name must be valid for the bot. You must provide valid values for:</p>
254    /// <ul>
255    /// <li>
256    /// <p><code>intentName</code></p></li>
257    /// <li>
258    /// <p>slot names</p></li>
259    /// <li>
260    /// <p><code>slotToElict</code></p></li>
261    /// </ul>
262    /// <p>If you send the <code>recentIntentSummaryView</code> parameter in a <code>PutSession</code> request, the contents of the new summary view replaces the old summary view. For example, if a <code>GetSession</code> request returns three intents in the summary view and you call <code>PutSession</code> with one intent in the summary view, the next call to <code>GetSession</code> will only return one intent.</p>
263    pub fn recent_intent_summary_view(mut self, input: crate::types::IntentSummary) -> Self {
264        let mut v = self.recent_intent_summary_view.unwrap_or_default();
265        v.push(input);
266        self.recent_intent_summary_view = ::std::option::Option::Some(v);
267        self
268    }
269    /// <p>A summary of the recent intents for the bot. You can use the intent summary view to set a checkpoint label on an intent and modify attributes of intents. You can also use it to remove or add intent summary objects to the list.</p>
270    /// <p>An intent that you modify or add to the list must make sense for the bot. For example, the intent name must be valid for the bot. You must provide valid values for:</p>
271    /// <ul>
272    /// <li>
273    /// <p><code>intentName</code></p></li>
274    /// <li>
275    /// <p>slot names</p></li>
276    /// <li>
277    /// <p><code>slotToElict</code></p></li>
278    /// </ul>
279    /// <p>If you send the <code>recentIntentSummaryView</code> parameter in a <code>PutSession</code> request, the contents of the new summary view replaces the old summary view. For example, if a <code>GetSession</code> request returns three intents in the summary view and you call <code>PutSession</code> with one intent in the summary view, the next call to <code>GetSession</code> will only return one intent.</p>
280    pub fn set_recent_intent_summary_view(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::IntentSummary>>) -> Self {
281        self.recent_intent_summary_view = input;
282        self
283    }
284    /// <p>A summary of the recent intents for the bot. You can use the intent summary view to set a checkpoint label on an intent and modify attributes of intents. You can also use it to remove or add intent summary objects to the list.</p>
285    /// <p>An intent that you modify or add to the list must make sense for the bot. For example, the intent name must be valid for the bot. You must provide valid values for:</p>
286    /// <ul>
287    /// <li>
288    /// <p><code>intentName</code></p></li>
289    /// <li>
290    /// <p>slot names</p></li>
291    /// <li>
292    /// <p><code>slotToElict</code></p></li>
293    /// </ul>
294    /// <p>If you send the <code>recentIntentSummaryView</code> parameter in a <code>PutSession</code> request, the contents of the new summary view replaces the old summary view. For example, if a <code>GetSession</code> request returns three intents in the summary view and you call <code>PutSession</code> with one intent in the summary view, the next call to <code>GetSession</code> will only return one intent.</p>
295    pub fn get_recent_intent_summary_view(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::IntentSummary>> {
296        &self.recent_intent_summary_view
297    }
298    /// <p>The message that Amazon Lex returns in the response can be either text or speech based depending on the value of this field.</p>
299    /// <ul>
300    /// <li>
301    /// <p>If the value is <code>text/plain; charset=utf-8</code>, Amazon Lex returns text in the response.</p></li>
302    /// <li>
303    /// <p>If the value begins with <code>audio/</code>, Amazon Lex returns speech in the response. Amazon Lex uses Amazon Polly to generate the speech in the configuration that you specify. For example, if you specify <code>audio/mpeg</code> as the value, Amazon Lex returns speech in the MPEG format.</p></li>
304    /// <li>
305    /// <p>If the value is <code>audio/pcm</code>, the speech is returned as <code>audio/pcm</code> in 16-bit, little endian format.</p></li>
306    /// <li>
307    /// <p>The following are the accepted values:</p>
308    /// <ul>
309    /// <li>
310    /// <p><code>audio/mpeg</code></p></li>
311    /// <li>
312    /// <p><code>audio/ogg</code></p></li>
313    /// <li>
314    /// <p><code>audio/pcm</code></p></li>
315    /// <li>
316    /// <p><code>audio/*</code> (defaults to mpeg)</p></li>
317    /// <li>
318    /// <p><code>text/plain; charset=utf-8</code></p></li>
319    /// </ul></li>
320    /// </ul>
321    pub fn accept(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
322        self.accept = ::std::option::Option::Some(input.into());
323        self
324    }
325    /// <p>The message that Amazon Lex returns in the response can be either text or speech based depending on the value of this field.</p>
326    /// <ul>
327    /// <li>
328    /// <p>If the value is <code>text/plain; charset=utf-8</code>, Amazon Lex returns text in the response.</p></li>
329    /// <li>
330    /// <p>If the value begins with <code>audio/</code>, Amazon Lex returns speech in the response. Amazon Lex uses Amazon Polly to generate the speech in the configuration that you specify. For example, if you specify <code>audio/mpeg</code> as the value, Amazon Lex returns speech in the MPEG format.</p></li>
331    /// <li>
332    /// <p>If the value is <code>audio/pcm</code>, the speech is returned as <code>audio/pcm</code> in 16-bit, little endian format.</p></li>
333    /// <li>
334    /// <p>The following are the accepted values:</p>
335    /// <ul>
336    /// <li>
337    /// <p><code>audio/mpeg</code></p></li>
338    /// <li>
339    /// <p><code>audio/ogg</code></p></li>
340    /// <li>
341    /// <p><code>audio/pcm</code></p></li>
342    /// <li>
343    /// <p><code>audio/*</code> (defaults to mpeg)</p></li>
344    /// <li>
345    /// <p><code>text/plain; charset=utf-8</code></p></li>
346    /// </ul></li>
347    /// </ul>
348    pub fn set_accept(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
349        self.accept = input;
350        self
351    }
352    /// <p>The message that Amazon Lex returns in the response can be either text or speech based depending on the value of this field.</p>
353    /// <ul>
354    /// <li>
355    /// <p>If the value is <code>text/plain; charset=utf-8</code>, Amazon Lex returns text in the response.</p></li>
356    /// <li>
357    /// <p>If the value begins with <code>audio/</code>, Amazon Lex returns speech in the response. Amazon Lex uses Amazon Polly to generate the speech in the configuration that you specify. For example, if you specify <code>audio/mpeg</code> as the value, Amazon Lex returns speech in the MPEG format.</p></li>
358    /// <li>
359    /// <p>If the value is <code>audio/pcm</code>, the speech is returned as <code>audio/pcm</code> in 16-bit, little endian format.</p></li>
360    /// <li>
361    /// <p>The following are the accepted values:</p>
362    /// <ul>
363    /// <li>
364    /// <p><code>audio/mpeg</code></p></li>
365    /// <li>
366    /// <p><code>audio/ogg</code></p></li>
367    /// <li>
368    /// <p><code>audio/pcm</code></p></li>
369    /// <li>
370    /// <p><code>audio/*</code> (defaults to mpeg)</p></li>
371    /// <li>
372    /// <p><code>text/plain; charset=utf-8</code></p></li>
373    /// </ul></li>
374    /// </ul>
375    pub fn get_accept(&self) -> &::std::option::Option<::std::string::String> {
376        &self.accept
377    }
378    /// Appends an item to `active_contexts`.
379    ///
380    /// To override the contents of this collection use [`set_active_contexts`](Self::set_active_contexts).
381    ///
382    /// <p>A list of contexts active for the request. A context can be activated when a previous intent is fulfilled, or by including the context in the request,</p>
383    /// <p>If you don't specify a list of contexts, Amazon Lex will use the current list of contexts for the session. If you specify an empty list, all contexts for the session are cleared.</p>
384    pub fn active_contexts(mut self, input: crate::types::ActiveContext) -> Self {
385        let mut v = self.active_contexts.unwrap_or_default();
386        v.push(input);
387        self.active_contexts = ::std::option::Option::Some(v);
388        self
389    }
390    /// <p>A list of contexts active for the request. A context can be activated when a previous intent is fulfilled, or by including the context in the request,</p>
391    /// <p>If you don't specify a list of contexts, Amazon Lex will use the current list of contexts for the session. If you specify an empty list, all contexts for the session are cleared.</p>
392    pub fn set_active_contexts(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ActiveContext>>) -> Self {
393        self.active_contexts = input;
394        self
395    }
396    /// <p>A list of contexts active for the request. A context can be activated when a previous intent is fulfilled, or by including the context in the request,</p>
397    /// <p>If you don't specify a list of contexts, Amazon Lex will use the current list of contexts for the session. If you specify an empty list, all contexts for the session are cleared.</p>
398    pub fn get_active_contexts(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ActiveContext>> {
399        &self.active_contexts
400    }
401    /// Consumes the builder and constructs a [`PutSessionInput`](crate::operation::put_session::PutSessionInput).
402    pub fn build(self) -> ::std::result::Result<crate::operation::put_session::PutSessionInput, ::aws_smithy_types::error::operation::BuildError> {
403        ::std::result::Result::Ok(crate::operation::put_session::PutSessionInput {
404            bot_name: self.bot_name,
405            bot_alias: self.bot_alias,
406            user_id: self.user_id,
407            session_attributes: self.session_attributes,
408            dialog_action: self.dialog_action,
409            recent_intent_summary_view: self.recent_intent_summary_view,
410            accept: self.accept,
411            active_contexts: self.active_contexts,
412        })
413    }
414}
415impl ::std::fmt::Debug for PutSessionInputBuilder {
416    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
417        let mut formatter = f.debug_struct("PutSessionInputBuilder");
418        formatter.field("bot_name", &self.bot_name);
419        formatter.field("bot_alias", &self.bot_alias);
420        formatter.field("user_id", &self.user_id);
421        formatter.field("session_attributes", &"*** Sensitive Data Redacted ***");
422        formatter.field("dialog_action", &self.dialog_action);
423        formatter.field("recent_intent_summary_view", &self.recent_intent_summary_view);
424        formatter.field("accept", &self.accept);
425        formatter.field("active_contexts", &"*** Sensitive Data Redacted ***");
426        formatter.finish()
427    }
428}