Skip to main content

clickhouse_cloud_api/
models.rs

1//! Typed models for ClickHouse Cloud API schemas.
2//!
3//! Auto-generated from the OpenAPI specification.
4
5use serde::{Deserialize, Serialize};
6
7/// `pgHaType` enum from the ClickHouse Cloud API.
8#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9pub enum PgHaType {
10    #[serde(rename = "none")]
11    #[default]
12    None,
13    #[serde(rename = "async")]
14    Async,
15    #[serde(rename = "sync")]
16    Sync,
17    /// Catch-all for unknown or newly-added values.
18    #[serde(untagged)]
19    Unknown(String),
20}
21
22impl std::fmt::Display for PgHaType {
23    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
24        match self {
25            Self::None => write!(f, "none"),
26            Self::Async => write!(f, "async"),
27            Self::Sync => write!(f, "sync"),
28            Self::Unknown(s) => write!(f, "{s}"),
29        }
30    }
31}
32
33/// `pgProvider` enum from the ClickHouse Cloud API.
34#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
35pub enum PgProvider {
36    #[serde(rename = "aws")]
37    #[default]
38    Aws,
39    /// Catch-all for unknown or newly-added values.
40    #[serde(untagged)]
41    Unknown(String),
42}
43
44impl std::fmt::Display for PgProvider {
45    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
46        match self {
47            Self::Aws => write!(f, "aws"),
48            Self::Unknown(s) => write!(f, "{s}"),
49        }
50    }
51}
52
53/// `pgSize` enum from the ClickHouse Cloud API.
54#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
55pub enum PgSize {
56    #[serde(rename = "c6gd.medium")]
57    #[default]
58    C6gd_medium,
59    #[serde(rename = "c6gd.large")]
60    C6gd_large,
61    #[serde(rename = "c6gd.xlarge")]
62    C6gd_xlarge,
63    #[serde(rename = "c6gd.2xlarge")]
64    C6gd_2xlarge,
65    #[serde(rename = "c6gd.4xlarge")]
66    C6gd_4xlarge,
67    #[serde(rename = "c6gd.8xlarge")]
68    C6gd_8xlarge,
69    #[serde(rename = "c6gd.12xlarge")]
70    C6gd_12xlarge,
71    #[serde(rename = "c6gd.16xlarge")]
72    C6gd_16xlarge,
73    #[serde(rename = "c6gd.metal")]
74    C6gd_metal,
75    #[serde(rename = "i7i.large")]
76    I7i_large,
77    #[serde(rename = "i7i.xlarge")]
78    I7i_xlarge,
79    #[serde(rename = "i7i.2xlarge")]
80    I7i_2xlarge,
81    #[serde(rename = "i7i.4xlarge")]
82    I7i_4xlarge,
83    #[serde(rename = "i7i.8xlarge")]
84    I7i_8xlarge,
85    #[serde(rename = "i7i.12xlarge")]
86    I7i_12xlarge,
87    #[serde(rename = "i7i.16xlarge")]
88    I7i_16xlarge,
89    #[serde(rename = "i7i.24xlarge")]
90    I7i_24xlarge,
91    #[serde(rename = "i7i.metal-24xl")]
92    I7i_metal_24xl,
93    #[serde(rename = "i7i.48xlarge")]
94    I7i_48xlarge,
95    #[serde(rename = "i7i.metal-48xl")]
96    I7i_metal_48xl,
97    #[serde(rename = "i7ie.large")]
98    I7ie_large,
99    #[serde(rename = "i7ie.xlarge")]
100    I7ie_xlarge,
101    #[serde(rename = "i7ie.2xlarge")]
102    I7ie_2xlarge,
103    #[serde(rename = "i7ie.3xlarge")]
104    I7ie_3xlarge,
105    #[serde(rename = "i7ie.6xlarge")]
106    I7ie_6xlarge,
107    #[serde(rename = "i7ie.12xlarge")]
108    I7ie_12xlarge,
109    #[serde(rename = "i7ie.18xlarge")]
110    I7ie_18xlarge,
111    #[serde(rename = "i7ie.24xlarge")]
112    I7ie_24xlarge,
113    #[serde(rename = "i7ie.metal-24xl")]
114    I7ie_metal_24xl,
115    #[serde(rename = "i7ie.48xlarge")]
116    I7ie_48xlarge,
117    #[serde(rename = "i7ie.metal-48xl")]
118    I7ie_metal_48xl,
119    #[serde(rename = "i8g.large")]
120    I8g_large,
121    #[serde(rename = "i8g.xlarge")]
122    I8g_xlarge,
123    #[serde(rename = "i8g.2xlarge")]
124    I8g_2xlarge,
125    #[serde(rename = "i8g.4xlarge")]
126    I8g_4xlarge,
127    #[serde(rename = "i8g.8xlarge")]
128    I8g_8xlarge,
129    #[serde(rename = "i8g.12xlarge")]
130    I8g_12xlarge,
131    #[serde(rename = "i8g.16xlarge")]
132    I8g_16xlarge,
133    #[serde(rename = "i8g.24xlarge")]
134    I8g_24xlarge,
135    #[serde(rename = "i8g.metal-24xl")]
136    I8g_metal_24xl,
137    #[serde(rename = "i8g.48xlarge")]
138    I8g_48xlarge,
139    #[serde(rename = "i8ge.large")]
140    I8ge_large,
141    #[serde(rename = "i8ge.xlarge")]
142    I8ge_xlarge,
143    #[serde(rename = "i8ge.2xlarge")]
144    I8ge_2xlarge,
145    #[serde(rename = "i8ge.3xlarge")]
146    I8ge_3xlarge,
147    #[serde(rename = "i8ge.6xlarge")]
148    I8ge_6xlarge,
149    #[serde(rename = "i8ge.12xlarge")]
150    I8ge_12xlarge,
151    #[serde(rename = "i8ge.18xlarge")]
152    I8ge_18xlarge,
153    #[serde(rename = "i8ge.24xlarge")]
154    I8ge_24xlarge,
155    #[serde(rename = "i8ge.metal-24xl")]
156    I8ge_metal_24xl,
157    #[serde(rename = "i8ge.48xlarge")]
158    I8ge_48xlarge,
159    #[serde(rename = "i8ge.metal-48xl")]
160    I8ge_metal_48xl,
161    #[serde(rename = "m6a.large")]
162    M6a_large,
163    #[serde(rename = "m6a.xlarge")]
164    M6a_xlarge,
165    #[serde(rename = "m6a.2xlarge")]
166    M6a_2xlarge,
167    #[serde(rename = "m6a.4xlarge")]
168    M6a_4xlarge,
169    #[serde(rename = "m6a.8xlarge")]
170    M6a_8xlarge,
171    #[serde(rename = "m6a.12xlarge")]
172    M6a_12xlarge,
173    #[serde(rename = "m6a.16xlarge")]
174    M6a_16xlarge,
175    #[serde(rename = "m6a.24xlarge")]
176    M6a_24xlarge,
177    #[serde(rename = "m6a.32xlarge")]
178    M6a_32xlarge,
179    #[serde(rename = "m6a.48xlarge")]
180    M6a_48xlarge,
181    #[serde(rename = "m6a.metal")]
182    M6a_metal,
183    #[serde(rename = "m6gd.medium")]
184    M6gd_medium,
185    #[serde(rename = "m6gd.large")]
186    M6gd_large,
187    #[serde(rename = "m6gd.xlarge")]
188    M6gd_xlarge,
189    #[serde(rename = "m6gd.2xlarge")]
190    M6gd_2xlarge,
191    #[serde(rename = "m6gd.4xlarge")]
192    M6gd_4xlarge,
193    #[serde(rename = "m6gd.8xlarge")]
194    M6gd_8xlarge,
195    #[serde(rename = "m6gd.12xlarge")]
196    M6gd_12xlarge,
197    #[serde(rename = "m6gd.16xlarge")]
198    M6gd_16xlarge,
199    #[serde(rename = "m6gd.metal")]
200    M6gd_metal,
201    #[serde(rename = "m6id.large")]
202    M6id_large,
203    #[serde(rename = "m6id.xlarge")]
204    M6id_xlarge,
205    #[serde(rename = "m6id.2xlarge")]
206    M6id_2xlarge,
207    #[serde(rename = "m6id.4xlarge")]
208    M6id_4xlarge,
209    #[serde(rename = "m6id.8xlarge")]
210    M6id_8xlarge,
211    #[serde(rename = "m6id.12xlarge")]
212    M6id_12xlarge,
213    #[serde(rename = "m6id.16xlarge")]
214    M6id_16xlarge,
215    #[serde(rename = "m6id.24xlarge")]
216    M6id_24xlarge,
217    #[serde(rename = "m6id.32xlarge")]
218    M6id_32xlarge,
219    #[serde(rename = "m6id.metal")]
220    M6id_metal,
221    #[serde(rename = "m7a.medium")]
222    M7a_medium,
223    #[serde(rename = "m7a.large")]
224    M7a_large,
225    #[serde(rename = "m7a.xlarge")]
226    M7a_xlarge,
227    #[serde(rename = "m7a.2xlarge")]
228    M7a_2xlarge,
229    #[serde(rename = "m7a.4xlarge")]
230    M7a_4xlarge,
231    #[serde(rename = "m7a.8xlarge")]
232    M7a_8xlarge,
233    #[serde(rename = "m7a.12xlarge")]
234    M7a_12xlarge,
235    #[serde(rename = "m7a.16xlarge")]
236    M7a_16xlarge,
237    #[serde(rename = "m7a.24xlarge")]
238    M7a_24xlarge,
239    #[serde(rename = "m7a.32xlarge")]
240    M7a_32xlarge,
241    #[serde(rename = "m7a.48xlarge")]
242    M7a_48xlarge,
243    #[serde(rename = "m7a.metal-48xl")]
244    M7a_metal_48xl,
245    #[serde(rename = "m7i.large")]
246    M7i_large,
247    #[serde(rename = "m7i.xlarge")]
248    M7i_xlarge,
249    #[serde(rename = "m7i.2xlarge")]
250    M7i_2xlarge,
251    #[serde(rename = "m7i.4xlarge")]
252    M7i_4xlarge,
253    #[serde(rename = "m7i.8xlarge")]
254    M7i_8xlarge,
255    #[serde(rename = "m7i.12xlarge")]
256    M7i_12xlarge,
257    #[serde(rename = "m7i.16xlarge")]
258    M7i_16xlarge,
259    #[serde(rename = "m7i.24xlarge")]
260    M7i_24xlarge,
261    #[serde(rename = "m7i.metal-24xl")]
262    M7i_metal_24xl,
263    #[serde(rename = "m7i.48xlarge")]
264    M7i_48xlarge,
265    #[serde(rename = "m7i.metal-48xl")]
266    M7i_metal_48xl,
267    #[serde(rename = "m8gd.medium")]
268    M8gd_medium,
269    #[serde(rename = "m8gd.large")]
270    M8gd_large,
271    #[serde(rename = "m8gd.xlarge")]
272    M8gd_xlarge,
273    #[serde(rename = "m8gd.2xlarge")]
274    M8gd_2xlarge,
275    #[serde(rename = "m8gd.4xlarge")]
276    M8gd_4xlarge,
277    #[serde(rename = "m8gd.8xlarge")]
278    M8gd_8xlarge,
279    #[serde(rename = "m8gd.12xlarge")]
280    M8gd_12xlarge,
281    #[serde(rename = "m8gd.16xlarge")]
282    M8gd_16xlarge,
283    #[serde(rename = "m8gd.24xlarge")]
284    M8gd_24xlarge,
285    #[serde(rename = "m8gd.metal-24xl")]
286    M8gd_metal_24xl,
287    #[serde(rename = "m8gd.48xlarge")]
288    M8gd_48xlarge,
289    #[serde(rename = "m8gd.metal-48xl")]
290    M8gd_metal_48xl,
291    #[serde(rename = "r6gd.medium")]
292    R6gd_medium,
293    #[serde(rename = "r6gd.large")]
294    R6gd_large,
295    #[serde(rename = "r6gd.xlarge")]
296    R6gd_xlarge,
297    #[serde(rename = "r6gd.2xlarge")]
298    R6gd_2xlarge,
299    #[serde(rename = "r6gd.4xlarge")]
300    R6gd_4xlarge,
301    #[serde(rename = "r6gd.8xlarge")]
302    R6gd_8xlarge,
303    #[serde(rename = "r6gd.12xlarge")]
304    R6gd_12xlarge,
305    #[serde(rename = "r6gd.16xlarge")]
306    R6gd_16xlarge,
307    #[serde(rename = "r6gd.metal")]
308    R6gd_metal,
309    #[serde(rename = "r6id.large")]
310    R6id_large,
311    #[serde(rename = "r6id.xlarge")]
312    R6id_xlarge,
313    #[serde(rename = "r6id.2xlarge")]
314    R6id_2xlarge,
315    #[serde(rename = "r6id.4xlarge")]
316    R6id_4xlarge,
317    #[serde(rename = "r6id.8xlarge")]
318    R6id_8xlarge,
319    #[serde(rename = "r6id.12xlarge")]
320    R6id_12xlarge,
321    #[serde(rename = "r6id.16xlarge")]
322    R6id_16xlarge,
323    #[serde(rename = "r6id.24xlarge")]
324    R6id_24xlarge,
325    #[serde(rename = "r6id.32xlarge")]
326    R6id_32xlarge,
327    #[serde(rename = "r6id.metal")]
328    R6id_metal,
329    #[serde(rename = "r8gd.medium")]
330    R8gd_medium,
331    #[serde(rename = "r8gd.large")]
332    R8gd_large,
333    #[serde(rename = "r8gd.xlarge")]
334    R8gd_xlarge,
335    #[serde(rename = "r8gd.2xlarge")]
336    R8gd_2xlarge,
337    #[serde(rename = "r8gd.4xlarge")]
338    R8gd_4xlarge,
339    #[serde(rename = "r8gd.8xlarge")]
340    R8gd_8xlarge,
341    #[serde(rename = "r8gd.12xlarge")]
342    R8gd_12xlarge,
343    #[serde(rename = "r8gd.16xlarge")]
344    R8gd_16xlarge,
345    #[serde(rename = "r8gd.24xlarge")]
346    R8gd_24xlarge,
347    #[serde(rename = "r8gd.metal-24xl")]
348    R8gd_metal_24xl,
349    #[serde(rename = "r8gd.48xlarge")]
350    R8gd_48xlarge,
351    #[serde(rename = "r8gd.metal-48xl")]
352    R8gd_metal_48xl,
353    /// Catch-all for unknown or newly-added values.
354    #[serde(untagged)]
355    Unknown(String),
356}
357
358impl std::fmt::Display for PgSize {
359    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
360        match self {
361            Self::C6gd_medium => write!(f, "c6gd.medium"),
362            Self::C6gd_large => write!(f, "c6gd.large"),
363            Self::C6gd_xlarge => write!(f, "c6gd.xlarge"),
364            Self::C6gd_2xlarge => write!(f, "c6gd.2xlarge"),
365            Self::C6gd_4xlarge => write!(f, "c6gd.4xlarge"),
366            Self::C6gd_8xlarge => write!(f, "c6gd.8xlarge"),
367            Self::C6gd_12xlarge => write!(f, "c6gd.12xlarge"),
368            Self::C6gd_16xlarge => write!(f, "c6gd.16xlarge"),
369            Self::C6gd_metal => write!(f, "c6gd.metal"),
370            Self::I7i_large => write!(f, "i7i.large"),
371            Self::I7i_xlarge => write!(f, "i7i.xlarge"),
372            Self::I7i_2xlarge => write!(f, "i7i.2xlarge"),
373            Self::I7i_4xlarge => write!(f, "i7i.4xlarge"),
374            Self::I7i_8xlarge => write!(f, "i7i.8xlarge"),
375            Self::I7i_12xlarge => write!(f, "i7i.12xlarge"),
376            Self::I7i_16xlarge => write!(f, "i7i.16xlarge"),
377            Self::I7i_24xlarge => write!(f, "i7i.24xlarge"),
378            Self::I7i_metal_24xl => write!(f, "i7i.metal-24xl"),
379            Self::I7i_48xlarge => write!(f, "i7i.48xlarge"),
380            Self::I7i_metal_48xl => write!(f, "i7i.metal-48xl"),
381            Self::I7ie_large => write!(f, "i7ie.large"),
382            Self::I7ie_xlarge => write!(f, "i7ie.xlarge"),
383            Self::I7ie_2xlarge => write!(f, "i7ie.2xlarge"),
384            Self::I7ie_3xlarge => write!(f, "i7ie.3xlarge"),
385            Self::I7ie_6xlarge => write!(f, "i7ie.6xlarge"),
386            Self::I7ie_12xlarge => write!(f, "i7ie.12xlarge"),
387            Self::I7ie_18xlarge => write!(f, "i7ie.18xlarge"),
388            Self::I7ie_24xlarge => write!(f, "i7ie.24xlarge"),
389            Self::I7ie_metal_24xl => write!(f, "i7ie.metal-24xl"),
390            Self::I7ie_48xlarge => write!(f, "i7ie.48xlarge"),
391            Self::I7ie_metal_48xl => write!(f, "i7ie.metal-48xl"),
392            Self::I8g_large => write!(f, "i8g.large"),
393            Self::I8g_xlarge => write!(f, "i8g.xlarge"),
394            Self::I8g_2xlarge => write!(f, "i8g.2xlarge"),
395            Self::I8g_4xlarge => write!(f, "i8g.4xlarge"),
396            Self::I8g_8xlarge => write!(f, "i8g.8xlarge"),
397            Self::I8g_12xlarge => write!(f, "i8g.12xlarge"),
398            Self::I8g_16xlarge => write!(f, "i8g.16xlarge"),
399            Self::I8g_24xlarge => write!(f, "i8g.24xlarge"),
400            Self::I8g_metal_24xl => write!(f, "i8g.metal-24xl"),
401            Self::I8g_48xlarge => write!(f, "i8g.48xlarge"),
402            Self::I8ge_large => write!(f, "i8ge.large"),
403            Self::I8ge_xlarge => write!(f, "i8ge.xlarge"),
404            Self::I8ge_2xlarge => write!(f, "i8ge.2xlarge"),
405            Self::I8ge_3xlarge => write!(f, "i8ge.3xlarge"),
406            Self::I8ge_6xlarge => write!(f, "i8ge.6xlarge"),
407            Self::I8ge_12xlarge => write!(f, "i8ge.12xlarge"),
408            Self::I8ge_18xlarge => write!(f, "i8ge.18xlarge"),
409            Self::I8ge_24xlarge => write!(f, "i8ge.24xlarge"),
410            Self::I8ge_metal_24xl => write!(f, "i8ge.metal-24xl"),
411            Self::I8ge_48xlarge => write!(f, "i8ge.48xlarge"),
412            Self::I8ge_metal_48xl => write!(f, "i8ge.metal-48xl"),
413            Self::M6a_large => write!(f, "m6a.large"),
414            Self::M6a_xlarge => write!(f, "m6a.xlarge"),
415            Self::M6a_2xlarge => write!(f, "m6a.2xlarge"),
416            Self::M6a_4xlarge => write!(f, "m6a.4xlarge"),
417            Self::M6a_8xlarge => write!(f, "m6a.8xlarge"),
418            Self::M6a_12xlarge => write!(f, "m6a.12xlarge"),
419            Self::M6a_16xlarge => write!(f, "m6a.16xlarge"),
420            Self::M6a_24xlarge => write!(f, "m6a.24xlarge"),
421            Self::M6a_32xlarge => write!(f, "m6a.32xlarge"),
422            Self::M6a_48xlarge => write!(f, "m6a.48xlarge"),
423            Self::M6a_metal => write!(f, "m6a.metal"),
424            Self::M6gd_medium => write!(f, "m6gd.medium"),
425            Self::M6gd_large => write!(f, "m6gd.large"),
426            Self::M6gd_xlarge => write!(f, "m6gd.xlarge"),
427            Self::M6gd_2xlarge => write!(f, "m6gd.2xlarge"),
428            Self::M6gd_4xlarge => write!(f, "m6gd.4xlarge"),
429            Self::M6gd_8xlarge => write!(f, "m6gd.8xlarge"),
430            Self::M6gd_12xlarge => write!(f, "m6gd.12xlarge"),
431            Self::M6gd_16xlarge => write!(f, "m6gd.16xlarge"),
432            Self::M6gd_metal => write!(f, "m6gd.metal"),
433            Self::M6id_large => write!(f, "m6id.large"),
434            Self::M6id_xlarge => write!(f, "m6id.xlarge"),
435            Self::M6id_2xlarge => write!(f, "m6id.2xlarge"),
436            Self::M6id_4xlarge => write!(f, "m6id.4xlarge"),
437            Self::M6id_8xlarge => write!(f, "m6id.8xlarge"),
438            Self::M6id_12xlarge => write!(f, "m6id.12xlarge"),
439            Self::M6id_16xlarge => write!(f, "m6id.16xlarge"),
440            Self::M6id_24xlarge => write!(f, "m6id.24xlarge"),
441            Self::M6id_32xlarge => write!(f, "m6id.32xlarge"),
442            Self::M6id_metal => write!(f, "m6id.metal"),
443            Self::M7a_medium => write!(f, "m7a.medium"),
444            Self::M7a_large => write!(f, "m7a.large"),
445            Self::M7a_xlarge => write!(f, "m7a.xlarge"),
446            Self::M7a_2xlarge => write!(f, "m7a.2xlarge"),
447            Self::M7a_4xlarge => write!(f, "m7a.4xlarge"),
448            Self::M7a_8xlarge => write!(f, "m7a.8xlarge"),
449            Self::M7a_12xlarge => write!(f, "m7a.12xlarge"),
450            Self::M7a_16xlarge => write!(f, "m7a.16xlarge"),
451            Self::M7a_24xlarge => write!(f, "m7a.24xlarge"),
452            Self::M7a_32xlarge => write!(f, "m7a.32xlarge"),
453            Self::M7a_48xlarge => write!(f, "m7a.48xlarge"),
454            Self::M7a_metal_48xl => write!(f, "m7a.metal-48xl"),
455            Self::M7i_large => write!(f, "m7i.large"),
456            Self::M7i_xlarge => write!(f, "m7i.xlarge"),
457            Self::M7i_2xlarge => write!(f, "m7i.2xlarge"),
458            Self::M7i_4xlarge => write!(f, "m7i.4xlarge"),
459            Self::M7i_8xlarge => write!(f, "m7i.8xlarge"),
460            Self::M7i_12xlarge => write!(f, "m7i.12xlarge"),
461            Self::M7i_16xlarge => write!(f, "m7i.16xlarge"),
462            Self::M7i_24xlarge => write!(f, "m7i.24xlarge"),
463            Self::M7i_metal_24xl => write!(f, "m7i.metal-24xl"),
464            Self::M7i_48xlarge => write!(f, "m7i.48xlarge"),
465            Self::M7i_metal_48xl => write!(f, "m7i.metal-48xl"),
466            Self::M8gd_medium => write!(f, "m8gd.medium"),
467            Self::M8gd_large => write!(f, "m8gd.large"),
468            Self::M8gd_xlarge => write!(f, "m8gd.xlarge"),
469            Self::M8gd_2xlarge => write!(f, "m8gd.2xlarge"),
470            Self::M8gd_4xlarge => write!(f, "m8gd.4xlarge"),
471            Self::M8gd_8xlarge => write!(f, "m8gd.8xlarge"),
472            Self::M8gd_12xlarge => write!(f, "m8gd.12xlarge"),
473            Self::M8gd_16xlarge => write!(f, "m8gd.16xlarge"),
474            Self::M8gd_24xlarge => write!(f, "m8gd.24xlarge"),
475            Self::M8gd_metal_24xl => write!(f, "m8gd.metal-24xl"),
476            Self::M8gd_48xlarge => write!(f, "m8gd.48xlarge"),
477            Self::M8gd_metal_48xl => write!(f, "m8gd.metal-48xl"),
478            Self::R6gd_medium => write!(f, "r6gd.medium"),
479            Self::R6gd_large => write!(f, "r6gd.large"),
480            Self::R6gd_xlarge => write!(f, "r6gd.xlarge"),
481            Self::R6gd_2xlarge => write!(f, "r6gd.2xlarge"),
482            Self::R6gd_4xlarge => write!(f, "r6gd.4xlarge"),
483            Self::R6gd_8xlarge => write!(f, "r6gd.8xlarge"),
484            Self::R6gd_12xlarge => write!(f, "r6gd.12xlarge"),
485            Self::R6gd_16xlarge => write!(f, "r6gd.16xlarge"),
486            Self::R6gd_metal => write!(f, "r6gd.metal"),
487            Self::R6id_large => write!(f, "r6id.large"),
488            Self::R6id_xlarge => write!(f, "r6id.xlarge"),
489            Self::R6id_2xlarge => write!(f, "r6id.2xlarge"),
490            Self::R6id_4xlarge => write!(f, "r6id.4xlarge"),
491            Self::R6id_8xlarge => write!(f, "r6id.8xlarge"),
492            Self::R6id_12xlarge => write!(f, "r6id.12xlarge"),
493            Self::R6id_16xlarge => write!(f, "r6id.16xlarge"),
494            Self::R6id_24xlarge => write!(f, "r6id.24xlarge"),
495            Self::R6id_32xlarge => write!(f, "r6id.32xlarge"),
496            Self::R6id_metal => write!(f, "r6id.metal"),
497            Self::R8gd_medium => write!(f, "r8gd.medium"),
498            Self::R8gd_large => write!(f, "r8gd.large"),
499            Self::R8gd_xlarge => write!(f, "r8gd.xlarge"),
500            Self::R8gd_2xlarge => write!(f, "r8gd.2xlarge"),
501            Self::R8gd_4xlarge => write!(f, "r8gd.4xlarge"),
502            Self::R8gd_8xlarge => write!(f, "r8gd.8xlarge"),
503            Self::R8gd_12xlarge => write!(f, "r8gd.12xlarge"),
504            Self::R8gd_16xlarge => write!(f, "r8gd.16xlarge"),
505            Self::R8gd_24xlarge => write!(f, "r8gd.24xlarge"),
506            Self::R8gd_metal_24xl => write!(f, "r8gd.metal-24xl"),
507            Self::R8gd_48xlarge => write!(f, "r8gd.48xlarge"),
508            Self::R8gd_metal_48xl => write!(f, "r8gd.metal-48xl"),
509            Self::Unknown(s) => write!(f, "{s}"),
510        }
511    }
512}
513
514/// `pgStateProperty` enum from the ClickHouse Cloud API.
515#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
516pub enum PgStateProperty {
517    #[serde(rename = "creating")]
518    #[default]
519    Creating,
520    #[serde(rename = "restarting")]
521    Restarting,
522    #[serde(rename = "running")]
523    Running,
524    #[serde(rename = "replaying_wal")]
525    Replaying_wal,
526    #[serde(rename = "restoring_backup")]
527    Restoring_backup,
528    #[serde(rename = "finalizing_restore")]
529    Finalizing_restore,
530    #[serde(rename = "unavailable")]
531    Unavailable,
532    #[serde(rename = "deleting")]
533    Deleting,
534    /// Catch-all for unknown or newly-added values.
535    #[serde(untagged)]
536    Unknown(String),
537}
538
539impl std::fmt::Display for PgStateProperty {
540    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
541        match self {
542            Self::Creating => write!(f, "creating"),
543            Self::Restarting => write!(f, "restarting"),
544            Self::Running => write!(f, "running"),
545            Self::Replaying_wal => write!(f, "replaying_wal"),
546            Self::Restoring_backup => write!(f, "restoring_backup"),
547            Self::Finalizing_restore => write!(f, "finalizing_restore"),
548            Self::Unavailable => write!(f, "unavailable"),
549            Self::Deleting => write!(f, "deleting"),
550            Self::Unknown(s) => write!(f, "{s}"),
551        }
552    }
553}
554
555/// `pgVersion` enum from the ClickHouse Cloud API.
556#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
557pub enum PgVersion {
558    #[serde(rename = "18")]
559    #[default]
560    _18,
561    #[serde(rename = "17")]
562    _17,
563    #[serde(rename = "16")]
564    _16,
565    /// Catch-all for unknown or newly-added values.
566    #[serde(untagged)]
567    Unknown(String),
568}
569
570impl std::fmt::Display for PgVersion {
571    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
572        match self {
573            Self::_18 => write!(f, "18"),
574            Self::_17 => write!(f, "17"),
575            Self::_16 => write!(f, "16"),
576            Self::Unknown(s) => write!(f, "{s}"),
577        }
578    }
579}
580
581/// Inline enum for `Activity.actorType`.
582#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
583pub enum ActivityActortype {
584    #[serde(rename = "user")]
585    #[default]
586    User,
587    #[serde(rename = "support")]
588    Support,
589    #[serde(rename = "system")]
590    System,
591    #[serde(rename = "api")]
592    Api,
593    /// Catch-all for unknown or newly-added values.
594    #[serde(untagged)]
595    Unknown(String),
596}
597
598impl std::fmt::Display for ActivityActortype {
599    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
600        match self {
601            Self::User => write!(f, "user"),
602            Self::Support => write!(f, "support"),
603            Self::System => write!(f, "system"),
604            Self::Api => write!(f, "api"),
605            Self::Unknown(s) => write!(f, "{s}"),
606        }
607    }
608}
609
610/// Inline enum for `Activity.keyUpdateType`.
611#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
612pub enum ActivityKeyupdatetype {
613    #[serde(rename = "created")]
614    #[default]
615    Created,
616    #[serde(rename = "deleted")]
617    Deleted,
618    #[serde(rename = "name-changed")]
619    Name_changed,
620    #[serde(rename = "role-changed")]
621    Role_changed,
622    #[serde(rename = "state-changed")]
623    State_changed,
624    #[serde(rename = "date-changed")]
625    Date_changed,
626    #[serde(rename = "ip-access-list-changed")]
627    Ip_access_list_changed,
628    #[serde(rename = "org-role-changed")]
629    Org_role_changed,
630    #[serde(rename = "default-service-role-changed")]
631    Default_service_role_changed,
632    #[serde(rename = "service-role-changed")]
633    Service_role_changed,
634    #[serde(rename = "roles-v2-changed")]
635    Roles_v2_changed,
636    /// Catch-all for unknown or newly-added values.
637    #[serde(untagged)]
638    Unknown(String),
639}
640
641impl std::fmt::Display for ActivityKeyupdatetype {
642    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
643        match self {
644            Self::Created => write!(f, "created"),
645            Self::Deleted => write!(f, "deleted"),
646            Self::Name_changed => write!(f, "name-changed"),
647            Self::Role_changed => write!(f, "role-changed"),
648            Self::State_changed => write!(f, "state-changed"),
649            Self::Date_changed => write!(f, "date-changed"),
650            Self::Ip_access_list_changed => write!(f, "ip-access-list-changed"),
651            Self::Org_role_changed => write!(f, "org-role-changed"),
652            Self::Default_service_role_changed => write!(f, "default-service-role-changed"),
653            Self::Service_role_changed => write!(f, "service-role-changed"),
654            Self::Roles_v2_changed => write!(f, "roles-v2-changed"),
655            Self::Unknown(s) => write!(f, "{s}"),
656        }
657    }
658}
659
660/// Inline enum for `Activity.type`.
661#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
662pub enum ActivityType {
663    #[serde(rename = "create_organization")]
664    #[default]
665    Create_organization,
666    #[serde(rename = "organization_update_name")]
667    Organization_update_name,
668    #[serde(rename = "transfer_service_in")]
669    Transfer_service_in,
670    #[serde(rename = "transfer_service_out")]
671    Transfer_service_out,
672    #[serde(rename = "save_payment_method")]
673    Save_payment_method,
674    #[serde(rename = "marketplace_subscription")]
675    Marketplace_subscription,
676    #[serde(rename = "migrate_marketplace_billing_details_in")]
677    Migrate_marketplace_billing_details_in,
678    #[serde(rename = "migrate_marketplace_billing_details_out")]
679    Migrate_marketplace_billing_details_out,
680    #[serde(rename = "organization_update_tier")]
681    Organization_update_tier,
682    #[serde(rename = "organization_invite_create")]
683    Organization_invite_create,
684    #[serde(rename = "organization_invite_delete")]
685    Organization_invite_delete,
686    #[serde(rename = "organization_member_join")]
687    Organization_member_join,
688    #[serde(rename = "organization_member_add")]
689    Organization_member_add,
690    #[serde(rename = "organization_member_leave")]
691    Organization_member_leave,
692    #[serde(rename = "organization_member_delete")]
693    Organization_member_delete,
694    #[serde(rename = "organization_member_update_role")]
695    Organization_member_update_role,
696    #[serde(rename = "organization_member_update_mfa_method")]
697    Organization_member_update_mfa_method,
698    #[serde(rename = "user_login")]
699    User_login,
700    #[serde(rename = "user_login_failed")]
701    User_login_failed,
702    #[serde(rename = "user_logout")]
703    User_logout,
704    #[serde(rename = "key_create")]
705    Key_create,
706    #[serde(rename = "key_delete")]
707    Key_delete,
708    #[serde(rename = "openapi_key_update")]
709    Openapi_key_update,
710    #[serde(rename = "service_create")]
711    Service_create,
712    #[serde(rename = "service_start")]
713    Service_start,
714    #[serde(rename = "service_stop")]
715    Service_stop,
716    #[serde(rename = "service_awaken")]
717    Service_awaken,
718    #[serde(rename = "service_idle")]
719    Service_idle,
720    #[serde(rename = "service_running")]
721    Service_running,
722    #[serde(rename = "service_partially_running")]
723    Service_partially_running,
724    #[serde(rename = "service_delete")]
725    Service_delete,
726    #[serde(rename = "service_update_name")]
727    Service_update_name,
728    #[serde(rename = "service_update_ip_access_list")]
729    Service_update_ip_access_list,
730    #[serde(rename = "service_update_autoscaling_memory")]
731    Service_update_autoscaling_memory,
732    #[serde(rename = "service_update_autoscaling_idling")]
733    Service_update_autoscaling_idling,
734    #[serde(rename = "service_update_password")]
735    Service_update_password,
736    #[serde(rename = "service_update_autoscaling_replicas")]
737    Service_update_autoscaling_replicas,
738    #[serde(rename = "service_update_max_allowable_replicas")]
739    Service_update_max_allowable_replicas,
740    #[serde(rename = "service_update_backup_configuration")]
741    Service_update_backup_configuration,
742    #[serde(rename = "service_restore_backup")]
743    Service_restore_backup,
744    #[serde(rename = "service_update_release_channel")]
745    Service_update_release_channel,
746    #[serde(rename = "service_update_gpt_usage_consent")]
747    Service_update_gpt_usage_consent,
748    #[serde(rename = "service_update_private_endpoints")]
749    Service_update_private_endpoints,
750    #[serde(rename = "service_import_to_organization")]
751    Service_import_to_organization,
752    #[serde(rename = "service_export_from_organization")]
753    Service_export_from_organization,
754    #[serde(rename = "service_maintenance_start")]
755    Service_maintenance_start,
756    #[serde(rename = "service_maintenance_end")]
757    Service_maintenance_end,
758    #[serde(rename = "service_update_core_dump")]
759    Service_update_core_dump,
760    #[serde(rename = "backup_delete")]
761    Backup_delete,
762    /// Catch-all for unknown or newly-added values.
763    #[serde(untagged)]
764    Unknown(String),
765}
766
767impl std::fmt::Display for ActivityType {
768    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
769        match self {
770            Self::Create_organization => write!(f, "create_organization"),
771            Self::Organization_update_name => write!(f, "organization_update_name"),
772            Self::Transfer_service_in => write!(f, "transfer_service_in"),
773            Self::Transfer_service_out => write!(f, "transfer_service_out"),
774            Self::Save_payment_method => write!(f, "save_payment_method"),
775            Self::Marketplace_subscription => write!(f, "marketplace_subscription"),
776            Self::Migrate_marketplace_billing_details_in => write!(f, "migrate_marketplace_billing_details_in"),
777            Self::Migrate_marketplace_billing_details_out => write!(f, "migrate_marketplace_billing_details_out"),
778            Self::Organization_update_tier => write!(f, "organization_update_tier"),
779            Self::Organization_invite_create => write!(f, "organization_invite_create"),
780            Self::Organization_invite_delete => write!(f, "organization_invite_delete"),
781            Self::Organization_member_join => write!(f, "organization_member_join"),
782            Self::Organization_member_add => write!(f, "organization_member_add"),
783            Self::Organization_member_leave => write!(f, "organization_member_leave"),
784            Self::Organization_member_delete => write!(f, "organization_member_delete"),
785            Self::Organization_member_update_role => write!(f, "organization_member_update_role"),
786            Self::Organization_member_update_mfa_method => write!(f, "organization_member_update_mfa_method"),
787            Self::User_login => write!(f, "user_login"),
788            Self::User_login_failed => write!(f, "user_login_failed"),
789            Self::User_logout => write!(f, "user_logout"),
790            Self::Key_create => write!(f, "key_create"),
791            Self::Key_delete => write!(f, "key_delete"),
792            Self::Openapi_key_update => write!(f, "openapi_key_update"),
793            Self::Service_create => write!(f, "service_create"),
794            Self::Service_start => write!(f, "service_start"),
795            Self::Service_stop => write!(f, "service_stop"),
796            Self::Service_awaken => write!(f, "service_awaken"),
797            Self::Service_idle => write!(f, "service_idle"),
798            Self::Service_running => write!(f, "service_running"),
799            Self::Service_partially_running => write!(f, "service_partially_running"),
800            Self::Service_delete => write!(f, "service_delete"),
801            Self::Service_update_name => write!(f, "service_update_name"),
802            Self::Service_update_ip_access_list => write!(f, "service_update_ip_access_list"),
803            Self::Service_update_autoscaling_memory => write!(f, "service_update_autoscaling_memory"),
804            Self::Service_update_autoscaling_idling => write!(f, "service_update_autoscaling_idling"),
805            Self::Service_update_password => write!(f, "service_update_password"),
806            Self::Service_update_autoscaling_replicas => write!(f, "service_update_autoscaling_replicas"),
807            Self::Service_update_max_allowable_replicas => write!(f, "service_update_max_allowable_replicas"),
808            Self::Service_update_backup_configuration => write!(f, "service_update_backup_configuration"),
809            Self::Service_restore_backup => write!(f, "service_restore_backup"),
810            Self::Service_update_release_channel => write!(f, "service_update_release_channel"),
811            Self::Service_update_gpt_usage_consent => write!(f, "service_update_gpt_usage_consent"),
812            Self::Service_update_private_endpoints => write!(f, "service_update_private_endpoints"),
813            Self::Service_import_to_organization => write!(f, "service_import_to_organization"),
814            Self::Service_export_from_organization => write!(f, "service_export_from_organization"),
815            Self::Service_maintenance_start => write!(f, "service_maintenance_start"),
816            Self::Service_maintenance_end => write!(f, "service_maintenance_end"),
817            Self::Service_update_core_dump => write!(f, "service_update_core_dump"),
818            Self::Backup_delete => write!(f, "backup_delete"),
819            Self::Unknown(s) => write!(f, "{s}"),
820        }
821    }
822}
823
824/// Inline enum for `ApiKey.state`.
825#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
826pub enum ApiKeyState {
827    #[serde(rename = "enabled")]
828    #[default]
829    Enabled,
830    #[serde(rename = "disabled")]
831    Disabled,
832    /// Catch-all for unknown or newly-added values.
833    #[serde(untagged)]
834    Unknown(String),
835}
836
837impl std::fmt::Display for ApiKeyState {
838    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
839        match self {
840            Self::Enabled => write!(f, "enabled"),
841            Self::Disabled => write!(f, "disabled"),
842            Self::Unknown(s) => write!(f, "{s}"),
843        }
844    }
845}
846
847/// Inline enum for `ApiKeyPatchRequest.state`.
848#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
849pub enum ApiKeyPatchRequestState {
850    #[serde(rename = "enabled")]
851    #[default]
852    Enabled,
853    #[serde(rename = "disabled")]
854    Disabled,
855    /// Catch-all for unknown or newly-added values.
856    #[serde(untagged)]
857    Unknown(String),
858}
859
860impl std::fmt::Display for ApiKeyPatchRequestState {
861    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
862        match self {
863            Self::Enabled => write!(f, "enabled"),
864            Self::Disabled => write!(f, "disabled"),
865            Self::Unknown(s) => write!(f, "{s}"),
866        }
867    }
868}
869
870/// Inline enum for `ApiKeyPostRequest.state`.
871#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
872pub enum ApiKeyPostRequestState {
873    #[serde(rename = "enabled")]
874    #[default]
875    Enabled,
876    #[serde(rename = "disabled")]
877    Disabled,
878    /// Catch-all for unknown or newly-added values.
879    #[serde(untagged)]
880    Unknown(String),
881}
882
883impl std::fmt::Display for ApiKeyPostRequestState {
884    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
885        match self {
886            Self::Enabled => write!(f, "enabled"),
887            Self::Disabled => write!(f, "disabled"),
888            Self::Unknown(s) => write!(f, "{s}"),
889        }
890    }
891}
892
893/// Inline enum for `AssignedRole.roleType`.
894#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
895pub enum AssignedRoleRoletype {
896    #[serde(rename = "system")]
897    #[default]
898    System,
899    #[serde(rename = "custom")]
900    Custom,
901    /// Catch-all for unknown or newly-added values.
902    #[serde(untagged)]
903    Unknown(String),
904}
905
906impl std::fmt::Display for AssignedRoleRoletype {
907    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
908        match self {
909            Self::System => write!(f, "system"),
910            Self::Custom => write!(f, "custom"),
911            Self::Unknown(s) => write!(f, "{s}"),
912        }
913    }
914}
915
916/// Inline enum for `AwsBackupBucket.bucketProvider`.
917#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
918pub enum AwsBackupBucketBucketprovider {
919    #[default]
920    AWS,
921    /// Catch-all for unknown or newly-added values.
922    #[serde(untagged)]
923    Unknown(String),
924}
925
926impl std::fmt::Display for AwsBackupBucketBucketprovider {
927    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
928        match self {
929            Self::AWS => write!(f, "AWS"),
930            Self::Unknown(s) => write!(f, "{s}"),
931        }
932    }
933}
934
935/// Inline enum for `AwsBackupBucketPatchRequestV1.bucketProvider`.
936#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
937pub enum AwsBackupBucketPatchRequestV1Bucketprovider {
938    #[default]
939    AWS,
940    /// Catch-all for unknown or newly-added values.
941    #[serde(untagged)]
942    Unknown(String),
943}
944
945impl std::fmt::Display for AwsBackupBucketPatchRequestV1Bucketprovider {
946    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
947        match self {
948            Self::AWS => write!(f, "AWS"),
949            Self::Unknown(s) => write!(f, "{s}"),
950        }
951    }
952}
953
954/// Inline enum for `AwsBackupBucketPostRequestV1.bucketProvider`.
955#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
956pub enum AwsBackupBucketPostRequestV1Bucketprovider {
957    #[default]
958    AWS,
959    /// Catch-all for unknown or newly-added values.
960    #[serde(untagged)]
961    Unknown(String),
962}
963
964impl std::fmt::Display for AwsBackupBucketPostRequestV1Bucketprovider {
965    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
966        match self {
967            Self::AWS => write!(f, "AWS"),
968            Self::Unknown(s) => write!(f, "{s}"),
969        }
970    }
971}
972
973/// Inline enum for `AwsBackupBucketProperties.bucketProvider`.
974#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
975pub enum AwsBackupBucketPropertiesBucketprovider {
976    #[default]
977    AWS,
978    /// Catch-all for unknown or newly-added values.
979    #[serde(untagged)]
980    Unknown(String),
981}
982
983impl std::fmt::Display for AwsBackupBucketPropertiesBucketprovider {
984    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
985        match self {
986            Self::AWS => write!(f, "AWS"),
987            Self::Unknown(s) => write!(f, "{s}"),
988        }
989    }
990}
991
992/// Inline enum for `AzureBackupBucket.bucketProvider`.
993#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
994pub enum AzureBackupBucketBucketprovider {
995    #[default]
996    AZURE,
997    /// Catch-all for unknown or newly-added values.
998    #[serde(untagged)]
999    Unknown(String),
1000}
1001
1002impl std::fmt::Display for AzureBackupBucketBucketprovider {
1003    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1004        match self {
1005            Self::AZURE => write!(f, "AZURE"),
1006            Self::Unknown(s) => write!(f, "{s}"),
1007        }
1008    }
1009}
1010
1011/// Inline enum for `AzureBackupBucketPatchRequestV1.bucketProvider`.
1012#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1013pub enum AzureBackupBucketPatchRequestV1Bucketprovider {
1014    #[default]
1015    AZURE,
1016    /// Catch-all for unknown or newly-added values.
1017    #[serde(untagged)]
1018    Unknown(String),
1019}
1020
1021impl std::fmt::Display for AzureBackupBucketPatchRequestV1Bucketprovider {
1022    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1023        match self {
1024            Self::AZURE => write!(f, "AZURE"),
1025            Self::Unknown(s) => write!(f, "{s}"),
1026        }
1027    }
1028}
1029
1030/// Inline enum for `AzureBackupBucketPostRequestV1.bucketProvider`.
1031#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1032pub enum AzureBackupBucketPostRequestV1Bucketprovider {
1033    #[default]
1034    AZURE,
1035    /// Catch-all for unknown or newly-added values.
1036    #[serde(untagged)]
1037    Unknown(String),
1038}
1039
1040impl std::fmt::Display for AzureBackupBucketPostRequestV1Bucketprovider {
1041    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1042        match self {
1043            Self::AZURE => write!(f, "AZURE"),
1044            Self::Unknown(s) => write!(f, "{s}"),
1045        }
1046    }
1047}
1048
1049/// Inline enum for `AzureBackupBucketProperties.bucketProvider`.
1050#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1051pub enum AzureBackupBucketPropertiesBucketprovider {
1052    #[default]
1053    AZURE,
1054    /// Catch-all for unknown or newly-added values.
1055    #[serde(untagged)]
1056    Unknown(String),
1057}
1058
1059impl std::fmt::Display for AzureBackupBucketPropertiesBucketprovider {
1060    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1061        match self {
1062            Self::AZURE => write!(f, "AZURE"),
1063            Self::Unknown(s) => write!(f, "{s}"),
1064        }
1065    }
1066}
1067
1068/// Inline enum for `Backup.status`.
1069#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1070pub enum BackupStatus {
1071    #[serde(rename = "done")]
1072    #[default]
1073    Done,
1074    #[serde(rename = "error")]
1075    Error,
1076    #[serde(rename = "in_progress")]
1077    In_progress,
1078    /// Catch-all for unknown or newly-added values.
1079    #[serde(untagged)]
1080    Unknown(String),
1081}
1082
1083impl std::fmt::Display for BackupStatus {
1084    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1085        match self {
1086            Self::Done => write!(f, "done"),
1087            Self::Error => write!(f, "error"),
1088            Self::In_progress => write!(f, "in_progress"),
1089            Self::Unknown(s) => write!(f, "{s}"),
1090        }
1091    }
1092}
1093
1094/// Inline enum for `Backup.type`.
1095#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1096pub enum BackupType {
1097    #[serde(rename = "full")]
1098    #[default]
1099    Full,
1100    #[serde(rename = "incremental")]
1101    Incremental,
1102    /// Catch-all for unknown or newly-added values.
1103    #[serde(untagged)]
1104    Unknown(String),
1105}
1106
1107impl std::fmt::Display for BackupType {
1108    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1109        match self {
1110            Self::Full => write!(f, "full"),
1111            Self::Incremental => write!(f, "incremental"),
1112            Self::Unknown(s) => write!(f, "{s}"),
1113        }
1114    }
1115}
1116
1117/// Inline enum for `ByocConfig.cloudProvider`.
1118#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1119pub enum ByocConfigCloudprovider {
1120    #[serde(rename = "gcp")]
1121    #[default]
1122    Gcp,
1123    #[serde(rename = "aws")]
1124    Aws,
1125    #[serde(rename = "azure")]
1126    Azure,
1127    /// Catch-all for unknown or newly-added values.
1128    #[serde(untagged)]
1129    Unknown(String),
1130}
1131
1132impl std::fmt::Display for ByocConfigCloudprovider {
1133    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1134        match self {
1135            Self::Gcp => write!(f, "gcp"),
1136            Self::Aws => write!(f, "aws"),
1137            Self::Azure => write!(f, "azure"),
1138            Self::Unknown(s) => write!(f, "{s}"),
1139        }
1140    }
1141}
1142
1143/// Inline enum for `ByocConfig.regionId`.
1144#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1145pub enum ByocConfigRegionid {
1146    #[serde(rename = "ap-northeast-1")]
1147    #[default]
1148    Ap_northeast_1,
1149    #[serde(rename = "ap-northeast-2")]
1150    Ap_northeast_2,
1151    #[serde(rename = "ap-south-1")]
1152    Ap_south_1,
1153    #[serde(rename = "ap-southeast-1")]
1154    Ap_southeast_1,
1155    #[serde(rename = "ap-southeast-2")]
1156    Ap_southeast_2,
1157    #[serde(rename = "eu-central-1")]
1158    Eu_central_1,
1159    #[serde(rename = "eu-west-1")]
1160    Eu_west_1,
1161    #[serde(rename = "eu-west-2")]
1162    Eu_west_2,
1163    #[serde(rename = "il-central-1")]
1164    Il_central_1,
1165    #[serde(rename = "us-east-1")]
1166    Us_east_1,
1167    #[serde(rename = "us-east-2")]
1168    Us_east_2,
1169    #[serde(rename = "us-west-2")]
1170    Us_west_2,
1171    #[serde(rename = "us-east1")]
1172    Us_east1,
1173    #[serde(rename = "us-central1")]
1174    Us_central1,
1175    #[serde(rename = "europe-west4")]
1176    Europe_west4,
1177    #[serde(rename = "asia-southeast1")]
1178    Asia_southeast1,
1179    #[serde(rename = "asia-northeast1")]
1180    Asia_northeast1,
1181    #[serde(rename = "eastus")]
1182    Eastus,
1183    #[serde(rename = "eastus2")]
1184    Eastus2,
1185    #[serde(rename = "westus3")]
1186    Westus3,
1187    #[serde(rename = "germanywestcentral")]
1188    Germanywestcentral,
1189    #[serde(rename = "centralus")]
1190    Centralus,
1191    /// Catch-all for unknown or newly-added values.
1192    #[serde(untagged)]
1193    Unknown(String),
1194}
1195
1196impl std::fmt::Display for ByocConfigRegionid {
1197    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1198        match self {
1199            Self::Ap_northeast_1 => write!(f, "ap-northeast-1"),
1200            Self::Ap_northeast_2 => write!(f, "ap-northeast-2"),
1201            Self::Ap_south_1 => write!(f, "ap-south-1"),
1202            Self::Ap_southeast_1 => write!(f, "ap-southeast-1"),
1203            Self::Ap_southeast_2 => write!(f, "ap-southeast-2"),
1204            Self::Eu_central_1 => write!(f, "eu-central-1"),
1205            Self::Eu_west_1 => write!(f, "eu-west-1"),
1206            Self::Eu_west_2 => write!(f, "eu-west-2"),
1207            Self::Il_central_1 => write!(f, "il-central-1"),
1208            Self::Us_east_1 => write!(f, "us-east-1"),
1209            Self::Us_east_2 => write!(f, "us-east-2"),
1210            Self::Us_west_2 => write!(f, "us-west-2"),
1211            Self::Us_east1 => write!(f, "us-east1"),
1212            Self::Us_central1 => write!(f, "us-central1"),
1213            Self::Europe_west4 => write!(f, "europe-west4"),
1214            Self::Asia_southeast1 => write!(f, "asia-southeast1"),
1215            Self::Asia_northeast1 => write!(f, "asia-northeast1"),
1216            Self::Eastus => write!(f, "eastus"),
1217            Self::Eastus2 => write!(f, "eastus2"),
1218            Self::Westus3 => write!(f, "westus3"),
1219            Self::Germanywestcentral => write!(f, "germanywestcentral"),
1220            Self::Centralus => write!(f, "centralus"),
1221            Self::Unknown(s) => write!(f, "{s}"),
1222        }
1223    }
1224}
1225
1226/// Inline enum for `ByocConfig.state`.
1227#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1228pub enum ByocConfigState {
1229    #[serde(rename = "infra-ready")]
1230    #[default]
1231    Infra_ready,
1232    #[serde(rename = "infra-provisioning")]
1233    Infra_provisioning,
1234    #[serde(rename = "infra-terminated")]
1235    Infra_terminated,
1236    /// Catch-all for unknown or newly-added values.
1237    #[serde(untagged)]
1238    Unknown(String),
1239}
1240
1241impl std::fmt::Display for ByocConfigState {
1242    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1243        match self {
1244            Self::Infra_ready => write!(f, "infra-ready"),
1245            Self::Infra_provisioning => write!(f, "infra-provisioning"),
1246            Self::Infra_terminated => write!(f, "infra-terminated"),
1247            Self::Unknown(s) => write!(f, "{s}"),
1248        }
1249    }
1250}
1251
1252/// Inline enum for `ByocInfrastructurePostRequest.regionId`.
1253#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1254pub enum ByocInfrastructurePostRequestRegionid {
1255    #[serde(rename = "ap-northeast-1")]
1256    #[default]
1257    Ap_northeast_1,
1258    #[serde(rename = "ap-northeast-2")]
1259    Ap_northeast_2,
1260    #[serde(rename = "ap-south-1")]
1261    Ap_south_1,
1262    #[serde(rename = "ap-southeast-1")]
1263    Ap_southeast_1,
1264    #[serde(rename = "ap-southeast-2")]
1265    Ap_southeast_2,
1266    #[serde(rename = "eu-central-1")]
1267    Eu_central_1,
1268    #[serde(rename = "eu-west-1")]
1269    Eu_west_1,
1270    #[serde(rename = "eu-west-2")]
1271    Eu_west_2,
1272    #[serde(rename = "il-central-1")]
1273    Il_central_1,
1274    #[serde(rename = "us-east-1")]
1275    Us_east_1,
1276    #[serde(rename = "us-east-2")]
1277    Us_east_2,
1278    #[serde(rename = "us-west-2")]
1279    Us_west_2,
1280    #[serde(rename = "us-east1")]
1281    Us_east1,
1282    #[serde(rename = "us-central1")]
1283    Us_central1,
1284    #[serde(rename = "europe-west4")]
1285    Europe_west4,
1286    #[serde(rename = "asia-southeast1")]
1287    Asia_southeast1,
1288    #[serde(rename = "asia-northeast1")]
1289    Asia_northeast1,
1290    #[serde(rename = "eastus")]
1291    Eastus,
1292    #[serde(rename = "eastus2")]
1293    Eastus2,
1294    #[serde(rename = "westus3")]
1295    Westus3,
1296    #[serde(rename = "germanywestcentral")]
1297    Germanywestcentral,
1298    #[serde(rename = "centralus")]
1299    Centralus,
1300    /// Catch-all for unknown or newly-added values.
1301    #[serde(untagged)]
1302    Unknown(String),
1303}
1304
1305impl std::fmt::Display for ByocInfrastructurePostRequestRegionid {
1306    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1307        match self {
1308            Self::Ap_northeast_1 => write!(f, "ap-northeast-1"),
1309            Self::Ap_northeast_2 => write!(f, "ap-northeast-2"),
1310            Self::Ap_south_1 => write!(f, "ap-south-1"),
1311            Self::Ap_southeast_1 => write!(f, "ap-southeast-1"),
1312            Self::Ap_southeast_2 => write!(f, "ap-southeast-2"),
1313            Self::Eu_central_1 => write!(f, "eu-central-1"),
1314            Self::Eu_west_1 => write!(f, "eu-west-1"),
1315            Self::Eu_west_2 => write!(f, "eu-west-2"),
1316            Self::Il_central_1 => write!(f, "il-central-1"),
1317            Self::Us_east_1 => write!(f, "us-east-1"),
1318            Self::Us_east_2 => write!(f, "us-east-2"),
1319            Self::Us_west_2 => write!(f, "us-west-2"),
1320            Self::Us_east1 => write!(f, "us-east1"),
1321            Self::Us_central1 => write!(f, "us-central1"),
1322            Self::Europe_west4 => write!(f, "europe-west4"),
1323            Self::Asia_southeast1 => write!(f, "asia-southeast1"),
1324            Self::Asia_northeast1 => write!(f, "asia-northeast1"),
1325            Self::Eastus => write!(f, "eastus"),
1326            Self::Eastus2 => write!(f, "eastus2"),
1327            Self::Westus3 => write!(f, "westus3"),
1328            Self::Germanywestcentral => write!(f, "germanywestcentral"),
1329            Self::Centralus => write!(f, "centralus"),
1330            Self::Unknown(s) => write!(f, "{s}"),
1331        }
1332    }
1333}
1334
1335/// Inline enum for `ClickPipe.state`.
1336#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1337pub enum ClickPipeState {
1338    #[default]
1339    Unknown,
1340    Provisioning,
1341    Running,
1342    Stopping,
1343    Stopped,
1344    Failed,
1345    Completed,
1346    InternalError,
1347    Setup,
1348    Snapshot,
1349    Paused,
1350    Pausing,
1351    Modifying,
1352    Resync,
1353    /// Catch-all for unknown or newly-added values.
1354    #[serde(untagged)]
1355    Other(String),
1356}
1357
1358impl std::fmt::Display for ClickPipeState {
1359    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1360        match self {
1361            Self::Unknown => write!(f, "Unknown"),
1362            Self::Provisioning => write!(f, "Provisioning"),
1363            Self::Running => write!(f, "Running"),
1364            Self::Stopping => write!(f, "Stopping"),
1365            Self::Stopped => write!(f, "Stopped"),
1366            Self::Failed => write!(f, "Failed"),
1367            Self::Completed => write!(f, "Completed"),
1368            Self::InternalError => write!(f, "InternalError"),
1369            Self::Setup => write!(f, "Setup"),
1370            Self::Snapshot => write!(f, "Snapshot"),
1371            Self::Paused => write!(f, "Paused"),
1372            Self::Pausing => write!(f, "Pausing"),
1373            Self::Modifying => write!(f, "Modifying"),
1374            Self::Resync => write!(f, "Resync"),
1375            Self::Other(s) => write!(f, "{s}"),
1376        }
1377    }
1378}
1379
1380/// Inline enum for `ClickPipeBigQueryPipeSettings.replicationMode`.
1381#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1382pub enum ClickPipeBigQueryPipeSettingsReplicationmode {
1383    #[serde(rename = "snapshot")]
1384    #[default]
1385    Snapshot,
1386    /// Catch-all for unknown or newly-added values.
1387    #[serde(untagged)]
1388    Unknown(String),
1389}
1390
1391impl std::fmt::Display for ClickPipeBigQueryPipeSettingsReplicationmode {
1392    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1393        match self {
1394            Self::Snapshot => write!(f, "snapshot"),
1395            Self::Unknown(s) => write!(f, "{s}"),
1396        }
1397    }
1398}
1399
1400/// Inline enum for `ClickPipeBigQueryPipeTableMapping.tableEngine`.
1401#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1402pub enum ClickPipeBigQueryPipeTableMappingTableengine {
1403    #[default]
1404    MergeTree,
1405    ReplacingMergeTree,
1406    Null,
1407    /// Catch-all for unknown or newly-added values.
1408    #[serde(untagged)]
1409    Unknown(String),
1410}
1411
1412impl std::fmt::Display for ClickPipeBigQueryPipeTableMappingTableengine {
1413    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1414        match self {
1415            Self::MergeTree => write!(f, "MergeTree"),
1416            Self::ReplacingMergeTree => write!(f, "ReplacingMergeTree"),
1417            Self::Null => write!(f, "Null"),
1418            Self::Unknown(s) => write!(f, "{s}"),
1419        }
1420    }
1421}
1422
1423/// Inline enum for `ClickPipeDestinationTableEngine.type`.
1424#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1425pub enum ClickPipeDestinationTableEngineType {
1426    #[default]
1427    MergeTree,
1428    ReplacingMergeTree,
1429    SummingMergeTree,
1430    Null,
1431    /// Catch-all for unknown or newly-added values.
1432    #[serde(untagged)]
1433    Unknown(String),
1434}
1435
1436impl std::fmt::Display for ClickPipeDestinationTableEngineType {
1437    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1438        match self {
1439            Self::MergeTree => write!(f, "MergeTree"),
1440            Self::ReplacingMergeTree => write!(f, "ReplacingMergeTree"),
1441            Self::SummingMergeTree => write!(f, "SummingMergeTree"),
1442            Self::Null => write!(f, "Null"),
1443            Self::Unknown(s) => write!(f, "{s}"),
1444        }
1445    }
1446}
1447
1448/// Inline enum for `ClickPipeKafkaOffset.strategy`.
1449#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1450pub enum ClickPipeKafkaOffsetStrategy {
1451    #[serde(rename = "from_beginning")]
1452    #[default]
1453    From_beginning,
1454    #[serde(rename = "from_latest")]
1455    From_latest,
1456    #[serde(rename = "from_timestamp")]
1457    From_timestamp,
1458    /// Catch-all for unknown or newly-added values.
1459    #[serde(untagged)]
1460    Unknown(String),
1461}
1462
1463impl std::fmt::Display for ClickPipeKafkaOffsetStrategy {
1464    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1465        match self {
1466            Self::From_beginning => write!(f, "from_beginning"),
1467            Self::From_latest => write!(f, "from_latest"),
1468            Self::From_timestamp => write!(f, "from_timestamp"),
1469            Self::Unknown(s) => write!(f, "{s}"),
1470        }
1471    }
1472}
1473
1474/// Inline enum for `ClickPipeKafkaSchemaRegistry.authentication`.
1475#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1476pub enum ClickPipeKafkaSchemaRegistryAuthentication {
1477    #[default]
1478    PLAIN,
1479    /// Catch-all for unknown or newly-added values.
1480    #[serde(untagged)]
1481    Unknown(String),
1482}
1483
1484impl std::fmt::Display for ClickPipeKafkaSchemaRegistryAuthentication {
1485    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1486        match self {
1487            Self::PLAIN => write!(f, "PLAIN"),
1488            Self::Unknown(s) => write!(f, "{s}"),
1489        }
1490    }
1491}
1492
1493/// Inline enum for `ClickPipeKafkaSource.authentication`.
1494#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1495pub enum ClickPipeKafkaSourceAuthentication {
1496    #[default]
1497    PLAIN,
1498    #[serde(rename = "SCRAM-SHA-256")]
1499    SCRAM_SHA_256,
1500    #[serde(rename = "SCRAM-SHA-512")]
1501    SCRAM_SHA_512,
1502    IAM_ROLE,
1503    IAM_USER,
1504    MUTUAL_TLS,
1505    /// Catch-all for unknown or newly-added values.
1506    #[serde(untagged)]
1507    Unknown(String),
1508}
1509
1510impl std::fmt::Display for ClickPipeKafkaSourceAuthentication {
1511    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1512        match self {
1513            Self::PLAIN => write!(f, "PLAIN"),
1514            Self::SCRAM_SHA_256 => write!(f, "SCRAM-SHA-256"),
1515            Self::SCRAM_SHA_512 => write!(f, "SCRAM-SHA-512"),
1516            Self::IAM_ROLE => write!(f, "IAM_ROLE"),
1517            Self::IAM_USER => write!(f, "IAM_USER"),
1518            Self::MUTUAL_TLS => write!(f, "MUTUAL_TLS"),
1519            Self::Unknown(s) => write!(f, "{s}"),
1520        }
1521    }
1522}
1523
1524/// Inline enum for `ClickPipeKafkaSource.format`.
1525#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1526pub enum ClickPipeKafkaSourceFormat {
1527    #[default]
1528    JSONEachRow,
1529    Avro,
1530    AvroConfluent,
1531    Protobuf,
1532    /// Catch-all for unknown or newly-added values.
1533    #[serde(untagged)]
1534    Unknown(String),
1535}
1536
1537impl std::fmt::Display for ClickPipeKafkaSourceFormat {
1538    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1539        match self {
1540            Self::JSONEachRow => write!(f, "JSONEachRow"),
1541            Self::Avro => write!(f, "Avro"),
1542            Self::AvroConfluent => write!(f, "AvroConfluent"),
1543            Self::Protobuf => write!(f, "Protobuf"),
1544            Self::Unknown(s) => write!(f, "{s}"),
1545        }
1546    }
1547}
1548
1549/// Inline enum for `ClickPipeKafkaSource.type`.
1550#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1551pub enum ClickPipeKafkaSourceType {
1552    #[serde(rename = "kafka")]
1553    #[default]
1554    Kafka,
1555    #[serde(rename = "redpanda")]
1556    Redpanda,
1557    #[serde(rename = "msk")]
1558    Msk,
1559    #[serde(rename = "gcmk")]
1560    Gcmk,
1561    #[serde(rename = "confluent")]
1562    Confluent,
1563    #[serde(rename = "warpstream")]
1564    Warpstream,
1565    #[serde(rename = "azureeventhub")]
1566    Azureeventhub,
1567    #[serde(rename = "dokafka")]
1568    Dokafka,
1569    /// Catch-all for unknown or newly-added values.
1570    #[serde(untagged)]
1571    Unknown(String),
1572}
1573
1574impl std::fmt::Display for ClickPipeKafkaSourceType {
1575    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1576        match self {
1577            Self::Kafka => write!(f, "kafka"),
1578            Self::Redpanda => write!(f, "redpanda"),
1579            Self::Msk => write!(f, "msk"),
1580            Self::Gcmk => write!(f, "gcmk"),
1581            Self::Confluent => write!(f, "confluent"),
1582            Self::Warpstream => write!(f, "warpstream"),
1583            Self::Azureeventhub => write!(f, "azureeventhub"),
1584            Self::Dokafka => write!(f, "dokafka"),
1585            Self::Unknown(s) => write!(f, "{s}"),
1586        }
1587    }
1588}
1589
1590/// Inline enum for `ClickPipeKinesisSource.authentication`.
1591#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1592pub enum ClickPipeKinesisSourceAuthentication {
1593    #[default]
1594    IAM_ROLE,
1595    IAM_USER,
1596    /// Catch-all for unknown or newly-added values.
1597    #[serde(untagged)]
1598    Unknown(String),
1599}
1600
1601impl std::fmt::Display for ClickPipeKinesisSourceAuthentication {
1602    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1603        match self {
1604            Self::IAM_ROLE => write!(f, "IAM_ROLE"),
1605            Self::IAM_USER => write!(f, "IAM_USER"),
1606            Self::Unknown(s) => write!(f, "{s}"),
1607        }
1608    }
1609}
1610
1611/// Inline enum for `ClickPipeKinesisSource.format`.
1612#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1613pub enum ClickPipeKinesisSourceFormat {
1614    #[default]
1615    JSONEachRow,
1616    Avro,
1617    AvroConfluent,
1618    /// Catch-all for unknown or newly-added values.
1619    #[serde(untagged)]
1620    Unknown(String),
1621}
1622
1623impl std::fmt::Display for ClickPipeKinesisSourceFormat {
1624    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1625        match self {
1626            Self::JSONEachRow => write!(f, "JSONEachRow"),
1627            Self::Avro => write!(f, "Avro"),
1628            Self::AvroConfluent => write!(f, "AvroConfluent"),
1629            Self::Unknown(s) => write!(f, "{s}"),
1630        }
1631    }
1632}
1633
1634/// Inline enum for `ClickPipeKinesisSource.iteratorType`.
1635#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1636pub enum ClickPipeKinesisSourceIteratortype {
1637    #[default]
1638    TRIM_HORIZON,
1639    LATEST,
1640    AT_TIMESTAMP,
1641    /// Catch-all for unknown or newly-added values.
1642    #[serde(untagged)]
1643    Unknown(String),
1644}
1645
1646impl std::fmt::Display for ClickPipeKinesisSourceIteratortype {
1647    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1648        match self {
1649            Self::TRIM_HORIZON => write!(f, "TRIM_HORIZON"),
1650            Self::LATEST => write!(f, "LATEST"),
1651            Self::AT_TIMESTAMP => write!(f, "AT_TIMESTAMP"),
1652            Self::Unknown(s) => write!(f, "{s}"),
1653        }
1654    }
1655}
1656
1657/// Inline enum for `ClickPipeMongoDBPipeSettings.replicationMode`.
1658#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1659pub enum ClickPipeMongoDBPipeSettingsReplicationmode {
1660    #[serde(rename = "cdc")]
1661    #[default]
1662    Cdc,
1663    #[serde(rename = "snapshot")]
1664    Snapshot,
1665    #[serde(rename = "cdc_only")]
1666    Cdc_only,
1667    /// Catch-all for unknown or newly-added values.
1668    #[serde(untagged)]
1669    Unknown(String),
1670}
1671
1672impl std::fmt::Display for ClickPipeMongoDBPipeSettingsReplicationmode {
1673    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1674        match self {
1675            Self::Cdc => write!(f, "cdc"),
1676            Self::Snapshot => write!(f, "snapshot"),
1677            Self::Cdc_only => write!(f, "cdc_only"),
1678            Self::Unknown(s) => write!(f, "{s}"),
1679        }
1680    }
1681}
1682
1683/// Inline enum for `ClickPipeMongoDBPipeTableMapping.tableEngine`.
1684#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1685pub enum ClickPipeMongoDBPipeTableMappingTableengine {
1686    #[default]
1687    MergeTree,
1688    ReplacingMergeTree,
1689    Null,
1690    /// Catch-all for unknown or newly-added values.
1691    #[serde(untagged)]
1692    Unknown(String),
1693}
1694
1695impl std::fmt::Display for ClickPipeMongoDBPipeTableMappingTableengine {
1696    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1697        match self {
1698            Self::MergeTree => write!(f, "MergeTree"),
1699            Self::ReplacingMergeTree => write!(f, "ReplacingMergeTree"),
1700            Self::Null => write!(f, "Null"),
1701            Self::Unknown(s) => write!(f, "{s}"),
1702        }
1703    }
1704}
1705
1706/// Inline enum for `ClickPipeMongoDBSource.readPreference`.
1707#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1708pub enum ClickPipeMongoDBSourceReadpreference {
1709    #[serde(rename = "primary")]
1710    #[default]
1711    Primary,
1712    #[serde(rename = "primaryPreferred")]
1713    PrimaryPreferred,
1714    #[serde(rename = "secondary")]
1715    Secondary,
1716    #[serde(rename = "secondaryPreferred")]
1717    SecondaryPreferred,
1718    #[serde(rename = "nearest")]
1719    Nearest,
1720    /// Catch-all for unknown or newly-added values.
1721    #[serde(untagged)]
1722    Unknown(String),
1723}
1724
1725impl std::fmt::Display for ClickPipeMongoDBSourceReadpreference {
1726    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1727        match self {
1728            Self::Primary => write!(f, "primary"),
1729            Self::PrimaryPreferred => write!(f, "primaryPreferred"),
1730            Self::Secondary => write!(f, "secondary"),
1731            Self::SecondaryPreferred => write!(f, "secondaryPreferred"),
1732            Self::Nearest => write!(f, "nearest"),
1733            Self::Unknown(s) => write!(f, "{s}"),
1734        }
1735    }
1736}
1737
1738/// Inline enum for `ClickPipeMutateKafkaSchemaRegistry.authentication`.
1739#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1740pub enum ClickPipeMutateKafkaSchemaRegistryAuthentication {
1741    #[default]
1742    PLAIN,
1743    /// Catch-all for unknown or newly-added values.
1744    #[serde(untagged)]
1745    Unknown(String),
1746}
1747
1748impl std::fmt::Display for ClickPipeMutateKafkaSchemaRegistryAuthentication {
1749    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1750        match self {
1751            Self::PLAIN => write!(f, "PLAIN"),
1752            Self::Unknown(s) => write!(f, "{s}"),
1753        }
1754    }
1755}
1756
1757/// Inline enum for `ClickPipeMutateMongoDBSource.readPreference`.
1758#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1759pub enum ClickPipeMutateMongoDBSourceReadpreference {
1760    #[serde(rename = "primary")]
1761    #[default]
1762    Primary,
1763    #[serde(rename = "primaryPreferred")]
1764    PrimaryPreferred,
1765    #[serde(rename = "secondary")]
1766    Secondary,
1767    #[serde(rename = "secondaryPreferred")]
1768    SecondaryPreferred,
1769    #[serde(rename = "nearest")]
1770    Nearest,
1771    /// Catch-all for unknown or newly-added values.
1772    #[serde(untagged)]
1773    Unknown(String),
1774}
1775
1776impl std::fmt::Display for ClickPipeMutateMongoDBSourceReadpreference {
1777    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1778        match self {
1779            Self::Primary => write!(f, "primary"),
1780            Self::PrimaryPreferred => write!(f, "primaryPreferred"),
1781            Self::Secondary => write!(f, "secondary"),
1782            Self::SecondaryPreferred => write!(f, "secondaryPreferred"),
1783            Self::Nearest => write!(f, "nearest"),
1784            Self::Unknown(s) => write!(f, "{s}"),
1785        }
1786    }
1787}
1788
1789/// Inline enum for `ClickPipeMutateMySQLSource.authentication`.
1790#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1791pub enum ClickPipeMutateMySQLSourceAuthentication {
1792    #[serde(rename = "basic")]
1793    #[default]
1794    Basic,
1795    IAM_ROLE,
1796    /// Catch-all for unknown or newly-added values.
1797    #[serde(untagged)]
1798    Unknown(String),
1799}
1800
1801impl std::fmt::Display for ClickPipeMutateMySQLSourceAuthentication {
1802    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1803        match self {
1804            Self::Basic => write!(f, "basic"),
1805            Self::IAM_ROLE => write!(f, "IAM_ROLE"),
1806            Self::Unknown(s) => write!(f, "{s}"),
1807        }
1808    }
1809}
1810
1811/// Inline enum for `ClickPipeMutateMySQLSource.type`.
1812#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1813pub enum ClickPipeMutateMySQLSourceType {
1814    #[serde(rename = "mysql")]
1815    #[default]
1816    Mysql,
1817    #[serde(rename = "rdsmysql")]
1818    Rdsmysql,
1819    #[serde(rename = "auroramysql")]
1820    Auroramysql,
1821    #[serde(rename = "mariadb")]
1822    Mariadb,
1823    #[serde(rename = "rdsmariadb")]
1824    Rdsmariadb,
1825    /// Catch-all for unknown or newly-added values.
1826    #[serde(untagged)]
1827    Unknown(String),
1828}
1829
1830impl std::fmt::Display for ClickPipeMutateMySQLSourceType {
1831    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1832        match self {
1833            Self::Mysql => write!(f, "mysql"),
1834            Self::Rdsmysql => write!(f, "rdsmysql"),
1835            Self::Auroramysql => write!(f, "auroramysql"),
1836            Self::Mariadb => write!(f, "mariadb"),
1837            Self::Rdsmariadb => write!(f, "rdsmariadb"),
1838            Self::Unknown(s) => write!(f, "{s}"),
1839        }
1840    }
1841}
1842
1843/// Inline enum for `ClickPipeMutatePostgresSource.authentication`.
1844#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1845pub enum ClickPipeMutatePostgresSourceAuthentication {
1846    #[serde(rename = "basic")]
1847    #[default]
1848    Basic,
1849    IAM_ROLE,
1850    /// Catch-all for unknown or newly-added values.
1851    #[serde(untagged)]
1852    Unknown(String),
1853}
1854
1855impl std::fmt::Display for ClickPipeMutatePostgresSourceAuthentication {
1856    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1857        match self {
1858            Self::Basic => write!(f, "basic"),
1859            Self::IAM_ROLE => write!(f, "IAM_ROLE"),
1860            Self::Unknown(s) => write!(f, "{s}"),
1861        }
1862    }
1863}
1864
1865/// Inline enum for `ClickPipeMutatePostgresSource.type`.
1866#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1867pub enum ClickPipeMutatePostgresSourceType {
1868    #[serde(rename = "postgres")]
1869    #[default]
1870    Postgres,
1871    #[serde(rename = "supabase")]
1872    Supabase,
1873    #[serde(rename = "neon")]
1874    Neon,
1875    #[serde(rename = "alloydb")]
1876    Alloydb,
1877    #[serde(rename = "planetscale")]
1878    Planetscale,
1879    #[serde(rename = "rdspostgres")]
1880    Rdspostgres,
1881    #[serde(rename = "aurorapostgres")]
1882    Aurorapostgres,
1883    #[serde(rename = "cloudsqlpostgres")]
1884    Cloudsqlpostgres,
1885    #[serde(rename = "azurepostgres")]
1886    Azurepostgres,
1887    #[serde(rename = "crunchybridge")]
1888    Crunchybridge,
1889    #[serde(rename = "tigerdata")]
1890    Tigerdata,
1891    /// Catch-all for unknown or newly-added values.
1892    #[serde(untagged)]
1893    Unknown(String),
1894}
1895
1896impl std::fmt::Display for ClickPipeMutatePostgresSourceType {
1897    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1898        match self {
1899            Self::Postgres => write!(f, "postgres"),
1900            Self::Supabase => write!(f, "supabase"),
1901            Self::Neon => write!(f, "neon"),
1902            Self::Alloydb => write!(f, "alloydb"),
1903            Self::Planetscale => write!(f, "planetscale"),
1904            Self::Rdspostgres => write!(f, "rdspostgres"),
1905            Self::Aurorapostgres => write!(f, "aurorapostgres"),
1906            Self::Cloudsqlpostgres => write!(f, "cloudsqlpostgres"),
1907            Self::Azurepostgres => write!(f, "azurepostgres"),
1908            Self::Crunchybridge => write!(f, "crunchybridge"),
1909            Self::Tigerdata => write!(f, "tigerdata"),
1910            Self::Unknown(s) => write!(f, "{s}"),
1911        }
1912    }
1913}
1914
1915/// Inline enum for `ClickPipeMySQLPipeSettings.replicationMechanism`.
1916#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1917pub enum ClickPipeMySQLPipeSettingsReplicationmechanism {
1918    #[default]
1919    GTID,
1920    FILE_POS,
1921    /// Catch-all for unknown or newly-added values.
1922    #[serde(untagged)]
1923    Unknown(String),
1924}
1925
1926impl std::fmt::Display for ClickPipeMySQLPipeSettingsReplicationmechanism {
1927    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1928        match self {
1929            Self::GTID => write!(f, "GTID"),
1930            Self::FILE_POS => write!(f, "FILE_POS"),
1931            Self::Unknown(s) => write!(f, "{s}"),
1932        }
1933    }
1934}
1935
1936/// Inline enum for `ClickPipeMySQLPipeSettings.replicationMode`.
1937#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1938pub enum ClickPipeMySQLPipeSettingsReplicationmode {
1939    #[serde(rename = "cdc")]
1940    #[default]
1941    Cdc,
1942    #[serde(rename = "snapshot")]
1943    Snapshot,
1944    #[serde(rename = "cdc_only")]
1945    Cdc_only,
1946    /// Catch-all for unknown or newly-added values.
1947    #[serde(untagged)]
1948    Unknown(String),
1949}
1950
1951impl std::fmt::Display for ClickPipeMySQLPipeSettingsReplicationmode {
1952    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1953        match self {
1954            Self::Cdc => write!(f, "cdc"),
1955            Self::Snapshot => write!(f, "snapshot"),
1956            Self::Cdc_only => write!(f, "cdc_only"),
1957            Self::Unknown(s) => write!(f, "{s}"),
1958        }
1959    }
1960}
1961
1962/// Inline enum for `ClickPipeMySQLPipeTableMapping.tableEngine`.
1963#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1964pub enum ClickPipeMySQLPipeTableMappingTableengine {
1965    #[default]
1966    MergeTree,
1967    ReplacingMergeTree,
1968    Null,
1969    /// Catch-all for unknown or newly-added values.
1970    #[serde(untagged)]
1971    Unknown(String),
1972}
1973
1974impl std::fmt::Display for ClickPipeMySQLPipeTableMappingTableengine {
1975    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1976        match self {
1977            Self::MergeTree => write!(f, "MergeTree"),
1978            Self::ReplacingMergeTree => write!(f, "ReplacingMergeTree"),
1979            Self::Null => write!(f, "Null"),
1980            Self::Unknown(s) => write!(f, "{s}"),
1981        }
1982    }
1983}
1984
1985/// Inline enum for `ClickPipeMySQLSource.authentication`.
1986#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
1987pub enum ClickPipeMySQLSourceAuthentication {
1988    #[serde(rename = "basic")]
1989    #[default]
1990    Basic,
1991    IAM_ROLE,
1992    /// Catch-all for unknown or newly-added values.
1993    #[serde(untagged)]
1994    Unknown(String),
1995}
1996
1997impl std::fmt::Display for ClickPipeMySQLSourceAuthentication {
1998    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1999        match self {
2000            Self::Basic => write!(f, "basic"),
2001            Self::IAM_ROLE => write!(f, "IAM_ROLE"),
2002            Self::Unknown(s) => write!(f, "{s}"),
2003        }
2004    }
2005}
2006
2007/// Inline enum for `ClickPipeMySQLSource.type`.
2008#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2009pub enum ClickPipeMySQLSourceType {
2010    #[serde(rename = "mysql")]
2011    #[default]
2012    Mysql,
2013    #[serde(rename = "rdsmysql")]
2014    Rdsmysql,
2015    #[serde(rename = "auroramysql")]
2016    Auroramysql,
2017    #[serde(rename = "mariadb")]
2018    Mariadb,
2019    #[serde(rename = "rdsmariadb")]
2020    Rdsmariadb,
2021    /// Catch-all for unknown or newly-added values.
2022    #[serde(untagged)]
2023    Unknown(String),
2024}
2025
2026impl std::fmt::Display for ClickPipeMySQLSourceType {
2027    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2028        match self {
2029            Self::Mysql => write!(f, "mysql"),
2030            Self::Rdsmysql => write!(f, "rdsmysql"),
2031            Self::Auroramysql => write!(f, "auroramysql"),
2032            Self::Mariadb => write!(f, "mariadb"),
2033            Self::Rdsmariadb => write!(f, "rdsmariadb"),
2034            Self::Unknown(s) => write!(f, "{s}"),
2035        }
2036    }
2037}
2038
2039/// Inline enum for `ClickPipeObjectStorageSource.authentication`.
2040#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2041pub enum ClickPipeObjectStorageSourceAuthentication {
2042    #[default]
2043    IAM_ROLE,
2044    IAM_USER,
2045    CONNECTION_STRING,
2046    SERVICE_ACCOUNT,
2047    /// Catch-all for unknown or newly-added values.
2048    #[serde(untagged)]
2049    Unknown(String),
2050}
2051
2052impl std::fmt::Display for ClickPipeObjectStorageSourceAuthentication {
2053    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2054        match self {
2055            Self::IAM_ROLE => write!(f, "IAM_ROLE"),
2056            Self::IAM_USER => write!(f, "IAM_USER"),
2057            Self::CONNECTION_STRING => write!(f, "CONNECTION_STRING"),
2058            Self::SERVICE_ACCOUNT => write!(f, "SERVICE_ACCOUNT"),
2059            Self::Unknown(s) => write!(f, "{s}"),
2060        }
2061    }
2062}
2063
2064/// Inline enum for `ClickPipeObjectStorageSource.compression`.
2065#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2066pub enum ClickPipeObjectStorageSourceCompression {
2067    #[serde(rename = "none")]
2068    #[default]
2069    None,
2070    #[serde(rename = "gzip")]
2071    Gzip,
2072    #[serde(rename = "gz")]
2073    Gz,
2074    #[serde(rename = "brotli")]
2075    Brotli,
2076    #[serde(rename = "br")]
2077    Br,
2078    #[serde(rename = "xz")]
2079    Xz,
2080    LZMA,
2081    #[serde(rename = "zstd")]
2082    Zstd,
2083    #[serde(rename = "auto")]
2084    Auto,
2085    /// Catch-all for unknown or newly-added values.
2086    #[serde(untagged)]
2087    Unknown(String),
2088}
2089
2090impl std::fmt::Display for ClickPipeObjectStorageSourceCompression {
2091    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2092        match self {
2093            Self::None => write!(f, "none"),
2094            Self::Gzip => write!(f, "gzip"),
2095            Self::Gz => write!(f, "gz"),
2096            Self::Brotli => write!(f, "brotli"),
2097            Self::Br => write!(f, "br"),
2098            Self::Xz => write!(f, "xz"),
2099            Self::LZMA => write!(f, "LZMA"),
2100            Self::Zstd => write!(f, "zstd"),
2101            Self::Auto => write!(f, "auto"),
2102            Self::Unknown(s) => write!(f, "{s}"),
2103        }
2104    }
2105}
2106
2107/// Inline enum for `ClickPipeObjectStorageSource.format`.
2108#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2109pub enum ClickPipeObjectStorageSourceFormat {
2110    #[default]
2111    JSONEachRow,
2112    JSONAsObject,
2113    CSV,
2114    CSVWithNames,
2115    TabSeparated,
2116    TabSeparatedWithNames,
2117    Parquet,
2118    Avro,
2119    /// Catch-all for unknown or newly-added values.
2120    #[serde(untagged)]
2121    Unknown(String),
2122}
2123
2124impl std::fmt::Display for ClickPipeObjectStorageSourceFormat {
2125    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2126        match self {
2127            Self::JSONEachRow => write!(f, "JSONEachRow"),
2128            Self::JSONAsObject => write!(f, "JSONAsObject"),
2129            Self::CSV => write!(f, "CSV"),
2130            Self::CSVWithNames => write!(f, "CSVWithNames"),
2131            Self::TabSeparated => write!(f, "TabSeparated"),
2132            Self::TabSeparatedWithNames => write!(f, "TabSeparatedWithNames"),
2133            Self::Parquet => write!(f, "Parquet"),
2134            Self::Avro => write!(f, "Avro"),
2135            Self::Unknown(s) => write!(f, "{s}"),
2136        }
2137    }
2138}
2139
2140/// Inline enum for `ClickPipeObjectStorageSource.type`.
2141#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2142pub enum ClickPipeObjectStorageSourceType {
2143    #[serde(rename = "s3")]
2144    #[default]
2145    S3,
2146    #[serde(rename = "gcs")]
2147    Gcs,
2148    #[serde(rename = "dospaces")]
2149    Dospaces,
2150    #[serde(rename = "azureblobstorage")]
2151    Azureblobstorage,
2152    #[serde(rename = "cloudflarer2")]
2153    Cloudflarer2,
2154    #[serde(rename = "ovhobjectstorage")]
2155    Ovhobjectstorage,
2156    /// Catch-all for unknown or newly-added values.
2157    #[serde(untagged)]
2158    Unknown(String),
2159}
2160
2161impl std::fmt::Display for ClickPipeObjectStorageSourceType {
2162    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2163        match self {
2164            Self::S3 => write!(f, "s3"),
2165            Self::Gcs => write!(f, "gcs"),
2166            Self::Dospaces => write!(f, "dospaces"),
2167            Self::Azureblobstorage => write!(f, "azureblobstorage"),
2168            Self::Cloudflarer2 => write!(f, "cloudflarer2"),
2169            Self::Ovhobjectstorage => write!(f, "ovhobjectstorage"),
2170            Self::Unknown(s) => write!(f, "{s}"),
2171        }
2172    }
2173}
2174
2175/// Inline enum for `ClickPipePatchKafkaSource.authentication`.
2176#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2177pub enum ClickPipePatchKafkaSourceAuthentication {
2178    #[default]
2179    PLAIN,
2180    #[serde(rename = "SCRAM-SHA-256")]
2181    SCRAM_SHA_256,
2182    #[serde(rename = "SCRAM-SHA-512")]
2183    SCRAM_SHA_512,
2184    IAM_ROLE,
2185    IAM_USER,
2186    MUTUAL_TLS,
2187    /// Catch-all for unknown or newly-added values.
2188    #[serde(untagged)]
2189    Unknown(String),
2190}
2191
2192impl std::fmt::Display for ClickPipePatchKafkaSourceAuthentication {
2193    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2194        match self {
2195            Self::PLAIN => write!(f, "PLAIN"),
2196            Self::SCRAM_SHA_256 => write!(f, "SCRAM-SHA-256"),
2197            Self::SCRAM_SHA_512 => write!(f, "SCRAM-SHA-512"),
2198            Self::IAM_ROLE => write!(f, "IAM_ROLE"),
2199            Self::IAM_USER => write!(f, "IAM_USER"),
2200            Self::MUTUAL_TLS => write!(f, "MUTUAL_TLS"),
2201            Self::Unknown(s) => write!(f, "{s}"),
2202        }
2203    }
2204}
2205
2206/// Inline enum for `ClickPipePatchKinesisSource.authentication`.
2207#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2208pub enum ClickPipePatchKinesisSourceAuthentication {
2209    #[default]
2210    IAM_ROLE,
2211    IAM_USER,
2212    /// Catch-all for unknown or newly-added values.
2213    #[serde(untagged)]
2214    Unknown(String),
2215}
2216
2217impl std::fmt::Display for ClickPipePatchKinesisSourceAuthentication {
2218    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2219        match self {
2220            Self::IAM_ROLE => write!(f, "IAM_ROLE"),
2221            Self::IAM_USER => write!(f, "IAM_USER"),
2222            Self::Unknown(s) => write!(f, "{s}"),
2223        }
2224    }
2225}
2226
2227/// Inline enum for `ClickPipePatchMongoDBPipeRemoveTableMapping.tableEngine`.
2228#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2229pub enum ClickPipePatchMongoDBPipeRemoveTableMappingTableengine {
2230    #[default]
2231    MergeTree,
2232    ReplacingMergeTree,
2233    Null,
2234    /// Catch-all for unknown or newly-added values.
2235    #[serde(untagged)]
2236    Unknown(String),
2237}
2238
2239impl std::fmt::Display for ClickPipePatchMongoDBPipeRemoveTableMappingTableengine {
2240    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2241        match self {
2242            Self::MergeTree => write!(f, "MergeTree"),
2243            Self::ReplacingMergeTree => write!(f, "ReplacingMergeTree"),
2244            Self::Null => write!(f, "Null"),
2245            Self::Unknown(s) => write!(f, "{s}"),
2246        }
2247    }
2248}
2249
2250/// Inline enum for `ClickPipePatchMongoDBSource.readPreference`.
2251#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2252pub enum ClickPipePatchMongoDBSourceReadpreference {
2253    #[serde(rename = "primary")]
2254    #[default]
2255    Primary,
2256    #[serde(rename = "primaryPreferred")]
2257    PrimaryPreferred,
2258    #[serde(rename = "secondary")]
2259    Secondary,
2260    #[serde(rename = "secondaryPreferred")]
2261    SecondaryPreferred,
2262    #[serde(rename = "nearest")]
2263    Nearest,
2264    /// Catch-all for unknown or newly-added values.
2265    #[serde(untagged)]
2266    Unknown(String),
2267}
2268
2269impl std::fmt::Display for ClickPipePatchMongoDBSourceReadpreference {
2270    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2271        match self {
2272            Self::Primary => write!(f, "primary"),
2273            Self::PrimaryPreferred => write!(f, "primaryPreferred"),
2274            Self::Secondary => write!(f, "secondary"),
2275            Self::SecondaryPreferred => write!(f, "secondaryPreferred"),
2276            Self::Nearest => write!(f, "nearest"),
2277            Self::Unknown(s) => write!(f, "{s}"),
2278        }
2279    }
2280}
2281
2282/// Inline enum for `ClickPipePatchMySQLPipeRemoveTableMapping.tableEngine`.
2283#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2284pub enum ClickPipePatchMySQLPipeRemoveTableMappingTableengine {
2285    #[default]
2286    MergeTree,
2287    ReplacingMergeTree,
2288    Null,
2289    /// Catch-all for unknown or newly-added values.
2290    #[serde(untagged)]
2291    Unknown(String),
2292}
2293
2294impl std::fmt::Display for ClickPipePatchMySQLPipeRemoveTableMappingTableengine {
2295    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2296        match self {
2297            Self::MergeTree => write!(f, "MergeTree"),
2298            Self::ReplacingMergeTree => write!(f, "ReplacingMergeTree"),
2299            Self::Null => write!(f, "Null"),
2300            Self::Unknown(s) => write!(f, "{s}"),
2301        }
2302    }
2303}
2304
2305/// Inline enum for `ClickPipePatchMySQLSource.authentication`.
2306#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2307pub enum ClickPipePatchMySQLSourceAuthentication {
2308    #[serde(rename = "basic")]
2309    #[default]
2310    Basic,
2311    IAM_ROLE,
2312    /// Catch-all for unknown or newly-added values.
2313    #[serde(untagged)]
2314    Unknown(String),
2315}
2316
2317impl std::fmt::Display for ClickPipePatchMySQLSourceAuthentication {
2318    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2319        match self {
2320            Self::Basic => write!(f, "basic"),
2321            Self::IAM_ROLE => write!(f, "IAM_ROLE"),
2322            Self::Unknown(s) => write!(f, "{s}"),
2323        }
2324    }
2325}
2326
2327/// Inline enum for `ClickPipePatchObjectStorageSource.authentication`.
2328#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2329pub enum ClickPipePatchObjectStorageSourceAuthentication {
2330    #[default]
2331    IAM_ROLE,
2332    IAM_USER,
2333    CONNECTION_STRING,
2334    SERVICE_ACCOUNT,
2335    /// Catch-all for unknown or newly-added values.
2336    #[serde(untagged)]
2337    Unknown(String),
2338}
2339
2340impl std::fmt::Display for ClickPipePatchObjectStorageSourceAuthentication {
2341    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2342        match self {
2343            Self::IAM_ROLE => write!(f, "IAM_ROLE"),
2344            Self::IAM_USER => write!(f, "IAM_USER"),
2345            Self::CONNECTION_STRING => write!(f, "CONNECTION_STRING"),
2346            Self::SERVICE_ACCOUNT => write!(f, "SERVICE_ACCOUNT"),
2347            Self::Unknown(s) => write!(f, "{s}"),
2348        }
2349    }
2350}
2351
2352/// Inline enum for `ClickPipePatchPostgresPipeRemoveTableMapping.tableEngine`.
2353#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2354pub enum ClickPipePatchPostgresPipeRemoveTableMappingTableengine {
2355    #[default]
2356    MergeTree,
2357    ReplacingMergeTree,
2358    Null,
2359    /// Catch-all for unknown or newly-added values.
2360    #[serde(untagged)]
2361    Unknown(String),
2362}
2363
2364impl std::fmt::Display for ClickPipePatchPostgresPipeRemoveTableMappingTableengine {
2365    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2366        match self {
2367            Self::MergeTree => write!(f, "MergeTree"),
2368            Self::ReplacingMergeTree => write!(f, "ReplacingMergeTree"),
2369            Self::Null => write!(f, "Null"),
2370            Self::Unknown(s) => write!(f, "{s}"),
2371        }
2372    }
2373}
2374
2375/// Inline enum for `ClickPipePostKafkaSource.authentication`.
2376#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2377pub enum ClickPipePostKafkaSourceAuthentication {
2378    #[default]
2379    PLAIN,
2380    #[serde(rename = "SCRAM-SHA-256")]
2381    SCRAM_SHA_256,
2382    #[serde(rename = "SCRAM-SHA-512")]
2383    SCRAM_SHA_512,
2384    IAM_ROLE,
2385    IAM_USER,
2386    MUTUAL_TLS,
2387    /// Catch-all for unknown or newly-added values.
2388    #[serde(untagged)]
2389    Unknown(String),
2390}
2391
2392impl std::fmt::Display for ClickPipePostKafkaSourceAuthentication {
2393    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2394        match self {
2395            Self::PLAIN => write!(f, "PLAIN"),
2396            Self::SCRAM_SHA_256 => write!(f, "SCRAM-SHA-256"),
2397            Self::SCRAM_SHA_512 => write!(f, "SCRAM-SHA-512"),
2398            Self::IAM_ROLE => write!(f, "IAM_ROLE"),
2399            Self::IAM_USER => write!(f, "IAM_USER"),
2400            Self::MUTUAL_TLS => write!(f, "MUTUAL_TLS"),
2401            Self::Unknown(s) => write!(f, "{s}"),
2402        }
2403    }
2404}
2405
2406/// Inline enum for `ClickPipePostKafkaSource.format`.
2407#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2408pub enum ClickPipePostKafkaSourceFormat {
2409    #[default]
2410    JSONEachRow,
2411    Avro,
2412    AvroConfluent,
2413    Protobuf,
2414    /// Catch-all for unknown or newly-added values.
2415    #[serde(untagged)]
2416    Unknown(String),
2417}
2418
2419impl std::fmt::Display for ClickPipePostKafkaSourceFormat {
2420    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2421        match self {
2422            Self::JSONEachRow => write!(f, "JSONEachRow"),
2423            Self::Avro => write!(f, "Avro"),
2424            Self::AvroConfluent => write!(f, "AvroConfluent"),
2425            Self::Protobuf => write!(f, "Protobuf"),
2426            Self::Unknown(s) => write!(f, "{s}"),
2427        }
2428    }
2429}
2430
2431/// Inline enum for `ClickPipePostKafkaSource.type`.
2432#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2433pub enum ClickPipePostKafkaSourceType {
2434    #[serde(rename = "kafka")]
2435    #[default]
2436    Kafka,
2437    #[serde(rename = "redpanda")]
2438    Redpanda,
2439    #[serde(rename = "msk")]
2440    Msk,
2441    #[serde(rename = "gcmk")]
2442    Gcmk,
2443    #[serde(rename = "confluent")]
2444    Confluent,
2445    #[serde(rename = "warpstream")]
2446    Warpstream,
2447    #[serde(rename = "azureeventhub")]
2448    Azureeventhub,
2449    #[serde(rename = "dokafka")]
2450    Dokafka,
2451    /// Catch-all for unknown or newly-added values.
2452    #[serde(untagged)]
2453    Unknown(String),
2454}
2455
2456impl std::fmt::Display for ClickPipePostKafkaSourceType {
2457    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2458        match self {
2459            Self::Kafka => write!(f, "kafka"),
2460            Self::Redpanda => write!(f, "redpanda"),
2461            Self::Msk => write!(f, "msk"),
2462            Self::Gcmk => write!(f, "gcmk"),
2463            Self::Confluent => write!(f, "confluent"),
2464            Self::Warpstream => write!(f, "warpstream"),
2465            Self::Azureeventhub => write!(f, "azureeventhub"),
2466            Self::Dokafka => write!(f, "dokafka"),
2467            Self::Unknown(s) => write!(f, "{s}"),
2468        }
2469    }
2470}
2471
2472/// Inline enum for `ClickPipePostKinesisSource.authentication`.
2473#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2474pub enum ClickPipePostKinesisSourceAuthentication {
2475    #[default]
2476    IAM_ROLE,
2477    IAM_USER,
2478    /// Catch-all for unknown or newly-added values.
2479    #[serde(untagged)]
2480    Unknown(String),
2481}
2482
2483impl std::fmt::Display for ClickPipePostKinesisSourceAuthentication {
2484    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2485        match self {
2486            Self::IAM_ROLE => write!(f, "IAM_ROLE"),
2487            Self::IAM_USER => write!(f, "IAM_USER"),
2488            Self::Unknown(s) => write!(f, "{s}"),
2489        }
2490    }
2491}
2492
2493/// Inline enum for `ClickPipePostKinesisSource.format`.
2494#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2495pub enum ClickPipePostKinesisSourceFormat {
2496    #[default]
2497    JSONEachRow,
2498    Avro,
2499    AvroConfluent,
2500    /// Catch-all for unknown or newly-added values.
2501    #[serde(untagged)]
2502    Unknown(String),
2503}
2504
2505impl std::fmt::Display for ClickPipePostKinesisSourceFormat {
2506    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2507        match self {
2508            Self::JSONEachRow => write!(f, "JSONEachRow"),
2509            Self::Avro => write!(f, "Avro"),
2510            Self::AvroConfluent => write!(f, "AvroConfluent"),
2511            Self::Unknown(s) => write!(f, "{s}"),
2512        }
2513    }
2514}
2515
2516/// Inline enum for `ClickPipePostKinesisSource.iteratorType`.
2517#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2518pub enum ClickPipePostKinesisSourceIteratortype {
2519    #[default]
2520    TRIM_HORIZON,
2521    LATEST,
2522    AT_TIMESTAMP,
2523    /// Catch-all for unknown or newly-added values.
2524    #[serde(untagged)]
2525    Unknown(String),
2526}
2527
2528impl std::fmt::Display for ClickPipePostKinesisSourceIteratortype {
2529    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2530        match self {
2531            Self::TRIM_HORIZON => write!(f, "TRIM_HORIZON"),
2532            Self::LATEST => write!(f, "LATEST"),
2533            Self::AT_TIMESTAMP => write!(f, "AT_TIMESTAMP"),
2534            Self::Unknown(s) => write!(f, "{s}"),
2535        }
2536    }
2537}
2538
2539/// Inline enum for `ClickPipePostObjectStorageSource.authentication`.
2540#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2541pub enum ClickPipePostObjectStorageSourceAuthentication {
2542    #[default]
2543    IAM_ROLE,
2544    IAM_USER,
2545    CONNECTION_STRING,
2546    SERVICE_ACCOUNT,
2547    /// Catch-all for unknown or newly-added values.
2548    #[serde(untagged)]
2549    Unknown(String),
2550}
2551
2552impl std::fmt::Display for ClickPipePostObjectStorageSourceAuthentication {
2553    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2554        match self {
2555            Self::IAM_ROLE => write!(f, "IAM_ROLE"),
2556            Self::IAM_USER => write!(f, "IAM_USER"),
2557            Self::CONNECTION_STRING => write!(f, "CONNECTION_STRING"),
2558            Self::SERVICE_ACCOUNT => write!(f, "SERVICE_ACCOUNT"),
2559            Self::Unknown(s) => write!(f, "{s}"),
2560        }
2561    }
2562}
2563
2564/// Inline enum for `ClickPipePostObjectStorageSource.compression`.
2565#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2566pub enum ClickPipePostObjectStorageSourceCompression {
2567    #[serde(rename = "none")]
2568    #[default]
2569    None,
2570    #[serde(rename = "gzip")]
2571    Gzip,
2572    #[serde(rename = "gz")]
2573    Gz,
2574    #[serde(rename = "brotli")]
2575    Brotli,
2576    #[serde(rename = "br")]
2577    Br,
2578    #[serde(rename = "xz")]
2579    Xz,
2580    LZMA,
2581    #[serde(rename = "zstd")]
2582    Zstd,
2583    #[serde(rename = "auto")]
2584    Auto,
2585    /// Catch-all for unknown or newly-added values.
2586    #[serde(untagged)]
2587    Unknown(String),
2588}
2589
2590impl std::fmt::Display for ClickPipePostObjectStorageSourceCompression {
2591    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2592        match self {
2593            Self::None => write!(f, "none"),
2594            Self::Gzip => write!(f, "gzip"),
2595            Self::Gz => write!(f, "gz"),
2596            Self::Brotli => write!(f, "brotli"),
2597            Self::Br => write!(f, "br"),
2598            Self::Xz => write!(f, "xz"),
2599            Self::LZMA => write!(f, "LZMA"),
2600            Self::Zstd => write!(f, "zstd"),
2601            Self::Auto => write!(f, "auto"),
2602            Self::Unknown(s) => write!(f, "{s}"),
2603        }
2604    }
2605}
2606
2607/// Inline enum for `ClickPipePostObjectStorageSource.format`.
2608#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2609pub enum ClickPipePostObjectStorageSourceFormat {
2610    #[default]
2611    JSONEachRow,
2612    JSONAsObject,
2613    CSV,
2614    CSVWithNames,
2615    TabSeparated,
2616    TabSeparatedWithNames,
2617    Parquet,
2618    Avro,
2619    /// Catch-all for unknown or newly-added values.
2620    #[serde(untagged)]
2621    Unknown(String),
2622}
2623
2624impl std::fmt::Display for ClickPipePostObjectStorageSourceFormat {
2625    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2626        match self {
2627            Self::JSONEachRow => write!(f, "JSONEachRow"),
2628            Self::JSONAsObject => write!(f, "JSONAsObject"),
2629            Self::CSV => write!(f, "CSV"),
2630            Self::CSVWithNames => write!(f, "CSVWithNames"),
2631            Self::TabSeparated => write!(f, "TabSeparated"),
2632            Self::TabSeparatedWithNames => write!(f, "TabSeparatedWithNames"),
2633            Self::Parquet => write!(f, "Parquet"),
2634            Self::Avro => write!(f, "Avro"),
2635            Self::Unknown(s) => write!(f, "{s}"),
2636        }
2637    }
2638}
2639
2640/// Inline enum for `ClickPipePostObjectStorageSource.type`.
2641#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2642pub enum ClickPipePostObjectStorageSourceType {
2643    #[serde(rename = "s3")]
2644    #[default]
2645    S3,
2646    #[serde(rename = "gcs")]
2647    Gcs,
2648    #[serde(rename = "dospaces")]
2649    Dospaces,
2650    #[serde(rename = "azureblobstorage")]
2651    Azureblobstorage,
2652    #[serde(rename = "cloudflarer2")]
2653    Cloudflarer2,
2654    #[serde(rename = "ovhobjectstorage")]
2655    Ovhobjectstorage,
2656    /// Catch-all for unknown or newly-added values.
2657    #[serde(untagged)]
2658    Unknown(String),
2659}
2660
2661impl std::fmt::Display for ClickPipePostObjectStorageSourceType {
2662    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2663        match self {
2664            Self::S3 => write!(f, "s3"),
2665            Self::Gcs => write!(f, "gcs"),
2666            Self::Dospaces => write!(f, "dospaces"),
2667            Self::Azureblobstorage => write!(f, "azureblobstorage"),
2668            Self::Cloudflarer2 => write!(f, "cloudflarer2"),
2669            Self::Ovhobjectstorage => write!(f, "ovhobjectstorage"),
2670            Self::Unknown(s) => write!(f, "{s}"),
2671        }
2672    }
2673}
2674
2675/// Inline enum for `ClickPipePostgresPipeSettings.replicationMode`.
2676#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2677pub enum ClickPipePostgresPipeSettingsReplicationmode {
2678    #[serde(rename = "cdc")]
2679    #[default]
2680    Cdc,
2681    #[serde(rename = "snapshot")]
2682    Snapshot,
2683    #[serde(rename = "cdc_only")]
2684    Cdc_only,
2685    /// Catch-all for unknown or newly-added values.
2686    #[serde(untagged)]
2687    Unknown(String),
2688}
2689
2690impl std::fmt::Display for ClickPipePostgresPipeSettingsReplicationmode {
2691    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2692        match self {
2693            Self::Cdc => write!(f, "cdc"),
2694            Self::Snapshot => write!(f, "snapshot"),
2695            Self::Cdc_only => write!(f, "cdc_only"),
2696            Self::Unknown(s) => write!(f, "{s}"),
2697        }
2698    }
2699}
2700
2701/// Inline enum for `ClickPipePostgresPipeTableMapping.tableEngine`.
2702#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2703pub enum ClickPipePostgresPipeTableMappingTableengine {
2704    #[default]
2705    MergeTree,
2706    ReplacingMergeTree,
2707    Null,
2708    /// Catch-all for unknown or newly-added values.
2709    #[serde(untagged)]
2710    Unknown(String),
2711}
2712
2713impl std::fmt::Display for ClickPipePostgresPipeTableMappingTableengine {
2714    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2715        match self {
2716            Self::MergeTree => write!(f, "MergeTree"),
2717            Self::ReplacingMergeTree => write!(f, "ReplacingMergeTree"),
2718            Self::Null => write!(f, "Null"),
2719            Self::Unknown(s) => write!(f, "{s}"),
2720        }
2721    }
2722}
2723
2724/// Inline enum for `ClickPipePostgresSource.authentication`.
2725#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2726pub enum ClickPipePostgresSourceAuthentication {
2727    #[serde(rename = "basic")]
2728    #[default]
2729    Basic,
2730    IAM_ROLE,
2731    /// Catch-all for unknown or newly-added values.
2732    #[serde(untagged)]
2733    Unknown(String),
2734}
2735
2736impl std::fmt::Display for ClickPipePostgresSourceAuthentication {
2737    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2738        match self {
2739            Self::Basic => write!(f, "basic"),
2740            Self::IAM_ROLE => write!(f, "IAM_ROLE"),
2741            Self::Unknown(s) => write!(f, "{s}"),
2742        }
2743    }
2744}
2745
2746/// Inline enum for `ClickPipePostgresSource.type`.
2747#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2748pub enum ClickPipePostgresSourceType {
2749    #[serde(rename = "postgres")]
2750    #[default]
2751    Postgres,
2752    #[serde(rename = "supabase")]
2753    Supabase,
2754    #[serde(rename = "neon")]
2755    Neon,
2756    #[serde(rename = "alloydb")]
2757    Alloydb,
2758    #[serde(rename = "planetscale")]
2759    Planetscale,
2760    #[serde(rename = "rdspostgres")]
2761    Rdspostgres,
2762    #[serde(rename = "aurorapostgres")]
2763    Aurorapostgres,
2764    #[serde(rename = "cloudsqlpostgres")]
2765    Cloudsqlpostgres,
2766    #[serde(rename = "azurepostgres")]
2767    Azurepostgres,
2768    #[serde(rename = "crunchybridge")]
2769    Crunchybridge,
2770    #[serde(rename = "tigerdata")]
2771    Tigerdata,
2772    /// Catch-all for unknown or newly-added values.
2773    #[serde(untagged)]
2774    Unknown(String),
2775}
2776
2777impl std::fmt::Display for ClickPipePostgresSourceType {
2778    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2779        match self {
2780            Self::Postgres => write!(f, "postgres"),
2781            Self::Supabase => write!(f, "supabase"),
2782            Self::Neon => write!(f, "neon"),
2783            Self::Alloydb => write!(f, "alloydb"),
2784            Self::Planetscale => write!(f, "planetscale"),
2785            Self::Rdspostgres => write!(f, "rdspostgres"),
2786            Self::Aurorapostgres => write!(f, "aurorapostgres"),
2787            Self::Cloudsqlpostgres => write!(f, "cloudsqlpostgres"),
2788            Self::Azurepostgres => write!(f, "azurepostgres"),
2789            Self::Crunchybridge => write!(f, "crunchybridge"),
2790            Self::Tigerdata => write!(f, "tigerdata"),
2791            Self::Unknown(s) => write!(f, "{s}"),
2792        }
2793    }
2794}
2795
2796/// Inline enum for `ClickPipeStatePatchRequest.command`.
2797#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2798pub enum ClickPipeStatePatchRequestCommand {
2799    #[serde(rename = "start")]
2800    #[default]
2801    Start,
2802    #[serde(rename = "stop")]
2803    Stop,
2804    #[serde(rename = "resync")]
2805    Resync,
2806    /// Catch-all for unknown or newly-added values.
2807    #[serde(untagged)]
2808    Unknown(String),
2809}
2810
2811impl std::fmt::Display for ClickPipeStatePatchRequestCommand {
2812    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2813        match self {
2814            Self::Start => write!(f, "start"),
2815            Self::Stop => write!(f, "stop"),
2816            Self::Resync => write!(f, "resync"),
2817            Self::Unknown(s) => write!(f, "{s}"),
2818        }
2819    }
2820}
2821
2822/// Inline enum for `ClickStackAlertChannelEmail.type`.
2823#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2824pub enum ClickStackAlertChannelEmailType {
2825    #[serde(rename = "webhook")]
2826    #[default]
2827    Webhook,
2828    #[serde(rename = "email")]
2829    Email,
2830    /// Catch-all for unknown or newly-added values.
2831    #[serde(untagged)]
2832    Unknown(String),
2833}
2834
2835impl std::fmt::Display for ClickStackAlertChannelEmailType {
2836    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2837        match self {
2838            Self::Webhook => write!(f, "webhook"),
2839            Self::Email => write!(f, "email"),
2840            Self::Unknown(s) => write!(f, "{s}"),
2841        }
2842    }
2843}
2844
2845/// Inline enum for `ClickStackAlertChannelWebhook.severity`.
2846#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2847pub enum ClickStackAlertChannelWebhookSeverity {
2848    #[serde(rename = "critical")]
2849    #[default]
2850    Critical,
2851    #[serde(rename = "error")]
2852    Error,
2853    #[serde(rename = "warning")]
2854    Warning,
2855    #[serde(rename = "info")]
2856    Info,
2857    /// Catch-all for unknown or newly-added values.
2858    #[serde(untagged)]
2859    Unknown(String),
2860}
2861
2862impl std::fmt::Display for ClickStackAlertChannelWebhookSeverity {
2863    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2864        match self {
2865            Self::Critical => write!(f, "critical"),
2866            Self::Error => write!(f, "error"),
2867            Self::Warning => write!(f, "warning"),
2868            Self::Info => write!(f, "info"),
2869            Self::Unknown(s) => write!(f, "{s}"),
2870        }
2871    }
2872}
2873
2874/// Inline enum for `ClickStackAlertChannelWebhook.type`.
2875#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2876pub enum ClickStackAlertChannelWebhookType {
2877    #[serde(rename = "webhook")]
2878    #[default]
2879    Webhook,
2880    #[serde(rename = "email")]
2881    Email,
2882    /// Catch-all for unknown or newly-added values.
2883    #[serde(untagged)]
2884    Unknown(String),
2885}
2886
2887impl std::fmt::Display for ClickStackAlertChannelWebhookType {
2888    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2889        match self {
2890            Self::Webhook => write!(f, "webhook"),
2891            Self::Email => write!(f, "email"),
2892            Self::Unknown(s) => write!(f, "{s}"),
2893        }
2894    }
2895}
2896
2897/// Inline enum for `ClickStackAlertExecutionError.type`.
2898#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2899pub enum ClickStackAlertExecutionErrorType {
2900    #[default]
2901    QUERY_ERROR,
2902    WEBHOOK_ERROR,
2903    INVALID_ALERT,
2904    UNKNOWN,
2905    /// Catch-all for unknown or newly-added values.
2906    #[serde(untagged)]
2907    Unknown(String),
2908}
2909
2910impl std::fmt::Display for ClickStackAlertExecutionErrorType {
2911    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2912        match self {
2913            Self::QUERY_ERROR => write!(f, "QUERY_ERROR"),
2914            Self::WEBHOOK_ERROR => write!(f, "WEBHOOK_ERROR"),
2915            Self::INVALID_ALERT => write!(f, "INVALID_ALERT"),
2916            Self::UNKNOWN => write!(f, "UNKNOWN"),
2917            Self::Unknown(s) => write!(f, "{s}"),
2918        }
2919    }
2920}
2921
2922/// Inline enum for `ClickStackAlertResponse.interval`.
2923#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2924pub enum ClickStackAlertResponseInterval {
2925    #[serde(rename = "1m")]
2926    #[default]
2927    _1m,
2928    #[serde(rename = "5m")]
2929    _5m,
2930    #[serde(rename = "15m")]
2931    _15m,
2932    #[serde(rename = "30m")]
2933    _30m,
2934    #[serde(rename = "1h")]
2935    _1h,
2936    #[serde(rename = "6h")]
2937    _6h,
2938    #[serde(rename = "12h")]
2939    _12h,
2940    #[serde(rename = "1d")]
2941    _1d,
2942    /// Catch-all for unknown or newly-added values.
2943    #[serde(untagged)]
2944    Unknown(String),
2945}
2946
2947impl std::fmt::Display for ClickStackAlertResponseInterval {
2948    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2949        match self {
2950            Self::_1m => write!(f, "1m"),
2951            Self::_5m => write!(f, "5m"),
2952            Self::_15m => write!(f, "15m"),
2953            Self::_30m => write!(f, "30m"),
2954            Self::_1h => write!(f, "1h"),
2955            Self::_6h => write!(f, "6h"),
2956            Self::_12h => write!(f, "12h"),
2957            Self::_1d => write!(f, "1d"),
2958            Self::Unknown(s) => write!(f, "{s}"),
2959        }
2960    }
2961}
2962
2963/// Inline enum for `ClickStackAlertResponse.source`.
2964#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2965pub enum ClickStackAlertResponseSource {
2966    #[serde(rename = "saved_search")]
2967    #[default]
2968    Saved_search,
2969    #[serde(rename = "tile")]
2970    Tile,
2971    /// Catch-all for unknown or newly-added values.
2972    #[serde(untagged)]
2973    Unknown(String),
2974}
2975
2976impl std::fmt::Display for ClickStackAlertResponseSource {
2977    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2978        match self {
2979            Self::Saved_search => write!(f, "saved_search"),
2980            Self::Tile => write!(f, "tile"),
2981            Self::Unknown(s) => write!(f, "{s}"),
2982        }
2983    }
2984}
2985
2986/// Inline enum for `ClickStackAlertResponse.state`.
2987#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
2988pub enum ClickStackAlertResponseState {
2989    #[default]
2990    ALERT,
2991    OK,
2992    INSUFFICIENT_DATA,
2993    DISABLED,
2994    /// Catch-all for unknown or newly-added values.
2995    #[serde(untagged)]
2996    Unknown(String),
2997}
2998
2999impl std::fmt::Display for ClickStackAlertResponseState {
3000    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3001        match self {
3002            Self::ALERT => write!(f, "ALERT"),
3003            Self::OK => write!(f, "OK"),
3004            Self::INSUFFICIENT_DATA => write!(f, "INSUFFICIENT_DATA"),
3005            Self::DISABLED => write!(f, "DISABLED"),
3006            Self::Unknown(s) => write!(f, "{s}"),
3007        }
3008    }
3009}
3010
3011/// Inline enum for `ClickStackAlertResponse.thresholdType`.
3012#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3013pub enum ClickStackAlertResponseThresholdtype {
3014    #[serde(rename = "above")]
3015    #[default]
3016    Above,
3017    #[serde(rename = "below")]
3018    Below,
3019    /// Catch-all for unknown or newly-added values.
3020    #[serde(untagged)]
3021    Unknown(String),
3022}
3023
3024impl std::fmt::Display for ClickStackAlertResponseThresholdtype {
3025    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3026        match self {
3027            Self::Above => write!(f, "above"),
3028            Self::Below => write!(f, "below"),
3029            Self::Unknown(s) => write!(f, "{s}"),
3030        }
3031    }
3032}
3033
3034/// Inline enum for `ClickStackBarBuilderChartConfig.displayType`.
3035#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3036pub enum ClickStackBarBuilderChartConfigDisplaytype {
3037    #[serde(rename = "stacked_bar")]
3038    #[default]
3039    Stacked_bar,
3040    /// Catch-all for unknown or newly-added values.
3041    #[serde(untagged)]
3042    Unknown(String),
3043}
3044
3045impl std::fmt::Display for ClickStackBarBuilderChartConfigDisplaytype {
3046    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3047        match self {
3048            Self::Stacked_bar => write!(f, "stacked_bar"),
3049            Self::Unknown(s) => write!(f, "{s}"),
3050        }
3051    }
3052}
3053
3054/// Inline enum for `ClickStackBarRawSqlChartConfig.configType`.
3055#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3056pub enum ClickStackBarRawSqlChartConfigConfigtype {
3057    #[serde(rename = "sql")]
3058    #[default]
3059    Sql,
3060    /// Catch-all for unknown or newly-added values.
3061    #[serde(untagged)]
3062    Unknown(String),
3063}
3064
3065impl std::fmt::Display for ClickStackBarRawSqlChartConfigConfigtype {
3066    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3067        match self {
3068            Self::Sql => write!(f, "sql"),
3069            Self::Unknown(s) => write!(f, "{s}"),
3070        }
3071    }
3072}
3073
3074/// Inline enum for `ClickStackBarRawSqlChartConfig.displayType`.
3075#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3076pub enum ClickStackBarRawSqlChartConfigDisplaytype {
3077    #[serde(rename = "stacked_bar")]
3078    #[default]
3079    Stacked_bar,
3080    /// Catch-all for unknown or newly-added values.
3081    #[serde(untagged)]
3082    Unknown(String),
3083}
3084
3085impl std::fmt::Display for ClickStackBarRawSqlChartConfigDisplaytype {
3086    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3087        match self {
3088            Self::Stacked_bar => write!(f, "stacked_bar"),
3089            Self::Unknown(s) => write!(f, "{s}"),
3090        }
3091    }
3092}
3093
3094/// Inline enum for `ClickStackCreateAlertRequest.interval`.
3095#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3096pub enum ClickStackCreateAlertRequestInterval {
3097    #[serde(rename = "1m")]
3098    #[default]
3099    _1m,
3100    #[serde(rename = "5m")]
3101    _5m,
3102    #[serde(rename = "15m")]
3103    _15m,
3104    #[serde(rename = "30m")]
3105    _30m,
3106    #[serde(rename = "1h")]
3107    _1h,
3108    #[serde(rename = "6h")]
3109    _6h,
3110    #[serde(rename = "12h")]
3111    _12h,
3112    #[serde(rename = "1d")]
3113    _1d,
3114    /// Catch-all for unknown or newly-added values.
3115    #[serde(untagged)]
3116    Unknown(String),
3117}
3118
3119impl std::fmt::Display for ClickStackCreateAlertRequestInterval {
3120    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3121        match self {
3122            Self::_1m => write!(f, "1m"),
3123            Self::_5m => write!(f, "5m"),
3124            Self::_15m => write!(f, "15m"),
3125            Self::_30m => write!(f, "30m"),
3126            Self::_1h => write!(f, "1h"),
3127            Self::_6h => write!(f, "6h"),
3128            Self::_12h => write!(f, "12h"),
3129            Self::_1d => write!(f, "1d"),
3130            Self::Unknown(s) => write!(f, "{s}"),
3131        }
3132    }
3133}
3134
3135/// Inline enum for `ClickStackCreateAlertRequest.source`.
3136#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3137pub enum ClickStackCreateAlertRequestSource {
3138    #[serde(rename = "saved_search")]
3139    #[default]
3140    Saved_search,
3141    #[serde(rename = "tile")]
3142    Tile,
3143    /// Catch-all for unknown or newly-added values.
3144    #[serde(untagged)]
3145    Unknown(String),
3146}
3147
3148impl std::fmt::Display for ClickStackCreateAlertRequestSource {
3149    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3150        match self {
3151            Self::Saved_search => write!(f, "saved_search"),
3152            Self::Tile => write!(f, "tile"),
3153            Self::Unknown(s) => write!(f, "{s}"),
3154        }
3155    }
3156}
3157
3158/// Inline enum for `ClickStackCreateAlertRequest.thresholdType`.
3159#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3160pub enum ClickStackCreateAlertRequestThresholdtype {
3161    #[serde(rename = "above")]
3162    #[default]
3163    Above,
3164    #[serde(rename = "below")]
3165    Below,
3166    /// Catch-all for unknown or newly-added values.
3167    #[serde(untagged)]
3168    Unknown(String),
3169}
3170
3171impl std::fmt::Display for ClickStackCreateAlertRequestThresholdtype {
3172    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3173        match self {
3174            Self::Above => write!(f, "above"),
3175            Self::Below => write!(f, "below"),
3176            Self::Unknown(s) => write!(f, "{s}"),
3177        }
3178    }
3179}
3180
3181/// Inline enum for `ClickStackCreateDashboardRequest.savedQueryLanguage`.
3182#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3183pub enum ClickStackCreateDashboardRequestSavedquerylanguage {
3184    #[serde(rename = "sql")]
3185    #[default]
3186    Sql,
3187    #[serde(rename = "lucene")]
3188    Lucene,
3189    /// Catch-all for unknown or newly-added values.
3190    #[serde(untagged)]
3191    Unknown(String),
3192}
3193
3194impl std::fmt::Display for ClickStackCreateDashboardRequestSavedquerylanguage {
3195    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3196        match self {
3197            Self::Sql => write!(f, "sql"),
3198            Self::Lucene => write!(f, "lucene"),
3199            Self::Unknown(s) => write!(f, "{s}"),
3200        }
3201    }
3202}
3203
3204/// Inline enum for `ClickStackDashboardResponse.savedQueryLanguage`.
3205#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3206pub enum ClickStackDashboardResponseSavedquerylanguage {
3207    #[serde(rename = "sql")]
3208    #[default]
3209    Sql,
3210    #[serde(rename = "lucene")]
3211    Lucene,
3212    /// Catch-all for unknown or newly-added values.
3213    #[serde(untagged)]
3214    Unknown(String),
3215}
3216
3217impl std::fmt::Display for ClickStackDashboardResponseSavedquerylanguage {
3218    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3219        match self {
3220            Self::Sql => write!(f, "sql"),
3221            Self::Lucene => write!(f, "lucene"),
3222            Self::Unknown(s) => write!(f, "{s}"),
3223        }
3224    }
3225}
3226
3227/// Inline enum for `ClickStackFilter.sourceMetricType`.
3228#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3229pub enum ClickStackFilterSourcemetrictype {
3230    #[serde(rename = "sum")]
3231    #[default]
3232    Sum,
3233    #[serde(rename = "gauge")]
3234    Gauge,
3235    #[serde(rename = "histogram")]
3236    Histogram,
3237    #[serde(rename = "summary")]
3238    Summary,
3239    #[serde(rename = "exponential histogram")]
3240    Exponential_histogram,
3241    /// Catch-all for unknown or newly-added values.
3242    #[serde(untagged)]
3243    Unknown(String),
3244}
3245
3246impl std::fmt::Display for ClickStackFilterSourcemetrictype {
3247    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3248        match self {
3249            Self::Sum => write!(f, "sum"),
3250            Self::Gauge => write!(f, "gauge"),
3251            Self::Histogram => write!(f, "histogram"),
3252            Self::Summary => write!(f, "summary"),
3253            Self::Exponential_histogram => write!(f, "exponential histogram"),
3254            Self::Unknown(s) => write!(f, "{s}"),
3255        }
3256    }
3257}
3258
3259/// Inline enum for `ClickStackFilter.type`.
3260#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3261pub enum ClickStackFilterType {
3262    #[default]
3263    QUERY_EXPRESSION,
3264    /// Catch-all for unknown or newly-added values.
3265    #[serde(untagged)]
3266    Unknown(String),
3267}
3268
3269impl std::fmt::Display for ClickStackFilterType {
3270    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3271        match self {
3272            Self::QUERY_EXPRESSION => write!(f, "QUERY_EXPRESSION"),
3273            Self::Unknown(s) => write!(f, "{s}"),
3274        }
3275    }
3276}
3277
3278/// Inline enum for `ClickStackFilter.whereLanguage`.
3279#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3280pub enum ClickStackFilterWherelanguage {
3281    #[serde(rename = "sql")]
3282    #[default]
3283    Sql,
3284    #[serde(rename = "lucene")]
3285    Lucene,
3286    /// Catch-all for unknown or newly-added values.
3287    #[serde(untagged)]
3288    Unknown(String),
3289}
3290
3291impl std::fmt::Display for ClickStackFilterWherelanguage {
3292    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3293        match self {
3294            Self::Sql => write!(f, "sql"),
3295            Self::Lucene => write!(f, "lucene"),
3296            Self::Unknown(s) => write!(f, "{s}"),
3297        }
3298    }
3299}
3300
3301/// Inline enum for `ClickStackFilterInput.sourceMetricType`.
3302#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3303pub enum ClickStackFilterInputSourcemetrictype {
3304    #[serde(rename = "sum")]
3305    #[default]
3306    Sum,
3307    #[serde(rename = "gauge")]
3308    Gauge,
3309    #[serde(rename = "histogram")]
3310    Histogram,
3311    #[serde(rename = "summary")]
3312    Summary,
3313    #[serde(rename = "exponential histogram")]
3314    Exponential_histogram,
3315    /// Catch-all for unknown or newly-added values.
3316    #[serde(untagged)]
3317    Unknown(String),
3318}
3319
3320impl std::fmt::Display for ClickStackFilterInputSourcemetrictype {
3321    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3322        match self {
3323            Self::Sum => write!(f, "sum"),
3324            Self::Gauge => write!(f, "gauge"),
3325            Self::Histogram => write!(f, "histogram"),
3326            Self::Summary => write!(f, "summary"),
3327            Self::Exponential_histogram => write!(f, "exponential histogram"),
3328            Self::Unknown(s) => write!(f, "{s}"),
3329        }
3330    }
3331}
3332
3333/// Inline enum for `ClickStackFilterInput.type`.
3334#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3335pub enum ClickStackFilterInputType {
3336    #[default]
3337    QUERY_EXPRESSION,
3338    /// Catch-all for unknown or newly-added values.
3339    #[serde(untagged)]
3340    Unknown(String),
3341}
3342
3343impl std::fmt::Display for ClickStackFilterInputType {
3344    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3345        match self {
3346            Self::QUERY_EXPRESSION => write!(f, "QUERY_EXPRESSION"),
3347            Self::Unknown(s) => write!(f, "{s}"),
3348        }
3349    }
3350}
3351
3352/// Inline enum for `ClickStackFilterInput.whereLanguage`.
3353#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3354pub enum ClickStackFilterInputWherelanguage {
3355    #[serde(rename = "sql")]
3356    #[default]
3357    Sql,
3358    #[serde(rename = "lucene")]
3359    Lucene,
3360    /// Catch-all for unknown or newly-added values.
3361    #[serde(untagged)]
3362    Unknown(String),
3363}
3364
3365impl std::fmt::Display for ClickStackFilterInputWherelanguage {
3366    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3367        match self {
3368            Self::Sql => write!(f, "sql"),
3369            Self::Lucene => write!(f, "lucene"),
3370            Self::Unknown(s) => write!(f, "{s}"),
3371        }
3372    }
3373}
3374
3375/// Inline enum for `ClickStackGenericWebhook.service`.
3376#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3377pub enum ClickStackGenericWebhookService {
3378    #[serde(rename = "generic")]
3379    #[default]
3380    Generic,
3381    /// Catch-all for unknown or newly-added values.
3382    #[serde(untagged)]
3383    Unknown(String),
3384}
3385
3386impl std::fmt::Display for ClickStackGenericWebhookService {
3387    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3388        match self {
3389            Self::Generic => write!(f, "generic"),
3390            Self::Unknown(s) => write!(f, "{s}"),
3391        }
3392    }
3393}
3394
3395/// Inline enum for `ClickStackIncidentIOWebhook.service`.
3396#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3397pub enum ClickStackIncidentIOWebhookService {
3398    #[serde(rename = "incidentio")]
3399    #[default]
3400    Incidentio,
3401    /// Catch-all for unknown or newly-added values.
3402    #[serde(untagged)]
3403    Unknown(String),
3404}
3405
3406impl std::fmt::Display for ClickStackIncidentIOWebhookService {
3407    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3408        match self {
3409            Self::Incidentio => write!(f, "incidentio"),
3410            Self::Unknown(s) => write!(f, "{s}"),
3411        }
3412    }
3413}
3414
3415/// Inline enum for `ClickStackLineBuilderChartConfig.displayType`.
3416#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3417pub enum ClickStackLineBuilderChartConfigDisplaytype {
3418    #[serde(rename = "line")]
3419    #[default]
3420    Line,
3421    /// Catch-all for unknown or newly-added values.
3422    #[serde(untagged)]
3423    Unknown(String),
3424}
3425
3426impl std::fmt::Display for ClickStackLineBuilderChartConfigDisplaytype {
3427    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3428        match self {
3429            Self::Line => write!(f, "line"),
3430            Self::Unknown(s) => write!(f, "{s}"),
3431        }
3432    }
3433}
3434
3435/// Inline enum for `ClickStackLineRawSqlChartConfig.configType`.
3436#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3437pub enum ClickStackLineRawSqlChartConfigConfigtype {
3438    #[serde(rename = "sql")]
3439    #[default]
3440    Sql,
3441    /// Catch-all for unknown or newly-added values.
3442    #[serde(untagged)]
3443    Unknown(String),
3444}
3445
3446impl std::fmt::Display for ClickStackLineRawSqlChartConfigConfigtype {
3447    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3448        match self {
3449            Self::Sql => write!(f, "sql"),
3450            Self::Unknown(s) => write!(f, "{s}"),
3451        }
3452    }
3453}
3454
3455/// Inline enum for `ClickStackLineRawSqlChartConfig.displayType`.
3456#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3457pub enum ClickStackLineRawSqlChartConfigDisplaytype {
3458    #[serde(rename = "line")]
3459    #[default]
3460    Line,
3461    /// Catch-all for unknown or newly-added values.
3462    #[serde(untagged)]
3463    Unknown(String),
3464}
3465
3466impl std::fmt::Display for ClickStackLineRawSqlChartConfigDisplaytype {
3467    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3468        match self {
3469            Self::Line => write!(f, "line"),
3470            Self::Unknown(s) => write!(f, "{s}"),
3471        }
3472    }
3473}
3474
3475/// Inline enum for `ClickStackLogSource.kind`.
3476#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3477pub enum ClickStackLogSourceKind {
3478    #[serde(rename = "log")]
3479    #[default]
3480    Log,
3481    /// Catch-all for unknown or newly-added values.
3482    #[serde(untagged)]
3483    Unknown(String),
3484}
3485
3486impl std::fmt::Display for ClickStackLogSourceKind {
3487    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3488        match self {
3489            Self::Log => write!(f, "log"),
3490            Self::Unknown(s) => write!(f, "{s}"),
3491        }
3492    }
3493}
3494
3495/// Inline enum for `ClickStackMarkdownChartConfig.displayType`.
3496#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3497pub enum ClickStackMarkdownChartConfigDisplaytype {
3498    #[serde(rename = "markdown")]
3499    #[default]
3500    Markdown,
3501    /// Catch-all for unknown or newly-added values.
3502    #[serde(untagged)]
3503    Unknown(String),
3504}
3505
3506impl std::fmt::Display for ClickStackMarkdownChartConfigDisplaytype {
3507    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3508        match self {
3509            Self::Markdown => write!(f, "markdown"),
3510            Self::Unknown(s) => write!(f, "{s}"),
3511        }
3512    }
3513}
3514
3515/// Inline enum for `ClickStackMarkdownChartSeries.type`.
3516#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3517pub enum ClickStackMarkdownChartSeriesType {
3518    #[serde(rename = "markdown")]
3519    #[default]
3520    Markdown,
3521    /// Catch-all for unknown or newly-added values.
3522    #[serde(untagged)]
3523    Unknown(String),
3524}
3525
3526impl std::fmt::Display for ClickStackMarkdownChartSeriesType {
3527    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3528        match self {
3529            Self::Markdown => write!(f, "markdown"),
3530            Self::Unknown(s) => write!(f, "{s}"),
3531        }
3532    }
3533}
3534
3535/// Inline enum for `ClickStackMaterializedView.minGranularity`.
3536#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3537pub enum ClickStackMaterializedViewMingranularity {
3538    #[serde(rename = "1s")]
3539    #[default]
3540    _1s,
3541    #[serde(rename = "15s")]
3542    _15s,
3543    #[serde(rename = "30s")]
3544    _30s,
3545    #[serde(rename = "1m")]
3546    _1m,
3547    #[serde(rename = "5m")]
3548    _5m,
3549    #[serde(rename = "15m")]
3550    _15m,
3551    #[serde(rename = "30m")]
3552    _30m,
3553    #[serde(rename = "1h")]
3554    _1h,
3555    #[serde(rename = "2h")]
3556    _2h,
3557    #[serde(rename = "6h")]
3558    _6h,
3559    #[serde(rename = "12h")]
3560    _12h,
3561    #[serde(rename = "1d")]
3562    _1d,
3563    #[serde(rename = "2d")]
3564    _2d,
3565    #[serde(rename = "7d")]
3566    _7d,
3567    #[serde(rename = "30d")]
3568    _30d,
3569    /// Catch-all for unknown or newly-added values.
3570    #[serde(untagged)]
3571    Unknown(String),
3572}
3573
3574impl std::fmt::Display for ClickStackMaterializedViewMingranularity {
3575    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3576        match self {
3577            Self::_1s => write!(f, "1s"),
3578            Self::_15s => write!(f, "15s"),
3579            Self::_30s => write!(f, "30s"),
3580            Self::_1m => write!(f, "1m"),
3581            Self::_5m => write!(f, "5m"),
3582            Self::_15m => write!(f, "15m"),
3583            Self::_30m => write!(f, "30m"),
3584            Self::_1h => write!(f, "1h"),
3585            Self::_2h => write!(f, "2h"),
3586            Self::_6h => write!(f, "6h"),
3587            Self::_12h => write!(f, "12h"),
3588            Self::_1d => write!(f, "1d"),
3589            Self::_2d => write!(f, "2d"),
3590            Self::_7d => write!(f, "7d"),
3591            Self::_30d => write!(f, "30d"),
3592            Self::Unknown(s) => write!(f, "{s}"),
3593        }
3594    }
3595}
3596
3597/// Inline enum for `ClickStackMetricSource.kind`.
3598#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3599pub enum ClickStackMetricSourceKind {
3600    #[serde(rename = "metric")]
3601    #[default]
3602    Metric,
3603    /// Catch-all for unknown or newly-added values.
3604    #[serde(untagged)]
3605    Unknown(String),
3606}
3607
3608impl std::fmt::Display for ClickStackMetricSourceKind {
3609    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3610        match self {
3611            Self::Metric => write!(f, "metric"),
3612            Self::Unknown(s) => write!(f, "{s}"),
3613        }
3614    }
3615}
3616
3617/// Inline enum for `ClickStackNumberBuilderChartConfig.displayType`.
3618#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3619pub enum ClickStackNumberBuilderChartConfigDisplaytype {
3620    #[serde(rename = "number")]
3621    #[default]
3622    Number,
3623    /// Catch-all for unknown or newly-added values.
3624    #[serde(untagged)]
3625    Unknown(String),
3626}
3627
3628impl std::fmt::Display for ClickStackNumberBuilderChartConfigDisplaytype {
3629    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3630        match self {
3631            Self::Number => write!(f, "number"),
3632            Self::Unknown(s) => write!(f, "{s}"),
3633        }
3634    }
3635}
3636
3637/// Inline enum for `ClickStackNumberChartSeries.aggFn`.
3638#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3639pub enum ClickStackNumberChartSeriesAggfn {
3640    #[serde(rename = "avg")]
3641    #[default]
3642    Avg,
3643    #[serde(rename = "count")]
3644    Count,
3645    #[serde(rename = "count_distinct")]
3646    Count_distinct,
3647    #[serde(rename = "last_value")]
3648    Last_value,
3649    #[serde(rename = "max")]
3650    Max,
3651    #[serde(rename = "min")]
3652    Min,
3653    #[serde(rename = "quantile")]
3654    Quantile,
3655    #[serde(rename = "sum")]
3656    Sum,
3657    #[serde(rename = "any")]
3658    Any,
3659    #[serde(rename = "none")]
3660    None,
3661    /// Catch-all for unknown or newly-added values.
3662    #[serde(untagged)]
3663    Unknown(String),
3664}
3665
3666impl std::fmt::Display for ClickStackNumberChartSeriesAggfn {
3667    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3668        match self {
3669            Self::Avg => write!(f, "avg"),
3670            Self::Count => write!(f, "count"),
3671            Self::Count_distinct => write!(f, "count_distinct"),
3672            Self::Last_value => write!(f, "last_value"),
3673            Self::Max => write!(f, "max"),
3674            Self::Min => write!(f, "min"),
3675            Self::Quantile => write!(f, "quantile"),
3676            Self::Sum => write!(f, "sum"),
3677            Self::Any => write!(f, "any"),
3678            Self::None => write!(f, "none"),
3679            Self::Unknown(s) => write!(f, "{s}"),
3680        }
3681    }
3682}
3683
3684/// Inline enum for `ClickStackNumberChartSeries.metricDataType`.
3685#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3686pub enum ClickStackNumberChartSeriesMetricdatatype {
3687    #[serde(rename = "sum")]
3688    #[default]
3689    Sum,
3690    #[serde(rename = "gauge")]
3691    Gauge,
3692    #[serde(rename = "histogram")]
3693    Histogram,
3694    #[serde(rename = "summary")]
3695    Summary,
3696    #[serde(rename = "exponential histogram")]
3697    Exponential_histogram,
3698    /// Catch-all for unknown or newly-added values.
3699    #[serde(untagged)]
3700    Unknown(String),
3701}
3702
3703impl std::fmt::Display for ClickStackNumberChartSeriesMetricdatatype {
3704    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3705        match self {
3706            Self::Sum => write!(f, "sum"),
3707            Self::Gauge => write!(f, "gauge"),
3708            Self::Histogram => write!(f, "histogram"),
3709            Self::Summary => write!(f, "summary"),
3710            Self::Exponential_histogram => write!(f, "exponential histogram"),
3711            Self::Unknown(s) => write!(f, "{s}"),
3712        }
3713    }
3714}
3715
3716/// Inline enum for `ClickStackNumberChartSeries.type`.
3717#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3718pub enum ClickStackNumberChartSeriesType {
3719    #[serde(rename = "number")]
3720    #[default]
3721    Number,
3722    /// Catch-all for unknown or newly-added values.
3723    #[serde(untagged)]
3724    Unknown(String),
3725}
3726
3727impl std::fmt::Display for ClickStackNumberChartSeriesType {
3728    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3729        match self {
3730            Self::Number => write!(f, "number"),
3731            Self::Unknown(s) => write!(f, "{s}"),
3732        }
3733    }
3734}
3735
3736/// Inline enum for `ClickStackNumberChartSeries.whereLanguage`.
3737#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3738pub enum ClickStackNumberChartSeriesWherelanguage {
3739    #[serde(rename = "sql")]
3740    #[default]
3741    Sql,
3742    #[serde(rename = "lucene")]
3743    Lucene,
3744    /// Catch-all for unknown or newly-added values.
3745    #[serde(untagged)]
3746    Unknown(String),
3747}
3748
3749impl std::fmt::Display for ClickStackNumberChartSeriesWherelanguage {
3750    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3751        match self {
3752            Self::Sql => write!(f, "sql"),
3753            Self::Lucene => write!(f, "lucene"),
3754            Self::Unknown(s) => write!(f, "{s}"),
3755        }
3756    }
3757}
3758
3759/// Inline enum for `ClickStackNumberFormat.numericUnit`.
3760#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3761pub enum ClickStackNumberFormatNumericunit {
3762    #[serde(rename = "bytes_iec")]
3763    #[default]
3764    Bytes_iec,
3765    #[serde(rename = "bytes_si")]
3766    Bytes_si,
3767    #[serde(rename = "bits_iec")]
3768    Bits_iec,
3769    #[serde(rename = "bits_si")]
3770    Bits_si,
3771    #[serde(rename = "kibibytes")]
3772    Kibibytes,
3773    #[serde(rename = "kilobytes")]
3774    Kilobytes,
3775    #[serde(rename = "mebibytes")]
3776    Mebibytes,
3777    #[serde(rename = "megabytes")]
3778    Megabytes,
3779    #[serde(rename = "gibibytes")]
3780    Gibibytes,
3781    #[serde(rename = "gigabytes")]
3782    Gigabytes,
3783    #[serde(rename = "tebibytes")]
3784    Tebibytes,
3785    #[serde(rename = "terabytes")]
3786    Terabytes,
3787    #[serde(rename = "pebibytes")]
3788    Pebibytes,
3789    #[serde(rename = "petabytes")]
3790    Petabytes,
3791    #[serde(rename = "packets_sec")]
3792    Packets_sec,
3793    #[serde(rename = "bytes_sec_iec")]
3794    Bytes_sec_iec,
3795    #[serde(rename = "bytes_sec_si")]
3796    Bytes_sec_si,
3797    #[serde(rename = "bits_sec_iec")]
3798    Bits_sec_iec,
3799    #[serde(rename = "bits_sec_si")]
3800    Bits_sec_si,
3801    #[serde(rename = "kibibytes_sec")]
3802    Kibibytes_sec,
3803    #[serde(rename = "kibibits_sec")]
3804    Kibibits_sec,
3805    #[serde(rename = "kilobytes_sec")]
3806    Kilobytes_sec,
3807    #[serde(rename = "kilobits_sec")]
3808    Kilobits_sec,
3809    #[serde(rename = "mebibytes_sec")]
3810    Mebibytes_sec,
3811    #[serde(rename = "mebibits_sec")]
3812    Mebibits_sec,
3813    #[serde(rename = "megabytes_sec")]
3814    Megabytes_sec,
3815    #[serde(rename = "megabits_sec")]
3816    Megabits_sec,
3817    #[serde(rename = "gibibytes_sec")]
3818    Gibibytes_sec,
3819    #[serde(rename = "gibibits_sec")]
3820    Gibibits_sec,
3821    #[serde(rename = "gigabytes_sec")]
3822    Gigabytes_sec,
3823    #[serde(rename = "gigabits_sec")]
3824    Gigabits_sec,
3825    #[serde(rename = "tebibytes_sec")]
3826    Tebibytes_sec,
3827    #[serde(rename = "tebibits_sec")]
3828    Tebibits_sec,
3829    #[serde(rename = "terabytes_sec")]
3830    Terabytes_sec,
3831    #[serde(rename = "terabits_sec")]
3832    Terabits_sec,
3833    #[serde(rename = "pebibytes_sec")]
3834    Pebibytes_sec,
3835    #[serde(rename = "pebibits_sec")]
3836    Pebibits_sec,
3837    #[serde(rename = "petabytes_sec")]
3838    Petabytes_sec,
3839    #[serde(rename = "petabits_sec")]
3840    Petabits_sec,
3841    #[serde(rename = "cps")]
3842    Cps,
3843    #[serde(rename = "ops")]
3844    Ops,
3845    #[serde(rename = "rps")]
3846    Rps,
3847    #[serde(rename = "reads_sec")]
3848    Reads_sec,
3849    #[serde(rename = "wps")]
3850    Wps,
3851    #[serde(rename = "iops")]
3852    Iops,
3853    #[serde(rename = "cpm")]
3854    Cpm,
3855    #[serde(rename = "opm")]
3856    Opm,
3857    #[serde(rename = "rpm_reads")]
3858    Rpm_reads,
3859    #[serde(rename = "wpm")]
3860    Wpm,
3861    /// Catch-all for unknown or newly-added values.
3862    #[serde(untagged)]
3863    Unknown(String),
3864}
3865
3866impl std::fmt::Display for ClickStackNumberFormatNumericunit {
3867    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3868        match self {
3869            Self::Bytes_iec => write!(f, "bytes_iec"),
3870            Self::Bytes_si => write!(f, "bytes_si"),
3871            Self::Bits_iec => write!(f, "bits_iec"),
3872            Self::Bits_si => write!(f, "bits_si"),
3873            Self::Kibibytes => write!(f, "kibibytes"),
3874            Self::Kilobytes => write!(f, "kilobytes"),
3875            Self::Mebibytes => write!(f, "mebibytes"),
3876            Self::Megabytes => write!(f, "megabytes"),
3877            Self::Gibibytes => write!(f, "gibibytes"),
3878            Self::Gigabytes => write!(f, "gigabytes"),
3879            Self::Tebibytes => write!(f, "tebibytes"),
3880            Self::Terabytes => write!(f, "terabytes"),
3881            Self::Pebibytes => write!(f, "pebibytes"),
3882            Self::Petabytes => write!(f, "petabytes"),
3883            Self::Packets_sec => write!(f, "packets_sec"),
3884            Self::Bytes_sec_iec => write!(f, "bytes_sec_iec"),
3885            Self::Bytes_sec_si => write!(f, "bytes_sec_si"),
3886            Self::Bits_sec_iec => write!(f, "bits_sec_iec"),
3887            Self::Bits_sec_si => write!(f, "bits_sec_si"),
3888            Self::Kibibytes_sec => write!(f, "kibibytes_sec"),
3889            Self::Kibibits_sec => write!(f, "kibibits_sec"),
3890            Self::Kilobytes_sec => write!(f, "kilobytes_sec"),
3891            Self::Kilobits_sec => write!(f, "kilobits_sec"),
3892            Self::Mebibytes_sec => write!(f, "mebibytes_sec"),
3893            Self::Mebibits_sec => write!(f, "mebibits_sec"),
3894            Self::Megabytes_sec => write!(f, "megabytes_sec"),
3895            Self::Megabits_sec => write!(f, "megabits_sec"),
3896            Self::Gibibytes_sec => write!(f, "gibibytes_sec"),
3897            Self::Gibibits_sec => write!(f, "gibibits_sec"),
3898            Self::Gigabytes_sec => write!(f, "gigabytes_sec"),
3899            Self::Gigabits_sec => write!(f, "gigabits_sec"),
3900            Self::Tebibytes_sec => write!(f, "tebibytes_sec"),
3901            Self::Tebibits_sec => write!(f, "tebibits_sec"),
3902            Self::Terabytes_sec => write!(f, "terabytes_sec"),
3903            Self::Terabits_sec => write!(f, "terabits_sec"),
3904            Self::Pebibytes_sec => write!(f, "pebibytes_sec"),
3905            Self::Pebibits_sec => write!(f, "pebibits_sec"),
3906            Self::Petabytes_sec => write!(f, "petabytes_sec"),
3907            Self::Petabits_sec => write!(f, "petabits_sec"),
3908            Self::Cps => write!(f, "cps"),
3909            Self::Ops => write!(f, "ops"),
3910            Self::Rps => write!(f, "rps"),
3911            Self::Reads_sec => write!(f, "reads_sec"),
3912            Self::Wps => write!(f, "wps"),
3913            Self::Iops => write!(f, "iops"),
3914            Self::Cpm => write!(f, "cpm"),
3915            Self::Opm => write!(f, "opm"),
3916            Self::Rpm_reads => write!(f, "rpm_reads"),
3917            Self::Wpm => write!(f, "wpm"),
3918            Self::Unknown(s) => write!(f, "{s}"),
3919        }
3920    }
3921}
3922
3923/// Inline enum for `ClickStackNumberFormat.output`.
3924#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3925pub enum ClickStackNumberFormatOutput {
3926    #[serde(rename = "currency")]
3927    #[default]
3928    Currency,
3929    #[serde(rename = "percent")]
3930    Percent,
3931    #[serde(rename = "byte")]
3932    Byte,
3933    #[serde(rename = "time")]
3934    Time,
3935    #[serde(rename = "number")]
3936    Number,
3937    #[serde(rename = "data_rate")]
3938    Data_rate,
3939    #[serde(rename = "throughput")]
3940    Throughput,
3941    /// Catch-all for unknown or newly-added values.
3942    #[serde(untagged)]
3943    Unknown(String),
3944}
3945
3946impl std::fmt::Display for ClickStackNumberFormatOutput {
3947    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3948        match self {
3949            Self::Currency => write!(f, "currency"),
3950            Self::Percent => write!(f, "percent"),
3951            Self::Byte => write!(f, "byte"),
3952            Self::Time => write!(f, "time"),
3953            Self::Number => write!(f, "number"),
3954            Self::Data_rate => write!(f, "data_rate"),
3955            Self::Throughput => write!(f, "throughput"),
3956            Self::Unknown(s) => write!(f, "{s}"),
3957        }
3958    }
3959}
3960
3961/// Inline enum for `ClickStackNumberRawSqlChartConfig.configType`.
3962#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3963pub enum ClickStackNumberRawSqlChartConfigConfigtype {
3964    #[serde(rename = "sql")]
3965    #[default]
3966    Sql,
3967    /// Catch-all for unknown or newly-added values.
3968    #[serde(untagged)]
3969    Unknown(String),
3970}
3971
3972impl std::fmt::Display for ClickStackNumberRawSqlChartConfigConfigtype {
3973    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3974        match self {
3975            Self::Sql => write!(f, "sql"),
3976            Self::Unknown(s) => write!(f, "{s}"),
3977        }
3978    }
3979}
3980
3981/// Inline enum for `ClickStackNumberRawSqlChartConfig.displayType`.
3982#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
3983pub enum ClickStackNumberRawSqlChartConfigDisplaytype {
3984    #[serde(rename = "number")]
3985    #[default]
3986    Number,
3987    /// Catch-all for unknown or newly-added values.
3988    #[serde(untagged)]
3989    Unknown(String),
3990}
3991
3992impl std::fmt::Display for ClickStackNumberRawSqlChartConfigDisplaytype {
3993    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3994        match self {
3995            Self::Number => write!(f, "number"),
3996            Self::Unknown(s) => write!(f, "{s}"),
3997        }
3998    }
3999}
4000
4001/// Inline enum for `ClickStackPagerDutyAPIWebhook.service`.
4002#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4003pub enum ClickStackPagerDutyAPIWebhookService {
4004    #[serde(rename = "pagerduty_api")]
4005    #[default]
4006    Pagerduty_api,
4007    /// Catch-all for unknown or newly-added values.
4008    #[serde(untagged)]
4009    Unknown(String),
4010}
4011
4012impl std::fmt::Display for ClickStackPagerDutyAPIWebhookService {
4013    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4014        match self {
4015            Self::Pagerduty_api => write!(f, "pagerduty_api"),
4016            Self::Unknown(s) => write!(f, "{s}"),
4017        }
4018    }
4019}
4020
4021/// Inline enum for `ClickStackPieBuilderChartConfig.displayType`.
4022#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4023pub enum ClickStackPieBuilderChartConfigDisplaytype {
4024    #[serde(rename = "pie")]
4025    #[default]
4026    Pie,
4027    /// Catch-all for unknown or newly-added values.
4028    #[serde(untagged)]
4029    Unknown(String),
4030}
4031
4032impl std::fmt::Display for ClickStackPieBuilderChartConfigDisplaytype {
4033    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4034        match self {
4035            Self::Pie => write!(f, "pie"),
4036            Self::Unknown(s) => write!(f, "{s}"),
4037        }
4038    }
4039}
4040
4041/// Inline enum for `ClickStackPieRawSqlChartConfig.configType`.
4042#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4043pub enum ClickStackPieRawSqlChartConfigConfigtype {
4044    #[serde(rename = "sql")]
4045    #[default]
4046    Sql,
4047    /// Catch-all for unknown or newly-added values.
4048    #[serde(untagged)]
4049    Unknown(String),
4050}
4051
4052impl std::fmt::Display for ClickStackPieRawSqlChartConfigConfigtype {
4053    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4054        match self {
4055            Self::Sql => write!(f, "sql"),
4056            Self::Unknown(s) => write!(f, "{s}"),
4057        }
4058    }
4059}
4060
4061/// Inline enum for `ClickStackPieRawSqlChartConfig.displayType`.
4062#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4063pub enum ClickStackPieRawSqlChartConfigDisplaytype {
4064    #[serde(rename = "pie")]
4065    #[default]
4066    Pie,
4067    /// Catch-all for unknown or newly-added values.
4068    #[serde(untagged)]
4069    Unknown(String),
4070}
4071
4072impl std::fmt::Display for ClickStackPieRawSqlChartConfigDisplaytype {
4073    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4074        match self {
4075            Self::Pie => write!(f, "pie"),
4076            Self::Unknown(s) => write!(f, "{s}"),
4077        }
4078    }
4079}
4080
4081/// Inline enum for `ClickStackSavedFilterValue.type`.
4082#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4083pub enum ClickStackSavedFilterValueType {
4084    #[serde(rename = "sql")]
4085    #[default]
4086    Sql,
4087    /// Catch-all for unknown or newly-added values.
4088    #[serde(untagged)]
4089    Unknown(String),
4090}
4091
4092impl std::fmt::Display for ClickStackSavedFilterValueType {
4093    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4094        match self {
4095            Self::Sql => write!(f, "sql"),
4096            Self::Unknown(s) => write!(f, "{s}"),
4097        }
4098    }
4099}
4100
4101/// Inline enum for `ClickStackSearchChartConfig.displayType`.
4102#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4103pub enum ClickStackSearchChartConfigDisplaytype {
4104    #[serde(rename = "search")]
4105    #[default]
4106    Search,
4107    /// Catch-all for unknown or newly-added values.
4108    #[serde(untagged)]
4109    Unknown(String),
4110}
4111
4112impl std::fmt::Display for ClickStackSearchChartConfigDisplaytype {
4113    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4114        match self {
4115            Self::Search => write!(f, "search"),
4116            Self::Unknown(s) => write!(f, "{s}"),
4117        }
4118    }
4119}
4120
4121/// Inline enum for `ClickStackSearchChartConfig.whereLanguage`.
4122#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4123pub enum ClickStackSearchChartConfigWherelanguage {
4124    #[serde(rename = "sql")]
4125    #[default]
4126    Sql,
4127    #[serde(rename = "lucene")]
4128    Lucene,
4129    /// Catch-all for unknown or newly-added values.
4130    #[serde(untagged)]
4131    Unknown(String),
4132}
4133
4134impl std::fmt::Display for ClickStackSearchChartConfigWherelanguage {
4135    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4136        match self {
4137            Self::Sql => write!(f, "sql"),
4138            Self::Lucene => write!(f, "lucene"),
4139            Self::Unknown(s) => write!(f, "{s}"),
4140        }
4141    }
4142}
4143
4144/// Inline enum for `ClickStackSearchChartSeries.type`.
4145#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4146pub enum ClickStackSearchChartSeriesType {
4147    #[serde(rename = "search")]
4148    #[default]
4149    Search,
4150    /// Catch-all for unknown or newly-added values.
4151    #[serde(untagged)]
4152    Unknown(String),
4153}
4154
4155impl std::fmt::Display for ClickStackSearchChartSeriesType {
4156    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4157        match self {
4158            Self::Search => write!(f, "search"),
4159            Self::Unknown(s) => write!(f, "{s}"),
4160        }
4161    }
4162}
4163
4164/// Inline enum for `ClickStackSearchChartSeries.whereLanguage`.
4165#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4166pub enum ClickStackSearchChartSeriesWherelanguage {
4167    #[serde(rename = "sql")]
4168    #[default]
4169    Sql,
4170    #[serde(rename = "lucene")]
4171    Lucene,
4172    /// Catch-all for unknown or newly-added values.
4173    #[serde(untagged)]
4174    Unknown(String),
4175}
4176
4177impl std::fmt::Display for ClickStackSearchChartSeriesWherelanguage {
4178    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4179        match self {
4180            Self::Sql => write!(f, "sql"),
4181            Self::Lucene => write!(f, "lucene"),
4182            Self::Unknown(s) => write!(f, "{s}"),
4183        }
4184    }
4185}
4186
4187/// Inline enum for `ClickStackSelectItem.aggFn`.
4188#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4189pub enum ClickStackSelectItemAggfn {
4190    #[serde(rename = "avg")]
4191    #[default]
4192    Avg,
4193    #[serde(rename = "count")]
4194    Count,
4195    #[serde(rename = "count_distinct")]
4196    Count_distinct,
4197    #[serde(rename = "last_value")]
4198    Last_value,
4199    #[serde(rename = "max")]
4200    Max,
4201    #[serde(rename = "min")]
4202    Min,
4203    #[serde(rename = "quantile")]
4204    Quantile,
4205    #[serde(rename = "sum")]
4206    Sum,
4207    #[serde(rename = "any")]
4208    Any,
4209    #[serde(rename = "none")]
4210    None,
4211    /// Catch-all for unknown or newly-added values.
4212    #[serde(untagged)]
4213    Unknown(String),
4214}
4215
4216impl std::fmt::Display for ClickStackSelectItemAggfn {
4217    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4218        match self {
4219            Self::Avg => write!(f, "avg"),
4220            Self::Count => write!(f, "count"),
4221            Self::Count_distinct => write!(f, "count_distinct"),
4222            Self::Last_value => write!(f, "last_value"),
4223            Self::Max => write!(f, "max"),
4224            Self::Min => write!(f, "min"),
4225            Self::Quantile => write!(f, "quantile"),
4226            Self::Sum => write!(f, "sum"),
4227            Self::Any => write!(f, "any"),
4228            Self::None => write!(f, "none"),
4229            Self::Unknown(s) => write!(f, "{s}"),
4230        }
4231    }
4232}
4233
4234/// Inline enum for `ClickStackSelectItem.level`.
4235#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4236pub enum ClickStackSelectItemLevel {
4237    #[serde(rename = "0.5")]
4238    #[default]
4239    _0_5,
4240    #[serde(rename = "0.9")]
4241    _0_9,
4242    #[serde(rename = "0.95")]
4243    _0_95,
4244    #[serde(rename = "0.99")]
4245    _0_99,
4246    /// Catch-all for unknown or newly-added values.
4247    #[serde(untagged)]
4248    Unknown(String),
4249}
4250
4251impl std::fmt::Display for ClickStackSelectItemLevel {
4252    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4253        match self {
4254            Self::_0_5 => write!(f, "0.5"),
4255            Self::_0_9 => write!(f, "0.9"),
4256            Self::_0_95 => write!(f, "0.95"),
4257            Self::_0_99 => write!(f, "0.99"),
4258            Self::Unknown(s) => write!(f, "{s}"),
4259        }
4260    }
4261}
4262
4263/// Inline enum for `ClickStackSelectItem.metricType`.
4264#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4265pub enum ClickStackSelectItemMetrictype {
4266    #[serde(rename = "sum")]
4267    #[default]
4268    Sum,
4269    #[serde(rename = "gauge")]
4270    Gauge,
4271    #[serde(rename = "histogram")]
4272    Histogram,
4273    #[serde(rename = "summary")]
4274    Summary,
4275    #[serde(rename = "exponential histogram")]
4276    Exponential_histogram,
4277    /// Catch-all for unknown or newly-added values.
4278    #[serde(untagged)]
4279    Unknown(String),
4280}
4281
4282impl std::fmt::Display for ClickStackSelectItemMetrictype {
4283    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4284        match self {
4285            Self::Sum => write!(f, "sum"),
4286            Self::Gauge => write!(f, "gauge"),
4287            Self::Histogram => write!(f, "histogram"),
4288            Self::Summary => write!(f, "summary"),
4289            Self::Exponential_histogram => write!(f, "exponential histogram"),
4290            Self::Unknown(s) => write!(f, "{s}"),
4291        }
4292    }
4293}
4294
4295/// Inline enum for `ClickStackSelectItem.periodAggFn`.
4296#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4297pub enum ClickStackSelectItemPeriodaggfn {
4298    #[serde(rename = "delta")]
4299    #[default]
4300    Delta,
4301    /// Catch-all for unknown or newly-added values.
4302    #[serde(untagged)]
4303    Unknown(String),
4304}
4305
4306impl std::fmt::Display for ClickStackSelectItemPeriodaggfn {
4307    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4308        match self {
4309            Self::Delta => write!(f, "delta"),
4310            Self::Unknown(s) => write!(f, "{s}"),
4311        }
4312    }
4313}
4314
4315/// Inline enum for `ClickStackSelectItem.whereLanguage`.
4316#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4317pub enum ClickStackSelectItemWherelanguage {
4318    #[serde(rename = "sql")]
4319    #[default]
4320    Sql,
4321    #[serde(rename = "lucene")]
4322    Lucene,
4323    /// Catch-all for unknown or newly-added values.
4324    #[serde(untagged)]
4325    Unknown(String),
4326}
4327
4328impl std::fmt::Display for ClickStackSelectItemWherelanguage {
4329    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4330        match self {
4331            Self::Sql => write!(f, "sql"),
4332            Self::Lucene => write!(f, "lucene"),
4333            Self::Unknown(s) => write!(f, "{s}"),
4334        }
4335    }
4336}
4337
4338/// Inline enum for `ClickStackSessionSource.kind`.
4339#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4340pub enum ClickStackSessionSourceKind {
4341    #[serde(rename = "session")]
4342    #[default]
4343    Session,
4344    /// Catch-all for unknown or newly-added values.
4345    #[serde(untagged)]
4346    Unknown(String),
4347}
4348
4349impl std::fmt::Display for ClickStackSessionSourceKind {
4350    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4351        match self {
4352            Self::Session => write!(f, "session"),
4353            Self::Unknown(s) => write!(f, "{s}"),
4354        }
4355    }
4356}
4357
4358/// Inline enum for `ClickStackSlackAPIWebhook.service`.
4359#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4360pub enum ClickStackSlackAPIWebhookService {
4361    #[serde(rename = "slack_api")]
4362    #[default]
4363    Slack_api,
4364    /// Catch-all for unknown or newly-added values.
4365    #[serde(untagged)]
4366    Unknown(String),
4367}
4368
4369impl std::fmt::Display for ClickStackSlackAPIWebhookService {
4370    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4371        match self {
4372            Self::Slack_api => write!(f, "slack_api"),
4373            Self::Unknown(s) => write!(f, "{s}"),
4374        }
4375    }
4376}
4377
4378/// Inline enum for `ClickStackSlackWebhook.service`.
4379#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4380pub enum ClickStackSlackWebhookService {
4381    #[serde(rename = "slack")]
4382    #[default]
4383    Slack,
4384    /// Catch-all for unknown or newly-added values.
4385    #[serde(untagged)]
4386    Unknown(String),
4387}
4388
4389impl std::fmt::Display for ClickStackSlackWebhookService {
4390    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4391        match self {
4392            Self::Slack => write!(f, "slack"),
4393            Self::Unknown(s) => write!(f, "{s}"),
4394        }
4395    }
4396}
4397
4398/// Inline enum for `ClickStackTableBuilderChartConfig.displayType`.
4399#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4400pub enum ClickStackTableBuilderChartConfigDisplaytype {
4401    #[serde(rename = "table")]
4402    #[default]
4403    Table,
4404    /// Catch-all for unknown or newly-added values.
4405    #[serde(untagged)]
4406    Unknown(String),
4407}
4408
4409impl std::fmt::Display for ClickStackTableBuilderChartConfigDisplaytype {
4410    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4411        match self {
4412            Self::Table => write!(f, "table"),
4413            Self::Unknown(s) => write!(f, "{s}"),
4414        }
4415    }
4416}
4417
4418/// Inline enum for `ClickStackTableChartSeries.aggFn`.
4419#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4420pub enum ClickStackTableChartSeriesAggfn {
4421    #[serde(rename = "avg")]
4422    #[default]
4423    Avg,
4424    #[serde(rename = "count")]
4425    Count,
4426    #[serde(rename = "count_distinct")]
4427    Count_distinct,
4428    #[serde(rename = "last_value")]
4429    Last_value,
4430    #[serde(rename = "max")]
4431    Max,
4432    #[serde(rename = "min")]
4433    Min,
4434    #[serde(rename = "quantile")]
4435    Quantile,
4436    #[serde(rename = "sum")]
4437    Sum,
4438    #[serde(rename = "any")]
4439    Any,
4440    #[serde(rename = "none")]
4441    None,
4442    /// Catch-all for unknown or newly-added values.
4443    #[serde(untagged)]
4444    Unknown(String),
4445}
4446
4447impl std::fmt::Display for ClickStackTableChartSeriesAggfn {
4448    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4449        match self {
4450            Self::Avg => write!(f, "avg"),
4451            Self::Count => write!(f, "count"),
4452            Self::Count_distinct => write!(f, "count_distinct"),
4453            Self::Last_value => write!(f, "last_value"),
4454            Self::Max => write!(f, "max"),
4455            Self::Min => write!(f, "min"),
4456            Self::Quantile => write!(f, "quantile"),
4457            Self::Sum => write!(f, "sum"),
4458            Self::Any => write!(f, "any"),
4459            Self::None => write!(f, "none"),
4460            Self::Unknown(s) => write!(f, "{s}"),
4461        }
4462    }
4463}
4464
4465/// Inline enum for `ClickStackTableChartSeries.metricDataType`.
4466#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4467pub enum ClickStackTableChartSeriesMetricdatatype {
4468    #[serde(rename = "sum")]
4469    #[default]
4470    Sum,
4471    #[serde(rename = "gauge")]
4472    Gauge,
4473    #[serde(rename = "histogram")]
4474    Histogram,
4475    #[serde(rename = "summary")]
4476    Summary,
4477    #[serde(rename = "exponential histogram")]
4478    Exponential_histogram,
4479    /// Catch-all for unknown or newly-added values.
4480    #[serde(untagged)]
4481    Unknown(String),
4482}
4483
4484impl std::fmt::Display for ClickStackTableChartSeriesMetricdatatype {
4485    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4486        match self {
4487            Self::Sum => write!(f, "sum"),
4488            Self::Gauge => write!(f, "gauge"),
4489            Self::Histogram => write!(f, "histogram"),
4490            Self::Summary => write!(f, "summary"),
4491            Self::Exponential_histogram => write!(f, "exponential histogram"),
4492            Self::Unknown(s) => write!(f, "{s}"),
4493        }
4494    }
4495}
4496
4497/// Inline enum for `ClickStackTableChartSeries.sortOrder`.
4498#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4499pub enum ClickStackTableChartSeriesSortorder {
4500    #[serde(rename = "desc")]
4501    #[default]
4502    Desc,
4503    #[serde(rename = "asc")]
4504    Asc,
4505    /// Catch-all for unknown or newly-added values.
4506    #[serde(untagged)]
4507    Unknown(String),
4508}
4509
4510impl std::fmt::Display for ClickStackTableChartSeriesSortorder {
4511    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4512        match self {
4513            Self::Desc => write!(f, "desc"),
4514            Self::Asc => write!(f, "asc"),
4515            Self::Unknown(s) => write!(f, "{s}"),
4516        }
4517    }
4518}
4519
4520/// Inline enum for `ClickStackTableChartSeries.type`.
4521#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4522pub enum ClickStackTableChartSeriesType {
4523    #[serde(rename = "table")]
4524    #[default]
4525    Table,
4526    /// Catch-all for unknown or newly-added values.
4527    #[serde(untagged)]
4528    Unknown(String),
4529}
4530
4531impl std::fmt::Display for ClickStackTableChartSeriesType {
4532    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4533        match self {
4534            Self::Table => write!(f, "table"),
4535            Self::Unknown(s) => write!(f, "{s}"),
4536        }
4537    }
4538}
4539
4540/// Inline enum for `ClickStackTableChartSeries.whereLanguage`.
4541#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4542pub enum ClickStackTableChartSeriesWherelanguage {
4543    #[serde(rename = "sql")]
4544    #[default]
4545    Sql,
4546    #[serde(rename = "lucene")]
4547    Lucene,
4548    /// Catch-all for unknown or newly-added values.
4549    #[serde(untagged)]
4550    Unknown(String),
4551}
4552
4553impl std::fmt::Display for ClickStackTableChartSeriesWherelanguage {
4554    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4555        match self {
4556            Self::Sql => write!(f, "sql"),
4557            Self::Lucene => write!(f, "lucene"),
4558            Self::Unknown(s) => write!(f, "{s}"),
4559        }
4560    }
4561}
4562
4563/// Inline enum for `ClickStackTableRawSqlChartConfig.configType`.
4564#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4565pub enum ClickStackTableRawSqlChartConfigConfigtype {
4566    #[serde(rename = "sql")]
4567    #[default]
4568    Sql,
4569    /// Catch-all for unknown or newly-added values.
4570    #[serde(untagged)]
4571    Unknown(String),
4572}
4573
4574impl std::fmt::Display for ClickStackTableRawSqlChartConfigConfigtype {
4575    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4576        match self {
4577            Self::Sql => write!(f, "sql"),
4578            Self::Unknown(s) => write!(f, "{s}"),
4579        }
4580    }
4581}
4582
4583/// Inline enum for `ClickStackTableRawSqlChartConfig.displayType`.
4584#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4585pub enum ClickStackTableRawSqlChartConfigDisplaytype {
4586    #[serde(rename = "table")]
4587    #[default]
4588    Table,
4589    /// Catch-all for unknown or newly-added values.
4590    #[serde(untagged)]
4591    Unknown(String),
4592}
4593
4594impl std::fmt::Display for ClickStackTableRawSqlChartConfigDisplaytype {
4595    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4596        match self {
4597            Self::Table => write!(f, "table"),
4598            Self::Unknown(s) => write!(f, "{s}"),
4599        }
4600    }
4601}
4602
4603/// Inline enum for `ClickStackTimeChartSeries.aggFn`.
4604#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4605pub enum ClickStackTimeChartSeriesAggfn {
4606    #[serde(rename = "avg")]
4607    #[default]
4608    Avg,
4609    #[serde(rename = "count")]
4610    Count,
4611    #[serde(rename = "count_distinct")]
4612    Count_distinct,
4613    #[serde(rename = "last_value")]
4614    Last_value,
4615    #[serde(rename = "max")]
4616    Max,
4617    #[serde(rename = "min")]
4618    Min,
4619    #[serde(rename = "quantile")]
4620    Quantile,
4621    #[serde(rename = "sum")]
4622    Sum,
4623    #[serde(rename = "any")]
4624    Any,
4625    #[serde(rename = "none")]
4626    None,
4627    /// Catch-all for unknown or newly-added values.
4628    #[serde(untagged)]
4629    Unknown(String),
4630}
4631
4632impl std::fmt::Display for ClickStackTimeChartSeriesAggfn {
4633    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4634        match self {
4635            Self::Avg => write!(f, "avg"),
4636            Self::Count => write!(f, "count"),
4637            Self::Count_distinct => write!(f, "count_distinct"),
4638            Self::Last_value => write!(f, "last_value"),
4639            Self::Max => write!(f, "max"),
4640            Self::Min => write!(f, "min"),
4641            Self::Quantile => write!(f, "quantile"),
4642            Self::Sum => write!(f, "sum"),
4643            Self::Any => write!(f, "any"),
4644            Self::None => write!(f, "none"),
4645            Self::Unknown(s) => write!(f, "{s}"),
4646        }
4647    }
4648}
4649
4650/// Inline enum for `ClickStackTimeChartSeries.displayType`.
4651#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4652pub enum ClickStackTimeChartSeriesDisplaytype {
4653    #[serde(rename = "stacked_bar")]
4654    #[default]
4655    Stacked_bar,
4656    #[serde(rename = "line")]
4657    Line,
4658    /// Catch-all for unknown or newly-added values.
4659    #[serde(untagged)]
4660    Unknown(String),
4661}
4662
4663impl std::fmt::Display for ClickStackTimeChartSeriesDisplaytype {
4664    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4665        match self {
4666            Self::Stacked_bar => write!(f, "stacked_bar"),
4667            Self::Line => write!(f, "line"),
4668            Self::Unknown(s) => write!(f, "{s}"),
4669        }
4670    }
4671}
4672
4673/// Inline enum for `ClickStackTimeChartSeries.metricDataType`.
4674#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4675pub enum ClickStackTimeChartSeriesMetricdatatype {
4676    #[serde(rename = "sum")]
4677    #[default]
4678    Sum,
4679    #[serde(rename = "gauge")]
4680    Gauge,
4681    #[serde(rename = "histogram")]
4682    Histogram,
4683    #[serde(rename = "summary")]
4684    Summary,
4685    #[serde(rename = "exponential histogram")]
4686    Exponential_histogram,
4687    /// Catch-all for unknown or newly-added values.
4688    #[serde(untagged)]
4689    Unknown(String),
4690}
4691
4692impl std::fmt::Display for ClickStackTimeChartSeriesMetricdatatype {
4693    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4694        match self {
4695            Self::Sum => write!(f, "sum"),
4696            Self::Gauge => write!(f, "gauge"),
4697            Self::Histogram => write!(f, "histogram"),
4698            Self::Summary => write!(f, "summary"),
4699            Self::Exponential_histogram => write!(f, "exponential histogram"),
4700            Self::Unknown(s) => write!(f, "{s}"),
4701        }
4702    }
4703}
4704
4705/// Inline enum for `ClickStackTimeChartSeries.type`.
4706#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4707pub enum ClickStackTimeChartSeriesType {
4708    #[serde(rename = "time")]
4709    #[default]
4710    Time,
4711    /// Catch-all for unknown or newly-added values.
4712    #[serde(untagged)]
4713    Unknown(String),
4714}
4715
4716impl std::fmt::Display for ClickStackTimeChartSeriesType {
4717    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4718        match self {
4719            Self::Time => write!(f, "time"),
4720            Self::Unknown(s) => write!(f, "{s}"),
4721        }
4722    }
4723}
4724
4725/// Inline enum for `ClickStackTimeChartSeries.whereLanguage`.
4726#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4727pub enum ClickStackTimeChartSeriesWherelanguage {
4728    #[serde(rename = "sql")]
4729    #[default]
4730    Sql,
4731    #[serde(rename = "lucene")]
4732    Lucene,
4733    /// Catch-all for unknown or newly-added values.
4734    #[serde(untagged)]
4735    Unknown(String),
4736}
4737
4738impl std::fmt::Display for ClickStackTimeChartSeriesWherelanguage {
4739    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4740        match self {
4741            Self::Sql => write!(f, "sql"),
4742            Self::Lucene => write!(f, "lucene"),
4743            Self::Unknown(s) => write!(f, "{s}"),
4744        }
4745    }
4746}
4747
4748/// Inline enum for `ClickStackTraceSource.kind`.
4749#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4750pub enum ClickStackTraceSourceKind {
4751    #[serde(rename = "trace")]
4752    #[default]
4753    Trace,
4754    /// Catch-all for unknown or newly-added values.
4755    #[serde(untagged)]
4756    Unknown(String),
4757}
4758
4759impl std::fmt::Display for ClickStackTraceSourceKind {
4760    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4761        match self {
4762            Self::Trace => write!(f, "trace"),
4763            Self::Unknown(s) => write!(f, "{s}"),
4764        }
4765    }
4766}
4767
4768/// Inline enum for `ClickStackUpdateAlertRequest.interval`.
4769#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4770pub enum ClickStackUpdateAlertRequestInterval {
4771    #[serde(rename = "1m")]
4772    #[default]
4773    _1m,
4774    #[serde(rename = "5m")]
4775    _5m,
4776    #[serde(rename = "15m")]
4777    _15m,
4778    #[serde(rename = "30m")]
4779    _30m,
4780    #[serde(rename = "1h")]
4781    _1h,
4782    #[serde(rename = "6h")]
4783    _6h,
4784    #[serde(rename = "12h")]
4785    _12h,
4786    #[serde(rename = "1d")]
4787    _1d,
4788    /// Catch-all for unknown or newly-added values.
4789    #[serde(untagged)]
4790    Unknown(String),
4791}
4792
4793impl std::fmt::Display for ClickStackUpdateAlertRequestInterval {
4794    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4795        match self {
4796            Self::_1m => write!(f, "1m"),
4797            Self::_5m => write!(f, "5m"),
4798            Self::_15m => write!(f, "15m"),
4799            Self::_30m => write!(f, "30m"),
4800            Self::_1h => write!(f, "1h"),
4801            Self::_6h => write!(f, "6h"),
4802            Self::_12h => write!(f, "12h"),
4803            Self::_1d => write!(f, "1d"),
4804            Self::Unknown(s) => write!(f, "{s}"),
4805        }
4806    }
4807}
4808
4809/// Inline enum for `ClickStackUpdateAlertRequest.source`.
4810#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4811pub enum ClickStackUpdateAlertRequestSource {
4812    #[serde(rename = "saved_search")]
4813    #[default]
4814    Saved_search,
4815    #[serde(rename = "tile")]
4816    Tile,
4817    /// Catch-all for unknown or newly-added values.
4818    #[serde(untagged)]
4819    Unknown(String),
4820}
4821
4822impl std::fmt::Display for ClickStackUpdateAlertRequestSource {
4823    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4824        match self {
4825            Self::Saved_search => write!(f, "saved_search"),
4826            Self::Tile => write!(f, "tile"),
4827            Self::Unknown(s) => write!(f, "{s}"),
4828        }
4829    }
4830}
4831
4832/// Inline enum for `ClickStackUpdateAlertRequest.thresholdType`.
4833#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4834pub enum ClickStackUpdateAlertRequestThresholdtype {
4835    #[serde(rename = "above")]
4836    #[default]
4837    Above,
4838    #[serde(rename = "below")]
4839    Below,
4840    /// Catch-all for unknown or newly-added values.
4841    #[serde(untagged)]
4842    Unknown(String),
4843}
4844
4845impl std::fmt::Display for ClickStackUpdateAlertRequestThresholdtype {
4846    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4847        match self {
4848            Self::Above => write!(f, "above"),
4849            Self::Below => write!(f, "below"),
4850            Self::Unknown(s) => write!(f, "{s}"),
4851        }
4852    }
4853}
4854
4855/// Inline enum for `ClickStackUpdateDashboardRequest.savedQueryLanguage`.
4856#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4857pub enum ClickStackUpdateDashboardRequestSavedquerylanguage {
4858    #[serde(rename = "sql")]
4859    #[default]
4860    Sql,
4861    #[serde(rename = "lucene")]
4862    Lucene,
4863    /// Catch-all for unknown or newly-added values.
4864    #[serde(untagged)]
4865    Unknown(String),
4866}
4867
4868impl std::fmt::Display for ClickStackUpdateDashboardRequestSavedquerylanguage {
4869    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4870        match self {
4871            Self::Sql => write!(f, "sql"),
4872            Self::Lucene => write!(f, "lucene"),
4873            Self::Unknown(s) => write!(f, "{s}"),
4874        }
4875    }
4876}
4877
4878/// Inline enum for `CreateReversePrivateEndpoint.mskAuthentication`.
4879#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4880pub enum CreateReversePrivateEndpointMskauthentication {
4881    #[default]
4882    SASL_IAM,
4883    SASL_SCRAM,
4884    /// Catch-all for unknown or newly-added values.
4885    #[serde(untagged)]
4886    Unknown(String),
4887}
4888
4889impl std::fmt::Display for CreateReversePrivateEndpointMskauthentication {
4890    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4891        match self {
4892            Self::SASL_IAM => write!(f, "SASL_IAM"),
4893            Self::SASL_SCRAM => write!(f, "SASL_SCRAM"),
4894            Self::Unknown(s) => write!(f, "{s}"),
4895        }
4896    }
4897}
4898
4899/// Inline enum for `CreateReversePrivateEndpoint.type`.
4900#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4901pub enum CreateReversePrivateEndpointType {
4902    #[default]
4903    VPC_ENDPOINT_SERVICE,
4904    VPC_RESOURCE,
4905    MSK_MULTI_VPC,
4906    /// Catch-all for unknown or newly-added values.
4907    #[serde(untagged)]
4908    Unknown(String),
4909}
4910
4911impl std::fmt::Display for CreateReversePrivateEndpointType {
4912    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4913        match self {
4914            Self::VPC_ENDPOINT_SERVICE => write!(f, "VPC_ENDPOINT_SERVICE"),
4915            Self::VPC_RESOURCE => write!(f, "VPC_RESOURCE"),
4916            Self::MSK_MULTI_VPC => write!(f, "MSK_MULTI_VPC"),
4917            Self::Unknown(s) => write!(f, "{s}"),
4918        }
4919    }
4920}
4921
4922/// Inline enum for `CurrentScaling.effectiveAutoscalingMode`.
4923#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4924pub enum CurrentScalingEffectiveautoscalingmode {
4925    #[serde(rename = "vertical")]
4926    #[default]
4927    Vertical,
4928    #[serde(rename = "horizontal")]
4929    Horizontal,
4930    /// Catch-all for unknown or newly-added values.
4931    #[serde(untagged)]
4932    Unknown(String),
4933}
4934
4935impl std::fmt::Display for CurrentScalingEffectiveautoscalingmode {
4936    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4937        match self {
4938            Self::Vertical => write!(f, "vertical"),
4939            Self::Horizontal => write!(f, "horizontal"),
4940            Self::Unknown(s) => write!(f, "{s}"),
4941        }
4942    }
4943}
4944
4945/// Inline enum for `GcpBackupBucket.bucketProvider`.
4946#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4947pub enum GcpBackupBucketBucketprovider {
4948    #[default]
4949    GCP,
4950    /// Catch-all for unknown or newly-added values.
4951    #[serde(untagged)]
4952    Unknown(String),
4953}
4954
4955impl std::fmt::Display for GcpBackupBucketBucketprovider {
4956    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4957        match self {
4958            Self::GCP => write!(f, "GCP"),
4959            Self::Unknown(s) => write!(f, "{s}"),
4960        }
4961    }
4962}
4963
4964/// Inline enum for `GcpBackupBucketPatchRequestV1.bucketProvider`.
4965#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4966pub enum GcpBackupBucketPatchRequestV1Bucketprovider {
4967    #[default]
4968    GCP,
4969    /// Catch-all for unknown or newly-added values.
4970    #[serde(untagged)]
4971    Unknown(String),
4972}
4973
4974impl std::fmt::Display for GcpBackupBucketPatchRequestV1Bucketprovider {
4975    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4976        match self {
4977            Self::GCP => write!(f, "GCP"),
4978            Self::Unknown(s) => write!(f, "{s}"),
4979        }
4980    }
4981}
4982
4983/// Inline enum for `GcpBackupBucketPostRequestV1.bucketProvider`.
4984#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
4985pub enum GcpBackupBucketPostRequestV1Bucketprovider {
4986    #[default]
4987    GCP,
4988    /// Catch-all for unknown or newly-added values.
4989    #[serde(untagged)]
4990    Unknown(String),
4991}
4992
4993impl std::fmt::Display for GcpBackupBucketPostRequestV1Bucketprovider {
4994    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4995        match self {
4996            Self::GCP => write!(f, "GCP"),
4997            Self::Unknown(s) => write!(f, "{s}"),
4998        }
4999    }
5000}
5001
5002/// Inline enum for `GcpBackupBucketProperties.bucketProvider`.
5003#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5004pub enum GcpBackupBucketPropertiesBucketprovider {
5005    #[default]
5006    GCP,
5007    /// Catch-all for unknown or newly-added values.
5008    #[serde(untagged)]
5009    Unknown(String),
5010}
5011
5012impl std::fmt::Display for GcpBackupBucketPropertiesBucketprovider {
5013    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5014        match self {
5015            Self::GCP => write!(f, "GCP"),
5016            Self::Unknown(s) => write!(f, "{s}"),
5017        }
5018    }
5019}
5020
5021/// Inline enum for `InstancePrivateEndpoint.cloudProvider`.
5022#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5023pub enum InstancePrivateEndpointCloudprovider {
5024    #[serde(rename = "gcp")]
5025    #[default]
5026    Gcp,
5027    #[serde(rename = "aws")]
5028    Aws,
5029    #[serde(rename = "azure")]
5030    Azure,
5031    /// Catch-all for unknown or newly-added values.
5032    #[serde(untagged)]
5033    Unknown(String),
5034}
5035
5036impl std::fmt::Display for InstancePrivateEndpointCloudprovider {
5037    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5038        match self {
5039            Self::Gcp => write!(f, "gcp"),
5040            Self::Aws => write!(f, "aws"),
5041            Self::Azure => write!(f, "azure"),
5042            Self::Unknown(s) => write!(f, "{s}"),
5043        }
5044    }
5045}
5046
5047/// Inline enum for `InstancePrivateEndpoint.region`.
5048#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5049pub enum InstancePrivateEndpointRegion {
5050    #[serde(rename = "ap-northeast-1")]
5051    #[default]
5052    Ap_northeast_1,
5053    #[serde(rename = "ap-northeast-2")]
5054    Ap_northeast_2,
5055    #[serde(rename = "ap-south-1")]
5056    Ap_south_1,
5057    #[serde(rename = "ap-southeast-1")]
5058    Ap_southeast_1,
5059    #[serde(rename = "ap-southeast-2")]
5060    Ap_southeast_2,
5061    #[serde(rename = "eu-central-1")]
5062    Eu_central_1,
5063    #[serde(rename = "eu-west-1")]
5064    Eu_west_1,
5065    #[serde(rename = "eu-west-2")]
5066    Eu_west_2,
5067    #[serde(rename = "il-central-1")]
5068    Il_central_1,
5069    #[serde(rename = "us-east-1")]
5070    Us_east_1,
5071    #[serde(rename = "us-east-2")]
5072    Us_east_2,
5073    #[serde(rename = "us-west-2")]
5074    Us_west_2,
5075    #[serde(rename = "us-east1")]
5076    Us_east1,
5077    #[serde(rename = "us-central1")]
5078    Us_central1,
5079    #[serde(rename = "europe-west4")]
5080    Europe_west4,
5081    #[serde(rename = "asia-southeast1")]
5082    Asia_southeast1,
5083    #[serde(rename = "asia-northeast1")]
5084    Asia_northeast1,
5085    #[serde(rename = "eastus")]
5086    Eastus,
5087    #[serde(rename = "eastus2")]
5088    Eastus2,
5089    #[serde(rename = "westus3")]
5090    Westus3,
5091    #[serde(rename = "germanywestcentral")]
5092    Germanywestcentral,
5093    #[serde(rename = "centralus")]
5094    Centralus,
5095    /// Catch-all for unknown or newly-added values.
5096    #[serde(untagged)]
5097    Unknown(String),
5098}
5099
5100impl std::fmt::Display for InstancePrivateEndpointRegion {
5101    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5102        match self {
5103            Self::Ap_northeast_1 => write!(f, "ap-northeast-1"),
5104            Self::Ap_northeast_2 => write!(f, "ap-northeast-2"),
5105            Self::Ap_south_1 => write!(f, "ap-south-1"),
5106            Self::Ap_southeast_1 => write!(f, "ap-southeast-1"),
5107            Self::Ap_southeast_2 => write!(f, "ap-southeast-2"),
5108            Self::Eu_central_1 => write!(f, "eu-central-1"),
5109            Self::Eu_west_1 => write!(f, "eu-west-1"),
5110            Self::Eu_west_2 => write!(f, "eu-west-2"),
5111            Self::Il_central_1 => write!(f, "il-central-1"),
5112            Self::Us_east_1 => write!(f, "us-east-1"),
5113            Self::Us_east_2 => write!(f, "us-east-2"),
5114            Self::Us_west_2 => write!(f, "us-west-2"),
5115            Self::Us_east1 => write!(f, "us-east1"),
5116            Self::Us_central1 => write!(f, "us-central1"),
5117            Self::Europe_west4 => write!(f, "europe-west4"),
5118            Self::Asia_southeast1 => write!(f, "asia-southeast1"),
5119            Self::Asia_northeast1 => write!(f, "asia-northeast1"),
5120            Self::Eastus => write!(f, "eastus"),
5121            Self::Eastus2 => write!(f, "eastus2"),
5122            Self::Westus3 => write!(f, "westus3"),
5123            Self::Germanywestcentral => write!(f, "germanywestcentral"),
5124            Self::Centralus => write!(f, "centralus"),
5125            Self::Unknown(s) => write!(f, "{s}"),
5126        }
5127    }
5128}
5129
5130/// Inline enum for `Invitation.role`.
5131#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5132pub enum InvitationRole {
5133    #[serde(rename = "admin")]
5134    #[default]
5135    Admin,
5136    #[serde(rename = "developer")]
5137    Developer,
5138    /// Catch-all for unknown or newly-added values.
5139    #[serde(untagged)]
5140    Unknown(String),
5141}
5142
5143impl std::fmt::Display for InvitationRole {
5144    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5145        match self {
5146            Self::Admin => write!(f, "admin"),
5147            Self::Developer => write!(f, "developer"),
5148            Self::Unknown(s) => write!(f, "{s}"),
5149        }
5150    }
5151}
5152
5153/// Inline enum for `InvitationPostRequest.role`.
5154#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5155pub enum InvitationPostRequestRole {
5156    #[serde(rename = "admin")]
5157    #[default]
5158    Admin,
5159    #[serde(rename = "developer")]
5160    Developer,
5161    /// Catch-all for unknown or newly-added values.
5162    #[serde(untagged)]
5163    Unknown(String),
5164}
5165
5166impl std::fmt::Display for InvitationPostRequestRole {
5167    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5168        match self {
5169            Self::Admin => write!(f, "admin"),
5170            Self::Developer => write!(f, "developer"),
5171            Self::Unknown(s) => write!(f, "{s}"),
5172        }
5173    }
5174}
5175
5176/// Inline enum for `Member.role`.
5177#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5178pub enum MemberRole {
5179    #[serde(rename = "admin")]
5180    #[default]
5181    Admin,
5182    #[serde(rename = "developer")]
5183    Developer,
5184    /// Catch-all for unknown or newly-added values.
5185    #[serde(untagged)]
5186    Unknown(String),
5187}
5188
5189impl std::fmt::Display for MemberRole {
5190    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5191        match self {
5192            Self::Admin => write!(f, "admin"),
5193            Self::Developer => write!(f, "developer"),
5194            Self::Unknown(s) => write!(f, "{s}"),
5195        }
5196    }
5197}
5198
5199/// Inline enum for `MemberPatchRequest.role`.
5200#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5201pub enum MemberPatchRequestRole {
5202    #[serde(rename = "admin")]
5203    #[default]
5204    Admin,
5205    #[serde(rename = "developer")]
5206    Developer,
5207    /// Catch-all for unknown or newly-added values.
5208    #[serde(untagged)]
5209    Unknown(String),
5210}
5211
5212impl std::fmt::Display for MemberPatchRequestRole {
5213    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5214        match self {
5215            Self::Admin => write!(f, "admin"),
5216            Self::Developer => write!(f, "developer"),
5217            Self::Unknown(s) => write!(f, "{s}"),
5218        }
5219    }
5220}
5221
5222/// Inline enum for `OrganizationPatchPrivateEndpoint.cloudProvider`.
5223#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5224pub enum OrganizationPatchPrivateEndpointCloudprovider {
5225    #[serde(rename = "gcp")]
5226    #[default]
5227    Gcp,
5228    #[serde(rename = "aws")]
5229    Aws,
5230    #[serde(rename = "azure")]
5231    Azure,
5232    /// Catch-all for unknown or newly-added values.
5233    #[serde(untagged)]
5234    Unknown(String),
5235}
5236
5237impl std::fmt::Display for OrganizationPatchPrivateEndpointCloudprovider {
5238    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5239        match self {
5240            Self::Gcp => write!(f, "gcp"),
5241            Self::Aws => write!(f, "aws"),
5242            Self::Azure => write!(f, "azure"),
5243            Self::Unknown(s) => write!(f, "{s}"),
5244        }
5245    }
5246}
5247
5248/// Inline enum for `OrganizationPatchPrivateEndpoint.region`.
5249#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5250pub enum OrganizationPatchPrivateEndpointRegion {
5251    #[serde(rename = "ap-northeast-1")]
5252    #[default]
5253    Ap_northeast_1,
5254    #[serde(rename = "ap-northeast-2")]
5255    Ap_northeast_2,
5256    #[serde(rename = "ap-south-1")]
5257    Ap_south_1,
5258    #[serde(rename = "ap-southeast-1")]
5259    Ap_southeast_1,
5260    #[serde(rename = "ap-southeast-2")]
5261    Ap_southeast_2,
5262    #[serde(rename = "eu-central-1")]
5263    Eu_central_1,
5264    #[serde(rename = "eu-west-1")]
5265    Eu_west_1,
5266    #[serde(rename = "eu-west-2")]
5267    Eu_west_2,
5268    #[serde(rename = "il-central-1")]
5269    Il_central_1,
5270    #[serde(rename = "us-east-1")]
5271    Us_east_1,
5272    #[serde(rename = "us-east-2")]
5273    Us_east_2,
5274    #[serde(rename = "us-west-2")]
5275    Us_west_2,
5276    #[serde(rename = "us-east1")]
5277    Us_east1,
5278    #[serde(rename = "us-central1")]
5279    Us_central1,
5280    #[serde(rename = "europe-west4")]
5281    Europe_west4,
5282    #[serde(rename = "asia-southeast1")]
5283    Asia_southeast1,
5284    #[serde(rename = "asia-northeast1")]
5285    Asia_northeast1,
5286    #[serde(rename = "eastus")]
5287    Eastus,
5288    #[serde(rename = "eastus2")]
5289    Eastus2,
5290    #[serde(rename = "westus3")]
5291    Westus3,
5292    #[serde(rename = "germanywestcentral")]
5293    Germanywestcentral,
5294    #[serde(rename = "centralus")]
5295    Centralus,
5296    /// Catch-all for unknown or newly-added values.
5297    #[serde(untagged)]
5298    Unknown(String),
5299}
5300
5301impl std::fmt::Display for OrganizationPatchPrivateEndpointRegion {
5302    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5303        match self {
5304            Self::Ap_northeast_1 => write!(f, "ap-northeast-1"),
5305            Self::Ap_northeast_2 => write!(f, "ap-northeast-2"),
5306            Self::Ap_south_1 => write!(f, "ap-south-1"),
5307            Self::Ap_southeast_1 => write!(f, "ap-southeast-1"),
5308            Self::Ap_southeast_2 => write!(f, "ap-southeast-2"),
5309            Self::Eu_central_1 => write!(f, "eu-central-1"),
5310            Self::Eu_west_1 => write!(f, "eu-west-1"),
5311            Self::Eu_west_2 => write!(f, "eu-west-2"),
5312            Self::Il_central_1 => write!(f, "il-central-1"),
5313            Self::Us_east_1 => write!(f, "us-east-1"),
5314            Self::Us_east_2 => write!(f, "us-east-2"),
5315            Self::Us_west_2 => write!(f, "us-west-2"),
5316            Self::Us_east1 => write!(f, "us-east1"),
5317            Self::Us_central1 => write!(f, "us-central1"),
5318            Self::Europe_west4 => write!(f, "europe-west4"),
5319            Self::Asia_southeast1 => write!(f, "asia-southeast1"),
5320            Self::Asia_northeast1 => write!(f, "asia-northeast1"),
5321            Self::Eastus => write!(f, "eastus"),
5322            Self::Eastus2 => write!(f, "eastus2"),
5323            Self::Westus3 => write!(f, "westus3"),
5324            Self::Germanywestcentral => write!(f, "germanywestcentral"),
5325            Self::Centralus => write!(f, "centralus"),
5326            Self::Unknown(s) => write!(f, "{s}"),
5327        }
5328    }
5329}
5330
5331/// Inline enum for `OrganizationPrivateEndpoint.cloudProvider`.
5332#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5333pub enum OrganizationPrivateEndpointCloudprovider {
5334    #[serde(rename = "gcp")]
5335    #[default]
5336    Gcp,
5337    #[serde(rename = "aws")]
5338    Aws,
5339    #[serde(rename = "azure")]
5340    Azure,
5341    /// Catch-all for unknown or newly-added values.
5342    #[serde(untagged)]
5343    Unknown(String),
5344}
5345
5346impl std::fmt::Display for OrganizationPrivateEndpointCloudprovider {
5347    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5348        match self {
5349            Self::Gcp => write!(f, "gcp"),
5350            Self::Aws => write!(f, "aws"),
5351            Self::Azure => write!(f, "azure"),
5352            Self::Unknown(s) => write!(f, "{s}"),
5353        }
5354    }
5355}
5356
5357/// Inline enum for `OrganizationPrivateEndpoint.region`.
5358#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5359pub enum OrganizationPrivateEndpointRegion {
5360    #[serde(rename = "ap-northeast-1")]
5361    #[default]
5362    Ap_northeast_1,
5363    #[serde(rename = "ap-northeast-2")]
5364    Ap_northeast_2,
5365    #[serde(rename = "ap-south-1")]
5366    Ap_south_1,
5367    #[serde(rename = "ap-southeast-1")]
5368    Ap_southeast_1,
5369    #[serde(rename = "ap-southeast-2")]
5370    Ap_southeast_2,
5371    #[serde(rename = "eu-central-1")]
5372    Eu_central_1,
5373    #[serde(rename = "eu-west-1")]
5374    Eu_west_1,
5375    #[serde(rename = "eu-west-2")]
5376    Eu_west_2,
5377    #[serde(rename = "il-central-1")]
5378    Il_central_1,
5379    #[serde(rename = "us-east-1")]
5380    Us_east_1,
5381    #[serde(rename = "us-east-2")]
5382    Us_east_2,
5383    #[serde(rename = "us-west-2")]
5384    Us_west_2,
5385    #[serde(rename = "us-east1")]
5386    Us_east1,
5387    #[serde(rename = "us-central1")]
5388    Us_central1,
5389    #[serde(rename = "europe-west4")]
5390    Europe_west4,
5391    #[serde(rename = "asia-southeast1")]
5392    Asia_southeast1,
5393    #[serde(rename = "asia-northeast1")]
5394    Asia_northeast1,
5395    #[serde(rename = "eastus")]
5396    Eastus,
5397    #[serde(rename = "eastus2")]
5398    Eastus2,
5399    #[serde(rename = "westus3")]
5400    Westus3,
5401    #[serde(rename = "germanywestcentral")]
5402    Germanywestcentral,
5403    #[serde(rename = "centralus")]
5404    Centralus,
5405    /// Catch-all for unknown or newly-added values.
5406    #[serde(untagged)]
5407    Unknown(String),
5408}
5409
5410impl std::fmt::Display for OrganizationPrivateEndpointRegion {
5411    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5412        match self {
5413            Self::Ap_northeast_1 => write!(f, "ap-northeast-1"),
5414            Self::Ap_northeast_2 => write!(f, "ap-northeast-2"),
5415            Self::Ap_south_1 => write!(f, "ap-south-1"),
5416            Self::Ap_southeast_1 => write!(f, "ap-southeast-1"),
5417            Self::Ap_southeast_2 => write!(f, "ap-southeast-2"),
5418            Self::Eu_central_1 => write!(f, "eu-central-1"),
5419            Self::Eu_west_1 => write!(f, "eu-west-1"),
5420            Self::Eu_west_2 => write!(f, "eu-west-2"),
5421            Self::Il_central_1 => write!(f, "il-central-1"),
5422            Self::Us_east_1 => write!(f, "us-east-1"),
5423            Self::Us_east_2 => write!(f, "us-east-2"),
5424            Self::Us_west_2 => write!(f, "us-west-2"),
5425            Self::Us_east1 => write!(f, "us-east1"),
5426            Self::Us_central1 => write!(f, "us-central1"),
5427            Self::Europe_west4 => write!(f, "europe-west4"),
5428            Self::Asia_southeast1 => write!(f, "asia-southeast1"),
5429            Self::Asia_northeast1 => write!(f, "asia-northeast1"),
5430            Self::Eastus => write!(f, "eastus"),
5431            Self::Eastus2 => write!(f, "eastus2"),
5432            Self::Westus3 => write!(f, "westus3"),
5433            Self::Germanywestcentral => write!(f, "germanywestcentral"),
5434            Self::Centralus => write!(f, "centralus"),
5435            Self::Unknown(s) => write!(f, "{s}"),
5436        }
5437    }
5438}
5439
5440/// Inline enum for `PostgresServiceSetState.command`.
5441#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5442pub enum PostgresServiceSetStateCommand {
5443    #[serde(rename = "restart")]
5444    #[default]
5445    Restart,
5446    #[serde(rename = "promote")]
5447    Promote,
5448    #[serde(rename = "switchover")]
5449    Switchover,
5450    /// Catch-all for unknown or newly-added values.
5451    #[serde(untagged)]
5452    Unknown(String),
5453}
5454
5455impl std::fmt::Display for PostgresServiceSetStateCommand {
5456    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5457        match self {
5458            Self::Restart => write!(f, "restart"),
5459            Self::Promote => write!(f, "promote"),
5460            Self::Switchover => write!(f, "switchover"),
5461            Self::Unknown(s) => write!(f, "{s}"),
5462        }
5463    }
5464}
5465
5466/// Inline enum for `RBACPolicy.allowDeny`.
5467#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5468pub enum RBACPolicyAllowdeny {
5469    #[default]
5470    ALLOW,
5471    DENY,
5472    /// Catch-all for unknown or newly-added values.
5473    #[serde(untagged)]
5474    Unknown(String),
5475}
5476
5477impl std::fmt::Display for RBACPolicyAllowdeny {
5478    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5479        match self {
5480            Self::ALLOW => write!(f, "ALLOW"),
5481            Self::DENY => write!(f, "DENY"),
5482            Self::Unknown(s) => write!(f, "{s}"),
5483        }
5484    }
5485}
5486
5487/// Inline enum for `RBACPolicyCreateRequest.allowDeny`.
5488#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5489pub enum RBACPolicyCreateRequestAllowdeny {
5490    #[default]
5491    ALLOW,
5492    DENY,
5493    /// Catch-all for unknown or newly-added values.
5494    #[serde(untagged)]
5495    Unknown(String),
5496}
5497
5498impl std::fmt::Display for RBACPolicyCreateRequestAllowdeny {
5499    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5500        match self {
5501            Self::ALLOW => write!(f, "ALLOW"),
5502            Self::DENY => write!(f, "DENY"),
5503            Self::Unknown(s) => write!(f, "{s}"),
5504        }
5505    }
5506}
5507
5508/// Inline enum for `RBACPolicyTags.roleV2`.
5509#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5510pub enum RBACPolicyTagsRolev2 {
5511    #[serde(rename = "sql-console-readonly")]
5512    #[default]
5513    Sql_console_readonly,
5514    #[serde(rename = "sql-console-admin")]
5515    Sql_console_admin,
5516    /// Catch-all for unknown or newly-added values.
5517    #[serde(untagged)]
5518    Unknown(String),
5519}
5520
5521impl std::fmt::Display for RBACPolicyTagsRolev2 {
5522    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5523        match self {
5524            Self::Sql_console_readonly => write!(f, "sql-console-readonly"),
5525            Self::Sql_console_admin => write!(f, "sql-console-admin"),
5526            Self::Unknown(s) => write!(f, "{s}"),
5527        }
5528    }
5529}
5530
5531/// Inline enum for `RBACRole.type`.
5532#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5533pub enum RBACRoleType {
5534    #[serde(rename = "system")]
5535    #[default]
5536    System,
5537    #[serde(rename = "custom")]
5538    Custom,
5539    /// Catch-all for unknown or newly-added values.
5540    #[serde(untagged)]
5541    Unknown(String),
5542}
5543
5544impl std::fmt::Display for RBACRoleType {
5545    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5546        match self {
5547            Self::System => write!(f, "system"),
5548            Self::Custom => write!(f, "custom"),
5549            Self::Unknown(s) => write!(f, "{s}"),
5550        }
5551    }
5552}
5553
5554/// Inline enum for `ReversePrivateEndpoint.mskAuthentication`.
5555#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5556pub enum ReversePrivateEndpointMskauthentication {
5557    #[default]
5558    SASL_IAM,
5559    SASL_SCRAM,
5560    /// Catch-all for unknown or newly-added values.
5561    #[serde(untagged)]
5562    Unknown(String),
5563}
5564
5565impl std::fmt::Display for ReversePrivateEndpointMskauthentication {
5566    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5567        match self {
5568            Self::SASL_IAM => write!(f, "SASL_IAM"),
5569            Self::SASL_SCRAM => write!(f, "SASL_SCRAM"),
5570            Self::Unknown(s) => write!(f, "{s}"),
5571        }
5572    }
5573}
5574
5575/// Inline enum for `ReversePrivateEndpoint.status`.
5576#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5577pub enum ReversePrivateEndpointStatus {
5578    #[default]
5579    Unknown,
5580    Provisioning,
5581    Deleting,
5582    Ready,
5583    Failed,
5584    PendingAcceptance,
5585    Rejected,
5586    Expired,
5587    /// Catch-all for unknown or newly-added values.
5588    #[serde(untagged)]
5589    Other(String),
5590}
5591
5592impl std::fmt::Display for ReversePrivateEndpointStatus {
5593    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5594        match self {
5595            Self::Unknown => write!(f, "Unknown"),
5596            Self::Provisioning => write!(f, "Provisioning"),
5597            Self::Deleting => write!(f, "Deleting"),
5598            Self::Ready => write!(f, "Ready"),
5599            Self::Failed => write!(f, "Failed"),
5600            Self::PendingAcceptance => write!(f, "PendingAcceptance"),
5601            Self::Rejected => write!(f, "Rejected"),
5602            Self::Expired => write!(f, "Expired"),
5603            Self::Other(s) => write!(f, "{s}"),
5604        }
5605    }
5606}
5607
5608/// Inline enum for `ReversePrivateEndpoint.type`.
5609#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5610pub enum ReversePrivateEndpointType {
5611    #[default]
5612    VPC_ENDPOINT_SERVICE,
5613    VPC_RESOURCE,
5614    MSK_MULTI_VPC,
5615    /// Catch-all for unknown or newly-added values.
5616    #[serde(untagged)]
5617    Unknown(String),
5618}
5619
5620impl std::fmt::Display for ReversePrivateEndpointType {
5621    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5622        match self {
5623            Self::VPC_ENDPOINT_SERVICE => write!(f, "VPC_ENDPOINT_SERVICE"),
5624            Self::VPC_RESOURCE => write!(f, "VPC_RESOURCE"),
5625            Self::MSK_MULTI_VPC => write!(f, "MSK_MULTI_VPC"),
5626            Self::Unknown(s) => write!(f, "{s}"),
5627        }
5628    }
5629}
5630
5631/// Inline enum for `ScimPatchOperation.op`.
5632#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5633pub enum ScimPatchOperationOp {
5634    #[serde(rename = "add")]
5635    #[default]
5636    Add,
5637    #[serde(rename = "replace")]
5638    Replace,
5639    #[serde(rename = "remove")]
5640    Remove,
5641    /// Catch-all for unknown or newly-added values.
5642    #[serde(untagged)]
5643    Unknown(String),
5644}
5645
5646impl std::fmt::Display for ScimPatchOperationOp {
5647    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5648        match self {
5649            Self::Add => write!(f, "add"),
5650            Self::Replace => write!(f, "replace"),
5651            Self::Remove => write!(f, "remove"),
5652            Self::Unknown(s) => write!(f, "{s}"),
5653        }
5654    }
5655}
5656
5657/// Inline enum for `Service.complianceType`.
5658#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5659pub enum ServiceCompliancetype {
5660    #[serde(rename = "hipaa")]
5661    #[default]
5662    Hipaa,
5663    #[serde(rename = "pci")]
5664    Pci,
5665    /// Catch-all for unknown or newly-added values.
5666    #[serde(untagged)]
5667    Unknown(String),
5668}
5669
5670impl std::fmt::Display for ServiceCompliancetype {
5671    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5672        match self {
5673            Self::Hipaa => write!(f, "hipaa"),
5674            Self::Pci => write!(f, "pci"),
5675            Self::Unknown(s) => write!(f, "{s}"),
5676        }
5677    }
5678}
5679
5680/// Inline enum for `Service.profile`.
5681#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5682pub enum ServiceProfile {
5683    #[serde(rename = "v1-default")]
5684    #[default]
5685    V1_default,
5686    #[serde(rename = "v1-highmem-xs")]
5687    V1_highmem_xs,
5688    #[serde(rename = "v1-highmem-s")]
5689    V1_highmem_s,
5690    #[serde(rename = "v1-highmem-m")]
5691    V1_highmem_m,
5692    #[serde(rename = "v1-highmem-l")]
5693    V1_highmem_l,
5694    #[serde(rename = "v1-highmem-xl")]
5695    V1_highmem_xl,
5696    /// Catch-all for unknown or newly-added values.
5697    #[serde(untagged)]
5698    Unknown(String),
5699}
5700
5701impl std::fmt::Display for ServiceProfile {
5702    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5703        match self {
5704            Self::V1_default => write!(f, "v1-default"),
5705            Self::V1_highmem_xs => write!(f, "v1-highmem-xs"),
5706            Self::V1_highmem_s => write!(f, "v1-highmem-s"),
5707            Self::V1_highmem_m => write!(f, "v1-highmem-m"),
5708            Self::V1_highmem_l => write!(f, "v1-highmem-l"),
5709            Self::V1_highmem_xl => write!(f, "v1-highmem-xl"),
5710            Self::Unknown(s) => write!(f, "{s}"),
5711        }
5712    }
5713}
5714
5715/// Inline enum for `Service.provider`.
5716#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5717pub enum ServiceProvider {
5718    #[serde(rename = "aws")]
5719    #[default]
5720    Aws,
5721    #[serde(rename = "gcp")]
5722    Gcp,
5723    #[serde(rename = "azure")]
5724    Azure,
5725    /// Catch-all for unknown or newly-added values.
5726    #[serde(untagged)]
5727    Unknown(String),
5728}
5729
5730impl std::fmt::Display for ServiceProvider {
5731    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5732        match self {
5733            Self::Aws => write!(f, "aws"),
5734            Self::Gcp => write!(f, "gcp"),
5735            Self::Azure => write!(f, "azure"),
5736            Self::Unknown(s) => write!(f, "{s}"),
5737        }
5738    }
5739}
5740
5741/// Inline enum for `Service.region`.
5742#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5743pub enum ServiceRegion {
5744    #[serde(rename = "ap-northeast-1")]
5745    #[default]
5746    Ap_northeast_1,
5747    #[serde(rename = "ap-northeast-2")]
5748    Ap_northeast_2,
5749    #[serde(rename = "ap-south-1")]
5750    Ap_south_1,
5751    #[serde(rename = "ap-southeast-1")]
5752    Ap_southeast_1,
5753    #[serde(rename = "ap-southeast-2")]
5754    Ap_southeast_2,
5755    #[serde(rename = "eu-central-1")]
5756    Eu_central_1,
5757    #[serde(rename = "eu-west-1")]
5758    Eu_west_1,
5759    #[serde(rename = "eu-west-2")]
5760    Eu_west_2,
5761    #[serde(rename = "il-central-1")]
5762    Il_central_1,
5763    #[serde(rename = "us-east-1")]
5764    Us_east_1,
5765    #[serde(rename = "us-east-2")]
5766    Us_east_2,
5767    #[serde(rename = "us-west-2")]
5768    Us_west_2,
5769    #[serde(rename = "us-east1")]
5770    Us_east1,
5771    #[serde(rename = "us-central1")]
5772    Us_central1,
5773    #[serde(rename = "europe-west4")]
5774    Europe_west4,
5775    #[serde(rename = "asia-southeast1")]
5776    Asia_southeast1,
5777    #[serde(rename = "asia-northeast1")]
5778    Asia_northeast1,
5779    #[serde(rename = "eastus")]
5780    Eastus,
5781    #[serde(rename = "eastus2")]
5782    Eastus2,
5783    #[serde(rename = "westus3")]
5784    Westus3,
5785    #[serde(rename = "germanywestcentral")]
5786    Germanywestcentral,
5787    #[serde(rename = "centralus")]
5788    Centralus,
5789    /// Catch-all for unknown or newly-added values.
5790    #[serde(untagged)]
5791    Unknown(String),
5792}
5793
5794impl std::fmt::Display for ServiceRegion {
5795    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5796        match self {
5797            Self::Ap_northeast_1 => write!(f, "ap-northeast-1"),
5798            Self::Ap_northeast_2 => write!(f, "ap-northeast-2"),
5799            Self::Ap_south_1 => write!(f, "ap-south-1"),
5800            Self::Ap_southeast_1 => write!(f, "ap-southeast-1"),
5801            Self::Ap_southeast_2 => write!(f, "ap-southeast-2"),
5802            Self::Eu_central_1 => write!(f, "eu-central-1"),
5803            Self::Eu_west_1 => write!(f, "eu-west-1"),
5804            Self::Eu_west_2 => write!(f, "eu-west-2"),
5805            Self::Il_central_1 => write!(f, "il-central-1"),
5806            Self::Us_east_1 => write!(f, "us-east-1"),
5807            Self::Us_east_2 => write!(f, "us-east-2"),
5808            Self::Us_west_2 => write!(f, "us-west-2"),
5809            Self::Us_east1 => write!(f, "us-east1"),
5810            Self::Us_central1 => write!(f, "us-central1"),
5811            Self::Europe_west4 => write!(f, "europe-west4"),
5812            Self::Asia_southeast1 => write!(f, "asia-southeast1"),
5813            Self::Asia_northeast1 => write!(f, "asia-northeast1"),
5814            Self::Eastus => write!(f, "eastus"),
5815            Self::Eastus2 => write!(f, "eastus2"),
5816            Self::Westus3 => write!(f, "westus3"),
5817            Self::Germanywestcentral => write!(f, "germanywestcentral"),
5818            Self::Centralus => write!(f, "centralus"),
5819            Self::Unknown(s) => write!(f, "{s}"),
5820        }
5821    }
5822}
5823
5824/// Inline enum for `Service.releaseChannel`.
5825#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5826pub enum ServiceReleasechannel {
5827    #[serde(rename = "slow")]
5828    #[default]
5829    Slow,
5830    #[serde(rename = "default")]
5831    Default,
5832    #[serde(rename = "fast")]
5833    Fast,
5834    /// Catch-all for unknown or newly-added values.
5835    #[serde(untagged)]
5836    Unknown(String),
5837}
5838
5839impl std::fmt::Display for ServiceReleasechannel {
5840    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5841        match self {
5842            Self::Slow => write!(f, "slow"),
5843            Self::Default => write!(f, "default"),
5844            Self::Fast => write!(f, "fast"),
5845            Self::Unknown(s) => write!(f, "{s}"),
5846        }
5847    }
5848}
5849
5850/// Inline enum for `Service.state`.
5851#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5852pub enum ServiceState {
5853    #[serde(rename = "starting")]
5854    #[default]
5855    Starting,
5856    #[serde(rename = "stopping")]
5857    Stopping,
5858    #[serde(rename = "terminating")]
5859    Terminating,
5860    #[serde(rename = "softdeleting")]
5861    Softdeleting,
5862    #[serde(rename = "awaking")]
5863    Awaking,
5864    #[serde(rename = "partially_running")]
5865    Partially_running,
5866    #[serde(rename = "provisioning")]
5867    Provisioning,
5868    #[serde(rename = "running")]
5869    Running,
5870    #[serde(rename = "stopped")]
5871    Stopped,
5872    #[serde(rename = "terminated")]
5873    Terminated,
5874    #[serde(rename = "softdeleted")]
5875    Softdeleted,
5876    #[serde(rename = "degraded")]
5877    Degraded,
5878    #[serde(rename = "failed")]
5879    Failed,
5880    #[serde(rename = "idle")]
5881    Idle,
5882    /// Catch-all for unknown or newly-added values.
5883    #[serde(untagged)]
5884    Unknown(String),
5885}
5886
5887impl std::fmt::Display for ServiceState {
5888    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5889        match self {
5890            Self::Starting => write!(f, "starting"),
5891            Self::Stopping => write!(f, "stopping"),
5892            Self::Terminating => write!(f, "terminating"),
5893            Self::Softdeleting => write!(f, "softdeleting"),
5894            Self::Awaking => write!(f, "awaking"),
5895            Self::Partially_running => write!(f, "partially_running"),
5896            Self::Provisioning => write!(f, "provisioning"),
5897            Self::Running => write!(f, "running"),
5898            Self::Stopped => write!(f, "stopped"),
5899            Self::Terminated => write!(f, "terminated"),
5900            Self::Softdeleted => write!(f, "softdeleted"),
5901            Self::Degraded => write!(f, "degraded"),
5902            Self::Failed => write!(f, "failed"),
5903            Self::Idle => write!(f, "idle"),
5904            Self::Unknown(s) => write!(f, "{s}"),
5905        }
5906    }
5907}
5908
5909/// Inline enum for `Service.tier`.
5910#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5911pub enum ServiceTier {
5912    #[serde(rename = "development")]
5913    #[default]
5914    Development,
5915    #[serde(rename = "production")]
5916    Production,
5917    #[serde(rename = "dedicated_high_mem")]
5918    Dedicated_high_mem,
5919    #[serde(rename = "dedicated_high_cpu")]
5920    Dedicated_high_cpu,
5921    #[serde(rename = "dedicated_standard")]
5922    Dedicated_standard,
5923    #[serde(rename = "dedicated_standard_n2d_standard_4")]
5924    Dedicated_standard_n2d_standard_4,
5925    #[serde(rename = "dedicated_standard_n2d_standard_8")]
5926    Dedicated_standard_n2d_standard_8,
5927    #[serde(rename = "dedicated_standard_n2d_standard_32")]
5928    Dedicated_standard_n2d_standard_32,
5929    #[serde(rename = "dedicated_standard_n2d_standard_128")]
5930    Dedicated_standard_n2d_standard_128,
5931    #[serde(rename = "dedicated_standard_n2d_standard_32_16SSD")]
5932    Dedicated_standard_n2d_standard_32_16SSD,
5933    #[serde(rename = "dedicated_standard_n2d_standard_64_24SSD")]
5934    Dedicated_standard_n2d_standard_64_24SSD,
5935    /// Catch-all for unknown or newly-added values.
5936    #[serde(untagged)]
5937    Unknown(String),
5938}
5939
5940impl std::fmt::Display for ServiceTier {
5941    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5942        match self {
5943            Self::Development => write!(f, "development"),
5944            Self::Production => write!(f, "production"),
5945            Self::Dedicated_high_mem => write!(f, "dedicated_high_mem"),
5946            Self::Dedicated_high_cpu => write!(f, "dedicated_high_cpu"),
5947            Self::Dedicated_standard => write!(f, "dedicated_standard"),
5948            Self::Dedicated_standard_n2d_standard_4 => write!(f, "dedicated_standard_n2d_standard_4"),
5949            Self::Dedicated_standard_n2d_standard_8 => write!(f, "dedicated_standard_n2d_standard_8"),
5950            Self::Dedicated_standard_n2d_standard_32 => write!(f, "dedicated_standard_n2d_standard_32"),
5951            Self::Dedicated_standard_n2d_standard_128 => write!(f, "dedicated_standard_n2d_standard_128"),
5952            Self::Dedicated_standard_n2d_standard_32_16SSD => write!(f, "dedicated_standard_n2d_standard_32_16SSD"),
5953            Self::Dedicated_standard_n2d_standard_64_24SSD => write!(f, "dedicated_standard_n2d_standard_64_24SSD"),
5954            Self::Unknown(s) => write!(f, "{s}"),
5955        }
5956    }
5957}
5958
5959/// Inline enum for `ServiceEndpoint.protocol`.
5960#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5961pub enum ServiceEndpointProtocol {
5962    #[serde(rename = "https")]
5963    #[default]
5964    Https,
5965    #[serde(rename = "nativesecure")]
5966    Nativesecure,
5967    #[serde(rename = "mysql")]
5968    Mysql,
5969    /// Catch-all for unknown or newly-added values.
5970    #[serde(untagged)]
5971    Unknown(String),
5972}
5973
5974impl std::fmt::Display for ServiceEndpointProtocol {
5975    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5976        match self {
5977            Self::Https => write!(f, "https"),
5978            Self::Nativesecure => write!(f, "nativesecure"),
5979            Self::Mysql => write!(f, "mysql"),
5980            Self::Unknown(s) => write!(f, "{s}"),
5981        }
5982    }
5983}
5984
5985/// Inline enum for `ServiceEndpointChange.protocol`.
5986#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
5987pub enum ServiceEndpointChangeProtocol {
5988    #[serde(rename = "mysql")]
5989    #[default]
5990    Mysql,
5991    /// Catch-all for unknown or newly-added values.
5992    #[serde(untagged)]
5993    Unknown(String),
5994}
5995
5996impl std::fmt::Display for ServiceEndpointChangeProtocol {
5997    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5998        match self {
5999            Self::Mysql => write!(f, "mysql"),
6000            Self::Unknown(s) => write!(f, "{s}"),
6001        }
6002    }
6003}
6004
6005/// Inline enum for `ServicePatchRequest.releaseChannel`.
6006#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
6007pub enum ServicePatchRequestReleasechannel {
6008    #[serde(rename = "slow")]
6009    #[default]
6010    Slow,
6011    #[serde(rename = "default")]
6012    Default,
6013    #[serde(rename = "fast")]
6014    Fast,
6015    /// Catch-all for unknown or newly-added values.
6016    #[serde(untagged)]
6017    Unknown(String),
6018}
6019
6020impl std::fmt::Display for ServicePatchRequestReleasechannel {
6021    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6022        match self {
6023            Self::Slow => write!(f, "slow"),
6024            Self::Default => write!(f, "default"),
6025            Self::Fast => write!(f, "fast"),
6026            Self::Unknown(s) => write!(f, "{s}"),
6027        }
6028    }
6029}
6030
6031/// Inline enum for `ServicePostRequest.complianceType`.
6032#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
6033pub enum ServicePostRequestCompliancetype {
6034    #[serde(rename = "hipaa")]
6035    #[default]
6036    Hipaa,
6037    #[serde(rename = "pci")]
6038    Pci,
6039    /// Catch-all for unknown or newly-added values.
6040    #[serde(untagged)]
6041    Unknown(String),
6042}
6043
6044impl std::fmt::Display for ServicePostRequestCompliancetype {
6045    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6046        match self {
6047            Self::Hipaa => write!(f, "hipaa"),
6048            Self::Pci => write!(f, "pci"),
6049            Self::Unknown(s) => write!(f, "{s}"),
6050        }
6051    }
6052}
6053
6054/// Inline enum for `ServicePostRequest.profile`.
6055#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
6056pub enum ServicePostRequestProfile {
6057    #[serde(rename = "v1-default")]
6058    #[default]
6059    V1_default,
6060    #[serde(rename = "v1-highmem-xs")]
6061    V1_highmem_xs,
6062    #[serde(rename = "v1-highmem-s")]
6063    V1_highmem_s,
6064    #[serde(rename = "v1-highmem-m")]
6065    V1_highmem_m,
6066    #[serde(rename = "v1-highmem-l")]
6067    V1_highmem_l,
6068    #[serde(rename = "v1-highmem-xl")]
6069    V1_highmem_xl,
6070    /// Catch-all for unknown or newly-added values.
6071    #[serde(untagged)]
6072    Unknown(String),
6073}
6074
6075impl std::fmt::Display for ServicePostRequestProfile {
6076    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6077        match self {
6078            Self::V1_default => write!(f, "v1-default"),
6079            Self::V1_highmem_xs => write!(f, "v1-highmem-xs"),
6080            Self::V1_highmem_s => write!(f, "v1-highmem-s"),
6081            Self::V1_highmem_m => write!(f, "v1-highmem-m"),
6082            Self::V1_highmem_l => write!(f, "v1-highmem-l"),
6083            Self::V1_highmem_xl => write!(f, "v1-highmem-xl"),
6084            Self::Unknown(s) => write!(f, "{s}"),
6085        }
6086    }
6087}
6088
6089/// Inline enum for `ServicePostRequest.provider`.
6090#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
6091pub enum ServicePostRequestProvider {
6092    #[serde(rename = "aws")]
6093    #[default]
6094    Aws,
6095    #[serde(rename = "gcp")]
6096    Gcp,
6097    #[serde(rename = "azure")]
6098    Azure,
6099    /// Catch-all for unknown or newly-added values.
6100    #[serde(untagged)]
6101    Unknown(String),
6102}
6103
6104impl std::fmt::Display for ServicePostRequestProvider {
6105    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6106        match self {
6107            Self::Aws => write!(f, "aws"),
6108            Self::Gcp => write!(f, "gcp"),
6109            Self::Azure => write!(f, "azure"),
6110            Self::Unknown(s) => write!(f, "{s}"),
6111        }
6112    }
6113}
6114
6115/// Inline enum for `ServicePostRequest.region`.
6116#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
6117pub enum ServicePostRequestRegion {
6118    #[serde(rename = "ap-northeast-1")]
6119    #[default]
6120    Ap_northeast_1,
6121    #[serde(rename = "ap-northeast-2")]
6122    Ap_northeast_2,
6123    #[serde(rename = "ap-south-1")]
6124    Ap_south_1,
6125    #[serde(rename = "ap-southeast-1")]
6126    Ap_southeast_1,
6127    #[serde(rename = "ap-southeast-2")]
6128    Ap_southeast_2,
6129    #[serde(rename = "eu-central-1")]
6130    Eu_central_1,
6131    #[serde(rename = "eu-west-1")]
6132    Eu_west_1,
6133    #[serde(rename = "eu-west-2")]
6134    Eu_west_2,
6135    #[serde(rename = "il-central-1")]
6136    Il_central_1,
6137    #[serde(rename = "us-east-1")]
6138    Us_east_1,
6139    #[serde(rename = "us-east-2")]
6140    Us_east_2,
6141    #[serde(rename = "us-west-2")]
6142    Us_west_2,
6143    #[serde(rename = "us-east1")]
6144    Us_east1,
6145    #[serde(rename = "us-central1")]
6146    Us_central1,
6147    #[serde(rename = "europe-west4")]
6148    Europe_west4,
6149    #[serde(rename = "asia-southeast1")]
6150    Asia_southeast1,
6151    #[serde(rename = "asia-northeast1")]
6152    Asia_northeast1,
6153    #[serde(rename = "eastus")]
6154    Eastus,
6155    #[serde(rename = "eastus2")]
6156    Eastus2,
6157    #[serde(rename = "westus3")]
6158    Westus3,
6159    #[serde(rename = "germanywestcentral")]
6160    Germanywestcentral,
6161    #[serde(rename = "centralus")]
6162    Centralus,
6163    /// Catch-all for unknown or newly-added values.
6164    #[serde(untagged)]
6165    Unknown(String),
6166}
6167
6168impl std::fmt::Display for ServicePostRequestRegion {
6169    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6170        match self {
6171            Self::Ap_northeast_1 => write!(f, "ap-northeast-1"),
6172            Self::Ap_northeast_2 => write!(f, "ap-northeast-2"),
6173            Self::Ap_south_1 => write!(f, "ap-south-1"),
6174            Self::Ap_southeast_1 => write!(f, "ap-southeast-1"),
6175            Self::Ap_southeast_2 => write!(f, "ap-southeast-2"),
6176            Self::Eu_central_1 => write!(f, "eu-central-1"),
6177            Self::Eu_west_1 => write!(f, "eu-west-1"),
6178            Self::Eu_west_2 => write!(f, "eu-west-2"),
6179            Self::Il_central_1 => write!(f, "il-central-1"),
6180            Self::Us_east_1 => write!(f, "us-east-1"),
6181            Self::Us_east_2 => write!(f, "us-east-2"),
6182            Self::Us_west_2 => write!(f, "us-west-2"),
6183            Self::Us_east1 => write!(f, "us-east1"),
6184            Self::Us_central1 => write!(f, "us-central1"),
6185            Self::Europe_west4 => write!(f, "europe-west4"),
6186            Self::Asia_southeast1 => write!(f, "asia-southeast1"),
6187            Self::Asia_northeast1 => write!(f, "asia-northeast1"),
6188            Self::Eastus => write!(f, "eastus"),
6189            Self::Eastus2 => write!(f, "eastus2"),
6190            Self::Westus3 => write!(f, "westus3"),
6191            Self::Germanywestcentral => write!(f, "germanywestcentral"),
6192            Self::Centralus => write!(f, "centralus"),
6193            Self::Unknown(s) => write!(f, "{s}"),
6194        }
6195    }
6196}
6197
6198/// Inline enum for `ServicePostRequest.releaseChannel`.
6199#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
6200pub enum ServicePostRequestReleasechannel {
6201    #[serde(rename = "slow")]
6202    #[default]
6203    Slow,
6204    #[serde(rename = "default")]
6205    Default,
6206    #[serde(rename = "fast")]
6207    Fast,
6208    /// Catch-all for unknown or newly-added values.
6209    #[serde(untagged)]
6210    Unknown(String),
6211}
6212
6213impl std::fmt::Display for ServicePostRequestReleasechannel {
6214    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6215        match self {
6216            Self::Slow => write!(f, "slow"),
6217            Self::Default => write!(f, "default"),
6218            Self::Fast => write!(f, "fast"),
6219            Self::Unknown(s) => write!(f, "{s}"),
6220        }
6221    }
6222}
6223
6224/// Inline enum for `ServicePostRequest.tier`.
6225#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
6226pub enum ServicePostRequestTier {
6227    #[serde(rename = "development")]
6228    #[default]
6229    Development,
6230    #[serde(rename = "production")]
6231    Production,
6232    #[serde(rename = "dedicated_high_mem")]
6233    Dedicated_high_mem,
6234    #[serde(rename = "dedicated_high_cpu")]
6235    Dedicated_high_cpu,
6236    #[serde(rename = "dedicated_standard")]
6237    Dedicated_standard,
6238    #[serde(rename = "dedicated_standard_n2d_standard_4")]
6239    Dedicated_standard_n2d_standard_4,
6240    #[serde(rename = "dedicated_standard_n2d_standard_8")]
6241    Dedicated_standard_n2d_standard_8,
6242    #[serde(rename = "dedicated_standard_n2d_standard_32")]
6243    Dedicated_standard_n2d_standard_32,
6244    #[serde(rename = "dedicated_standard_n2d_standard_128")]
6245    Dedicated_standard_n2d_standard_128,
6246    #[serde(rename = "dedicated_standard_n2d_standard_32_16SSD")]
6247    Dedicated_standard_n2d_standard_32_16SSD,
6248    #[serde(rename = "dedicated_standard_n2d_standard_64_24SSD")]
6249    Dedicated_standard_n2d_standard_64_24SSD,
6250    /// Catch-all for unknown or newly-added values.
6251    #[serde(untagged)]
6252    Unknown(String),
6253}
6254
6255impl std::fmt::Display for ServicePostRequestTier {
6256    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6257        match self {
6258            Self::Development => write!(f, "development"),
6259            Self::Production => write!(f, "production"),
6260            Self::Dedicated_high_mem => write!(f, "dedicated_high_mem"),
6261            Self::Dedicated_high_cpu => write!(f, "dedicated_high_cpu"),
6262            Self::Dedicated_standard => write!(f, "dedicated_standard"),
6263            Self::Dedicated_standard_n2d_standard_4 => write!(f, "dedicated_standard_n2d_standard_4"),
6264            Self::Dedicated_standard_n2d_standard_8 => write!(f, "dedicated_standard_n2d_standard_8"),
6265            Self::Dedicated_standard_n2d_standard_32 => write!(f, "dedicated_standard_n2d_standard_32"),
6266            Self::Dedicated_standard_n2d_standard_128 => write!(f, "dedicated_standard_n2d_standard_128"),
6267            Self::Dedicated_standard_n2d_standard_32_16SSD => write!(f, "dedicated_standard_n2d_standard_32_16SSD"),
6268            Self::Dedicated_standard_n2d_standard_64_24SSD => write!(f, "dedicated_standard_n2d_standard_64_24SSD"),
6269            Self::Unknown(s) => write!(f, "{s}"),
6270        }
6271    }
6272}
6273
6274/// Inline enum for `ServiceScalingPatchResponse.complianceType`.
6275#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
6276pub enum ServiceScalingPatchResponseCompliancetype {
6277    #[serde(rename = "hipaa")]
6278    #[default]
6279    Hipaa,
6280    #[serde(rename = "pci")]
6281    Pci,
6282    /// Catch-all for unknown or newly-added values.
6283    #[serde(untagged)]
6284    Unknown(String),
6285}
6286
6287impl std::fmt::Display for ServiceScalingPatchResponseCompliancetype {
6288    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6289        match self {
6290            Self::Hipaa => write!(f, "hipaa"),
6291            Self::Pci => write!(f, "pci"),
6292            Self::Unknown(s) => write!(f, "{s}"),
6293        }
6294    }
6295}
6296
6297/// Inline enum for `ServiceScalingPatchResponse.profile`.
6298#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
6299pub enum ServiceScalingPatchResponseProfile {
6300    #[serde(rename = "v1-default")]
6301    #[default]
6302    V1_default,
6303    #[serde(rename = "v1-highmem-xs")]
6304    V1_highmem_xs,
6305    #[serde(rename = "v1-highmem-s")]
6306    V1_highmem_s,
6307    #[serde(rename = "v1-highmem-m")]
6308    V1_highmem_m,
6309    #[serde(rename = "v1-highmem-l")]
6310    V1_highmem_l,
6311    #[serde(rename = "v1-highmem-xl")]
6312    V1_highmem_xl,
6313    /// Catch-all for unknown or newly-added values.
6314    #[serde(untagged)]
6315    Unknown(String),
6316}
6317
6318impl std::fmt::Display for ServiceScalingPatchResponseProfile {
6319    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6320        match self {
6321            Self::V1_default => write!(f, "v1-default"),
6322            Self::V1_highmem_xs => write!(f, "v1-highmem-xs"),
6323            Self::V1_highmem_s => write!(f, "v1-highmem-s"),
6324            Self::V1_highmem_m => write!(f, "v1-highmem-m"),
6325            Self::V1_highmem_l => write!(f, "v1-highmem-l"),
6326            Self::V1_highmem_xl => write!(f, "v1-highmem-xl"),
6327            Self::Unknown(s) => write!(f, "{s}"),
6328        }
6329    }
6330}
6331
6332/// Inline enum for `ServiceScalingPatchResponse.provider`.
6333#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
6334pub enum ServiceScalingPatchResponseProvider {
6335    #[serde(rename = "aws")]
6336    #[default]
6337    Aws,
6338    #[serde(rename = "gcp")]
6339    Gcp,
6340    #[serde(rename = "azure")]
6341    Azure,
6342    /// Catch-all for unknown or newly-added values.
6343    #[serde(untagged)]
6344    Unknown(String),
6345}
6346
6347impl std::fmt::Display for ServiceScalingPatchResponseProvider {
6348    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6349        match self {
6350            Self::Aws => write!(f, "aws"),
6351            Self::Gcp => write!(f, "gcp"),
6352            Self::Azure => write!(f, "azure"),
6353            Self::Unknown(s) => write!(f, "{s}"),
6354        }
6355    }
6356}
6357
6358/// Inline enum for `ServiceScalingPatchResponse.region`.
6359#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
6360pub enum ServiceScalingPatchResponseRegion {
6361    #[serde(rename = "ap-northeast-1")]
6362    #[default]
6363    Ap_northeast_1,
6364    #[serde(rename = "ap-northeast-2")]
6365    Ap_northeast_2,
6366    #[serde(rename = "ap-south-1")]
6367    Ap_south_1,
6368    #[serde(rename = "ap-southeast-1")]
6369    Ap_southeast_1,
6370    #[serde(rename = "ap-southeast-2")]
6371    Ap_southeast_2,
6372    #[serde(rename = "eu-central-1")]
6373    Eu_central_1,
6374    #[serde(rename = "eu-west-1")]
6375    Eu_west_1,
6376    #[serde(rename = "eu-west-2")]
6377    Eu_west_2,
6378    #[serde(rename = "il-central-1")]
6379    Il_central_1,
6380    #[serde(rename = "us-east-1")]
6381    Us_east_1,
6382    #[serde(rename = "us-east-2")]
6383    Us_east_2,
6384    #[serde(rename = "us-west-2")]
6385    Us_west_2,
6386    #[serde(rename = "us-east1")]
6387    Us_east1,
6388    #[serde(rename = "us-central1")]
6389    Us_central1,
6390    #[serde(rename = "europe-west4")]
6391    Europe_west4,
6392    #[serde(rename = "asia-southeast1")]
6393    Asia_southeast1,
6394    #[serde(rename = "asia-northeast1")]
6395    Asia_northeast1,
6396    #[serde(rename = "eastus")]
6397    Eastus,
6398    #[serde(rename = "eastus2")]
6399    Eastus2,
6400    #[serde(rename = "westus3")]
6401    Westus3,
6402    #[serde(rename = "germanywestcentral")]
6403    Germanywestcentral,
6404    #[serde(rename = "centralus")]
6405    Centralus,
6406    /// Catch-all for unknown or newly-added values.
6407    #[serde(untagged)]
6408    Unknown(String),
6409}
6410
6411impl std::fmt::Display for ServiceScalingPatchResponseRegion {
6412    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6413        match self {
6414            Self::Ap_northeast_1 => write!(f, "ap-northeast-1"),
6415            Self::Ap_northeast_2 => write!(f, "ap-northeast-2"),
6416            Self::Ap_south_1 => write!(f, "ap-south-1"),
6417            Self::Ap_southeast_1 => write!(f, "ap-southeast-1"),
6418            Self::Ap_southeast_2 => write!(f, "ap-southeast-2"),
6419            Self::Eu_central_1 => write!(f, "eu-central-1"),
6420            Self::Eu_west_1 => write!(f, "eu-west-1"),
6421            Self::Eu_west_2 => write!(f, "eu-west-2"),
6422            Self::Il_central_1 => write!(f, "il-central-1"),
6423            Self::Us_east_1 => write!(f, "us-east-1"),
6424            Self::Us_east_2 => write!(f, "us-east-2"),
6425            Self::Us_west_2 => write!(f, "us-west-2"),
6426            Self::Us_east1 => write!(f, "us-east1"),
6427            Self::Us_central1 => write!(f, "us-central1"),
6428            Self::Europe_west4 => write!(f, "europe-west4"),
6429            Self::Asia_southeast1 => write!(f, "asia-southeast1"),
6430            Self::Asia_northeast1 => write!(f, "asia-northeast1"),
6431            Self::Eastus => write!(f, "eastus"),
6432            Self::Eastus2 => write!(f, "eastus2"),
6433            Self::Westus3 => write!(f, "westus3"),
6434            Self::Germanywestcentral => write!(f, "germanywestcentral"),
6435            Self::Centralus => write!(f, "centralus"),
6436            Self::Unknown(s) => write!(f, "{s}"),
6437        }
6438    }
6439}
6440
6441/// Inline enum for `ServiceScalingPatchResponse.releaseChannel`.
6442#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
6443pub enum ServiceScalingPatchResponseReleasechannel {
6444    #[serde(rename = "slow")]
6445    #[default]
6446    Slow,
6447    #[serde(rename = "default")]
6448    Default,
6449    #[serde(rename = "fast")]
6450    Fast,
6451    /// Catch-all for unknown or newly-added values.
6452    #[serde(untagged)]
6453    Unknown(String),
6454}
6455
6456impl std::fmt::Display for ServiceScalingPatchResponseReleasechannel {
6457    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6458        match self {
6459            Self::Slow => write!(f, "slow"),
6460            Self::Default => write!(f, "default"),
6461            Self::Fast => write!(f, "fast"),
6462            Self::Unknown(s) => write!(f, "{s}"),
6463        }
6464    }
6465}
6466
6467/// Inline enum for `ServiceScalingPatchResponse.state`.
6468#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
6469pub enum ServiceScalingPatchResponseState {
6470    #[serde(rename = "starting")]
6471    #[default]
6472    Starting,
6473    #[serde(rename = "stopping")]
6474    Stopping,
6475    #[serde(rename = "terminating")]
6476    Terminating,
6477    #[serde(rename = "softdeleting")]
6478    Softdeleting,
6479    #[serde(rename = "awaking")]
6480    Awaking,
6481    #[serde(rename = "partially_running")]
6482    Partially_running,
6483    #[serde(rename = "provisioning")]
6484    Provisioning,
6485    #[serde(rename = "running")]
6486    Running,
6487    #[serde(rename = "stopped")]
6488    Stopped,
6489    #[serde(rename = "terminated")]
6490    Terminated,
6491    #[serde(rename = "softdeleted")]
6492    Softdeleted,
6493    #[serde(rename = "degraded")]
6494    Degraded,
6495    #[serde(rename = "failed")]
6496    Failed,
6497    #[serde(rename = "idle")]
6498    Idle,
6499    /// Catch-all for unknown or newly-added values.
6500    #[serde(untagged)]
6501    Unknown(String),
6502}
6503
6504impl std::fmt::Display for ServiceScalingPatchResponseState {
6505    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6506        match self {
6507            Self::Starting => write!(f, "starting"),
6508            Self::Stopping => write!(f, "stopping"),
6509            Self::Terminating => write!(f, "terminating"),
6510            Self::Softdeleting => write!(f, "softdeleting"),
6511            Self::Awaking => write!(f, "awaking"),
6512            Self::Partially_running => write!(f, "partially_running"),
6513            Self::Provisioning => write!(f, "provisioning"),
6514            Self::Running => write!(f, "running"),
6515            Self::Stopped => write!(f, "stopped"),
6516            Self::Terminated => write!(f, "terminated"),
6517            Self::Softdeleted => write!(f, "softdeleted"),
6518            Self::Degraded => write!(f, "degraded"),
6519            Self::Failed => write!(f, "failed"),
6520            Self::Idle => write!(f, "idle"),
6521            Self::Unknown(s) => write!(f, "{s}"),
6522        }
6523    }
6524}
6525
6526/// Inline enum for `ServiceScalingPatchResponse.tier`.
6527#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
6528pub enum ServiceScalingPatchResponseTier {
6529    #[serde(rename = "development")]
6530    #[default]
6531    Development,
6532    #[serde(rename = "production")]
6533    Production,
6534    #[serde(rename = "dedicated_high_mem")]
6535    Dedicated_high_mem,
6536    #[serde(rename = "dedicated_high_cpu")]
6537    Dedicated_high_cpu,
6538    #[serde(rename = "dedicated_standard")]
6539    Dedicated_standard,
6540    #[serde(rename = "dedicated_standard_n2d_standard_4")]
6541    Dedicated_standard_n2d_standard_4,
6542    #[serde(rename = "dedicated_standard_n2d_standard_8")]
6543    Dedicated_standard_n2d_standard_8,
6544    #[serde(rename = "dedicated_standard_n2d_standard_32")]
6545    Dedicated_standard_n2d_standard_32,
6546    #[serde(rename = "dedicated_standard_n2d_standard_128")]
6547    Dedicated_standard_n2d_standard_128,
6548    #[serde(rename = "dedicated_standard_n2d_standard_32_16SSD")]
6549    Dedicated_standard_n2d_standard_32_16SSD,
6550    #[serde(rename = "dedicated_standard_n2d_standard_64_24SSD")]
6551    Dedicated_standard_n2d_standard_64_24SSD,
6552    /// Catch-all for unknown or newly-added values.
6553    #[serde(untagged)]
6554    Unknown(String),
6555}
6556
6557impl std::fmt::Display for ServiceScalingPatchResponseTier {
6558    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6559        match self {
6560            Self::Development => write!(f, "development"),
6561            Self::Production => write!(f, "production"),
6562            Self::Dedicated_high_mem => write!(f, "dedicated_high_mem"),
6563            Self::Dedicated_high_cpu => write!(f, "dedicated_high_cpu"),
6564            Self::Dedicated_standard => write!(f, "dedicated_standard"),
6565            Self::Dedicated_standard_n2d_standard_4 => write!(f, "dedicated_standard_n2d_standard_4"),
6566            Self::Dedicated_standard_n2d_standard_8 => write!(f, "dedicated_standard_n2d_standard_8"),
6567            Self::Dedicated_standard_n2d_standard_32 => write!(f, "dedicated_standard_n2d_standard_32"),
6568            Self::Dedicated_standard_n2d_standard_128 => write!(f, "dedicated_standard_n2d_standard_128"),
6569            Self::Dedicated_standard_n2d_standard_32_16SSD => write!(f, "dedicated_standard_n2d_standard_32_16SSD"),
6570            Self::Dedicated_standard_n2d_standard_64_24SSD => write!(f, "dedicated_standard_n2d_standard_64_24SSD"),
6571            Self::Unknown(s) => write!(f, "{s}"),
6572        }
6573    }
6574}
6575
6576/// Inline enum for `ServiceStatePatchRequest.command`.
6577#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
6578pub enum ServiceStatePatchRequestCommand {
6579    #[serde(rename = "start")]
6580    #[default]
6581    Start,
6582    #[serde(rename = "stop")]
6583    Stop,
6584    #[serde(rename = "awake")]
6585    Awake,
6586    /// Catch-all for unknown or newly-added values.
6587    #[serde(untagged)]
6588    Unknown(String),
6589}
6590
6591impl std::fmt::Display for ServiceStatePatchRequestCommand {
6592    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6593        match self {
6594            Self::Start => write!(f, "start"),
6595            Self::Stop => write!(f, "stop"),
6596            Self::Awake => write!(f, "awake"),
6597            Self::Unknown(s) => write!(f, "{s}"),
6598        }
6599    }
6600}
6601
6602/// Inline enum for `UsageCostRecord.entityType`.
6603#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
6604pub enum UsageCostRecordEntitytype {
6605    #[serde(rename = "datawarehouse")]
6606    #[default]
6607    Datawarehouse,
6608    #[serde(rename = "service")]
6609    Service,
6610    #[serde(rename = "clickpipe")]
6611    Clickpipe,
6612    /// Catch-all for unknown or newly-added values.
6613    #[serde(untagged)]
6614    Unknown(String),
6615}
6616
6617impl std::fmt::Display for UsageCostRecordEntitytype {
6618    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6619        match self {
6620            Self::Datawarehouse => write!(f, "datawarehouse"),
6621            Self::Service => write!(f, "service"),
6622            Self::Clickpipe => write!(f, "clickpipe"),
6623            Self::Unknown(s) => write!(f, "{s}"),
6624        }
6625    }
6626}
6627
6628/// Inline enum for `pgConfig.default_transaction_isolation`.
6629#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
6630pub enum PgConfigDefaultTransactionIsolation {
6631    #[serde(rename = "read committed")]
6632    #[default]
6633    Read_committed,
6634    #[serde(rename = "repeatable read")]
6635    Repeatable_read,
6636    #[serde(rename = "serializable")]
6637    Serializable,
6638    /// Catch-all for unknown or newly-added values.
6639    #[serde(untagged)]
6640    Unknown(String),
6641}
6642
6643impl std::fmt::Display for PgConfigDefaultTransactionIsolation {
6644    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6645        match self {
6646            Self::Read_committed => write!(f, "read committed"),
6647            Self::Repeatable_read => write!(f, "repeatable read"),
6648            Self::Serializable => write!(f, "serializable"),
6649            Self::Unknown(s) => write!(f, "{s}"),
6650        }
6651    }
6652}
6653
6654/// Inline enum for `pgConfig.ssl_min_protocol_version`.
6655#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
6656pub enum PgConfigSslMinProtocolVersion {
6657    #[serde(rename = "TLSv1")]
6658    #[default]
6659    TlsV1,
6660    #[serde(rename = "TLSv1.1")]
6661    TlsV1_1,
6662    #[serde(rename = "TLSv1.2")]
6663    TlsV1_2,
6664    #[serde(rename = "TLSv1.3")]
6665    TlsV1_3,
6666    /// Catch-all for unknown or newly-added values.
6667    #[serde(untagged)]
6668    Unknown(String),
6669}
6670
6671impl std::fmt::Display for PgConfigSslMinProtocolVersion {
6672    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6673        match self {
6674            Self::TlsV1 => write!(f, "TLSv1"),
6675            Self::TlsV1_1 => write!(f, "TLSv1.1"),
6676            Self::TlsV1_2 => write!(f, "TLSv1.2"),
6677            Self::TlsV1_3 => write!(f, "TLSv1.3"),
6678            Self::Unknown(s) => write!(f, "{s}"),
6679        }
6680    }
6681}
6682
6683/// Inline enum for `pgConfig.wal_compression`.
6684#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
6685pub enum PgConfigWalCompression {
6686    #[serde(rename = "off")]
6687    #[default]
6688    Off,
6689    #[serde(rename = "on")]
6690    On,
6691    #[serde(rename = "lz4")]
6692    Lz4,
6693    #[serde(rename = "zstd")]
6694    Zstd,
6695    /// Catch-all for unknown or newly-added values.
6696    #[serde(untagged)]
6697    Unknown(String),
6698}
6699
6700impl std::fmt::Display for PgConfigWalCompression {
6701    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6702        match self {
6703            Self::Off => write!(f, "off"),
6704            Self::On => write!(f, "on"),
6705            Self::Lz4 => write!(f, "lz4"),
6706            Self::Zstd => write!(f, "zstd"),
6707            Self::Unknown(s) => write!(f, "{s}"),
6708        }
6709    }
6710}
6711
6712/// `BackupBucket` - one of multiple variants.
6713///
6714/// Uses `bucketProvider` as a discriminator: `"AWS"`, `"GCP"`, or `"AZURE"`.
6715#[derive(Debug, Clone, PartialEq, Serialize)]
6716#[serde(untagged)]
6717pub enum BackupBucket {
6718    AwsBackupBucket(AwsBackupBucket),
6719    GcpBackupBucket(GcpBackupBucket),
6720    AzureBackupBucket(AzureBackupBucket),
6721    /// Catch-all for unknown or newly-added values.
6722    Unknown(String),
6723}
6724
6725impl<'de> Deserialize<'de> for BackupBucket {
6726    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6727    where
6728        D: serde::Deserializer<'de>,
6729    {
6730        let value = serde_json::Value::deserialize(deserializer)?;
6731        match value.get("bucketProvider").and_then(|v| v.as_str()) {
6732            Some("AWS") => serde_json::from_value(value)
6733                .map(BackupBucket::AwsBackupBucket)
6734                .map_err(serde::de::Error::custom),
6735            Some("GCP") => serde_json::from_value(value)
6736                .map(BackupBucket::GcpBackupBucket)
6737                .map_err(serde::de::Error::custom),
6738            Some("AZURE") => serde_json::from_value(value)
6739                .map(BackupBucket::AzureBackupBucket)
6740                .map_err(serde::de::Error::custom),
6741            _ => Ok(BackupBucket::Unknown(value.to_string())),
6742        }
6743    }
6744}
6745
6746impl std::fmt::Display for BackupBucket {
6747    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6748        match self {
6749            Self::AwsBackupBucket(_) => write!(f, "AwsBackupBucket"),
6750            Self::GcpBackupBucket(_) => write!(f, "GcpBackupBucket"),
6751            Self::AzureBackupBucket(_) => write!(f, "AzureBackupBucket"),
6752            Self::Unknown(s) => write!(f, "{s}"),
6753        }
6754    }
6755}
6756
6757/// `BackupBucketPatchRequest` - one of multiple variants.
6758///
6759/// Uses `bucketProvider` as a discriminator: `"AWS"`, `"GCP"`, or `"AZURE"`.
6760#[derive(Debug, Clone, PartialEq, Serialize)]
6761#[serde(untagged)]
6762pub enum BackupBucketPatchRequest {
6763    AwsBackupBucketPatchRequestV1(AwsBackupBucketPatchRequestV1),
6764    GcpBackupBucketPatchRequestV1(GcpBackupBucketPatchRequestV1),
6765    AzureBackupBucketPatchRequestV1(AzureBackupBucketPatchRequestV1),
6766    /// Catch-all for unknown or newly-added values.
6767    Unknown(String),
6768}
6769
6770impl<'de> Deserialize<'de> for BackupBucketPatchRequest {
6771    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6772    where
6773        D: serde::Deserializer<'de>,
6774    {
6775        let value = serde_json::Value::deserialize(deserializer)?;
6776        match value.get("bucketProvider").and_then(|v| v.as_str()) {
6777            Some("AWS") => serde_json::from_value(value)
6778                .map(BackupBucketPatchRequest::AwsBackupBucketPatchRequestV1)
6779                .map_err(serde::de::Error::custom),
6780            Some("GCP") => serde_json::from_value(value)
6781                .map(BackupBucketPatchRequest::GcpBackupBucketPatchRequestV1)
6782                .map_err(serde::de::Error::custom),
6783            Some("AZURE") => serde_json::from_value(value)
6784                .map(BackupBucketPatchRequest::AzureBackupBucketPatchRequestV1)
6785                .map_err(serde::de::Error::custom),
6786            _ => Ok(BackupBucketPatchRequest::Unknown(value.to_string())),
6787        }
6788    }
6789}
6790
6791impl std::fmt::Display for BackupBucketPatchRequest {
6792    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6793        match self {
6794            Self::AwsBackupBucketPatchRequestV1(_) => write!(f, "AwsBackupBucketPatchRequestV1"),
6795            Self::GcpBackupBucketPatchRequestV1(_) => write!(f, "GcpBackupBucketPatchRequestV1"),
6796            Self::AzureBackupBucketPatchRequestV1(_) => write!(f, "AzureBackupBucketPatchRequestV1"),
6797            Self::Unknown(s) => write!(f, "{s}"),
6798        }
6799    }
6800}
6801
6802/// `BackupBucketPostRequest` - one of multiple variants.
6803///
6804/// Uses `bucketProvider` as a discriminator: `"AWS"`, `"GCP"`, or `"AZURE"`.
6805#[derive(Debug, Clone, PartialEq, Serialize)]
6806#[serde(untagged)]
6807pub enum BackupBucketPostRequest {
6808    AwsBackupBucketPostRequestV1(AwsBackupBucketPostRequestV1),
6809    GcpBackupBucketPostRequestV1(GcpBackupBucketPostRequestV1),
6810    AzureBackupBucketPostRequestV1(AzureBackupBucketPostRequestV1),
6811    /// Catch-all for unknown or newly-added values.
6812    Unknown(String),
6813}
6814
6815impl<'de> Deserialize<'de> for BackupBucketPostRequest {
6816    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6817    where
6818        D: serde::Deserializer<'de>,
6819    {
6820        let value = serde_json::Value::deserialize(deserializer)?;
6821        match value.get("bucketProvider").and_then(|v| v.as_str()) {
6822            Some("AWS") => serde_json::from_value(value)
6823                .map(BackupBucketPostRequest::AwsBackupBucketPostRequestV1)
6824                .map_err(serde::de::Error::custom),
6825            Some("GCP") => serde_json::from_value(value)
6826                .map(BackupBucketPostRequest::GcpBackupBucketPostRequestV1)
6827                .map_err(serde::de::Error::custom),
6828            Some("AZURE") => serde_json::from_value(value)
6829                .map(BackupBucketPostRequest::AzureBackupBucketPostRequestV1)
6830                .map_err(serde::de::Error::custom),
6831            _ => Ok(BackupBucketPostRequest::Unknown(value.to_string())),
6832        }
6833    }
6834}
6835
6836impl std::fmt::Display for BackupBucketPostRequest {
6837    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6838        match self {
6839            Self::AwsBackupBucketPostRequestV1(_) => write!(f, "AwsBackupBucketPostRequestV1"),
6840            Self::GcpBackupBucketPostRequestV1(_) => write!(f, "GcpBackupBucketPostRequestV1"),
6841            Self::AzureBackupBucketPostRequestV1(_) => write!(f, "AzureBackupBucketPostRequestV1"),
6842            Self::Unknown(s) => write!(f, "{s}"),
6843        }
6844    }
6845}
6846
6847/// `BackupBucketProperties` - one of multiple variants.
6848///
6849/// Uses `bucketProvider` as a discriminator: `"AWS"`, `"GCP"`, or `"AZURE"`.
6850#[derive(Debug, Clone, PartialEq, Serialize)]
6851#[serde(untagged)]
6852pub enum BackupBucketProperties {
6853    AwsBackupBucketProperties(AwsBackupBucketProperties),
6854    GcpBackupBucketProperties(GcpBackupBucketProperties),
6855    AzureBackupBucketProperties(AzureBackupBucketProperties),
6856    /// Catch-all for unknown or newly-added values.
6857    Unknown(String),
6858}
6859
6860impl<'de> Deserialize<'de> for BackupBucketProperties {
6861    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
6862    where
6863        D: serde::Deserializer<'de>,
6864    {
6865        let value = serde_json::Value::deserialize(deserializer)?;
6866        match value.get("bucketProvider").and_then(|v| v.as_str()) {
6867            Some("AWS") => serde_json::from_value(value)
6868                .map(BackupBucketProperties::AwsBackupBucketProperties)
6869                .map_err(serde::de::Error::custom),
6870            Some("GCP") => serde_json::from_value(value)
6871                .map(BackupBucketProperties::GcpBackupBucketProperties)
6872                .map_err(serde::de::Error::custom),
6873            Some("AZURE") => serde_json::from_value(value)
6874                .map(BackupBucketProperties::AzureBackupBucketProperties)
6875                .map_err(serde::de::Error::custom),
6876            _ => Ok(BackupBucketProperties::Unknown(value.to_string())),
6877        }
6878    }
6879}
6880
6881impl std::fmt::Display for BackupBucketProperties {
6882    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6883        match self {
6884            Self::AwsBackupBucketProperties(_) => write!(f, "AwsBackupBucketProperties"),
6885            Self::GcpBackupBucketProperties(_) => write!(f, "GcpBackupBucketProperties"),
6886            Self::AzureBackupBucketProperties(_) => write!(f, "AzureBackupBucketProperties"),
6887            Self::Unknown(s) => write!(f, "{s}"),
6888        }
6889    }
6890}
6891
6892/// `ClickStackAlertChannel` - one of multiple variants.
6893#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6894#[serde(untagged)]
6895pub enum ClickStackAlertChannel {
6896    ClickStackAlertChannelEmail(ClickStackAlertChannelEmail),
6897    ClickStackAlertChannelWebhook(ClickStackAlertChannelWebhook),
6898    /// Catch-all for unknown or newly-added values.
6899    Unknown(String),
6900}
6901
6902impl std::fmt::Display for ClickStackAlertChannel {
6903    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6904        match self {
6905            Self::ClickStackAlertChannelEmail(_) => write!(f, "ClickStackAlertChannelEmail"),
6906            Self::ClickStackAlertChannelWebhook(_) => write!(f, "ClickStackAlertChannelWebhook"),
6907            Self::Unknown(s) => write!(f, "{s}"),
6908        }
6909    }
6910}
6911
6912/// `ClickStackBarChartConfig` - one of multiple variants.
6913#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6914#[serde(untagged)]
6915pub enum ClickStackBarChartConfig {
6916    ClickStackBarBuilderChartConfig(ClickStackBarBuilderChartConfig),
6917    ClickStackBarRawSqlChartConfig(ClickStackBarRawSqlChartConfig),
6918    /// Catch-all for unknown or newly-added values.
6919    Unknown(String),
6920}
6921
6922impl std::fmt::Display for ClickStackBarChartConfig {
6923    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6924        match self {
6925            Self::ClickStackBarBuilderChartConfig(_) => write!(f, "ClickStackBarBuilderChartConfig"),
6926            Self::ClickStackBarRawSqlChartConfig(_) => write!(f, "ClickStackBarRawSqlChartConfig"),
6927            Self::Unknown(s) => write!(f, "{s}"),
6928        }
6929    }
6930}
6931
6932/// `ClickStackDashboardChartSeries` - one of multiple variants.
6933#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6934#[serde(untagged)]
6935pub enum ClickStackDashboardChartSeries {
6936    ClickStackTimeChartSeries(ClickStackTimeChartSeries),
6937    ClickStackTableChartSeries(ClickStackTableChartSeries),
6938    ClickStackNumberChartSeries(ClickStackNumberChartSeries),
6939    ClickStackSearchChartSeries(ClickStackSearchChartSeries),
6940    ClickStackMarkdownChartSeries(ClickStackMarkdownChartSeries),
6941    /// Catch-all for unknown or newly-added values.
6942    Unknown(String),
6943}
6944
6945impl std::fmt::Display for ClickStackDashboardChartSeries {
6946    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6947        match self {
6948            Self::ClickStackTimeChartSeries(_) => write!(f, "ClickStackTimeChartSeries"),
6949            Self::ClickStackTableChartSeries(_) => write!(f, "ClickStackTableChartSeries"),
6950            Self::ClickStackNumberChartSeries(_) => write!(f, "ClickStackNumberChartSeries"),
6951            Self::ClickStackSearchChartSeries(_) => write!(f, "ClickStackSearchChartSeries"),
6952            Self::ClickStackMarkdownChartSeries(_) => write!(f, "ClickStackMarkdownChartSeries"),
6953            Self::Unknown(s) => write!(f, "{s}"),
6954        }
6955    }
6956}
6957
6958/// `ClickStackLineChartConfig` - one of multiple variants.
6959#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6960#[serde(untagged)]
6961pub enum ClickStackLineChartConfig {
6962    ClickStackLineBuilderChartConfig(ClickStackLineBuilderChartConfig),
6963    ClickStackLineRawSqlChartConfig(ClickStackLineRawSqlChartConfig),
6964    /// Catch-all for unknown or newly-added values.
6965    Unknown(String),
6966}
6967
6968impl std::fmt::Display for ClickStackLineChartConfig {
6969    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6970        match self {
6971            Self::ClickStackLineBuilderChartConfig(_) => write!(f, "ClickStackLineBuilderChartConfig"),
6972            Self::ClickStackLineRawSqlChartConfig(_) => write!(f, "ClickStackLineRawSqlChartConfig"),
6973            Self::Unknown(s) => write!(f, "{s}"),
6974        }
6975    }
6976}
6977
6978/// `ClickStackNumberChartConfig` - one of multiple variants.
6979#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6980#[serde(untagged)]
6981pub enum ClickStackNumberChartConfig {
6982    ClickStackNumberBuilderChartConfig(ClickStackNumberBuilderChartConfig),
6983    ClickStackNumberRawSqlChartConfig(ClickStackNumberRawSqlChartConfig),
6984    /// Catch-all for unknown or newly-added values.
6985    Unknown(String),
6986}
6987
6988impl std::fmt::Display for ClickStackNumberChartConfig {
6989    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6990        match self {
6991            Self::ClickStackNumberBuilderChartConfig(_) => write!(f, "ClickStackNumberBuilderChartConfig"),
6992            Self::ClickStackNumberRawSqlChartConfig(_) => write!(f, "ClickStackNumberRawSqlChartConfig"),
6993            Self::Unknown(s) => write!(f, "{s}"),
6994        }
6995    }
6996}
6997
6998/// `ClickStackPieChartConfig` - one of multiple variants.
6999#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7000#[serde(untagged)]
7001pub enum ClickStackPieChartConfig {
7002    ClickStackPieBuilderChartConfig(ClickStackPieBuilderChartConfig),
7003    ClickStackPieRawSqlChartConfig(ClickStackPieRawSqlChartConfig),
7004    /// Catch-all for unknown or newly-added values.
7005    Unknown(String),
7006}
7007
7008impl std::fmt::Display for ClickStackPieChartConfig {
7009    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7010        match self {
7011            Self::ClickStackPieBuilderChartConfig(_) => write!(f, "ClickStackPieBuilderChartConfig"),
7012            Self::ClickStackPieRawSqlChartConfig(_) => write!(f, "ClickStackPieRawSqlChartConfig"),
7013            Self::Unknown(s) => write!(f, "{s}"),
7014        }
7015    }
7016}
7017
7018/// `ClickStackSource` - one of multiple variants.
7019#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7020#[serde(untagged)]
7021pub enum ClickStackSource {
7022    ClickStackLogSource(ClickStackLogSource),
7023    ClickStackTraceSource(ClickStackTraceSource),
7024    ClickStackMetricSource(ClickStackMetricSource),
7025    ClickStackSessionSource(ClickStackSessionSource),
7026    /// Catch-all for unknown or newly-added values.
7027    Unknown(String),
7028}
7029
7030impl std::fmt::Display for ClickStackSource {
7031    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7032        match self {
7033            Self::ClickStackLogSource(_) => write!(f, "ClickStackLogSource"),
7034            Self::ClickStackTraceSource(_) => write!(f, "ClickStackTraceSource"),
7035            Self::ClickStackMetricSource(_) => write!(f, "ClickStackMetricSource"),
7036            Self::ClickStackSessionSource(_) => write!(f, "ClickStackSessionSource"),
7037            Self::Unknown(s) => write!(f, "{s}"),
7038        }
7039    }
7040}
7041
7042/// `ClickStackTableChartConfig` - one of multiple variants.
7043#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7044#[serde(untagged)]
7045pub enum ClickStackTableChartConfig {
7046    ClickStackTableBuilderChartConfig(ClickStackTableBuilderChartConfig),
7047    ClickStackTableRawSqlChartConfig(ClickStackTableRawSqlChartConfig),
7048    /// Catch-all for unknown or newly-added values.
7049    Unknown(String),
7050}
7051
7052impl std::fmt::Display for ClickStackTableChartConfig {
7053    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7054        match self {
7055            Self::ClickStackTableBuilderChartConfig(_) => write!(f, "ClickStackTableBuilderChartConfig"),
7056            Self::ClickStackTableRawSqlChartConfig(_) => write!(f, "ClickStackTableRawSqlChartConfig"),
7057            Self::Unknown(s) => write!(f, "{s}"),
7058        }
7059    }
7060}
7061
7062/// `ClickStackTileConfig` - one of multiple variants.
7063#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7064#[serde(untagged)]
7065pub enum ClickStackTileConfig {
7066    ClickStackLineChartConfig(ClickStackLineChartConfig),
7067    ClickStackBarChartConfig(ClickStackBarChartConfig),
7068    ClickStackTableChartConfig(ClickStackTableChartConfig),
7069    ClickStackNumberChartConfig(ClickStackNumberChartConfig),
7070    ClickStackPieChartConfig(ClickStackPieChartConfig),
7071    ClickStackSearchChartConfig(ClickStackSearchChartConfig),
7072    ClickStackMarkdownChartConfig(ClickStackMarkdownChartConfig),
7073    /// Catch-all for unknown or newly-added values.
7074    Unknown(String),
7075}
7076
7077impl std::fmt::Display for ClickStackTileConfig {
7078    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7079        match self {
7080            Self::ClickStackLineChartConfig(_) => write!(f, "ClickStackLineChartConfig"),
7081            Self::ClickStackBarChartConfig(_) => write!(f, "ClickStackBarChartConfig"),
7082            Self::ClickStackTableChartConfig(_) => write!(f, "ClickStackTableChartConfig"),
7083            Self::ClickStackNumberChartConfig(_) => write!(f, "ClickStackNumberChartConfig"),
7084            Self::ClickStackPieChartConfig(_) => write!(f, "ClickStackPieChartConfig"),
7085            Self::ClickStackSearchChartConfig(_) => write!(f, "ClickStackSearchChartConfig"),
7086            Self::ClickStackMarkdownChartConfig(_) => write!(f, "ClickStackMarkdownChartConfig"),
7087            Self::Unknown(s) => write!(f, "{s}"),
7088        }
7089    }
7090}
7091
7092/// `ClickStackWebhook` - one of multiple variants.
7093#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7094#[serde(untagged)]
7095pub enum ClickStackWebhook {
7096    ClickStackSlackWebhook(ClickStackSlackWebhook),
7097    ClickStackIncidentIOWebhook(ClickStackIncidentIOWebhook),
7098    ClickStackGenericWebhook(ClickStackGenericWebhook),
7099    ClickStackSlackAPIWebhook(ClickStackSlackAPIWebhook),
7100    ClickStackPagerDutyAPIWebhook(ClickStackPagerDutyAPIWebhook),
7101    /// Catch-all for unknown or newly-added values.
7102    Unknown(String),
7103}
7104
7105impl std::fmt::Display for ClickStackWebhook {
7106    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7107        match self {
7108            Self::ClickStackSlackWebhook(_) => write!(f, "ClickStackSlackWebhook"),
7109            Self::ClickStackIncidentIOWebhook(_) => write!(f, "ClickStackIncidentIOWebhook"),
7110            Self::ClickStackGenericWebhook(_) => write!(f, "ClickStackGenericWebhook"),
7111            Self::ClickStackSlackAPIWebhook(_) => write!(f, "ClickStackSlackAPIWebhook"),
7112            Self::ClickStackPagerDutyAPIWebhook(_) => write!(f, "ClickStackPagerDutyAPIWebhook"),
7113            Self::Unknown(s) => write!(f, "{s}"),
7114        }
7115    }
7116}
7117
7118/// Type alias for `pgCreatedAtProperty`.
7119pub type PgCreatedAtProperty = chrono::DateTime<chrono::Utc>;
7120
7121/// Type alias for `pgIdProperty`.
7122pub type PgIdProperty = uuid::Uuid;
7123
7124/// Type alias for `pgIsPrimaryProperty`.
7125pub type PgIsPrimaryProperty = bool;
7126
7127/// Type alias for `pgNameProperty`.
7128pub type PgNameProperty = String;
7129
7130/// Type alias for `pgPassword`.
7131pub type PgPassword = String;
7132
7133/// Type alias for `pgPitrRestoreTargetProperty`.
7134pub type PgPitrRestoreTargetProperty = chrono::DateTime<chrono::Utc>;
7135
7136/// Type alias for `pgRegion`.
7137pub type PgRegion = String;
7138
7139/// Type alias for `pgStorageSize`.
7140pub type PgStorageSize = i64;
7141
7142/// Type alias for `pgTags`.
7143pub type PgTags = Vec<ResourceTagsV1>;
7144
7145/// `Activity` from the ClickHouse Cloud API.
7146#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7147pub struct Activity {
7148    #[serde(rename = "actorDetails", default)]
7149    pub actor_details: String,
7150    #[serde(rename = "actorId", default)]
7151    pub actor_id: String,
7152    #[serde(rename = "actorIpAddress", default)]
7153    pub actor_ip_address: String,
7154    #[serde(rename = "actorType", default)]
7155    pub actor_type: ActivityActortype,
7156    #[serde(rename = "createdAt", default)]
7157    pub created_at: chrono::DateTime<chrono::Utc>,
7158    #[serde(default)]
7159    pub id: String,
7160    #[serde(rename = "keyUpdateType", default)]
7161    pub key_update_type: ActivityKeyupdatetype,
7162    #[serde(rename = "organizationId", default)]
7163    pub organization_id: String,
7164    #[serde(rename = "serviceId", default)]
7165    pub service_id: String,
7166    #[serde(rename = "targetKeyId", default)]
7167    pub target_key_id: String,
7168    #[serde(default)]
7169    pub r#type: ActivityType,
7170    #[serde(rename = "userAgent", default)]
7171    pub user_agent: String,
7172}
7173
7174/// `ApiKey` from the ClickHouse Cloud API.
7175#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7176pub struct ApiKey {
7177    #[serde(rename = "assignedRoles", default)]
7178    pub assigned_roles: Vec<AssignedRole>,
7179    #[serde(rename = "createdAt", default)]
7180    pub created_at: chrono::DateTime<chrono::Utc>,
7181    #[serde(rename = "expireAt", skip_serializing_if = "Option::is_none", default)]
7182    pub expire_at: Option<chrono::DateTime<chrono::Utc>>,
7183    #[serde(default)]
7184    pub id: uuid::Uuid,
7185    #[serde(rename = "ipAccessList", default)]
7186    pub ip_access_list: Vec<IpAccessListEntry>,
7187    #[serde(rename = "keySuffix", default)]
7188    pub key_suffix: String,
7189    #[serde(default)]
7190    pub name: String,
7191    #[serde(default)]
7192    pub roles: Vec<String>,
7193    #[serde(default)]
7194    pub state: ApiKeyState,
7195    #[serde(rename = "usedAt", default)]
7196    pub used_at: chrono::DateTime<chrono::Utc>,
7197}
7198
7199/// `ApiKeyHashData` from the ClickHouse Cloud API.
7200#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7201pub struct ApiKeyHashData {
7202    #[serde(rename = "keyIdHash", default)]
7203    pub key_id_hash: String,
7204    #[serde(rename = "keyIdSuffix", default)]
7205    pub key_id_suffix: String,
7206    #[serde(rename = "keySecretHash", default)]
7207    pub key_secret_hash: String,
7208}
7209
7210/// `ApiKeyPatchRequest` from the ClickHouse Cloud API.
7211#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7212pub struct ApiKeyPatchRequest {
7213    #[serde(rename = "assignedRoleIds", skip_serializing_if = "Option::is_none", default)]
7214    pub assigned_role_ids: Option<Vec<uuid::Uuid>>,
7215    #[serde(rename = "expireAt", skip_serializing_if = "Option::is_none", default)]
7216    pub expire_at: Option<chrono::DateTime<chrono::Utc>>,
7217    #[serde(rename = "ipAccessList", skip_serializing_if = "Option::is_none", default)]
7218    pub ip_access_list: Option<Vec<IpAccessListEntry>>,
7219    #[serde(skip_serializing_if = "Option::is_none", default)]
7220    pub name: Option<String>,
7221    #[serde(skip_serializing_if = "Option::is_none", default)]
7222    pub roles: Option<Vec<String>>,
7223    #[serde(skip_serializing_if = "Option::is_none", default)]
7224    pub state: Option<ApiKeyPatchRequestState>,
7225}
7226
7227/// `ApiKeyPostRequest` from the ClickHouse Cloud API.
7228#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7229pub struct ApiKeyPostRequest {
7230    #[serde(rename = "assignedRoleIds", default)]
7231    pub assigned_role_ids: Vec<uuid::Uuid>,
7232    #[serde(rename = "expireAt", skip_serializing_if = "Option::is_none", default)]
7233    pub expire_at: Option<chrono::DateTime<chrono::Utc>>,
7234    #[serde(rename = "hashData", skip_serializing_if = "Option::is_none", default)]
7235    pub hash_data: Option<ApiKeyHashData>,
7236    #[serde(rename = "ipAccessList", default)]
7237    pub ip_access_list: Vec<IpAccessListEntry>,
7238    #[serde(default)]
7239    pub name: String,
7240    #[serde(skip_serializing_if = "Option::is_none", default)]
7241    pub roles: Option<Vec<String>>,
7242    #[serde(default)]
7243    pub state: ApiKeyPostRequestState,
7244}
7245
7246/// `ApiKeyPostResponse` from the ClickHouse Cloud API.
7247#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7248pub struct ApiKeyPostResponse {
7249    #[serde(default)]
7250    pub key: ApiKey,
7251    #[serde(rename = "keyId", default)]
7252    pub key_id: String,
7253    #[serde(rename = "keySecret", default)]
7254    pub key_secret: String,
7255}
7256
7257/// `AssignedRole` from the ClickHouse Cloud API.
7258#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7259pub struct AssignedRole {
7260    #[serde(rename = "roleId", default)]
7261    pub role_id: uuid::Uuid,
7262    #[serde(rename = "roleName", default)]
7263    pub role_name: String,
7264    #[serde(rename = "roleType", default)]
7265    pub role_type: AssignedRoleRoletype,
7266}
7267
7268/// `AwsBackupBucket` from the ClickHouse Cloud API.
7269#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7270pub struct AwsBackupBucket {
7271    #[serde(rename = "bucketPath", default)]
7272    pub bucket_path: String,
7273    #[serde(rename = "bucketProvider", default)]
7274    pub bucket_provider: AwsBackupBucketBucketprovider,
7275    #[serde(rename = "iamRoleArn", default)]
7276    pub iam_role_arn: String,
7277    #[serde(rename = "iamRoleSessionName", default)]
7278    pub iam_role_session_name: String,
7279    #[serde(default)]
7280    pub id: uuid::Uuid,
7281}
7282
7283/// `AwsBackupBucketPatchRequestV1` from the ClickHouse Cloud API.
7284#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7285pub struct AwsBackupBucketPatchRequestV1 {
7286    #[serde(rename = "bucketPath", default)]
7287    pub bucket_path: String,
7288    #[serde(rename = "bucketProvider", default)]
7289    pub bucket_provider: AwsBackupBucketPatchRequestV1Bucketprovider,
7290    #[serde(rename = "iamRoleArn", default)]
7291    pub iam_role_arn: String,
7292    #[serde(rename = "iamRoleSessionName", skip_serializing_if = "Option::is_none", default)]
7293    pub iam_role_session_name: Option<String>,
7294}
7295
7296/// `AwsBackupBucketPostRequestV1` from the ClickHouse Cloud API.
7297#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7298pub struct AwsBackupBucketPostRequestV1 {
7299    #[serde(rename = "bucketPath", default)]
7300    pub bucket_path: String,
7301    #[serde(rename = "bucketProvider", default)]
7302    pub bucket_provider: AwsBackupBucketPostRequestV1Bucketprovider,
7303    #[serde(rename = "iamRoleArn", default)]
7304    pub iam_role_arn: String,
7305    #[serde(rename = "iamRoleSessionName", default)]
7306    pub iam_role_session_name: String,
7307}
7308
7309/// `AwsBackupBucketProperties` from the ClickHouse Cloud API.
7310#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7311pub struct AwsBackupBucketProperties {
7312    #[serde(rename = "bucketPath", default)]
7313    pub bucket_path: String,
7314    #[serde(rename = "bucketProvider", default)]
7315    pub bucket_provider: AwsBackupBucketPropertiesBucketprovider,
7316    #[serde(rename = "iamRoleArn", default)]
7317    pub iam_role_arn: String,
7318    #[serde(rename = "iamRoleSessionName", default)]
7319    pub iam_role_session_name: String,
7320}
7321
7322/// `AzureBackupBucket` from the ClickHouse Cloud API.
7323#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7324pub struct AzureBackupBucket {
7325    #[serde(rename = "bucketProvider", default)]
7326    pub bucket_provider: AzureBackupBucketBucketprovider,
7327    #[serde(rename = "containerName", default)]
7328    pub container_name: String,
7329    #[serde(default)]
7330    pub id: uuid::Uuid,
7331}
7332
7333/// `AzureBackupBucketPatchRequestV1` from the ClickHouse Cloud API.
7334#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7335pub struct AzureBackupBucketPatchRequestV1 {
7336    #[serde(rename = "bucketProvider", default)]
7337    pub bucket_provider: AzureBackupBucketPatchRequestV1Bucketprovider,
7338    #[serde(rename = "connectionString", default)]
7339    pub connection_string: String,
7340    #[serde(rename = "containerName", default)]
7341    pub container_name: String,
7342}
7343
7344/// `AzureBackupBucketPostRequestV1` from the ClickHouse Cloud API.
7345#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7346pub struct AzureBackupBucketPostRequestV1 {
7347    #[serde(rename = "bucketProvider", default)]
7348    pub bucket_provider: AzureBackupBucketPostRequestV1Bucketprovider,
7349    #[serde(rename = "connectionString", default)]
7350    pub connection_string: String,
7351    #[serde(rename = "containerName", default)]
7352    pub container_name: String,
7353}
7354
7355/// `AzureBackupBucketProperties` from the ClickHouse Cloud API.
7356#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7357pub struct AzureBackupBucketProperties {
7358    #[serde(rename = "bucketProvider", default)]
7359    pub bucket_provider: AzureBackupBucketPropertiesBucketprovider,
7360    #[serde(rename = "containerName", default)]
7361    pub container_name: String,
7362}
7363
7364/// `AzureEventHub` from the ClickHouse Cloud API.
7365#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7366pub struct AzureEventHub {
7367    #[serde(rename = "connectionString", default)]
7368    pub connection_string: String,
7369}
7370
7371/// `Backup` from the ClickHouse Cloud API.
7372#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7373pub struct Backup {
7374    #[serde(rename = "backupName", default)]
7375    pub backup_name: String,
7376    #[serde(default)]
7377    pub bucket: serde_json::Value,
7378    #[serde(rename = "durationInSeconds", default)]
7379    pub duration_in_seconds: f64,
7380    #[serde(rename = "finishedAt", default)]
7381    pub finished_at: chrono::DateTime<chrono::Utc>,
7382    #[serde(default)]
7383    pub id: uuid::Uuid,
7384    #[serde(rename = "serviceId", default)]
7385    pub service_id: String,
7386    #[serde(rename = "sizeInBytes", default)]
7387    pub size_in_bytes: f64,
7388    #[serde(rename = "startedAt", default)]
7389    pub started_at: chrono::DateTime<chrono::Utc>,
7390    #[serde(default)]
7391    pub status: BackupStatus,
7392    #[serde(default)]
7393    pub r#type: BackupType,
7394}
7395
7396/// `BackupConfiguration` from the ClickHouse Cloud API.
7397#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7398pub struct BackupConfiguration {
7399    #[serde(rename = "backupPeriodInHours", default)]
7400    pub backup_period_in_hours: f64,
7401    #[serde(rename = "backupRetentionPeriodInHours", default)]
7402    pub backup_retention_period_in_hours: f64,
7403    #[serde(rename = "backupStartTime", default)]
7404    pub backup_start_time: String,
7405}
7406
7407/// `BackupConfigurationPatchRequest` from the ClickHouse Cloud API.
7408#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7409pub struct BackupConfigurationPatchRequest {
7410    #[serde(rename = "backupPeriodInHours", skip_serializing_if = "Option::is_none", default)]
7411    pub backup_period_in_hours: Option<f64>,
7412    #[serde(rename = "backupRetentionPeriodInHours", skip_serializing_if = "Option::is_none", default)]
7413    pub backup_retention_period_in_hours: Option<f64>,
7414    #[serde(rename = "backupStartTime", skip_serializing_if = "Option::is_none", default)]
7415    pub backup_start_time: Option<String>,
7416}
7417
7418/// `BasePostgresService` from the ClickHouse Cloud API.
7419#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7420pub struct BasePostgresService {
7421    #[serde(rename = "haType", default)]
7422    pub ha_type: PgHaType,
7423    #[serde(default)]
7424    pub name: PgNameProperty,
7425    #[serde(rename = "postgresVersion", default)]
7426    pub postgres_version: PgVersion,
7427    #[serde(default)]
7428    pub provider: PgProvider,
7429    #[serde(default)]
7430    pub region: PgRegion,
7431    #[serde(default)]
7432    pub size: PgSize,
7433    #[serde(rename = "storageSize", default)]
7434    pub storage_size: PgStorageSize,
7435    #[serde(default)]
7436    pub tags: PgTags,
7437}
7438
7439/// `ByocConfig` from the ClickHouse Cloud API.
7440#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7441pub struct ByocConfig {
7442    #[serde(rename = "accountName", default)]
7443    pub account_name: String,
7444    #[serde(rename = "cloudProvider", default)]
7445    pub cloud_provider: ByocConfigCloudprovider,
7446    #[serde(rename = "displayName", default)]
7447    pub display_name: String,
7448    #[serde(default)]
7449    pub id: String,
7450    #[serde(rename = "regionId", default)]
7451    pub region_id: ByocConfigRegionid,
7452    #[serde(default)]
7453    pub state: ByocConfigState,
7454}
7455
7456/// `ByocInfrastructurePatchRequest` from the ClickHouse Cloud API.
7457#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7458pub struct ByocInfrastructurePatchRequest {
7459    #[serde(rename = "displayName", skip_serializing_if = "Option::is_none", default)]
7460    pub display_name: Option<String>,
7461}
7462
7463/// `ByocInfrastructurePostRequest` from the ClickHouse Cloud API.
7464#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7465pub struct ByocInfrastructurePostRequest {
7466    #[serde(rename = "accountId", default)]
7467    pub account_id: String,
7468    #[serde(rename = "availabilityZoneSuffixes", default)]
7469    pub availability_zone_suffixes: Vec<String>,
7470    #[serde(rename = "displayName", default)]
7471    pub display_name: String,
7472    #[serde(rename = "regionId", default)]
7473    pub region_id: ByocInfrastructurePostRequestRegionid,
7474    #[serde(rename = "vpcCidrRange", default)]
7475    pub vpc_cidr_range: String,
7476}
7477
7478/// `ClickPipe` from the ClickHouse Cloud API.
7479#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7480pub struct ClickPipe {
7481    #[serde(rename = "createdAt", default)]
7482    pub created_at: chrono::DateTime<chrono::Utc>,
7483    #[serde(default)]
7484    pub destination: ClickPipeDestination,
7485    #[serde(rename = "fieldMappings", default)]
7486    pub field_mappings: Vec<ClickPipeFieldMapping>,
7487    #[serde(default)]
7488    pub id: uuid::Uuid,
7489    #[serde(default)]
7490    pub name: String,
7491    #[serde(default)]
7492    pub scaling: ClickPipeScaling,
7493    #[serde(rename = "serviceId", default)]
7494    pub service_id: uuid::Uuid,
7495    #[serde(default)]
7496    pub settings: ClickPipeSettings,
7497    #[serde(default)]
7498    pub source: ClickPipeSource,
7499    #[serde(default)]
7500    pub state: ClickPipeState,
7501    #[serde(rename = "updatedAt", default)]
7502    pub updated_at: chrono::DateTime<chrono::Utc>,
7503}
7504
7505/// `ClickPipeBigQueryPipeSettings` from the ClickHouse Cloud API.
7506#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7507pub struct ClickPipeBigQueryPipeSettings {
7508    #[serde(rename = "allowNullableColumns", default)]
7509    pub allow_nullable_columns: bool,
7510    #[serde(rename = "initialLoadParallelism", default)]
7511    pub initial_load_parallelism: f64,
7512    #[serde(rename = "replicationMode", default)]
7513    pub replication_mode: ClickPipeBigQueryPipeSettingsReplicationmode,
7514    #[serde(rename = "snapshotNumRowsPerPartition", default)]
7515    pub snapshot_num_rows_per_partition: f64,
7516    #[serde(rename = "snapshotNumberOfParallelTables", default)]
7517    pub snapshot_number_of_parallel_tables: f64,
7518}
7519
7520/// `ClickPipeBigQueryPipeTableMapping` from the ClickHouse Cloud API.
7521#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7522pub struct ClickPipeBigQueryPipeTableMapping {
7523    #[serde(rename = "excludedColumns", default)]
7524    pub excluded_columns: Vec<String>,
7525    #[serde(rename = "sortingKeys", default)]
7526    pub sorting_keys: Vec<String>,
7527    #[serde(rename = "sourceDatasetName", default)]
7528    pub source_dataset_name: String,
7529    #[serde(rename = "sourceTable", default)]
7530    pub source_table: String,
7531    #[serde(rename = "tableEngine", default)]
7532    pub table_engine: ClickPipeBigQueryPipeTableMappingTableengine,
7533    #[serde(rename = "targetTable", default)]
7534    pub target_table: String,
7535    #[serde(rename = "useCustomSortingKey", default)]
7536    pub use_custom_sorting_key: bool,
7537}
7538
7539/// `ClickPipeBigQuerySource` from the ClickHouse Cloud API.
7540#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7541pub struct ClickPipeBigQuerySource {
7542    #[serde(default)]
7543    pub settings: ClickPipeBigQueryPipeSettings,
7544    #[serde(rename = "snapshotStagingPath", default)]
7545    pub snapshot_staging_path: String,
7546    #[serde(rename = "tableMappings", default)]
7547    pub table_mappings: Vec<ClickPipeBigQueryPipeTableMapping>,
7548}
7549
7550/// `ClickPipeDestination` from the ClickHouse Cloud API.
7551#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7552pub struct ClickPipeDestination {
7553    #[serde(default)]
7554    pub columns: Vec<ClickPipeDestinationColumn>,
7555    #[serde(default)]
7556    pub database: String,
7557    #[serde(rename = "managedTable", default)]
7558    pub managed_table: bool,
7559    #[serde(default)]
7560    pub table: String,
7561    #[serde(rename = "tableDefinition", default)]
7562    pub table_definition: ClickPipeDestinationTableDefinition,
7563}
7564
7565/// `ClickPipeDestinationColumn` from the ClickHouse Cloud API.
7566#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7567pub struct ClickPipeDestinationColumn {
7568    #[serde(default)]
7569    pub name: String,
7570    #[serde(default)]
7571    pub r#type: String,
7572}
7573
7574/// `ClickPipeDestinationTableDefinition` from the ClickHouse Cloud API.
7575#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7576pub struct ClickPipeDestinationTableDefinition {
7577    #[serde(default)]
7578    pub engine: ClickPipeDestinationTableEngine,
7579    // API rejects empty strings / empty arrays for these keys. Spec has no
7580    // `required` array so the description-heuristic treats them as required;
7581    // skip at serialize time when unset instead of modeling as Option<T>.
7582    #[serde(rename = "partitionBy", skip_serializing_if = "String::is_empty", default)]
7583    pub partition_by: String,
7584    #[serde(rename = "primaryKey", skip_serializing_if = "String::is_empty", default)]
7585    pub primary_key: String,
7586    #[serde(rename = "sortingKey", skip_serializing_if = "Vec::is_empty", default)]
7587    pub sorting_key: Vec<String>,
7588}
7589
7590/// `ClickPipeDestinationTableEngine` from the ClickHouse Cloud API.
7591#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7592pub struct ClickPipeDestinationTableEngine {
7593    // columnIds only valid for SummingMergeTree. Skip when empty to avoid API
7594    // rejection for MergeTree/ReplacingMergeTree/Null engines. Spec has no
7595    // `required` array so the heuristic treats this as required; API rejects
7596    // empty values despite that.
7597    #[serde(rename = "columnIds", skip_serializing_if = "Vec::is_empty", default)]
7598    pub column_ids: Vec<String>,
7599    #[serde(default)]
7600    pub r#type: ClickPipeDestinationTableEngineType,
7601    #[serde(rename = "versionColumnId", skip_serializing_if = "Option::is_none", default)]
7602    pub version_column_id: Option<String>,
7603}
7604
7605/// `ClickPipeFieldMapping` from the ClickHouse Cloud API.
7606#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7607pub struct ClickPipeFieldMapping {
7608    #[serde(rename = "destinationField", default)]
7609    pub destination_field: String,
7610    #[serde(rename = "sourceField", default)]
7611    pub source_field: String,
7612}
7613
7614/// `ClickPipeKafkaOffset` from the ClickHouse Cloud API.
7615#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7616pub struct ClickPipeKafkaOffset {
7617    #[serde(default)]
7618    pub strategy: ClickPipeKafkaOffsetStrategy,
7619    #[serde(skip_serializing_if = "Option::is_none", default)]
7620    pub timestamp: Option<String>,
7621}
7622
7623/// `ClickPipeKafkaSchemaRegistry` from the ClickHouse Cloud API.
7624#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7625pub struct ClickPipeKafkaSchemaRegistry {
7626    #[serde(default)]
7627    pub authentication: ClickPipeKafkaSchemaRegistryAuthentication,
7628    #[serde(rename = "caCertificate", skip_serializing_if = "Option::is_none", default)]
7629    pub ca_certificate: Option<String>,
7630    #[serde(default)]
7631    pub url: String,
7632}
7633
7634/// `ClickPipeKafkaSchemaRegistryCredentials` from the ClickHouse Cloud API.
7635#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7636pub struct ClickPipeKafkaSchemaRegistryCredentials {
7637    #[serde(default)]
7638    pub password: String,
7639    #[serde(default)]
7640    pub username: String,
7641}
7642
7643/// `ClickPipeKafkaSource` from the ClickHouse Cloud API.
7644#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7645pub struct ClickPipeKafkaSource {
7646    #[serde(default)]
7647    pub authentication: ClickPipeKafkaSourceAuthentication,
7648    #[serde(default)]
7649    pub brokers: String,
7650    #[serde(rename = "caCertificate", skip_serializing_if = "Option::is_none", default)]
7651    pub ca_certificate: Option<String>,
7652    #[serde(rename = "consumerGroup", skip_serializing_if = "Option::is_none", default)]
7653    pub consumer_group: Option<String>,
7654    #[serde(default)]
7655    pub format: ClickPipeKafkaSourceFormat,
7656    #[serde(rename = "iamRole", skip_serializing_if = "Option::is_none", default)]
7657    pub iam_role: Option<String>,
7658    #[serde(skip_serializing_if = "Option::is_none", default)]
7659    pub offset: Option<ClickPipeKafkaOffset>,
7660    #[serde(rename = "reversePrivateEndpointIds", default)]
7661    pub reverse_private_endpoint_ids: Vec<String>,
7662    #[serde(rename = "schemaRegistry", skip_serializing_if = "Option::is_none", default)]
7663    pub schema_registry: Option<ClickPipeKafkaSchemaRegistry>,
7664    #[serde(default)]
7665    pub topics: String,
7666    #[serde(default)]
7667    pub r#type: ClickPipeKafkaSourceType,
7668}
7669
7670/// `ClickPipeKinesisSource` from the ClickHouse Cloud API.
7671#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7672pub struct ClickPipeKinesisSource {
7673    #[serde(default)]
7674    pub authentication: ClickPipeKinesisSourceAuthentication,
7675    #[serde(default)]
7676    pub format: ClickPipeKinesisSourceFormat,
7677    #[serde(rename = "iamRole", skip_serializing_if = "Option::is_none", default)]
7678    pub iam_role: Option<String>,
7679    #[serde(rename = "iteratorType", default)]
7680    pub iterator_type: ClickPipeKinesisSourceIteratortype,
7681    #[serde(default)]
7682    pub region: String,
7683    #[serde(rename = "streamName", default)]
7684    pub stream_name: String,
7685    #[serde(skip_serializing_if = "Option::is_none", default)]
7686    pub timestamp: Option<i64>,
7687    #[serde(rename = "useEnhancedFanOut", skip_serializing_if = "Option::is_none", default)]
7688    pub use_enhanced_fan_out: Option<bool>,
7689}
7690
7691/// `ClickPipeMongoDBPipeSettings` from the ClickHouse Cloud API.
7692#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7693pub struct ClickPipeMongoDBPipeSettings {
7694    #[serde(rename = "deleteOnMerge", skip_serializing_if = "Option::is_none", default)]
7695    pub delete_on_merge: Option<bool>,
7696    #[serde(rename = "pullBatchSize", skip_serializing_if = "Option::is_none", default)]
7697    pub pull_batch_size: Option<i64>,
7698    #[serde(rename = "replicationMode")]
7699    pub replication_mode: ClickPipeMongoDBPipeSettingsReplicationmode,
7700    #[serde(rename = "snapshotNumRowsPerPartition", skip_serializing_if = "Option::is_none", default)]
7701    pub snapshot_num_rows_per_partition: Option<i64>,
7702    #[serde(rename = "snapshotNumberOfParallelTables", skip_serializing_if = "Option::is_none", default)]
7703    pub snapshot_number_of_parallel_tables: Option<i64>,
7704    #[serde(rename = "syncIntervalSeconds", skip_serializing_if = "Option::is_none", default)]
7705    pub sync_interval_seconds: Option<i64>,
7706    #[serde(rename = "useJsonNativeFormat", skip_serializing_if = "Option::is_none", default)]
7707    pub use_json_native_format: Option<bool>,
7708}
7709
7710/// `ClickPipeMongoDBPipeTableMapping` from the ClickHouse Cloud API.
7711#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7712pub struct ClickPipeMongoDBPipeTableMapping {
7713    #[serde(rename = "sourceCollection")]
7714    pub source_collection: String,
7715    #[serde(rename = "sourceDatabaseName")]
7716    pub source_database_name: String,
7717    #[serde(rename = "tableEngine", skip_serializing_if = "Option::is_none", default)]
7718    pub table_engine: Option<ClickPipeMongoDBPipeTableMappingTableengine>,
7719    #[serde(rename = "targetTable")]
7720    pub target_table: String,
7721}
7722
7723/// `ClickPipeMongoDBSource` from the ClickHouse Cloud API.
7724#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7725pub struct ClickPipeMongoDBSource {
7726    #[serde(rename = "caCertificate", skip_serializing_if = "Option::is_none", default)]
7727    pub ca_certificate: Option<String>,
7728    #[serde(rename = "disableTls", skip_serializing_if = "Option::is_none", default)]
7729    pub disable_tls: Option<bool>,
7730    #[serde(rename = "readPreference")]
7731    pub read_preference: ClickPipeMongoDBSourceReadpreference,
7732    #[serde(skip_serializing_if = "Option::is_none", default)]
7733    pub settings: Option<ClickPipeMongoDBPipeSettings>,
7734    #[serde(rename = "tableMappings", skip_serializing_if = "Option::is_none", default)]
7735    pub table_mappings: Option<Vec<ClickPipeMongoDBPipeTableMapping>>,
7736    #[serde(rename = "tlsHost", skip_serializing_if = "Option::is_none", default)]
7737    pub tls_host: Option<String>,
7738    pub uri: String,
7739}
7740
7741/// `ClickPipeMutateBigQuerySource` from the ClickHouse Cloud API.
7742#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7743pub struct ClickPipeMutateBigQuerySource {
7744    #[serde(default)]
7745    pub credentials: ServiceAccount,
7746    #[serde(default)]
7747    pub settings: ClickPipeBigQueryPipeSettings,
7748    #[serde(rename = "snapshotStagingPath", default)]
7749    pub snapshot_staging_path: String,
7750    #[serde(rename = "tableMappings", default)]
7751    pub table_mappings: Vec<ClickPipeBigQueryPipeTableMapping>,
7752}
7753
7754/// `ClickPipeMutateDestination` from the ClickHouse Cloud API.
7755#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7756pub struct ClickPipeMutateDestination {
7757    // The spec describes `columns`, `managedTable`, `table`, and
7758    // `tableDefinition` as "Required field for all pipe types except database
7759    // pipes (Postgres, MySQL, BigQuery)" — all four must be omitted entirely
7760    // for database pipes. Modeled with skip-when-empty / Option so callers can
7761    // build a single destination type and database pipes serialize cleanly.
7762    #[serde(skip_serializing_if = "Vec::is_empty", default)]
7763    pub columns: Vec<ClickPipeDestinationColumn>,
7764    #[serde(default)]
7765    pub database: String,
7766    #[serde(rename = "managedTable", skip_serializing_if = "Option::is_none", default)]
7767    pub managed_table: Option<bool>,
7768    #[serde(skip_serializing_if = "Vec::is_empty", default)]
7769    pub roles: Vec<String>,
7770    #[serde(skip_serializing_if = "Option::is_none", default)]
7771    pub table: Option<String>,
7772    #[serde(rename = "tableDefinition", skip_serializing_if = "Option::is_none", default)]
7773    pub table_definition: Option<ClickPipeDestinationTableDefinition>,
7774}
7775
7776/// `ClickPipeMutateKafkaSchemaRegistry` from the ClickHouse Cloud API.
7777#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7778pub struct ClickPipeMutateKafkaSchemaRegistry {
7779    #[serde(default)]
7780    pub authentication: ClickPipeMutateKafkaSchemaRegistryAuthentication,
7781    #[serde(rename = "caCertificate", skip_serializing_if = "Option::is_none", default)]
7782    pub ca_certificate: Option<String>,
7783    #[serde(default)]
7784    pub credentials: ClickPipeKafkaSchemaRegistryCredentials,
7785    #[serde(default)]
7786    pub url: String,
7787}
7788
7789/// `ClickPipeMutateMongoDBSource` from the ClickHouse Cloud API.
7790#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7791pub struct ClickPipeMutateMongoDBSource {
7792    #[serde(rename = "caCertificate", skip_serializing_if = "Option::is_none", default)]
7793    pub ca_certificate: Option<String>,
7794    #[serde(skip_serializing_if = "Option::is_none", default)]
7795    pub credentials: Option<PLAIN>,
7796    #[serde(rename = "disableTls", skip_serializing_if = "Option::is_none", default)]
7797    pub disable_tls: Option<bool>,
7798    #[serde(rename = "readPreference")]
7799    pub read_preference: ClickPipeMutateMongoDBSourceReadpreference,
7800    pub settings: ClickPipeMongoDBPipeSettings,
7801    #[serde(rename = "tableMappings")]
7802    pub table_mappings: Vec<ClickPipeMongoDBPipeTableMapping>,
7803    #[serde(rename = "tlsHost", skip_serializing_if = "Option::is_none", default)]
7804    pub tls_host: Option<String>,
7805    pub uri: String,
7806}
7807
7808/// `ClickPipeMutateMySQLSource` from the ClickHouse Cloud API.
7809#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7810pub struct ClickPipeMutateMySQLSource {
7811    #[serde(skip_serializing_if = "Option::is_none", default)]
7812    pub authentication: Option<ClickPipeMutateMySQLSourceAuthentication>,
7813    #[serde(rename = "caCertificate", skip_serializing_if = "Option::is_none", default)]
7814    pub ca_certificate: Option<String>,
7815    #[serde(skip_serializing_if = "Option::is_none", default)]
7816    pub credentials: Option<PLAIN>,
7817    #[serde(rename = "disableTls", skip_serializing_if = "Option::is_none", default)]
7818    pub disable_tls: Option<bool>,
7819    pub host: String,
7820    #[serde(rename = "iamRole", skip_serializing_if = "Option::is_none", default)]
7821    pub iam_role: Option<String>,
7822    pub port: i64,
7823    pub settings: ClickPipeMySQLPipeSettings,
7824    #[serde(rename = "skipCertVerification", skip_serializing_if = "Option::is_none", default)]
7825    pub skip_cert_verification: Option<bool>,
7826    #[serde(rename = "tableMappings")]
7827    pub table_mappings: Vec<ClickPipeMySQLPipeTableMapping>,
7828    #[serde(rename = "tlsHost", skip_serializing_if = "Option::is_none", default)]
7829    pub tls_host: Option<String>,
7830    #[serde(skip_serializing_if = "Option::is_none", default)]
7831    pub r#type: Option<ClickPipeMutateMySQLSourceType>,
7832}
7833
7834/// `ClickPipeMutatePostgresSource` from the ClickHouse Cloud API.
7835#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7836pub struct ClickPipeMutatePostgresSource {
7837    #[serde(default)]
7838    pub authentication: ClickPipeMutatePostgresSourceAuthentication,
7839    // caCertificate is `undefinedOr(isValidPEMCertificate)` server-side — sending
7840    // `""` (the bare-String default) fails PEM validation. Modeled as
7841    // `Option<String>` so callers can omit it.
7842    #[serde(rename = "caCertificate", skip_serializing_if = "Option::is_none", default)]
7843    pub ca_certificate: Option<String>,
7844    #[serde(default)]
7845    pub credentials: PLAIN,
7846    #[serde(default)]
7847    pub database: String,
7848    #[serde(default)]
7849    pub host: String,
7850    // iamRole only applies to RDS-style Postgres + IAM_ROLE auth. Spec marks
7851    // it required but the server rejects "" for Basic-auth Postgres. Modeled
7852    // as Option<String> so callers can omit it; same pattern as ca_certificate.
7853    #[serde(rename = "iamRole", skip_serializing_if = "Option::is_none", default)]
7854    pub iam_role: Option<String>,
7855    #[serde(default)]
7856    pub port: i64,
7857    #[serde(default)]
7858    pub settings: ClickPipePostgresPipeSettings,
7859    #[serde(rename = "tableMappings", default)]
7860    pub table_mappings: Vec<ClickPipePostgresPipeTableMapping>,
7861    // tlsHost is only set when the broker cert SAN doesn't match `host`.
7862    // Optional in practice; server rejects "" with PEM-style validation.
7863    #[serde(rename = "tlsHost", skip_serializing_if = "Option::is_none", default)]
7864    pub tls_host: Option<String>,
7865    #[serde(skip_serializing_if = "Option::is_none", default)]
7866    pub r#type: Option<ClickPipeMutatePostgresSourceType>,
7867}
7868
7869/// `ClickPipeMySQLPipeSettings` from the ClickHouse Cloud API.
7870#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7871pub struct ClickPipeMySQLPipeSettings {
7872    #[serde(rename = "allowNullableColumns", skip_serializing_if = "Option::is_none", default)]
7873    pub allow_nullable_columns: Option<bool>,
7874    #[serde(rename = "deleteOnMerge", skip_serializing_if = "Option::is_none", default)]
7875    pub delete_on_merge: Option<bool>,
7876    #[serde(rename = "initialLoadParallelism", skip_serializing_if = "Option::is_none", default)]
7877    pub initial_load_parallelism: Option<i64>,
7878    #[serde(rename = "pullBatchSize", skip_serializing_if = "Option::is_none", default)]
7879    pub pull_batch_size: Option<i64>,
7880    #[serde(rename = "replicationMechanism", skip_serializing_if = "Option::is_none", default)]
7881    pub replication_mechanism: Option<ClickPipeMySQLPipeSettingsReplicationmechanism>,
7882    #[serde(rename = "replicationMode")]
7883    pub replication_mode: ClickPipeMySQLPipeSettingsReplicationmode,
7884    #[serde(rename = "snapshotNumRowsPerPartition", skip_serializing_if = "Option::is_none", default)]
7885    pub snapshot_num_rows_per_partition: Option<i64>,
7886    #[serde(rename = "snapshotNumberOfParallelTables", skip_serializing_if = "Option::is_none", default)]
7887    pub snapshot_number_of_parallel_tables: Option<i64>,
7888    #[serde(rename = "syncIntervalSeconds", skip_serializing_if = "Option::is_none", default)]
7889    pub sync_interval_seconds: Option<i64>,
7890    #[serde(rename = "useCompression", skip_serializing_if = "Option::is_none", default)]
7891    pub use_compression: Option<bool>,
7892}
7893
7894/// `ClickPipeMySQLPipeTableMapping` from the ClickHouse Cloud API.
7895#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7896pub struct ClickPipeMySQLPipeTableMapping {
7897    #[serde(rename = "excludedColumns", skip_serializing_if = "Option::is_none", default)]
7898    pub excluded_columns: Option<Vec<String>>,
7899    #[serde(rename = "partitionKey", skip_serializing_if = "Option::is_none", default)]
7900    pub partition_key: Option<String>,
7901    #[serde(rename = "sortingKeys", skip_serializing_if = "Option::is_none", default)]
7902    pub sorting_keys: Option<Vec<String>>,
7903    #[serde(rename = "sourceSchemaName")]
7904    pub source_schema_name: String,
7905    #[serde(rename = "sourceTable")]
7906    pub source_table: String,
7907    #[serde(rename = "tableEngine", skip_serializing_if = "Option::is_none", default)]
7908    pub table_engine: Option<ClickPipeMySQLPipeTableMappingTableengine>,
7909    #[serde(rename = "targetTable")]
7910    pub target_table: String,
7911    #[serde(rename = "useCustomSortingKey", skip_serializing_if = "Option::is_none", default)]
7912    pub use_custom_sorting_key: Option<bool>,
7913}
7914
7915/// `ClickPipeMySQLSource` from the ClickHouse Cloud API.
7916#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7917pub struct ClickPipeMySQLSource {
7918    #[serde(skip_serializing_if = "Option::is_none", default)]
7919    pub authentication: Option<ClickPipeMySQLSourceAuthentication>,
7920    #[serde(rename = "caCertificate", skip_serializing_if = "Option::is_none", default)]
7921    pub ca_certificate: Option<String>,
7922    #[serde(rename = "disableTls", skip_serializing_if = "Option::is_none", default)]
7923    pub disable_tls: Option<bool>,
7924    pub host: String,
7925    #[serde(rename = "iamRole", skip_serializing_if = "Option::is_none", default)]
7926    pub iam_role: Option<String>,
7927    pub port: i64,
7928    pub settings: ClickPipeMySQLPipeSettings,
7929    #[serde(rename = "skipCertVerification", skip_serializing_if = "Option::is_none", default)]
7930    pub skip_cert_verification: Option<bool>,
7931    #[serde(rename = "tableMappings")]
7932    pub table_mappings: Vec<ClickPipeMySQLPipeTableMapping>,
7933    #[serde(rename = "tlsHost", skip_serializing_if = "Option::is_none", default)]
7934    pub tls_host: Option<String>,
7935    #[serde(skip_serializing_if = "Option::is_none", default)]
7936    pub r#type: Option<ClickPipeMySQLSourceType>,
7937}
7938
7939/// `ClickPipeObjectStorageSource` from the ClickHouse Cloud API.
7940#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7941pub struct ClickPipeObjectStorageSource {
7942    #[serde(skip_serializing_if = "Option::is_none", default)]
7943    pub authentication: Option<ClickPipeObjectStorageSourceAuthentication>,
7944    #[serde(rename = "azureContainerName", skip_serializing_if = "Option::is_none", default)]
7945    pub azure_container_name: Option<String>,
7946    #[serde(skip_serializing_if = "Option::is_none", default)]
7947    pub compression: Option<ClickPipeObjectStorageSourceCompression>,
7948    #[serde(rename = "connectionString", skip_serializing_if = "Option::is_none", default)]
7949    pub connection_string: Option<String>,
7950    #[serde(skip_serializing_if = "Option::is_none", default)]
7951    pub delimiter: Option<String>,
7952    #[serde(default)]
7953    pub format: ClickPipeObjectStorageSourceFormat,
7954    #[serde(rename = "iamRole", skip_serializing_if = "Option::is_none", default)]
7955    pub iam_role: Option<String>,
7956    #[serde(rename = "isContinuous", skip_serializing_if = "Option::is_none", default)]
7957    pub is_continuous: Option<bool>,
7958    #[serde(skip_serializing_if = "Option::is_none", default)]
7959    pub path: Option<String>,
7960    #[serde(rename = "queueUrl", skip_serializing_if = "Option::is_none", default)]
7961    pub queue_url: Option<String>,
7962    #[serde(default)]
7963    pub r#type: ClickPipeObjectStorageSourceType,
7964    #[serde(default)]
7965    pub url: String,
7966}
7967
7968/// `ClickPipePatchDestination` from the ClickHouse Cloud API.
7969#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7970pub struct ClickPipePatchDestination {
7971    #[serde(default)]
7972    pub columns: Vec<ClickPipeDestinationColumn>,
7973}
7974
7975/// `ClickPipePatchKafkaSource` from the ClickHouse Cloud API.
7976#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7977pub struct ClickPipePatchKafkaSource {
7978    #[serde(skip_serializing_if = "Option::is_none", default)]
7979    pub authentication: Option<ClickPipePatchKafkaSourceAuthentication>,
7980    #[serde(rename = "caCertificate", skip_serializing_if = "Option::is_none", default)]
7981    pub ca_certificate: Option<String>,
7982    #[serde(default)]
7983    pub credentials: serde_json::Value,
7984    #[serde(rename = "iamRole", skip_serializing_if = "Option::is_none", default)]
7985    pub iam_role: Option<String>,
7986    #[serde(rename = "reversePrivateEndpointIds", default)]
7987    pub reverse_private_endpoint_ids: Vec<String>,
7988}
7989
7990/// `ClickPipePatchKinesisSource` from the ClickHouse Cloud API.
7991#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
7992pub struct ClickPipePatchKinesisSource {
7993    #[serde(rename = "accessKey", skip_serializing_if = "Option::is_none", default)]
7994    pub access_key: Option<MskIamUser>,
7995    #[serde(skip_serializing_if = "Option::is_none", default)]
7996    pub authentication: Option<ClickPipePatchKinesisSourceAuthentication>,
7997    #[serde(rename = "iamRole", skip_serializing_if = "Option::is_none", default)]
7998    pub iam_role: Option<String>,
7999}
8000
8001/// `ClickPipePatchMongoDBPipeRemoveTableMapping` from the ClickHouse Cloud API.
8002#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8003pub struct ClickPipePatchMongoDBPipeRemoveTableMapping {
8004    #[serde(rename = "sourceCollection")]
8005    pub source_collection: Option<String>,
8006    #[serde(rename = "sourceDatabaseName")]
8007    pub source_database_name: Option<String>,
8008    #[serde(rename = "tableEngine", skip_serializing_if = "Option::is_none", default)]
8009    pub table_engine: Option<ClickPipePatchMongoDBPipeRemoveTableMappingTableengine>,
8010    #[serde(rename = "targetTable")]
8011    pub target_table: Option<String>,
8012}
8013
8014/// `ClickPipePatchMongoDBPipeSettings` from the ClickHouse Cloud API.
8015#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8016pub struct ClickPipePatchMongoDBPipeSettings {
8017    #[serde(rename = "pullBatchSize", skip_serializing_if = "Option::is_none", default)]
8018    pub pull_batch_size: Option<i64>,
8019    #[serde(rename = "syncIntervalSeconds", skip_serializing_if = "Option::is_none", default)]
8020    pub sync_interval_seconds: Option<i64>,
8021}
8022
8023/// `ClickPipePatchMongoDBSource` from the ClickHouse Cloud API.
8024#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8025pub struct ClickPipePatchMongoDBSource {
8026    #[serde(rename = "caCertificate", skip_serializing_if = "Option::is_none", default)]
8027    pub ca_certificate: Option<String>,
8028    #[serde(skip_serializing_if = "Option::is_none", default)]
8029    pub credentials: Option<PLAIN>,
8030    #[serde(rename = "disableTls", skip_serializing_if = "Option::is_none", default)]
8031    pub disable_tls: Option<bool>,
8032    #[serde(rename = "readPreference", skip_serializing_if = "Option::is_none", default)]
8033    pub read_preference: Option<ClickPipePatchMongoDBSourceReadpreference>,
8034    #[serde(skip_serializing_if = "Option::is_none", default)]
8035    pub settings: Option<ClickPipePatchMongoDBPipeSettings>,
8036    #[serde(rename = "tableMappingsToAdd", skip_serializing_if = "Option::is_none", default)]
8037    pub table_mappings_to_add: Option<Vec<ClickPipeMongoDBPipeTableMapping>>,
8038    #[serde(rename = "tableMappingsToRemove", skip_serializing_if = "Option::is_none", default)]
8039    pub table_mappings_to_remove: Option<Vec<ClickPipePatchMongoDBPipeRemoveTableMapping>>,
8040    #[serde(rename = "tlsHost", skip_serializing_if = "Option::is_none", default)]
8041    pub tls_host: Option<String>,
8042    pub uri: Option<String>,
8043}
8044
8045/// `ClickPipePatchMySQLPipeRemoveTableMapping` from the ClickHouse Cloud API.
8046#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8047pub struct ClickPipePatchMySQLPipeRemoveTableMapping {
8048    #[serde(rename = "partitionKey", skip_serializing_if = "Option::is_none", default)]
8049    pub partition_key: Option<String>,
8050    #[serde(rename = "sourceSchemaName")]
8051    pub source_schema_name: Option<String>,
8052    #[serde(rename = "sourceTable")]
8053    pub source_table: Option<String>,
8054    #[serde(rename = "tableEngine", skip_serializing_if = "Option::is_none", default)]
8055    pub table_engine: Option<ClickPipePatchMySQLPipeRemoveTableMappingTableengine>,
8056    #[serde(rename = "targetTable")]
8057    pub target_table: Option<String>,
8058}
8059
8060/// `ClickPipePatchMySQLPipeSettings` from the ClickHouse Cloud API.
8061#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8062pub struct ClickPipePatchMySQLPipeSettings {
8063    #[serde(rename = "pullBatchSize", skip_serializing_if = "Option::is_none", default)]
8064    pub pull_batch_size: Option<i64>,
8065    #[serde(rename = "syncIntervalSeconds", skip_serializing_if = "Option::is_none", default)]
8066    pub sync_interval_seconds: Option<i64>,
8067    #[serde(rename = "useCompression", skip_serializing_if = "Option::is_none", default)]
8068    pub use_compression: Option<bool>,
8069}
8070
8071/// `ClickPipePatchMySQLSource` from the ClickHouse Cloud API.
8072#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8073pub struct ClickPipePatchMySQLSource {
8074    #[serde(skip_serializing_if = "Option::is_none", default)]
8075    pub authentication: Option<ClickPipePatchMySQLSourceAuthentication>,
8076    #[serde(rename = "caCertificate", skip_serializing_if = "Option::is_none", default)]
8077    pub ca_certificate: Option<String>,
8078    #[serde(skip_serializing_if = "Option::is_none", default)]
8079    pub credentials: Option<PLAIN>,
8080    #[serde(rename = "disableTls", skip_serializing_if = "Option::is_none", default)]
8081    pub disable_tls: Option<bool>,
8082    pub host: Option<String>,
8083    #[serde(rename = "iamRole", skip_serializing_if = "Option::is_none", default)]
8084    pub iam_role: Option<String>,
8085    pub port: Option<i64>,
8086    #[serde(skip_serializing_if = "Option::is_none", default)]
8087    pub settings: Option<ClickPipePatchMySQLPipeSettings>,
8088    #[serde(rename = "skipCertVerification", skip_serializing_if = "Option::is_none", default)]
8089    pub skip_cert_verification: Option<bool>,
8090    #[serde(rename = "tableMappingsToAdd", skip_serializing_if = "Option::is_none", default)]
8091    pub table_mappings_to_add: Option<Vec<ClickPipeMySQLPipeTableMapping>>,
8092    #[serde(rename = "tableMappingsToRemove", skip_serializing_if = "Option::is_none", default)]
8093    pub table_mappings_to_remove: Option<Vec<ClickPipePatchMySQLPipeRemoveTableMapping>>,
8094    #[serde(rename = "tlsHost", skip_serializing_if = "Option::is_none", default)]
8095    pub tls_host: Option<String>,
8096}
8097
8098/// `ClickPipePatchObjectStorageSource` from the ClickHouse Cloud API.
8099#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8100pub struct ClickPipePatchObjectStorageSource {
8101    #[serde(rename = "accessKey", skip_serializing_if = "Option::is_none", default)]
8102    pub access_key: Option<MskIamUser>,
8103    #[serde(skip_serializing_if = "Option::is_none", default)]
8104    pub authentication: Option<ClickPipePatchObjectStorageSourceAuthentication>,
8105    #[serde(rename = "azureContainerName", skip_serializing_if = "Option::is_none", default)]
8106    pub azure_container_name: Option<String>,
8107    #[serde(rename = "connectionString", skip_serializing_if = "Option::is_none", default)]
8108    pub connection_string: Option<String>,
8109    #[serde(rename = "iamRole", skip_serializing_if = "Option::is_none", default)]
8110    pub iam_role: Option<String>,
8111    #[serde(skip_serializing_if = "Option::is_none", default)]
8112    pub path: Option<String>,
8113    #[serde(rename = "serviceAccountKey", skip_serializing_if = "Option::is_none", default)]
8114    pub service_account_key: Option<String>,
8115}
8116
8117/// `ClickPipePatchPostgresPipeRemoveTableMapping` from the ClickHouse Cloud API.
8118#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8119pub struct ClickPipePatchPostgresPipeRemoveTableMapping {
8120    #[serde(rename = "partitionKey", skip_serializing_if = "Option::is_none", default)]
8121    pub partition_key: Option<String>,
8122    #[serde(rename = "sourceSchemaName", skip_serializing_if = "Option::is_none", default)]
8123    pub source_schema_name: Option<String>,
8124    #[serde(rename = "sourceTable", skip_serializing_if = "Option::is_none", default)]
8125    pub source_table: Option<String>,
8126    #[serde(rename = "tableEngine", skip_serializing_if = "Option::is_none", default)]
8127    pub table_engine: Option<ClickPipePatchPostgresPipeRemoveTableMappingTableengine>,
8128    #[serde(rename = "targetTable", skip_serializing_if = "Option::is_none", default)]
8129    pub target_table: Option<String>,
8130}
8131
8132/// `ClickPipePatchPostgresPipeSettings` from the ClickHouse Cloud API.
8133#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8134pub struct ClickPipePatchPostgresPipeSettings {
8135    #[serde(rename = "pullBatchSize", skip_serializing_if = "Option::is_none", default)]
8136    pub pull_batch_size: Option<i64>,
8137    #[serde(rename = "syncIntervalSeconds", skip_serializing_if = "Option::is_none", default)]
8138    pub sync_interval_seconds: Option<i64>,
8139}
8140
8141/// `ClickPipePatchPostgresSource` from the ClickHouse Cloud API.
8142#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8143pub struct ClickPipePatchPostgresSource {
8144    #[serde(rename = "caCertificate", skip_serializing_if = "Option::is_none", default)]
8145    pub ca_certificate: Option<String>,
8146    #[serde(default)]
8147    pub credentials: PLAIN,
8148    #[serde(skip_serializing_if = "Option::is_none", default)]
8149    pub database: Option<String>,
8150    #[serde(skip_serializing_if = "Option::is_none", default)]
8151    pub host: Option<String>,
8152    #[serde(skip_serializing_if = "Option::is_none", default)]
8153    pub port: Option<i64>,
8154    #[serde(default)]
8155    pub settings: ClickPipePatchPostgresPipeSettings,
8156    #[serde(rename = "tableMappingsToAdd", default)]
8157    pub table_mappings_to_add: Vec<ClickPipePostgresPipeTableMapping>,
8158    #[serde(rename = "tableMappingsToRemove", default)]
8159    pub table_mappings_to_remove: Vec<ClickPipePatchPostgresPipeRemoveTableMapping>,
8160    #[serde(rename = "tlsHost", skip_serializing_if = "Option::is_none", default)]
8161    pub tls_host: Option<String>,
8162}
8163
8164/// `ClickPipePatchRequest` from the ClickHouse Cloud API.
8165#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8166pub struct ClickPipePatchRequest {
8167    #[serde(skip_serializing_if = "Option::is_none", default)]
8168    pub destination: Option<ClickPipePatchDestination>,
8169    #[serde(rename = "fieldMappings", skip_serializing_if = "Option::is_none", default)]
8170    pub field_mappings: Option<Vec<ClickPipeFieldMapping>>,
8171    #[serde(skip_serializing_if = "Option::is_none", default)]
8172    pub name: Option<String>,
8173    #[serde(skip_serializing_if = "Option::is_none", default)]
8174    pub settings: Option<ClickPipeSettings>,
8175    #[serde(skip_serializing_if = "Option::is_none", default)]
8176    pub source: Option<ClickPipePatchSource>,
8177}
8178
8179/// `ClickPipePatchSource` from the ClickHouse Cloud API.
8180#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8181pub struct ClickPipePatchSource {
8182    #[serde(skip_serializing_if = "Option::is_none", default)]
8183    pub kafka: Option<ClickPipePatchKafkaSource>,
8184    #[serde(skip_serializing_if = "Option::is_none", default)]
8185    pub kinesis: Option<ClickPipePatchKinesisSource>,
8186    #[serde(skip_serializing_if = "Option::is_none", default)]
8187    pub mongodb: Option<ClickPipePatchMongoDBSource>,
8188    #[serde(skip_serializing_if = "Option::is_none", default)]
8189    pub mysql: Option<ClickPipePatchMySQLSource>,
8190    #[serde(rename = "objectStorage", skip_serializing_if = "Option::is_none", default)]
8191    pub object_storage: Option<ClickPipePatchObjectStorageSource>,
8192    #[serde(skip_serializing_if = "Option::is_none", default)]
8193    pub postgres: Option<ClickPipePatchPostgresSource>,
8194    #[serde(rename = "validateSamples", default)]
8195    pub validate_samples: bool,
8196}
8197
8198/// `ClickPipePostKafkaSource` from the ClickHouse Cloud API.
8199#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8200pub struct ClickPipePostKafkaSource {
8201    #[serde(default)]
8202    pub authentication: ClickPipePostKafkaSourceAuthentication,
8203    #[serde(default)]
8204    pub brokers: String,
8205    #[serde(rename = "caCertificate", skip_serializing_if = "Option::is_none", default)]
8206    pub ca_certificate: Option<String>,
8207    #[serde(rename = "consumerGroup", skip_serializing_if = "Option::is_none", default)]
8208    pub consumer_group: Option<String>,
8209    #[serde(default)]
8210    pub credentials: serde_json::Value,
8211    #[serde(default)]
8212    pub format: ClickPipePostKafkaSourceFormat,
8213    #[serde(rename = "iamRole", skip_serializing_if = "Option::is_none", default)]
8214    pub iam_role: Option<String>,
8215    #[serde(skip_serializing_if = "Option::is_none", default)]
8216    pub offset: Option<ClickPipeKafkaOffset>,
8217    #[serde(rename = "reversePrivateEndpointIds", default)]
8218    pub reverse_private_endpoint_ids: Vec<String>,
8219    #[serde(rename = "schemaRegistry", skip_serializing_if = "Option::is_none", default)]
8220    pub schema_registry: Option<ClickPipeMutateKafkaSchemaRegistry>,
8221    #[serde(default)]
8222    pub topics: String,
8223    #[serde(default)]
8224    pub r#type: ClickPipePostKafkaSourceType,
8225}
8226
8227/// `ClickPipePostKinesisSource` from the ClickHouse Cloud API.
8228#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8229pub struct ClickPipePostKinesisSource {
8230    #[serde(rename = "accessKey", skip_serializing_if = "Option::is_none", default)]
8231    pub access_key: Option<MskIamUser>,
8232    #[serde(default)]
8233    pub authentication: ClickPipePostKinesisSourceAuthentication,
8234    #[serde(default)]
8235    pub format: ClickPipePostKinesisSourceFormat,
8236    #[serde(rename = "iamRole", skip_serializing_if = "Option::is_none", default)]
8237    pub iam_role: Option<String>,
8238    #[serde(rename = "iteratorType", default)]
8239    pub iterator_type: ClickPipePostKinesisSourceIteratortype,
8240    #[serde(default)]
8241    pub region: String,
8242    #[serde(rename = "streamName", default)]
8243    pub stream_name: String,
8244    #[serde(skip_serializing_if = "Option::is_none", default)]
8245    pub timestamp: Option<i64>,
8246    #[serde(rename = "useEnhancedFanOut", skip_serializing_if = "Option::is_none", default)]
8247    pub use_enhanced_fan_out: Option<bool>,
8248}
8249
8250/// `ClickPipePostObjectStorageSource` from the ClickHouse Cloud API.
8251#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8252pub struct ClickPipePostObjectStorageSource {
8253    #[serde(rename = "accessKey", skip_serializing_if = "Option::is_none", default)]
8254    pub access_key: Option<MskIamUser>,
8255    #[serde(skip_serializing_if = "Option::is_none", default)]
8256    pub authentication: Option<ClickPipePostObjectStorageSourceAuthentication>,
8257    #[serde(rename = "azureContainerName", skip_serializing_if = "Option::is_none", default)]
8258    pub azure_container_name: Option<String>,
8259    #[serde(skip_serializing_if = "Option::is_none", default)]
8260    pub compression: Option<ClickPipePostObjectStorageSourceCompression>,
8261    #[serde(rename = "connectionString", skip_serializing_if = "Option::is_none", default)]
8262    pub connection_string: Option<String>,
8263    #[serde(skip_serializing_if = "Option::is_none", default)]
8264    pub delimiter: Option<String>,
8265    #[serde(default)]
8266    pub format: ClickPipePostObjectStorageSourceFormat,
8267    #[serde(rename = "iamRole", skip_serializing_if = "Option::is_none", default)]
8268    pub iam_role: Option<String>,
8269    #[serde(rename = "isContinuous", skip_serializing_if = "Option::is_none", default)]
8270    pub is_continuous: Option<bool>,
8271    #[serde(skip_serializing_if = "Option::is_none", default)]
8272    pub path: Option<String>,
8273    #[serde(rename = "queueUrl", skip_serializing_if = "Option::is_none", default)]
8274    pub queue_url: Option<String>,
8275    #[serde(rename = "serviceAccountKey", skip_serializing_if = "Option::is_none", default)]
8276    pub service_account_key: Option<String>,
8277    #[serde(default)]
8278    pub r#type: ClickPipePostObjectStorageSourceType,
8279    #[serde(default)]
8280    pub url: String,
8281}
8282
8283/// `ClickPipePostRequest` from the ClickHouse Cloud API.
8284#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8285pub struct ClickPipePostRequest {
8286    #[serde(default)]
8287    pub destination: ClickPipeMutateDestination,
8288    // Empty arrays rejected by some API paths and never useful on create —
8289    // skip when empty. Non-Option to match the spec description heuristic.
8290    #[serde(rename = "fieldMappings", skip_serializing_if = "Vec::is_empty", default)]
8291    pub field_mappings: Vec<ClickPipeFieldMapping>,
8292    #[serde(default)]
8293    pub name: String,
8294    // scaling block default-serializes as {replicas: 0, ...} which the API
8295    // rejects ("replicas: Not between 1 and 40"). Modeled as Option so the
8296    // whole block is omitted when the caller doesn't set it.
8297    #[serde(skip_serializing_if = "Option::is_none", default)]
8298    pub scaling: Option<ClickPipeScaling>,
8299    // settings default-serializes as `{}` which the API also rejects.
8300    #[serde(skip_serializing_if = "Option::is_none", default)]
8301    pub settings: Option<ClickPipeSettings>,
8302    #[serde(default)]
8303    pub source: ClickPipePostSource,
8304}
8305
8306/// `ClickPipePostSource` from the ClickHouse Cloud API.
8307#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8308pub struct ClickPipePostSource {
8309    #[serde(skip_serializing_if = "Option::is_none", default)]
8310    pub bigquery: Option<ClickPipeMutateBigQuerySource>,
8311    #[serde(skip_serializing_if = "Option::is_none", default)]
8312    pub kafka: Option<ClickPipePostKafkaSource>,
8313    #[serde(skip_serializing_if = "Option::is_none", default)]
8314    pub kinesis: Option<ClickPipePostKinesisSource>,
8315    #[serde(skip_serializing_if = "Option::is_none", default)]
8316    pub mongodb: Option<ClickPipeMutateMongoDBSource>,
8317    #[serde(skip_serializing_if = "Option::is_none", default)]
8318    pub mysql: Option<ClickPipeMutateMySQLSource>,
8319    #[serde(rename = "objectStorage", skip_serializing_if = "Option::is_none", default)]
8320    pub object_storage: Option<ClickPipePostObjectStorageSource>,
8321    #[serde(skip_serializing_if = "Option::is_none", default)]
8322    pub postgres: Option<ClickPipeMutatePostgresSource>,
8323    #[serde(rename = "validateSamples", default)]
8324    pub validate_samples: bool,
8325}
8326
8327/// `ClickPipePostgresPipeSettings` from the ClickHouse Cloud API.
8328#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8329pub struct ClickPipePostgresPipeSettings {
8330    #[serde(rename = "allowNullableColumns", default)]
8331    pub allow_nullable_columns: bool,
8332    #[serde(rename = "deleteOnMerge", default)]
8333    pub delete_on_merge: bool,
8334    #[serde(rename = "enableFailoverSlots", default)]
8335    pub enable_failover_slots: bool,
8336    #[serde(rename = "initialLoadParallelism", skip_serializing_if = "Option::is_none", default)]
8337    pub initial_load_parallelism: Option<i64>,
8338    #[serde(rename = "publicationName", skip_serializing_if = "Option::is_none", default)]
8339    pub publication_name: Option<String>,
8340    #[serde(rename = "pullBatchSize", skip_serializing_if = "Option::is_none", default)]
8341    pub pull_batch_size: Option<i64>,
8342    #[serde(rename = "replicationMode", default)]
8343    pub replication_mode: ClickPipePostgresPipeSettingsReplicationmode,
8344    #[serde(rename = "replicationSlotName", skip_serializing_if = "Option::is_none", default)]
8345    pub replication_slot_name: Option<String>,
8346    #[serde(rename = "snapshotNumRowsPerPartition", skip_serializing_if = "Option::is_none", default)]
8347    pub snapshot_num_rows_per_partition: Option<i64>,
8348    #[serde(rename = "snapshotNumberOfParallelTables", skip_serializing_if = "Option::is_none", default)]
8349    pub snapshot_number_of_parallel_tables: Option<i64>,
8350    #[serde(rename = "syncIntervalSeconds", skip_serializing_if = "Option::is_none", default)]
8351    pub sync_interval_seconds: Option<i64>,
8352}
8353
8354/// `ClickPipePostgresPipeTableMapping` from the ClickHouse Cloud API.
8355#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8356pub struct ClickPipePostgresPipeTableMapping {
8357    #[serde(rename = "excludedColumns", default)]
8358    pub excluded_columns: Vec<String>,
8359    #[serde(rename = "partitionKey", default)]
8360    pub partition_key: String,
8361    #[serde(rename = "sortingKeys", default)]
8362    pub sorting_keys: Vec<String>,
8363    #[serde(rename = "sourceSchemaName", default)]
8364    pub source_schema_name: String,
8365    #[serde(rename = "sourceTable", default)]
8366    pub source_table: String,
8367    #[serde(rename = "tableEngine", default)]
8368    pub table_engine: ClickPipePostgresPipeTableMappingTableengine,
8369    #[serde(rename = "targetTable", default)]
8370    pub target_table: String,
8371    #[serde(rename = "useCustomSortingKey", default)]
8372    pub use_custom_sorting_key: bool,
8373}
8374
8375/// `ClickPipePostgresSource` from the ClickHouse Cloud API.
8376#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8377pub struct ClickPipePostgresSource {
8378    #[serde(default)]
8379    pub authentication: ClickPipePostgresSourceAuthentication,
8380    #[serde(rename = "caCertificate", default)]
8381    pub ca_certificate: String,
8382    #[serde(default)]
8383    pub database: String,
8384    #[serde(default)]
8385    pub host: String,
8386    #[serde(rename = "iamRole", default)]
8387    pub iam_role: String,
8388    #[serde(default)]
8389    pub port: i64,
8390    #[serde(default)]
8391    pub settings: ClickPipePostgresPipeSettings,
8392    #[serde(rename = "tableMappings", default)]
8393    pub table_mappings: Vec<ClickPipePostgresPipeTableMapping>,
8394    #[serde(rename = "tlsHost", default)]
8395    pub tls_host: String,
8396    #[serde(skip_serializing_if = "Option::is_none", default)]
8397    pub r#type: Option<ClickPipePostgresSourceType>,
8398}
8399
8400/// `ClickPipeScaling` from the ClickHouse Cloud API.
8401#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8402pub struct ClickPipeScaling {
8403    #[serde(default)]
8404    pub concurrency: i64,
8405    #[serde(rename = "replicaCpuMillicores", default)]
8406    pub replica_cpu_millicores: i64,
8407    #[serde(rename = "replicaMemoryGb", default)]
8408    pub replica_memory_gb: f64,
8409    #[serde(default)]
8410    pub replicas: i64,
8411}
8412
8413/// `ClickPipeScalingPatchRequest` from the ClickHouse Cloud API.
8414#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8415pub struct ClickPipeScalingPatchRequest {
8416    #[serde(skip_serializing_if = "Option::is_none", default)]
8417    pub concurrency: Option<i64>,
8418    #[serde(rename = "replicaCpuMillicores", skip_serializing_if = "Option::is_none", default)]
8419    pub replica_cpu_millicores: Option<i64>,
8420    #[serde(rename = "replicaMemoryGb", skip_serializing_if = "Option::is_none", default)]
8421    pub replica_memory_gb: Option<f64>,
8422    #[serde(skip_serializing_if = "Option::is_none", default)]
8423    pub replicas: Option<i64>,
8424}
8425
8426/// `ClickPipeSettings` from the ClickHouse Cloud API.
8427#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8428pub struct ClickPipeSettings {
8429    #[serde(skip_serializing_if = "Option::is_none", default)]
8430    pub clickhouse_max_download_threads: Option<i64>,
8431    #[serde(skip_serializing_if = "Option::is_none", default)]
8432    pub clickhouse_max_insert_threads: Option<i64>,
8433    #[serde(skip_serializing_if = "Option::is_none", default)]
8434    pub clickhouse_max_threads: Option<i64>,
8435    #[serde(skip_serializing_if = "Option::is_none", default)]
8436    pub clickhouse_min_insert_block_size_bytes: Option<i64>,
8437    #[serde(skip_serializing_if = "Option::is_none", default)]
8438    pub clickhouse_parallel_distributed_insert_select: Option<i64>,
8439    #[serde(skip_serializing_if = "Option::is_none", default)]
8440    pub clickhouse_parallel_view_processing: Option<bool>,
8441    #[serde(skip_serializing_if = "Option::is_none", default)]
8442    pub object_storage_concurrency: Option<i64>,
8443    #[serde(skip_serializing_if = "Option::is_none", default)]
8444    pub object_storage_max_file_count: Option<i64>,
8445    #[serde(skip_serializing_if = "Option::is_none", default)]
8446    pub object_storage_max_insert_bytes: Option<i64>,
8447    #[serde(skip_serializing_if = "Option::is_none", default)]
8448    pub object_storage_polling_interval_ms: Option<i64>,
8449    #[serde(skip_serializing_if = "Option::is_none", default)]
8450    pub object_storage_use_cluster_function: Option<bool>,
8451    #[serde(skip_serializing_if = "Option::is_none", default)]
8452    pub streaming_max_insert_wait_ms: Option<i64>,
8453}
8454
8455/// `ClickPipeSettingsPutRequest` from the ClickHouse Cloud API.
8456#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8457pub struct ClickPipeSettingsPutRequest {
8458    #[serde(skip_serializing_if = "Option::is_none", default)]
8459    pub clickhouse_max_download_threads: Option<i64>,
8460    #[serde(skip_serializing_if = "Option::is_none", default)]
8461    pub clickhouse_max_insert_threads: Option<i64>,
8462    #[serde(skip_serializing_if = "Option::is_none", default)]
8463    pub clickhouse_max_threads: Option<i64>,
8464    #[serde(skip_serializing_if = "Option::is_none", default)]
8465    pub clickhouse_min_insert_block_size_bytes: Option<i64>,
8466    #[serde(skip_serializing_if = "Option::is_none", default)]
8467    pub clickhouse_parallel_distributed_insert_select: Option<i64>,
8468    #[serde(skip_serializing_if = "Option::is_none", default)]
8469    pub clickhouse_parallel_view_processing: Option<bool>,
8470    #[serde(skip_serializing_if = "Option::is_none", default)]
8471    pub object_storage_concurrency: Option<i64>,
8472    #[serde(skip_serializing_if = "Option::is_none", default)]
8473    pub object_storage_max_file_count: Option<i64>,
8474    #[serde(skip_serializing_if = "Option::is_none", default)]
8475    pub object_storage_max_insert_bytes: Option<i64>,
8476    #[serde(skip_serializing_if = "Option::is_none", default)]
8477    pub object_storage_polling_interval_ms: Option<i64>,
8478    #[serde(skip_serializing_if = "Option::is_none", default)]
8479    pub object_storage_use_cluster_function: Option<bool>,
8480    #[serde(skip_serializing_if = "Option::is_none", default)]
8481    pub streaming_max_insert_wait_ms: Option<i64>,
8482}
8483
8484/// `ClickPipeSource` from the ClickHouse Cloud API.
8485#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8486pub struct ClickPipeSource {
8487    #[serde(skip_serializing_if = "Option::is_none", default)]
8488    pub bigquery: Option<ClickPipeBigQuerySource>,
8489    #[serde(skip_serializing_if = "Option::is_none", default)]
8490    pub kafka: Option<ClickPipeKafkaSource>,
8491    #[serde(skip_serializing_if = "Option::is_none", default)]
8492    pub kinesis: Option<ClickPipeKinesisSource>,
8493    #[serde(skip_serializing_if = "Option::is_none", default)]
8494    pub mongodb: Option<ClickPipeMongoDBSource>,
8495    #[serde(skip_serializing_if = "Option::is_none", default)]
8496    pub mysql: Option<ClickPipeMySQLSource>,
8497    #[serde(rename = "objectStorage", skip_serializing_if = "Option::is_none", default)]
8498    pub object_storage: Option<ClickPipeObjectStorageSource>,
8499    #[serde(skip_serializing_if = "Option::is_none", default)]
8500    pub postgres: Option<ClickPipePostgresSource>,
8501}
8502
8503/// `ClickPipeStatePatchRequest` from the ClickHouse Cloud API.
8504#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8505pub struct ClickPipeStatePatchRequest {
8506    #[serde(skip_serializing_if = "Option::is_none", default)]
8507    pub command: Option<ClickPipeStatePatchRequestCommand>,
8508}
8509
8510/// `ClickPipesCdcScaling` from the ClickHouse Cloud API.
8511#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8512pub struct ClickPipesCdcScaling {
8513    #[serde(rename = "replicaCpuMillicores", default)]
8514    pub replica_cpu_millicores: i64,
8515    #[serde(rename = "replicaMemoryGb", default)]
8516    pub replica_memory_gb: f64,
8517}
8518
8519/// `ClickPipesCdcScalingPatchRequest` from the ClickHouse Cloud API.
8520#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8521pub struct ClickPipesCdcScalingPatchRequest {
8522    #[serde(rename = "replicaCpuMillicores", skip_serializing_if = "Option::is_none", default)]
8523    pub replica_cpu_millicores: Option<i64>,
8524    #[serde(rename = "replicaMemoryGb", skip_serializing_if = "Option::is_none", default)]
8525    pub replica_memory_gb: Option<f64>,
8526}
8527
8528/// `ClickStackAggregatedColumn` from the ClickHouse Cloud API.
8529#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8530pub struct ClickStackAggregatedColumn {
8531    #[serde(rename = "aggFn")]
8532    pub agg_fn: String,
8533    #[serde(rename = "mvColumn")]
8534    pub mv_column: String,
8535    #[serde(rename = "sourceColumn", skip_serializing_if = "Option::is_none", default)]
8536    pub source_column: Option<String>,
8537}
8538
8539/// `ClickStackAlertChannelEmail` from the ClickHouse Cloud API.
8540#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8541pub struct ClickStackAlertChannelEmail {
8542    #[serde(rename = "emailRecipients")]
8543    pub email_recipients: Vec<String>,
8544    pub r#type: ClickStackAlertChannelEmailType,
8545}
8546
8547/// `ClickStackAlertChannelWebhook` from the ClickHouse Cloud API.
8548#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8549pub struct ClickStackAlertChannelWebhook {
8550    #[serde(skip_serializing_if = "Option::is_none", default)]
8551    pub severity: Option<ClickStackAlertChannelWebhookSeverity>,
8552    #[serde(rename = "slackChannelId", skip_serializing_if = "Option::is_none", default)]
8553    pub slack_channel_id: Option<String>,
8554    pub r#type: ClickStackAlertChannelWebhookType,
8555    #[serde(rename = "webhookId")]
8556    pub webhook_id: String,
8557    #[serde(rename = "webhookService", skip_serializing_if = "Option::is_none", default)]
8558    pub webhook_service: Option<String>,
8559}
8560
8561/// `ClickStackAlertExecutionError` from the ClickHouse Cloud API.
8562#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8563pub struct ClickStackAlertExecutionError {
8564    #[serde(default)]
8565    pub message: String,
8566    #[serde(default)]
8567    pub timestamp: chrono::DateTime<chrono::Utc>,
8568    #[serde(default)]
8569    pub r#type: ClickStackAlertExecutionErrorType,
8570}
8571
8572/// `ClickStackAlertResponse` from the ClickHouse Cloud API.
8573#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8574pub struct ClickStackAlertResponse {
8575    #[serde(default)]
8576    pub channel: ClickStackAlertChannel,
8577    #[serde(rename = "createdAt", skip_serializing_if = "Option::is_none", default)]
8578    pub created_at: Option<chrono::DateTime<chrono::Utc>>,
8579    #[serde(rename = "dashboardId", skip_serializing_if = "Option::is_none", default)]
8580    pub dashboard_id: Option<String>,
8581    #[serde(rename = "executionErrors", default)]
8582    pub execution_errors: Vec<ClickStackAlertExecutionError>,
8583    #[serde(rename = "groupBy", skip_serializing_if = "Option::is_none", default)]
8584    pub group_by: Option<String>,
8585    #[serde(default)]
8586    pub id: String,
8587    #[serde(default)]
8588    pub interval: ClickStackAlertResponseInterval,
8589    #[serde(skip_serializing_if = "Option::is_none", default)]
8590    pub message: Option<String>,
8591    #[serde(skip_serializing_if = "Option::is_none", default)]
8592    pub name: Option<String>,
8593    #[serde(rename = "savedSearchId", skip_serializing_if = "Option::is_none", default)]
8594    pub saved_search_id: Option<String>,
8595    #[serde(rename = "scheduleOffsetMinutes", skip_serializing_if = "Option::is_none", default)]
8596    pub schedule_offset_minutes: Option<i64>,
8597    #[serde(rename = "scheduleStartAt", skip_serializing_if = "Option::is_none", default)]
8598    pub schedule_start_at: Option<chrono::DateTime<chrono::Utc>>,
8599    #[serde(skip_serializing_if = "Option::is_none", default)]
8600    pub silenced: Option<ClickStackAlertSilenced>,
8601    #[serde(default)]
8602    pub source: ClickStackAlertResponseSource,
8603    #[serde(default)]
8604    pub state: ClickStackAlertResponseState,
8605    #[serde(rename = "teamId", default)]
8606    pub team_id: String,
8607    #[serde(default)]
8608    pub threshold: f64,
8609    #[serde(rename = "thresholdMax", skip_serializing_if = "Option::is_none", default)]
8610    pub threshold_max: Option<f64>,
8611    #[serde(rename = "thresholdType", default)]
8612    pub threshold_type: ClickStackAlertResponseThresholdtype,
8613    #[serde(rename = "tileId", skip_serializing_if = "Option::is_none", default)]
8614    pub tile_id: Option<String>,
8615    #[serde(rename = "updatedAt", skip_serializing_if = "Option::is_none", default)]
8616    pub updated_at: Option<chrono::DateTime<chrono::Utc>>,
8617}
8618
8619/// `ClickStackAlertSilenced` from the ClickHouse Cloud API.
8620#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8621pub struct ClickStackAlertSilenced {
8622    #[serde(default)]
8623    pub at: chrono::DateTime<chrono::Utc>,
8624    #[serde(skip_serializing_if = "Option::is_none", default)]
8625    pub by: Option<String>,
8626    #[serde(default)]
8627    pub until: chrono::DateTime<chrono::Utc>,
8628}
8629
8630/// `ClickStackBarBuilderChartConfig` from the ClickHouse Cloud API.
8631#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8632pub struct ClickStackBarBuilderChartConfig {
8633    #[serde(rename = "alignDateRangeToGranularity", skip_serializing_if = "Option::is_none", default)]
8634    pub align_date_range_to_granularity: Option<bool>,
8635    #[serde(rename = "asRatio", skip_serializing_if = "Option::is_none", default)]
8636    pub as_ratio: Option<bool>,
8637    #[serde(rename = "displayType")]
8638    pub display_type: ClickStackBarBuilderChartConfigDisplaytype,
8639    #[serde(rename = "fillNulls", skip_serializing_if = "Option::is_none", default)]
8640    pub fill_nulls: Option<bool>,
8641    #[serde(rename = "groupBy", skip_serializing_if = "Option::is_none", default)]
8642    pub group_by: Option<String>,
8643    #[serde(rename = "numberFormat", skip_serializing_if = "Option::is_none", default)]
8644    pub number_format: Option<ClickStackNumberFormat>,
8645    pub select: Vec<ClickStackSelectItem>,
8646    #[serde(rename = "sourceId")]
8647    pub source_id: String,
8648}
8649
8650/// `ClickStackBarRawSqlChartConfig` from the ClickHouse Cloud API.
8651#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8652pub struct ClickStackBarRawSqlChartConfig {
8653    #[serde(rename = "alignDateRangeToGranularity", skip_serializing_if = "Option::is_none", default)]
8654    pub align_date_range_to_granularity: Option<bool>,
8655    #[serde(rename = "configType")]
8656    pub config_type: ClickStackBarRawSqlChartConfigConfigtype,
8657    #[serde(rename = "connectionId")]
8658    pub connection_id: String,
8659    #[serde(rename = "displayType")]
8660    pub display_type: ClickStackBarRawSqlChartConfigDisplaytype,
8661    #[serde(rename = "fillNulls", skip_serializing_if = "Option::is_none", default)]
8662    pub fill_nulls: Option<bool>,
8663    #[serde(rename = "numberFormat", skip_serializing_if = "Option::is_none", default)]
8664    pub number_format: Option<ClickStackNumberFormat>,
8665    #[serde(rename = "sourceId", skip_serializing_if = "Option::is_none", default)]
8666    pub source_id: Option<String>,
8667    #[serde(rename = "sqlTemplate")]
8668    pub sql_template: String,
8669}
8670
8671/// `ClickStackCreateAlertRequest` from the ClickHouse Cloud API.
8672#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8673pub struct ClickStackCreateAlertRequest {
8674    #[serde(default)]
8675    pub channel: ClickStackAlertChannel,
8676    #[serde(rename = "dashboardId", skip_serializing_if = "Option::is_none", default)]
8677    pub dashboard_id: Option<String>,
8678    #[serde(rename = "groupBy", skip_serializing_if = "Option::is_none", default)]
8679    pub group_by: Option<String>,
8680    #[serde(default)]
8681    pub interval: ClickStackCreateAlertRequestInterval,
8682    #[serde(skip_serializing_if = "Option::is_none", default)]
8683    pub message: Option<String>,
8684    #[serde(skip_serializing_if = "Option::is_none", default)]
8685    pub name: Option<String>,
8686    #[serde(rename = "savedSearchId", skip_serializing_if = "Option::is_none", default)]
8687    pub saved_search_id: Option<String>,
8688    #[serde(rename = "scheduleOffsetMinutes", skip_serializing_if = "Option::is_none", default)]
8689    pub schedule_offset_minutes: Option<i64>,
8690    #[serde(rename = "scheduleStartAt", skip_serializing_if = "Option::is_none", default)]
8691    pub schedule_start_at: Option<chrono::DateTime<chrono::Utc>>,
8692    #[serde(default)]
8693    pub source: ClickStackCreateAlertRequestSource,
8694    #[serde(default)]
8695    pub threshold: f64,
8696    #[serde(rename = "thresholdMax", skip_serializing_if = "Option::is_none", default)]
8697    pub threshold_max: Option<f64>,
8698    #[serde(rename = "thresholdType", default)]
8699    pub threshold_type: ClickStackCreateAlertRequestThresholdtype,
8700    #[serde(rename = "tileId", skip_serializing_if = "Option::is_none", default)]
8701    pub tile_id: Option<String>,
8702}
8703
8704/// `ClickStackCreateDashboardRequest` from the ClickHouse Cloud API.
8705#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8706pub struct ClickStackCreateDashboardRequest {
8707    #[serde(skip_serializing_if = "Option::is_none", default)]
8708    pub filters: Option<Vec<ClickStackFilterInput>>,
8709    pub name: String,
8710    #[serde(rename = "savedFilterValues", skip_serializing_if = "Option::is_none", default)]
8711    pub saved_filter_values: Option<Vec<ClickStackSavedFilterValue>>,
8712    #[serde(rename = "savedQuery", skip_serializing_if = "Option::is_none", default)]
8713    pub saved_query: Option<String>,
8714    #[serde(rename = "savedQueryLanguage", skip_serializing_if = "Option::is_none", default)]
8715    pub saved_query_language: Option<ClickStackCreateDashboardRequestSavedquerylanguage>,
8716    #[serde(skip_serializing_if = "Option::is_none", default)]
8717    pub tags: Option<Vec<String>>,
8718    pub tiles: Vec<ClickStackTileInput>,
8719}
8720
8721/// `ClickStackDashboardResponse` from the ClickHouse Cloud API.
8722#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8723pub struct ClickStackDashboardResponse {
8724    #[serde(default)]
8725    pub filters: Vec<ClickStackFilter>,
8726    #[serde(default)]
8727    pub id: String,
8728    #[serde(default)]
8729    pub name: String,
8730    #[serde(rename = "savedFilterValues", skip_serializing_if = "Option::is_none", default)]
8731    pub saved_filter_values: Option<Vec<ClickStackSavedFilterValue>>,
8732    #[serde(rename = "savedQuery", skip_serializing_if = "Option::is_none", default)]
8733    pub saved_query: Option<String>,
8734    #[serde(rename = "savedQueryLanguage", skip_serializing_if = "Option::is_none", default)]
8735    pub saved_query_language: Option<ClickStackDashboardResponseSavedquerylanguage>,
8736    #[serde(default)]
8737    pub tags: Vec<String>,
8738    #[serde(default)]
8739    pub tiles: Vec<ClickStackTileOutput>,
8740}
8741
8742/// `ClickStackFilter` from the ClickHouse Cloud API.
8743#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8744pub struct ClickStackFilter {
8745    pub expression: String,
8746    pub id: String,
8747    pub name: String,
8748    #[serde(rename = "sourceId")]
8749    pub source_id: String,
8750    #[serde(rename = "sourceMetricType", skip_serializing_if = "Option::is_none", default)]
8751    pub source_metric_type: Option<ClickStackFilterSourcemetrictype>,
8752    pub r#type: ClickStackFilterType,
8753    #[serde(skip_serializing_if = "Option::is_none", default)]
8754    pub r#where: Option<String>,
8755    #[serde(rename = "whereLanguage", skip_serializing_if = "Option::is_none", default)]
8756    pub where_language: Option<ClickStackFilterWherelanguage>,
8757}
8758
8759/// `ClickStackFilterInput` from the ClickHouse Cloud API.
8760#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8761pub struct ClickStackFilterInput {
8762    pub expression: String,
8763    pub name: String,
8764    #[serde(rename = "sourceId")]
8765    pub source_id: String,
8766    #[serde(rename = "sourceMetricType", skip_serializing_if = "Option::is_none", default)]
8767    pub source_metric_type: Option<ClickStackFilterInputSourcemetrictype>,
8768    pub r#type: ClickStackFilterInputType,
8769    #[serde(skip_serializing_if = "Option::is_none", default)]
8770    pub r#where: Option<String>,
8771    #[serde(rename = "whereLanguage", skip_serializing_if = "Option::is_none", default)]
8772    pub where_language: Option<ClickStackFilterInputWherelanguage>,
8773}
8774
8775/// `ClickStackFilterSettingsColumn` from the ClickHouse Cloud API.
8776#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8777pub struct ClickStackFilterSettingsColumn {
8778    pub label: String,
8779    pub name: String,
8780}
8781
8782/// `ClickStackGenericWebhook` from the ClickHouse Cloud API.
8783#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8784pub struct ClickStackGenericWebhook {
8785    #[serde(skip_serializing_if = "Option::is_none", default)]
8786    pub body: Option<String>,
8787    #[serde(rename = "createdAt")]
8788    pub created_at: chrono::DateTime<chrono::Utc>,
8789    #[serde(skip_serializing_if = "Option::is_none", default)]
8790    pub description: Option<String>,
8791    pub id: String,
8792    pub name: String,
8793    pub service: ClickStackGenericWebhookService,
8794    #[serde(rename = "updatedAt")]
8795    pub updated_at: chrono::DateTime<chrono::Utc>,
8796    #[serde(skip_serializing_if = "Option::is_none", default)]
8797    pub url: Option<String>,
8798}
8799
8800/// `ClickStackHighlightedAttributeExpression` from the ClickHouse Cloud API.
8801#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8802pub struct ClickStackHighlightedAttributeExpression {
8803    #[serde(skip_serializing_if = "Option::is_none", default)]
8804    pub alias: Option<String>,
8805    #[serde(rename = "luceneExpression", skip_serializing_if = "Option::is_none", default)]
8806    pub lucene_expression: Option<String>,
8807    #[serde(rename = "sqlExpression")]
8808    pub sql_expression: String,
8809}
8810
8811/// `ClickStackIncidentIOWebhook` from the ClickHouse Cloud API.
8812#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8813pub struct ClickStackIncidentIOWebhook {
8814    #[serde(rename = "createdAt")]
8815    pub created_at: chrono::DateTime<chrono::Utc>,
8816    #[serde(skip_serializing_if = "Option::is_none", default)]
8817    pub description: Option<String>,
8818    pub id: String,
8819    pub name: String,
8820    pub service: ClickStackIncidentIOWebhookService,
8821    #[serde(rename = "updatedAt")]
8822    pub updated_at: chrono::DateTime<chrono::Utc>,
8823    #[serde(skip_serializing_if = "Option::is_none", default)]
8824    pub url: Option<String>,
8825}
8826
8827/// `ClickStackLineBuilderChartConfig` from the ClickHouse Cloud API.
8828#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8829pub struct ClickStackLineBuilderChartConfig {
8830    #[serde(rename = "alignDateRangeToGranularity", skip_serializing_if = "Option::is_none", default)]
8831    pub align_date_range_to_granularity: Option<bool>,
8832    #[serde(rename = "asRatio", skip_serializing_if = "Option::is_none", default)]
8833    pub as_ratio: Option<bool>,
8834    #[serde(rename = "compareToPreviousPeriod", skip_serializing_if = "Option::is_none", default)]
8835    pub compare_to_previous_period: Option<bool>,
8836    #[serde(rename = "displayType")]
8837    pub display_type: ClickStackLineBuilderChartConfigDisplaytype,
8838    #[serde(rename = "fillNulls", skip_serializing_if = "Option::is_none", default)]
8839    pub fill_nulls: Option<bool>,
8840    #[serde(rename = "groupBy", skip_serializing_if = "Option::is_none", default)]
8841    pub group_by: Option<String>,
8842    #[serde(rename = "numberFormat", skip_serializing_if = "Option::is_none", default)]
8843    pub number_format: Option<ClickStackNumberFormat>,
8844    pub select: Vec<ClickStackSelectItem>,
8845    #[serde(rename = "sourceId")]
8846    pub source_id: String,
8847}
8848
8849/// `ClickStackLineRawSqlChartConfig` from the ClickHouse Cloud API.
8850#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8851pub struct ClickStackLineRawSqlChartConfig {
8852    #[serde(rename = "alignDateRangeToGranularity", skip_serializing_if = "Option::is_none", default)]
8853    pub align_date_range_to_granularity: Option<bool>,
8854    #[serde(rename = "compareToPreviousPeriod", skip_serializing_if = "Option::is_none", default)]
8855    pub compare_to_previous_period: Option<bool>,
8856    #[serde(rename = "configType")]
8857    pub config_type: ClickStackLineRawSqlChartConfigConfigtype,
8858    #[serde(rename = "connectionId")]
8859    pub connection_id: String,
8860    #[serde(rename = "displayType")]
8861    pub display_type: ClickStackLineRawSqlChartConfigDisplaytype,
8862    #[serde(rename = "fillNulls", skip_serializing_if = "Option::is_none", default)]
8863    pub fill_nulls: Option<bool>,
8864    #[serde(rename = "numberFormat", skip_serializing_if = "Option::is_none", default)]
8865    pub number_format: Option<ClickStackNumberFormat>,
8866    #[serde(rename = "sourceId", skip_serializing_if = "Option::is_none", default)]
8867    pub source_id: Option<String>,
8868    #[serde(rename = "sqlTemplate")]
8869    pub sql_template: String,
8870}
8871
8872/// `ClickStackLogSource` from the ClickHouse Cloud API.
8873#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8874pub struct ClickStackLogSource {
8875    #[serde(rename = "bodyExpression", skip_serializing_if = "Option::is_none", default)]
8876    pub body_expression: Option<String>,
8877    pub connection: String,
8878    #[serde(rename = "defaultTableSelectExpression")]
8879    pub default_table_select_expression: String,
8880    #[serde(rename = "displayedTimestampValueExpression", skip_serializing_if = "Option::is_none", default)]
8881    pub displayed_timestamp_value_expression: Option<String>,
8882    #[serde(rename = "eventAttributesExpression", skip_serializing_if = "Option::is_none", default)]
8883    pub event_attributes_expression: Option<String>,
8884    #[serde(rename = "filterSettings", skip_serializing_if = "Option::is_none", default)]
8885    pub filter_settings: Option<ClickStackSourceFilterSettings>,
8886    pub from: ClickStackSourceFrom,
8887    #[serde(rename = "highlightedRowAttributeExpressions", skip_serializing_if = "Option::is_none", default)]
8888    pub highlighted_row_attribute_expressions: Option<Vec<ClickStackHighlightedAttributeExpression>>,
8889    #[serde(rename = "highlightedTraceAttributeExpressions", skip_serializing_if = "Option::is_none", default)]
8890    pub highlighted_trace_attribute_expressions: Option<Vec<ClickStackHighlightedAttributeExpression>>,
8891    pub id: String,
8892    #[serde(rename = "implicitColumnExpression", skip_serializing_if = "Option::is_none", default)]
8893    pub implicit_column_expression: Option<String>,
8894    pub kind: ClickStackLogSourceKind,
8895    #[serde(rename = "materializedViews", skip_serializing_if = "Option::is_none", default)]
8896    pub materialized_views: Option<Vec<ClickStackMaterializedView>>,
8897    #[serde(rename = "metricSourceId", skip_serializing_if = "Option::is_none", default)]
8898    pub metric_source_id: Option<String>,
8899    pub name: String,
8900    #[serde(rename = "querySettings", skip_serializing_if = "Option::is_none", default)]
8901    pub query_settings: Option<Vec<ClickStackQuerySetting>>,
8902    #[serde(rename = "resourceAttributesExpression", skip_serializing_if = "Option::is_none", default)]
8903    pub resource_attributes_expression: Option<String>,
8904    #[serde(rename = "serviceNameExpression", skip_serializing_if = "Option::is_none", default)]
8905    pub service_name_expression: Option<String>,
8906    #[serde(rename = "severityTextExpression", skip_serializing_if = "Option::is_none", default)]
8907    pub severity_text_expression: Option<String>,
8908    #[serde(rename = "spanIdExpression", skip_serializing_if = "Option::is_none", default)]
8909    pub span_id_expression: Option<String>,
8910    #[serde(rename = "timestampValueExpression")]
8911    pub timestamp_value_expression: String,
8912    #[serde(rename = "traceIdExpression", skip_serializing_if = "Option::is_none", default)]
8913    pub trace_id_expression: Option<String>,
8914    #[serde(rename = "traceSourceId", skip_serializing_if = "Option::is_none", default)]
8915    pub trace_source_id: Option<String>,
8916}
8917
8918/// `ClickStackMarkdownChartConfig` from the ClickHouse Cloud API.
8919#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8920pub struct ClickStackMarkdownChartConfig {
8921    #[serde(rename = "displayType")]
8922    pub display_type: ClickStackMarkdownChartConfigDisplaytype,
8923    #[serde(skip_serializing_if = "Option::is_none", default)]
8924    pub markdown: Option<String>,
8925}
8926
8927/// `ClickStackMarkdownChartSeries` from the ClickHouse Cloud API.
8928#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8929pub struct ClickStackMarkdownChartSeries {
8930    pub content: String,
8931    pub r#type: ClickStackMarkdownChartSeriesType,
8932}
8933
8934/// `ClickStackMaterializedView` from the ClickHouse Cloud API.
8935#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8936pub struct ClickStackMaterializedView {
8937    #[serde(rename = "aggregatedColumns")]
8938    pub aggregated_columns: Vec<ClickStackAggregatedColumn>,
8939    #[serde(rename = "databaseName")]
8940    pub database_name: String,
8941    #[serde(rename = "dimensionColumns")]
8942    pub dimension_columns: String,
8943    #[serde(rename = "minDate", skip_serializing_if = "Option::is_none", default)]
8944    pub min_date: Option<chrono::DateTime<chrono::Utc>>,
8945    #[serde(rename = "minGranularity")]
8946    pub min_granularity: ClickStackMaterializedViewMingranularity,
8947    #[serde(rename = "tableName")]
8948    pub table_name: String,
8949    #[serde(rename = "timestampColumn")]
8950    pub timestamp_column: String,
8951}
8952
8953/// `ClickStackMetricSource` from the ClickHouse Cloud API.
8954#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8955pub struct ClickStackMetricSource {
8956    pub connection: String,
8957    pub from: ClickStackMetricSourceFrom,
8958    pub id: String,
8959    pub kind: ClickStackMetricSourceKind,
8960    #[serde(rename = "logSourceId", skip_serializing_if = "Option::is_none", default)]
8961    pub log_source_id: Option<String>,
8962    #[serde(rename = "metricTables")]
8963    pub metric_tables: ClickStackMetricTables,
8964    pub name: String,
8965    #[serde(rename = "querySettings", skip_serializing_if = "Option::is_none", default)]
8966    pub query_settings: Option<Vec<ClickStackQuerySetting>>,
8967    #[serde(rename = "resourceAttributesExpression")]
8968    pub resource_attributes_expression: String,
8969    #[serde(rename = "timestampValueExpression")]
8970    pub timestamp_value_expression: String,
8971}
8972
8973/// `ClickStackMetricSourceFrom` from the ClickHouse Cloud API.
8974#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8975pub struct ClickStackMetricSourceFrom {
8976    #[serde(rename = "databaseName")]
8977    pub database_name: String,
8978    #[serde(rename = "tableName", skip_serializing_if = "Option::is_none", default)]
8979    pub table_name: Option<String>,
8980}
8981
8982/// `ClickStackMetricTables` from the ClickHouse Cloud API.
8983#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8984pub struct ClickStackMetricTables {
8985    #[serde(rename = "exponential histogram", default)]
8986    pub exponential_histogram: String,
8987    #[serde(default)]
8988    pub gauge: String,
8989    #[serde(default)]
8990    pub histogram: String,
8991    #[serde(default)]
8992    pub sum: String,
8993    #[serde(default)]
8994    pub summary: String,
8995}
8996
8997/// `ClickStackNumberBuilderChartConfig` from the ClickHouse Cloud API.
8998#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
8999pub struct ClickStackNumberBuilderChartConfig {
9000    #[serde(rename = "displayType")]
9001    pub display_type: ClickStackNumberBuilderChartConfigDisplaytype,
9002    #[serde(rename = "numberFormat", skip_serializing_if = "Option::is_none", default)]
9003    pub number_format: Option<ClickStackNumberFormat>,
9004    pub select: Vec<ClickStackSelectItem>,
9005    #[serde(rename = "sourceId")]
9006    pub source_id: String,
9007}
9008
9009/// `ClickStackNumberChartSeries` from the ClickHouse Cloud API.
9010#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9011pub struct ClickStackNumberChartSeries {
9012    #[serde(rename = "aggFn")]
9013    pub agg_fn: ClickStackNumberChartSeriesAggfn,
9014    #[serde(skip_serializing_if = "Option::is_none", default)]
9015    pub alias: Option<String>,
9016    #[serde(skip_serializing_if = "Option::is_none", default)]
9017    pub field: Option<String>,
9018    #[serde(skip_serializing_if = "Option::is_none", default)]
9019    pub level: Option<f64>,
9020    #[serde(rename = "metricDataType", skip_serializing_if = "Option::is_none", default)]
9021    pub metric_data_type: Option<ClickStackNumberChartSeriesMetricdatatype>,
9022    #[serde(rename = "metricName", skip_serializing_if = "Option::is_none", default)]
9023    pub metric_name: Option<String>,
9024    #[serde(rename = "numberFormat", skip_serializing_if = "Option::is_none", default)]
9025    pub number_format: Option<ClickStackNumberFormat>,
9026    #[serde(rename = "sourceId")]
9027    pub source_id: String,
9028    pub r#type: ClickStackNumberChartSeriesType,
9029    pub r#where: String,
9030    #[serde(rename = "whereLanguage")]
9031    pub where_language: ClickStackNumberChartSeriesWherelanguage,
9032}
9033
9034/// `ClickStackNumberFormat` from the ClickHouse Cloud API.
9035#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9036pub struct ClickStackNumberFormat {
9037    #[serde(default)]
9038    pub average: bool,
9039    #[serde(rename = "currencySymbol", default)]
9040    pub currency_symbol: String,
9041    #[serde(rename = "decimalBytes", default)]
9042    pub decimal_bytes: bool,
9043    #[serde(default)]
9044    pub factor: f64,
9045    #[serde(default)]
9046    pub mantissa: i64,
9047    #[serde(rename = "numericUnit", default)]
9048    pub numeric_unit: ClickStackNumberFormatNumericunit,
9049    #[serde(default)]
9050    pub output: ClickStackNumberFormatOutput,
9051    #[serde(rename = "thousandSeparated", default)]
9052    pub thousand_separated: bool,
9053    #[serde(default)]
9054    pub unit: String,
9055}
9056
9057/// `ClickStackNumberRawSqlChartConfig` from the ClickHouse Cloud API.
9058#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9059pub struct ClickStackNumberRawSqlChartConfig {
9060    #[serde(rename = "configType")]
9061    pub config_type: ClickStackNumberRawSqlChartConfigConfigtype,
9062    #[serde(rename = "connectionId")]
9063    pub connection_id: String,
9064    #[serde(rename = "displayType")]
9065    pub display_type: ClickStackNumberRawSqlChartConfigDisplaytype,
9066    #[serde(rename = "numberFormat", skip_serializing_if = "Option::is_none", default)]
9067    pub number_format: Option<ClickStackNumberFormat>,
9068    #[serde(rename = "sourceId", skip_serializing_if = "Option::is_none", default)]
9069    pub source_id: Option<String>,
9070    #[serde(rename = "sqlTemplate")]
9071    pub sql_template: String,
9072}
9073
9074/// `ClickStackPagerDutyAPIWebhook` from the ClickHouse Cloud API.
9075#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9076pub struct ClickStackPagerDutyAPIWebhook {
9077    #[serde(rename = "createdAt")]
9078    pub created_at: chrono::DateTime<chrono::Utc>,
9079    #[serde(skip_serializing_if = "Option::is_none", default)]
9080    pub description: Option<String>,
9081    pub id: String,
9082    pub name: String,
9083    pub service: ClickStackPagerDutyAPIWebhookService,
9084    #[serde(rename = "updatedAt")]
9085    pub updated_at: chrono::DateTime<chrono::Utc>,
9086    #[serde(skip_serializing_if = "Option::is_none", default)]
9087    pub url: Option<String>,
9088}
9089
9090/// `ClickStackPieBuilderChartConfig` from the ClickHouse Cloud API.
9091#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9092pub struct ClickStackPieBuilderChartConfig {
9093    #[serde(rename = "displayType")]
9094    pub display_type: ClickStackPieBuilderChartConfigDisplaytype,
9095    #[serde(rename = "groupBy", skip_serializing_if = "Option::is_none", default)]
9096    pub group_by: Option<String>,
9097    #[serde(rename = "numberFormat", skip_serializing_if = "Option::is_none", default)]
9098    pub number_format: Option<ClickStackNumberFormat>,
9099    pub select: Vec<ClickStackSelectItem>,
9100    #[serde(rename = "sourceId")]
9101    pub source_id: String,
9102}
9103
9104/// `ClickStackPieRawSqlChartConfig` from the ClickHouse Cloud API.
9105#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9106pub struct ClickStackPieRawSqlChartConfig {
9107    #[serde(rename = "configType")]
9108    pub config_type: ClickStackPieRawSqlChartConfigConfigtype,
9109    #[serde(rename = "connectionId")]
9110    pub connection_id: String,
9111    #[serde(rename = "displayType")]
9112    pub display_type: ClickStackPieRawSqlChartConfigDisplaytype,
9113    #[serde(rename = "numberFormat", skip_serializing_if = "Option::is_none", default)]
9114    pub number_format: Option<ClickStackNumberFormat>,
9115    #[serde(rename = "sourceId", skip_serializing_if = "Option::is_none", default)]
9116    pub source_id: Option<String>,
9117    #[serde(rename = "sqlTemplate")]
9118    pub sql_template: String,
9119}
9120
9121/// `ClickStackQuerySetting` from the ClickHouse Cloud API.
9122#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9123pub struct ClickStackQuerySetting {
9124    pub setting: String,
9125    pub value: String,
9126}
9127
9128/// `ClickStackSavedFilterValue` from the ClickHouse Cloud API.
9129#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9130pub struct ClickStackSavedFilterValue {
9131    pub condition: String,
9132    #[serde(skip_serializing_if = "Option::is_none", default)]
9133    pub r#type: Option<ClickStackSavedFilterValueType>,
9134}
9135
9136/// `ClickStackSearchChartConfig` from the ClickHouse Cloud API.
9137#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9138pub struct ClickStackSearchChartConfig {
9139    #[serde(rename = "displayType")]
9140    pub display_type: ClickStackSearchChartConfigDisplaytype,
9141    pub select: String,
9142    #[serde(rename = "sourceId")]
9143    pub source_id: String,
9144    #[serde(skip_serializing_if = "Option::is_none", default)]
9145    pub r#where: Option<String>,
9146    #[serde(rename = "whereLanguage")]
9147    pub where_language: ClickStackSearchChartConfigWherelanguage,
9148}
9149
9150/// `ClickStackSearchChartSeries` from the ClickHouse Cloud API.
9151#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9152pub struct ClickStackSearchChartSeries {
9153    pub fields: Vec<String>,
9154    #[serde(rename = "sourceId")]
9155    pub source_id: String,
9156    pub r#type: ClickStackSearchChartSeriesType,
9157    pub r#where: String,
9158    #[serde(rename = "whereLanguage")]
9159    pub where_language: ClickStackSearchChartSeriesWherelanguage,
9160}
9161
9162/// `ClickStackSelectItem` from the ClickHouse Cloud API.
9163#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9164pub struct ClickStackSelectItem {
9165    #[serde(rename = "aggFn")]
9166    pub agg_fn: ClickStackSelectItemAggfn,
9167    #[serde(skip_serializing_if = "Option::is_none", default)]
9168    pub alias: Option<String>,
9169    #[serde(skip_serializing_if = "Option::is_none", default)]
9170    pub level: Option<ClickStackSelectItemLevel>,
9171    #[serde(rename = "metricName", skip_serializing_if = "Option::is_none", default)]
9172    pub metric_name: Option<String>,
9173    #[serde(rename = "metricType", skip_serializing_if = "Option::is_none", default)]
9174    pub metric_type: Option<ClickStackSelectItemMetrictype>,
9175    #[serde(rename = "periodAggFn", skip_serializing_if = "Option::is_none", default)]
9176    pub period_agg_fn: Option<ClickStackSelectItemPeriodaggfn>,
9177    #[serde(rename = "valueExpression", skip_serializing_if = "Option::is_none", default)]
9178    pub value_expression: Option<String>,
9179    #[serde(skip_serializing_if = "Option::is_none", default)]
9180    pub r#where: Option<String>,
9181    #[serde(rename = "whereLanguage", skip_serializing_if = "Option::is_none", default)]
9182    pub where_language: Option<ClickStackSelectItemWherelanguage>,
9183}
9184
9185/// `ClickStackSessionSource` from the ClickHouse Cloud API.
9186#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9187pub struct ClickStackSessionSource {
9188    pub connection: String,
9189    pub from: ClickStackSourceFrom,
9190    pub id: String,
9191    pub kind: ClickStackSessionSourceKind,
9192    pub name: String,
9193    #[serde(rename = "querySettings", skip_serializing_if = "Option::is_none", default)]
9194    pub query_settings: Option<Vec<ClickStackQuerySetting>>,
9195    #[serde(rename = "timestampValueExpression", skip_serializing_if = "Option::is_none", default)]
9196    pub timestamp_value_expression: Option<String>,
9197    #[serde(rename = "traceSourceId")]
9198    pub trace_source_id: String,
9199}
9200
9201/// `ClickStackSlackAPIWebhook` from the ClickHouse Cloud API.
9202#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9203pub struct ClickStackSlackAPIWebhook {
9204    #[serde(rename = "createdAt")]
9205    pub created_at: chrono::DateTime<chrono::Utc>,
9206    #[serde(skip_serializing_if = "Option::is_none", default)]
9207    pub description: Option<String>,
9208    pub id: String,
9209    pub name: String,
9210    pub service: ClickStackSlackAPIWebhookService,
9211    #[serde(rename = "updatedAt")]
9212    pub updated_at: chrono::DateTime<chrono::Utc>,
9213    #[serde(skip_serializing_if = "Option::is_none", default)]
9214    pub url: Option<String>,
9215}
9216
9217/// `ClickStackSlackWebhook` from the ClickHouse Cloud API.
9218#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9219pub struct ClickStackSlackWebhook {
9220    #[serde(rename = "createdAt")]
9221    pub created_at: chrono::DateTime<chrono::Utc>,
9222    #[serde(skip_serializing_if = "Option::is_none", default)]
9223    pub description: Option<String>,
9224    pub id: String,
9225    pub name: String,
9226    pub service: ClickStackSlackWebhookService,
9227    #[serde(rename = "updatedAt")]
9228    pub updated_at: chrono::DateTime<chrono::Utc>,
9229    #[serde(skip_serializing_if = "Option::is_none", default)]
9230    pub url: Option<String>,
9231}
9232
9233/// `ClickStackSourceFilterSettings` from the ClickHouse Cloud API.
9234#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9235pub struct ClickStackSourceFilterSettings {
9236    pub columns: Vec<ClickStackFilterSettingsColumn>,
9237    #[serde(rename = "databaseName")]
9238    pub database_name: String,
9239    #[serde(rename = "tableName")]
9240    pub table_name: String,
9241}
9242
9243/// `ClickStackSourceFrom` from the ClickHouse Cloud API.
9244#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9245pub struct ClickStackSourceFrom {
9246    #[serde(rename = "databaseName")]
9247    pub database_name: String,
9248    #[serde(rename = "tableName")]
9249    pub table_name: String,
9250}
9251
9252/// `ClickStackTableBuilderChartConfig` from the ClickHouse Cloud API.
9253#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9254pub struct ClickStackTableBuilderChartConfig {
9255    #[serde(rename = "asRatio", skip_serializing_if = "Option::is_none", default)]
9256    pub as_ratio: Option<bool>,
9257    #[serde(rename = "displayType")]
9258    pub display_type: ClickStackTableBuilderChartConfigDisplaytype,
9259    #[serde(rename = "groupBy", skip_serializing_if = "Option::is_none", default)]
9260    pub group_by: Option<String>,
9261    #[serde(skip_serializing_if = "Option::is_none", default)]
9262    pub having: Option<String>,
9263    #[serde(rename = "numberFormat", skip_serializing_if = "Option::is_none", default)]
9264    pub number_format: Option<ClickStackNumberFormat>,
9265    #[serde(rename = "orderBy", skip_serializing_if = "Option::is_none", default)]
9266    pub order_by: Option<String>,
9267    pub select: Vec<ClickStackSelectItem>,
9268    #[serde(rename = "sourceId")]
9269    pub source_id: String,
9270}
9271
9272/// `ClickStackTableChartSeries` from the ClickHouse Cloud API.
9273#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9274pub struct ClickStackTableChartSeries {
9275    #[serde(rename = "aggFn")]
9276    pub agg_fn: ClickStackTableChartSeriesAggfn,
9277    #[serde(skip_serializing_if = "Option::is_none", default)]
9278    pub alias: Option<String>,
9279    #[serde(skip_serializing_if = "Option::is_none", default)]
9280    pub field: Option<String>,
9281    #[serde(rename = "groupBy")]
9282    pub group_by: Vec<String>,
9283    #[serde(skip_serializing_if = "Option::is_none", default)]
9284    pub level: Option<f64>,
9285    #[serde(rename = "metricDataType", skip_serializing_if = "Option::is_none", default)]
9286    pub metric_data_type: Option<ClickStackTableChartSeriesMetricdatatype>,
9287    #[serde(rename = "metricName", skip_serializing_if = "Option::is_none", default)]
9288    pub metric_name: Option<String>,
9289    #[serde(rename = "numberFormat", skip_serializing_if = "Option::is_none", default)]
9290    pub number_format: Option<ClickStackNumberFormat>,
9291    #[serde(rename = "sortOrder", skip_serializing_if = "Option::is_none", default)]
9292    pub sort_order: Option<ClickStackTableChartSeriesSortorder>,
9293    #[serde(rename = "sourceId")]
9294    pub source_id: String,
9295    pub r#type: ClickStackTableChartSeriesType,
9296    pub r#where: String,
9297    #[serde(rename = "whereLanguage")]
9298    pub where_language: ClickStackTableChartSeriesWherelanguage,
9299}
9300
9301/// `ClickStackTableRawSqlChartConfig` from the ClickHouse Cloud API.
9302#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9303pub struct ClickStackTableRawSqlChartConfig {
9304    #[serde(rename = "configType")]
9305    pub config_type: ClickStackTableRawSqlChartConfigConfigtype,
9306    #[serde(rename = "connectionId")]
9307    pub connection_id: String,
9308    #[serde(rename = "displayType")]
9309    pub display_type: ClickStackTableRawSqlChartConfigDisplaytype,
9310    #[serde(rename = "numberFormat", skip_serializing_if = "Option::is_none", default)]
9311    pub number_format: Option<ClickStackNumberFormat>,
9312    #[serde(rename = "sourceId", skip_serializing_if = "Option::is_none", default)]
9313    pub source_id: Option<String>,
9314    #[serde(rename = "sqlTemplate")]
9315    pub sql_template: String,
9316}
9317
9318/// `ClickStackTileInput` from the ClickHouse Cloud API.
9319#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9320pub struct ClickStackTileInput {
9321    #[serde(rename = "asRatio", skip_serializing_if = "Option::is_none", default)]
9322    pub as_ratio: Option<bool>,
9323    #[serde(skip_serializing_if = "Option::is_none", default)]
9324    pub config: Option<ClickStackTileConfig>,
9325    pub h: i64,
9326    #[serde(skip_serializing_if = "Option::is_none", default)]
9327    pub id: Option<String>,
9328    pub name: String,
9329    #[serde(skip_serializing_if = "Option::is_none", default)]
9330    pub series: Option<Vec<ClickStackDashboardChartSeries>>,
9331    pub w: i64,
9332    pub x: i64,
9333    pub y: i64,
9334}
9335
9336/// `ClickStackTileOutput` from the ClickHouse Cloud API.
9337#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9338pub struct ClickStackTileOutput {
9339    #[serde(skip_serializing_if = "Option::is_none", default)]
9340    pub config: Option<ClickStackTileConfig>,
9341    pub h: i64,
9342    pub id: String,
9343    pub name: String,
9344    pub w: i64,
9345    pub x: i64,
9346    pub y: i64,
9347}
9348
9349/// `ClickStackTimeChartSeries` from the ClickHouse Cloud API.
9350#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9351pub struct ClickStackTimeChartSeries {
9352    #[serde(rename = "aggFn")]
9353    pub agg_fn: ClickStackTimeChartSeriesAggfn,
9354    #[serde(skip_serializing_if = "Option::is_none", default)]
9355    pub alias: Option<String>,
9356    #[serde(rename = "displayType", skip_serializing_if = "Option::is_none", default)]
9357    pub display_type: Option<ClickStackTimeChartSeriesDisplaytype>,
9358    #[serde(skip_serializing_if = "Option::is_none", default)]
9359    pub field: Option<String>,
9360    #[serde(rename = "groupBy")]
9361    pub group_by: Vec<String>,
9362    #[serde(skip_serializing_if = "Option::is_none", default)]
9363    pub level: Option<f64>,
9364    #[serde(rename = "metricDataType", skip_serializing_if = "Option::is_none", default)]
9365    pub metric_data_type: Option<ClickStackTimeChartSeriesMetricdatatype>,
9366    #[serde(rename = "metricName", skip_serializing_if = "Option::is_none", default)]
9367    pub metric_name: Option<String>,
9368    #[serde(rename = "numberFormat", skip_serializing_if = "Option::is_none", default)]
9369    pub number_format: Option<ClickStackNumberFormat>,
9370    #[serde(rename = "sourceId")]
9371    pub source_id: String,
9372    pub r#type: ClickStackTimeChartSeriesType,
9373    pub r#where: String,
9374    #[serde(rename = "whereLanguage")]
9375    pub where_language: ClickStackTimeChartSeriesWherelanguage,
9376}
9377
9378/// `ClickStackTraceSource` from the ClickHouse Cloud API.
9379#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9380pub struct ClickStackTraceSource {
9381    pub connection: String,
9382    #[serde(rename = "defaultTableSelectExpression", skip_serializing_if = "Option::is_none", default)]
9383    pub default_table_select_expression: Option<String>,
9384    #[serde(rename = "durationExpression")]
9385    pub duration_expression: String,
9386    #[serde(rename = "durationPrecision")]
9387    pub duration_precision: i64,
9388    #[serde(rename = "eventAttributesExpression", skip_serializing_if = "Option::is_none", default)]
9389    pub event_attributes_expression: Option<String>,
9390    #[serde(rename = "filterSettings", skip_serializing_if = "Option::is_none", default)]
9391    pub filter_settings: Option<ClickStackSourceFilterSettings>,
9392    pub from: ClickStackSourceFrom,
9393    #[serde(rename = "highlightedRowAttributeExpressions", skip_serializing_if = "Option::is_none", default)]
9394    pub highlighted_row_attribute_expressions: Option<Vec<ClickStackHighlightedAttributeExpression>>,
9395    #[serde(rename = "highlightedTraceAttributeExpressions", skip_serializing_if = "Option::is_none", default)]
9396    pub highlighted_trace_attribute_expressions: Option<Vec<ClickStackHighlightedAttributeExpression>>,
9397    pub id: String,
9398    #[serde(rename = "implicitColumnExpression", skip_serializing_if = "Option::is_none", default)]
9399    pub implicit_column_expression: Option<String>,
9400    pub kind: ClickStackTraceSourceKind,
9401    #[serde(rename = "logSourceId", skip_serializing_if = "Option::is_none", default)]
9402    pub log_source_id: Option<String>,
9403    #[serde(rename = "materializedViews", skip_serializing_if = "Option::is_none", default)]
9404    pub materialized_views: Option<Vec<ClickStackMaterializedView>>,
9405    #[serde(rename = "metricSourceId", skip_serializing_if = "Option::is_none", default)]
9406    pub metric_source_id: Option<String>,
9407    pub name: String,
9408    #[serde(rename = "parentSpanIdExpression")]
9409    pub parent_span_id_expression: String,
9410    #[serde(rename = "querySettings", skip_serializing_if = "Option::is_none", default)]
9411    pub query_settings: Option<Vec<ClickStackQuerySetting>>,
9412    #[serde(rename = "resourceAttributesExpression", skip_serializing_if = "Option::is_none", default)]
9413    pub resource_attributes_expression: Option<String>,
9414    #[serde(rename = "serviceNameExpression", skip_serializing_if = "Option::is_none", default)]
9415    pub service_name_expression: Option<String>,
9416    #[serde(rename = "sessionSourceId", skip_serializing_if = "Option::is_none", default)]
9417    pub session_source_id: Option<String>,
9418    #[serde(rename = "spanEventsValueExpression", skip_serializing_if = "Option::is_none", default)]
9419    pub span_events_value_expression: Option<String>,
9420    #[serde(rename = "spanIdExpression")]
9421    pub span_id_expression: String,
9422    #[serde(rename = "spanKindExpression")]
9423    pub span_kind_expression: String,
9424    #[serde(rename = "spanNameExpression")]
9425    pub span_name_expression: String,
9426    #[serde(rename = "statusCodeExpression", skip_serializing_if = "Option::is_none", default)]
9427    pub status_code_expression: Option<String>,
9428    #[serde(rename = "statusMessageExpression", skip_serializing_if = "Option::is_none", default)]
9429    pub status_message_expression: Option<String>,
9430    #[serde(rename = "timestampValueExpression")]
9431    pub timestamp_value_expression: String,
9432    #[serde(rename = "traceIdExpression")]
9433    pub trace_id_expression: String,
9434}
9435
9436/// `ClickStackUpdateAlertRequest` from the ClickHouse Cloud API.
9437#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9438pub struct ClickStackUpdateAlertRequest {
9439    #[serde(default)]
9440    pub channel: ClickStackAlertChannel,
9441    #[serde(rename = "dashboardId", skip_serializing_if = "Option::is_none", default)]
9442    pub dashboard_id: Option<String>,
9443    #[serde(rename = "groupBy", skip_serializing_if = "Option::is_none", default)]
9444    pub group_by: Option<String>,
9445    #[serde(default)]
9446    pub interval: ClickStackUpdateAlertRequestInterval,
9447    #[serde(skip_serializing_if = "Option::is_none", default)]
9448    pub message: Option<String>,
9449    #[serde(skip_serializing_if = "Option::is_none", default)]
9450    pub name: Option<String>,
9451    #[serde(rename = "savedSearchId", skip_serializing_if = "Option::is_none", default)]
9452    pub saved_search_id: Option<String>,
9453    #[serde(rename = "scheduleOffsetMinutes", skip_serializing_if = "Option::is_none", default)]
9454    pub schedule_offset_minutes: Option<i64>,
9455    #[serde(rename = "scheduleStartAt", skip_serializing_if = "Option::is_none", default)]
9456    pub schedule_start_at: Option<chrono::DateTime<chrono::Utc>>,
9457    #[serde(default)]
9458    pub source: ClickStackUpdateAlertRequestSource,
9459    #[serde(default)]
9460    pub threshold: f64,
9461    #[serde(rename = "thresholdMax", skip_serializing_if = "Option::is_none", default)]
9462    pub threshold_max: Option<f64>,
9463    #[serde(rename = "thresholdType", default)]
9464    pub threshold_type: ClickStackUpdateAlertRequestThresholdtype,
9465    #[serde(rename = "tileId", skip_serializing_if = "Option::is_none", default)]
9466    pub tile_id: Option<String>,
9467}
9468
9469/// `ClickStackUpdateDashboardRequest` from the ClickHouse Cloud API.
9470#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9471pub struct ClickStackUpdateDashboardRequest {
9472    #[serde(skip_serializing_if = "Option::is_none", default)]
9473    pub filters: Option<Vec<ClickStackFilter>>,
9474    pub name: String,
9475    #[serde(rename = "savedFilterValues", skip_serializing_if = "Option::is_none", default)]
9476    pub saved_filter_values: Option<Vec<ClickStackSavedFilterValue>>,
9477    #[serde(rename = "savedQuery", skip_serializing_if = "Option::is_none", default)]
9478    pub saved_query: Option<String>,
9479    #[serde(rename = "savedQueryLanguage", skip_serializing_if = "Option::is_none", default)]
9480    pub saved_query_language: Option<ClickStackUpdateDashboardRequestSavedquerylanguage>,
9481    #[serde(skip_serializing_if = "Option::is_none", default)]
9482    pub tags: Option<Vec<String>>,
9483    pub tiles: Vec<ClickStackTileInput>,
9484}
9485
9486/// `CreateReversePrivateEndpoint` from the ClickHouse Cloud API.
9487#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9488pub struct CreateReversePrivateEndpoint {
9489    #[serde(default)]
9490    pub description: String,
9491    #[serde(rename = "gcpServiceAttachment", skip_serializing_if = "Option::is_none", default)]
9492    pub gcp_service_attachment: Option<String>,
9493    #[serde(rename = "mskAuthentication", skip_serializing_if = "Option::is_none", default)]
9494    pub msk_authentication: Option<CreateReversePrivateEndpointMskauthentication>,
9495    #[serde(rename = "mskClusterArn", skip_serializing_if = "Option::is_none", default)]
9496    pub msk_cluster_arn: Option<String>,
9497    #[serde(default)]
9498    pub r#type: CreateReversePrivateEndpointType,
9499    #[serde(rename = "vpcEndpointServiceName", skip_serializing_if = "Option::is_none", default)]
9500    pub vpc_endpoint_service_name: Option<String>,
9501    #[serde(rename = "vpcResourceConfigurationId", skip_serializing_if = "Option::is_none", default)]
9502    pub vpc_resource_configuration_id: Option<String>,
9503    #[serde(rename = "vpcResourceShareArn", skip_serializing_if = "Option::is_none", default)]
9504    pub vpc_resource_share_arn: Option<String>,
9505}
9506
9507/// `CurrentScaling` from the ClickHouse Cloud API.
9508#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9509pub struct CurrentScaling {
9510    #[serde(rename = "activeEntryId", default)]
9511    pub active_entry_id: uuid::Uuid,
9512    #[serde(rename = "effectiveAutoscalingMode", default)]
9513    pub effective_autoscaling_mode: CurrentScalingEffectiveautoscalingmode,
9514    #[serde(rename = "effectiveIdleScaling", default)]
9515    pub effective_idle_scaling: bool,
9516    #[serde(rename = "effectiveIdleTimeoutMinutes", default)]
9517    pub effective_idle_timeout_minutes: i64,
9518    #[serde(rename = "effectiveMaxReplicaMemoryGb", default)]
9519    pub effective_max_replica_memory_gb: f64,
9520    #[serde(rename = "effectiveMaxReplicas", default)]
9521    pub effective_max_replicas: i64,
9522    #[serde(rename = "effectiveMinReplicaMemoryGb", default)]
9523    pub effective_min_replica_memory_gb: f64,
9524    #[serde(rename = "effectiveMinReplicas", default)]
9525    pub effective_min_replicas: i64,
9526}
9527
9528/// `GcpBackupBucket` from the ClickHouse Cloud API.
9529#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9530pub struct GcpBackupBucket {
9531    #[serde(rename = "accessKeyId", default)]
9532    pub access_key_id: String,
9533    #[serde(rename = "bucketPath", default)]
9534    pub bucket_path: String,
9535    #[serde(rename = "bucketProvider", default)]
9536    pub bucket_provider: GcpBackupBucketBucketprovider,
9537    #[serde(default)]
9538    pub id: uuid::Uuid,
9539}
9540
9541/// `GcpBackupBucketPatchRequestV1` from the ClickHouse Cloud API.
9542#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9543pub struct GcpBackupBucketPatchRequestV1 {
9544    #[serde(rename = "accessKeyId", default)]
9545    pub access_key_id: String,
9546    #[serde(rename = "bucketPath", default)]
9547    pub bucket_path: String,
9548    #[serde(rename = "bucketProvider", default)]
9549    pub bucket_provider: GcpBackupBucketPatchRequestV1Bucketprovider,
9550    #[serde(rename = "secretAccessKey", default)]
9551    pub secret_access_key: String,
9552}
9553
9554/// `GcpBackupBucketPostRequestV1` from the ClickHouse Cloud API.
9555#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9556pub struct GcpBackupBucketPostRequestV1 {
9557    #[serde(rename = "accessKeyId", default)]
9558    pub access_key_id: String,
9559    #[serde(rename = "bucketPath", default)]
9560    pub bucket_path: String,
9561    #[serde(rename = "bucketProvider", default)]
9562    pub bucket_provider: GcpBackupBucketPostRequestV1Bucketprovider,
9563    #[serde(rename = "secretAccessKey", default)]
9564    pub secret_access_key: String,
9565}
9566
9567/// `GcpBackupBucketProperties` from the ClickHouse Cloud API.
9568#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9569pub struct GcpBackupBucketProperties {
9570    #[serde(rename = "accessKeyId", default)]
9571    pub access_key_id: String,
9572    #[serde(rename = "bucketPath", default)]
9573    pub bucket_path: String,
9574    #[serde(rename = "bucketProvider", default)]
9575    pub bucket_provider: GcpBackupBucketPropertiesBucketprovider,
9576}
9577
9578/// `InstancePrivateEndpoint` from the ClickHouse Cloud API.
9579#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9580pub struct InstancePrivateEndpoint {
9581    #[serde(rename = "cloudProvider", default)]
9582    pub cloud_provider: InstancePrivateEndpointCloudprovider,
9583    #[serde(default)]
9584    pub description: String,
9585    #[serde(default)]
9586    pub id: String,
9587    #[serde(default)]
9588    pub region: InstancePrivateEndpointRegion,
9589}
9590
9591/// `InstancePrivateEndpointsPatch` from the ClickHouse Cloud API.
9592#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9593pub struct InstancePrivateEndpointsPatch {
9594    #[serde(default)]
9595    pub add: Vec<String>,
9596    #[serde(default)]
9597    pub remove: Vec<String>,
9598}
9599
9600/// `InstanceServiceQueryApiEndpointsPostRequest` from the ClickHouse Cloud API.
9601#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9602pub struct InstanceServiceQueryApiEndpointsPostRequest {
9603    #[serde(rename = "allowedOrigins", default)]
9604    pub allowed_origins: String,
9605    #[serde(rename = "openApiKeys", default)]
9606    pub open_api_keys: Vec<String>,
9607    #[serde(default)]
9608    pub roles: Vec<String>,
9609}
9610
9611/// `InstanceTagsPatch` from the ClickHouse Cloud API.
9612#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9613pub struct InstanceTagsPatch {
9614    #[serde(default)]
9615    pub add: Vec<ResourceTagsV1>,
9616    #[serde(default)]
9617    pub remove: Vec<ResourceTagsV1>,
9618}
9619
9620/// `Invitation` from the ClickHouse Cloud API.
9621#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9622pub struct Invitation {
9623    #[serde(rename = "assignedRoles", default)]
9624    pub assigned_roles: Vec<AssignedRole>,
9625    #[serde(rename = "createdAt", default)]
9626    pub created_at: chrono::DateTime<chrono::Utc>,
9627    #[serde(default)]
9628    pub email: String,
9629    #[serde(rename = "expireAt", default)]
9630    pub expire_at: chrono::DateTime<chrono::Utc>,
9631    #[serde(default)]
9632    pub id: uuid::Uuid,
9633    #[serde(default)]
9634    pub role: InvitationRole,
9635}
9636
9637/// `InvitationPostRequest` from the ClickHouse Cloud API.
9638#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9639pub struct InvitationPostRequest {
9640    #[serde(rename = "assignedRoleIds", default)]
9641    pub assigned_role_ids: Vec<String>,
9642    #[serde(default)]
9643    pub email: String,
9644    #[serde(default)]
9645    pub role: InvitationPostRequestRole,
9646}
9647
9648/// `IpAccessListEntry` from the ClickHouse Cloud API.
9649#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9650pub struct IpAccessListEntry {
9651    #[serde(skip_serializing_if = "Option::is_none", default)]
9652    pub description: Option<String>,
9653    #[serde(default)]
9654    pub source: String,
9655}
9656
9657/// `IpAccessListPatch` from the ClickHouse Cloud API.
9658#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9659pub struct IpAccessListPatch {
9660    #[serde(default)]
9661    pub add: Vec<IpAccessListEntry>,
9662    #[serde(default)]
9663    pub remove: Vec<IpAccessListEntry>,
9664}
9665
9666/// `Member` from the ClickHouse Cloud API.
9667#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9668pub struct Member {
9669    #[serde(rename = "assignedRoles", default)]
9670    pub assigned_roles: Vec<AssignedRole>,
9671    #[serde(default)]
9672    pub email: String,
9673    #[serde(rename = "joinedAt", default)]
9674    pub joined_at: chrono::DateTime<chrono::Utc>,
9675    #[serde(default)]
9676    pub name: String,
9677    #[serde(default)]
9678    pub role: MemberRole,
9679    #[serde(rename = "userId", default)]
9680    pub user_id: String,
9681}
9682
9683/// `MemberPatchRequest` from the ClickHouse Cloud API.
9684#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9685pub struct MemberPatchRequest {
9686    #[serde(rename = "assignedRoleIds", skip_serializing_if = "Option::is_none", default)]
9687    pub assigned_role_ids: Option<Vec<String>>,
9688    #[serde(skip_serializing_if = "Option::is_none", default)]
9689    pub role: Option<MemberPatchRequestRole>,
9690}
9691
9692/// `MskIamUser` from the ClickHouse Cloud API.
9693#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9694pub struct MskIamUser {
9695    #[serde(rename = "accessKeyId", default)]
9696    pub access_key_id: String,
9697    #[serde(rename = "secretKey", default)]
9698    pub secret_key: String,
9699}
9700
9701/// `MutualTLS` from the ClickHouse Cloud API.
9702#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9703pub struct MutualTLS {
9704    #[serde(default)]
9705    pub certificate: String,
9706    #[serde(rename = "privateKey", default)]
9707    pub private_key: String,
9708}
9709
9710/// `Organization` from the ClickHouse Cloud API.
9711#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9712pub struct Organization {
9713    #[serde(rename = "byocConfig", default)]
9714    pub byoc_config: Vec<ByocConfig>,
9715    #[serde(rename = "createdAt", default)]
9716    pub created_at: chrono::DateTime<chrono::Utc>,
9717    #[serde(rename = "enableCoreDumps", default)]
9718    pub enable_core_dumps: bool,
9719    #[serde(default)]
9720    pub id: uuid::Uuid,
9721    #[serde(default)]
9722    pub name: String,
9723    #[serde(rename = "privateEndpoints", default)]
9724    pub private_endpoints: Vec<OrganizationPrivateEndpoint>,
9725}
9726
9727/// `OrganizationCloudRegionPrivateEndpointConfig` from the ClickHouse Cloud API.
9728#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9729pub struct OrganizationCloudRegionPrivateEndpointConfig {
9730    #[serde(rename = "endpointServiceId", default)]
9731    pub endpoint_service_id: String,
9732}
9733
9734/// `OrganizationPatchPrivateEndpoint` from the ClickHouse Cloud API.
9735#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9736pub struct OrganizationPatchPrivateEndpoint {
9737    #[serde(rename = "cloudProvider", default)]
9738    pub cloud_provider: OrganizationPatchPrivateEndpointCloudprovider,
9739    #[serde(skip_serializing_if = "Option::is_none", default)]
9740    pub description: Option<String>,
9741    #[serde(default)]
9742    pub id: String,
9743    #[serde(default)]
9744    pub region: OrganizationPatchPrivateEndpointRegion,
9745}
9746
9747/// `OrganizationPatchRequest` from the ClickHouse Cloud API.
9748#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9749pub struct OrganizationPatchRequest {
9750    #[serde(rename = "enableCoreDumps", skip_serializing_if = "Option::is_none", default)]
9751    pub enable_core_dumps: Option<bool>,
9752    #[serde(skip_serializing_if = "Option::is_none", default)]
9753    pub name: Option<String>,
9754    #[serde(rename = "privateEndpoints", skip_serializing_if = "Option::is_none", default)]
9755    pub private_endpoints: Option<OrganizationPrivateEndpointsPatch>,
9756}
9757
9758/// `OrganizationPrivateEndpoint` from the ClickHouse Cloud API.
9759#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9760pub struct OrganizationPrivateEndpoint {
9761    #[serde(rename = "cloudProvider", default)]
9762    pub cloud_provider: OrganizationPrivateEndpointCloudprovider,
9763    #[serde(default)]
9764    pub description: String,
9765    #[serde(default)]
9766    pub id: String,
9767    #[serde(default)]
9768    pub region: OrganizationPrivateEndpointRegion,
9769}
9770
9771/// `OrganizationPrivateEndpointsPatch` from the ClickHouse Cloud API.
9772#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9773pub struct OrganizationPrivateEndpointsPatch {
9774    #[serde(default)]
9775    pub add: Vec<OrganizationPatchPrivateEndpoint>,
9776    #[serde(default)]
9777    pub remove: Vec<OrganizationPatchPrivateEndpoint>,
9778}
9779
9780/// `PLAIN` from the ClickHouse Cloud API.
9781#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9782pub struct PLAIN {
9783    #[serde(default)]
9784    pub password: String,
9785    #[serde(default)]
9786    pub username: String,
9787}
9788
9789/// `PostgresService` from the ClickHouse Cloud API.
9790#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9791pub struct PostgresService {
9792    #[serde(rename = "connectionString", default)]
9793    pub connection_string: String,
9794    #[serde(rename = "createdAt", default)]
9795    pub created_at: PgCreatedAtProperty,
9796    #[serde(rename = "haType", default)]
9797    pub ha_type: PgHaType,
9798    #[serde(default)]
9799    pub hostname: String,
9800    #[serde(default)]
9801    pub id: PgIdProperty,
9802    #[serde(rename = "isPrimary", default)]
9803    pub is_primary: PgIsPrimaryProperty,
9804    #[serde(default)]
9805    pub name: PgNameProperty,
9806    #[serde(default)]
9807    pub password: String,
9808    #[serde(rename = "postgresVersion", default)]
9809    pub postgres_version: PgVersion,
9810    #[serde(default)]
9811    pub provider: PgProvider,
9812    #[serde(default)]
9813    pub region: PgRegion,
9814    #[serde(default)]
9815    pub size: PgSize,
9816    #[serde(default)]
9817    pub state: PgStateProperty,
9818    #[serde(rename = "storageSize", default)]
9819    pub storage_size: PgStorageSize,
9820    #[serde(default)]
9821    pub tags: PgTags,
9822    #[serde(default)]
9823    pub username: String,
9824}
9825
9826/// `PostgresServiceListItem` from the ClickHouse Cloud API.
9827#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9828pub struct PostgresServiceListItem {
9829    #[serde(rename = "createdAt", default)]
9830    pub created_at: PgCreatedAtProperty,
9831    #[serde(rename = "haType", default)]
9832    pub ha_type: PgHaType,
9833    #[serde(default)]
9834    pub id: PgIdProperty,
9835    #[serde(rename = "isPrimary", default)]
9836    pub is_primary: PgIsPrimaryProperty,
9837    #[serde(default)]
9838    pub name: PgNameProperty,
9839    #[serde(rename = "postgresVersion", default)]
9840    pub postgres_version: PgVersion,
9841    #[serde(default)]
9842    pub provider: PgProvider,
9843    #[serde(default)]
9844    pub region: PgRegion,
9845    #[serde(default)]
9846    pub size: PgSize,
9847    #[serde(default)]
9848    pub state: PgStateProperty,
9849    #[serde(rename = "storageSize", default)]
9850    pub storage_size: PgStorageSize,
9851    #[serde(default)]
9852    pub tags: PgTags,
9853}
9854
9855/// `PostgresServicePasswordResource` from the ClickHouse Cloud API.
9856#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9857pub struct PostgresServicePasswordResource {
9858    #[serde(default)]
9859    pub password: String,
9860}
9861
9862/// `PostgresServicePatchRequest` from the ClickHouse Cloud API.
9863#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9864pub struct PostgresServicePatchRequest {
9865    #[serde(rename = "haType", skip_serializing_if = "Option::is_none", default)]
9866    pub ha_type: Option<PgHaType>,
9867    #[serde(skip_serializing_if = "Option::is_none", default)]
9868    pub name: Option<PgNameProperty>,
9869    #[serde(rename = "postgresVersion", skip_serializing_if = "Option::is_none", default)]
9870    pub postgres_version: Option<PgVersion>,
9871    #[serde(skip_serializing_if = "Option::is_none", default)]
9872    pub provider: Option<PgProvider>,
9873    #[serde(skip_serializing_if = "Option::is_none", default)]
9874    pub region: Option<PgRegion>,
9875    #[serde(skip_serializing_if = "Option::is_none", default)]
9876    pub size: Option<PgSize>,
9877    #[serde(rename = "storageSize", skip_serializing_if = "Option::is_none", default)]
9878    pub storage_size: Option<PgStorageSize>,
9879    #[serde(skip_serializing_if = "Option::is_none", default)]
9880    pub tags: Option<PgTags>,
9881}
9882
9883/// `PostgresServicePostRequest` from the ClickHouse Cloud API.
9884#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9885pub struct PostgresServicePostRequest {
9886    #[serde(rename = "haType", skip_serializing_if = "Option::is_none", default)]
9887    pub ha_type: Option<PgHaType>,
9888    pub name: PgNameProperty,
9889    #[serde(rename = "pgBouncerConfig", skip_serializing_if = "Option::is_none", default)]
9890    pub pg_bouncer_config: Option<PgBouncerConfig>,
9891    #[serde(rename = "pgConfig", skip_serializing_if = "Option::is_none", default)]
9892    pub pg_config: Option<PgConfig>,
9893    #[serde(rename = "postgresVersion", skip_serializing_if = "Option::is_none", default)]
9894    pub postgres_version: Option<PgVersion>,
9895    pub provider: PgProvider,
9896    pub region: PgRegion,
9897    pub size: PgSize,
9898    #[serde(rename = "storageSize")]
9899    pub storage_size: PgStorageSize,
9900    #[serde(skip_serializing_if = "Option::is_none", default)]
9901    pub tags: Option<PgTags>,
9902}
9903
9904/// `PostgresServiceReadReplicaRequest` from the ClickHouse Cloud API.
9905#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9906pub struct PostgresServiceReadReplicaRequest {
9907    pub name: PgNameProperty,
9908    #[serde(rename = "pgBouncerConfig", skip_serializing_if = "Option::is_none", default)]
9909    pub pg_bouncer_config: Option<PgBouncerConfig>,
9910    #[serde(rename = "pgConfig", skip_serializing_if = "Option::is_none", default)]
9911    pub pg_config: Option<PgConfig>,
9912    #[serde(skip_serializing_if = "Option::is_none", default)]
9913    pub tags: Option<PgTags>,
9914}
9915
9916/// `PostgresServiceRestoreRequest` from the ClickHouse Cloud API.
9917#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9918pub struct PostgresServiceRestoreRequest {
9919    pub name: PgNameProperty,
9920    #[serde(rename = "pgBouncerConfig", skip_serializing_if = "Option::is_none", default)]
9921    pub pg_bouncer_config: Option<PgBouncerConfig>,
9922    #[serde(rename = "pgConfig", skip_serializing_if = "Option::is_none", default)]
9923    pub pg_config: Option<PgConfig>,
9924    #[serde(rename = "restoreTarget")]
9925    pub restore_target: PgPitrRestoreTargetProperty,
9926    #[serde(skip_serializing_if = "Option::is_none", default)]
9927    pub tags: Option<PgTags>,
9928}
9929
9930/// `PostgresServiceSetPassword` from the ClickHouse Cloud API.
9931#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9932pub struct PostgresServiceSetPassword {
9933    #[serde(default)]
9934    pub password: PgPassword,
9935}
9936
9937/// `PostgresServiceSetState` from the ClickHouse Cloud API.
9938#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9939pub struct PostgresServiceSetState {
9940    #[serde(default)]
9941    pub command: PostgresServiceSetStateCommand,
9942}
9943
9944/// `PrivateEndpointConfig` from the ClickHouse Cloud API.
9945#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9946pub struct PrivateEndpointConfig {
9947    #[serde(rename = "endpointServiceId", default)]
9948    pub endpoint_service_id: String,
9949    #[serde(rename = "privateDnsHostname", default)]
9950    pub private_dns_hostname: String,
9951}
9952
9953/// `RBACPolicy` from the ClickHouse Cloud API.
9954#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9955pub struct RBACPolicy {
9956    #[serde(rename = "allowDeny", default)]
9957    pub allow_deny: RBACPolicyAllowdeny,
9958    #[serde(default)]
9959    pub id: String,
9960    #[serde(default)]
9961    pub permissions: Vec<String>,
9962    #[serde(default)]
9963    pub resources: Vec<String>,
9964    #[serde(rename = "roleId", default)]
9965    pub role_id: String,
9966    #[serde(default)]
9967    pub tags: RBACPolicyTags,
9968    #[serde(rename = "tenantId", default)]
9969    pub tenant_id: String,
9970}
9971
9972/// `RBACPolicyCreateRequest` from the ClickHouse Cloud API.
9973#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9974pub struct RBACPolicyCreateRequest {
9975    #[serde(rename = "allowDeny")]
9976    pub allow_deny: RBACPolicyCreateRequestAllowdeny,
9977    pub permissions: Vec<String>,
9978    pub resources: Vec<String>,
9979    #[serde(skip_serializing_if = "Option::is_none", default)]
9980    pub tags: Option<RBACPolicyTags>,
9981}
9982
9983/// `RBACPolicyTags` from the ClickHouse Cloud API.
9984#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9985pub struct RBACPolicyTags {
9986    #[serde(skip_serializing_if = "Option::is_none", default)]
9987    pub grants: Option<Vec<String>>,
9988    #[serde(rename = "roleV2", skip_serializing_if = "Option::is_none", default)]
9989    pub role_v2: Option<RBACPolicyTagsRolev2>,
9990}
9991
9992/// `RBACRole` from the ClickHouse Cloud API.
9993#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
9994pub struct RBACRole {
9995    #[serde(default)]
9996    pub actors: Vec<String>,
9997    #[serde(rename = "createdAt", default)]
9998    pub created_at: chrono::DateTime<chrono::Utc>,
9999    #[serde(default)]
10000    pub id: String,
10001    #[serde(default)]
10002    pub name: String,
10003    #[serde(rename = "ownerId", default)]
10004    pub owner_id: String,
10005    #[serde(default)]
10006    pub policies: Vec<RBACPolicy>,
10007    #[serde(rename = "tenantId", default)]
10008    pub tenant_id: String,
10009    #[serde(default)]
10010    pub r#type: RBACRoleType,
10011    #[serde(rename = "updatedAt", default)]
10012    pub updated_at: chrono::DateTime<chrono::Utc>,
10013}
10014
10015/// `ResourceTagsV1` from the ClickHouse Cloud API.
10016#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10017pub struct ResourceTagsV1 {
10018    pub key: String,
10019    #[serde(skip_serializing_if = "Option::is_none", default)]
10020    pub value: Option<String>,
10021}
10022
10023/// `ReversePrivateEndpoint` from the ClickHouse Cloud API.
10024#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10025pub struct ReversePrivateEndpoint {
10026    #[serde(default)]
10027    pub description: String,
10028    #[serde(rename = "dnsNames", default)]
10029    pub dns_names: Vec<String>,
10030    #[serde(rename = "endpointId", default)]
10031    pub endpoint_id: String,
10032    #[serde(rename = "gcpServiceAttachment", skip_serializing_if = "Option::is_none", default)]
10033    pub gcp_service_attachment: Option<String>,
10034    #[serde(default)]
10035    pub id: uuid::Uuid,
10036    #[serde(rename = "mskAuthentication", skip_serializing_if = "Option::is_none", default)]
10037    pub msk_authentication: Option<ReversePrivateEndpointMskauthentication>,
10038    #[serde(rename = "mskClusterArn", skip_serializing_if = "Option::is_none", default)]
10039    pub msk_cluster_arn: Option<String>,
10040    #[serde(rename = "privateDnsNames", default)]
10041    pub private_dns_names: Vec<String>,
10042    #[serde(rename = "serviceId", default)]
10043    pub service_id: uuid::Uuid,
10044    #[serde(default)]
10045    pub status: ReversePrivateEndpointStatus,
10046    #[serde(default)]
10047    pub r#type: ReversePrivateEndpointType,
10048    #[serde(rename = "vpcEndpointServiceName", skip_serializing_if = "Option::is_none", default)]
10049    pub vpc_endpoint_service_name: Option<String>,
10050    #[serde(rename = "vpcResourceConfigurationId", skip_serializing_if = "Option::is_none", default)]
10051    pub vpc_resource_configuration_id: Option<String>,
10052    #[serde(rename = "vpcResourceShareArn", skip_serializing_if = "Option::is_none", default)]
10053    pub vpc_resource_share_arn: Option<String>,
10054}
10055
10056/// `RoleCreateRequest` from the ClickHouse Cloud API.
10057#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10058pub struct RoleCreateRequest {
10059    pub actors: Vec<String>,
10060    pub name: String,
10061    pub policies: Vec<RBACPolicyCreateRequest>,
10062}
10063
10064/// `RoleUpdateRequest` from the ClickHouse Cloud API.
10065#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10066pub struct RoleUpdateRequest {
10067    #[serde(default)]
10068    pub actors: Vec<String>,
10069    #[serde(default)]
10070    pub name: String,
10071    #[serde(default)]
10072    pub policies: Vec<RBACPolicyCreateRequest>,
10073}
10074
10075/// `ScalingSchedule` from the ClickHouse Cloud API.
10076#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10077pub struct ScalingSchedule {
10078    #[serde(rename = "activeEntryId", skip_serializing_if = "Option::is_none", default)]
10079    pub active_entry_id: Option<uuid::Uuid>,
10080    #[serde(rename = "baseConfig", default)]
10081    pub base_config: ScalingScheduleBaseConfig,
10082    #[serde(default)]
10083    pub entries: Vec<ScalingScheduleEntry>,
10084}
10085
10086/// `ScalingScheduleBaseConfig` from the ClickHouse Cloud API.
10087#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10088pub struct ScalingScheduleBaseConfig {
10089    #[serde(rename = "idleScaling", default)]
10090    pub idle_scaling: bool,
10091    #[serde(rename = "idleTimeoutMinutes", default)]
10092    pub idle_timeout_minutes: i64,
10093    #[serde(rename = "maxReplicaMemoryGb", default)]
10094    pub max_replica_memory_gb: f64,
10095    #[serde(rename = "maxReplicas", default)]
10096    pub max_replicas: i64,
10097    #[serde(rename = "minReplicaMemoryGb", default)]
10098    pub min_replica_memory_gb: f64,
10099    #[serde(rename = "minReplicas", default)]
10100    pub min_replicas: i64,
10101}
10102
10103/// `ScalingScheduleEntry` from the ClickHouse Cloud API.
10104#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10105pub struct ScalingScheduleEntry {
10106    #[serde(rename = "endHourUtc", default)]
10107    pub end_hour_utc: i64,
10108    #[serde(default)]
10109    pub id: uuid::Uuid,
10110    #[serde(rename = "idleScaling", skip_serializing_if = "Option::is_none", default)]
10111    pub idle_scaling: Option<bool>,
10112    #[serde(rename = "idleTimeoutMinutes", skip_serializing_if = "Option::is_none", default)]
10113    pub idle_timeout_minutes: Option<i64>,
10114    #[serde(rename = "isActiveNow", default)]
10115    pub is_active_now: bool,
10116    #[serde(rename = "maxReplicaMemoryGb", skip_serializing_if = "Option::is_none", default)]
10117    pub max_replica_memory_gb: Option<f64>,
10118    #[serde(rename = "maxReplicas", skip_serializing_if = "Option::is_none", default)]
10119    pub max_replicas: Option<i64>,
10120    #[serde(rename = "minReplicaMemoryGb", skip_serializing_if = "Option::is_none", default)]
10121    pub min_replica_memory_gb: Option<f64>,
10122    #[serde(rename = "minReplicas", skip_serializing_if = "Option::is_none", default)]
10123    pub min_replicas: Option<i64>,
10124    #[serde(default)]
10125    pub name: String,
10126    #[serde(rename = "startHourUtc", default)]
10127    pub start_hour_utc: i64,
10128    #[serde(default)]
10129    pub weekdays: Vec<i64>,
10130}
10131
10132/// `ScalingScheduleEntryRequest` from the ClickHouse Cloud API.
10133#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10134pub struct ScalingScheduleEntryRequest {
10135    #[serde(rename = "endHourUtc", default)]
10136    pub end_hour_utc: i64,
10137    #[serde(rename = "idleScaling", skip_serializing_if = "Option::is_none", default)]
10138    pub idle_scaling: Option<bool>,
10139    #[serde(rename = "idleTimeoutMinutes", skip_serializing_if = "Option::is_none", default)]
10140    pub idle_timeout_minutes: Option<i64>,
10141    #[serde(rename = "maxReplicaMemoryGb", skip_serializing_if = "Option::is_none", default)]
10142    pub max_replica_memory_gb: Option<f64>,
10143    #[serde(rename = "maxReplicas", skip_serializing_if = "Option::is_none", default)]
10144    pub max_replicas: Option<i64>,
10145    #[serde(rename = "minReplicaMemoryGb", skip_serializing_if = "Option::is_none", default)]
10146    pub min_replica_memory_gb: Option<f64>,
10147    #[serde(rename = "minReplicas", skip_serializing_if = "Option::is_none", default)]
10148    pub min_replicas: Option<i64>,
10149    #[serde(default)]
10150    pub name: String,
10151    #[serde(rename = "startHourUtc", default)]
10152    pub start_hour_utc: i64,
10153    #[serde(default)]
10154    pub weekdays: Vec<i64>,
10155}
10156
10157/// `ScalingSchedulePostRequest` from the ClickHouse Cloud API.
10158#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10159pub struct ScalingSchedulePostRequest {
10160    #[serde(default)]
10161    pub entries: Vec<ScalingScheduleEntryRequest>,
10162}
10163
10164/// `ScimEnterpriseManager` from the ClickHouse Cloud API.
10165#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10166pub struct ScimEnterpriseManager {
10167    #[serde(rename = "$ref", default)]
10168    pub r#ref: String,
10169    #[serde(rename = "displayName", default)]
10170    pub display_name: String,
10171    #[serde(default)]
10172    pub value: String,
10173}
10174
10175/// `ScimEnterpriseUser` from the ClickHouse Cloud API.
10176#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10177pub struct ScimEnterpriseUser {
10178    #[serde(rename = "costCenter", default)]
10179    pub cost_center: String,
10180    #[serde(default)]
10181    pub department: String,
10182    #[serde(default)]
10183    pub division: String,
10184    #[serde(rename = "employeeNumber", default)]
10185    pub employee_number: String,
10186    #[serde(default)]
10187    pub manager: ScimEnterpriseManager,
10188    #[serde(default)]
10189    pub organization: String,
10190}
10191
10192/// `ScimGroup` from the ClickHouse Cloud API.
10193#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10194pub struct ScimGroup {
10195    #[serde(rename = "displayName")]
10196    pub display_name: String,
10197    #[serde(rename = "externalId", skip_serializing_if = "Option::is_none", default)]
10198    pub external_id: Option<String>,
10199    pub id: uuid::Uuid,
10200    #[serde(skip_serializing_if = "Option::is_none", default)]
10201    pub members: Option<Vec<ScimGroupMember>>,
10202    pub meta: ScimGroupMeta,
10203    pub schemas: Vec<String>,
10204}
10205
10206/// `ScimGroupListResponse` from the ClickHouse Cloud API.
10207#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10208pub struct ScimGroupListResponse {
10209    #[serde(rename = "Resources")]
10210    pub resources: Vec<ScimGroup>,
10211    #[serde(rename = "itemsPerPage")]
10212    pub items_per_page: i64,
10213    pub schemas: Vec<String>,
10214    #[serde(rename = "startIndex")]
10215    pub start_index: i64,
10216    #[serde(rename = "totalResults")]
10217    pub total_results: i64,
10218}
10219
10220/// `ScimGroupMember` from the ClickHouse Cloud API.
10221#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10222pub struct ScimGroupMember {
10223    #[serde(skip_serializing_if = "Option::is_none", default)]
10224    pub display: Option<String>,
10225    #[serde(skip_serializing_if = "Option::is_none", default)]
10226    pub r#type: Option<String>,
10227    pub value: String,
10228}
10229
10230/// `ScimGroupMeta` from the ClickHouse Cloud API.
10231#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10232pub struct ScimGroupMeta {
10233    pub created: chrono::DateTime<chrono::Utc>,
10234    #[serde(rename = "lastModified")]
10235    pub last_modified: chrono::DateTime<chrono::Utc>,
10236    #[serde(skip_serializing_if = "Option::is_none", default)]
10237    pub location: Option<String>,
10238    #[serde(rename = "resourceType")]
10239    pub resource_type: String,
10240}
10241
10242/// `ScimGroupPostRequest` from the ClickHouse Cloud API.
10243#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10244pub struct ScimGroupPostRequest {
10245    #[serde(rename = "displayName")]
10246    pub display_name: String,
10247    #[serde(rename = "externalId", skip_serializing_if = "Option::is_none", default)]
10248    pub external_id: Option<String>,
10249    #[serde(skip_serializing_if = "Option::is_none", default)]
10250    pub members: Option<Vec<ScimGroupMember>>,
10251    pub schemas: Vec<String>,
10252}
10253
10254/// `ScimGroupPutRequest` from the ClickHouse Cloud API.
10255#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10256pub struct ScimGroupPutRequest {
10257    #[serde(rename = "displayName")]
10258    pub display_name: String,
10259    #[serde(rename = "externalId", skip_serializing_if = "Option::is_none", default)]
10260    pub external_id: Option<String>,
10261    #[serde(skip_serializing_if = "Option::is_none", default)]
10262    pub id: Option<String>,
10263    #[serde(skip_serializing_if = "Option::is_none", default)]
10264    pub members: Option<Vec<ScimGroupMember>>,
10265    #[serde(skip_serializing_if = "Option::is_none", default)]
10266    pub meta: Option<ScimGroupMeta>,
10267    pub schemas: Vec<String>,
10268}
10269
10270/// `ScimListResponse` from the ClickHouse Cloud API.
10271#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10272pub struct ScimListResponse {
10273    #[serde(rename = "Resources")]
10274    pub resources: Vec<ScimUser>,
10275    #[serde(rename = "itemsPerPage")]
10276    pub items_per_page: i64,
10277    pub schemas: Vec<String>,
10278    #[serde(rename = "startIndex")]
10279    pub start_index: i64,
10280    #[serde(rename = "totalResults")]
10281    pub total_results: i64,
10282}
10283
10284/// `ScimPatchOp` from the ClickHouse Cloud API.
10285#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10286pub struct ScimPatchOp {
10287    #[serde(rename = "Operations")]
10288    pub operations: Vec<ScimPatchOperation>,
10289    pub schemas: Vec<String>,
10290}
10291
10292/// `ScimPatchOperation` from the ClickHouse Cloud API.
10293#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10294pub struct ScimPatchOperation {
10295    pub op: ScimPatchOperationOp,
10296    #[serde(skip_serializing_if = "Option::is_none", default)]
10297    pub path: Option<String>,
10298    #[serde(skip_serializing_if = "Option::is_none", default)]
10299    pub value: Option<String>,
10300}
10301
10302/// `ScimUser` from the ClickHouse Cloud API.
10303#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10304pub struct ScimUser {
10305    pub active: bool,
10306    #[serde(skip_serializing_if = "Option::is_none", default)]
10307    pub addresses: Option<Vec<ScimUserAddress>>,
10308    #[serde(rename = "displayName", skip_serializing_if = "Option::is_none", default)]
10309    pub display_name: Option<String>,
10310    pub emails: Vec<ScimUserEmail>,
10311    #[serde(skip_serializing_if = "Option::is_none", default)]
10312    pub entitlements: Option<Vec<ScimUserEntitlement>>,
10313    #[serde(rename = "externalId", skip_serializing_if = "Option::is_none", default)]
10314    pub external_id: Option<String>,
10315    #[serde(skip_serializing_if = "Option::is_none", default)]
10316    pub groups: Option<Vec<ScimUserGroup>>,
10317    pub id: String,
10318    #[serde(skip_serializing_if = "Option::is_none", default)]
10319    pub ims: Option<Vec<ScimUserIm>>,
10320    #[serde(skip_serializing_if = "Option::is_none", default)]
10321    pub locale: Option<String>,
10322    pub meta: ScimUserMeta,
10323    pub name: ScimUserName,
10324    #[serde(rename = "nickName", skip_serializing_if = "Option::is_none", default)]
10325    pub nick_name: Option<String>,
10326    #[serde(rename = "phoneNumbers", skip_serializing_if = "Option::is_none", default)]
10327    pub phone_numbers: Option<Vec<ScimUserPhoneNumber>>,
10328    #[serde(skip_serializing_if = "Option::is_none", default)]
10329    pub photos: Option<Vec<ScimUserPhoto>>,
10330    #[serde(rename = "preferredLanguage", skip_serializing_if = "Option::is_none", default)]
10331    pub preferred_language: Option<String>,
10332    #[serde(rename = "profileUrl", skip_serializing_if = "Option::is_none", default)]
10333    pub profile_url: Option<String>,
10334    #[serde(skip_serializing_if = "Option::is_none", default)]
10335    pub roles: Option<Vec<ScimUserRole>>,
10336    pub schemas: Vec<String>,
10337    #[serde(skip_serializing_if = "Option::is_none", default)]
10338    pub timezone: Option<String>,
10339    #[serde(skip_serializing_if = "Option::is_none", default)]
10340    pub title: Option<String>,
10341    #[serde(rename = "userName")]
10342    pub user_name: String,
10343    #[serde(rename = "userType", skip_serializing_if = "Option::is_none", default)]
10344    pub user_type: Option<String>,
10345    #[serde(rename = "x509Certificates", skip_serializing_if = "Option::is_none", default)]
10346    pub x509_certificates: Option<Vec<ScimX509Certificate>>,
10347}
10348
10349/// `ScimUserAddress` from the ClickHouse Cloud API.
10350#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10351pub struct ScimUserAddress {
10352    #[serde(default)]
10353    pub country: String,
10354    #[serde(default)]
10355    pub formatted: String,
10356    #[serde(default)]
10357    pub locality: String,
10358    #[serde(rename = "postalCode", default)]
10359    pub postal_code: String,
10360    #[serde(default)]
10361    pub primary: bool,
10362    #[serde(default)]
10363    pub region: String,
10364    #[serde(rename = "streetAddress", default)]
10365    pub street_address: String,
10366    #[serde(default)]
10367    pub r#type: String,
10368}
10369
10370/// `ScimUserEmail` from the ClickHouse Cloud API.
10371#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10372pub struct ScimUserEmail {
10373    #[serde(skip_serializing_if = "Option::is_none", default)]
10374    pub primary: Option<bool>,
10375    #[serde(skip_serializing_if = "Option::is_none", default)]
10376    pub r#type: Option<String>,
10377    pub value: String,
10378}
10379
10380/// `ScimUserEntitlement` from the ClickHouse Cloud API.
10381#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10382pub struct ScimUserEntitlement {
10383    #[serde(default)]
10384    pub display: String,
10385    #[serde(default)]
10386    pub primary: bool,
10387    #[serde(default)]
10388    pub r#type: String,
10389    #[serde(default)]
10390    pub value: String,
10391}
10392
10393/// `ScimUserGroup` from the ClickHouse Cloud API.
10394#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10395pub struct ScimUserGroup {
10396    #[serde(default)]
10397    pub display: String,
10398    #[serde(default)]
10399    pub r#type: String,
10400    #[serde(default)]
10401    pub value: String,
10402}
10403
10404/// `ScimUserIm` from the ClickHouse Cloud API.
10405#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10406pub struct ScimUserIm {
10407    #[serde(default)]
10408    pub primary: bool,
10409    #[serde(default)]
10410    pub r#type: String,
10411    #[serde(default)]
10412    pub value: String,
10413}
10414
10415/// `ScimUserMeta` from the ClickHouse Cloud API.
10416#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10417pub struct ScimUserMeta {
10418    pub created: chrono::DateTime<chrono::Utc>,
10419    #[serde(rename = "lastModified")]
10420    pub last_modified: chrono::DateTime<chrono::Utc>,
10421    #[serde(skip_serializing_if = "Option::is_none", default)]
10422    pub location: Option<String>,
10423    #[serde(rename = "resourceType")]
10424    pub resource_type: String,
10425}
10426
10427/// `ScimUserName` from the ClickHouse Cloud API.
10428#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10429pub struct ScimUserName {
10430    #[serde(rename = "familyName", default)]
10431    pub family_name: String,
10432    #[serde(default)]
10433    pub formatted: String,
10434    #[serde(rename = "givenName", default)]
10435    pub given_name: String,
10436    #[serde(rename = "honorificPrefix", default)]
10437    pub honorific_prefix: String,
10438    #[serde(rename = "honorificSuffix", default)]
10439    pub honorific_suffix: String,
10440    #[serde(rename = "middleName", default)]
10441    pub middle_name: String,
10442}
10443
10444/// `ScimUserPhoneNumber` from the ClickHouse Cloud API.
10445#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10446pub struct ScimUserPhoneNumber {
10447    #[serde(default)]
10448    pub primary: bool,
10449    #[serde(default)]
10450    pub r#type: String,
10451    #[serde(default)]
10452    pub value: String,
10453}
10454
10455/// `ScimUserPhoto` from the ClickHouse Cloud API.
10456#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10457pub struct ScimUserPhoto {
10458    #[serde(default)]
10459    pub primary: bool,
10460    #[serde(default)]
10461    pub r#type: String,
10462    #[serde(default)]
10463    pub value: String,
10464}
10465
10466/// `ScimUserPostRequest` from the ClickHouse Cloud API.
10467#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10468pub struct ScimUserPostRequest {
10469    #[serde(skip_serializing_if = "Option::is_none", default)]
10470    pub active: Option<bool>,
10471    #[serde(skip_serializing_if = "Option::is_none", default)]
10472    pub addresses: Option<Vec<ScimUserAddress>>,
10473    #[serde(rename = "displayName", skip_serializing_if = "Option::is_none", default)]
10474    pub display_name: Option<String>,
10475    pub emails: Vec<ScimUserEmail>,
10476    #[serde(skip_serializing_if = "Option::is_none", default)]
10477    pub entitlements: Option<Vec<ScimUserEntitlement>>,
10478    #[serde(rename = "externalId", skip_serializing_if = "Option::is_none", default)]
10479    pub external_id: Option<String>,
10480    #[serde(skip_serializing_if = "Option::is_none", default)]
10481    pub groups: Option<Vec<ScimUserGroup>>,
10482    #[serde(skip_serializing_if = "Option::is_none", default)]
10483    pub ims: Option<Vec<ScimUserIm>>,
10484    #[serde(skip_serializing_if = "Option::is_none", default)]
10485    pub locale: Option<String>,
10486    #[serde(skip_serializing_if = "Option::is_none", default)]
10487    pub name: Option<ScimUserName>,
10488    #[serde(rename = "nickName", skip_serializing_if = "Option::is_none", default)]
10489    pub nick_name: Option<String>,
10490    #[serde(skip_serializing_if = "Option::is_none", default)]
10491    pub password: Option<String>,
10492    #[serde(rename = "phoneNumbers", skip_serializing_if = "Option::is_none", default)]
10493    pub phone_numbers: Option<Vec<ScimUserPhoneNumber>>,
10494    #[serde(skip_serializing_if = "Option::is_none", default)]
10495    pub photos: Option<Vec<ScimUserPhoto>>,
10496    #[serde(rename = "preferredLanguage", skip_serializing_if = "Option::is_none", default)]
10497    pub preferred_language: Option<String>,
10498    #[serde(rename = "profileUrl", skip_serializing_if = "Option::is_none", default)]
10499    pub profile_url: Option<String>,
10500    #[serde(skip_serializing_if = "Option::is_none", default)]
10501    pub roles: Option<Vec<ScimUserRole>>,
10502    pub schemas: Vec<String>,
10503    #[serde(skip_serializing_if = "Option::is_none", default)]
10504    pub timezone: Option<String>,
10505    #[serde(skip_serializing_if = "Option::is_none", default)]
10506    pub title: Option<String>,
10507    #[serde(rename = "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User", skip_serializing_if = "Option::is_none", default)]
10508    pub urn_ietf_params_scim_schemas_extension_enterprise_2_0_user: Option<ScimEnterpriseUser>,
10509    #[serde(rename = "userName")]
10510    pub user_name: String,
10511    #[serde(rename = "userType", skip_serializing_if = "Option::is_none", default)]
10512    pub user_type: Option<String>,
10513    #[serde(rename = "x509Certificates", skip_serializing_if = "Option::is_none", default)]
10514    pub x509_certificates: Option<Vec<ScimX509Certificate>>,
10515}
10516
10517/// `ScimUserPutRequest` from the ClickHouse Cloud API.
10518#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10519pub struct ScimUserPutRequest {
10520    #[serde(skip_serializing_if = "Option::is_none", default)]
10521    pub active: Option<bool>,
10522    #[serde(skip_serializing_if = "Option::is_none", default)]
10523    pub addresses: Option<Vec<ScimUserAddress>>,
10524    #[serde(rename = "displayName", skip_serializing_if = "Option::is_none", default)]
10525    pub display_name: Option<String>,
10526    pub emails: Vec<ScimUserEmail>,
10527    #[serde(skip_serializing_if = "Option::is_none", default)]
10528    pub entitlements: Option<Vec<ScimUserEntitlement>>,
10529    #[serde(rename = "externalId", skip_serializing_if = "Option::is_none", default)]
10530    pub external_id: Option<String>,
10531    #[serde(skip_serializing_if = "Option::is_none", default)]
10532    pub groups: Option<Vec<ScimUserGroup>>,
10533    #[serde(skip_serializing_if = "Option::is_none", default)]
10534    pub id: Option<String>,
10535    #[serde(skip_serializing_if = "Option::is_none", default)]
10536    pub ims: Option<Vec<ScimUserIm>>,
10537    #[serde(skip_serializing_if = "Option::is_none", default)]
10538    pub locale: Option<String>,
10539    #[serde(skip_serializing_if = "Option::is_none", default)]
10540    pub meta: Option<ScimUserMeta>,
10541    #[serde(skip_serializing_if = "Option::is_none", default)]
10542    pub name: Option<ScimUserName>,
10543    #[serde(rename = "nickName", skip_serializing_if = "Option::is_none", default)]
10544    pub nick_name: Option<String>,
10545    #[serde(skip_serializing_if = "Option::is_none", default)]
10546    pub password: Option<String>,
10547    #[serde(rename = "phoneNumbers", skip_serializing_if = "Option::is_none", default)]
10548    pub phone_numbers: Option<Vec<ScimUserPhoneNumber>>,
10549    #[serde(skip_serializing_if = "Option::is_none", default)]
10550    pub photos: Option<Vec<ScimUserPhoto>>,
10551    #[serde(rename = "preferredLanguage", skip_serializing_if = "Option::is_none", default)]
10552    pub preferred_language: Option<String>,
10553    #[serde(rename = "profileUrl", skip_serializing_if = "Option::is_none", default)]
10554    pub profile_url: Option<String>,
10555    #[serde(skip_serializing_if = "Option::is_none", default)]
10556    pub roles: Option<Vec<ScimUserRole>>,
10557    pub schemas: Vec<String>,
10558    #[serde(skip_serializing_if = "Option::is_none", default)]
10559    pub timezone: Option<String>,
10560    #[serde(skip_serializing_if = "Option::is_none", default)]
10561    pub title: Option<String>,
10562    #[serde(rename = "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User", skip_serializing_if = "Option::is_none", default)]
10563    pub urn_ietf_params_scim_schemas_extension_enterprise_2_0_user: Option<ScimEnterpriseUser>,
10564    #[serde(rename = "userName")]
10565    pub user_name: String,
10566    #[serde(rename = "userType", skip_serializing_if = "Option::is_none", default)]
10567    pub user_type: Option<String>,
10568    #[serde(rename = "x509Certificates", skip_serializing_if = "Option::is_none", default)]
10569    pub x509_certificates: Option<Vec<ScimX509Certificate>>,
10570}
10571
10572/// `ScimUserRole` from the ClickHouse Cloud API.
10573#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10574pub struct ScimUserRole {
10575    #[serde(default)]
10576    pub display: String,
10577    #[serde(default)]
10578    pub primary: bool,
10579    #[serde(default)]
10580    pub r#type: String,
10581    #[serde(default)]
10582    pub value: String,
10583}
10584
10585/// `ScimX509Certificate` from the ClickHouse Cloud API.
10586#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10587pub struct ScimX509Certificate {
10588    #[serde(default)]
10589    pub value: String,
10590}
10591
10592/// `ScimAuthenticationScheme` from the ClickHouse Cloud API.
10593#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10594pub struct ScimAuthenticationScheme {
10595    pub description: String,
10596    pub name: String,
10597    #[serde(skip_serializing_if = "Option::is_none", default)]
10598    pub primary: Option<bool>,
10599    #[serde(rename = "specUri", skip_serializing_if = "Option::is_none", default)]
10600    pub spec_uri: Option<String>,
10601    #[serde(rename = "type")]
10602    pub r#type: String,
10603}
10604
10605/// `ScimBooleanFeature` from the ClickHouse Cloud API.
10606#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10607pub struct ScimBooleanFeature {
10608    pub supported: bool,
10609}
10610
10611/// `ScimResourceType` from the ClickHouse Cloud API.
10612#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10613pub struct ScimResourceType {
10614    pub description: String,
10615    pub endpoint: String,
10616    pub id: String,
10617    pub meta: ScimResourceTypeMeta,
10618    pub name: String,
10619    pub schema: String,
10620    #[serde(rename = "schemaExtensions")]
10621    pub schema_extensions: Vec<ScimSchemaExtension>,
10622    pub schemas: Vec<String>,
10623}
10624
10625/// `ScimResourceTypeListResponse` from the ClickHouse Cloud API.
10626#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10627pub struct ScimResourceTypeListResponse {
10628    #[serde(rename = "Resources")]
10629    pub resources: Vec<ScimResourceType>,
10630    #[serde(rename = "itemsPerPage")]
10631    pub items_per_page: i64,
10632    pub schemas: Vec<String>,
10633    #[serde(rename = "startIndex")]
10634    pub start_index: i64,
10635    #[serde(rename = "totalResults")]
10636    pub total_results: i64,
10637}
10638
10639/// `ScimResourceTypeMeta` from the ClickHouse Cloud API.
10640#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10641pub struct ScimResourceTypeMeta {
10642    pub location: String,
10643    #[serde(rename = "resourceType")]
10644    pub resource_type: String,
10645}
10646
10647/// `ScimSchema` from the ClickHouse Cloud API.
10648#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10649pub struct ScimSchema {
10650    pub attributes: Vec<ScimSchemaAttribute>,
10651    pub description: String,
10652    pub id: String,
10653    pub meta: ScimSchemaMeta,
10654    pub name: String,
10655    pub schemas: Vec<String>,
10656}
10657
10658/// `ScimSchemaAttribute` from the ClickHouse Cloud API.
10659#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10660pub struct ScimSchemaAttribute {
10661    #[serde(rename = "canonicalValues", skip_serializing_if = "Option::is_none", default)]
10662    pub canonical_values: Option<Vec<String>>,
10663    #[serde(rename = "caseExact", skip_serializing_if = "Option::is_none", default)]
10664    pub case_exact: Option<bool>,
10665    pub description: String,
10666    #[serde(rename = "multiValued")]
10667    pub multi_valued: bool,
10668    pub mutability: String,
10669    pub name: String,
10670    #[serde(rename = "referenceTypes", skip_serializing_if = "Option::is_none", default)]
10671    pub reference_types: Option<Vec<String>>,
10672    pub required: bool,
10673    pub returned: String,
10674    #[serde(rename = "subAttributes", skip_serializing_if = "Option::is_none", default)]
10675    pub sub_attributes: Option<Vec<ScimSchemaAttribute>>,
10676    #[serde(rename = "type")]
10677    pub r#type: String,
10678    #[serde(skip_serializing_if = "Option::is_none", default)]
10679    pub uniqueness: Option<String>,
10680}
10681
10682/// `ScimSchemaExtension` from the ClickHouse Cloud API.
10683#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10684pub struct ScimSchemaExtension {
10685    pub required: bool,
10686    pub schema: String,
10687}
10688
10689/// `ScimSchemaListResponse` from the ClickHouse Cloud API.
10690#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10691pub struct ScimSchemaListResponse {
10692    #[serde(rename = "Resources")]
10693    pub resources: Vec<ScimSchema>,
10694    #[serde(rename = "itemsPerPage")]
10695    pub items_per_page: i64,
10696    pub schemas: Vec<String>,
10697    #[serde(rename = "startIndex")]
10698    pub start_index: i64,
10699    #[serde(rename = "totalResults")]
10700    pub total_results: i64,
10701}
10702
10703/// `ScimSchemaMeta` from the ClickHouse Cloud API.
10704#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10705pub struct ScimSchemaMeta {
10706    pub location: String,
10707    #[serde(rename = "resourceType")]
10708    pub resource_type: String,
10709}
10710
10711/// `ScimServiceProviderConfig` from the ClickHouse Cloud API.
10712#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10713pub struct ScimServiceProviderConfig {
10714    #[serde(rename = "authenticationSchemes")]
10715    pub authentication_schemes: Vec<ScimAuthenticationScheme>,
10716    pub bulk: ScimServiceProviderConfigBulk,
10717    #[serde(rename = "changePassword")]
10718    pub change_password: ScimBooleanFeature,
10719    #[serde(rename = "documentationUri", skip_serializing_if = "Option::is_none", default)]
10720    pub documentation_uri: Option<String>,
10721    pub etag: ScimBooleanFeature,
10722    pub filter: ScimServiceProviderConfigFilter,
10723    pub meta: ScimServiceProviderConfigMeta,
10724    pub patch: ScimServiceProviderConfigPatch,
10725    pub schemas: Vec<String>,
10726    pub sort: ScimBooleanFeature,
10727}
10728
10729/// `ScimServiceProviderConfigBulk` from the ClickHouse Cloud API.
10730#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10731pub struct ScimServiceProviderConfigBulk {
10732    #[serde(rename = "maxOperations")]
10733    pub max_operations: i64,
10734    #[serde(rename = "maxPayloadSize")]
10735    pub max_payload_size: i64,
10736    pub supported: bool,
10737}
10738
10739/// `ScimServiceProviderConfigFilter` from the ClickHouse Cloud API.
10740#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10741pub struct ScimServiceProviderConfigFilter {
10742    #[serde(rename = "maxResults")]
10743    pub max_results: i64,
10744    pub supported: bool,
10745}
10746
10747/// `ScimServiceProviderConfigMeta` from the ClickHouse Cloud API.
10748#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10749pub struct ScimServiceProviderConfigMeta {
10750    pub location: String,
10751    #[serde(rename = "resourceType")]
10752    pub resource_type: String,
10753}
10754
10755/// `ScimServiceProviderConfigPatch` from the ClickHouse Cloud API.
10756#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10757pub struct ScimServiceProviderConfigPatch {
10758    pub supported: bool,
10759}
10760
10761/// `ServicPrivateEndpointePostRequest` from the ClickHouse Cloud API.
10762#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10763pub struct ServicPrivateEndpointePostRequest {
10764    #[serde(default)]
10765    pub description: String,
10766    #[serde(default)]
10767    pub id: String,
10768}
10769
10770/// `Service` from the ClickHouse Cloud API.
10771#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10772pub struct Service {
10773    #[serde(rename = "availablePrivateEndpointIds", default)]
10774    pub available_private_endpoint_ids: Vec<String>,
10775    #[serde(rename = "byocId", default)]
10776    pub byoc_id: String,
10777    #[serde(rename = "clickhouseVersion", default)]
10778    pub clickhouse_version: String,
10779    #[serde(rename = "complianceType", default)]
10780    pub compliance_type: ServiceCompliancetype,
10781    #[serde(rename = "createdAt", default)]
10782    pub created_at: chrono::DateTime<chrono::Utc>,
10783    #[serde(rename = "currentScaling", default)]
10784    pub current_scaling: CurrentScaling,
10785    #[serde(rename = "dataWarehouseId", default)]
10786    pub data_warehouse_id: String,
10787    #[serde(rename = "enableCoreDumps", default)]
10788    pub enable_core_dumps: bool,
10789    #[serde(rename = "encryptionAssumedRoleIdentifier", skip_serializing_if = "Option::is_none", default)]
10790    pub encryption_assumed_role_identifier: Option<String>,
10791    #[serde(rename = "encryptionKey", skip_serializing_if = "Option::is_none", default)]
10792    pub encryption_key: Option<String>,
10793    #[serde(rename = "encryptionRoleId", default)]
10794    pub encryption_role_id: String,
10795    #[serde(default)]
10796    pub endpoints: Vec<ServiceEndpoint>,
10797    #[serde(rename = "hasTransparentDataEncryption", default)]
10798    pub has_transparent_data_encryption: bool,
10799    #[serde(rename = "iamRole", default)]
10800    pub iam_role: String,
10801    #[serde(default)]
10802    pub id: uuid::Uuid,
10803    #[serde(rename = "idleScaling", default)]
10804    pub idle_scaling: bool,
10805    #[serde(rename = "idleTimeoutMinutes", default)]
10806    pub idle_timeout_minutes: f64,
10807    #[serde(rename = "ipAccessList", default)]
10808    pub ip_access_list: Vec<IpAccessListEntry>,
10809    #[serde(rename = "isPrimary", default)]
10810    pub is_primary: bool,
10811    #[serde(rename = "isReadonly", default)]
10812    pub is_readonly: bool,
10813    #[serde(rename = "maxReplicaMemoryGb", default)]
10814    pub max_replica_memory_gb: f64,
10815    #[serde(rename = "maxReplicas", default)]
10816    pub max_replicas: f64,
10817    #[serde(rename = "maxTotalMemoryGb", default)]
10818    pub max_total_memory_gb: f64,
10819    #[serde(rename = "minReplicaMemoryGb", default)]
10820    pub min_replica_memory_gb: f64,
10821    #[serde(rename = "minReplicas", default)]
10822    pub min_replicas: f64,
10823    #[serde(rename = "minTotalMemoryGb", default)]
10824    pub min_total_memory_gb: f64,
10825    #[serde(default)]
10826    pub name: String,
10827    #[serde(rename = "numReplicas", default)]
10828    pub num_replicas: f64,
10829    #[serde(rename = "privateEndpointIds", default)]
10830    pub private_endpoint_ids: Vec<String>,
10831    #[serde(default)]
10832    pub profile: ServiceProfile,
10833    #[serde(default)]
10834    pub provider: ServiceProvider,
10835    #[serde(default)]
10836    pub region: ServiceRegion,
10837    #[serde(rename = "releaseChannel", default)]
10838    pub release_channel: ServiceReleasechannel,
10839    #[serde(rename = "replicaMemoryGb", default)]
10840    pub replica_memory_gb: f64,
10841    #[serde(rename = "scalingSchedule", default)]
10842    pub scaling_schedule: ScalingSchedule,
10843    #[serde(default)]
10844    pub state: ServiceState,
10845    #[serde(default)]
10846    pub tags: Vec<ResourceTagsV1>,
10847    #[serde(default)]
10848    pub tier: ServiceTier,
10849    #[serde(rename = "transparentDataEncryptionKeyId", default)]
10850    pub transparent_data_encryption_key_id: String,
10851}
10852
10853/// `ServiceAccount` from the ClickHouse Cloud API.
10854#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10855pub struct ServiceAccount {
10856    #[serde(rename = "serviceAccountFile", default)]
10857    pub service_account_file: String,
10858}
10859
10860/// `ServiceClickhouseSetting` from the ClickHouse Cloud API.
10861#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10862pub struct ServiceClickhouseSetting {
10863    #[serde(default)]
10864    pub name: String,
10865    #[serde(default)]
10866    pub value: String,
10867}
10868
10869/// `ServiceClickhouseSettingSchemaEntry` from the ClickHouse Cloud API.
10870#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10871pub struct ServiceClickhouseSettingSchemaEntry {
10872    #[serde(rename = "deprecationNotice", default)]
10873    pub deprecation_notice: String,
10874    #[serde(default)]
10875    pub description: String,
10876    #[serde(default)]
10877    pub r#enum: Vec<i64>,
10878    #[serde(default)]
10879    pub example: String,
10880    #[serde(default)]
10881    pub name: String,
10882    #[serde(default)]
10883    pub r#type: String,
10884    #[serde(default)]
10885    pub warning: String,
10886}
10887
10888/// `ServiceClickhouseSettingWarning` from the ClickHouse Cloud API.
10889#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10890pub struct ServiceClickhouseSettingWarning {
10891    #[serde(default)]
10892    pub message: String,
10893    #[serde(default)]
10894    pub name: String,
10895}
10896
10897/// `ServiceClickhouseSettingsList` from the ClickHouse Cloud API.
10898#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10899pub struct ServiceClickhouseSettingsList {
10900    #[serde(default)]
10901    pub settings: Vec<ServiceClickhouseSetting>,
10902}
10903
10904/// `ServiceClickhouseSettingsPatchRequest` from the ClickHouse Cloud API.
10905#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10906pub struct ServiceClickhouseSettingsPatchRequest {
10907    #[serde(skip_serializing_if = "Option::is_none", default)]
10908    pub settings: Option<String>,
10909}
10910
10911/// `ServiceClickhouseSettingsPatchResponse` from the ClickHouse Cloud API.
10912#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10913pub struct ServiceClickhouseSettingsPatchResponse {
10914    #[serde(default)]
10915    pub settings: String,
10916    #[serde(default)]
10917    pub warnings: Vec<ServiceClickhouseSettingWarning>,
10918}
10919
10920/// `ServiceClickhouseSettingsSchema` from the ClickHouse Cloud API.
10921#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10922pub struct ServiceClickhouseSettingsSchema {
10923    #[serde(default)]
10924    pub settings: Vec<ServiceClickhouseSettingSchemaEntry>,
10925}
10926
10927/// `ServiceEndpoint` from the ClickHouse Cloud API.
10928#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10929pub struct ServiceEndpoint {
10930    #[serde(default)]
10931    pub host: String,
10932    #[serde(default)]
10933    pub port: f64,
10934    #[serde(default)]
10935    pub protocol: ServiceEndpointProtocol,
10936    #[serde(skip_serializing_if = "Option::is_none", default)]
10937    pub username: Option<String>,
10938}
10939
10940/// `ServiceEndpointChange` from the ClickHouse Cloud API.
10941#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10942pub struct ServiceEndpointChange {
10943    #[serde(default)]
10944    pub enabled: bool,
10945    #[serde(default)]
10946    pub protocol: ServiceEndpointChangeProtocol,
10947}
10948
10949/// `ServicePasswordPatchRequest` from the ClickHouse Cloud API.
10950#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10951pub struct ServicePasswordPatchRequest {
10952    #[serde(rename = "newDoubleSha1Hash", skip_serializing_if = "Option::is_none", default)]
10953    pub new_double_sha1_hash: Option<String>,
10954    #[serde(rename = "newPasswordHash", skip_serializing_if = "Option::is_none", default)]
10955    pub new_password_hash: Option<String>,
10956}
10957
10958/// `ServicePasswordPatchResponse` from the ClickHouse Cloud API.
10959#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10960pub struct ServicePasswordPatchResponse {
10961    #[serde(default)]
10962    pub password: String,
10963}
10964
10965/// `ServicePatchRequest` from the ClickHouse Cloud API.
10966#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10967pub struct ServicePatchRequest {
10968    #[serde(rename = "enableCoreDumps", skip_serializing_if = "Option::is_none", default)]
10969    pub enable_core_dumps: Option<bool>,
10970    #[serde(skip_serializing_if = "Option::is_none", default)]
10971    pub endpoints: Option<Vec<ServiceEndpointChange>>,
10972    #[serde(rename = "ipAccessList", skip_serializing_if = "Option::is_none", default)]
10973    pub ip_access_list: Option<IpAccessListPatch>,
10974    #[serde(skip_serializing_if = "Option::is_none", default)]
10975    pub name: Option<String>,
10976    #[serde(rename = "privateEndpointIds", skip_serializing_if = "Option::is_none", default)]
10977    pub private_endpoint_ids: Option<InstancePrivateEndpointsPatch>,
10978    #[serde(rename = "releaseChannel", skip_serializing_if = "Option::is_none", default)]
10979    pub release_channel: Option<ServicePatchRequestReleasechannel>,
10980    #[serde(skip_serializing_if = "Option::is_none", default)]
10981    pub tags: Option<InstanceTagsPatch>,
10982    #[serde(rename = "transparentDataEncryptionKeyId", skip_serializing_if = "Option::is_none", default)]
10983    pub transparent_data_encryption_key_id: Option<String>,
10984}
10985
10986/// `ServicePostRequest` from the ClickHouse Cloud API.
10987#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10988pub struct ServicePostRequest {
10989    #[serde(rename = "backupId", skip_serializing_if = "Option::is_none", default)]
10990    pub backup_id: Option<uuid::Uuid>,
10991    #[serde(rename = "byocId", skip_serializing_if = "Option::is_none", default)]
10992    pub byoc_id: Option<String>,
10993    #[serde(rename = "complianceType", skip_serializing_if = "Option::is_none", default)]
10994    pub compliance_type: Option<ServicePostRequestCompliancetype>,
10995    #[serde(rename = "dataWarehouseId", skip_serializing_if = "Option::is_none", default)]
10996    pub data_warehouse_id: Option<String>,
10997    #[serde(rename = "enableCoreDumps", skip_serializing_if = "Option::is_none", default)]
10998    pub enable_core_dumps: Option<bool>,
10999    #[serde(rename = "encryptionAssumedRoleIdentifier", skip_serializing_if = "Option::is_none", default)]
11000    pub encryption_assumed_role_identifier: Option<String>,
11001    #[serde(rename = "encryptionKey", skip_serializing_if = "Option::is_none", default)]
11002    pub encryption_key: Option<String>,
11003    #[serde(skip_serializing_if = "Option::is_none", default)]
11004    pub endpoints: Option<Vec<ServiceEndpointChange>>,
11005    #[serde(rename = "hasTransparentDataEncryption", skip_serializing_if = "Option::is_none", default)]
11006    pub has_transparent_data_encryption: Option<bool>,
11007    #[serde(rename = "idleScaling", skip_serializing_if = "Option::is_none", default)]
11008    pub idle_scaling: Option<bool>,
11009    #[serde(rename = "idleTimeoutMinutes", skip_serializing_if = "Option::is_none", default)]
11010    pub idle_timeout_minutes: Option<f64>,
11011    #[serde(rename = "ipAccessList", default)]
11012    pub ip_access_list: Vec<IpAccessListEntry>,
11013    #[serde(rename = "isReadonly", skip_serializing_if = "Option::is_none", default)]
11014    pub is_readonly: Option<bool>,
11015    #[serde(rename = "maxReplicaMemoryGb", skip_serializing_if = "Option::is_none", default)]
11016    pub max_replica_memory_gb: Option<f64>,
11017    #[serde(rename = "maxTotalMemoryGb", skip_serializing_if = "Option::is_none", default)]
11018    pub max_total_memory_gb: Option<f64>,
11019    #[serde(rename = "minReplicaMemoryGb", skip_serializing_if = "Option::is_none", default)]
11020    pub min_replica_memory_gb: Option<f64>,
11021    #[serde(rename = "minTotalMemoryGb", skip_serializing_if = "Option::is_none", default)]
11022    pub min_total_memory_gb: Option<f64>,
11023    #[serde(default)]
11024    pub name: String,
11025    #[serde(rename = "numReplicas", skip_serializing_if = "Option::is_none", default)]
11026    pub num_replicas: Option<f64>,
11027    #[serde(rename = "privateEndpointIds", skip_serializing_if = "Option::is_none", default)]
11028    pub private_endpoint_ids: Option<Vec<String>>,
11029    #[serde(rename = "privatePreviewTermsChecked", skip_serializing_if = "Option::is_none", default)]
11030    pub private_preview_terms_checked: Option<bool>,
11031    #[serde(skip_serializing_if = "Option::is_none", default)]
11032    pub profile: Option<ServicePostRequestProfile>,
11033    #[serde(default)]
11034    pub provider: ServicePostRequestProvider,
11035    #[serde(default)]
11036    pub region: ServicePostRequestRegion,
11037    #[serde(rename = "releaseChannel", skip_serializing_if = "Option::is_none", default)]
11038    pub release_channel: Option<ServicePostRequestReleasechannel>,
11039    #[serde(skip_serializing_if = "Option::is_none", default)]
11040    pub tags: Option<Vec<ResourceTagsV1>>,
11041    #[serde(skip_serializing_if = "Option::is_none", default)]
11042    pub tier: Option<ServicePostRequestTier>,
11043}
11044
11045/// `ServicePostResponse` from the ClickHouse Cloud API.
11046#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
11047pub struct ServicePostResponse {
11048    #[serde(default)]
11049    pub password: String,
11050    #[serde(default)]
11051    pub service: Service,
11052}
11053
11054/// `ServiceQueryAPIEndpoint` from the ClickHouse Cloud API.
11055#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
11056pub struct ServiceQueryAPIEndpoint {
11057    #[serde(rename = "allowedOrigins", default)]
11058    pub allowed_origins: String,
11059    #[serde(default)]
11060    pub id: String,
11061    #[serde(rename = "openApiKeys", default)]
11062    pub open_api_keys: Vec<String>,
11063    #[serde(default)]
11064    pub roles: Vec<String>,
11065}
11066
11067/// `ServiceReplicaScalingPatchRequest` from the ClickHouse Cloud API.
11068#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
11069pub struct ServiceReplicaScalingPatchRequest {
11070    #[serde(rename = "idleScaling", skip_serializing_if = "Option::is_none", default)]
11071    pub idle_scaling: Option<bool>,
11072    #[serde(rename = "idleTimeoutMinutes", skip_serializing_if = "Option::is_none", default)]
11073    pub idle_timeout_minutes: Option<f64>,
11074    #[serde(rename = "maxReplicaMemoryGb", skip_serializing_if = "Option::is_none", default)]
11075    pub max_replica_memory_gb: Option<f64>,
11076    #[serde(rename = "maxReplicas", skip_serializing_if = "Option::is_none", default)]
11077    pub max_replicas: Option<f64>,
11078    #[serde(rename = "minReplicaMemoryGb", skip_serializing_if = "Option::is_none", default)]
11079    pub min_replica_memory_gb: Option<f64>,
11080    #[serde(rename = "minReplicas", skip_serializing_if = "Option::is_none", default)]
11081    pub min_replicas: Option<f64>,
11082    #[serde(rename = "numReplicas", skip_serializing_if = "Option::is_none", default)]
11083    pub num_replicas: Option<f64>,
11084    #[serde(rename = "replicaMemoryGb", skip_serializing_if = "Option::is_none", default)]
11085    pub replica_memory_gb: Option<f64>,
11086}
11087
11088/// `ServiceScalingPatchRequest` from the ClickHouse Cloud API.
11089#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
11090pub struct ServiceScalingPatchRequest {
11091    #[serde(rename = "idleScaling", skip_serializing_if = "Option::is_none", default)]
11092    pub idle_scaling: Option<bool>,
11093    #[serde(rename = "idleTimeoutMinutes", skip_serializing_if = "Option::is_none", default)]
11094    pub idle_timeout_minutes: Option<f64>,
11095    #[serde(rename = "maxTotalMemoryGb", skip_serializing_if = "Option::is_none", default)]
11096    pub max_total_memory_gb: Option<f64>,
11097    #[serde(rename = "minTotalMemoryGb", skip_serializing_if = "Option::is_none", default)]
11098    pub min_total_memory_gb: Option<f64>,
11099    #[serde(rename = "numReplicas", skip_serializing_if = "Option::is_none", default)]
11100    pub num_replicas: Option<f64>,
11101}
11102
11103/// `ServiceScalingPatchResponse` from the ClickHouse Cloud API.
11104#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
11105pub struct ServiceScalingPatchResponse {
11106    #[serde(rename = "availablePrivateEndpointIds", default)]
11107    pub available_private_endpoint_ids: Vec<String>,
11108    #[serde(rename = "byocId", default)]
11109    pub byoc_id: String,
11110    #[serde(rename = "clickhouseVersion", default)]
11111    pub clickhouse_version: String,
11112    #[serde(rename = "complianceType", default)]
11113    pub compliance_type: ServiceScalingPatchResponseCompliancetype,
11114    #[serde(rename = "createdAt", default)]
11115    pub created_at: chrono::DateTime<chrono::Utc>,
11116    #[serde(rename = "currentScaling", default)]
11117    pub current_scaling: CurrentScaling,
11118    #[serde(rename = "dataWarehouseId", default)]
11119    pub data_warehouse_id: String,
11120    #[serde(rename = "enableCoreDumps", default)]
11121    pub enable_core_dumps: bool,
11122    #[serde(rename = "encryptionAssumedRoleIdentifier", skip_serializing_if = "Option::is_none", default)]
11123    pub encryption_assumed_role_identifier: Option<String>,
11124    #[serde(rename = "encryptionKey", skip_serializing_if = "Option::is_none", default)]
11125    pub encryption_key: Option<String>,
11126    #[serde(rename = "encryptionRoleId", default)]
11127    pub encryption_role_id: String,
11128    #[serde(default)]
11129    pub endpoints: Vec<ServiceEndpoint>,
11130    #[serde(rename = "hasTransparentDataEncryption", default)]
11131    pub has_transparent_data_encryption: bool,
11132    #[serde(rename = "iamRole", default)]
11133    pub iam_role: String,
11134    #[serde(default)]
11135    pub id: uuid::Uuid,
11136    #[serde(rename = "idleScaling", default)]
11137    pub idle_scaling: bool,
11138    #[serde(rename = "idleTimeoutMinutes", default)]
11139    pub idle_timeout_minutes: f64,
11140    #[serde(rename = "ipAccessList", default)]
11141    pub ip_access_list: Vec<IpAccessListEntry>,
11142    #[serde(rename = "isPrimary", default)]
11143    pub is_primary: bool,
11144    #[serde(rename = "isReadonly", default)]
11145    pub is_readonly: bool,
11146    #[serde(rename = "maxReplicaMemoryGb", default)]
11147    pub max_replica_memory_gb: f64,
11148    #[serde(rename = "maxReplicas", default)]
11149    pub max_replicas: f64,
11150    #[serde(rename = "maxTotalMemoryGb", default)]
11151    pub max_total_memory_gb: f64,
11152    #[serde(rename = "minReplicaMemoryGb", default)]
11153    pub min_replica_memory_gb: f64,
11154    #[serde(rename = "minReplicas", default)]
11155    pub min_replicas: f64,
11156    #[serde(rename = "minTotalMemoryGb", default)]
11157    pub min_total_memory_gb: f64,
11158    #[serde(default)]
11159    pub name: String,
11160    #[serde(rename = "numReplicas", default)]
11161    pub num_replicas: f64,
11162    #[serde(rename = "privateEndpointIds", default)]
11163    pub private_endpoint_ids: Vec<String>,
11164    #[serde(default)]
11165    pub profile: ServiceScalingPatchResponseProfile,
11166    #[serde(default)]
11167    pub provider: ServiceScalingPatchResponseProvider,
11168    #[serde(default)]
11169    pub region: ServiceScalingPatchResponseRegion,
11170    #[serde(rename = "releaseChannel", default)]
11171    pub release_channel: ServiceScalingPatchResponseReleasechannel,
11172    #[serde(rename = "replicaMemoryGb", default)]
11173    pub replica_memory_gb: f64,
11174    #[serde(rename = "scalingSchedule", default)]
11175    pub scaling_schedule: ScalingSchedule,
11176    #[serde(default)]
11177    pub state: ServiceScalingPatchResponseState,
11178    #[serde(default)]
11179    pub tags: Vec<ResourceTagsV1>,
11180    #[serde(default)]
11181    pub tier: ServiceScalingPatchResponseTier,
11182    #[serde(rename = "transparentDataEncryptionKeyId", default)]
11183    pub transparent_data_encryption_key_id: String,
11184}
11185
11186/// `ServiceStatePatchRequest` from the ClickHouse Cloud API.
11187#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
11188pub struct ServiceStatePatchRequest {
11189    #[serde(skip_serializing_if = "Option::is_none", default)]
11190    pub command: Option<ServiceStatePatchRequestCommand>,
11191}
11192
11193/// `UsageCost` from the ClickHouse Cloud API.
11194#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
11195pub struct UsageCost {
11196    #[serde(default)]
11197    pub costs: Vec<UsageCostRecord>,
11198    #[serde(rename = "grandTotalCHC", default)]
11199    pub grand_total_chc: f64,
11200}
11201
11202/// `UsageCostMetrics` from the ClickHouse Cloud API.
11203#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
11204pub struct UsageCostMetrics {
11205    #[serde(rename = "backupCHC", default)]
11206    pub backup_chc: f64,
11207    #[serde(rename = "computeCHC", default)]
11208    pub compute_chc: f64,
11209    #[serde(rename = "dataTransferCHC", default)]
11210    pub data_transfer_chc: f64,
11211    #[serde(rename = "initialLoadCHC", default)]
11212    pub initial_load_chc: f64,
11213    #[serde(rename = "interRegionTier1DataTransferCHC", default)]
11214    pub inter_region_tier1_data_transfer_chc: f64,
11215    #[serde(rename = "interRegionTier2DataTransferCHC", default)]
11216    pub inter_region_tier2_data_transfer_chc: f64,
11217    #[serde(rename = "interRegionTier3DataTransferCHC", default)]
11218    pub inter_region_tier3_data_transfer_chc: f64,
11219    #[serde(rename = "interRegionTier4DataTransferCHC", default)]
11220    pub inter_region_tier4_data_transfer_chc: f64,
11221    #[serde(rename = "publicDataTransferCHC", default)]
11222    pub public_data_transfer_chc: f64,
11223    #[serde(rename = "storageCHC", default)]
11224    pub storage_chc: f64,
11225}
11226
11227/// `UsageCostRecord` from the ClickHouse Cloud API.
11228#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
11229pub struct UsageCostRecord {
11230    #[serde(rename = "dataWarehouseId", default)]
11231    pub data_warehouse_id: uuid::Uuid,
11232    #[serde(default)]
11233    pub date: String,
11234    #[serde(rename = "entityId", default)]
11235    pub entity_id: uuid::Uuid,
11236    #[serde(rename = "entityName", default)]
11237    pub entity_name: String,
11238    #[serde(rename = "entityType", default)]
11239    pub entity_type: UsageCostRecordEntitytype,
11240    #[serde(default)]
11241    pub locked: bool,
11242    #[serde(default)]
11243    pub metrics: UsageCostMetrics,
11244    #[serde(rename = "serviceId", skip_serializing_if = "Option::is_none", default)]
11245    pub service_id: Option<uuid::Uuid>,
11246    #[serde(rename = "totalCHC", default)]
11247    pub total_chc: f64,
11248}
11249
11250/// `pgBouncerConfig` from the ClickHouse Cloud API.
11251#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
11252pub struct PgBouncerConfig {
11253}
11254
11255/// `pgConfig` from the ClickHouse Cloud API.
11256#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
11257pub struct PgConfig {
11258    #[serde(default)]
11259    pub default_transaction_isolation: PgConfigDefaultTransactionIsolation,
11260    #[serde(default)]
11261    pub effective_cache_size: serde_json::Value,
11262    #[serde(default)]
11263    pub effective_io_concurrency: i64,
11264    #[serde(default)]
11265    pub idle_in_transaction_session_timeout: serde_json::Value,
11266    #[serde(default)]
11267    pub idle_session_timeout: serde_json::Value,
11268    #[serde(default)]
11269    pub lock_timeout: serde_json::Value,
11270    #[serde(default)]
11271    pub maintenance_work_mem: serde_json::Value,
11272    #[serde(default)]
11273    pub max_connections: i64,
11274    #[serde(default)]
11275    pub max_parallel_maintenance_workers: i64,
11276    #[serde(default)]
11277    pub max_parallel_workers: i64,
11278    #[serde(default)]
11279    pub max_parallel_workers_per_gather: i64,
11280    #[serde(default)]
11281    pub max_slot_wal_keep_size: serde_json::Value,
11282    #[serde(default)]
11283    pub max_wal_size: serde_json::Value,
11284    #[serde(default)]
11285    pub max_worker_processes: i64,
11286    #[serde(default)]
11287    pub min_wal_size: serde_json::Value,
11288    #[serde(default)]
11289    pub random_page_cost: f64,
11290    #[serde(default)]
11291    pub ssl_min_protocol_version: PgConfigSslMinProtocolVersion,
11292    #[serde(default)]
11293    pub statement_timeout: serde_json::Value,
11294    #[serde(default)]
11295    pub transaction_timeout: serde_json::Value,
11296    #[serde(default)]
11297    pub wal_compression: PgConfigWalCompression,
11298    #[serde(default)]
11299    pub wal_keep_size: serde_json::Value,
11300    #[serde(default)]
11301    pub wal_sender_timeout: serde_json::Value,
11302    #[serde(default)]
11303    pub work_mem: serde_json::Value,
11304}
11305
11306/// `postgresInstanceConfig` from the ClickHouse Cloud API.
11307#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
11308pub struct PostgresInstanceConfig {
11309    #[serde(rename = "pgBouncerConfig")]
11310    pub pg_bouncer_config: PgBouncerConfig,
11311    #[serde(rename = "pgConfig")]
11312    pub pg_config: PgConfig,
11313}
11314
11315/// `postgresInstanceUpdateConfigResponse` from the ClickHouse Cloud API.
11316#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
11317pub struct PostgresInstanceUpdateConfigResponse {
11318    #[serde(skip_serializing_if = "Option::is_none", default)]
11319    pub message: Option<String>,
11320    #[serde(rename = "pgBouncerConfig")]
11321    pub pg_bouncer_config: PgBouncerConfig,
11322    #[serde(rename = "pgConfig")]
11323    pub pg_config: PgConfig,
11324}
11325
11326/// Standard API response wrapper.
11327#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
11328pub struct ApiResponse<T> {
11329    #[serde(skip_serializing_if = "Option::is_none", default)]
11330    pub status: Option<f64>,
11331    #[serde(skip_serializing_if = "Option::is_none", default, rename = "requestId")]
11332    pub request_id: Option<String>,
11333    pub result: Option<T>,
11334    #[serde(skip_serializing_if = "Option::is_none", default)]
11335    pub error: Option<String>,
11336}
11337
11338
11339impl Default for BackupBucket {
11340    fn default() -> Self {
11341        Self::AwsBackupBucket(AwsBackupBucket::default())
11342    }
11343}
11344
11345
11346impl Default for BackupBucketPatchRequest {
11347    fn default() -> Self {
11348        Self::AwsBackupBucketPatchRequestV1(AwsBackupBucketPatchRequestV1::default())
11349    }
11350}
11351
11352
11353impl Default for BackupBucketPostRequest {
11354    fn default() -> Self {
11355        Self::AwsBackupBucketPostRequestV1(AwsBackupBucketPostRequestV1::default())
11356    }
11357}
11358
11359
11360impl Default for BackupBucketProperties {
11361    fn default() -> Self {
11362        Self::AwsBackupBucketProperties(AwsBackupBucketProperties::default())
11363    }
11364}
11365
11366
11367impl Default for ClickStackAlertChannel {
11368    fn default() -> Self {
11369        Self::ClickStackAlertChannelEmail(ClickStackAlertChannelEmail::default())
11370    }
11371}
11372
11373
11374impl Default for ClickStackBarChartConfig {
11375    fn default() -> Self {
11376        Self::ClickStackBarBuilderChartConfig(ClickStackBarBuilderChartConfig::default())
11377    }
11378}
11379
11380
11381impl Default for ClickStackDashboardChartSeries {
11382    fn default() -> Self {
11383        Self::ClickStackTimeChartSeries(ClickStackTimeChartSeries::default())
11384    }
11385}
11386
11387
11388impl Default for ClickStackLineChartConfig {
11389    fn default() -> Self {
11390        Self::ClickStackLineBuilderChartConfig(ClickStackLineBuilderChartConfig::default())
11391    }
11392}
11393
11394
11395impl Default for ClickStackNumberChartConfig {
11396    fn default() -> Self {
11397        Self::ClickStackNumberBuilderChartConfig(ClickStackNumberBuilderChartConfig::default())
11398    }
11399}
11400
11401
11402impl Default for ClickStackPieChartConfig {
11403    fn default() -> Self {
11404        Self::ClickStackPieBuilderChartConfig(ClickStackPieBuilderChartConfig::default())
11405    }
11406}
11407
11408
11409impl Default for ClickStackSource {
11410    fn default() -> Self {
11411        Self::ClickStackLogSource(ClickStackLogSource::default())
11412    }
11413}
11414
11415
11416impl Default for ClickStackTableChartConfig {
11417    fn default() -> Self {
11418        Self::ClickStackTableBuilderChartConfig(ClickStackTableBuilderChartConfig::default())
11419    }
11420}
11421
11422
11423impl Default for ClickStackTileConfig {
11424    fn default() -> Self {
11425        Self::ClickStackLineChartConfig(ClickStackLineChartConfig::default())
11426    }
11427}
11428
11429
11430impl Default for ClickStackWebhook {
11431    fn default() -> Self {
11432        Self::ClickStackSlackWebhook(ClickStackSlackWebhook::default())
11433    }
11434}