1use num_enum::{IntoPrimitive, TryFromPrimitive};
11use proptest_derive::Arbitrary;
12use serde::{Deserialize, Serialize};
13
14#[derive(
15 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
16)]
17pub struct ConfigKey {
18 pub key: String,
19}
20
21#[derive(
22 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
23)]
24pub struct ConfigValue {
25 pub value: u64,
26}
27
28#[derive(
29 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
30)]
31pub struct SettingKey {
32 pub name: String,
33}
34
35#[derive(
36 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
37)]
38pub struct SettingValue {
39 pub value: String,
40}
41
42#[derive(
43 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
44)]
45pub struct IdAllocKey {
46 pub name: String,
47}
48
49#[derive(
50 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
51)]
52pub struct IdAllocValue {
53 pub next_id: u64,
54}
55
56#[derive(
57 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
58)]
59pub struct GidMappingKey {
60 pub schema_name: String,
61 pub object_type: i32,
62 pub object_name: String,
63}
64
65#[derive(
66 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
67)]
68pub struct GidMappingValue {
69 pub id: u64,
70 pub fingerprint: String,
71}
72
73#[derive(
74 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
75)]
76pub struct ClusterKey {
77 pub id: Option<ClusterId>,
78}
79
80#[derive(
81 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
82)]
83pub struct ClusterValue {
84 pub name: String,
85 pub owner_id: Option<RoleId>,
86 pub privileges: Vec<MzAclItem>,
87 pub config: Option<ClusterConfig>,
88}
89
90#[derive(
91 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
92)]
93pub struct ClusterIntrospectionSourceIndexKey {
94 pub cluster_id: Option<ClusterId>,
95 pub name: String,
96}
97
98#[derive(
99 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
100)]
101pub struct ClusterIntrospectionSourceIndexValue {
102 pub index_id: u64,
103 pub oid: u32,
104}
105
106#[derive(
107 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
108)]
109pub struct ClusterReplicaKey {
110 pub id: Option<ReplicaId>,
111}
112
113#[derive(
114 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
115)]
116pub struct ClusterReplicaValue {
117 pub cluster_id: Option<ClusterId>,
118 pub name: String,
119 pub config: Option<ReplicaConfig>,
120 pub owner_id: Option<RoleId>,
121}
122
123#[derive(
124 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
125)]
126pub struct DatabaseKey {
127 pub id: Option<DatabaseId>,
128}
129
130#[derive(
131 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
132)]
133pub struct DatabaseValue {
134 pub name: String,
135 pub owner_id: Option<RoleId>,
136 pub privileges: Vec<MzAclItem>,
137 pub oid: u32,
138}
139
140#[derive(
141 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
142)]
143pub struct SchemaKey {
144 pub id: Option<SchemaId>,
145}
146
147#[derive(
148 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
149)]
150pub struct SchemaValue {
151 pub database_id: Option<DatabaseId>,
152 pub name: String,
153 pub owner_id: Option<RoleId>,
154 pub privileges: Vec<MzAclItem>,
155 pub oid: u32,
156}
157
158#[derive(
159 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
160)]
161pub struct ItemKey {
162 pub gid: Option<GlobalId>,
163}
164
165#[derive(
166 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
167)]
168pub struct ItemValue {
169 pub schema_id: Option<SchemaId>,
170 pub name: String,
171 pub definition: Option<CatalogItem>,
172 pub owner_id: Option<RoleId>,
173 pub privileges: Vec<MzAclItem>,
174 pub oid: u32,
175}
176
177#[derive(
178 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
179)]
180pub struct RoleKey {
181 pub id: Option<RoleId>,
182}
183
184#[derive(
185 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
186)]
187pub struct RoleValue {
188 pub name: String,
189 pub attributes: Option<RoleAttributes>,
190 pub membership: Option<RoleMembership>,
191 pub vars: Option<RoleVars>,
192 pub oid: u32,
193}
194
195#[derive(
196 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
197)]
198pub struct ServerConfigurationKey {
199 pub name: String,
200}
201
202#[derive(
203 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
204)]
205pub struct ServerConfigurationValue {
206 pub value: String,
207}
208
209#[derive(
210 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
211)]
212pub struct AuditLogKey {
213 pub event: Option<audit_log_key::Event>,
214}
215
216pub mod audit_log_key {
217 use super::*;
218
219 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
220 pub enum Event {
221 V1(AuditLogEventV1),
222 }
223}
224
225#[derive(
226 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
227)]
228pub struct CommentKey {
229 pub object: Option<comment_key::Object>,
230 pub sub_component: Option<comment_key::SubComponent>,
231}
232
233pub mod comment_key {
234 use super::*;
235
236 #[derive(
237 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
238 )]
239 pub enum Object {
240 Table(GlobalId),
241 View(GlobalId),
242 MaterializedView(GlobalId),
243 Source(GlobalId),
244 Sink(GlobalId),
245 Index(GlobalId),
246 Func(GlobalId),
247 Connection(GlobalId),
248 Type(GlobalId),
249 Secret(GlobalId),
250 ContinualTask(GlobalId),
251 Role(RoleId),
252 Database(DatabaseId),
253 Schema(ResolvedSchema),
254 Cluster(ClusterId),
255 ClusterReplica(ClusterReplicaId),
256 }
257
258 #[derive(
259 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
260 )]
261 pub enum SubComponent {
262 ColumnPos(u64),
263 }
264}
265
266#[derive(
267 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
268)]
269pub struct CommentValue {
270 pub comment: String,
271}
272
273#[derive(
274 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
275)]
276pub struct SourceReferencesKey {
277 pub source: Option<GlobalId>,
278}
279
280#[derive(
281 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
282)]
283pub struct SourceReferencesValue {
284 pub references: Vec<SourceReference>,
285 pub updated_at: Option<EpochMillis>,
286}
287
288#[derive(
289 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
290)]
291pub struct SourceReference {
292 pub name: String,
293 pub namespace: Option<String>,
294 pub columns: Vec<String>,
295}
296
297#[derive(
298 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
299)]
300pub struct StorageCollectionMetadataKey {
301 pub id: Option<GlobalId>,
302}
303
304#[derive(
305 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
306)]
307pub struct StorageCollectionMetadataValue {
308 pub shard: String,
309}
310
311#[derive(
312 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
313)]
314pub struct UnfinalizedShardKey {
315 pub shard: String,
316}
317
318#[derive(
319 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
320)]
321pub struct TxnWalShardValue {
322 pub shard: String,
323}
324
325#[derive(
326 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
327)]
328pub struct Empty {}
329
330#[derive(
331 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
332)]
333pub struct StringWrapper {
334 pub inner: String,
335}
336
337#[derive(
338 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
339)]
340pub struct Duration {
341 pub secs: u64,
342 pub nanos: u32,
343}
344
345#[derive(
346 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
347)]
348pub struct EpochMillis {
349 pub millis: u64,
350}
351
352#[derive(
353 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
354)]
355pub struct Timestamp {
356 pub internal: u64,
357}
358
359#[derive(
360 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
361)]
362pub struct CatalogItem {
363 pub value: Option<catalog_item::Value>,
364}
365
366pub mod catalog_item {
367 use super::*;
368
369 #[derive(
370 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
371 )]
372 pub struct V1 {
373 pub create_sql: String,
374 }
375
376 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
377 pub enum Value {
378 V1(V1),
379 }
380}
381
382#[derive(
383 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
384)]
385pub struct GlobalId {
386 pub value: Option<global_id::Value>,
387}
388
389pub mod global_id {
390 use super::*;
391
392 #[derive(
393 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
394 )]
395 pub enum Value {
396 System(u64),
397 User(u64),
398 Transient(u64),
399 Explain(Empty),
400 }
401}
402
403#[derive(
404 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
405)]
406pub struct ClusterId {
407 pub value: Option<cluster_id::Value>,
408}
409
410pub mod cluster_id {
411 use super::*;
412
413 #[derive(
414 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
415 )]
416 pub enum Value {
417 System(u64),
418 User(u64),
419 }
420}
421
422#[derive(
423 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
424)]
425pub struct DatabaseId {
426 pub value: Option<database_id::Value>,
427}
428
429pub mod database_id {
430 use super::*;
431
432 #[derive(
433 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
434 )]
435 pub enum Value {
436 System(u64),
437 User(u64),
438 }
439}
440
441#[derive(
442 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
443)]
444pub struct ResolvedDatabaseSpecifier {
445 pub spec: Option<resolved_database_specifier::Spec>,
446}
447
448pub mod resolved_database_specifier {
449 use super::*;
450
451 #[derive(
452 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
453 )]
454 pub enum Spec {
455 Ambient(Empty),
456 Id(DatabaseId),
457 }
458}
459
460#[derive(
461 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
462)]
463pub struct SchemaId {
464 pub value: Option<schema_id::Value>,
465}
466
467pub mod schema_id {
468 use super::*;
469
470 #[derive(
471 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
472 )]
473 pub enum Value {
474 System(u64),
475 User(u64),
476 }
477}
478
479#[derive(
480 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
481)]
482pub struct SchemaSpecifier {
483 pub spec: Option<schema_specifier::Spec>,
484}
485
486pub mod schema_specifier {
487 use super::*;
488
489 #[derive(
490 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
491 )]
492 pub enum Spec {
493 Temporary(Empty),
494 Id(SchemaId),
495 }
496}
497
498#[derive(
499 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
500)]
501pub struct ResolvedSchema {
502 pub database: Option<ResolvedDatabaseSpecifier>,
503 pub schema: Option<SchemaSpecifier>,
504}
505
506#[derive(
507 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
508)]
509pub struct ReplicaId {
510 pub value: Option<replica_id::Value>,
511}
512
513pub mod replica_id {
514 use super::*;
515
516 #[derive(
517 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
518 )]
519 pub enum Value {
520 System(u64),
521 User(u64),
522 }
523}
524
525#[derive(
526 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
527)]
528pub struct ClusterReplicaId {
529 pub cluster_id: Option<ClusterId>,
530 pub replica_id: Option<ReplicaId>,
531}
532
533#[derive(
534 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
535)]
536pub struct ReplicaLogging {
537 pub log_logging: bool,
538 pub interval: Option<Duration>,
539}
540
541#[derive(
542 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
543)]
544pub struct OptimizerFeatureOverride {
545 pub name: String,
546 pub value: String,
547}
548
549#[derive(
550 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
551)]
552pub struct ClusterScheduleRefreshOptions {
553 pub rehydration_time_estimate: Option<Duration>,
554}
555
556#[derive(
557 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
558)]
559pub struct ClusterSchedule {
560 pub value: Option<cluster_schedule::Value>,
561}
562
563pub mod cluster_schedule {
564 use super::*;
565
566 #[derive(
567 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
568 )]
569 pub enum Value {
570 Manual(Empty),
571 Refresh(ClusterScheduleRefreshOptions),
572 }
573}
574
575#[derive(
576 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
577)]
578pub struct ClusterConfig {
579 pub workload_class: Option<String>,
580 pub variant: Option<cluster_config::Variant>,
581}
582
583pub mod cluster_config {
584 use super::*;
585
586 #[derive(
587 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
588 )]
589 pub struct ManagedCluster {
590 pub size: String,
591 pub replication_factor: u32,
592 pub availability_zones: Vec<String>,
593 pub logging: Option<ReplicaLogging>,
594 pub disk: bool,
595 pub optimizer_feature_overrides: Vec<OptimizerFeatureOverride>,
596 pub schedule: Option<ClusterSchedule>,
597 }
598
599 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
600 pub enum Variant {
601 Unmanaged(Empty),
602 Managed(ManagedCluster),
603 }
604}
605
606#[derive(
607 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
608)]
609pub struct ReplicaConfig {
610 pub logging: Option<ReplicaLogging>,
611 pub location: Option<replica_config::Location>,
612}
613
614pub mod replica_config {
615 use super::*;
616
617 #[derive(
618 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
619 )]
620 pub struct UnmanagedLocation {
621 pub storagectl_addrs: Vec<String>,
622 pub storage_addrs: Vec<String>,
623 pub computectl_addrs: Vec<String>,
624 pub compute_addrs: Vec<String>,
625 pub workers: u64,
626 }
627
628 #[derive(
629 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
630 )]
631 pub struct ManagedLocation {
632 pub size: String,
633 pub availability_zone: Option<String>,
634 pub disk: bool,
635 pub internal: bool,
636 pub billed_as: Option<String>,
637 pub pending: bool,
638 }
639
640 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
641 pub enum Location {
642 Unmanaged(UnmanagedLocation),
643 Managed(ManagedLocation),
644 }
645}
646
647#[derive(
648 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
649)]
650pub struct RoleId {
651 pub value: Option<role_id::Value>,
652}
653
654pub mod role_id {
655 use super::*;
656
657 #[derive(
658 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
659 )]
660 pub enum Value {
661 System(u64),
662 User(u64),
663 Public(Empty),
664 Predefined(u64),
665 }
666}
667
668#[derive(
669 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
670)]
671pub struct RoleAttributes {
672 pub inherit: bool,
673}
674
675#[derive(
676 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
677)]
678pub struct RoleMembership {
679 pub map: Vec<role_membership::Entry>,
680}
681
682pub mod role_membership {
683 use super::*;
684
685 #[derive(
686 Clone,
687 Copy,
688 Debug,
689 Default,
690 PartialEq,
691 Eq,
692 PartialOrd,
693 Ord,
694 Serialize,
695 Deserialize,
696 Arbitrary,
697 )]
698 pub struct Entry {
699 pub key: Option<RoleId>,
700 pub value: Option<RoleId>,
701 }
702}
703
704#[derive(
705 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
706)]
707pub struct RoleVars {
708 pub entries: Vec<role_vars::Entry>,
709}
710
711pub mod role_vars {
712 use super::*;
713
714 #[derive(
715 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
716 )]
717 pub struct SqlSet {
718 pub entries: Vec<String>,
719 }
720
721 #[derive(
722 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
723 )]
724 pub struct Entry {
725 pub key: String,
726 pub val: Option<entry::Val>,
727 }
728
729 pub mod entry {
730 use super::*;
731
732 #[derive(
733 Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
734 )]
735 pub enum Val {
736 Flat(String),
737 SqlSet(SqlSet),
738 }
739 }
740}
741
742#[derive(
743 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
744)]
745pub struct AclMode {
746 pub bitflags: u64,
747}
748
749#[derive(
750 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
751)]
752pub struct MzAclItem {
753 pub grantee: Option<RoleId>,
754 pub grantor: Option<RoleId>,
755 pub acl_mode: Option<AclMode>,
756}
757
758#[derive(
759 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
760)]
761pub struct DefaultPrivilegesKey {
762 pub role_id: Option<RoleId>,
763 pub database_id: Option<DatabaseId>,
764 pub schema_id: Option<SchemaId>,
765 pub object_type: i32,
766 pub grantee: Option<RoleId>,
767}
768
769#[derive(
770 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
771)]
772pub struct DefaultPrivilegesValue {
773 pub privileges: Option<AclMode>,
774}
775
776#[derive(
777 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
778)]
779pub struct SystemPrivilegesKey {
780 pub grantee: Option<RoleId>,
781 pub grantor: Option<RoleId>,
782}
783
784#[derive(
785 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
786)]
787pub struct SystemPrivilegesValue {
788 pub acl_mode: Option<AclMode>,
789}
790
791#[derive(
792 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
793)]
794pub struct AuditLogEventV1 {
795 pub id: u64,
796 pub event_type: i32,
797 pub object_type: i32,
798 pub user: Option<StringWrapper>,
799 pub occurred_at: Option<EpochMillis>,
800 pub details: Option<audit_log_event_v1::Details>,
801}
802
803pub mod audit_log_event_v1 {
804 use super::*;
805
806 #[derive(
807 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
808 )]
809 pub struct IdFullNameV1 {
810 pub id: String,
811 pub name: Option<FullNameV1>,
812 }
813
814 #[derive(
815 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
816 )]
817 pub struct FullNameV1 {
818 pub database: String,
819 pub schema: String,
820 pub item: String,
821 }
822
823 #[derive(
824 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
825 )]
826 pub struct IdNameV1 {
827 pub id: String,
828 pub name: String,
829 }
830
831 #[derive(
832 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
833 )]
834 pub struct RenameClusterV1 {
835 pub id: String,
836 pub old_name: String,
837 pub new_name: String,
838 }
839
840 #[derive(
841 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
842 )]
843 pub struct RenameClusterReplicaV1 {
844 pub cluster_id: String,
845 pub replica_id: String,
846 pub old_name: String,
847 pub new_name: String,
848 }
849
850 #[derive(
851 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
852 )]
853 pub struct RenameItemV1 {
854 pub id: String,
855 pub old_name: Option<FullNameV1>,
856 pub new_name: Option<FullNameV1>,
857 }
858
859 #[derive(
860 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
861 )]
862 pub struct CreateClusterReplicaV1 {
863 pub cluster_id: String,
864 pub cluster_name: String,
865 pub replica_id: Option<StringWrapper>,
866 pub replica_name: String,
867 pub logical_size: String,
868 pub disk: bool,
869 pub billed_as: Option<String>,
870 pub internal: bool,
871 }
872
873 #[derive(
874 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
875 )]
876 pub struct CreateClusterReplicaV2 {
877 pub cluster_id: String,
878 pub cluster_name: String,
879 pub replica_id: Option<StringWrapper>,
880 pub replica_name: String,
881 pub logical_size: String,
882 pub disk: bool,
883 pub billed_as: Option<String>,
884 pub internal: bool,
885 pub reason: Option<CreateOrDropClusterReplicaReasonV1>,
886 pub scheduling_policies: Option<SchedulingDecisionsWithReasonsV1>,
887 }
888
889 #[derive(
890 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
891 )]
892 pub struct DropClusterReplicaV1 {
893 pub cluster_id: String,
894 pub cluster_name: String,
895 pub replica_id: Option<StringWrapper>,
896 pub replica_name: String,
897 }
898
899 #[derive(
900 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
901 )]
902 pub struct DropClusterReplicaV2 {
903 pub cluster_id: String,
904 pub cluster_name: String,
905 pub replica_id: Option<StringWrapper>,
906 pub replica_name: String,
907 pub reason: Option<CreateOrDropClusterReplicaReasonV1>,
908 pub scheduling_policies: Option<SchedulingDecisionsWithReasonsV1>,
909 }
910
911 #[derive(
912 Clone,
913 Copy,
914 Debug,
915 Default,
916 PartialEq,
917 Eq,
918 PartialOrd,
919 Ord,
920 Serialize,
921 Deserialize,
922 Arbitrary,
923 )]
924 pub struct CreateOrDropClusterReplicaReasonV1 {
925 pub reason: Option<create_or_drop_cluster_replica_reason_v1::Reason>,
926 }
927
928 pub mod create_or_drop_cluster_replica_reason_v1 {
929 use super::*;
930
931 #[derive(
932 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
933 )]
934 pub enum Reason {
935 Manual(Empty),
936 Schedule(Empty),
937 System(Empty),
938 }
939 }
940
941 #[derive(
942 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
943 )]
944 pub struct SchedulingDecisionsWithReasonsV1 {
945 pub on_refresh: Option<RefreshDecisionWithReasonV1>,
946 }
947
948 #[derive(
949 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
950 )]
951 pub struct RefreshDecisionWithReasonV1 {
952 pub objects_needing_refresh: Vec<String>,
953 pub rehydration_time_estimate: String,
954 pub decision: Option<refresh_decision_with_reason_v1::Decision>,
955 }
956
957 pub mod refresh_decision_with_reason_v1 {
958 use super::*;
959
960 #[derive(
961 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
962 )]
963 pub enum Decision {
964 On(Empty),
965 Off(Empty),
966 }
967 }
968
969 #[derive(
970 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
971 )]
972 pub struct CreateSourceSinkV1 {
973 pub id: String,
974 pub name: Option<FullNameV1>,
975 pub size: Option<StringWrapper>,
976 }
977
978 #[derive(
979 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
980 )]
981 pub struct CreateSourceSinkV2 {
982 pub id: String,
983 pub name: Option<FullNameV1>,
984 pub size: Option<StringWrapper>,
985 pub external_type: String,
986 }
987
988 #[derive(
989 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
990 )]
991 pub struct CreateSourceSinkV3 {
992 pub id: String,
993 pub name: Option<FullNameV1>,
994 pub external_type: String,
995 }
996
997 #[derive(
998 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
999 )]
1000 pub struct CreateSourceSinkV4 {
1001 pub id: String,
1002 pub cluster_id: Option<StringWrapper>,
1003 pub name: Option<FullNameV1>,
1004 pub external_type: String,
1005 }
1006
1007 #[derive(
1008 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1009 )]
1010 pub struct CreateIndexV1 {
1011 pub id: String,
1012 pub cluster_id: String,
1013 pub name: Option<FullNameV1>,
1014 }
1015
1016 #[derive(
1017 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1018 )]
1019 pub struct CreateMaterializedViewV1 {
1020 pub id: String,
1021 pub cluster_id: String,
1022 pub name: Option<FullNameV1>,
1023 }
1024
1025 #[derive(
1026 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1027 )]
1028 pub struct AlterSourceSinkV1 {
1029 pub id: String,
1030 pub name: Option<FullNameV1>,
1031 pub old_size: Option<StringWrapper>,
1032 pub new_size: Option<StringWrapper>,
1033 }
1034
1035 #[derive(
1036 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1037 )]
1038 pub struct AlterSetClusterV1 {
1039 pub id: String,
1040 pub name: Option<FullNameV1>,
1041 pub old_cluster: Option<StringWrapper>,
1042 pub new_cluster: Option<StringWrapper>,
1043 }
1044
1045 #[derive(
1046 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1047 )]
1048 pub struct GrantRoleV1 {
1049 pub role_id: String,
1050 pub member_id: String,
1051 pub grantor_id: String,
1052 }
1053
1054 #[derive(
1055 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1056 )]
1057 pub struct GrantRoleV2 {
1058 pub role_id: String,
1059 pub member_id: String,
1060 pub grantor_id: String,
1061 pub executed_by: String,
1062 }
1063
1064 #[derive(
1065 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1066 )]
1067 pub struct RevokeRoleV1 {
1068 pub role_id: String,
1069 pub member_id: String,
1070 }
1071
1072 #[derive(
1073 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1074 )]
1075 pub struct RevokeRoleV2 {
1076 pub role_id: String,
1077 pub member_id: String,
1078 pub grantor_id: String,
1079 pub executed_by: String,
1080 }
1081
1082 #[derive(
1083 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1084 )]
1085 pub struct UpdatePrivilegeV1 {
1086 pub object_id: String,
1087 pub grantee_id: String,
1088 pub grantor_id: String,
1089 pub privileges: String,
1090 }
1091
1092 #[derive(
1093 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1094 )]
1095 pub struct AlterDefaultPrivilegeV1 {
1096 pub role_id: String,
1097 pub database_id: Option<StringWrapper>,
1098 pub schema_id: Option<StringWrapper>,
1099 pub grantee_id: String,
1100 pub privileges: String,
1101 }
1102
1103 #[derive(
1104 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1105 )]
1106 pub struct UpdateOwnerV1 {
1107 pub object_id: String,
1108 pub old_owner_id: String,
1109 pub new_owner_id: String,
1110 }
1111
1112 #[derive(
1113 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1114 )]
1115 pub struct SchemaV1 {
1116 pub id: String,
1117 pub name: String,
1118 pub database_name: String,
1119 }
1120
1121 #[derive(
1122 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1123 )]
1124 pub struct SchemaV2 {
1125 pub id: String,
1126 pub name: String,
1127 pub database_name: Option<StringWrapper>,
1128 }
1129
1130 #[derive(
1131 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1132 )]
1133 pub struct RenameSchemaV1 {
1134 pub id: String,
1135 pub database_name: Option<String>,
1136 pub old_name: String,
1137 pub new_name: String,
1138 }
1139
1140 #[derive(
1141 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1142 )]
1143 pub struct UpdateItemV1 {
1144 pub id: String,
1145 pub name: Option<FullNameV1>,
1146 }
1147
1148 #[derive(
1149 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1150 )]
1151 pub struct AlterRetainHistoryV1 {
1152 pub id: String,
1153 pub old_history: Option<String>,
1154 pub new_history: Option<String>,
1155 }
1156
1157 #[derive(
1158 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1159 )]
1160 pub struct ToNewIdV1 {
1161 pub id: String,
1162 pub new_id: String,
1163 }
1164
1165 #[derive(
1166 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1167 )]
1168 pub struct FromPreviousIdV1 {
1169 pub id: String,
1170 pub previous_id: String,
1171 }
1172
1173 #[derive(
1174 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1175 )]
1176 pub struct SetV1 {
1177 pub name: String,
1178 pub value: Option<String>,
1179 }
1180
1181 #[derive(
1182 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1183 )]
1184 pub struct RotateKeysV1 {
1185 pub id: String,
1186 pub name: String,
1187 }
1188
1189 #[derive(
1190 Clone,
1191 Copy,
1192 Debug,
1193 PartialEq,
1194 Eq,
1195 Hash,
1196 PartialOrd,
1197 Ord,
1198 Arbitrary,
1199 IntoPrimitive,
1200 TryFromPrimitive,
1201 )]
1202 #[repr(i32)]
1203 pub enum EventType {
1204 Unknown = 0,
1205 Create = 1,
1206 Drop = 2,
1207 Alter = 3,
1208 Grant = 4,
1209 Revoke = 5,
1210 Comment = 6,
1211 }
1212
1213 #[derive(
1214 Clone,
1215 Copy,
1216 Debug,
1217 PartialEq,
1218 Eq,
1219 Hash,
1220 PartialOrd,
1221 Ord,
1222 Arbitrary,
1223 IntoPrimitive,
1224 TryFromPrimitive,
1225 )]
1226 #[repr(i32)]
1227 pub enum ObjectType {
1228 Unknown = 0,
1229 Cluster = 1,
1230 ClusterReplica = 2,
1231 Connection = 3,
1232 Database = 4,
1233 Func = 5,
1234 Index = 6,
1235 MaterializedView = 7,
1236 Role = 8,
1237 Secret = 9,
1238 Schema = 10,
1239 Sink = 11,
1240 Source = 12,
1241 Table = 13,
1242 Type = 14,
1243 View = 15,
1244 System = 16,
1245 ContinualTask = 17,
1246 }
1247
1248 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1249 pub enum Details {
1250 CreateClusterReplicaV1(CreateClusterReplicaV1),
1251 CreateClusterReplicaV2(CreateClusterReplicaV2),
1252 DropClusterReplicaV1(DropClusterReplicaV1),
1253 DropClusterReplicaV2(DropClusterReplicaV2),
1254 CreateSourceSinkV1(CreateSourceSinkV1),
1255 CreateSourceSinkV2(CreateSourceSinkV2),
1256 AlterSourceSinkV1(AlterSourceSinkV1),
1257 AlterSetClusterV1(AlterSetClusterV1),
1258 GrantRoleV1(GrantRoleV1),
1259 GrantRoleV2(GrantRoleV2),
1260 RevokeRoleV1(RevokeRoleV1),
1261 RevokeRoleV2(RevokeRoleV2),
1262 UpdatePrivilegeV1(UpdatePrivilegeV1),
1263 AlterDefaultPrivilegeV1(AlterDefaultPrivilegeV1),
1264 UpdateOwnerV1(UpdateOwnerV1),
1265 IdFullNameV1(IdFullNameV1),
1266 RenameClusterV1(RenameClusterV1),
1267 RenameClusterReplicaV1(RenameClusterReplicaV1),
1268 RenameItemV1(RenameItemV1),
1269 IdNameV1(IdNameV1),
1270 SchemaV1(SchemaV1),
1271 SchemaV2(SchemaV2),
1272 RenameSchemaV1(RenameSchemaV1),
1273 UpdateItemV1(UpdateItemV1),
1274 CreateSourceSinkV3(CreateSourceSinkV3),
1275 AlterRetainHistoryV1(AlterRetainHistoryV1),
1276 ToNewIdV1(ToNewIdV1),
1277 FromPreviousIdV1(FromPreviousIdV1),
1278 SetV1(SetV1),
1279 ResetAllV1(Empty),
1280 RotateKeysV1(RotateKeysV1),
1281 CreateSourceSinkV4(CreateSourceSinkV4),
1282 CreateIndexV1(CreateIndexV1),
1283 CreateMaterializedViewV1(CreateMaterializedViewV1),
1284 }
1285}
1286
1287#[derive(
1288 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1289)]
1290pub struct StateUpdateKind {
1291 pub kind: Option<state_update_kind::Kind>,
1292}
1293
1294pub mod state_update_kind {
1295 use super::*;
1296
1297 #[derive(
1298 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1299 )]
1300 pub struct AuditLog {
1301 pub key: Option<AuditLogKey>,
1302 }
1303
1304 #[derive(
1305 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1306 )]
1307 pub struct Cluster {
1308 pub key: Option<ClusterKey>,
1309 pub value: Option<ClusterValue>,
1310 }
1311
1312 #[derive(
1313 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1314 )]
1315 pub struct ClusterReplica {
1316 pub key: Option<ClusterReplicaKey>,
1317 pub value: Option<ClusterReplicaValue>,
1318 }
1319
1320 #[derive(
1321 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1322 )]
1323 pub struct Comment {
1324 pub key: Option<CommentKey>,
1325 pub value: Option<CommentValue>,
1326 }
1327
1328 #[derive(
1329 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1330 )]
1331 pub struct Config {
1332 pub key: Option<ConfigKey>,
1333 pub value: Option<ConfigValue>,
1334 }
1335
1336 #[derive(
1337 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1338 )]
1339 pub struct Database {
1340 pub key: Option<DatabaseKey>,
1341 pub value: Option<DatabaseValue>,
1342 }
1343
1344 #[derive(
1345 Clone,
1346 Copy,
1347 Debug,
1348 Default,
1349 PartialEq,
1350 Eq,
1351 PartialOrd,
1352 Ord,
1353 Serialize,
1354 Deserialize,
1355 Arbitrary,
1356 )]
1357 pub struct DefaultPrivileges {
1358 pub key: Option<DefaultPrivilegesKey>,
1359 pub value: Option<DefaultPrivilegesValue>,
1360 }
1361
1362 #[derive(
1363 Clone,
1364 Copy,
1365 Debug,
1366 Default,
1367 PartialEq,
1368 Eq,
1369 PartialOrd,
1370 Ord,
1371 Serialize,
1372 Deserialize,
1373 Arbitrary,
1374 )]
1375 pub struct FenceToken {
1376 pub deploy_generation: u64,
1377 pub epoch: i64,
1378 }
1379
1380 #[derive(
1381 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1382 )]
1383 pub struct IdAlloc {
1384 pub key: Option<IdAllocKey>,
1385 pub value: Option<IdAllocValue>,
1386 }
1387
1388 #[derive(
1389 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1390 )]
1391 pub struct ClusterIntrospectionSourceIndex {
1392 pub key: Option<ClusterIntrospectionSourceIndexKey>,
1393 pub value: Option<ClusterIntrospectionSourceIndexValue>,
1394 }
1395
1396 #[derive(
1397 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1398 )]
1399 pub struct Item {
1400 pub key: Option<ItemKey>,
1401 pub value: Option<ItemValue>,
1402 }
1403
1404 #[derive(
1405 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1406 )]
1407 pub struct Role {
1408 pub key: Option<RoleKey>,
1409 pub value: Option<RoleValue>,
1410 }
1411
1412 #[derive(
1413 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1414 )]
1415 pub struct Schema {
1416 pub key: Option<SchemaKey>,
1417 pub value: Option<SchemaValue>,
1418 }
1419
1420 #[derive(
1421 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1422 )]
1423 pub struct Setting {
1424 pub key: Option<SettingKey>,
1425 pub value: Option<SettingValue>,
1426 }
1427
1428 #[derive(
1429 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1430 )]
1431 pub struct ServerConfiguration {
1432 pub key: Option<ServerConfigurationKey>,
1433 pub value: Option<ServerConfigurationValue>,
1434 }
1435
1436 #[derive(
1437 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1438 )]
1439 pub struct SourceReferences {
1440 pub key: Option<SourceReferencesKey>,
1441 pub value: Option<SourceReferencesValue>,
1442 }
1443
1444 #[derive(
1445 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1446 )]
1447 pub struct GidMapping {
1448 pub key: Option<GidMappingKey>,
1449 pub value: Option<GidMappingValue>,
1450 }
1451
1452 #[derive(
1453 Clone,
1454 Copy,
1455 Debug,
1456 Default,
1457 PartialEq,
1458 Eq,
1459 PartialOrd,
1460 Ord,
1461 Serialize,
1462 Deserialize,
1463 Arbitrary,
1464 )]
1465 pub struct SystemPrivileges {
1466 pub key: Option<SystemPrivilegesKey>,
1467 pub value: Option<SystemPrivilegesValue>,
1468 }
1469
1470 #[derive(
1471 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1472 )]
1473 pub struct StorageCollectionMetadata {
1474 pub key: Option<StorageCollectionMetadataKey>,
1475 pub value: Option<StorageCollectionMetadataValue>,
1476 }
1477
1478 #[derive(
1479 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1480 )]
1481 pub struct UnfinalizedShard {
1482 pub key: Option<UnfinalizedShardKey>,
1483 }
1484
1485 #[derive(
1486 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1487 )]
1488 pub struct TxnWalShard {
1489 pub value: Option<TxnWalShardValue>,
1490 }
1491
1492 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1493 #[serde(tag = "kind")]
1496 pub enum Kind {
1497 AuditLog(AuditLog),
1498 Cluster(Cluster),
1499 ClusterReplica(ClusterReplica),
1500 Comment(Comment),
1501 Config(Config),
1502 Database(Database),
1503 DefaultPrivileges(DefaultPrivileges),
1504 IdAlloc(IdAlloc),
1505 ClusterIntrospectionSourceIndex(ClusterIntrospectionSourceIndex),
1506 Item(Item),
1507 Role(Role),
1508 Schema(Schema),
1509 Setting(Setting),
1510 ServerConfiguration(ServerConfiguration),
1511 GidMapping(GidMapping),
1512 SystemPrivileges(SystemPrivileges),
1513 StorageCollectionMetadata(StorageCollectionMetadata),
1514 UnfinalizedShard(UnfinalizedShard),
1515 TxnWalShard(TxnWalShard),
1516 SourceReferences(SourceReferences),
1517 FenceToken(FenceToken),
1518 }
1519}
1520
1521#[derive(
1522 Clone,
1523 Copy,
1524 Debug,
1525 PartialEq,
1526 Eq,
1527 Hash,
1528 PartialOrd,
1529 Ord,
1530 Arbitrary,
1531 IntoPrimitive,
1532 TryFromPrimitive,
1533)]
1534#[repr(i32)]
1535pub enum CatalogItemType {
1536 Unknown = 0,
1537 Table = 1,
1538 Source = 2,
1539 Sink = 3,
1540 View = 4,
1541 MaterializedView = 5,
1542 Index = 6,
1543 Type = 7,
1544 Func = 8,
1545 Secret = 9,
1546 Connection = 10,
1547 ContinualTask = 11,
1548}
1549
1550#[derive(
1551 Clone,
1552 Copy,
1553 Debug,
1554 PartialEq,
1555 Eq,
1556 Hash,
1557 PartialOrd,
1558 Ord,
1559 Arbitrary,
1560 IntoPrimitive,
1561 TryFromPrimitive,
1562)]
1563#[repr(i32)]
1564pub enum ObjectType {
1565 Unknown = 0,
1566 Table = 1,
1567 View = 2,
1568 MaterializedView = 3,
1569 Source = 4,
1570 Sink = 5,
1571 Index = 6,
1572 Type = 7,
1573 Role = 8,
1574 Cluster = 9,
1575 ClusterReplica = 10,
1576 Secret = 11,
1577 Connection = 12,
1578 Database = 13,
1579 Schema = 14,
1580 Func = 15,
1581 ContinualTask = 16,
1582}