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