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