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 CreateClusterReplicaV3 {
1012 pub cluster_id: String,
1013 pub cluster_name: String,
1014 pub replica_id: Option<StringWrapper>,
1015 pub replica_name: String,
1016 pub logical_size: String,
1017 pub disk: bool,
1018 pub billed_as: Option<String>,
1019 pub internal: bool,
1020 pub reason: Option<CreateOrDropClusterReplicaReasonV1>,
1021 pub scheduling_policies: Option<SchedulingDecisionsWithReasonsV2>,
1022 }
1023
1024 #[derive(
1025 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1026 )]
1027 pub struct DropClusterReplicaV1 {
1028 pub cluster_id: String,
1029 pub cluster_name: String,
1030 pub replica_id: Option<StringWrapper>,
1031 pub replica_name: String,
1032 }
1033
1034 #[derive(
1035 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1036 )]
1037 pub struct DropClusterReplicaV2 {
1038 pub cluster_id: String,
1039 pub cluster_name: String,
1040 pub replica_id: Option<StringWrapper>,
1041 pub replica_name: String,
1042 pub reason: Option<CreateOrDropClusterReplicaReasonV1>,
1043 pub scheduling_policies: Option<SchedulingDecisionsWithReasonsV1>,
1044 }
1045
1046 #[derive(
1047 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1048 )]
1049 pub struct DropClusterReplicaV3 {
1050 pub cluster_id: String,
1051 pub cluster_name: String,
1052 pub replica_id: Option<StringWrapper>,
1053 pub replica_name: String,
1054 pub reason: Option<CreateOrDropClusterReplicaReasonV1>,
1055 pub scheduling_policies: Option<SchedulingDecisionsWithReasonsV2>,
1056 }
1057
1058 #[derive(
1059 Clone,
1060 Copy,
1061 Debug,
1062 Default,
1063 PartialEq,
1064 Eq,
1065 PartialOrd,
1066 Ord,
1067 Serialize,
1068 Deserialize,
1069 Arbitrary,
1070 )]
1071 pub struct CreateOrDropClusterReplicaReasonV1 {
1072 pub reason: Option<create_or_drop_cluster_replica_reason_v1::Reason>,
1073 }
1074
1075 pub mod create_or_drop_cluster_replica_reason_v1 {
1076 use super::*;
1077
1078 #[derive(
1079 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1080 )]
1081 pub enum Reason {
1082 Manual(Empty),
1083 Schedule(Empty),
1084 System(Empty),
1085 }
1086 }
1087
1088 #[derive(
1089 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1090 )]
1091 pub struct SchedulingDecisionsWithReasonsV1 {
1092 pub on_refresh: Option<RefreshDecisionWithReasonV1>,
1093 }
1094
1095 #[derive(
1096 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1097 )]
1098 pub struct SchedulingDecisionsWithReasonsV2 {
1099 pub on_refresh: Option<RefreshDecisionWithReasonV2>,
1100 }
1101
1102 #[derive(
1103 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1104 )]
1105 pub struct RefreshDecisionWithReasonV1 {
1106 pub objects_needing_refresh: Vec<String>,
1107 pub rehydration_time_estimate: String,
1108 pub decision: Option<refresh_decision_with_reason_v1::Decision>,
1109 }
1110
1111 pub mod refresh_decision_with_reason_v1 {
1112 use super::*;
1113
1114 #[derive(
1115 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1116 )]
1117 pub enum Decision {
1118 On(Empty),
1119 Off(Empty),
1120 }
1121 }
1122
1123 #[derive(
1124 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1125 )]
1126 pub struct RefreshDecisionWithReasonV2 {
1127 pub objects_needing_refresh: Vec<String>,
1128 pub objects_needing_compaction: Vec<String>,
1129 pub rehydration_time_estimate: String,
1130 pub decision: Option<refresh_decision_with_reason_v2::Decision>,
1131 }
1132
1133 pub mod refresh_decision_with_reason_v2 {
1134 use super::*;
1135
1136 #[derive(
1137 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1138 )]
1139 pub enum Decision {
1140 On(Empty),
1141 Off(Empty),
1142 }
1143 }
1144
1145 #[derive(
1146 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1147 )]
1148 pub struct CreateSourceSinkV1 {
1149 pub id: String,
1150 pub name: Option<FullNameV1>,
1151 pub size: Option<StringWrapper>,
1152 }
1153
1154 #[derive(
1155 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1156 )]
1157 pub struct CreateSourceSinkV2 {
1158 pub id: String,
1159 pub name: Option<FullNameV1>,
1160 pub size: Option<StringWrapper>,
1161 pub external_type: String,
1162 }
1163
1164 #[derive(
1165 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1166 )]
1167 pub struct CreateSourceSinkV3 {
1168 pub id: String,
1169 pub name: Option<FullNameV1>,
1170 pub external_type: String,
1171 }
1172
1173 #[derive(
1174 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1175 )]
1176 pub struct CreateSourceSinkV4 {
1177 pub id: String,
1178 pub cluster_id: Option<StringWrapper>,
1179 pub name: Option<FullNameV1>,
1180 pub external_type: String,
1181 }
1182
1183 #[derive(
1184 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1185 )]
1186 pub struct CreateIndexV1 {
1187 pub id: String,
1188 pub cluster_id: String,
1189 pub name: Option<FullNameV1>,
1190 }
1191
1192 #[derive(
1193 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1194 )]
1195 pub struct CreateMaterializedViewV1 {
1196 pub id: String,
1197 pub cluster_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 AlterSourceSinkV1 {
1205 pub id: String,
1206 pub name: Option<FullNameV1>,
1207 pub old_size: Option<StringWrapper>,
1208 pub new_size: Option<StringWrapper>,
1209 }
1210
1211 #[derive(
1212 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1213 )]
1214 pub struct AlterSetClusterV1 {
1215 pub id: String,
1216 pub name: Option<FullNameV1>,
1217 pub old_cluster: Option<StringWrapper>,
1218 pub new_cluster: Option<StringWrapper>,
1219 }
1220
1221 #[derive(
1222 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1223 )]
1224 pub struct GrantRoleV1 {
1225 pub role_id: String,
1226 pub member_id: String,
1227 pub grantor_id: String,
1228 }
1229
1230 #[derive(
1231 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1232 )]
1233 pub struct GrantRoleV2 {
1234 pub role_id: String,
1235 pub member_id: String,
1236 pub grantor_id: String,
1237 pub executed_by: String,
1238 }
1239
1240 #[derive(
1241 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1242 )]
1243 pub struct RevokeRoleV1 {
1244 pub role_id: String,
1245 pub member_id: String,
1246 }
1247
1248 #[derive(
1249 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1250 )]
1251 pub struct RevokeRoleV2 {
1252 pub role_id: String,
1253 pub member_id: String,
1254 pub grantor_id: String,
1255 pub executed_by: String,
1256 }
1257
1258 #[derive(
1259 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1260 )]
1261 pub struct UpdatePrivilegeV1 {
1262 pub object_id: String,
1263 pub grantee_id: String,
1264 pub grantor_id: String,
1265 pub privileges: String,
1266 }
1267
1268 #[derive(
1269 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1270 )]
1271 pub struct AlterDefaultPrivilegeV1 {
1272 pub role_id: String,
1273 pub database_id: Option<StringWrapper>,
1274 pub schema_id: Option<StringWrapper>,
1275 pub grantee_id: String,
1276 pub privileges: String,
1277 }
1278
1279 #[derive(
1280 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1281 )]
1282 pub struct UpdateOwnerV1 {
1283 pub object_id: String,
1284 pub old_owner_id: String,
1285 pub new_owner_id: String,
1286 }
1287
1288 #[derive(
1289 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1290 )]
1291 pub struct SchemaV1 {
1292 pub id: String,
1293 pub name: String,
1294 pub database_name: String,
1295 }
1296
1297 #[derive(
1298 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1299 )]
1300 pub struct SchemaV2 {
1301 pub id: String,
1302 pub name: String,
1303 pub database_name: Option<StringWrapper>,
1304 }
1305
1306 #[derive(
1307 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1308 )]
1309 pub struct RenameSchemaV1 {
1310 pub id: String,
1311 pub database_name: Option<String>,
1312 pub old_name: String,
1313 pub new_name: String,
1314 }
1315
1316 #[derive(
1317 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1318 )]
1319 pub struct UpdateItemV1 {
1320 pub id: String,
1321 pub name: Option<FullNameV1>,
1322 }
1323
1324 #[derive(
1325 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1326 )]
1327 pub struct AlterRetainHistoryV1 {
1328 pub id: String,
1329 pub old_history: Option<String>,
1330 pub new_history: Option<String>,
1331 }
1332
1333 #[derive(
1334 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1335 )]
1336 pub struct ToNewIdV1 {
1337 pub id: String,
1338 pub new_id: String,
1339 }
1340
1341 #[derive(
1342 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1343 )]
1344 pub struct FromPreviousIdV1 {
1345 pub id: String,
1346 pub previous_id: String,
1347 }
1348
1349 #[derive(
1350 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1351 )]
1352 pub struct SetV1 {
1353 pub name: String,
1354 pub value: Option<String>,
1355 }
1356
1357 #[derive(
1358 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1359 )]
1360 pub struct RotateKeysV1 {
1361 pub id: String,
1362 pub name: String,
1363 }
1364
1365 #[derive(
1366 Clone,
1367 Copy,
1368 Debug,
1369 PartialEq,
1370 Eq,
1371 Hash,
1372 PartialOrd,
1373 Ord,
1374 Arbitrary,
1375 IntoPrimitive,
1376 TryFromPrimitive,
1377 )]
1378 #[repr(i32)]
1379 pub enum EventType {
1380 Unknown = 0,
1381 Create = 1,
1382 Drop = 2,
1383 Alter = 3,
1384 Grant = 4,
1385 Revoke = 5,
1386 Comment = 6,
1387 }
1388
1389 #[derive(
1390 Clone,
1391 Copy,
1392 Debug,
1393 PartialEq,
1394 Eq,
1395 Hash,
1396 PartialOrd,
1397 Ord,
1398 Arbitrary,
1399 IntoPrimitive,
1400 TryFromPrimitive,
1401 )]
1402 #[repr(i32)]
1403 pub enum ObjectType {
1404 Unknown = 0,
1405 Cluster = 1,
1406 ClusterReplica = 2,
1407 Connection = 3,
1408 Database = 4,
1409 Func = 5,
1410 Index = 6,
1411 MaterializedView = 7,
1412 Role = 8,
1413 Secret = 9,
1414 Schema = 10,
1415 Sink = 11,
1416 Source = 12,
1417 Table = 13,
1418 Type = 14,
1419 View = 15,
1420 System = 16,
1421 ContinualTask = 17,
1422 NetworkPolicy = 18,
1423 }
1424 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1425 pub enum Details {
1426 CreateClusterReplicaV1(CreateClusterReplicaV1),
1427 CreateClusterReplicaV2(CreateClusterReplicaV2),
1428 CreateClusterReplicaV3(CreateClusterReplicaV3),
1429 DropClusterReplicaV1(DropClusterReplicaV1),
1430 DropClusterReplicaV2(DropClusterReplicaV2),
1431 DropClusterReplicaV3(DropClusterReplicaV3),
1432 CreateSourceSinkV1(CreateSourceSinkV1),
1433 CreateSourceSinkV2(CreateSourceSinkV2),
1434 AlterSourceSinkV1(AlterSourceSinkV1),
1435 AlterSetClusterV1(AlterSetClusterV1),
1436 GrantRoleV1(GrantRoleV1),
1437 GrantRoleV2(GrantRoleV2),
1438 RevokeRoleV1(RevokeRoleV1),
1439 RevokeRoleV2(RevokeRoleV2),
1440 UpdatePrivilegeV1(UpdatePrivilegeV1),
1441 AlterDefaultPrivilegeV1(AlterDefaultPrivilegeV1),
1442 UpdateOwnerV1(UpdateOwnerV1),
1443 IdFullNameV1(IdFullNameV1),
1444 RenameClusterV1(RenameClusterV1),
1445 RenameClusterReplicaV1(RenameClusterReplicaV1),
1446 RenameItemV1(RenameItemV1),
1447 IdNameV1(IdNameV1),
1448 SchemaV1(SchemaV1),
1449 SchemaV2(SchemaV2),
1450 RenameSchemaV1(RenameSchemaV1),
1451 UpdateItemV1(UpdateItemV1),
1452 CreateSourceSinkV3(CreateSourceSinkV3),
1453 AlterRetainHistoryV1(AlterRetainHistoryV1),
1454 ToNewIdV1(ToNewIdV1),
1455 FromPreviousIdV1(FromPreviousIdV1),
1456 SetV1(SetV1),
1457 ResetAllV1(Empty),
1458 RotateKeysV1(RotateKeysV1),
1459 CreateSourceSinkV4(CreateSourceSinkV4),
1460 CreateIndexV1(CreateIndexV1),
1461 CreateMaterializedViewV1(CreateMaterializedViewV1),
1462 }
1463}
1464
1465#[derive(
1466 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1467)]
1468pub struct StateUpdateKind {
1469 pub kind: Option<state_update_kind::Kind>,
1470}
1471
1472pub mod state_update_kind {
1473 use super::*;
1474
1475 #[derive(
1476 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1477 )]
1478 pub struct AuditLog {
1479 pub key: Option<AuditLogKey>,
1480 }
1481
1482 #[derive(
1483 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1484 )]
1485 pub struct Cluster {
1486 pub key: Option<ClusterKey>,
1487 pub value: Option<ClusterValue>,
1488 }
1489
1490 #[derive(
1491 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1492 )]
1493 pub struct ClusterReplica {
1494 pub key: Option<ClusterReplicaKey>,
1495 pub value: Option<ClusterReplicaValue>,
1496 }
1497
1498 #[derive(
1499 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1500 )]
1501 pub struct Comment {
1502 pub key: Option<CommentKey>,
1503 pub value: Option<CommentValue>,
1504 }
1505
1506 #[derive(
1507 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1508 )]
1509 pub struct Config {
1510 pub key: Option<ConfigKey>,
1511 pub value: Option<ConfigValue>,
1512 }
1513
1514 #[derive(
1515 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1516 )]
1517 pub struct Database {
1518 pub key: Option<DatabaseKey>,
1519 pub value: Option<DatabaseValue>,
1520 }
1521
1522 #[derive(
1523 Clone,
1524 Copy,
1525 Debug,
1526 Default,
1527 PartialEq,
1528 Eq,
1529 PartialOrd,
1530 Ord,
1531 Serialize,
1532 Deserialize,
1533 Arbitrary,
1534 )]
1535 pub struct DefaultPrivileges {
1536 pub key: Option<DefaultPrivilegesKey>,
1537 pub value: Option<DefaultPrivilegesValue>,
1538 }
1539
1540 #[derive(
1541 Clone,
1542 Copy,
1543 Debug,
1544 Default,
1545 PartialEq,
1546 Eq,
1547 PartialOrd,
1548 Ord,
1549 Serialize,
1550 Deserialize,
1551 Arbitrary,
1552 )]
1553 pub struct FenceToken {
1554 pub deploy_generation: u64,
1555 pub epoch: i64,
1556 }
1557
1558 #[derive(
1559 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1560 )]
1561 pub struct IdAlloc {
1562 pub key: Option<IdAllocKey>,
1563 pub value: Option<IdAllocValue>,
1564 }
1565
1566 #[derive(
1567 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1568 )]
1569 pub struct ClusterIntrospectionSourceIndex {
1570 pub key: Option<ClusterIntrospectionSourceIndexKey>,
1571 pub value: Option<ClusterIntrospectionSourceIndexValue>,
1572 }
1573
1574 #[derive(
1575 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1576 )]
1577 pub struct Item {
1578 pub key: Option<ItemKey>,
1579 pub value: Option<ItemValue>,
1580 }
1581
1582 #[derive(
1583 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1584 )]
1585 pub struct Role {
1586 pub key: Option<RoleKey>,
1587 pub value: Option<RoleValue>,
1588 }
1589
1590 #[derive(
1591 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1592 )]
1593 pub struct NetworkPolicy {
1594 pub key: Option<NetworkPolicyKey>,
1595 pub value: Option<NetworkPolicyValue>,
1596 }
1597
1598 #[derive(
1599 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1600 )]
1601 pub struct Schema {
1602 pub key: Option<SchemaKey>,
1603 pub value: Option<SchemaValue>,
1604 }
1605
1606 #[derive(
1607 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1608 )]
1609 pub struct Setting {
1610 pub key: Option<SettingKey>,
1611 pub value: Option<SettingValue>,
1612 }
1613
1614 #[derive(
1615 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1616 )]
1617 pub struct ServerConfiguration {
1618 pub key: Option<ServerConfigurationKey>,
1619 pub value: Option<ServerConfigurationValue>,
1620 }
1621
1622 #[derive(
1623 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1624 )]
1625 pub struct SourceReferences {
1626 pub key: Option<SourceReferencesKey>,
1627 pub value: Option<SourceReferencesValue>,
1628 }
1629
1630 #[derive(
1631 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1632 )]
1633 pub struct GidMapping {
1634 pub key: Option<GidMappingKey>,
1635 pub value: Option<GidMappingValue>,
1636 }
1637
1638 #[derive(
1639 Clone,
1640 Copy,
1641 Debug,
1642 Default,
1643 PartialEq,
1644 Eq,
1645 PartialOrd,
1646 Ord,
1647 Serialize,
1648 Deserialize,
1649 Arbitrary,
1650 )]
1651 pub struct SystemPrivileges {
1652 pub key: Option<SystemPrivilegesKey>,
1653 pub value: Option<SystemPrivilegesValue>,
1654 }
1655
1656 #[derive(
1657 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1658 )]
1659 pub struct StorageCollectionMetadata {
1660 pub key: Option<StorageCollectionMetadataKey>,
1661 pub value: Option<StorageCollectionMetadataValue>,
1662 }
1663
1664 #[derive(
1665 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1666 )]
1667 pub struct UnfinalizedShard {
1668 pub key: Option<UnfinalizedShardKey>,
1669 }
1670
1671 #[derive(
1672 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1673 )]
1674 pub struct TxnWalShard {
1675 pub value: Option<TxnWalShardValue>,
1676 }
1677
1678 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1679 #[serde(tag = "kind")]
1682 pub enum Kind {
1683 AuditLog(AuditLog),
1684 Cluster(Cluster),
1685 ClusterReplica(ClusterReplica),
1686 Comment(Comment),
1687 Config(Config),
1688 Database(Database),
1689 DefaultPrivileges(DefaultPrivileges),
1690 IdAlloc(IdAlloc),
1691 ClusterIntrospectionSourceIndex(ClusterIntrospectionSourceIndex),
1692 Item(Item),
1693 Role(Role),
1694 Schema(Schema),
1695 Setting(Setting),
1696 ServerConfiguration(ServerConfiguration),
1697 GidMapping(GidMapping),
1698 SystemPrivileges(SystemPrivileges),
1699 StorageCollectionMetadata(StorageCollectionMetadata),
1700 UnfinalizedShard(UnfinalizedShard),
1701 TxnWalShard(TxnWalShard),
1702 SourceReferences(SourceReferences),
1703 FenceToken(FenceToken),
1704 NetworkPolicy(NetworkPolicy),
1705 }
1706}
1707
1708#[derive(
1709 Clone,
1710 Copy,
1711 Debug,
1712 PartialEq,
1713 Eq,
1714 Hash,
1715 PartialOrd,
1716 Ord,
1717 Arbitrary,
1718 IntoPrimitive,
1719 TryFromPrimitive,
1720)]
1721#[repr(i32)]
1722pub enum CatalogItemType {
1723 Unknown = 0,
1724 Table = 1,
1725 Source = 2,
1726 Sink = 3,
1727 View = 4,
1728 MaterializedView = 5,
1729 Index = 6,
1730 Type = 7,
1731 Func = 8,
1732 Secret = 9,
1733 Connection = 10,
1734 ContinualTask = 11,
1735}
1736
1737#[derive(
1738 Clone,
1739 Copy,
1740 Debug,
1741 PartialEq,
1742 Eq,
1743 Hash,
1744 PartialOrd,
1745 Ord,
1746 Arbitrary,
1747 IntoPrimitive,
1748 TryFromPrimitive,
1749)]
1750#[repr(i32)]
1751pub enum ObjectType {
1752 Unknown = 0,
1753 Table = 1,
1754 View = 2,
1755 MaterializedView = 3,
1756 Source = 4,
1757 Sink = 5,
1758 Index = 6,
1759 Type = 7,
1760 Role = 8,
1761 Cluster = 9,
1762 ClusterReplica = 10,
1763 Secret = 11,
1764 Connection = 12,
1765 Database = 13,
1766 Schema = 14,
1767 Func = 15,
1768 ContinualTask = 16,
1769 NetworkPolicy = 17,
1770}