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