1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct AzureSpeechTranscriber {
16 #[serde(rename = "provider")]
18 pub provider: ProviderTrue,
19 #[serde(rename = "language", skip_serializing_if = "Option::is_none")]
21 pub language: Option<LanguageTrue>,
22 #[serde(rename = "fallbackPlan", skip_serializing_if = "Option::is_none")]
24 pub fallback_plan: Option<models::FallbackTranscriberPlan>,
25}
26
27impl AzureSpeechTranscriber {
28 pub fn new(provider: ProviderTrue) -> AzureSpeechTranscriber {
29 AzureSpeechTranscriber {
30 provider,
31 language: None,
32 fallback_plan: None,
33 }
34 }
35}
36#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
38pub enum ProviderTrue {
39 #[serde(rename = "azure")]
40 Azure,
41}
42
43impl Default for ProviderTrue {
44 fn default() -> ProviderTrue {
45 Self::Azure
46 }
47}
48#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
50pub enum LanguageTrue {
51 #[serde(rename = "af-ZA")]
52 AfZa,
53 #[serde(rename = "am-ET")]
54 AmEt,
55 #[serde(rename = "ar-AE")]
56 ArAe,
57 #[serde(rename = "ar-BH")]
58 ArBh,
59 #[serde(rename = "ar-DZ")]
60 ArDz,
61 #[serde(rename = "ar-EG")]
62 ArEg,
63 #[serde(rename = "ar-IL")]
64 ArIl,
65 #[serde(rename = "ar-IQ")]
66 ArIq,
67 #[serde(rename = "ar-JO")]
68 ArJo,
69 #[serde(rename = "ar-KW")]
70 ArKw,
71 #[serde(rename = "ar-LB")]
72 ArLb,
73 #[serde(rename = "ar-LY")]
74 ArLy,
75 #[serde(rename = "ar-MA")]
76 ArMa,
77 #[serde(rename = "ar-OM")]
78 ArOm,
79 #[serde(rename = "ar-PS")]
80 ArPs,
81 #[serde(rename = "ar-QA")]
82 ArQa,
83 #[serde(rename = "ar-SA")]
84 ArSa,
85 #[serde(rename = "ar-SY")]
86 ArSy,
87 #[serde(rename = "ar-TN")]
88 ArTn,
89 #[serde(rename = "ar-YE")]
90 ArYe,
91 #[serde(rename = "az-AZ")]
92 AzAz,
93 #[serde(rename = "bg-BG")]
94 BgBg,
95 #[serde(rename = "bn-IN")]
96 BnIn,
97 #[serde(rename = "bs-BA")]
98 BsBa,
99 #[serde(rename = "ca-ES")]
100 CaEs,
101 #[serde(rename = "cs-CZ")]
102 CsCz,
103 #[serde(rename = "cy-GB")]
104 CyGb,
105 #[serde(rename = "da-DK")]
106 DaDk,
107 #[serde(rename = "de-AT")]
108 DeAt,
109 #[serde(rename = "de-CH")]
110 DeCh,
111 #[serde(rename = "de-DE")]
112 DeDe,
113 #[serde(rename = "el-GR")]
114 ElGr,
115 #[serde(rename = "en-AU")]
116 EnAu,
117 #[serde(rename = "en-CA")]
118 EnCa,
119 #[serde(rename = "en-GB")]
120 EnGb,
121 #[serde(rename = "en-GH")]
122 EnGh,
123 #[serde(rename = "en-HK")]
124 EnHk,
125 #[serde(rename = "en-IE")]
126 EnIe,
127 #[serde(rename = "en-IN")]
128 EnIn,
129 #[serde(rename = "en-KE")]
130 EnKe,
131 #[serde(rename = "en-NG")]
132 EnNg,
133 #[serde(rename = "en-NZ")]
134 EnNz,
135 #[serde(rename = "en-PH")]
136 EnPh,
137 #[serde(rename = "en-SG")]
138 EnSg,
139 #[serde(rename = "en-TZ")]
140 EnTz,
141 #[serde(rename = "en-US")]
142 EnUs,
143 #[serde(rename = "en-ZA")]
144 EnZa,
145 #[serde(rename = "es-AR")]
146 EsAr,
147 #[serde(rename = "es-BO")]
148 EsBo,
149 #[serde(rename = "es-CL")]
150 EsCl,
151 #[serde(rename = "es-CO")]
152 EsCo,
153 #[serde(rename = "es-CR")]
154 EsCr,
155 #[serde(rename = "es-CU")]
156 EsCu,
157 #[serde(rename = "es-DO")]
158 EsDo,
159 #[serde(rename = "es-EC")]
160 EsEc,
161 #[serde(rename = "es-ES")]
162 EsEs,
163 #[serde(rename = "es-GQ")]
164 EsGq,
165 #[serde(rename = "es-GT")]
166 EsGt,
167 #[serde(rename = "es-HN")]
168 EsHn,
169 #[serde(rename = "es-MX")]
170 EsMx,
171 #[serde(rename = "es-NI")]
172 EsNi,
173 #[serde(rename = "es-PA")]
174 EsPa,
175 #[serde(rename = "es-PE")]
176 EsPe,
177 #[serde(rename = "es-PR")]
178 EsPr,
179 #[serde(rename = "es-PY")]
180 EsPy,
181 #[serde(rename = "es-SV")]
182 EsSv,
183 #[serde(rename = "es-US")]
184 EsUs,
185 #[serde(rename = "es-UY")]
186 EsUy,
187 #[serde(rename = "es-VE")]
188 EsVe,
189 #[serde(rename = "et-EE")]
190 EtEe,
191 #[serde(rename = "eu-ES")]
192 EuEs,
193 #[serde(rename = "fa-IR")]
194 FaIr,
195 #[serde(rename = "fi-FI")]
196 FiFi,
197 #[serde(rename = "fil-PH")]
198 FilPh,
199 #[serde(rename = "fr-BE")]
200 FrBe,
201 #[serde(rename = "fr-CA")]
202 FrCa,
203 #[serde(rename = "fr-CH")]
204 FrCh,
205 #[serde(rename = "fr-FR")]
206 FrFr,
207 #[serde(rename = "ga-IE")]
208 GaIe,
209 #[serde(rename = "gl-ES")]
210 GlEs,
211 #[serde(rename = "gu-IN")]
212 GuIn,
213 #[serde(rename = "he-IL")]
214 HeIl,
215 #[serde(rename = "hi-IN")]
216 HiIn,
217 #[serde(rename = "hr-HR")]
218 HrHr,
219 #[serde(rename = "hu-HU")]
220 HuHu,
221 #[serde(rename = "hy-AM")]
222 HyAm,
223 #[serde(rename = "id-ID")]
224 IdId,
225 #[serde(rename = "is-IS")]
226 IsIs,
227 #[serde(rename = "it-CH")]
228 ItCh,
229 #[serde(rename = "it-IT")]
230 ItIt,
231 #[serde(rename = "ja-JP")]
232 JaJp,
233 #[serde(rename = "jv-ID")]
234 JvId,
235 #[serde(rename = "ka-GE")]
236 KaGe,
237 #[serde(rename = "kk-KZ")]
238 KkKz,
239 #[serde(rename = "km-KH")]
240 KmKh,
241 #[serde(rename = "kn-IN")]
242 KnIn,
243 #[serde(rename = "ko-KR")]
244 KoKr,
245 #[serde(rename = "lo-LA")]
246 LoLa,
247 #[serde(rename = "lt-LT")]
248 LtLt,
249 #[serde(rename = "lv-LV")]
250 LvLv,
251 #[serde(rename = "mk-MK")]
252 MkMk,
253 #[serde(rename = "ml-IN")]
254 MlIn,
255 #[serde(rename = "mn-MN")]
256 MnMn,
257 #[serde(rename = "mr-IN")]
258 MrIn,
259 #[serde(rename = "ms-MY")]
260 MsMy,
261 #[serde(rename = "mt-MT")]
262 MtMt,
263 #[serde(rename = "my-MM")]
264 MyMm,
265 #[serde(rename = "nb-NO")]
266 NbNo,
267 #[serde(rename = "ne-NP")]
268 NeNp,
269 #[serde(rename = "nl-BE")]
270 NlBe,
271 #[serde(rename = "nl-NL")]
272 NlNl,
273 #[serde(rename = "pa-IN")]
274 PaIn,
275 #[serde(rename = "pl-PL")]
276 PlPl,
277 #[serde(rename = "ps-AF")]
278 PsAf,
279 #[serde(rename = "pt-BR")]
280 PtBr,
281 #[serde(rename = "pt-PT")]
282 PtPt,
283 #[serde(rename = "ro-RO")]
284 RoRo,
285 #[serde(rename = "ru-RU")]
286 RuRu,
287 #[serde(rename = "si-LK")]
288 SiLk,
289 #[serde(rename = "sk-SK")]
290 SkSk,
291 #[serde(rename = "sl-SI")]
292 SlSi,
293 #[serde(rename = "so-SO")]
294 SoSo,
295 #[serde(rename = "sq-AL")]
296 SqAl,
297 #[serde(rename = "sr-RS")]
298 SrRs,
299 #[serde(rename = "sv-SE")]
300 SvSe,
301 #[serde(rename = "sw-KE")]
302 SwKe,
303 #[serde(rename = "sw-TZ")]
304 SwTz,
305 #[serde(rename = "ta-IN")]
306 TaIn,
307 #[serde(rename = "te-IN")]
308 TeIn,
309 #[serde(rename = "th-TH")]
310 ThTh,
311 #[serde(rename = "tr-TR")]
312 TrTr,
313 #[serde(rename = "uk-UA")]
314 UkUa,
315 #[serde(rename = "ur-IN")]
316 UrIn,
317 #[serde(rename = "uz-UZ")]
318 UzUz,
319 #[serde(rename = "vi-VN")]
320 ViVn,
321 #[serde(rename = "wuu-CN")]
322 WuuCn,
323 #[serde(rename = "yue-CN")]
324 YueCn,
325 #[serde(rename = "zh-CN")]
326 ZhCn,
327 #[serde(rename = "zh-CN-shandong")]
328 ZhCnShandong,
329 #[serde(rename = "zh-CN-sichuan")]
330 ZhCnSichuan,
331 #[serde(rename = "zh-HK")]
332 ZhHk,
333 #[serde(rename = "zh-TW")]
334 ZhTw,
335 #[serde(rename = "zu-ZA")]
336 ZuZa,
337}
338
339impl Default for LanguageTrue {
340 fn default() -> LanguageTrue {
341 Self::AfZa
342 }
343}