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