1use proptest_derive::Arbitrary;
11use serde::{Deserialize, Serialize};
12use serde_repr::{Deserialize_repr, Serialize_repr};
13
14#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
15pub struct ConfigKey {
16 pub key: String,
17}
18
19#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
20pub struct ConfigValue {
21 pub value: u64,
22}
23
24#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
25pub struct SettingKey {
26 pub name: String,
27}
28
29#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
30pub struct SettingValue {
31 pub value: String,
32}
33
34#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
35pub struct IdAllocKey {
36 pub name: String,
37}
38
39#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
40pub struct IdAllocValue {
41 pub next_id: u64,
42}
43
44#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
45pub struct GidMappingKey {
46 pub schema_name: String,
47 pub object_type: CatalogItemType,
48 pub object_name: String,
49}
50
51#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
52pub struct GidMappingValue {
53 pub catalog_id: SystemCatalogItemId,
54 pub global_id: SystemGlobalId,
55 pub fingerprint: String,
56}
57
58#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
59pub struct ClusterKey {
60 pub id: ClusterId,
61}
62
63#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
64pub struct ClusterValue {
65 pub name: String,
66 pub owner_id: RoleId,
67 pub privileges: Vec<MzAclItem>,
68 pub config: ClusterConfig,
69}
70
71#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
72pub struct ClusterIntrospectionSourceIndexKey {
73 pub cluster_id: ClusterId,
74 pub name: String,
75}
76
77#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
78pub struct ClusterIntrospectionSourceIndexValue {
79 pub catalog_id: IntrospectionSourceIndexCatalogItemId,
80 pub global_id: IntrospectionSourceIndexGlobalId,
81 pub oid: u32,
82}
83
84#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
85pub struct ClusterReplicaKey {
86 pub id: ReplicaId,
87}
88
89#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
90pub struct ClusterReplicaValue {
91 pub cluster_id: ClusterId,
92 pub name: String,
93 pub config: ReplicaConfig,
94 pub owner_id: RoleId,
95}
96
97#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
98pub struct DatabaseKey {
99 pub id: DatabaseId,
100}
101
102#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
103pub struct DatabaseValue {
104 pub name: String,
105 pub owner_id: RoleId,
106 pub privileges: Vec<MzAclItem>,
107 pub oid: u32,
108}
109
110#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
111pub struct SchemaKey {
112 pub id: SchemaId,
113}
114
115#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
116pub struct SchemaValue {
117 pub database_id: Option<DatabaseId>,
118 pub name: String,
119 pub owner_id: RoleId,
120 pub privileges: Vec<MzAclItem>,
121 pub oid: u32,
122}
123
124#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
125pub struct ItemKey {
126 pub gid: CatalogItemId,
127}
128
129#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
130pub struct ItemValue {
131 pub schema_id: SchemaId,
132 pub name: String,
133 pub definition: CatalogItem,
134 pub owner_id: RoleId,
135 pub privileges: Vec<MzAclItem>,
136 pub oid: u32,
137 pub global_id: GlobalId,
138 pub extra_versions: Vec<ItemVersion>,
139}
140
141#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
142pub struct ItemVersion {
143 pub global_id: GlobalId,
144 pub version: Version,
145}
146
147#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
148pub struct RoleKey {
149 pub id: RoleId,
150}
151
152#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
153pub struct RoleValue {
154 pub name: String,
155 pub attributes: RoleAttributes,
156 pub membership: RoleMembership,
157 pub vars: RoleVars,
158 pub oid: u32,
159}
160
161#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
162pub struct RoleAuthKey {
163 pub id: RoleId,
164}
165
166#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
167pub struct RoleAuthValue {
168 pub password_hash: Option<String>,
169 pub updated_at: EpochMillis,
170}
171
172#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
173pub struct NetworkPolicyKey {
174 pub id: NetworkPolicyId,
175}
176
177#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
178pub struct NetworkPolicyValue {
179 pub name: String,
180 pub rules: Vec<NetworkPolicyRule>,
181 pub owner_id: RoleId,
182 pub privileges: Vec<MzAclItem>,
183 pub oid: u32,
184}
185
186#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
187pub struct ServerConfigurationKey {
188 pub name: String,
189}
190
191#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
192pub struct ServerConfigurationValue {
193 pub value: String,
194}
195
196#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
197pub struct AuditLogKey {
198 pub event: AuditLogEvent,
199}
200
201#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
202pub enum AuditLogEvent {
203 V1(AuditLogEventV1),
204}
205
206#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
207pub struct CommentKey {
208 pub object: CommentObject,
209 pub sub_component: Option<CommentSubComponent>,
210}
211
212#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
213pub enum CommentObject {
214 Table(CatalogItemId),
215 View(CatalogItemId),
216 MaterializedView(CatalogItemId),
217 Source(CatalogItemId),
218 Sink(CatalogItemId),
219 Index(CatalogItemId),
220 Func(CatalogItemId),
221 Connection(CatalogItemId),
222 Type(CatalogItemId),
223 Secret(CatalogItemId),
224 ContinualTask(CatalogItemId),
225 Role(RoleId),
226 Database(DatabaseId),
227 Schema(ResolvedSchema),
228 Cluster(ClusterId),
229 ClusterReplica(ClusterReplicaId),
230 NetworkPolicy(NetworkPolicyId),
231}
232
233#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
234pub enum CommentSubComponent {
235 ColumnPos(u64),
236}
237
238#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
239pub struct CommentValue {
240 pub comment: String,
241}
242
243#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
244pub struct SourceReferencesKey {
245 pub source: CatalogItemId,
246}
247
248#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
249pub struct SourceReferencesValue {
250 pub references: Vec<SourceReference>,
251 pub updated_at: EpochMillis,
252}
253
254#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
255pub struct SourceReference {
256 pub name: String,
257 pub namespace: Option<String>,
258 pub columns: Vec<String>,
259}
260
261#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
262pub struct StorageCollectionMetadataKey {
263 pub id: GlobalId,
264}
265
266#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
267pub struct StorageCollectionMetadataValue {
268 pub shard: String,
269}
270
271#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
272pub struct UnfinalizedShardKey {
273 pub shard: String,
274}
275
276#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
277pub struct TxnWalShardValue {
278 pub shard: String,
279}
280
281#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
282pub struct Empty {}
283
284#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
285pub struct StringWrapper {
286 pub inner: String,
287}
288
289#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
290pub struct Duration {
291 pub secs: u64,
292 pub nanos: u32,
293}
294
295#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
296pub struct EpochMillis {
297 pub millis: u64,
298}
299
300#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
301pub struct Version {
302 pub value: u64,
303}
304
305#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
306pub enum CatalogItem {
307 V1(CatalogItemV1),
308}
309
310#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
311pub struct CatalogItemV1 {
312 pub create_sql: String,
313}
314
315#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
316pub enum CatalogItemId {
317 System(u64),
318 User(u64),
319 Transient(u64),
320 IntrospectionSourceIndex(u64),
321}
322
323#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
324pub struct SystemCatalogItemId(pub u64);
325
326#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
327pub struct IntrospectionSourceIndexCatalogItemId(pub u64);
328
329#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
330pub enum GlobalId {
331 System(u64),
332 User(u64),
333 Transient(u64),
334 Explain,
335 IntrospectionSourceIndex(u64),
336}
337
338#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
339pub struct SystemGlobalId(pub u64);
340
341#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
342pub struct IntrospectionSourceIndexGlobalId(pub u64);
343
344#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
345pub enum ClusterId {
346 System(u64),
347 User(u64),
348}
349
350#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
351pub enum DatabaseId {
352 System(u64),
353 User(u64),
354}
355
356#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
357pub enum ResolvedDatabaseSpecifier {
358 Ambient,
359 Id(DatabaseId),
360}
361
362#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
363pub enum SchemaId {
364 System(u64),
365 User(u64),
366}
367
368#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
369pub enum SchemaSpecifier {
370 Temporary,
371 Id(SchemaId),
372}
373
374#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
375pub struct ResolvedSchema {
376 pub database: ResolvedDatabaseSpecifier,
377 pub schema: SchemaSpecifier,
378}
379
380#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
381pub enum ReplicaId {
382 System(u64),
383 User(u64),
384}
385
386#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
387pub struct ClusterReplicaId {
388 pub cluster_id: ClusterId,
389 pub replica_id: ReplicaId,
390}
391
392#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
393pub enum NetworkPolicyId {
394 System(u64),
395 User(u64),
396}
397
398#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
399pub struct ReplicaLogging {
400 pub log_logging: bool,
401 pub interval: Option<Duration>,
402}
403
404#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
405pub struct OptimizerFeatureOverride {
406 pub name: String,
407 pub value: String,
408}
409
410#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
411pub struct ClusterScheduleRefreshOptions {
412 pub rehydration_time_estimate: Duration,
413}
414
415#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
416pub enum ClusterSchedule {
417 Manual,
418 Refresh(ClusterScheduleRefreshOptions),
419}
420
421#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
422pub struct ClusterConfig {
423 pub workload_class: Option<String>,
424 pub variant: ClusterVariant,
425}
426
427#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
428pub enum ClusterVariant {
429 Unmanaged,
430 Managed(ManagedCluster),
431}
432
433#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
434pub struct ManagedCluster {
435 pub size: String,
436 pub replication_factor: u32,
437 pub availability_zones: Vec<String>,
438 pub logging: ReplicaLogging,
439 pub optimizer_feature_overrides: Vec<OptimizerFeatureOverride>,
440 pub schedule: ClusterSchedule,
441}
442
443#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
444pub struct ReplicaConfig {
445 pub logging: ReplicaLogging,
446 pub location: ReplicaLocation,
447}
448
449#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
450pub struct UnmanagedLocation {
451 pub storagectl_addrs: Vec<String>,
452 pub computectl_addrs: Vec<String>,
453}
454
455#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
456pub struct ManagedLocation {
457 pub size: String,
458 pub availability_zone: Option<String>,
459 pub internal: bool,
460 pub billed_as: Option<String>,
461 pub pending: bool,
462}
463
464#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
465pub enum ReplicaLocation {
466 Unmanaged(UnmanagedLocation),
467 Managed(ManagedLocation),
468}
469
470#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
471pub enum RoleId {
472 System(u64),
473 User(u64),
474 Public,
475 Predefined(u64),
476}
477
478#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
479pub struct RoleAttributes {
480 pub inherit: bool,
481 pub superuser: Option<bool>,
482 pub login: Option<bool>,
483}
484
485#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
486pub struct RoleMembership {
487 pub map: Vec<RoleMembershipEntry>,
488}
489
490#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
491pub struct RoleMembershipEntry {
492 pub key: RoleId,
493 pub value: RoleId,
494}
495
496#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
497pub struct RoleVars {
498 pub entries: Vec<RoleVarsEntry>,
499}
500
501#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
502pub struct RoleVarsEntry {
503 pub key: String,
504 pub val: RoleVar,
505}
506
507#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
508pub enum RoleVar {
509 Flat(String),
510 SqlSet(Vec<String>),
511}
512
513#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
514pub struct NetworkPolicyRule {
515 pub name: String,
516 pub address: String,
517 pub action: NetworkPolicyRuleAction,
518 pub direction: NetworkPolicyRuleDirection,
519}
520
521#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
522pub enum NetworkPolicyRuleAction {
523 Allow,
524}
525
526#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
527pub enum NetworkPolicyRuleDirection {
528 Ingress,
529}
530
531#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
532pub struct AclMode {
533 pub bitflags: u64,
534}
535
536#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
537pub struct MzAclItem {
538 pub grantee: RoleId,
539 pub grantor: RoleId,
540 pub acl_mode: AclMode,
541}
542
543#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
544pub struct DefaultPrivilegesKey {
545 pub role_id: RoleId,
546 pub database_id: Option<DatabaseId>,
547 pub schema_id: Option<SchemaId>,
548 pub object_type: ObjectType,
549 pub grantee: RoleId,
550}
551
552#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
553pub struct DefaultPrivilegesValue {
554 pub privileges: AclMode,
555}
556
557#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
558pub struct SystemPrivilegesKey {
559 pub grantee: RoleId,
560 pub grantor: RoleId,
561}
562
563#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
564pub struct SystemPrivilegesValue {
565 pub acl_mode: AclMode,
566}
567
568#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
569pub struct AuditLogEventV1 {
570 pub id: u64,
571 pub event_type: audit_log_event_v1::EventType,
572 pub object_type: audit_log_event_v1::ObjectType,
573 pub user: Option<StringWrapper>,
574 pub occurred_at: EpochMillis,
575 pub details: audit_log_event_v1::Details,
576}
577
578pub mod audit_log_event_v1 {
579 use super::*;
580
581 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
582 pub struct IdFullNameV1 {
583 pub id: String,
584 pub name: FullNameV1,
585 }
586
587 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
588 pub struct FullNameV1 {
589 pub database: String,
590 pub schema: String,
591 pub item: String,
592 }
593
594 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
595 pub struct IdNameV1 {
596 pub id: String,
597 pub name: String,
598 }
599
600 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
601 pub struct RenameClusterV1 {
602 pub id: String,
603 pub old_name: String,
604 pub new_name: String,
605 }
606
607 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
608 pub struct RenameClusterReplicaV1 {
609 pub cluster_id: String,
610 pub replica_id: String,
611 pub old_name: String,
612 pub new_name: String,
613 }
614
615 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
616 pub struct RenameItemV1 {
617 pub id: String,
618 pub old_name: FullNameV1,
619 pub new_name: FullNameV1,
620 }
621
622 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
623 pub struct CreateClusterReplicaV1 {
624 pub cluster_id: String,
625 pub cluster_name: String,
626 pub replica_id: Option<StringWrapper>,
627 pub replica_name: String,
628 pub logical_size: String,
629 pub disk: bool,
630 pub billed_as: Option<String>,
631 pub internal: bool,
632 }
633
634 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
635 pub struct CreateClusterReplicaV2 {
636 pub cluster_id: String,
637 pub cluster_name: String,
638 pub replica_id: Option<StringWrapper>,
639 pub replica_name: String,
640 pub logical_size: String,
641 pub disk: bool,
642 pub billed_as: Option<String>,
643 pub internal: bool,
644 pub reason: CreateOrDropClusterReplicaReasonV1,
645 pub scheduling_policies: Option<SchedulingDecisionsWithReasonsV1>,
646 }
647
648 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
649 pub struct CreateClusterReplicaV3 {
650 pub cluster_id: String,
651 pub cluster_name: String,
652 pub replica_id: Option<StringWrapper>,
653 pub replica_name: String,
654 pub logical_size: String,
655 pub disk: bool,
656 pub billed_as: Option<String>,
657 pub internal: bool,
658 pub reason: CreateOrDropClusterReplicaReasonV1,
659 pub scheduling_policies: Option<SchedulingDecisionsWithReasonsV2>,
660 }
661
662 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
663 pub struct CreateClusterReplicaV4 {
664 pub cluster_id: String,
665 pub cluster_name: String,
666 pub replica_id: Option<StringWrapper>,
667 pub replica_name: String,
668 pub logical_size: String,
669 pub billed_as: Option<String>,
670 pub internal: bool,
671 pub reason: CreateOrDropClusterReplicaReasonV1,
672 pub scheduling_policies: Option<SchedulingDecisionsWithReasonsV2>,
673 }
674
675 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
676 pub struct DropClusterReplicaV1 {
677 pub cluster_id: String,
678 pub cluster_name: String,
679 pub replica_id: Option<StringWrapper>,
680 pub replica_name: String,
681 }
682
683 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
684 pub struct DropClusterReplicaV2 {
685 pub cluster_id: String,
686 pub cluster_name: String,
687 pub replica_id: Option<StringWrapper>,
688 pub replica_name: String,
689 pub reason: CreateOrDropClusterReplicaReasonV1,
690 pub scheduling_policies: Option<SchedulingDecisionsWithReasonsV1>,
691 }
692
693 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
694 pub struct DropClusterReplicaV3 {
695 pub cluster_id: String,
696 pub cluster_name: String,
697 pub replica_id: Option<StringWrapper>,
698 pub replica_name: String,
699 pub reason: CreateOrDropClusterReplicaReasonV1,
700 pub scheduling_policies: Option<SchedulingDecisionsWithReasonsV2>,
701 }
702
703 #[derive(
704 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
705 )]
706 pub struct CreateOrDropClusterReplicaReasonV1 {
707 pub reason: CreateOrDropClusterReplicaReasonV1Reason,
708 }
709
710 #[derive(
711 Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary,
712 )]
713 pub enum CreateOrDropClusterReplicaReasonV1Reason {
714 Manual(Empty),
715 Schedule(Empty),
716 System(Empty),
717 }
718
719 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
720 pub struct SchedulingDecisionsWithReasonsV1 {
721 pub on_refresh: RefreshDecisionWithReasonV1,
722 }
723
724 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
725 pub struct SchedulingDecisionsWithReasonsV2 {
726 pub on_refresh: RefreshDecisionWithReasonV2,
727 }
728
729 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
730 pub enum RefreshDecision {
731 On(Empty),
732 Off(Empty),
733 }
734
735 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
736 pub struct RefreshDecisionWithReasonV1 {
737 pub objects_needing_refresh: Vec<String>,
738 pub rehydration_time_estimate: String,
739 pub decision: RefreshDecision,
740 }
741
742 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
743 pub struct RefreshDecisionWithReasonV2 {
744 pub objects_needing_refresh: Vec<String>,
745 pub objects_needing_compaction: Vec<String>,
746 pub rehydration_time_estimate: String,
747 pub decision: RefreshDecision,
748 }
749
750 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
751 pub struct CreateSourceSinkV1 {
752 pub id: String,
753 pub name: FullNameV1,
754 pub size: Option<StringWrapper>,
755 }
756
757 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
758 pub struct CreateSourceSinkV2 {
759 pub id: String,
760 pub name: FullNameV1,
761 pub size: Option<StringWrapper>,
762 pub external_type: String,
763 }
764
765 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
766 pub struct CreateSourceSinkV3 {
767 pub id: String,
768 pub name: FullNameV1,
769 pub external_type: String,
770 }
771
772 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
773 pub struct CreateSourceSinkV4 {
774 pub id: String,
775 pub cluster_id: Option<StringWrapper>,
776 pub name: FullNameV1,
777 pub external_type: String,
778 }
779
780 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
781 pub struct CreateIndexV1 {
782 pub id: String,
783 pub cluster_id: String,
784 pub name: FullNameV1,
785 }
786
787 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
788 pub struct CreateMaterializedViewV1 {
789 pub id: String,
790 pub cluster_id: String,
791 pub name: FullNameV1,
792 pub replacement_target_id: Option<String>,
793 }
794
795 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
796 pub struct AlterApplyReplacementV1 {
797 pub target: IdFullNameV1,
798 pub replacement: IdFullNameV1,
799 }
800
801 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
802 pub struct AlterSourceSinkV1 {
803 pub id: String,
804 pub name: FullNameV1,
805 pub old_size: Option<StringWrapper>,
806 pub new_size: Option<StringWrapper>,
807 }
808
809 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
810 pub struct AlterSetClusterV1 {
811 pub id: String,
812 pub name: FullNameV1,
813 pub old_cluster_id: String,
814 pub new_cluster_id: String,
815 }
816
817 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
818 pub struct GrantRoleV1 {
819 pub role_id: String,
820 pub member_id: String,
821 pub grantor_id: String,
822 }
823
824 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
825 pub struct GrantRoleV2 {
826 pub role_id: String,
827 pub member_id: String,
828 pub grantor_id: String,
829 pub executed_by: String,
830 }
831
832 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
833 pub struct RevokeRoleV1 {
834 pub role_id: String,
835 pub member_id: String,
836 }
837
838 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
839 pub struct RevokeRoleV2 {
840 pub role_id: String,
841 pub member_id: String,
842 pub grantor_id: String,
843 pub executed_by: String,
844 }
845
846 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
847 pub struct UpdatePrivilegeV1 {
848 pub object_id: String,
849 pub grantee_id: String,
850 pub grantor_id: String,
851 pub privileges: String,
852 }
853
854 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
855 pub struct AlterDefaultPrivilegeV1 {
856 pub role_id: String,
857 pub database_id: Option<StringWrapper>,
858 pub schema_id: Option<StringWrapper>,
859 pub grantee_id: String,
860 pub privileges: String,
861 }
862
863 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
864 pub struct UpdateOwnerV1 {
865 pub object_id: String,
866 pub old_owner_id: String,
867 pub new_owner_id: String,
868 }
869
870 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
871 pub struct SchemaV1 {
872 pub id: String,
873 pub name: String,
874 pub database_name: String,
875 }
876
877 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
878 pub struct SchemaV2 {
879 pub id: String,
880 pub name: String,
881 pub database_name: Option<StringWrapper>,
882 }
883
884 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
885 pub struct RenameSchemaV1 {
886 pub id: String,
887 pub database_name: Option<String>,
888 pub old_name: String,
889 pub new_name: String,
890 }
891
892 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
893 pub struct UpdateItemV1 {
894 pub id: String,
895 pub name: FullNameV1,
896 }
897
898 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
899 pub struct AlterRetainHistoryV1 {
900 pub id: String,
901 pub old_history: Option<String>,
902 pub new_history: Option<String>,
903 }
904
905 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
906 pub struct ToNewIdV1 {
907 pub id: String,
908 pub new_id: String,
909 }
910
911 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
912 pub struct FromPreviousIdV1 {
913 pub id: String,
914 pub previous_id: String,
915 }
916
917 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
918 pub struct SetV1 {
919 pub name: String,
920 pub value: Option<String>,
921 }
922
923 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
924 pub struct RotateKeysV1 {
925 pub id: String,
926 pub name: String,
927 }
928
929 #[derive(
930 Clone,
931 Copy,
932 Debug,
933 PartialEq,
934 Eq,
935 Hash,
936 PartialOrd,
937 Ord,
938 Serialize_repr,
939 Deserialize_repr,
940 Arbitrary,
941 )]
942 #[repr(u8)]
943 pub enum EventType {
944 Unknown = 0,
945 Create = 1,
946 Drop = 2,
947 Alter = 3,
948 Grant = 4,
949 Revoke = 5,
950 Comment = 6,
951 }
952
953 #[derive(
954 Clone,
955 Copy,
956 Debug,
957 PartialEq,
958 Eq,
959 Hash,
960 PartialOrd,
961 Ord,
962 Serialize_repr,
963 Deserialize_repr,
964 Arbitrary,
965 )]
966 #[repr(u8)]
967 pub enum ObjectType {
968 Unknown = 0,
969 Cluster = 1,
970 ClusterReplica = 2,
971 Connection = 3,
972 Database = 4,
973 Func = 5,
974 Index = 6,
975 MaterializedView = 7,
976 Role = 8,
977 Secret = 9,
978 Schema = 10,
979 Sink = 11,
980 Source = 12,
981 Table = 13,
982 Type = 14,
983 View = 15,
984 System = 16,
985 ContinualTask = 17,
986 NetworkPolicy = 18,
987 }
988
989 #[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
990 pub enum Details {
991 CreateClusterReplicaV1(CreateClusterReplicaV1),
992 CreateClusterReplicaV2(CreateClusterReplicaV2),
993 CreateClusterReplicaV3(CreateClusterReplicaV3),
994 CreateClusterReplicaV4(CreateClusterReplicaV4),
995 DropClusterReplicaV1(DropClusterReplicaV1),
996 DropClusterReplicaV2(DropClusterReplicaV2),
997 DropClusterReplicaV3(DropClusterReplicaV3),
998 CreateSourceSinkV1(CreateSourceSinkV1),
999 CreateSourceSinkV2(CreateSourceSinkV2),
1000 AlterSourceSinkV1(AlterSourceSinkV1),
1001 AlterSetClusterV1(AlterSetClusterV1),
1002 GrantRoleV1(GrantRoleV1),
1003 GrantRoleV2(GrantRoleV2),
1004 RevokeRoleV1(RevokeRoleV1),
1005 RevokeRoleV2(RevokeRoleV2),
1006 UpdatePrivilegeV1(UpdatePrivilegeV1),
1007 AlterDefaultPrivilegeV1(AlterDefaultPrivilegeV1),
1008 UpdateOwnerV1(UpdateOwnerV1),
1009 IdFullNameV1(IdFullNameV1),
1010 RenameClusterV1(RenameClusterV1),
1011 RenameClusterReplicaV1(RenameClusterReplicaV1),
1012 RenameItemV1(RenameItemV1),
1013 IdNameV1(IdNameV1),
1014 SchemaV1(SchemaV1),
1015 SchemaV2(SchemaV2),
1016 RenameSchemaV1(RenameSchemaV1),
1017 UpdateItemV1(UpdateItemV1),
1018 CreateSourceSinkV3(CreateSourceSinkV3),
1019 AlterRetainHistoryV1(AlterRetainHistoryV1),
1020 ToNewIdV1(ToNewIdV1),
1021 FromPreviousIdV1(FromPreviousIdV1),
1022 SetV1(SetV1),
1023 ResetAllV1(Empty),
1024 RotateKeysV1(RotateKeysV1),
1025 CreateSourceSinkV4(CreateSourceSinkV4),
1026 CreateIndexV1(CreateIndexV1),
1027 CreateMaterializedViewV1(CreateMaterializedViewV1),
1028 AlterApplyReplacementV1(AlterApplyReplacementV1),
1029 }
1030}
1031
1032#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1034#[serde(tag = "kind")]
1037pub enum StateUpdateKind {
1038 AuditLog(AuditLog),
1039 Cluster(Cluster),
1040 ClusterIntrospectionSourceIndex(ClusterIntrospectionSourceIndex),
1041 ClusterReplica(ClusterReplica),
1042 Comment(Comment),
1043 Config(Config),
1044 Database(Database),
1045 DefaultPrivileges(DefaultPrivileges),
1046 FenceToken(FenceToken),
1047 GidMapping(GidMapping),
1048 IdAlloc(IdAlloc),
1049 Item(Item),
1050 NetworkPolicy(NetworkPolicy),
1051 Role(Role),
1052 RoleAuth(RoleAuth),
1053 Schema(Schema),
1054 ServerConfiguration(ServerConfiguration),
1055 Setting(Setting),
1056 SourceReferences(SourceReferences),
1057 StorageCollectionMetadata(StorageCollectionMetadata),
1058 SystemPrivileges(SystemPrivileges),
1059 TxnWalShard(TxnWalShard),
1060 UnfinalizedShard(UnfinalizedShard),
1061}
1062
1063#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1064pub struct AuditLog {
1065 pub key: AuditLogKey,
1066}
1067
1068#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1069pub struct Cluster {
1070 pub key: ClusterKey,
1071 pub value: ClusterValue,
1072}
1073
1074#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1075pub struct ClusterReplica {
1076 pub key: ClusterReplicaKey,
1077 pub value: ClusterReplicaValue,
1078}
1079
1080#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1081pub struct Comment {
1082 pub key: CommentKey,
1083 pub value: CommentValue,
1084}
1085
1086#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1087pub struct Config {
1088 pub key: ConfigKey,
1089 pub value: ConfigValue,
1090}
1091
1092#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1093pub struct Database {
1094 pub key: DatabaseKey,
1095 pub value: DatabaseValue,
1096}
1097
1098#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1099pub struct DefaultPrivileges {
1100 pub key: DefaultPrivilegesKey,
1101 pub value: DefaultPrivilegesValue,
1102}
1103
1104#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1105pub struct FenceToken {
1106 pub deploy_generation: u64,
1107 pub epoch: i64,
1108}
1109
1110#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1111pub struct IdAlloc {
1112 pub key: IdAllocKey,
1113 pub value: IdAllocValue,
1114}
1115
1116#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1117pub struct ClusterIntrospectionSourceIndex {
1118 pub key: ClusterIntrospectionSourceIndexKey,
1119 pub value: ClusterIntrospectionSourceIndexValue,
1120}
1121
1122#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1123pub struct Item {
1124 pub key: ItemKey,
1125 pub value: ItemValue,
1126}
1127
1128#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1129pub struct Role {
1130 pub key: RoleKey,
1131 pub value: RoleValue,
1132}
1133
1134#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1135pub struct RoleAuth {
1136 pub key: RoleAuthKey,
1137 pub value: RoleAuthValue,
1138}
1139
1140#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1141pub struct NetworkPolicy {
1142 pub key: NetworkPolicyKey,
1143 pub value: NetworkPolicyValue,
1144}
1145
1146#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1147pub struct Schema {
1148 pub key: SchemaKey,
1149 pub value: SchemaValue,
1150}
1151
1152#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1153pub struct Setting {
1154 pub key: SettingKey,
1155 pub value: SettingValue,
1156}
1157
1158#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1159pub struct ServerConfiguration {
1160 pub key: ServerConfigurationKey,
1161 pub value: ServerConfigurationValue,
1162}
1163
1164#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1165pub struct SourceReferences {
1166 pub key: SourceReferencesKey,
1167 pub value: SourceReferencesValue,
1168}
1169
1170#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1171pub struct GidMapping {
1172 pub key: GidMappingKey,
1173 pub value: GidMappingValue,
1174}
1175
1176#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1177pub struct SystemPrivileges {
1178 pub key: SystemPrivilegesKey,
1179 pub value: SystemPrivilegesValue,
1180}
1181
1182#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1183pub struct StorageCollectionMetadata {
1184 pub key: StorageCollectionMetadataKey,
1185 pub value: StorageCollectionMetadataValue,
1186}
1187
1188#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1189pub struct UnfinalizedShard {
1190 pub key: UnfinalizedShardKey,
1191}
1192
1193#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Serialize, Deserialize, Arbitrary)]
1194pub struct TxnWalShard {
1195 pub value: TxnWalShardValue,
1196}
1197
1198#[derive(
1199 Clone,
1200 Copy,
1201 Debug,
1202 PartialEq,
1203 Eq,
1204 Hash,
1205 PartialOrd,
1206 Ord,
1207 Serialize_repr,
1208 Deserialize_repr,
1209 Arbitrary,
1210)]
1211#[repr(u8)]
1212pub enum CatalogItemType {
1213 Unknown = 0,
1214 Table = 1,
1215 Source = 2,
1216 Sink = 3,
1217 View = 4,
1218 MaterializedView = 5,
1219 Index = 6,
1220 Type = 7,
1221 Func = 8,
1222 Secret = 9,
1223 Connection = 10,
1224 ContinualTask = 11,
1225}
1226
1227#[derive(
1228 Clone,
1229 Copy,
1230 Debug,
1231 PartialEq,
1232 Eq,
1233 Hash,
1234 PartialOrd,
1235 Ord,
1236 Serialize_repr,
1237 Deserialize_repr,
1238 Arbitrary,
1239)]
1240#[repr(u8)]
1241pub enum ObjectType {
1242 Unknown = 0,
1243 Table = 1,
1244 View = 2,
1245 MaterializedView = 3,
1246 Source = 4,
1247 Sink = 5,
1248 Index = 6,
1249 Type = 7,
1250 Role = 8,
1251 Cluster = 9,
1252 ClusterReplica = 10,
1253 Secret = 11,
1254 Connection = 12,
1255 Database = 13,
1256 Schema = 14,
1257 Func = 15,
1258 ContinualTask = 16,
1259 NetworkPolicy = 17,
1260}