aws_sdk_lexruntimev2/operation/recognize_utterance/_recognize_utterance_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]
4pub struct RecognizeUtteranceInput {
5 /// <p>The identifier of the bot that should receive the request.</p>
6 pub bot_id: ::std::option::Option<::std::string::String>,
7 /// <p>The alias identifier in use for the bot that should receive the request.</p>
8 pub bot_alias_id: ::std::option::Option<::std::string::String>,
9 /// <p>The locale where the session is in use.</p>
10 pub locale_id: ::std::option::Option<::std::string::String>,
11 /// <p>The identifier of the session in use.</p>
12 pub session_id: ::std::option::Option<::std::string::String>,
13 /// <p>Sets the state of the session with the user. You can use this to set the current intent, attributes, context, and dialog action. Use the dialog action to determine the next step that Amazon Lex V2 should use in the conversation with the user.</p>
14 /// <p>The <code>sessionState</code> field must be compressed using gzip and then base64 encoded before sending to Amazon Lex V2.</p>
15 pub session_state: ::std::option::Option<::std::string::String>,
16 /// <p>Request-specific information passed between the client application and Amazon Lex V2</p>
17 /// <p>The namespace <code>x-amz-lex:</code> is reserved for special attributes. Don't create any request attributes for prefix <code>x-amz-lex:</code>.</p>
18 /// <p>The <code>requestAttributes</code> field must be compressed using gzip and then base64 encoded before sending to Amazon Lex V2.</p>
19 pub request_attributes: ::std::option::Option<::std::string::String>,
20 /// <p>Indicates the format for audio input or that the content is text. The header must start with one of the following prefixes:</p>
21 /// <ul>
22 /// <li>
23 /// <p>PCM format, audio data must be in little-endian byte order.</p>
24 /// <ul>
25 /// <li>
26 /// <p>audio/l16; rate=16000; channels=1</p></li>
27 /// <li>
28 /// <p>audio/x-l16; sample-rate=16000; channel-count=1</p></li>
29 /// <li>
30 /// <p>audio/lpcm; sample-rate=8000; sample-size-bits=16; channel-count=1; is-big-endian=false</p></li>
31 /// </ul></li>
32 /// <li>
33 /// <p>Opus format</p>
34 /// <ul>
35 /// <li>
36 /// <p>audio/x-cbr-opus-with-preamble;preamble-size=0;bit-rate=256000;frame-size-milliseconds=4</p></li>
37 /// </ul></li>
38 /// <li>
39 /// <p>Text format</p>
40 /// <ul>
41 /// <li>
42 /// <p>text/plain; charset=utf-8</p></li>
43 /// </ul></li>
44 /// </ul>
45 pub request_content_type: ::std::option::Option<::std::string::String>,
46 /// <p>The message that Amazon Lex V2 returns in the response can be either text or speech based on the <code>responseContentType</code> value.</p>
47 /// <ul>
48 /// <li>
49 /// <p>If the value is <code>text/plain;charset=utf-8</code>, Amazon Lex V2 returns text in the response.</p></li>
50 /// <li>
51 /// <p>If the value begins with <code>audio/</code>, Amazon Lex V2 returns speech in the response. Amazon Lex V2 uses Amazon Polly to generate the speech using the configuration that you specified in the <code>responseContentType</code> parameter. For example, if you specify <code>audio/mpeg</code> as the value, Amazon Lex V2 returns speech in the MPEG format.</p></li>
52 /// <li>
53 /// <p>If the value is <code>audio/pcm</code>, the speech returned is <code>audio/pcm</code> at 16 KHz in 16-bit, little-endian format.</p></li>
54 /// <li>
55 /// <p>The following are the accepted values:</p>
56 /// <ul>
57 /// <li>
58 /// <p>audio/mpeg</p></li>
59 /// <li>
60 /// <p>audio/ogg</p></li>
61 /// <li>
62 /// <p>audio/pcm (16 KHz)</p></li>
63 /// <li>
64 /// <p>audio/* (defaults to mpeg)</p></li>
65 /// <li>
66 /// <p>text/plain; charset=utf-8</p></li>
67 /// </ul></li>
68 /// </ul>
69 pub response_content_type: ::std::option::Option<::std::string::String>,
70 /// <p>User input in PCM or Opus audio format or text format as described in the <code>requestContentType</code> parameter.</p>
71 pub input_stream: ::aws_smithy_types::byte_stream::ByteStream,
72}
73impl RecognizeUtteranceInput {
74 /// <p>The identifier of the bot that should receive the request.</p>
75 pub fn bot_id(&self) -> ::std::option::Option<&str> {
76 self.bot_id.as_deref()
77 }
78 /// <p>The alias identifier in use for the bot that should receive the request.</p>
79 pub fn bot_alias_id(&self) -> ::std::option::Option<&str> {
80 self.bot_alias_id.as_deref()
81 }
82 /// <p>The locale where the session is in use.</p>
83 pub fn locale_id(&self) -> ::std::option::Option<&str> {
84 self.locale_id.as_deref()
85 }
86 /// <p>The identifier of the session in use.</p>
87 pub fn session_id(&self) -> ::std::option::Option<&str> {
88 self.session_id.as_deref()
89 }
90 /// <p>Sets the state of the session with the user. You can use this to set the current intent, attributes, context, and dialog action. Use the dialog action to determine the next step that Amazon Lex V2 should use in the conversation with the user.</p>
91 /// <p>The <code>sessionState</code> field must be compressed using gzip and then base64 encoded before sending to Amazon Lex V2.</p>
92 pub fn session_state(&self) -> ::std::option::Option<&str> {
93 self.session_state.as_deref()
94 }
95 /// <p>Request-specific information passed between the client application and Amazon Lex V2</p>
96 /// <p>The namespace <code>x-amz-lex:</code> is reserved for special attributes. Don't create any request attributes for prefix <code>x-amz-lex:</code>.</p>
97 /// <p>The <code>requestAttributes</code> field must be compressed using gzip and then base64 encoded before sending to Amazon Lex V2.</p>
98 pub fn request_attributes(&self) -> ::std::option::Option<&str> {
99 self.request_attributes.as_deref()
100 }
101 /// <p>Indicates the format for audio input or that the content is text. The header must start with one of the following prefixes:</p>
102 /// <ul>
103 /// <li>
104 /// <p>PCM format, audio data must be in little-endian byte order.</p>
105 /// <ul>
106 /// <li>
107 /// <p>audio/l16; rate=16000; channels=1</p></li>
108 /// <li>
109 /// <p>audio/x-l16; sample-rate=16000; channel-count=1</p></li>
110 /// <li>
111 /// <p>audio/lpcm; sample-rate=8000; sample-size-bits=16; channel-count=1; is-big-endian=false</p></li>
112 /// </ul></li>
113 /// <li>
114 /// <p>Opus format</p>
115 /// <ul>
116 /// <li>
117 /// <p>audio/x-cbr-opus-with-preamble;preamble-size=0;bit-rate=256000;frame-size-milliseconds=4</p></li>
118 /// </ul></li>
119 /// <li>
120 /// <p>Text format</p>
121 /// <ul>
122 /// <li>
123 /// <p>text/plain; charset=utf-8</p></li>
124 /// </ul></li>
125 /// </ul>
126 pub fn request_content_type(&self) -> ::std::option::Option<&str> {
127 self.request_content_type.as_deref()
128 }
129 /// <p>The message that Amazon Lex V2 returns in the response can be either text or speech based on the <code>responseContentType</code> value.</p>
130 /// <ul>
131 /// <li>
132 /// <p>If the value is <code>text/plain;charset=utf-8</code>, Amazon Lex V2 returns text in the response.</p></li>
133 /// <li>
134 /// <p>If the value begins with <code>audio/</code>, Amazon Lex V2 returns speech in the response. Amazon Lex V2 uses Amazon Polly to generate the speech using the configuration that you specified in the <code>responseContentType</code> parameter. For example, if you specify <code>audio/mpeg</code> as the value, Amazon Lex V2 returns speech in the MPEG format.</p></li>
135 /// <li>
136 /// <p>If the value is <code>audio/pcm</code>, the speech returned is <code>audio/pcm</code> at 16 KHz in 16-bit, little-endian format.</p></li>
137 /// <li>
138 /// <p>The following are the accepted values:</p>
139 /// <ul>
140 /// <li>
141 /// <p>audio/mpeg</p></li>
142 /// <li>
143 /// <p>audio/ogg</p></li>
144 /// <li>
145 /// <p>audio/pcm (16 KHz)</p></li>
146 /// <li>
147 /// <p>audio/* (defaults to mpeg)</p></li>
148 /// <li>
149 /// <p>text/plain; charset=utf-8</p></li>
150 /// </ul></li>
151 /// </ul>
152 pub fn response_content_type(&self) -> ::std::option::Option<&str> {
153 self.response_content_type.as_deref()
154 }
155 /// <p>User input in PCM or Opus audio format or text format as described in the <code>requestContentType</code> parameter.</p>
156 pub fn input_stream(&self) -> &::aws_smithy_types::byte_stream::ByteStream {
157 &self.input_stream
158 }
159}
160impl ::std::fmt::Debug for RecognizeUtteranceInput {
161 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
162 let mut formatter = f.debug_struct("RecognizeUtteranceInput");
163 formatter.field("bot_id", &self.bot_id);
164 formatter.field("bot_alias_id", &self.bot_alias_id);
165 formatter.field("locale_id", &self.locale_id);
166 formatter.field("session_id", &self.session_id);
167 formatter.field("session_state", &"*** Sensitive Data Redacted ***");
168 formatter.field("request_attributes", &"*** Sensitive Data Redacted ***");
169 formatter.field("request_content_type", &self.request_content_type);
170 formatter.field("response_content_type", &self.response_content_type);
171 formatter.field("input_stream", &self.input_stream);
172 formatter.finish()
173 }
174}
175impl RecognizeUtteranceInput {
176 /// Creates a new builder-style object to manufacture [`RecognizeUtteranceInput`](crate::operation::recognize_utterance::RecognizeUtteranceInput).
177 pub fn builder() -> crate::operation::recognize_utterance::builders::RecognizeUtteranceInputBuilder {
178 crate::operation::recognize_utterance::builders::RecognizeUtteranceInputBuilder::default()
179 }
180}
181
182/// A builder for [`RecognizeUtteranceInput`](crate::operation::recognize_utterance::RecognizeUtteranceInput).
183#[derive(::std::default::Default)]
184#[non_exhaustive]
185pub struct RecognizeUtteranceInputBuilder {
186 pub(crate) bot_id: ::std::option::Option<::std::string::String>,
187 pub(crate) bot_alias_id: ::std::option::Option<::std::string::String>,
188 pub(crate) locale_id: ::std::option::Option<::std::string::String>,
189 pub(crate) session_id: ::std::option::Option<::std::string::String>,
190 pub(crate) session_state: ::std::option::Option<::std::string::String>,
191 pub(crate) request_attributes: ::std::option::Option<::std::string::String>,
192 pub(crate) request_content_type: ::std::option::Option<::std::string::String>,
193 pub(crate) response_content_type: ::std::option::Option<::std::string::String>,
194 pub(crate) input_stream: ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>,
195}
196impl RecognizeUtteranceInputBuilder {
197 /// <p>The identifier of the bot that should receive the request.</p>
198 /// This field is required.
199 pub fn bot_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
200 self.bot_id = ::std::option::Option::Some(input.into());
201 self
202 }
203 /// <p>The identifier of the bot that should receive the request.</p>
204 pub fn set_bot_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
205 self.bot_id = input;
206 self
207 }
208 /// <p>The identifier of the bot that should receive the request.</p>
209 pub fn get_bot_id(&self) -> &::std::option::Option<::std::string::String> {
210 &self.bot_id
211 }
212 /// <p>The alias identifier in use for the bot that should receive the request.</p>
213 /// This field is required.
214 pub fn bot_alias_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
215 self.bot_alias_id = ::std::option::Option::Some(input.into());
216 self
217 }
218 /// <p>The alias identifier in use for the bot that should receive the request.</p>
219 pub fn set_bot_alias_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
220 self.bot_alias_id = input;
221 self
222 }
223 /// <p>The alias identifier in use for the bot that should receive the request.</p>
224 pub fn get_bot_alias_id(&self) -> &::std::option::Option<::std::string::String> {
225 &self.bot_alias_id
226 }
227 /// <p>The locale where the session is in use.</p>
228 /// This field is required.
229 pub fn locale_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
230 self.locale_id = ::std::option::Option::Some(input.into());
231 self
232 }
233 /// <p>The locale where the session is in use.</p>
234 pub fn set_locale_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
235 self.locale_id = input;
236 self
237 }
238 /// <p>The locale where the session is in use.</p>
239 pub fn get_locale_id(&self) -> &::std::option::Option<::std::string::String> {
240 &self.locale_id
241 }
242 /// <p>The identifier of the session in use.</p>
243 /// This field is required.
244 pub fn session_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
245 self.session_id = ::std::option::Option::Some(input.into());
246 self
247 }
248 /// <p>The identifier of the session in use.</p>
249 pub fn set_session_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
250 self.session_id = input;
251 self
252 }
253 /// <p>The identifier of the session in use.</p>
254 pub fn get_session_id(&self) -> &::std::option::Option<::std::string::String> {
255 &self.session_id
256 }
257 /// <p>Sets the state of the session with the user. You can use this to set the current intent, attributes, context, and dialog action. Use the dialog action to determine the next step that Amazon Lex V2 should use in the conversation with the user.</p>
258 /// <p>The <code>sessionState</code> field must be compressed using gzip and then base64 encoded before sending to Amazon Lex V2.</p>
259 pub fn session_state(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
260 self.session_state = ::std::option::Option::Some(input.into());
261 self
262 }
263 /// <p>Sets the state of the session with the user. You can use this to set the current intent, attributes, context, and dialog action. Use the dialog action to determine the next step that Amazon Lex V2 should use in the conversation with the user.</p>
264 /// <p>The <code>sessionState</code> field must be compressed using gzip and then base64 encoded before sending to Amazon Lex V2.</p>
265 pub fn set_session_state(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
266 self.session_state = input;
267 self
268 }
269 /// <p>Sets the state of the session with the user. You can use this to set the current intent, attributes, context, and dialog action. Use the dialog action to determine the next step that Amazon Lex V2 should use in the conversation with the user.</p>
270 /// <p>The <code>sessionState</code> field must be compressed using gzip and then base64 encoded before sending to Amazon Lex V2.</p>
271 pub fn get_session_state(&self) -> &::std::option::Option<::std::string::String> {
272 &self.session_state
273 }
274 /// <p>Request-specific information passed between the client application and Amazon Lex V2</p>
275 /// <p>The namespace <code>x-amz-lex:</code> is reserved for special attributes. Don't create any request attributes for prefix <code>x-amz-lex:</code>.</p>
276 /// <p>The <code>requestAttributes</code> field must be compressed using gzip and then base64 encoded before sending to Amazon Lex V2.</p>
277 pub fn request_attributes(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
278 self.request_attributes = ::std::option::Option::Some(input.into());
279 self
280 }
281 /// <p>Request-specific information passed between the client application and Amazon Lex V2</p>
282 /// <p>The namespace <code>x-amz-lex:</code> is reserved for special attributes. Don't create any request attributes for prefix <code>x-amz-lex:</code>.</p>
283 /// <p>The <code>requestAttributes</code> field must be compressed using gzip and then base64 encoded before sending to Amazon Lex V2.</p>
284 pub fn set_request_attributes(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
285 self.request_attributes = input;
286 self
287 }
288 /// <p>Request-specific information passed between the client application and Amazon Lex V2</p>
289 /// <p>The namespace <code>x-amz-lex:</code> is reserved for special attributes. Don't create any request attributes for prefix <code>x-amz-lex:</code>.</p>
290 /// <p>The <code>requestAttributes</code> field must be compressed using gzip and then base64 encoded before sending to Amazon Lex V2.</p>
291 pub fn get_request_attributes(&self) -> &::std::option::Option<::std::string::String> {
292 &self.request_attributes
293 }
294 /// <p>Indicates the format for audio input or that the content is text. The header must start with one of the following prefixes:</p>
295 /// <ul>
296 /// <li>
297 /// <p>PCM format, audio data must be in little-endian byte order.</p>
298 /// <ul>
299 /// <li>
300 /// <p>audio/l16; rate=16000; channels=1</p></li>
301 /// <li>
302 /// <p>audio/x-l16; sample-rate=16000; channel-count=1</p></li>
303 /// <li>
304 /// <p>audio/lpcm; sample-rate=8000; sample-size-bits=16; channel-count=1; is-big-endian=false</p></li>
305 /// </ul></li>
306 /// <li>
307 /// <p>Opus format</p>
308 /// <ul>
309 /// <li>
310 /// <p>audio/x-cbr-opus-with-preamble;preamble-size=0;bit-rate=256000;frame-size-milliseconds=4</p></li>
311 /// </ul></li>
312 /// <li>
313 /// <p>Text format</p>
314 /// <ul>
315 /// <li>
316 /// <p>text/plain; charset=utf-8</p></li>
317 /// </ul></li>
318 /// </ul>
319 /// This field is required.
320 pub fn request_content_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
321 self.request_content_type = ::std::option::Option::Some(input.into());
322 self
323 }
324 /// <p>Indicates the format for audio input or that the content is text. The header must start with one of the following prefixes:</p>
325 /// <ul>
326 /// <li>
327 /// <p>PCM format, audio data must be in little-endian byte order.</p>
328 /// <ul>
329 /// <li>
330 /// <p>audio/l16; rate=16000; channels=1</p></li>
331 /// <li>
332 /// <p>audio/x-l16; sample-rate=16000; channel-count=1</p></li>
333 /// <li>
334 /// <p>audio/lpcm; sample-rate=8000; sample-size-bits=16; channel-count=1; is-big-endian=false</p></li>
335 /// </ul></li>
336 /// <li>
337 /// <p>Opus format</p>
338 /// <ul>
339 /// <li>
340 /// <p>audio/x-cbr-opus-with-preamble;preamble-size=0;bit-rate=256000;frame-size-milliseconds=4</p></li>
341 /// </ul></li>
342 /// <li>
343 /// <p>Text format</p>
344 /// <ul>
345 /// <li>
346 /// <p>text/plain; charset=utf-8</p></li>
347 /// </ul></li>
348 /// </ul>
349 pub fn set_request_content_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
350 self.request_content_type = input;
351 self
352 }
353 /// <p>Indicates the format for audio input or that the content is text. The header must start with one of the following prefixes:</p>
354 /// <ul>
355 /// <li>
356 /// <p>PCM format, audio data must be in little-endian byte order.</p>
357 /// <ul>
358 /// <li>
359 /// <p>audio/l16; rate=16000; channels=1</p></li>
360 /// <li>
361 /// <p>audio/x-l16; sample-rate=16000; channel-count=1</p></li>
362 /// <li>
363 /// <p>audio/lpcm; sample-rate=8000; sample-size-bits=16; channel-count=1; is-big-endian=false</p></li>
364 /// </ul></li>
365 /// <li>
366 /// <p>Opus format</p>
367 /// <ul>
368 /// <li>
369 /// <p>audio/x-cbr-opus-with-preamble;preamble-size=0;bit-rate=256000;frame-size-milliseconds=4</p></li>
370 /// </ul></li>
371 /// <li>
372 /// <p>Text format</p>
373 /// <ul>
374 /// <li>
375 /// <p>text/plain; charset=utf-8</p></li>
376 /// </ul></li>
377 /// </ul>
378 pub fn get_request_content_type(&self) -> &::std::option::Option<::std::string::String> {
379 &self.request_content_type
380 }
381 /// <p>The message that Amazon Lex V2 returns in the response can be either text or speech based on the <code>responseContentType</code> value.</p>
382 /// <ul>
383 /// <li>
384 /// <p>If the value is <code>text/plain;charset=utf-8</code>, Amazon Lex V2 returns text in the response.</p></li>
385 /// <li>
386 /// <p>If the value begins with <code>audio/</code>, Amazon Lex V2 returns speech in the response. Amazon Lex V2 uses Amazon Polly to generate the speech using the configuration that you specified in the <code>responseContentType</code> parameter. For example, if you specify <code>audio/mpeg</code> as the value, Amazon Lex V2 returns speech in the MPEG format.</p></li>
387 /// <li>
388 /// <p>If the value is <code>audio/pcm</code>, the speech returned is <code>audio/pcm</code> at 16 KHz in 16-bit, little-endian format.</p></li>
389 /// <li>
390 /// <p>The following are the accepted values:</p>
391 /// <ul>
392 /// <li>
393 /// <p>audio/mpeg</p></li>
394 /// <li>
395 /// <p>audio/ogg</p></li>
396 /// <li>
397 /// <p>audio/pcm (16 KHz)</p></li>
398 /// <li>
399 /// <p>audio/* (defaults to mpeg)</p></li>
400 /// <li>
401 /// <p>text/plain; charset=utf-8</p></li>
402 /// </ul></li>
403 /// </ul>
404 pub fn response_content_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
405 self.response_content_type = ::std::option::Option::Some(input.into());
406 self
407 }
408 /// <p>The message that Amazon Lex V2 returns in the response can be either text or speech based on the <code>responseContentType</code> value.</p>
409 /// <ul>
410 /// <li>
411 /// <p>If the value is <code>text/plain;charset=utf-8</code>, Amazon Lex V2 returns text in the response.</p></li>
412 /// <li>
413 /// <p>If the value begins with <code>audio/</code>, Amazon Lex V2 returns speech in the response. Amazon Lex V2 uses Amazon Polly to generate the speech using the configuration that you specified in the <code>responseContentType</code> parameter. For example, if you specify <code>audio/mpeg</code> as the value, Amazon Lex V2 returns speech in the MPEG format.</p></li>
414 /// <li>
415 /// <p>If the value is <code>audio/pcm</code>, the speech returned is <code>audio/pcm</code> at 16 KHz in 16-bit, little-endian format.</p></li>
416 /// <li>
417 /// <p>The following are the accepted values:</p>
418 /// <ul>
419 /// <li>
420 /// <p>audio/mpeg</p></li>
421 /// <li>
422 /// <p>audio/ogg</p></li>
423 /// <li>
424 /// <p>audio/pcm (16 KHz)</p></li>
425 /// <li>
426 /// <p>audio/* (defaults to mpeg)</p></li>
427 /// <li>
428 /// <p>text/plain; charset=utf-8</p></li>
429 /// </ul></li>
430 /// </ul>
431 pub fn set_response_content_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
432 self.response_content_type = input;
433 self
434 }
435 /// <p>The message that Amazon Lex V2 returns in the response can be either text or speech based on the <code>responseContentType</code> value.</p>
436 /// <ul>
437 /// <li>
438 /// <p>If the value is <code>text/plain;charset=utf-8</code>, Amazon Lex V2 returns text in the response.</p></li>
439 /// <li>
440 /// <p>If the value begins with <code>audio/</code>, Amazon Lex V2 returns speech in the response. Amazon Lex V2 uses Amazon Polly to generate the speech using the configuration that you specified in the <code>responseContentType</code> parameter. For example, if you specify <code>audio/mpeg</code> as the value, Amazon Lex V2 returns speech in the MPEG format.</p></li>
441 /// <li>
442 /// <p>If the value is <code>audio/pcm</code>, the speech returned is <code>audio/pcm</code> at 16 KHz in 16-bit, little-endian format.</p></li>
443 /// <li>
444 /// <p>The following are the accepted values:</p>
445 /// <ul>
446 /// <li>
447 /// <p>audio/mpeg</p></li>
448 /// <li>
449 /// <p>audio/ogg</p></li>
450 /// <li>
451 /// <p>audio/pcm (16 KHz)</p></li>
452 /// <li>
453 /// <p>audio/* (defaults to mpeg)</p></li>
454 /// <li>
455 /// <p>text/plain; charset=utf-8</p></li>
456 /// </ul></li>
457 /// </ul>
458 pub fn get_response_content_type(&self) -> &::std::option::Option<::std::string::String> {
459 &self.response_content_type
460 }
461 /// <p>User input in PCM or Opus audio format or text format as described in the <code>requestContentType</code> parameter.</p>
462 pub fn input_stream(mut self, input: ::aws_smithy_types::byte_stream::ByteStream) -> Self {
463 self.input_stream = ::std::option::Option::Some(input);
464 self
465 }
466 /// <p>User input in PCM or Opus audio format or text format as described in the <code>requestContentType</code> parameter.</p>
467 pub fn set_input_stream(mut self, input: ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>) -> Self {
468 self.input_stream = input;
469 self
470 }
471 /// <p>User input in PCM or Opus audio format or text format as described in the <code>requestContentType</code> parameter.</p>
472 pub fn get_input_stream(&self) -> &::std::option::Option<::aws_smithy_types::byte_stream::ByteStream> {
473 &self.input_stream
474 }
475 /// Consumes the builder and constructs a [`RecognizeUtteranceInput`](crate::operation::recognize_utterance::RecognizeUtteranceInput).
476 pub fn build(
477 self,
478 ) -> ::std::result::Result<crate::operation::recognize_utterance::RecognizeUtteranceInput, ::aws_smithy_types::error::operation::BuildError> {
479 ::std::result::Result::Ok(crate::operation::recognize_utterance::RecognizeUtteranceInput {
480 bot_id: self.bot_id,
481 bot_alias_id: self.bot_alias_id,
482 locale_id: self.locale_id,
483 session_id: self.session_id,
484 session_state: self.session_state,
485 request_attributes: self.request_attributes,
486 request_content_type: self.request_content_type,
487 response_content_type: self.response_content_type,
488 input_stream: self.input_stream.unwrap_or_default(),
489 })
490 }
491}
492impl ::std::fmt::Debug for RecognizeUtteranceInputBuilder {
493 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
494 let mut formatter = f.debug_struct("RecognizeUtteranceInputBuilder");
495 formatter.field("bot_id", &self.bot_id);
496 formatter.field("bot_alias_id", &self.bot_alias_id);
497 formatter.field("locale_id", &self.locale_id);
498 formatter.field("session_id", &self.session_id);
499 formatter.field("session_state", &"*** Sensitive Data Redacted ***");
500 formatter.field("request_attributes", &"*** Sensitive Data Redacted ***");
501 formatter.field("request_content_type", &self.request_content_type);
502 formatter.field("response_content_type", &self.response_content_type);
503 formatter.field("input_stream", &self.input_stream);
504 formatter.finish()
505 }
506}