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