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