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 computectl_addrs: Vec<String>,
745 }
746
747 #[derive(
748 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
749 )]
750 pub struct ManagedLocation {
751 pub size: String,
752 pub availability_zone: Option<String>,
753 pub disk: bool,
754 pub internal: bool,
755 pub billed_as: Option<String>,
756 pub pending: bool,
757 }
758
759 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
760 pub enum Location {
761 Unmanaged(UnmanagedLocation),
762 Managed(ManagedLocation),
763 }
764}
765
766#[derive(
767 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
768)]
769pub struct RoleId {
770 pub value: Option<role_id::Value>,
771}
772
773pub mod role_id {
774 use super::*;
775
776 #[derive(
777 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
778 )]
779 pub enum Value {
780 System(u64),
781 User(u64),
782 Public(Empty),
783 Predefined(u64),
784 }
785}
786
787#[derive(
788 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
789)]
790pub struct RoleAttributes {
791 pub inherit: bool,
792 pub superuser: Option<bool>,
793 pub login: Option<bool>,
794}
795
796#[derive(
797 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
798)]
799pub struct RoleMembership {
800 pub map: Vec<role_membership::Entry>,
801}
802
803pub mod role_membership {
804 use super::*;
805
806 #[derive(
807 Clone,
808 Copy,
809 Debug,
810 Default,
811 PartialEq,
812 Eq,
813 PartialOrd,
814 Ord,
815 Serialize,
816 Deserialize,
817 Arbitrary,
818 )]
819 pub struct Entry {
820 pub key: Option<RoleId>,
821 pub value: Option<RoleId>,
822 }
823}
824
825#[derive(
826 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
827)]
828pub struct RoleVars {
829 pub entries: Vec<role_vars::Entry>,
830}
831
832pub mod role_vars {
833 use super::*;
834
835 #[derive(
836 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
837 )]
838 pub struct SqlSet {
839 pub entries: Vec<String>,
840 }
841
842 #[derive(
843 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
844 )]
845 pub struct Entry {
846 pub key: String,
847 pub val: Option<entry::Val>,
848 }
849
850 pub mod entry {
851 use super::*;
852
853 #[derive(
854 Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
855 )]
856 pub enum Val {
857 Flat(String),
858 SqlSet(SqlSet),
859 }
860 }
861}
862
863#[derive(
864 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
865)]
866pub struct NetworkPolicyRule {
867 pub name: String,
868 pub address: String,
869 pub action: Option<network_policy_rule::Action>,
870 pub direction: Option<network_policy_rule::Direction>,
871}
872
873pub mod network_policy_rule {
874 use super::*;
875
876 #[derive(
877 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
878 )]
879 pub enum Action {
880 Allow(Empty),
881 }
882
883 #[derive(
884 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
885 )]
886 pub enum Direction {
887 Ingress(Empty),
888 }
889}
890
891#[derive(
892 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
893)]
894pub struct AclMode {
895 pub bitflags: u64,
896}
897
898#[derive(
899 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
900)]
901pub struct MzAclItem {
902 pub grantee: Option<RoleId>,
903 pub grantor: Option<RoleId>,
904 pub acl_mode: Option<AclMode>,
905}
906
907#[derive(
908 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
909)]
910pub struct DefaultPrivilegesKey {
911 pub role_id: Option<RoleId>,
912 pub database_id: Option<DatabaseId>,
913 pub schema_id: Option<SchemaId>,
914 pub object_type: i32,
915 pub grantee: Option<RoleId>,
916}
917
918#[derive(
919 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
920)]
921pub struct DefaultPrivilegesValue {
922 pub privileges: Option<AclMode>,
923}
924
925#[derive(
926 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
927)]
928pub struct SystemPrivilegesKey {
929 pub grantee: Option<RoleId>,
930 pub grantor: Option<RoleId>,
931}
932
933#[derive(
934 Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
935)]
936pub struct SystemPrivilegesValue {
937 pub acl_mode: Option<AclMode>,
938}
939
940#[derive(
941 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
942)]
943pub struct AuditLogEventV1 {
944 pub id: u64,
945 pub event_type: i32,
946 pub object_type: i32,
947 pub user: Option<StringWrapper>,
948 pub occurred_at: Option<EpochMillis>,
949 pub details: Option<audit_log_event_v1::Details>,
950}
951
952pub mod audit_log_event_v1 {
953 use super::*;
954
955 #[derive(
956 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
957 )]
958 pub struct IdFullNameV1 {
959 pub id: String,
960 pub name: Option<FullNameV1>,
961 }
962
963 #[derive(
964 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
965 )]
966 pub struct FullNameV1 {
967 pub database: String,
968 pub schema: String,
969 pub item: String,
970 }
971
972 #[derive(
973 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
974 )]
975 pub struct IdNameV1 {
976 pub id: String,
977 pub name: String,
978 }
979
980 #[derive(
981 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
982 )]
983 pub struct RenameClusterV1 {
984 pub id: String,
985 pub old_name: String,
986 pub new_name: String,
987 }
988
989 #[derive(
990 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
991 )]
992 pub struct RenameClusterReplicaV1 {
993 pub cluster_id: String,
994 pub replica_id: String,
995 pub old_name: String,
996 pub new_name: String,
997 }
998
999 #[derive(
1000 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1001 )]
1002 pub struct RenameItemV1 {
1003 pub id: String,
1004 pub old_name: Option<FullNameV1>,
1005 pub new_name: Option<FullNameV1>,
1006 }
1007
1008 #[derive(
1009 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1010 )]
1011 pub struct CreateClusterReplicaV1 {
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 }
1021
1022 #[derive(
1023 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1024 )]
1025 pub struct CreateClusterReplicaV2 {
1026 pub cluster_id: String,
1027 pub cluster_name: String,
1028 pub replica_id: Option<StringWrapper>,
1029 pub replica_name: String,
1030 pub logical_size: String,
1031 pub disk: bool,
1032 pub billed_as: Option<String>,
1033 pub internal: bool,
1034 pub reason: Option<CreateOrDropClusterReplicaReasonV1>,
1035 pub scheduling_policies: Option<SchedulingDecisionsWithReasonsV1>,
1036 }
1037
1038 #[derive(
1039 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1040 )]
1041 pub struct CreateClusterReplicaV3 {
1042 pub cluster_id: String,
1043 pub cluster_name: String,
1044 pub replica_id: Option<StringWrapper>,
1045 pub replica_name: String,
1046 pub logical_size: String,
1047 pub disk: bool,
1048 pub billed_as: Option<String>,
1049 pub internal: bool,
1050 pub reason: Option<CreateOrDropClusterReplicaReasonV1>,
1051 pub scheduling_policies: Option<SchedulingDecisionsWithReasonsV2>,
1052 }
1053
1054 #[derive(
1055 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1056 )]
1057 pub struct DropClusterReplicaV1 {
1058 pub cluster_id: String,
1059 pub cluster_name: String,
1060 pub replica_id: Option<StringWrapper>,
1061 pub replica_name: String,
1062 }
1063
1064 #[derive(
1065 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1066 )]
1067 pub struct DropClusterReplicaV2 {
1068 pub cluster_id: String,
1069 pub cluster_name: String,
1070 pub replica_id: Option<StringWrapper>,
1071 pub replica_name: String,
1072 pub reason: Option<CreateOrDropClusterReplicaReasonV1>,
1073 pub scheduling_policies: Option<SchedulingDecisionsWithReasonsV1>,
1074 }
1075
1076 #[derive(
1077 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1078 )]
1079 pub struct DropClusterReplicaV3 {
1080 pub cluster_id: String,
1081 pub cluster_name: String,
1082 pub replica_id: Option<StringWrapper>,
1083 pub replica_name: String,
1084 pub reason: Option<CreateOrDropClusterReplicaReasonV1>,
1085 pub scheduling_policies: Option<SchedulingDecisionsWithReasonsV2>,
1086 }
1087
1088 #[derive(
1089 Clone,
1090 Copy,
1091 Debug,
1092 Default,
1093 PartialEq,
1094 Eq,
1095 PartialOrd,
1096 Ord,
1097 Serialize,
1098 Deserialize,
1099 Arbitrary,
1100 )]
1101 pub struct CreateOrDropClusterReplicaReasonV1 {
1102 pub reason: Option<create_or_drop_cluster_replica_reason_v1::Reason>,
1103 }
1104
1105 pub mod create_or_drop_cluster_replica_reason_v1 {
1106 use super::*;
1107
1108 #[derive(
1109 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1110 )]
1111 pub enum Reason {
1112 Manual(Empty),
1113 Schedule(Empty),
1114 System(Empty),
1115 }
1116 }
1117
1118 #[derive(
1119 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1120 )]
1121 pub struct SchedulingDecisionsWithReasonsV1 {
1122 pub on_refresh: Option<RefreshDecisionWithReasonV1>,
1123 }
1124
1125 #[derive(
1126 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1127 )]
1128 pub struct SchedulingDecisionsWithReasonsV2 {
1129 pub on_refresh: Option<RefreshDecisionWithReasonV2>,
1130 }
1131
1132 #[derive(
1133 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1134 )]
1135 pub struct RefreshDecisionWithReasonV1 {
1136 pub objects_needing_refresh: Vec<String>,
1137 pub rehydration_time_estimate: String,
1138 pub decision: Option<refresh_decision_with_reason_v1::Decision>,
1139 }
1140
1141 pub mod refresh_decision_with_reason_v1 {
1142 use super::*;
1143
1144 #[derive(
1145 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1146 )]
1147 pub enum Decision {
1148 On(Empty),
1149 Off(Empty),
1150 }
1151 }
1152
1153 #[derive(
1154 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1155 )]
1156 pub struct RefreshDecisionWithReasonV2 {
1157 pub objects_needing_refresh: Vec<String>,
1158 pub objects_needing_compaction: Vec<String>,
1159 pub rehydration_time_estimate: String,
1160 pub decision: Option<refresh_decision_with_reason_v2::Decision>,
1161 }
1162
1163 pub mod refresh_decision_with_reason_v2 {
1164 use super::*;
1165
1166 #[derive(
1167 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1168 )]
1169 pub enum Decision {
1170 On(Empty),
1171 Off(Empty),
1172 }
1173 }
1174
1175 #[derive(
1176 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1177 )]
1178 pub struct CreateSourceSinkV1 {
1179 pub id: String,
1180 pub name: Option<FullNameV1>,
1181 pub size: Option<StringWrapper>,
1182 }
1183
1184 #[derive(
1185 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1186 )]
1187 pub struct CreateSourceSinkV2 {
1188 pub id: String,
1189 pub name: Option<FullNameV1>,
1190 pub size: Option<StringWrapper>,
1191 pub external_type: String,
1192 }
1193
1194 #[derive(
1195 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1196 )]
1197 pub struct CreateSourceSinkV3 {
1198 pub id: String,
1199 pub name: Option<FullNameV1>,
1200 pub external_type: String,
1201 }
1202
1203 #[derive(
1204 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1205 )]
1206 pub struct CreateSourceSinkV4 {
1207 pub id: String,
1208 pub cluster_id: Option<StringWrapper>,
1209 pub name: Option<FullNameV1>,
1210 pub external_type: String,
1211 }
1212
1213 #[derive(
1214 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1215 )]
1216 pub struct CreateIndexV1 {
1217 pub id: String,
1218 pub cluster_id: String,
1219 pub name: Option<FullNameV1>,
1220 }
1221
1222 #[derive(
1223 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1224 )]
1225 pub struct CreateMaterializedViewV1 {
1226 pub id: String,
1227 pub cluster_id: String,
1228 pub name: Option<FullNameV1>,
1229 }
1230
1231 #[derive(
1232 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1233 )]
1234 pub struct AlterSourceSinkV1 {
1235 pub id: String,
1236 pub name: Option<FullNameV1>,
1237 pub old_size: Option<StringWrapper>,
1238 pub new_size: Option<StringWrapper>,
1239 }
1240
1241 #[derive(
1242 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1243 )]
1244 pub struct AlterSetClusterV1 {
1245 pub id: String,
1246 pub name: Option<FullNameV1>,
1247 pub old_cluster: Option<StringWrapper>,
1248 pub new_cluster: Option<StringWrapper>,
1249 }
1250
1251 #[derive(
1252 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1253 )]
1254 pub struct GrantRoleV1 {
1255 pub role_id: String,
1256 pub member_id: String,
1257 pub grantor_id: String,
1258 }
1259
1260 #[derive(
1261 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1262 )]
1263 pub struct GrantRoleV2 {
1264 pub role_id: String,
1265 pub member_id: String,
1266 pub grantor_id: String,
1267 pub executed_by: String,
1268 }
1269
1270 #[derive(
1271 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1272 )]
1273 pub struct RevokeRoleV1 {
1274 pub role_id: String,
1275 pub member_id: String,
1276 }
1277
1278 #[derive(
1279 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1280 )]
1281 pub struct RevokeRoleV2 {
1282 pub role_id: String,
1283 pub member_id: String,
1284 pub grantor_id: String,
1285 pub executed_by: String,
1286 }
1287
1288 #[derive(
1289 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1290 )]
1291 pub struct UpdatePrivilegeV1 {
1292 pub object_id: String,
1293 pub grantee_id: String,
1294 pub grantor_id: String,
1295 pub privileges: String,
1296 }
1297
1298 #[derive(
1299 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1300 )]
1301 pub struct AlterDefaultPrivilegeV1 {
1302 pub role_id: String,
1303 pub database_id: Option<StringWrapper>,
1304 pub schema_id: Option<StringWrapper>,
1305 pub grantee_id: String,
1306 pub privileges: String,
1307 }
1308
1309 #[derive(
1310 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1311 )]
1312 pub struct UpdateOwnerV1 {
1313 pub object_id: String,
1314 pub old_owner_id: String,
1315 pub new_owner_id: String,
1316 }
1317
1318 #[derive(
1319 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1320 )]
1321 pub struct SchemaV1 {
1322 pub id: String,
1323 pub name: String,
1324 pub database_name: String,
1325 }
1326
1327 #[derive(
1328 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1329 )]
1330 pub struct SchemaV2 {
1331 pub id: String,
1332 pub name: String,
1333 pub database_name: Option<StringWrapper>,
1334 }
1335
1336 #[derive(
1337 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1338 )]
1339 pub struct RenameSchemaV1 {
1340 pub id: String,
1341 pub database_name: Option<String>,
1342 pub old_name: String,
1343 pub new_name: String,
1344 }
1345
1346 #[derive(
1347 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1348 )]
1349 pub struct UpdateItemV1 {
1350 pub id: String,
1351 pub name: Option<FullNameV1>,
1352 }
1353
1354 #[derive(
1355 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1356 )]
1357 pub struct AlterRetainHistoryV1 {
1358 pub id: String,
1359 pub old_history: Option<String>,
1360 pub new_history: Option<String>,
1361 }
1362
1363 #[derive(
1364 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1365 )]
1366 pub struct ToNewIdV1 {
1367 pub id: String,
1368 pub new_id: String,
1369 }
1370
1371 #[derive(
1372 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1373 )]
1374 pub struct FromPreviousIdV1 {
1375 pub id: String,
1376 pub previous_id: String,
1377 }
1378
1379 #[derive(
1380 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1381 )]
1382 pub struct SetV1 {
1383 pub name: String,
1384 pub value: Option<String>,
1385 }
1386
1387 #[derive(
1388 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1389 )]
1390 pub struct RotateKeysV1 {
1391 pub id: String,
1392 pub name: String,
1393 }
1394
1395 #[derive(
1396 Clone,
1397 Copy,
1398 Debug,
1399 PartialEq,
1400 Eq,
1401 Hash,
1402 PartialOrd,
1403 Ord,
1404 Arbitrary,
1405 IntoPrimitive,
1406 TryFromPrimitive,
1407 )]
1408 #[repr(i32)]
1409 pub enum EventType {
1410 Unknown = 0,
1411 Create = 1,
1412 Drop = 2,
1413 Alter = 3,
1414 Grant = 4,
1415 Revoke = 5,
1416 Comment = 6,
1417 }
1418
1419 #[derive(
1420 Clone,
1421 Copy,
1422 Debug,
1423 PartialEq,
1424 Eq,
1425 Hash,
1426 PartialOrd,
1427 Ord,
1428 Arbitrary,
1429 IntoPrimitive,
1430 TryFromPrimitive,
1431 )]
1432 #[repr(i32)]
1433 pub enum ObjectType {
1434 Unknown = 0,
1435 Cluster = 1,
1436 ClusterReplica = 2,
1437 Connection = 3,
1438 Database = 4,
1439 Func = 5,
1440 Index = 6,
1441 MaterializedView = 7,
1442 Role = 8,
1443 Secret = 9,
1444 Schema = 10,
1445 Sink = 11,
1446 Source = 12,
1447 Table = 13,
1448 Type = 14,
1449 View = 15,
1450 System = 16,
1451 ContinualTask = 17,
1452 NetworkPolicy = 18,
1453 }
1454 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1455 pub enum Details {
1456 CreateClusterReplicaV1(CreateClusterReplicaV1),
1457 CreateClusterReplicaV2(CreateClusterReplicaV2),
1458 CreateClusterReplicaV3(CreateClusterReplicaV3),
1459 DropClusterReplicaV1(DropClusterReplicaV1),
1460 DropClusterReplicaV2(DropClusterReplicaV2),
1461 DropClusterReplicaV3(DropClusterReplicaV3),
1462 CreateSourceSinkV1(CreateSourceSinkV1),
1463 CreateSourceSinkV2(CreateSourceSinkV2),
1464 AlterSourceSinkV1(AlterSourceSinkV1),
1465 AlterSetClusterV1(AlterSetClusterV1),
1466 GrantRoleV1(GrantRoleV1),
1467 GrantRoleV2(GrantRoleV2),
1468 RevokeRoleV1(RevokeRoleV1),
1469 RevokeRoleV2(RevokeRoleV2),
1470 UpdatePrivilegeV1(UpdatePrivilegeV1),
1471 AlterDefaultPrivilegeV1(AlterDefaultPrivilegeV1),
1472 UpdateOwnerV1(UpdateOwnerV1),
1473 IdFullNameV1(IdFullNameV1),
1474 RenameClusterV1(RenameClusterV1),
1475 RenameClusterReplicaV1(RenameClusterReplicaV1),
1476 RenameItemV1(RenameItemV1),
1477 IdNameV1(IdNameV1),
1478 SchemaV1(SchemaV1),
1479 SchemaV2(SchemaV2),
1480 RenameSchemaV1(RenameSchemaV1),
1481 UpdateItemV1(UpdateItemV1),
1482 CreateSourceSinkV3(CreateSourceSinkV3),
1483 AlterRetainHistoryV1(AlterRetainHistoryV1),
1484 ToNewIdV1(ToNewIdV1),
1485 FromPreviousIdV1(FromPreviousIdV1),
1486 SetV1(SetV1),
1487 ResetAllV1(Empty),
1488 RotateKeysV1(RotateKeysV1),
1489 CreateSourceSinkV4(CreateSourceSinkV4),
1490 CreateIndexV1(CreateIndexV1),
1491 CreateMaterializedViewV1(CreateMaterializedViewV1),
1492 }
1493}
1494
1495#[derive(
1496 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1497)]
1498pub struct StateUpdateKind {
1499 pub kind: Option<state_update_kind::Kind>,
1500}
1501
1502pub mod state_update_kind {
1503 use super::*;
1504
1505 #[derive(
1506 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1507 )]
1508 pub struct AuditLog {
1509 pub key: Option<AuditLogKey>,
1510 }
1511
1512 #[derive(
1513 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1514 )]
1515 pub struct Cluster {
1516 pub key: Option<ClusterKey>,
1517 pub value: Option<ClusterValue>,
1518 }
1519
1520 #[derive(
1521 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1522 )]
1523 pub struct ClusterReplica {
1524 pub key: Option<ClusterReplicaKey>,
1525 pub value: Option<ClusterReplicaValue>,
1526 }
1527
1528 #[derive(
1529 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1530 )]
1531 pub struct Comment {
1532 pub key: Option<CommentKey>,
1533 pub value: Option<CommentValue>,
1534 }
1535
1536 #[derive(
1537 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1538 )]
1539 pub struct Config {
1540 pub key: Option<ConfigKey>,
1541 pub value: Option<ConfigValue>,
1542 }
1543
1544 #[derive(
1545 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1546 )]
1547 pub struct Database {
1548 pub key: Option<DatabaseKey>,
1549 pub value: Option<DatabaseValue>,
1550 }
1551
1552 #[derive(
1553 Clone,
1554 Copy,
1555 Debug,
1556 Default,
1557 PartialEq,
1558 Eq,
1559 PartialOrd,
1560 Ord,
1561 Serialize,
1562 Deserialize,
1563 Arbitrary,
1564 )]
1565 pub struct DefaultPrivileges {
1566 pub key: Option<DefaultPrivilegesKey>,
1567 pub value: Option<DefaultPrivilegesValue>,
1568 }
1569
1570 #[derive(
1571 Clone,
1572 Copy,
1573 Debug,
1574 Default,
1575 PartialEq,
1576 Eq,
1577 PartialOrd,
1578 Ord,
1579 Serialize,
1580 Deserialize,
1581 Arbitrary,
1582 )]
1583 pub struct FenceToken {
1584 pub deploy_generation: u64,
1585 pub epoch: i64,
1586 }
1587
1588 #[derive(
1589 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1590 )]
1591 pub struct IdAlloc {
1592 pub key: Option<IdAllocKey>,
1593 pub value: Option<IdAllocValue>,
1594 }
1595
1596 #[derive(
1597 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1598 )]
1599 pub struct ClusterIntrospectionSourceIndex {
1600 pub key: Option<ClusterIntrospectionSourceIndexKey>,
1601 pub value: Option<ClusterIntrospectionSourceIndexValue>,
1602 }
1603
1604 #[derive(
1605 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1606 )]
1607 pub struct Item {
1608 pub key: Option<ItemKey>,
1609 pub value: Option<ItemValue>,
1610 }
1611
1612 #[derive(
1613 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1614 )]
1615 pub struct Role {
1616 pub key: Option<RoleKey>,
1617 pub value: Option<RoleValue>,
1618 }
1619
1620 #[derive(
1621 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1622 )]
1623 pub struct RoleAuth {
1624 pub key: Option<RoleAuthKey>,
1625 pub value: Option<RoleAuthValue>,
1626 }
1627
1628 #[derive(
1629 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1630 )]
1631 pub struct NetworkPolicy {
1632 pub key: Option<NetworkPolicyKey>,
1633 pub value: Option<NetworkPolicyValue>,
1634 }
1635
1636 #[derive(
1637 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1638 )]
1639 pub struct Schema {
1640 pub key: Option<SchemaKey>,
1641 pub value: Option<SchemaValue>,
1642 }
1643
1644 #[derive(
1645 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1646 )]
1647 pub struct Setting {
1648 pub key: Option<SettingKey>,
1649 pub value: Option<SettingValue>,
1650 }
1651
1652 #[derive(
1653 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1654 )]
1655 pub struct ServerConfiguration {
1656 pub key: Option<ServerConfigurationKey>,
1657 pub value: Option<ServerConfigurationValue>,
1658 }
1659
1660 #[derive(
1661 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1662 )]
1663 pub struct SourceReferences {
1664 pub key: Option<SourceReferencesKey>,
1665 pub value: Option<SourceReferencesValue>,
1666 }
1667
1668 #[derive(
1669 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1670 )]
1671 pub struct GidMapping {
1672 pub key: Option<GidMappingKey>,
1673 pub value: Option<GidMappingValue>,
1674 }
1675
1676 #[derive(
1677 Clone,
1678 Copy,
1679 Debug,
1680 Default,
1681 PartialEq,
1682 Eq,
1683 PartialOrd,
1684 Ord,
1685 Serialize,
1686 Deserialize,
1687 Arbitrary,
1688 )]
1689 pub struct SystemPrivileges {
1690 pub key: Option<SystemPrivilegesKey>,
1691 pub value: Option<SystemPrivilegesValue>,
1692 }
1693
1694 #[derive(
1695 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1696 )]
1697 pub struct StorageCollectionMetadata {
1698 pub key: Option<StorageCollectionMetadataKey>,
1699 pub value: Option<StorageCollectionMetadataValue>,
1700 }
1701
1702 #[derive(
1703 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1704 )]
1705 pub struct UnfinalizedShard {
1706 pub key: Option<UnfinalizedShardKey>,
1707 }
1708
1709 #[derive(
1710 Clone, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
1711 )]
1712 pub struct TxnWalShard {
1713 pub value: Option<TxnWalShardValue>,
1714 }
1715
1716 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1717 #[serde(tag = "kind")]
1720 pub enum Kind {
1721 AuditLog(AuditLog),
1722 Cluster(Cluster),
1723 ClusterReplica(ClusterReplica),
1724 Comment(Comment),
1725 Config(Config),
1726 Database(Database),
1727 DefaultPrivileges(DefaultPrivileges),
1728 IdAlloc(IdAlloc),
1729 ClusterIntrospectionSourceIndex(ClusterIntrospectionSourceIndex),
1730 Item(Item),
1731 Role(Role),
1732 Schema(Schema),
1733 Setting(Setting),
1734 ServerConfiguration(ServerConfiguration),
1735 GidMapping(GidMapping),
1736 SystemPrivileges(SystemPrivileges),
1737 StorageCollectionMetadata(StorageCollectionMetadata),
1738 UnfinalizedShard(UnfinalizedShard),
1739 TxnWalShard(TxnWalShard),
1740 SourceReferences(SourceReferences),
1741 FenceToken(FenceToken),
1742 NetworkPolicy(NetworkPolicy),
1743 RoleAuth(RoleAuth),
1744 }
1745}
1746
1747#[derive(
1748 Clone,
1749 Copy,
1750 Debug,
1751 PartialEq,
1752 Eq,
1753 Hash,
1754 PartialOrd,
1755 Ord,
1756 Arbitrary,
1757 IntoPrimitive,
1758 TryFromPrimitive,
1759)]
1760#[repr(i32)]
1761pub enum CatalogItemType {
1762 Unknown = 0,
1763 Table = 1,
1764 Source = 2,
1765 Sink = 3,
1766 View = 4,
1767 MaterializedView = 5,
1768 Index = 6,
1769 Type = 7,
1770 Func = 8,
1771 Secret = 9,
1772 Connection = 10,
1773 ContinualTask = 11,
1774}
1775
1776#[derive(
1777 Clone,
1778 Copy,
1779 Debug,
1780 PartialEq,
1781 Eq,
1782 Hash,
1783 PartialOrd,
1784 Ord,
1785 Arbitrary,
1786 IntoPrimitive,
1787 TryFromPrimitive,
1788)]
1789#[repr(i32)]
1790pub enum ObjectType {
1791 Unknown = 0,
1792 Table = 1,
1793 View = 2,
1794 MaterializedView = 3,
1795 Source = 4,
1796 Sink = 5,
1797 Index = 6,
1798 Type = 7,
1799 Role = 8,
1800 Cluster = 9,
1801 ClusterReplica = 10,
1802 Secret = 11,
1803 Connection = 12,
1804 Database = 13,
1805 Schema = 14,
1806 Func = 15,
1807 ContinualTask = 16,
1808 NetworkPolicy = 17,
1809}