aws_sdk_transcribestreaming/operation/start_stream_transcription/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::start_stream_transcription::_start_stream_transcription_output::StartStreamTranscriptionOutputBuilder;
3
4pub use crate::operation::start_stream_transcription::_start_stream_transcription_input::StartStreamTranscriptionInputBuilder;
5
6impl crate::operation::start_stream_transcription::builders::StartStreamTranscriptionInputBuilder {
7                    /// Sends a request with this input using the given client.
8                    pub async fn send_with(self, client: &crate::Client) -> ::std::result::Result<
9                        crate::operation::start_stream_transcription::StartStreamTranscriptionOutput,
10                        ::aws_smithy_runtime_api::client::result::SdkError<
11                            crate::operation::start_stream_transcription::StartStreamTranscriptionError,
12                            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse
13                        >
14                    > {
15                        let mut fluent_builder = client.start_stream_transcription();
16                        fluent_builder.inner = self;
17                        fluent_builder.send().await
18                    }
19                }
20/// Fluent builder constructing a request to `StartStreamTranscription`.
21/// 
22/// <p>Starts a bidirectional HTTP/2 or WebSocket stream where audio is streamed to Amazon Transcribe and the transcription results are streamed to your application.</p>
23/// <p>The following parameters are required:</p>
24/// <ul>
25/// <li>
26/// <p><code>language-code</code> or <code>identify-language</code> or <code>identify-multiple-language</code></p></li>
27/// <li>
28/// <p><code>media-encoding</code></p></li>
29/// <li>
30/// <p><code>sample-rate</code></p></li>
31/// </ul>
32/// <p>For more information on streaming with Amazon Transcribe, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/streaming.html">Transcribing streaming audio</a>.</p>
33#[derive(::std::fmt::Debug)]
34pub struct StartStreamTranscriptionFluentBuilder {
35                handle: ::std::sync::Arc<crate::client::Handle>,
36                inner: crate::operation::start_stream_transcription::builders::StartStreamTranscriptionInputBuilder,
37config_override: ::std::option::Option<crate::config::Builder>,
38            }
39impl
40                crate::client::customize::internal::CustomizableSend<
41                    crate::operation::start_stream_transcription::StartStreamTranscriptionOutput,
42                    crate::operation::start_stream_transcription::StartStreamTranscriptionError,
43                > for StartStreamTranscriptionFluentBuilder
44            {
45                fn send(
46                    self,
47                    config_override: crate::config::Builder,
48                ) -> crate::client::customize::internal::BoxFuture<
49                    crate::client::customize::internal::SendResult<
50                        crate::operation::start_stream_transcription::StartStreamTranscriptionOutput,
51                        crate::operation::start_stream_transcription::StartStreamTranscriptionError,
52                    >,
53                > {
54                    ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
55                }
56            }
57impl StartStreamTranscriptionFluentBuilder {
58    /// Creates a new `StartStreamTranscriptionFluentBuilder`.
59                    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
60                        Self {
61                            handle,
62                            inner: ::std::default::Default::default(),
63    config_override: ::std::option::Option::None,
64                        }
65                    }
66    /// Access the StartStreamTranscription as a reference.
67                    pub fn as_input(&self) -> &crate::operation::start_stream_transcription::builders::StartStreamTranscriptionInputBuilder {
68                        &self.inner
69                    }
70    /// Sends the request and returns the response.
71                    ///
72                    /// If an error occurs, an `SdkError` will be returned with additional details that
73                    /// can be matched against.
74                    ///
75                    /// By default, any retryable failures will be retried twice. Retry behavior
76                    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
77                    /// set when configuring the client.
78                    pub async fn send(self) -> ::std::result::Result<crate::operation::start_stream_transcription::StartStreamTranscriptionOutput, ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::start_stream_transcription::StartStreamTranscriptionError, ::aws_smithy_runtime_api::client::orchestrator::HttpResponse>> {
79                        let input = self.inner.build().map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
80                        let runtime_plugins = crate::operation::start_stream_transcription::StartStreamTranscription::operation_runtime_plugins(
81                            self.handle.runtime_plugins.clone(),
82                            &self.handle.conf,
83                            self.config_override,
84                        );
85                        let mut output =
86                        crate::operation::start_stream_transcription::StartStreamTranscription::orchestrate(
87                            &runtime_plugins,
88                            input,
89                        )
90                        .await?;
91    
92                    // Converts any error encountered beyond this point into an `SdkError` response error
93                    // with an `HttpResponse`. However, since we have already exited the `orchestrate`
94                    // function, the original `HttpResponse` is no longer available and cannot be restored.
95                    // This means that header information from the original response has been lost.
96                    //
97                    // Note that the response body would have been consumed by the deserializer
98                    // regardless, even if the initial message was hypothetically processed during
99                    // the orchestrator's deserialization phase but later resulted in an error.
100                    fn response_error(
101                        err: impl ::std::convert::Into<::aws_smithy_runtime_api::box_error::BoxError>
102                    ) -> ::aws_smithy_runtime_api::client::result::SdkError<crate::operation::start_stream_transcription::StartStreamTranscriptionError, ::aws_smithy_runtime_api::client::orchestrator::HttpResponse> {
103                        ::aws_smithy_runtime_api::client::result::SdkError::response_error(err, ::aws_smithy_runtime_api::client::orchestrator::HttpResponse::new(
104                            ::aws_smithy_runtime_api::http::StatusCode::try_from(200).expect("valid successful code"),
105                            ::aws_smithy_types::body::SdkBody::empty()))
106                    }
107    
108                    let message = output.transcript_result_stream.try_recv_initial_response().await.map_err(response_error)?;
109    
110                    match message {
111                        ::std::option::Option::Some(_message) => {
112                            
113                            ::std::result::Result::Ok(output)
114                        }
115                        ::std::option::Option::None => ::std::result::Result::Ok(output),
116                    }
117                    }
118    
119                    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
120                    pub fn customize(
121                        self,
122                    ) -> crate::client::customize::CustomizableOperation<crate::operation::start_stream_transcription::StartStreamTranscriptionOutput, crate::operation::start_stream_transcription::StartStreamTranscriptionError, Self> {
123                        crate::client::customize::CustomizableOperation::new(self)
124                    }
125    pub(crate) fn config_override(
126                            mut self,
127                            config_override: impl ::std::convert::Into<crate::config::Builder>,
128                        ) -> Self {
129                            self.set_config_override(::std::option::Option::Some(config_override.into()));
130                            self
131                        }
132    
133                        pub(crate) fn set_config_override(
134                            &mut self,
135                            config_override: ::std::option::Option<crate::config::Builder>,
136                        ) -> &mut Self {
137                            self.config_override = config_override;
138                            self
139                        }
140    /// <p>Specify the language code that represents the language spoken in your audio.</p>
141    /// <p>If you're unsure of the language spoken in your audio, consider using <code>IdentifyLanguage</code> to enable automatic language identification.</p>
142    /// <p>For a list of languages supported with Amazon Transcribe streaming, refer to the <a href="https://docs.aws.amazon.com/transcribe/latest/dg/supported-languages.html">Supported languages</a> table.</p>
143    pub fn language_code(mut self, input: crate::types::LanguageCode) -> Self {
144                    self.inner = self.inner.language_code(input);
145                    self
146                }
147    /// <p>Specify the language code that represents the language spoken in your audio.</p>
148    /// <p>If you're unsure of the language spoken in your audio, consider using <code>IdentifyLanguage</code> to enable automatic language identification.</p>
149    /// <p>For a list of languages supported with Amazon Transcribe streaming, refer to the <a href="https://docs.aws.amazon.com/transcribe/latest/dg/supported-languages.html">Supported languages</a> table.</p>
150    pub fn set_language_code(mut self, input: ::std::option::Option<crate::types::LanguageCode>) -> Self {
151                    self.inner = self.inner.set_language_code(input);
152                    self
153                }
154    /// <p>Specify the language code that represents the language spoken in your audio.</p>
155    /// <p>If you're unsure of the language spoken in your audio, consider using <code>IdentifyLanguage</code> to enable automatic language identification.</p>
156    /// <p>For a list of languages supported with Amazon Transcribe streaming, refer to the <a href="https://docs.aws.amazon.com/transcribe/latest/dg/supported-languages.html">Supported languages</a> table.</p>
157    pub fn get_language_code(&self) -> &::std::option::Option<crate::types::LanguageCode> {
158                    self.inner.get_language_code()
159                }
160    /// <p>The sample rate of the input audio (in hertz). Low-quality audio, such as telephone audio, is typically around 8,000 Hz. High-quality audio typically ranges from 16,000 Hz to 48,000 Hz. Note that the sample rate you specify must match that of your audio.</p>
161    pub fn media_sample_rate_hertz(mut self, input: i32) -> Self {
162                    self.inner = self.inner.media_sample_rate_hertz(input);
163                    self
164                }
165    /// <p>The sample rate of the input audio (in hertz). Low-quality audio, such as telephone audio, is typically around 8,000 Hz. High-quality audio typically ranges from 16,000 Hz to 48,000 Hz. Note that the sample rate you specify must match that of your audio.</p>
166    pub fn set_media_sample_rate_hertz(mut self, input: ::std::option::Option<i32>) -> Self {
167                    self.inner = self.inner.set_media_sample_rate_hertz(input);
168                    self
169                }
170    /// <p>The sample rate of the input audio (in hertz). Low-quality audio, such as telephone audio, is typically around 8,000 Hz. High-quality audio typically ranges from 16,000 Hz to 48,000 Hz. Note that the sample rate you specify must match that of your audio.</p>
171    pub fn get_media_sample_rate_hertz(&self) -> &::std::option::Option<i32> {
172                    self.inner.get_media_sample_rate_hertz()
173                }
174    /// <p>Specify the encoding of your input audio. Supported formats are:</p>
175    /// <ul>
176    /// <li>
177    /// <p>FLAC</p></li>
178    /// <li>
179    /// <p>OPUS-encoded audio in an Ogg container</p></li>
180    /// <li>
181    /// <p>PCM (only signed 16-bit little-endian audio formats, which does not include WAV)</p></li>
182    /// </ul>
183    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/how-input.html#how-input-audio">Media formats</a>.</p>
184    pub fn media_encoding(mut self, input: crate::types::MediaEncoding) -> Self {
185                    self.inner = self.inner.media_encoding(input);
186                    self
187                }
188    /// <p>Specify the encoding of your input audio. Supported formats are:</p>
189    /// <ul>
190    /// <li>
191    /// <p>FLAC</p></li>
192    /// <li>
193    /// <p>OPUS-encoded audio in an Ogg container</p></li>
194    /// <li>
195    /// <p>PCM (only signed 16-bit little-endian audio formats, which does not include WAV)</p></li>
196    /// </ul>
197    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/how-input.html#how-input-audio">Media formats</a>.</p>
198    pub fn set_media_encoding(mut self, input: ::std::option::Option<crate::types::MediaEncoding>) -> Self {
199                    self.inner = self.inner.set_media_encoding(input);
200                    self
201                }
202    /// <p>Specify the encoding of your input audio. Supported formats are:</p>
203    /// <ul>
204    /// <li>
205    /// <p>FLAC</p></li>
206    /// <li>
207    /// <p>OPUS-encoded audio in an Ogg container</p></li>
208    /// <li>
209    /// <p>PCM (only signed 16-bit little-endian audio formats, which does not include WAV)</p></li>
210    /// </ul>
211    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/how-input.html#how-input-audio">Media formats</a>.</p>
212    pub fn get_media_encoding(&self) -> &::std::option::Option<crate::types::MediaEncoding> {
213                    self.inner.get_media_encoding()
214                }
215    /// <p>Specify the name of the custom vocabulary that you want to use when processing your transcription. Note that vocabulary names are case sensitive.</p>
216    /// <p>If the language of the specified custom vocabulary doesn't match the language identified in your media, the custom vocabulary is not applied to your transcription.</p><important>
217    /// <p>This parameter is <b>not</b> intended for use with the <code>IdentifyLanguage</code> parameter. If you're including <code>IdentifyLanguage</code> in your request and want to use one or more custom vocabularies with your transcription, use the <code>VocabularyNames</code> parameter instead.</p>
218    /// </important>
219    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/custom-vocabulary.html">Custom vocabularies</a>.</p>
220    pub fn vocabulary_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
221                    self.inner = self.inner.vocabulary_name(input.into());
222                    self
223                }
224    /// <p>Specify the name of the custom vocabulary that you want to use when processing your transcription. Note that vocabulary names are case sensitive.</p>
225    /// <p>If the language of the specified custom vocabulary doesn't match the language identified in your media, the custom vocabulary is not applied to your transcription.</p><important>
226    /// <p>This parameter is <b>not</b> intended for use with the <code>IdentifyLanguage</code> parameter. If you're including <code>IdentifyLanguage</code> in your request and want to use one or more custom vocabularies with your transcription, use the <code>VocabularyNames</code> parameter instead.</p>
227    /// </important>
228    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/custom-vocabulary.html">Custom vocabularies</a>.</p>
229    pub fn set_vocabulary_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
230                    self.inner = self.inner.set_vocabulary_name(input);
231                    self
232                }
233    /// <p>Specify the name of the custom vocabulary that you want to use when processing your transcription. Note that vocabulary names are case sensitive.</p>
234    /// <p>If the language of the specified custom vocabulary doesn't match the language identified in your media, the custom vocabulary is not applied to your transcription.</p><important>
235    /// <p>This parameter is <b>not</b> intended for use with the <code>IdentifyLanguage</code> parameter. If you're including <code>IdentifyLanguage</code> in your request and want to use one or more custom vocabularies with your transcription, use the <code>VocabularyNames</code> parameter instead.</p>
236    /// </important>
237    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/custom-vocabulary.html">Custom vocabularies</a>.</p>
238    pub fn get_vocabulary_name(&self) -> &::std::option::Option<::std::string::String> {
239                    self.inner.get_vocabulary_name()
240                }
241    /// <p>Specify a name for your transcription session. If you don't include this parameter in your request, Amazon Transcribe generates an ID and returns it in the response.</p>
242    pub fn session_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
243                    self.inner = self.inner.session_id(input.into());
244                    self
245                }
246    /// <p>Specify a name for your transcription session. If you don't include this parameter in your request, Amazon Transcribe generates an ID and returns it in the response.</p>
247    pub fn set_session_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
248                    self.inner = self.inner.set_session_id(input);
249                    self
250                }
251    /// <p>Specify a name for your transcription session. If you don't include this parameter in your request, Amazon Transcribe generates an ID and returns it in the response.</p>
252    pub fn get_session_id(&self) -> &::std::option::Option<::std::string::String> {
253                    self.inner.get_session_id()
254                }
255    /// <p>An encoded stream of audio blobs. Audio streams are encoded as either HTTP/2 or WebSocket data frames.</p>
256    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/streaming.html">Transcribing streaming audio</a>.</p>
257    pub fn audio_stream(mut self, input: ::aws_smithy_http::event_stream::EventStreamSender<crate::types::AudioStream, crate::types::error::AudioStreamError>) -> Self {
258                    self.inner = self.inner.audio_stream(input);
259                    self
260                }
261    /// <p>An encoded stream of audio blobs. Audio streams are encoded as either HTTP/2 or WebSocket data frames.</p>
262    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/streaming.html">Transcribing streaming audio</a>.</p>
263    pub fn set_audio_stream(mut self, input: ::std::option::Option<::aws_smithy_http::event_stream::EventStreamSender<crate::types::AudioStream, crate::types::error::AudioStreamError>>) -> Self {
264                    self.inner = self.inner.set_audio_stream(input);
265                    self
266                }
267    /// <p>An encoded stream of audio blobs. Audio streams are encoded as either HTTP/2 or WebSocket data frames.</p>
268    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/streaming.html">Transcribing streaming audio</a>.</p>
269    pub fn get_audio_stream(&self) -> &::std::option::Option<::aws_smithy_http::event_stream::EventStreamSender<crate::types::AudioStream, crate::types::error::AudioStreamError>> {
270                    self.inner.get_audio_stream()
271                }
272    /// <p>Specify the name of the custom vocabulary filter that you want to use when processing your transcription. Note that vocabulary filter names are case sensitive.</p>
273    /// <p>If the language of the specified custom vocabulary filter doesn't match the language identified in your media, the vocabulary filter is not applied to your transcription.</p><important>
274    /// <p>This parameter is <b>not</b> intended for use with the <code>IdentifyLanguage</code> parameter. If you're including <code>IdentifyLanguage</code> in your request and want to use one or more vocabulary filters with your transcription, use the <code>VocabularyFilterNames</code> parameter instead.</p>
275    /// </important>
276    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/vocabulary-filtering.html">Using vocabulary filtering with unwanted words</a>.</p>
277    pub fn vocabulary_filter_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
278                    self.inner = self.inner.vocabulary_filter_name(input.into());
279                    self
280                }
281    /// <p>Specify the name of the custom vocabulary filter that you want to use when processing your transcription. Note that vocabulary filter names are case sensitive.</p>
282    /// <p>If the language of the specified custom vocabulary filter doesn't match the language identified in your media, the vocabulary filter is not applied to your transcription.</p><important>
283    /// <p>This parameter is <b>not</b> intended for use with the <code>IdentifyLanguage</code> parameter. If you're including <code>IdentifyLanguage</code> in your request and want to use one or more vocabulary filters with your transcription, use the <code>VocabularyFilterNames</code> parameter instead.</p>
284    /// </important>
285    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/vocabulary-filtering.html">Using vocabulary filtering with unwanted words</a>.</p>
286    pub fn set_vocabulary_filter_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
287                    self.inner = self.inner.set_vocabulary_filter_name(input);
288                    self
289                }
290    /// <p>Specify the name of the custom vocabulary filter that you want to use when processing your transcription. Note that vocabulary filter names are case sensitive.</p>
291    /// <p>If the language of the specified custom vocabulary filter doesn't match the language identified in your media, the vocabulary filter is not applied to your transcription.</p><important>
292    /// <p>This parameter is <b>not</b> intended for use with the <code>IdentifyLanguage</code> parameter. If you're including <code>IdentifyLanguage</code> in your request and want to use one or more vocabulary filters with your transcription, use the <code>VocabularyFilterNames</code> parameter instead.</p>
293    /// </important>
294    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/vocabulary-filtering.html">Using vocabulary filtering with unwanted words</a>.</p>
295    pub fn get_vocabulary_filter_name(&self) -> &::std::option::Option<::std::string::String> {
296                    self.inner.get_vocabulary_filter_name()
297                }
298    /// <p>Specify how you want your vocabulary filter applied to your transcript.</p>
299    /// <p>To replace words with <code>***</code>, choose <code>mask</code>.</p>
300    /// <p>To delete words, choose <code>remove</code>.</p>
301    /// <p>To flag words without changing them, choose <code>tag</code>.</p>
302    pub fn vocabulary_filter_method(mut self, input: crate::types::VocabularyFilterMethod) -> Self {
303                    self.inner = self.inner.vocabulary_filter_method(input);
304                    self
305                }
306    /// <p>Specify how you want your vocabulary filter applied to your transcript.</p>
307    /// <p>To replace words with <code>***</code>, choose <code>mask</code>.</p>
308    /// <p>To delete words, choose <code>remove</code>.</p>
309    /// <p>To flag words without changing them, choose <code>tag</code>.</p>
310    pub fn set_vocabulary_filter_method(mut self, input: ::std::option::Option<crate::types::VocabularyFilterMethod>) -> Self {
311                    self.inner = self.inner.set_vocabulary_filter_method(input);
312                    self
313                }
314    /// <p>Specify how you want your vocabulary filter applied to your transcript.</p>
315    /// <p>To replace words with <code>***</code>, choose <code>mask</code>.</p>
316    /// <p>To delete words, choose <code>remove</code>.</p>
317    /// <p>To flag words without changing them, choose <code>tag</code>.</p>
318    pub fn get_vocabulary_filter_method(&self) -> &::std::option::Option<crate::types::VocabularyFilterMethod> {
319                    self.inner.get_vocabulary_filter_method()
320                }
321    /// <p>Enables speaker partitioning (diarization) in your transcription output. Speaker partitioning labels the speech from individual speakers in your media file.</p>
322    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/diarization.html">Partitioning speakers (diarization)</a>.</p>
323    pub fn show_speaker_label(mut self, input: bool) -> Self {
324                    self.inner = self.inner.show_speaker_label(input);
325                    self
326                }
327    /// <p>Enables speaker partitioning (diarization) in your transcription output. Speaker partitioning labels the speech from individual speakers in your media file.</p>
328    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/diarization.html">Partitioning speakers (diarization)</a>.</p>
329    pub fn set_show_speaker_label(mut self, input: ::std::option::Option<bool>) -> Self {
330                    self.inner = self.inner.set_show_speaker_label(input);
331                    self
332                }
333    /// <p>Enables speaker partitioning (diarization) in your transcription output. Speaker partitioning labels the speech from individual speakers in your media file.</p>
334    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/diarization.html">Partitioning speakers (diarization)</a>.</p>
335    pub fn get_show_speaker_label(&self) -> &::std::option::Option<bool> {
336                    self.inner.get_show_speaker_label()
337                }
338    /// <p>Enables channel identification in multi-channel audio.</p>
339    /// <p>Channel identification transcribes the audio on each channel independently, then appends the output for each channel into one transcript.</p>
340    /// <p>If you have multi-channel audio and do not enable channel identification, your audio is transcribed in a continuous manner and your transcript is not separated by channel.</p>
341    /// <p>If you include <code>EnableChannelIdentification</code> in your request, you must also include <code>NumberOfChannels</code>.</p>
342    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/channel-id.html">Transcribing multi-channel audio</a>.</p>
343    pub fn enable_channel_identification(mut self, input: bool) -> Self {
344                    self.inner = self.inner.enable_channel_identification(input);
345                    self
346                }
347    /// <p>Enables channel identification in multi-channel audio.</p>
348    /// <p>Channel identification transcribes the audio on each channel independently, then appends the output for each channel into one transcript.</p>
349    /// <p>If you have multi-channel audio and do not enable channel identification, your audio is transcribed in a continuous manner and your transcript is not separated by channel.</p>
350    /// <p>If you include <code>EnableChannelIdentification</code> in your request, you must also include <code>NumberOfChannels</code>.</p>
351    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/channel-id.html">Transcribing multi-channel audio</a>.</p>
352    pub fn set_enable_channel_identification(mut self, input: ::std::option::Option<bool>) -> Self {
353                    self.inner = self.inner.set_enable_channel_identification(input);
354                    self
355                }
356    /// <p>Enables channel identification in multi-channel audio.</p>
357    /// <p>Channel identification transcribes the audio on each channel independently, then appends the output for each channel into one transcript.</p>
358    /// <p>If you have multi-channel audio and do not enable channel identification, your audio is transcribed in a continuous manner and your transcript is not separated by channel.</p>
359    /// <p>If you include <code>EnableChannelIdentification</code> in your request, you must also include <code>NumberOfChannels</code>.</p>
360    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/channel-id.html">Transcribing multi-channel audio</a>.</p>
361    pub fn get_enable_channel_identification(&self) -> &::std::option::Option<bool> {
362                    self.inner.get_enable_channel_identification()
363                }
364    /// <p>Specify the number of channels in your audio stream. This value must be <code>2</code>, as only two channels are supported. If your audio doesn't contain multiple channels, do not include this parameter in your request.</p>
365    /// <p>If you include <code>NumberOfChannels</code> in your request, you must also include <code>EnableChannelIdentification</code>.</p>
366    pub fn number_of_channels(mut self, input: i32) -> Self {
367                    self.inner = self.inner.number_of_channels(input);
368                    self
369                }
370    /// <p>Specify the number of channels in your audio stream. This value must be <code>2</code>, as only two channels are supported. If your audio doesn't contain multiple channels, do not include this parameter in your request.</p>
371    /// <p>If you include <code>NumberOfChannels</code> in your request, you must also include <code>EnableChannelIdentification</code>.</p>
372    pub fn set_number_of_channels(mut self, input: ::std::option::Option<i32>) -> Self {
373                    self.inner = self.inner.set_number_of_channels(input);
374                    self
375                }
376    /// <p>Specify the number of channels in your audio stream. This value must be <code>2</code>, as only two channels are supported. If your audio doesn't contain multiple channels, do not include this parameter in your request.</p>
377    /// <p>If you include <code>NumberOfChannels</code> in your request, you must also include <code>EnableChannelIdentification</code>.</p>
378    pub fn get_number_of_channels(&self) -> &::std::option::Option<i32> {
379                    self.inner.get_number_of_channels()
380                }
381    /// <p>Enables partial result stabilization for your transcription. Partial result stabilization can reduce latency in your output, but may impact accuracy. For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/streaming.html#streaming-partial-result-stabilization">Partial-result stabilization</a>.</p>
382    pub fn enable_partial_results_stabilization(mut self, input: bool) -> Self {
383                    self.inner = self.inner.enable_partial_results_stabilization(input);
384                    self
385                }
386    /// <p>Enables partial result stabilization for your transcription. Partial result stabilization can reduce latency in your output, but may impact accuracy. For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/streaming.html#streaming-partial-result-stabilization">Partial-result stabilization</a>.</p>
387    pub fn set_enable_partial_results_stabilization(mut self, input: ::std::option::Option<bool>) -> Self {
388                    self.inner = self.inner.set_enable_partial_results_stabilization(input);
389                    self
390                }
391    /// <p>Enables partial result stabilization for your transcription. Partial result stabilization can reduce latency in your output, but may impact accuracy. For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/streaming.html#streaming-partial-result-stabilization">Partial-result stabilization</a>.</p>
392    pub fn get_enable_partial_results_stabilization(&self) -> &::std::option::Option<bool> {
393                    self.inner.get_enable_partial_results_stabilization()
394                }
395    /// <p>Specify the level of stability to use when you enable partial results stabilization (<code>EnablePartialResultsStabilization</code>).</p>
396    /// <p>Low stability provides the highest accuracy. High stability transcribes faster, but with slightly lower accuracy.</p>
397    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/streaming.html#streaming-partial-result-stabilization">Partial-result stabilization</a>.</p>
398    pub fn partial_results_stability(mut self, input: crate::types::PartialResultsStability) -> Self {
399                    self.inner = self.inner.partial_results_stability(input);
400                    self
401                }
402    /// <p>Specify the level of stability to use when you enable partial results stabilization (<code>EnablePartialResultsStabilization</code>).</p>
403    /// <p>Low stability provides the highest accuracy. High stability transcribes faster, but with slightly lower accuracy.</p>
404    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/streaming.html#streaming-partial-result-stabilization">Partial-result stabilization</a>.</p>
405    pub fn set_partial_results_stability(mut self, input: ::std::option::Option<crate::types::PartialResultsStability>) -> Self {
406                    self.inner = self.inner.set_partial_results_stability(input);
407                    self
408                }
409    /// <p>Specify the level of stability to use when you enable partial results stabilization (<code>EnablePartialResultsStabilization</code>).</p>
410    /// <p>Low stability provides the highest accuracy. High stability transcribes faster, but with slightly lower accuracy.</p>
411    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/streaming.html#streaming-partial-result-stabilization">Partial-result stabilization</a>.</p>
412    pub fn get_partial_results_stability(&self) -> &::std::option::Option<crate::types::PartialResultsStability> {
413                    self.inner.get_partial_results_stability()
414                }
415    /// <p>Labels all personally identifiable information (PII) identified in your transcript.</p>
416    /// <p>Content identification is performed at the segment level; PII specified in <code>PiiEntityTypes</code> is flagged upon complete transcription of an audio segment. If you don't include <code>PiiEntityTypes</code> in your request, all PII is identified.</p>
417    /// <p>You can’t set <code>ContentIdentificationType</code> and <code>ContentRedactionType</code> in the same request. If you set both, your request returns a <code>BadRequestException</code>.</p>
418    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/pii-redaction.html">Redacting or identifying personally identifiable information</a>.</p>
419    pub fn content_identification_type(mut self, input: crate::types::ContentIdentificationType) -> Self {
420                    self.inner = self.inner.content_identification_type(input);
421                    self
422                }
423    /// <p>Labels all personally identifiable information (PII) identified in your transcript.</p>
424    /// <p>Content identification is performed at the segment level; PII specified in <code>PiiEntityTypes</code> is flagged upon complete transcription of an audio segment. If you don't include <code>PiiEntityTypes</code> in your request, all PII is identified.</p>
425    /// <p>You can’t set <code>ContentIdentificationType</code> and <code>ContentRedactionType</code> in the same request. If you set both, your request returns a <code>BadRequestException</code>.</p>
426    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/pii-redaction.html">Redacting or identifying personally identifiable information</a>.</p>
427    pub fn set_content_identification_type(mut self, input: ::std::option::Option<crate::types::ContentIdentificationType>) -> Self {
428                    self.inner = self.inner.set_content_identification_type(input);
429                    self
430                }
431    /// <p>Labels all personally identifiable information (PII) identified in your transcript.</p>
432    /// <p>Content identification is performed at the segment level; PII specified in <code>PiiEntityTypes</code> is flagged upon complete transcription of an audio segment. If you don't include <code>PiiEntityTypes</code> in your request, all PII is identified.</p>
433    /// <p>You can’t set <code>ContentIdentificationType</code> and <code>ContentRedactionType</code> in the same request. If you set both, your request returns a <code>BadRequestException</code>.</p>
434    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/pii-redaction.html">Redacting or identifying personally identifiable information</a>.</p>
435    pub fn get_content_identification_type(&self) -> &::std::option::Option<crate::types::ContentIdentificationType> {
436                    self.inner.get_content_identification_type()
437                }
438    /// <p>Redacts all personally identifiable information (PII) identified in your transcript.</p>
439    /// <p>Content redaction is performed at the segment level; PII specified in <code>PiiEntityTypes</code> is redacted upon complete transcription of an audio segment. If you don't include <code>PiiEntityTypes</code> in your request, all PII is redacted.</p>
440    /// <p>You can’t set <code>ContentRedactionType</code> and <code>ContentIdentificationType</code> in the same request. If you set both, your request returns a <code>BadRequestException</code>.</p>
441    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/pii-redaction.html">Redacting or identifying personally identifiable information</a>.</p>
442    pub fn content_redaction_type(mut self, input: crate::types::ContentRedactionType) -> Self {
443                    self.inner = self.inner.content_redaction_type(input);
444                    self
445                }
446    /// <p>Redacts all personally identifiable information (PII) identified in your transcript.</p>
447    /// <p>Content redaction is performed at the segment level; PII specified in <code>PiiEntityTypes</code> is redacted upon complete transcription of an audio segment. If you don't include <code>PiiEntityTypes</code> in your request, all PII is redacted.</p>
448    /// <p>You can’t set <code>ContentRedactionType</code> and <code>ContentIdentificationType</code> in the same request. If you set both, your request returns a <code>BadRequestException</code>.</p>
449    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/pii-redaction.html">Redacting or identifying personally identifiable information</a>.</p>
450    pub fn set_content_redaction_type(mut self, input: ::std::option::Option<crate::types::ContentRedactionType>) -> Self {
451                    self.inner = self.inner.set_content_redaction_type(input);
452                    self
453                }
454    /// <p>Redacts all personally identifiable information (PII) identified in your transcript.</p>
455    /// <p>Content redaction is performed at the segment level; PII specified in <code>PiiEntityTypes</code> is redacted upon complete transcription of an audio segment. If you don't include <code>PiiEntityTypes</code> in your request, all PII is redacted.</p>
456    /// <p>You can’t set <code>ContentRedactionType</code> and <code>ContentIdentificationType</code> in the same request. If you set both, your request returns a <code>BadRequestException</code>.</p>
457    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/pii-redaction.html">Redacting or identifying personally identifiable information</a>.</p>
458    pub fn get_content_redaction_type(&self) -> &::std::option::Option<crate::types::ContentRedactionType> {
459                    self.inner.get_content_redaction_type()
460                }
461    /// <p>Specify which types of personally identifiable information (PII) you want to redact in your transcript. You can include as many types as you'd like, or you can select <code>ALL</code>.</p>
462    /// <p>Values must be comma-separated and can include: <code>ADDRESS</code>, <code>BANK_ACCOUNT_NUMBER</code>, <code>BANK_ROUTING</code>, <code>CREDIT_DEBIT_CVV</code>, <code>CREDIT_DEBIT_EXPIRY</code>, <code>CREDIT_DEBIT_NUMBER</code>, <code>EMAIL</code>, <code>NAME</code>, <code>PHONE</code>, <code>PIN</code>, <code>SSN</code>, or <code>ALL</code>.</p>
463    /// <p>Note that if you include <code>PiiEntityTypes</code> in your request, you must also include <code>ContentIdentificationType</code> or <code>ContentRedactionType</code>.</p>
464    /// <p>If you include <code>ContentRedactionType</code> or <code>ContentIdentificationType</code> in your request, but do not include <code>PiiEntityTypes</code>, all PII is redacted or identified.</p>
465    pub fn pii_entity_types(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
466                    self.inner = self.inner.pii_entity_types(input.into());
467                    self
468                }
469    /// <p>Specify which types of personally identifiable information (PII) you want to redact in your transcript. You can include as many types as you'd like, or you can select <code>ALL</code>.</p>
470    /// <p>Values must be comma-separated and can include: <code>ADDRESS</code>, <code>BANK_ACCOUNT_NUMBER</code>, <code>BANK_ROUTING</code>, <code>CREDIT_DEBIT_CVV</code>, <code>CREDIT_DEBIT_EXPIRY</code>, <code>CREDIT_DEBIT_NUMBER</code>, <code>EMAIL</code>, <code>NAME</code>, <code>PHONE</code>, <code>PIN</code>, <code>SSN</code>, or <code>ALL</code>.</p>
471    /// <p>Note that if you include <code>PiiEntityTypes</code> in your request, you must also include <code>ContentIdentificationType</code> or <code>ContentRedactionType</code>.</p>
472    /// <p>If you include <code>ContentRedactionType</code> or <code>ContentIdentificationType</code> in your request, but do not include <code>PiiEntityTypes</code>, all PII is redacted or identified.</p>
473    pub fn set_pii_entity_types(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
474                    self.inner = self.inner.set_pii_entity_types(input);
475                    self
476                }
477    /// <p>Specify which types of personally identifiable information (PII) you want to redact in your transcript. You can include as many types as you'd like, or you can select <code>ALL</code>.</p>
478    /// <p>Values must be comma-separated and can include: <code>ADDRESS</code>, <code>BANK_ACCOUNT_NUMBER</code>, <code>BANK_ROUTING</code>, <code>CREDIT_DEBIT_CVV</code>, <code>CREDIT_DEBIT_EXPIRY</code>, <code>CREDIT_DEBIT_NUMBER</code>, <code>EMAIL</code>, <code>NAME</code>, <code>PHONE</code>, <code>PIN</code>, <code>SSN</code>, or <code>ALL</code>.</p>
479    /// <p>Note that if you include <code>PiiEntityTypes</code> in your request, you must also include <code>ContentIdentificationType</code> or <code>ContentRedactionType</code>.</p>
480    /// <p>If you include <code>ContentRedactionType</code> or <code>ContentIdentificationType</code> in your request, but do not include <code>PiiEntityTypes</code>, all PII is redacted or identified.</p>
481    pub fn get_pii_entity_types(&self) -> &::std::option::Option<::std::string::String> {
482                    self.inner.get_pii_entity_types()
483                }
484    /// <p>Specify the name of the custom language model that you want to use when processing your transcription. Note that language model names are case sensitive.</p>
485    /// <p>The language of the specified language model must match the language code you specify in your transcription request. If the languages don't match, the custom language model isn't applied. There are no errors or warnings associated with a language mismatch.</p>
486    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/custom-language-models.html">Custom language models</a>.</p>
487    pub fn language_model_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
488                    self.inner = self.inner.language_model_name(input.into());
489                    self
490                }
491    /// <p>Specify the name of the custom language model that you want to use when processing your transcription. Note that language model names are case sensitive.</p>
492    /// <p>The language of the specified language model must match the language code you specify in your transcription request. If the languages don't match, the custom language model isn't applied. There are no errors or warnings associated with a language mismatch.</p>
493    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/custom-language-models.html">Custom language models</a>.</p>
494    pub fn set_language_model_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
495                    self.inner = self.inner.set_language_model_name(input);
496                    self
497                }
498    /// <p>Specify the name of the custom language model that you want to use when processing your transcription. Note that language model names are case sensitive.</p>
499    /// <p>The language of the specified language model must match the language code you specify in your transcription request. If the languages don't match, the custom language model isn't applied. There are no errors or warnings associated with a language mismatch.</p>
500    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/custom-language-models.html">Custom language models</a>.</p>
501    pub fn get_language_model_name(&self) -> &::std::option::Option<::std::string::String> {
502                    self.inner.get_language_model_name()
503                }
504    /// <p>Enables automatic language identification for your transcription.</p>
505    /// <p>If you include <code>IdentifyLanguage</code>, you must include a list of language codes, using <code>LanguageOptions</code>, that you think may be present in your audio stream.</p>
506    /// <p>You can also include a preferred language using <code>PreferredLanguage</code>. Adding a preferred language can help Amazon Transcribe identify the language faster than if you omit this parameter.</p>
507    /// <p>If you have multi-channel audio that contains different languages on each channel, and you've enabled channel identification, automatic language identification identifies the dominant language on each audio channel.</p>
508    /// <p>Note that you must include either <code>LanguageCode</code> or <code>IdentifyLanguage</code> or <code>IdentifyMultipleLanguages</code> in your request. If you include more than one of these parameters, your transcription job fails.</p>
509    /// <p>Streaming language identification can't be combined with custom language models or redaction.</p>
510    pub fn identify_language(mut self, input: bool) -> Self {
511                    self.inner = self.inner.identify_language(input);
512                    self
513                }
514    /// <p>Enables automatic language identification for your transcription.</p>
515    /// <p>If you include <code>IdentifyLanguage</code>, you must include a list of language codes, using <code>LanguageOptions</code>, that you think may be present in your audio stream.</p>
516    /// <p>You can also include a preferred language using <code>PreferredLanguage</code>. Adding a preferred language can help Amazon Transcribe identify the language faster than if you omit this parameter.</p>
517    /// <p>If you have multi-channel audio that contains different languages on each channel, and you've enabled channel identification, automatic language identification identifies the dominant language on each audio channel.</p>
518    /// <p>Note that you must include either <code>LanguageCode</code> or <code>IdentifyLanguage</code> or <code>IdentifyMultipleLanguages</code> in your request. If you include more than one of these parameters, your transcription job fails.</p>
519    /// <p>Streaming language identification can't be combined with custom language models or redaction.</p>
520    pub fn set_identify_language(mut self, input: ::std::option::Option<bool>) -> Self {
521                    self.inner = self.inner.set_identify_language(input);
522                    self
523                }
524    /// <p>Enables automatic language identification for your transcription.</p>
525    /// <p>If you include <code>IdentifyLanguage</code>, you must include a list of language codes, using <code>LanguageOptions</code>, that you think may be present in your audio stream.</p>
526    /// <p>You can also include a preferred language using <code>PreferredLanguage</code>. Adding a preferred language can help Amazon Transcribe identify the language faster than if you omit this parameter.</p>
527    /// <p>If you have multi-channel audio that contains different languages on each channel, and you've enabled channel identification, automatic language identification identifies the dominant language on each audio channel.</p>
528    /// <p>Note that you must include either <code>LanguageCode</code> or <code>IdentifyLanguage</code> or <code>IdentifyMultipleLanguages</code> in your request. If you include more than one of these parameters, your transcription job fails.</p>
529    /// <p>Streaming language identification can't be combined with custom language models or redaction.</p>
530    pub fn get_identify_language(&self) -> &::std::option::Option<bool> {
531                    self.inner.get_identify_language()
532                }
533    /// <p>Specify two or more language codes that represent the languages you think may be present in your media; including more than five is not recommended.</p>
534    /// <p>Including language options can improve the accuracy of language identification.</p>
535    /// <p>If you include <code>LanguageOptions</code> in your request, you must also include <code>IdentifyLanguage</code> or <code>IdentifyMultipleLanguages</code>.</p>
536    /// <p>For a list of languages supported with Amazon Transcribe streaming, refer to the <a href="https://docs.aws.amazon.com/transcribe/latest/dg/supported-languages.html">Supported languages</a> table.</p><important>
537    /// <p>You can only include one language dialect per language per stream. For example, you cannot include <code>en-US</code> and <code>en-AU</code> in the same request.</p>
538    /// </important>
539    pub fn language_options(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
540                    self.inner = self.inner.language_options(input.into());
541                    self
542                }
543    /// <p>Specify two or more language codes that represent the languages you think may be present in your media; including more than five is not recommended.</p>
544    /// <p>Including language options can improve the accuracy of language identification.</p>
545    /// <p>If you include <code>LanguageOptions</code> in your request, you must also include <code>IdentifyLanguage</code> or <code>IdentifyMultipleLanguages</code>.</p>
546    /// <p>For a list of languages supported with Amazon Transcribe streaming, refer to the <a href="https://docs.aws.amazon.com/transcribe/latest/dg/supported-languages.html">Supported languages</a> table.</p><important>
547    /// <p>You can only include one language dialect per language per stream. For example, you cannot include <code>en-US</code> and <code>en-AU</code> in the same request.</p>
548    /// </important>
549    pub fn set_language_options(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
550                    self.inner = self.inner.set_language_options(input);
551                    self
552                }
553    /// <p>Specify two or more language codes that represent the languages you think may be present in your media; including more than five is not recommended.</p>
554    /// <p>Including language options can improve the accuracy of language identification.</p>
555    /// <p>If you include <code>LanguageOptions</code> in your request, you must also include <code>IdentifyLanguage</code> or <code>IdentifyMultipleLanguages</code>.</p>
556    /// <p>For a list of languages supported with Amazon Transcribe streaming, refer to the <a href="https://docs.aws.amazon.com/transcribe/latest/dg/supported-languages.html">Supported languages</a> table.</p><important>
557    /// <p>You can only include one language dialect per language per stream. For example, you cannot include <code>en-US</code> and <code>en-AU</code> in the same request.</p>
558    /// </important>
559    pub fn get_language_options(&self) -> &::std::option::Option<::std::string::String> {
560                    self.inner.get_language_options()
561                }
562    /// <p>Specify a preferred language from the subset of languages codes you specified in <code>LanguageOptions</code>.</p>
563    /// <p>You can only use this parameter if you've included <code>IdentifyLanguage</code> and <code>LanguageOptions</code> in your request.</p>
564    pub fn preferred_language(mut self, input: crate::types::LanguageCode) -> Self {
565                    self.inner = self.inner.preferred_language(input);
566                    self
567                }
568    /// <p>Specify a preferred language from the subset of languages codes you specified in <code>LanguageOptions</code>.</p>
569    /// <p>You can only use this parameter if you've included <code>IdentifyLanguage</code> and <code>LanguageOptions</code> in your request.</p>
570    pub fn set_preferred_language(mut self, input: ::std::option::Option<crate::types::LanguageCode>) -> Self {
571                    self.inner = self.inner.set_preferred_language(input);
572                    self
573                }
574    /// <p>Specify a preferred language from the subset of languages codes you specified in <code>LanguageOptions</code>.</p>
575    /// <p>You can only use this parameter if you've included <code>IdentifyLanguage</code> and <code>LanguageOptions</code> in your request.</p>
576    pub fn get_preferred_language(&self) -> &::std::option::Option<crate::types::LanguageCode> {
577                    self.inner.get_preferred_language()
578                }
579    /// <p>Enables automatic multi-language identification in your transcription job request. Use this parameter if your stream contains more than one language. If your stream contains only one language, use IdentifyLanguage instead.</p>
580    /// <p>If you include <code>IdentifyMultipleLanguages</code>, you must include a list of language codes, using <code>LanguageOptions</code>, that you think may be present in your stream.</p>
581    /// <p>If you want to apply a custom vocabulary or a custom vocabulary filter to your automatic multiple language identification request, include <code>VocabularyNames</code> or <code>VocabularyFilterNames</code>.</p>
582    /// <p>Note that you must include one of <code>LanguageCode</code>, <code>IdentifyLanguage</code>, or <code>IdentifyMultipleLanguages</code> in your request. If you include more than one of these parameters, your transcription job fails.</p>
583    pub fn identify_multiple_languages(mut self, input: bool) -> Self {
584                    self.inner = self.inner.identify_multiple_languages(input);
585                    self
586                }
587    /// <p>Enables automatic multi-language identification in your transcription job request. Use this parameter if your stream contains more than one language. If your stream contains only one language, use IdentifyLanguage instead.</p>
588    /// <p>If you include <code>IdentifyMultipleLanguages</code>, you must include a list of language codes, using <code>LanguageOptions</code>, that you think may be present in your stream.</p>
589    /// <p>If you want to apply a custom vocabulary or a custom vocabulary filter to your automatic multiple language identification request, include <code>VocabularyNames</code> or <code>VocabularyFilterNames</code>.</p>
590    /// <p>Note that you must include one of <code>LanguageCode</code>, <code>IdentifyLanguage</code>, or <code>IdentifyMultipleLanguages</code> in your request. If you include more than one of these parameters, your transcription job fails.</p>
591    pub fn set_identify_multiple_languages(mut self, input: ::std::option::Option<bool>) -> Self {
592                    self.inner = self.inner.set_identify_multiple_languages(input);
593                    self
594                }
595    /// <p>Enables automatic multi-language identification in your transcription job request. Use this parameter if your stream contains more than one language. If your stream contains only one language, use IdentifyLanguage instead.</p>
596    /// <p>If you include <code>IdentifyMultipleLanguages</code>, you must include a list of language codes, using <code>LanguageOptions</code>, that you think may be present in your stream.</p>
597    /// <p>If you want to apply a custom vocabulary or a custom vocabulary filter to your automatic multiple language identification request, include <code>VocabularyNames</code> or <code>VocabularyFilterNames</code>.</p>
598    /// <p>Note that you must include one of <code>LanguageCode</code>, <code>IdentifyLanguage</code>, or <code>IdentifyMultipleLanguages</code> in your request. If you include more than one of these parameters, your transcription job fails.</p>
599    pub fn get_identify_multiple_languages(&self) -> &::std::option::Option<bool> {
600                    self.inner.get_identify_multiple_languages()
601                }
602    /// <p>Specify the names of the custom vocabularies that you want to use when processing your transcription. Note that vocabulary names are case sensitive.</p>
603    /// <p>If none of the languages of the specified custom vocabularies match the language identified in your media, your job fails.</p><important>
604    /// <p>This parameter is only intended for use <b>with</b> the <code>IdentifyLanguage</code> parameter. If you're <b>not</b> including <code>IdentifyLanguage</code> in your request and want to use a custom vocabulary with your transcription, use the <code>VocabularyName</code> parameter instead.</p>
605    /// </important>
606    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/custom-vocabulary.html">Custom vocabularies</a>.</p>
607    pub fn vocabulary_names(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
608                    self.inner = self.inner.vocabulary_names(input.into());
609                    self
610                }
611    /// <p>Specify the names of the custom vocabularies that you want to use when processing your transcription. Note that vocabulary names are case sensitive.</p>
612    /// <p>If none of the languages of the specified custom vocabularies match the language identified in your media, your job fails.</p><important>
613    /// <p>This parameter is only intended for use <b>with</b> the <code>IdentifyLanguage</code> parameter. If you're <b>not</b> including <code>IdentifyLanguage</code> in your request and want to use a custom vocabulary with your transcription, use the <code>VocabularyName</code> parameter instead.</p>
614    /// </important>
615    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/custom-vocabulary.html">Custom vocabularies</a>.</p>
616    pub fn set_vocabulary_names(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
617                    self.inner = self.inner.set_vocabulary_names(input);
618                    self
619                }
620    /// <p>Specify the names of the custom vocabularies that you want to use when processing your transcription. Note that vocabulary names are case sensitive.</p>
621    /// <p>If none of the languages of the specified custom vocabularies match the language identified in your media, your job fails.</p><important>
622    /// <p>This parameter is only intended for use <b>with</b> the <code>IdentifyLanguage</code> parameter. If you're <b>not</b> including <code>IdentifyLanguage</code> in your request and want to use a custom vocabulary with your transcription, use the <code>VocabularyName</code> parameter instead.</p>
623    /// </important>
624    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/custom-vocabulary.html">Custom vocabularies</a>.</p>
625    pub fn get_vocabulary_names(&self) -> &::std::option::Option<::std::string::String> {
626                    self.inner.get_vocabulary_names()
627                }
628    /// <p>Specify the names of the custom vocabulary filters that you want to use when processing your transcription. Note that vocabulary filter names are case sensitive.</p>
629    /// <p>If none of the languages of the specified custom vocabulary filters match the language identified in your media, your job fails.</p><important>
630    /// <p>This parameter is only intended for use <b>with</b> the <code>IdentifyLanguage</code> parameter. If you're <b>not</b> including <code>IdentifyLanguage</code> in your request and want to use a custom vocabulary filter with your transcription, use the <code>VocabularyFilterName</code> parameter instead.</p>
631    /// </important>
632    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/vocabulary-filtering.html">Using vocabulary filtering with unwanted words</a>.</p>
633    pub fn vocabulary_filter_names(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
634                    self.inner = self.inner.vocabulary_filter_names(input.into());
635                    self
636                }
637    /// <p>Specify the names of the custom vocabulary filters that you want to use when processing your transcription. Note that vocabulary filter names are case sensitive.</p>
638    /// <p>If none of the languages of the specified custom vocabulary filters match the language identified in your media, your job fails.</p><important>
639    /// <p>This parameter is only intended for use <b>with</b> the <code>IdentifyLanguage</code> parameter. If you're <b>not</b> including <code>IdentifyLanguage</code> in your request and want to use a custom vocabulary filter with your transcription, use the <code>VocabularyFilterName</code> parameter instead.</p>
640    /// </important>
641    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/vocabulary-filtering.html">Using vocabulary filtering with unwanted words</a>.</p>
642    pub fn set_vocabulary_filter_names(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
643                    self.inner = self.inner.set_vocabulary_filter_names(input);
644                    self
645                }
646    /// <p>Specify the names of the custom vocabulary filters that you want to use when processing your transcription. Note that vocabulary filter names are case sensitive.</p>
647    /// <p>If none of the languages of the specified custom vocabulary filters match the language identified in your media, your job fails.</p><important>
648    /// <p>This parameter is only intended for use <b>with</b> the <code>IdentifyLanguage</code> parameter. If you're <b>not</b> including <code>IdentifyLanguage</code> in your request and want to use a custom vocabulary filter with your transcription, use the <code>VocabularyFilterName</code> parameter instead.</p>
649    /// </important>
650    /// <p>For more information, see <a href="https://docs.aws.amazon.com/transcribe/latest/dg/vocabulary-filtering.html">Using vocabulary filtering with unwanted words</a>.</p>
651    pub fn get_vocabulary_filter_names(&self) -> &::std::option::Option<::std::string::String> {
652                    self.inner.get_vocabulary_filter_names()
653                }
654}
655