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