mz_catalog_protos/mnt/build/debug/build/mz-catalog-protos-a3b3a429d61b06fe/out/
objects_v68.rs

1// This file is @generated by prost-build.
2#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
3#[derive(::proptest_derive::Arbitrary)]
4#[derive(Clone, PartialEq, ::prost::Message)]
5pub struct ConfigKey {
6    #[prost(string, tag = "1")]
7    pub key: ::prost::alloc::string::String,
8}
9#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
10#[derive(::proptest_derive::Arbitrary)]
11#[derive(Clone, Copy, PartialEq, ::prost::Message)]
12pub struct ConfigValue {
13    #[prost(uint64, tag = "1")]
14    pub value: u64,
15}
16#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
17#[derive(::proptest_derive::Arbitrary)]
18#[derive(Clone, PartialEq, ::prost::Message)]
19pub struct SettingKey {
20    #[prost(string, tag = "1")]
21    pub name: ::prost::alloc::string::String,
22}
23#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
24#[derive(::proptest_derive::Arbitrary)]
25#[derive(Clone, PartialEq, ::prost::Message)]
26pub struct SettingValue {
27    #[prost(string, tag = "1")]
28    pub value: ::prost::alloc::string::String,
29}
30#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
31#[derive(::proptest_derive::Arbitrary)]
32#[derive(Clone, PartialEq, ::prost::Message)]
33pub struct IdAllocKey {
34    #[prost(string, tag = "1")]
35    pub name: ::prost::alloc::string::String,
36}
37#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
38#[derive(::proptest_derive::Arbitrary)]
39#[derive(Clone, Copy, PartialEq, ::prost::Message)]
40pub struct IdAllocValue {
41    #[prost(uint64, tag = "1")]
42    pub next_id: u64,
43}
44#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
45#[derive(::proptest_derive::Arbitrary)]
46#[derive(Clone, PartialEq, ::prost::Message)]
47pub struct GidMappingKey {
48    #[prost(string, tag = "1")]
49    pub schema_name: ::prost::alloc::string::String,
50    #[prost(enumeration = "CatalogItemType", tag = "2")]
51    pub object_type: i32,
52    #[prost(string, tag = "3")]
53    pub object_name: ::prost::alloc::string::String,
54}
55#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
56#[derive(::proptest_derive::Arbitrary)]
57#[derive(Clone, PartialEq, ::prost::Message)]
58pub struct GidMappingValue {
59    /// TODO(parkmycar): Ideally this is a SystemCatalogItemId but making this change panics 0dt
60    /// upgrades if there were new builtin objects added since the older version of Materialize
61    /// doesn't know how to read the new SystemCatalogItemId type.
62    #[prost(uint64, tag = "1")]
63    pub id: u64,
64    #[prost(string, tag = "2")]
65    pub fingerprint: ::prost::alloc::string::String,
66    #[prost(message, optional, tag = "3")]
67    pub global_id: ::core::option::Option<SystemGlobalId>,
68}
69#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
70#[derive(::proptest_derive::Arbitrary)]
71#[derive(Clone, Copy, PartialEq, ::prost::Message)]
72pub struct ClusterKey {
73    #[prost(message, optional, tag = "1")]
74    pub id: ::core::option::Option<ClusterId>,
75}
76#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
77#[derive(::proptest_derive::Arbitrary)]
78#[derive(Clone, PartialEq, ::prost::Message)]
79pub struct ClusterValue {
80    #[prost(string, tag = "1")]
81    pub name: ::prost::alloc::string::String,
82    #[prost(message, optional, tag = "3")]
83    pub owner_id: ::core::option::Option<RoleId>,
84    #[prost(message, repeated, tag = "4")]
85    pub privileges: ::prost::alloc::vec::Vec<MzAclItem>,
86    #[prost(message, optional, tag = "5")]
87    pub config: ::core::option::Option<ClusterConfig>,
88}
89#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
90#[derive(::proptest_derive::Arbitrary)]
91#[derive(Clone, PartialEq, ::prost::Message)]
92pub struct ClusterIntrospectionSourceIndexKey {
93    #[prost(message, optional, tag = "1")]
94    pub cluster_id: ::core::option::Option<ClusterId>,
95    #[prost(string, tag = "2")]
96    pub name: ::prost::alloc::string::String,
97}
98#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
99#[derive(::proptest_derive::Arbitrary)]
100#[derive(Clone, Copy, PartialEq, ::prost::Message)]
101pub struct ClusterIntrospectionSourceIndexValue {
102    /// TODO(parkmycar): Ideally this is a SystemCatalogItemId but making this change panics 0dt
103    /// upgrades if there were new builtin objects added since the older version of Materialize
104    /// doesn't know how to read the new SystemCatalogItemId type.
105    #[prost(uint64, tag = "1")]
106    pub index_id: u64,
107    #[prost(uint32, tag = "2")]
108    pub oid: u32,
109    #[prost(message, optional, tag = "3")]
110    pub global_id: ::core::option::Option<SystemGlobalId>,
111}
112#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
113#[derive(::proptest_derive::Arbitrary)]
114#[derive(Clone, Copy, PartialEq, ::prost::Message)]
115pub struct ClusterReplicaKey {
116    #[prost(message, optional, tag = "1")]
117    pub id: ::core::option::Option<ReplicaId>,
118}
119#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
120#[derive(::proptest_derive::Arbitrary)]
121#[derive(Clone, PartialEq, ::prost::Message)]
122pub struct ClusterReplicaValue {
123    #[prost(message, optional, tag = "1")]
124    pub cluster_id: ::core::option::Option<ClusterId>,
125    #[prost(string, tag = "2")]
126    pub name: ::prost::alloc::string::String,
127    #[prost(message, optional, tag = "3")]
128    pub config: ::core::option::Option<ReplicaConfig>,
129    #[prost(message, optional, tag = "4")]
130    pub owner_id: ::core::option::Option<RoleId>,
131}
132#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
133#[derive(::proptest_derive::Arbitrary)]
134#[derive(Clone, Copy, PartialEq, ::prost::Message)]
135pub struct DatabaseKey {
136    #[prost(message, optional, tag = "1")]
137    pub id: ::core::option::Option<DatabaseId>,
138}
139#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
140#[derive(::proptest_derive::Arbitrary)]
141#[derive(Clone, PartialEq, ::prost::Message)]
142pub struct DatabaseValue {
143    #[prost(string, tag = "1")]
144    pub name: ::prost::alloc::string::String,
145    #[prost(message, optional, tag = "2")]
146    pub owner_id: ::core::option::Option<RoleId>,
147    #[prost(message, repeated, tag = "3")]
148    pub privileges: ::prost::alloc::vec::Vec<MzAclItem>,
149    #[prost(uint32, tag = "4")]
150    pub oid: u32,
151}
152#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
153#[derive(::proptest_derive::Arbitrary)]
154#[derive(Clone, Copy, PartialEq, ::prost::Message)]
155pub struct SchemaKey {
156    #[prost(message, optional, tag = "1")]
157    pub id: ::core::option::Option<SchemaId>,
158}
159#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
160#[derive(::proptest_derive::Arbitrary)]
161#[derive(Clone, PartialEq, ::prost::Message)]
162pub struct SchemaValue {
163    #[prost(message, optional, tag = "1")]
164    pub database_id: ::core::option::Option<DatabaseId>,
165    #[prost(string, tag = "2")]
166    pub name: ::prost::alloc::string::String,
167    #[prost(message, optional, tag = "3")]
168    pub owner_id: ::core::option::Option<RoleId>,
169    #[prost(message, repeated, tag = "4")]
170    pub privileges: ::prost::alloc::vec::Vec<MzAclItem>,
171    #[prost(uint32, tag = "5")]
172    pub oid: u32,
173}
174#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
175#[derive(::proptest_derive::Arbitrary)]
176#[derive(Clone, Copy, PartialEq, ::prost::Message)]
177pub struct ItemKey {
178    #[prost(message, optional, tag = "1")]
179    pub gid: ::core::option::Option<CatalogItemId>,
180}
181#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
182#[derive(::proptest_derive::Arbitrary)]
183#[derive(Clone, PartialEq, ::prost::Message)]
184pub struct ItemValue {
185    #[prost(message, optional, tag = "1")]
186    pub schema_id: ::core::option::Option<SchemaId>,
187    #[prost(string, tag = "2")]
188    pub name: ::prost::alloc::string::String,
189    #[prost(message, optional, tag = "3")]
190    pub definition: ::core::option::Option<CatalogItem>,
191    #[prost(message, optional, tag = "4")]
192    pub owner_id: ::core::option::Option<RoleId>,
193    #[prost(message, repeated, tag = "5")]
194    pub privileges: ::prost::alloc::vec::Vec<MzAclItem>,
195    #[prost(uint32, tag = "6")]
196    pub oid: u32,
197    #[prost(message, optional, tag = "7")]
198    pub global_id: ::core::option::Option<GlobalId>,
199    #[prost(message, repeated, tag = "8")]
200    pub extra_versions: ::prost::alloc::vec::Vec<ItemVersion>,
201}
202#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
203#[derive(::proptest_derive::Arbitrary)]
204#[derive(Clone, Copy, PartialEq, ::prost::Message)]
205pub struct ItemVersion {
206    #[prost(message, optional, tag = "1")]
207    pub global_id: ::core::option::Option<GlobalId>,
208    #[prost(message, optional, tag = "2")]
209    pub version: ::core::option::Option<Version>,
210}
211#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
212#[derive(::proptest_derive::Arbitrary)]
213#[derive(Clone, Copy, PartialEq, ::prost::Message)]
214pub struct RoleKey {
215    #[prost(message, optional, tag = "1")]
216    pub id: ::core::option::Option<RoleId>,
217}
218#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
219#[derive(::proptest_derive::Arbitrary)]
220#[derive(Clone, PartialEq, ::prost::Message)]
221pub struct RoleValue {
222    #[prost(string, tag = "1")]
223    pub name: ::prost::alloc::string::String,
224    #[prost(message, optional, tag = "2")]
225    pub attributes: ::core::option::Option<RoleAttributes>,
226    #[prost(message, optional, tag = "3")]
227    pub membership: ::core::option::Option<RoleMembership>,
228    #[prost(message, optional, tag = "4")]
229    pub vars: ::core::option::Option<RoleVars>,
230    #[prost(uint32, tag = "5")]
231    pub oid: u32,
232}
233#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
234#[derive(::proptest_derive::Arbitrary)]
235#[derive(Clone, PartialEq, ::prost::Message)]
236pub struct ServerConfigurationKey {
237    #[prost(string, tag = "1")]
238    pub name: ::prost::alloc::string::String,
239}
240#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
241#[derive(::proptest_derive::Arbitrary)]
242#[derive(Clone, PartialEq, ::prost::Message)]
243pub struct ServerConfigurationValue {
244    #[prost(string, tag = "1")]
245    pub value: ::prost::alloc::string::String,
246}
247#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
248#[derive(::proptest_derive::Arbitrary)]
249#[derive(Clone, PartialEq, ::prost::Message)]
250pub struct AuditLogKey {
251    #[prost(oneof = "audit_log_key::Event", tags = "1")]
252    pub event: ::core::option::Option<audit_log_key::Event>,
253}
254/// Nested message and enum types in `AuditLogKey`.
255pub mod audit_log_key {
256    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
257    #[derive(::proptest_derive::Arbitrary)]
258    #[derive(Clone, PartialEq, ::prost::Oneof)]
259    pub enum Event {
260        #[prost(message, tag = "1")]
261        V1(super::AuditLogEventV1),
262    }
263}
264#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
265#[derive(::proptest_derive::Arbitrary)]
266#[derive(Clone, Copy, PartialEq, ::prost::Message)]
267pub struct CommentKey {
268    #[prost(
269        oneof = "comment_key::Object",
270        tags = "1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 17, 12, 13, 14, 15, 16"
271    )]
272    pub object: ::core::option::Option<comment_key::Object>,
273    #[prost(oneof = "comment_key::SubComponent", tags = "3")]
274    pub sub_component: ::core::option::Option<comment_key::SubComponent>,
275}
276/// Nested message and enum types in `CommentKey`.
277pub mod comment_key {
278    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
279    #[derive(::proptest_derive::Arbitrary)]
280    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
281    pub enum Object {
282        #[prost(message, tag = "1")]
283        Table(super::CatalogItemId),
284        #[prost(message, tag = "2")]
285        View(super::CatalogItemId),
286        #[prost(message, tag = "4")]
287        MaterializedView(super::CatalogItemId),
288        #[prost(message, tag = "5")]
289        Source(super::CatalogItemId),
290        #[prost(message, tag = "6")]
291        Sink(super::CatalogItemId),
292        #[prost(message, tag = "7")]
293        Index(super::CatalogItemId),
294        #[prost(message, tag = "8")]
295        Func(super::CatalogItemId),
296        #[prost(message, tag = "9")]
297        Connection(super::CatalogItemId),
298        #[prost(message, tag = "10")]
299        Type(super::CatalogItemId),
300        #[prost(message, tag = "11")]
301        Secret(super::CatalogItemId),
302        #[prost(message, tag = "17")]
303        ContinualTask(super::CatalogItemId),
304        #[prost(message, tag = "12")]
305        Role(super::RoleId),
306        #[prost(message, tag = "13")]
307        Database(super::DatabaseId),
308        #[prost(message, tag = "14")]
309        Schema(super::ResolvedSchema),
310        #[prost(message, tag = "15")]
311        Cluster(super::ClusterId),
312        #[prost(message, tag = "16")]
313        ClusterReplica(super::ClusterReplicaId),
314    }
315    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
316    #[derive(::proptest_derive::Arbitrary)]
317    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
318    pub enum SubComponent {
319        #[prost(uint64, tag = "3")]
320        ColumnPos(u64),
321    }
322}
323#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
324#[derive(::proptest_derive::Arbitrary)]
325#[derive(Clone, PartialEq, ::prost::Message)]
326pub struct CommentValue {
327    #[prost(string, tag = "1")]
328    pub comment: ::prost::alloc::string::String,
329}
330#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
331#[derive(::proptest_derive::Arbitrary)]
332#[derive(Clone, Copy, PartialEq, ::prost::Message)]
333pub struct SourceReferencesKey {
334    #[prost(message, optional, tag = "1")]
335    pub source: ::core::option::Option<CatalogItemId>,
336}
337#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
338#[derive(::proptest_derive::Arbitrary)]
339#[derive(Clone, PartialEq, ::prost::Message)]
340pub struct SourceReferencesValue {
341    #[prost(message, repeated, tag = "1")]
342    pub references: ::prost::alloc::vec::Vec<SourceReference>,
343    #[prost(message, optional, tag = "2")]
344    pub updated_at: ::core::option::Option<EpochMillis>,
345}
346#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
347#[derive(::proptest_derive::Arbitrary)]
348#[derive(Clone, PartialEq, ::prost::Message)]
349pub struct SourceReference {
350    #[prost(string, tag = "1")]
351    pub name: ::prost::alloc::string::String,
352    #[prost(string, optional, tag = "2")]
353    pub namespace: ::core::option::Option<::prost::alloc::string::String>,
354    #[prost(string, repeated, tag = "3")]
355    pub columns: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
356}
357#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
358#[derive(::proptest_derive::Arbitrary)]
359#[derive(Clone, Copy, PartialEq, ::prost::Message)]
360pub struct StorageCollectionMetadataKey {
361    #[prost(message, optional, tag = "1")]
362    pub id: ::core::option::Option<GlobalId>,
363}
364/// This value is stored transparently, however, it should only ever be
365/// manipulated by the storage controller.
366#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
367#[derive(::proptest_derive::Arbitrary)]
368#[derive(Clone, PartialEq, ::prost::Message)]
369pub struct StorageCollectionMetadataValue {
370    #[prost(string, tag = "1")]
371    pub shard: ::prost::alloc::string::String,
372}
373/// This value is stored transparently, however, it should only ever be
374/// manipulated by the storage controller.
375#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
376#[derive(::proptest_derive::Arbitrary)]
377#[derive(Clone, PartialEq, ::prost::Message)]
378pub struct UnfinalizedShardKey {
379    #[prost(string, tag = "1")]
380    pub shard: ::prost::alloc::string::String,
381}
382/// This value is stored transparently, however, it should only ever be
383/// manipulated by the storage controller.
384#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
385#[derive(::proptest_derive::Arbitrary)]
386#[derive(Clone, PartialEq, ::prost::Message)]
387pub struct TxnWalShardValue {
388    #[prost(string, tag = "1")]
389    pub shard: ::prost::alloc::string::String,
390}
391/// purposefully empty
392#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
393#[derive(::proptest_derive::Arbitrary)]
394#[derive(Clone, Copy, PartialEq, ::prost::Message)]
395pub struct Empty {}
396/// In protobuf a "None" string is the same thing as an empty string. To get the same semantics of
397/// an `Option<String>` from Rust, we need to wrap a string in a message.
398#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
399#[derive(::proptest_derive::Arbitrary)]
400#[derive(Clone, PartialEq, ::prost::Message)]
401pub struct StringWrapper {
402    #[prost(string, tag = "1")]
403    pub inner: ::prost::alloc::string::String,
404}
405#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
406#[derive(::proptest_derive::Arbitrary)]
407#[derive(Clone, Copy, PartialEq, ::prost::Message)]
408pub struct Duration {
409    #[prost(uint64, tag = "1")]
410    pub secs: u64,
411    #[prost(uint32, tag = "2")]
412    pub nanos: u32,
413}
414#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
415#[derive(::proptest_derive::Arbitrary)]
416#[derive(Clone, Copy, PartialEq, ::prost::Message)]
417pub struct EpochMillis {
418    #[prost(uint64, tag = "1")]
419    pub millis: u64,
420}
421/// Opaque timestamp type that is specific to Materialize.
422#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
423#[derive(::proptest_derive::Arbitrary)]
424#[derive(Clone, Copy, PartialEq, ::prost::Message)]
425pub struct Timestamp {
426    #[prost(uint64, tag = "1")]
427    pub internal: u64,
428}
429#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
430#[derive(::proptest_derive::Arbitrary)]
431#[derive(Clone, Copy, PartialEq, ::prost::Message)]
432pub struct Version {
433    #[prost(uint64, tag = "2")]
434    pub value: u64,
435}
436#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
437#[derive(::proptest_derive::Arbitrary)]
438#[derive(Clone, PartialEq, ::prost::Message)]
439pub struct CatalogItem {
440    #[prost(oneof = "catalog_item::Value", tags = "1")]
441    pub value: ::core::option::Option<catalog_item::Value>,
442}
443/// Nested message and enum types in `CatalogItem`.
444pub mod catalog_item {
445    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
446    #[derive(::proptest_derive::Arbitrary)]
447    #[derive(Clone, PartialEq, ::prost::Message)]
448    pub struct V1 {
449        #[prost(string, tag = "1")]
450        pub create_sql: ::prost::alloc::string::String,
451    }
452    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
453    #[derive(::proptest_derive::Arbitrary)]
454    #[derive(Clone, PartialEq, ::prost::Oneof)]
455    pub enum Value {
456        #[prost(message, tag = "1")]
457        V1(V1),
458    }
459}
460#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
461#[derive(::proptest_derive::Arbitrary)]
462#[derive(Clone, Copy, PartialEq, ::prost::Message)]
463pub struct CatalogItemId {
464    #[prost(oneof = "catalog_item_id::Value", tags = "1, 2, 3")]
465    pub value: ::core::option::Option<catalog_item_id::Value>,
466}
467/// Nested message and enum types in `CatalogItemId`.
468pub mod catalog_item_id {
469    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
470    #[derive(::proptest_derive::Arbitrary)]
471    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
472    pub enum Value {
473        #[prost(uint64, tag = "1")]
474        System(u64),
475        #[prost(uint64, tag = "2")]
476        User(u64),
477        #[prost(uint64, tag = "3")]
478        Transient(u64),
479    }
480}
481/// / A newtype wrapper for a `CatalogItemId` that is always in the "system" namespace.
482#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
483#[derive(::proptest_derive::Arbitrary)]
484#[derive(Clone, Copy, PartialEq, ::prost::Message)]
485pub struct SystemCatalogItemId {
486    #[prost(uint64, tag = "1")]
487    pub value: u64,
488}
489#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
490#[derive(::proptest_derive::Arbitrary)]
491#[derive(Clone, Copy, PartialEq, ::prost::Message)]
492pub struct GlobalId {
493    #[prost(oneof = "global_id::Value", tags = "1, 2, 3, 4")]
494    pub value: ::core::option::Option<global_id::Value>,
495}
496/// Nested message and enum types in `GlobalId`.
497pub mod global_id {
498    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
499    #[derive(::proptest_derive::Arbitrary)]
500    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
501    pub enum Value {
502        #[prost(uint64, tag = "1")]
503        System(u64),
504        #[prost(uint64, tag = "2")]
505        User(u64),
506        #[prost(uint64, tag = "3")]
507        Transient(u64),
508        #[prost(message, tag = "4")]
509        Explain(super::Empty),
510    }
511}
512/// / A newtype wrapper for a `GlobalId` that is always in the "system" namespace.
513#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
514#[derive(::proptest_derive::Arbitrary)]
515#[derive(Clone, Copy, PartialEq, ::prost::Message)]
516pub struct SystemGlobalId {
517    #[prost(uint64, tag = "1")]
518    pub value: u64,
519}
520#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
521#[derive(::proptest_derive::Arbitrary)]
522#[derive(Clone, Copy, PartialEq, ::prost::Message)]
523pub struct ClusterId {
524    #[prost(oneof = "cluster_id::Value", tags = "1, 2")]
525    pub value: ::core::option::Option<cluster_id::Value>,
526}
527/// Nested message and enum types in `ClusterId`.
528pub mod cluster_id {
529    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
530    #[derive(::proptest_derive::Arbitrary)]
531    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
532    pub enum Value {
533        #[prost(uint64, tag = "1")]
534        System(u64),
535        #[prost(uint64, tag = "2")]
536        User(u64),
537    }
538}
539#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
540#[derive(::proptest_derive::Arbitrary)]
541#[derive(Clone, Copy, PartialEq, ::prost::Message)]
542pub struct DatabaseId {
543    #[prost(oneof = "database_id::Value", tags = "1, 2")]
544    pub value: ::core::option::Option<database_id::Value>,
545}
546/// Nested message and enum types in `DatabaseId`.
547pub mod database_id {
548    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
549    #[derive(::proptest_derive::Arbitrary)]
550    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
551    pub enum Value {
552        #[prost(uint64, tag = "1")]
553        System(u64),
554        #[prost(uint64, tag = "2")]
555        User(u64),
556    }
557}
558#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
559#[derive(::proptest_derive::Arbitrary)]
560#[derive(Clone, Copy, PartialEq, ::prost::Message)]
561pub struct ResolvedDatabaseSpecifier {
562    #[prost(oneof = "resolved_database_specifier::Spec", tags = "1, 2")]
563    pub spec: ::core::option::Option<resolved_database_specifier::Spec>,
564}
565/// Nested message and enum types in `ResolvedDatabaseSpecifier`.
566pub mod resolved_database_specifier {
567    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
568    #[derive(::proptest_derive::Arbitrary)]
569    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
570    pub enum Spec {
571        #[prost(message, tag = "1")]
572        Ambient(super::Empty),
573        #[prost(message, tag = "2")]
574        Id(super::DatabaseId),
575    }
576}
577#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
578#[derive(::proptest_derive::Arbitrary)]
579#[derive(Clone, Copy, PartialEq, ::prost::Message)]
580pub struct SchemaId {
581    #[prost(oneof = "schema_id::Value", tags = "1, 2")]
582    pub value: ::core::option::Option<schema_id::Value>,
583}
584/// Nested message and enum types in `SchemaId`.
585pub mod schema_id {
586    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
587    #[derive(::proptest_derive::Arbitrary)]
588    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
589    pub enum Value {
590        #[prost(uint64, tag = "1")]
591        System(u64),
592        #[prost(uint64, tag = "2")]
593        User(u64),
594    }
595}
596#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
597#[derive(::proptest_derive::Arbitrary)]
598#[derive(Clone, Copy, PartialEq, ::prost::Message)]
599pub struct SchemaSpecifier {
600    #[prost(oneof = "schema_specifier::Spec", tags = "1, 2")]
601    pub spec: ::core::option::Option<schema_specifier::Spec>,
602}
603/// Nested message and enum types in `SchemaSpecifier`.
604pub mod schema_specifier {
605    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
606    #[derive(::proptest_derive::Arbitrary)]
607    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
608    pub enum Spec {
609        #[prost(message, tag = "1")]
610        Temporary(super::Empty),
611        #[prost(message, tag = "2")]
612        Id(super::SchemaId),
613    }
614}
615#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
616#[derive(::proptest_derive::Arbitrary)]
617#[derive(Clone, Copy, PartialEq, ::prost::Message)]
618pub struct ResolvedSchema {
619    #[prost(message, optional, tag = "1")]
620    pub database: ::core::option::Option<ResolvedDatabaseSpecifier>,
621    #[prost(message, optional, tag = "2")]
622    pub schema: ::core::option::Option<SchemaSpecifier>,
623}
624#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
625#[derive(::proptest_derive::Arbitrary)]
626#[derive(Clone, Copy, PartialEq, ::prost::Message)]
627pub struct ReplicaId {
628    #[prost(oneof = "replica_id::Value", tags = "1, 2")]
629    pub value: ::core::option::Option<replica_id::Value>,
630}
631/// Nested message and enum types in `ReplicaId`.
632pub mod replica_id {
633    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
634    #[derive(::proptest_derive::Arbitrary)]
635    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
636    pub enum Value {
637        #[prost(uint64, tag = "1")]
638        System(u64),
639        #[prost(uint64, tag = "2")]
640        User(u64),
641    }
642}
643#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
644#[derive(::proptest_derive::Arbitrary)]
645#[derive(Clone, Copy, PartialEq, ::prost::Message)]
646pub struct ClusterReplicaId {
647    #[prost(message, optional, tag = "1")]
648    pub cluster_id: ::core::option::Option<ClusterId>,
649    #[prost(message, optional, tag = "2")]
650    pub replica_id: ::core::option::Option<ReplicaId>,
651}
652#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
653#[derive(::proptest_derive::Arbitrary)]
654#[derive(Clone, Copy, PartialEq, ::prost::Message)]
655pub struct ReplicaLogging {
656    #[prost(bool, tag = "1")]
657    pub log_logging: bool,
658    #[prost(message, optional, tag = "2")]
659    pub interval: ::core::option::Option<Duration>,
660}
661#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
662#[derive(::proptest_derive::Arbitrary)]
663#[derive(Clone, PartialEq, ::prost::Message)]
664pub struct OptimizerFeatureOverride {
665    #[prost(string, tag = "1")]
666    pub name: ::prost::alloc::string::String,
667    #[prost(string, tag = "2")]
668    pub value: ::prost::alloc::string::String,
669}
670#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
671#[derive(::proptest_derive::Arbitrary)]
672#[derive(Clone, Copy, PartialEq, ::prost::Message)]
673pub struct ClusterScheduleRefreshOptions {
674    #[prost(message, optional, tag = "1")]
675    pub rehydration_time_estimate: ::core::option::Option<Duration>,
676}
677#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
678#[derive(::proptest_derive::Arbitrary)]
679#[derive(Clone, Copy, PartialEq, ::prost::Message)]
680pub struct ClusterSchedule {
681    #[prost(oneof = "cluster_schedule::Value", tags = "1, 2")]
682    pub value: ::core::option::Option<cluster_schedule::Value>,
683}
684/// Nested message and enum types in `ClusterSchedule`.
685pub mod cluster_schedule {
686    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
687    #[derive(::proptest_derive::Arbitrary)]
688    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
689    pub enum Value {
690        #[prost(message, tag = "1")]
691        Manual(super::Empty),
692        #[prost(message, tag = "2")]
693        Refresh(super::ClusterScheduleRefreshOptions),
694    }
695}
696#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
697#[derive(::proptest_derive::Arbitrary)]
698#[derive(Clone, PartialEq, ::prost::Message)]
699pub struct ClusterConfig {
700    #[prost(string, optional, tag = "3")]
701    pub workload_class: ::core::option::Option<::prost::alloc::string::String>,
702    #[prost(oneof = "cluster_config::Variant", tags = "1, 2")]
703    pub variant: ::core::option::Option<cluster_config::Variant>,
704}
705/// Nested message and enum types in `ClusterConfig`.
706pub mod cluster_config {
707    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
708    #[derive(::proptest_derive::Arbitrary)]
709    #[derive(Clone, PartialEq, ::prost::Message)]
710    pub struct ManagedCluster {
711        #[prost(string, tag = "1")]
712        pub size: ::prost::alloc::string::String,
713        #[prost(uint32, tag = "2")]
714        pub replication_factor: u32,
715        #[prost(string, repeated, tag = "3")]
716        pub availability_zones: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
717        #[prost(message, optional, tag = "4")]
718        pub logging: ::core::option::Option<super::ReplicaLogging>,
719        #[prost(bool, tag = "6")]
720        pub disk: bool,
721        #[prost(message, repeated, tag = "7")]
722        pub optimizer_feature_overrides: ::prost::alloc::vec::Vec<
723            super::OptimizerFeatureOverride,
724        >,
725        #[prost(message, optional, tag = "8")]
726        pub schedule: ::core::option::Option<super::ClusterSchedule>,
727    }
728    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
729    #[derive(::proptest_derive::Arbitrary)]
730    #[derive(Clone, PartialEq, ::prost::Oneof)]
731    pub enum Variant {
732        #[prost(message, tag = "1")]
733        Unmanaged(super::Empty),
734        #[prost(message, tag = "2")]
735        Managed(ManagedCluster),
736    }
737}
738#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
739#[derive(::proptest_derive::Arbitrary)]
740#[derive(Clone, PartialEq, ::prost::Message)]
741pub struct ReplicaConfig {
742    #[prost(message, optional, tag = "3")]
743    pub logging: ::core::option::Option<ReplicaLogging>,
744    #[prost(oneof = "replica_config::Location", tags = "1, 2")]
745    pub location: ::core::option::Option<replica_config::Location>,
746}
747/// Nested message and enum types in `ReplicaConfig`.
748pub mod replica_config {
749    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
750    #[derive(::proptest_derive::Arbitrary)]
751    #[derive(Clone, PartialEq, ::prost::Message)]
752    pub struct UnmanagedLocation {
753        #[prost(string, repeated, tag = "1")]
754        pub storagectl_addrs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
755        #[prost(string, repeated, tag = "2")]
756        pub storage_addrs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
757        #[prost(string, repeated, tag = "3")]
758        pub computectl_addrs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
759        #[prost(string, repeated, tag = "4")]
760        pub compute_addrs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
761        #[prost(uint64, tag = "5")]
762        pub workers: u64,
763    }
764    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
765    #[derive(::proptest_derive::Arbitrary)]
766    #[derive(Clone, PartialEq, ::prost::Message)]
767    pub struct ManagedLocation {
768        #[prost(string, tag = "1")]
769        pub size: ::prost::alloc::string::String,
770        #[prost(string, optional, tag = "2")]
771        pub availability_zone: ::core::option::Option<::prost::alloc::string::String>,
772        #[prost(bool, tag = "4")]
773        pub disk: bool,
774        #[prost(bool, tag = "5")]
775        pub internal: bool,
776        #[prost(string, optional, tag = "6")]
777        pub billed_as: ::core::option::Option<::prost::alloc::string::String>,
778        #[prost(bool, tag = "7")]
779        pub pending: bool,
780    }
781    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
782    #[derive(::proptest_derive::Arbitrary)]
783    #[derive(Clone, PartialEq, ::prost::Oneof)]
784    pub enum Location {
785        #[prost(message, tag = "1")]
786        Unmanaged(UnmanagedLocation),
787        #[prost(message, tag = "2")]
788        Managed(ManagedLocation),
789    }
790}
791#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
792#[derive(::proptest_derive::Arbitrary)]
793#[derive(Clone, Copy, PartialEq, ::prost::Message)]
794pub struct RoleId {
795    #[prost(oneof = "role_id::Value", tags = "1, 2, 3, 4")]
796    pub value: ::core::option::Option<role_id::Value>,
797}
798/// Nested message and enum types in `RoleId`.
799pub mod role_id {
800    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
801    #[derive(::proptest_derive::Arbitrary)]
802    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
803    pub enum Value {
804        #[prost(uint64, tag = "1")]
805        System(u64),
806        #[prost(uint64, tag = "2")]
807        User(u64),
808        #[prost(message, tag = "3")]
809        Public(super::Empty),
810        #[prost(uint64, tag = "4")]
811        Predefined(u64),
812    }
813}
814#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
815#[derive(::proptest_derive::Arbitrary)]
816#[derive(Clone, Copy, PartialEq, ::prost::Message)]
817pub struct RoleAttributes {
818    #[prost(bool, tag = "1")]
819    pub inherit: bool,
820}
821#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
822#[derive(::proptest_derive::Arbitrary)]
823#[derive(Clone, PartialEq, ::prost::Message)]
824pub struct RoleMembership {
825    #[prost(message, repeated, tag = "1")]
826    pub map: ::prost::alloc::vec::Vec<role_membership::Entry>,
827}
828/// Nested message and enum types in `RoleMembership`.
829pub mod role_membership {
830    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
831    #[derive(::proptest_derive::Arbitrary)]
832    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
833    pub struct Entry {
834        #[prost(message, optional, tag = "1")]
835        pub key: ::core::option::Option<super::RoleId>,
836        #[prost(message, optional, tag = "2")]
837        pub value: ::core::option::Option<super::RoleId>,
838    }
839}
840#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
841#[derive(::proptest_derive::Arbitrary)]
842#[derive(Clone, PartialEq, ::prost::Message)]
843pub struct RoleVars {
844    #[prost(message, repeated, tag = "1")]
845    pub entries: ::prost::alloc::vec::Vec<role_vars::Entry>,
846}
847/// Nested message and enum types in `RoleVars`.
848pub mod role_vars {
849    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
850    #[derive(::proptest_derive::Arbitrary)]
851    #[derive(Clone, PartialEq, ::prost::Message)]
852    pub struct SqlSet {
853        #[prost(string, repeated, tag = "1")]
854        pub entries: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
855    }
856    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
857    #[derive(::proptest_derive::Arbitrary)]
858    #[derive(Clone, PartialEq, ::prost::Message)]
859    pub struct Entry {
860        #[prost(string, tag = "1")]
861        pub key: ::prost::alloc::string::String,
862        #[prost(oneof = "entry::Val", tags = "2, 3")]
863        pub val: ::core::option::Option<entry::Val>,
864    }
865    /// Nested message and enum types in `Entry`.
866    pub mod entry {
867        #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
868        #[derive(::proptest_derive::Arbitrary)]
869        #[derive(Clone, PartialEq, ::prost::Oneof)]
870        pub enum Val {
871            #[prost(string, tag = "2")]
872            Flat(::prost::alloc::string::String),
873            #[prost(message, tag = "3")]
874            SqlSet(super::SqlSet),
875        }
876    }
877}
878#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
879#[derive(::proptest_derive::Arbitrary)]
880#[derive(Clone, Copy, PartialEq, ::prost::Message)]
881pub struct AclMode {
882    /// A bit flag representing all the privileges that can be granted to a role.
883    #[prost(uint64, tag = "1")]
884    pub bitflags: u64,
885}
886#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
887#[derive(::proptest_derive::Arbitrary)]
888#[derive(Clone, Copy, PartialEq, ::prost::Message)]
889pub struct MzAclItem {
890    #[prost(message, optional, tag = "1")]
891    pub grantee: ::core::option::Option<RoleId>,
892    #[prost(message, optional, tag = "2")]
893    pub grantor: ::core::option::Option<RoleId>,
894    #[prost(message, optional, tag = "3")]
895    pub acl_mode: ::core::option::Option<AclMode>,
896}
897#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
898#[derive(::proptest_derive::Arbitrary)]
899#[derive(Clone, Copy, PartialEq, ::prost::Message)]
900pub struct DefaultPrivilegesKey {
901    #[prost(message, optional, tag = "1")]
902    pub role_id: ::core::option::Option<RoleId>,
903    #[prost(message, optional, tag = "2")]
904    pub database_id: ::core::option::Option<DatabaseId>,
905    #[prost(message, optional, tag = "3")]
906    pub schema_id: ::core::option::Option<SchemaId>,
907    #[prost(enumeration = "ObjectType", tag = "4")]
908    pub object_type: i32,
909    #[prost(message, optional, tag = "5")]
910    pub grantee: ::core::option::Option<RoleId>,
911}
912#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
913#[derive(::proptest_derive::Arbitrary)]
914#[derive(Clone, Copy, PartialEq, ::prost::Message)]
915pub struct DefaultPrivilegesValue {
916    #[prost(message, optional, tag = "1")]
917    pub privileges: ::core::option::Option<AclMode>,
918}
919#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
920#[derive(::proptest_derive::Arbitrary)]
921#[derive(Clone, Copy, PartialEq, ::prost::Message)]
922pub struct SystemPrivilegesKey {
923    #[prost(message, optional, tag = "1")]
924    pub grantee: ::core::option::Option<RoleId>,
925    #[prost(message, optional, tag = "2")]
926    pub grantor: ::core::option::Option<RoleId>,
927}
928#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
929#[derive(::proptest_derive::Arbitrary)]
930#[derive(Clone, Copy, PartialEq, ::prost::Message)]
931pub struct SystemPrivilegesValue {
932    #[prost(message, optional, tag = "1")]
933    pub acl_mode: ::core::option::Option<AclMode>,
934}
935#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
936#[derive(::proptest_derive::Arbitrary)]
937#[derive(Clone, PartialEq, ::prost::Message)]
938pub struct AuditLogEventV1 {
939    #[prost(uint64, tag = "1")]
940    pub id: u64,
941    #[prost(enumeration = "audit_log_event_v1::EventType", tag = "2")]
942    pub event_type: i32,
943    #[prost(enumeration = "audit_log_event_v1::ObjectType", tag = "3")]
944    pub object_type: i32,
945    #[prost(message, optional, tag = "4")]
946    pub user: ::core::option::Option<StringWrapper>,
947    #[prost(message, optional, tag = "5")]
948    pub occurred_at: ::core::option::Option<EpochMillis>,
949    /// next-id: 40
950    #[prost(
951        oneof = "audit_log_event_v1::Details",
952        tags = "6, 33, 7, 34, 8, 9, 10, 25, 11, 12, 13, 14, 22, 23, 24, 15, 20, 21, 16, 17, 18, 19, 27, 26, 29, 30, 31, 32, 35, 36, 37, 38, 39, 40"
953    )]
954    pub details: ::core::option::Option<audit_log_event_v1::Details>,
955}
956/// Nested message and enum types in `AuditLogEventV1`.
957pub mod audit_log_event_v1 {
958    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
959    #[derive(::proptest_derive::Arbitrary)]
960    #[derive(Clone, PartialEq, ::prost::Message)]
961    pub struct IdFullNameV1 {
962        #[prost(string, tag = "1")]
963        pub id: ::prost::alloc::string::String,
964        #[prost(message, optional, tag = "2")]
965        pub name: ::core::option::Option<FullNameV1>,
966    }
967    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
968    #[derive(::proptest_derive::Arbitrary)]
969    #[derive(Clone, PartialEq, ::prost::Message)]
970    pub struct FullNameV1 {
971        #[prost(string, tag = "1")]
972        pub database: ::prost::alloc::string::String,
973        #[prost(string, tag = "2")]
974        pub schema: ::prost::alloc::string::String,
975        #[prost(string, tag = "3")]
976        pub item: ::prost::alloc::string::String,
977    }
978    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
979    #[derive(::proptest_derive::Arbitrary)]
980    #[derive(Clone, PartialEq, ::prost::Message)]
981    pub struct IdNameV1 {
982        #[prost(string, tag = "1")]
983        pub id: ::prost::alloc::string::String,
984        #[prost(string, tag = "2")]
985        pub name: ::prost::alloc::string::String,
986    }
987    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
988    #[derive(::proptest_derive::Arbitrary)]
989    #[derive(Clone, PartialEq, ::prost::Message)]
990    pub struct RenameClusterV1 {
991        #[prost(string, tag = "1")]
992        pub id: ::prost::alloc::string::String,
993        #[prost(string, tag = "2")]
994        pub old_name: ::prost::alloc::string::String,
995        #[prost(string, tag = "3")]
996        pub new_name: ::prost::alloc::string::String,
997    }
998    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
999    #[derive(::proptest_derive::Arbitrary)]
1000    #[derive(Clone, PartialEq, ::prost::Message)]
1001    pub struct RenameClusterReplicaV1 {
1002        #[prost(string, tag = "1")]
1003        pub cluster_id: ::prost::alloc::string::String,
1004        #[prost(string, tag = "2")]
1005        pub replica_id: ::prost::alloc::string::String,
1006        #[prost(string, tag = "3")]
1007        pub old_name: ::prost::alloc::string::String,
1008        #[prost(string, tag = "4")]
1009        pub new_name: ::prost::alloc::string::String,
1010    }
1011    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1012    #[derive(::proptest_derive::Arbitrary)]
1013    #[derive(Clone, PartialEq, ::prost::Message)]
1014    pub struct RenameItemV1 {
1015        #[prost(string, tag = "1")]
1016        pub id: ::prost::alloc::string::String,
1017        #[prost(message, optional, tag = "2")]
1018        pub old_name: ::core::option::Option<FullNameV1>,
1019        #[prost(message, optional, tag = "3")]
1020        pub new_name: ::core::option::Option<FullNameV1>,
1021    }
1022    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1023    #[derive(::proptest_derive::Arbitrary)]
1024    #[derive(Clone, PartialEq, ::prost::Message)]
1025    pub struct CreateClusterReplicaV1 {
1026        #[prost(string, tag = "1")]
1027        pub cluster_id: ::prost::alloc::string::String,
1028        #[prost(string, tag = "2")]
1029        pub cluster_name: ::prost::alloc::string::String,
1030        #[prost(message, optional, tag = "3")]
1031        pub replica_id: ::core::option::Option<super::StringWrapper>,
1032        #[prost(string, tag = "4")]
1033        pub replica_name: ::prost::alloc::string::String,
1034        #[prost(string, tag = "5")]
1035        pub logical_size: ::prost::alloc::string::String,
1036        #[prost(bool, tag = "6")]
1037        pub disk: bool,
1038        #[prost(string, optional, tag = "7")]
1039        pub billed_as: ::core::option::Option<::prost::alloc::string::String>,
1040        #[prost(bool, tag = "8")]
1041        pub internal: bool,
1042    }
1043    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1044    #[derive(::proptest_derive::Arbitrary)]
1045    #[derive(Clone, PartialEq, ::prost::Message)]
1046    pub struct CreateClusterReplicaV2 {
1047        #[prost(string, tag = "1")]
1048        pub cluster_id: ::prost::alloc::string::String,
1049        #[prost(string, tag = "2")]
1050        pub cluster_name: ::prost::alloc::string::String,
1051        #[prost(message, optional, tag = "3")]
1052        pub replica_id: ::core::option::Option<super::StringWrapper>,
1053        #[prost(string, tag = "4")]
1054        pub replica_name: ::prost::alloc::string::String,
1055        #[prost(string, tag = "5")]
1056        pub logical_size: ::prost::alloc::string::String,
1057        #[prost(bool, tag = "6")]
1058        pub disk: bool,
1059        #[prost(string, optional, tag = "7")]
1060        pub billed_as: ::core::option::Option<::prost::alloc::string::String>,
1061        #[prost(bool, tag = "8")]
1062        pub internal: bool,
1063        #[prost(message, optional, tag = "9")]
1064        pub reason: ::core::option::Option<CreateOrDropClusterReplicaReasonV1>,
1065        #[prost(message, optional, tag = "10")]
1066        pub scheduling_policies: ::core::option::Option<
1067            SchedulingDecisionsWithReasonsV1,
1068        >,
1069    }
1070    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1071    #[derive(::proptest_derive::Arbitrary)]
1072    #[derive(Clone, PartialEq, ::prost::Message)]
1073    pub struct DropClusterReplicaV1 {
1074        #[prost(string, tag = "1")]
1075        pub cluster_id: ::prost::alloc::string::String,
1076        #[prost(string, tag = "2")]
1077        pub cluster_name: ::prost::alloc::string::String,
1078        #[prost(message, optional, tag = "3")]
1079        pub replica_id: ::core::option::Option<super::StringWrapper>,
1080        #[prost(string, tag = "4")]
1081        pub replica_name: ::prost::alloc::string::String,
1082    }
1083    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1084    #[derive(::proptest_derive::Arbitrary)]
1085    #[derive(Clone, PartialEq, ::prost::Message)]
1086    pub struct DropClusterReplicaV2 {
1087        #[prost(string, tag = "1")]
1088        pub cluster_id: ::prost::alloc::string::String,
1089        #[prost(string, tag = "2")]
1090        pub cluster_name: ::prost::alloc::string::String,
1091        #[prost(message, optional, tag = "3")]
1092        pub replica_id: ::core::option::Option<super::StringWrapper>,
1093        #[prost(string, tag = "4")]
1094        pub replica_name: ::prost::alloc::string::String,
1095        #[prost(message, optional, tag = "5")]
1096        pub reason: ::core::option::Option<CreateOrDropClusterReplicaReasonV1>,
1097        #[prost(message, optional, tag = "6")]
1098        pub scheduling_policies: ::core::option::Option<
1099            SchedulingDecisionsWithReasonsV1,
1100        >,
1101    }
1102    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1103    #[derive(::proptest_derive::Arbitrary)]
1104    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1105    pub struct CreateOrDropClusterReplicaReasonV1 {
1106        #[prost(
1107            oneof = "create_or_drop_cluster_replica_reason_v1::Reason",
1108            tags = "1, 2, 3"
1109        )]
1110        pub reason: ::core::option::Option<
1111            create_or_drop_cluster_replica_reason_v1::Reason,
1112        >,
1113    }
1114    /// Nested message and enum types in `CreateOrDropClusterReplicaReasonV1`.
1115    pub mod create_or_drop_cluster_replica_reason_v1 {
1116        #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1117        #[derive(::proptest_derive::Arbitrary)]
1118        #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
1119        pub enum Reason {
1120            #[prost(message, tag = "1")]
1121            Manual(super::super::Empty),
1122            #[prost(message, tag = "2")]
1123            Schedule(super::super::Empty),
1124            #[prost(message, tag = "3")]
1125            System(super::super::Empty),
1126        }
1127    }
1128    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1129    #[derive(::proptest_derive::Arbitrary)]
1130    #[derive(Clone, PartialEq, ::prost::Message)]
1131    pub struct SchedulingDecisionsWithReasonsV1 {
1132        #[prost(message, optional, tag = "1")]
1133        pub on_refresh: ::core::option::Option<RefreshDecisionWithReasonV1>,
1134    }
1135    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1136    #[derive(::proptest_derive::Arbitrary)]
1137    #[derive(Clone, PartialEq, ::prost::Message)]
1138    pub struct RefreshDecisionWithReasonV1 {
1139        #[prost(string, repeated, tag = "3")]
1140        pub objects_needing_refresh: ::prost::alloc::vec::Vec<
1141            ::prost::alloc::string::String,
1142        >,
1143        #[prost(string, tag = "4")]
1144        pub rehydration_time_estimate: ::prost::alloc::string::String,
1145        #[prost(oneof = "refresh_decision_with_reason_v1::Decision", tags = "1, 2")]
1146        pub decision: ::core::option::Option<refresh_decision_with_reason_v1::Decision>,
1147    }
1148    /// Nested message and enum types in `RefreshDecisionWithReasonV1`.
1149    pub mod refresh_decision_with_reason_v1 {
1150        #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1151        #[derive(::proptest_derive::Arbitrary)]
1152        #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
1153        pub enum Decision {
1154            #[prost(message, tag = "1")]
1155            On(super::super::Empty),
1156            #[prost(message, tag = "2")]
1157            Off(super::super::Empty),
1158        }
1159    }
1160    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1161    #[derive(::proptest_derive::Arbitrary)]
1162    #[derive(Clone, PartialEq, ::prost::Message)]
1163    pub struct CreateSourceSinkV1 {
1164        #[prost(string, tag = "1")]
1165        pub id: ::prost::alloc::string::String,
1166        #[prost(message, optional, tag = "2")]
1167        pub name: ::core::option::Option<FullNameV1>,
1168        #[prost(message, optional, tag = "3")]
1169        pub size: ::core::option::Option<super::StringWrapper>,
1170    }
1171    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1172    #[derive(::proptest_derive::Arbitrary)]
1173    #[derive(Clone, PartialEq, ::prost::Message)]
1174    pub struct CreateSourceSinkV2 {
1175        #[prost(string, tag = "1")]
1176        pub id: ::prost::alloc::string::String,
1177        #[prost(message, optional, tag = "2")]
1178        pub name: ::core::option::Option<FullNameV1>,
1179        #[prost(message, optional, tag = "3")]
1180        pub size: ::core::option::Option<super::StringWrapper>,
1181        #[prost(string, tag = "4")]
1182        pub external_type: ::prost::alloc::string::String,
1183    }
1184    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1185    #[derive(::proptest_derive::Arbitrary)]
1186    #[derive(Clone, PartialEq, ::prost::Message)]
1187    pub struct CreateSourceSinkV3 {
1188        #[prost(string, tag = "1")]
1189        pub id: ::prost::alloc::string::String,
1190        #[prost(message, optional, tag = "2")]
1191        pub name: ::core::option::Option<FullNameV1>,
1192        #[prost(string, tag = "3")]
1193        pub external_type: ::prost::alloc::string::String,
1194    }
1195    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1196    #[derive(::proptest_derive::Arbitrary)]
1197    #[derive(Clone, PartialEq, ::prost::Message)]
1198    pub struct CreateSourceSinkV4 {
1199        #[prost(string, tag = "1")]
1200        pub id: ::prost::alloc::string::String,
1201        #[prost(message, optional, tag = "2")]
1202        pub cluster_id: ::core::option::Option<super::StringWrapper>,
1203        #[prost(message, optional, tag = "3")]
1204        pub name: ::core::option::Option<FullNameV1>,
1205        #[prost(string, tag = "4")]
1206        pub external_type: ::prost::alloc::string::String,
1207    }
1208    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1209    #[derive(::proptest_derive::Arbitrary)]
1210    #[derive(Clone, PartialEq, ::prost::Message)]
1211    pub struct CreateIndexV1 {
1212        #[prost(string, tag = "1")]
1213        pub id: ::prost::alloc::string::String,
1214        #[prost(string, tag = "2")]
1215        pub cluster_id: ::prost::alloc::string::String,
1216        #[prost(message, optional, tag = "3")]
1217        pub name: ::core::option::Option<FullNameV1>,
1218    }
1219    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1220    #[derive(::proptest_derive::Arbitrary)]
1221    #[derive(Clone, PartialEq, ::prost::Message)]
1222    pub struct CreateMaterializedViewV1 {
1223        #[prost(string, tag = "1")]
1224        pub id: ::prost::alloc::string::String,
1225        #[prost(string, tag = "2")]
1226        pub cluster_id: ::prost::alloc::string::String,
1227        #[prost(message, optional, tag = "3")]
1228        pub name: ::core::option::Option<FullNameV1>,
1229    }
1230    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1231    #[derive(::proptest_derive::Arbitrary)]
1232    #[derive(Clone, PartialEq, ::prost::Message)]
1233    pub struct AlterSourceSinkV1 {
1234        #[prost(string, tag = "1")]
1235        pub id: ::prost::alloc::string::String,
1236        #[prost(message, optional, tag = "2")]
1237        pub name: ::core::option::Option<FullNameV1>,
1238        #[prost(message, optional, tag = "3")]
1239        pub old_size: ::core::option::Option<super::StringWrapper>,
1240        #[prost(message, optional, tag = "4")]
1241        pub new_size: ::core::option::Option<super::StringWrapper>,
1242    }
1243    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1244    #[derive(::proptest_derive::Arbitrary)]
1245    #[derive(Clone, PartialEq, ::prost::Message)]
1246    pub struct AlterSetClusterV1 {
1247        #[prost(string, tag = "1")]
1248        pub id: ::prost::alloc::string::String,
1249        #[prost(message, optional, tag = "2")]
1250        pub name: ::core::option::Option<FullNameV1>,
1251        #[prost(message, optional, tag = "3")]
1252        pub old_cluster: ::core::option::Option<super::StringWrapper>,
1253        #[prost(message, optional, tag = "4")]
1254        pub new_cluster: ::core::option::Option<super::StringWrapper>,
1255    }
1256    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1257    #[derive(::proptest_derive::Arbitrary)]
1258    #[derive(Clone, PartialEq, ::prost::Message)]
1259    pub struct GrantRoleV1 {
1260        #[prost(string, tag = "1")]
1261        pub role_id: ::prost::alloc::string::String,
1262        #[prost(string, tag = "2")]
1263        pub member_id: ::prost::alloc::string::String,
1264        #[prost(string, tag = "3")]
1265        pub grantor_id: ::prost::alloc::string::String,
1266    }
1267    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1268    #[derive(::proptest_derive::Arbitrary)]
1269    #[derive(Clone, PartialEq, ::prost::Message)]
1270    pub struct GrantRoleV2 {
1271        #[prost(string, tag = "1")]
1272        pub role_id: ::prost::alloc::string::String,
1273        #[prost(string, tag = "2")]
1274        pub member_id: ::prost::alloc::string::String,
1275        #[prost(string, tag = "3")]
1276        pub grantor_id: ::prost::alloc::string::String,
1277        #[prost(string, tag = "4")]
1278        pub executed_by: ::prost::alloc::string::String,
1279    }
1280    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1281    #[derive(::proptest_derive::Arbitrary)]
1282    #[derive(Clone, PartialEq, ::prost::Message)]
1283    pub struct RevokeRoleV1 {
1284        #[prost(string, tag = "1")]
1285        pub role_id: ::prost::alloc::string::String,
1286        #[prost(string, tag = "2")]
1287        pub member_id: ::prost::alloc::string::String,
1288    }
1289    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1290    #[derive(::proptest_derive::Arbitrary)]
1291    #[derive(Clone, PartialEq, ::prost::Message)]
1292    pub struct RevokeRoleV2 {
1293        #[prost(string, tag = "1")]
1294        pub role_id: ::prost::alloc::string::String,
1295        #[prost(string, tag = "2")]
1296        pub member_id: ::prost::alloc::string::String,
1297        #[prost(string, tag = "3")]
1298        pub grantor_id: ::prost::alloc::string::String,
1299        #[prost(string, tag = "4")]
1300        pub executed_by: ::prost::alloc::string::String,
1301    }
1302    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1303    #[derive(::proptest_derive::Arbitrary)]
1304    #[derive(Clone, PartialEq, ::prost::Message)]
1305    pub struct UpdatePrivilegeV1 {
1306        #[prost(string, tag = "1")]
1307        pub object_id: ::prost::alloc::string::String,
1308        #[prost(string, tag = "2")]
1309        pub grantee_id: ::prost::alloc::string::String,
1310        #[prost(string, tag = "3")]
1311        pub grantor_id: ::prost::alloc::string::String,
1312        #[prost(string, tag = "4")]
1313        pub privileges: ::prost::alloc::string::String,
1314    }
1315    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1316    #[derive(::proptest_derive::Arbitrary)]
1317    #[derive(Clone, PartialEq, ::prost::Message)]
1318    pub struct AlterDefaultPrivilegeV1 {
1319        #[prost(string, tag = "1")]
1320        pub role_id: ::prost::alloc::string::String,
1321        #[prost(message, optional, tag = "2")]
1322        pub database_id: ::core::option::Option<super::StringWrapper>,
1323        #[prost(message, optional, tag = "3")]
1324        pub schema_id: ::core::option::Option<super::StringWrapper>,
1325        #[prost(string, tag = "4")]
1326        pub grantee_id: ::prost::alloc::string::String,
1327        #[prost(string, tag = "5")]
1328        pub privileges: ::prost::alloc::string::String,
1329    }
1330    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1331    #[derive(::proptest_derive::Arbitrary)]
1332    #[derive(Clone, PartialEq, ::prost::Message)]
1333    pub struct UpdateOwnerV1 {
1334        #[prost(string, tag = "1")]
1335        pub object_id: ::prost::alloc::string::String,
1336        #[prost(string, tag = "2")]
1337        pub old_owner_id: ::prost::alloc::string::String,
1338        #[prost(string, tag = "3")]
1339        pub new_owner_id: ::prost::alloc::string::String,
1340    }
1341    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1342    #[derive(::proptest_derive::Arbitrary)]
1343    #[derive(Clone, PartialEq, ::prost::Message)]
1344    pub struct SchemaV1 {
1345        #[prost(string, tag = "1")]
1346        pub id: ::prost::alloc::string::String,
1347        #[prost(string, tag = "2")]
1348        pub name: ::prost::alloc::string::String,
1349        #[prost(string, tag = "3")]
1350        pub database_name: ::prost::alloc::string::String,
1351    }
1352    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1353    #[derive(::proptest_derive::Arbitrary)]
1354    #[derive(Clone, PartialEq, ::prost::Message)]
1355    pub struct SchemaV2 {
1356        #[prost(string, tag = "1")]
1357        pub id: ::prost::alloc::string::String,
1358        #[prost(string, tag = "2")]
1359        pub name: ::prost::alloc::string::String,
1360        #[prost(message, optional, tag = "3")]
1361        pub database_name: ::core::option::Option<super::StringWrapper>,
1362    }
1363    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1364    #[derive(::proptest_derive::Arbitrary)]
1365    #[derive(Clone, PartialEq, ::prost::Message)]
1366    pub struct RenameSchemaV1 {
1367        #[prost(string, tag = "1")]
1368        pub id: ::prost::alloc::string::String,
1369        #[prost(string, optional, tag = "2")]
1370        pub database_name: ::core::option::Option<::prost::alloc::string::String>,
1371        #[prost(string, tag = "3")]
1372        pub old_name: ::prost::alloc::string::String,
1373        #[prost(string, tag = "4")]
1374        pub new_name: ::prost::alloc::string::String,
1375    }
1376    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1377    #[derive(::proptest_derive::Arbitrary)]
1378    #[derive(Clone, PartialEq, ::prost::Message)]
1379    pub struct UpdateItemV1 {
1380        #[prost(string, tag = "1")]
1381        pub id: ::prost::alloc::string::String,
1382        #[prost(message, optional, tag = "2")]
1383        pub name: ::core::option::Option<FullNameV1>,
1384    }
1385    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1386    #[derive(::proptest_derive::Arbitrary)]
1387    #[derive(Clone, PartialEq, ::prost::Message)]
1388    pub struct AlterRetainHistoryV1 {
1389        #[prost(string, tag = "1")]
1390        pub id: ::prost::alloc::string::String,
1391        #[prost(string, optional, tag = "2")]
1392        pub old_history: ::core::option::Option<::prost::alloc::string::String>,
1393        #[prost(string, optional, tag = "3")]
1394        pub new_history: ::core::option::Option<::prost::alloc::string::String>,
1395    }
1396    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1397    #[derive(::proptest_derive::Arbitrary)]
1398    #[derive(Clone, PartialEq, ::prost::Message)]
1399    pub struct ToNewIdV1 {
1400        #[prost(string, tag = "1")]
1401        pub id: ::prost::alloc::string::String,
1402        #[prost(string, tag = "2")]
1403        pub new_id: ::prost::alloc::string::String,
1404    }
1405    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1406    #[derive(::proptest_derive::Arbitrary)]
1407    #[derive(Clone, PartialEq, ::prost::Message)]
1408    pub struct FromPreviousIdV1 {
1409        #[prost(string, tag = "1")]
1410        pub id: ::prost::alloc::string::String,
1411        #[prost(string, tag = "2")]
1412        pub previous_id: ::prost::alloc::string::String,
1413    }
1414    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1415    #[derive(::proptest_derive::Arbitrary)]
1416    #[derive(Clone, PartialEq, ::prost::Message)]
1417    pub struct SetV1 {
1418        #[prost(string, tag = "1")]
1419        pub name: ::prost::alloc::string::String,
1420        #[prost(string, optional, tag = "2")]
1421        pub value: ::core::option::Option<::prost::alloc::string::String>,
1422    }
1423    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1424    #[derive(::proptest_derive::Arbitrary)]
1425    #[derive(Clone, PartialEq, ::prost::Message)]
1426    pub struct RotateKeysV1 {
1427        #[prost(string, tag = "1")]
1428        pub id: ::prost::alloc::string::String,
1429        #[prost(string, tag = "2")]
1430        pub name: ::prost::alloc::string::String,
1431    }
1432    #[derive(::proptest_derive::Arbitrary)]
1433    #[derive(
1434        Clone,
1435        Copy,
1436        Debug,
1437        PartialEq,
1438        Eq,
1439        Hash,
1440        PartialOrd,
1441        Ord,
1442        ::prost::Enumeration
1443    )]
1444    #[repr(i32)]
1445    pub enum EventType {
1446        Unknown = 0,
1447        Create = 1,
1448        Drop = 2,
1449        Alter = 3,
1450        Grant = 4,
1451        Revoke = 5,
1452        Comment = 6,
1453    }
1454    impl EventType {
1455        /// String value of the enum field names used in the ProtoBuf definition.
1456        ///
1457        /// The values are not transformed in any way and thus are considered stable
1458        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1459        pub fn as_str_name(&self) -> &'static str {
1460            match self {
1461                Self::Unknown => "EVENT_TYPE_UNKNOWN",
1462                Self::Create => "EVENT_TYPE_CREATE",
1463                Self::Drop => "EVENT_TYPE_DROP",
1464                Self::Alter => "EVENT_TYPE_ALTER",
1465                Self::Grant => "EVENT_TYPE_GRANT",
1466                Self::Revoke => "EVENT_TYPE_REVOKE",
1467                Self::Comment => "EVENT_TYPE_COMMENT",
1468            }
1469        }
1470        /// Creates an enum from field names used in the ProtoBuf definition.
1471        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1472            match value {
1473                "EVENT_TYPE_UNKNOWN" => Some(Self::Unknown),
1474                "EVENT_TYPE_CREATE" => Some(Self::Create),
1475                "EVENT_TYPE_DROP" => Some(Self::Drop),
1476                "EVENT_TYPE_ALTER" => Some(Self::Alter),
1477                "EVENT_TYPE_GRANT" => Some(Self::Grant),
1478                "EVENT_TYPE_REVOKE" => Some(Self::Revoke),
1479                "EVENT_TYPE_COMMENT" => Some(Self::Comment),
1480                _ => None,
1481            }
1482        }
1483    }
1484    #[derive(::proptest_derive::Arbitrary)]
1485    #[derive(
1486        Clone,
1487        Copy,
1488        Debug,
1489        PartialEq,
1490        Eq,
1491        Hash,
1492        PartialOrd,
1493        Ord,
1494        ::prost::Enumeration
1495    )]
1496    #[repr(i32)]
1497    pub enum ObjectType {
1498        Unknown = 0,
1499        Cluster = 1,
1500        ClusterReplica = 2,
1501        Connection = 3,
1502        Database = 4,
1503        Func = 5,
1504        Index = 6,
1505        MaterializedView = 7,
1506        Role = 8,
1507        Secret = 9,
1508        Schema = 10,
1509        Sink = 11,
1510        Source = 12,
1511        Table = 13,
1512        Type = 14,
1513        View = 15,
1514        System = 16,
1515        ContinualTask = 17,
1516    }
1517    impl ObjectType {
1518        /// String value of the enum field names used in the ProtoBuf definition.
1519        ///
1520        /// The values are not transformed in any way and thus are considered stable
1521        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1522        pub fn as_str_name(&self) -> &'static str {
1523            match self {
1524                Self::Unknown => "OBJECT_TYPE_UNKNOWN",
1525                Self::Cluster => "OBJECT_TYPE_CLUSTER",
1526                Self::ClusterReplica => "OBJECT_TYPE_CLUSTER_REPLICA",
1527                Self::Connection => "OBJECT_TYPE_CONNECTION",
1528                Self::Database => "OBJECT_TYPE_DATABASE",
1529                Self::Func => "OBJECT_TYPE_FUNC",
1530                Self::Index => "OBJECT_TYPE_INDEX",
1531                Self::MaterializedView => "OBJECT_TYPE_MATERIALIZED_VIEW",
1532                Self::Role => "OBJECT_TYPE_ROLE",
1533                Self::Secret => "OBJECT_TYPE_SECRET",
1534                Self::Schema => "OBJECT_TYPE_SCHEMA",
1535                Self::Sink => "OBJECT_TYPE_SINK",
1536                Self::Source => "OBJECT_TYPE_SOURCE",
1537                Self::Table => "OBJECT_TYPE_TABLE",
1538                Self::Type => "OBJECT_TYPE_TYPE",
1539                Self::View => "OBJECT_TYPE_VIEW",
1540                Self::System => "OBJECT_TYPE_SYSTEM",
1541                Self::ContinualTask => "OBJECT_TYPE_CONTINUAL_TASK",
1542            }
1543        }
1544        /// Creates an enum from field names used in the ProtoBuf definition.
1545        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1546            match value {
1547                "OBJECT_TYPE_UNKNOWN" => Some(Self::Unknown),
1548                "OBJECT_TYPE_CLUSTER" => Some(Self::Cluster),
1549                "OBJECT_TYPE_CLUSTER_REPLICA" => Some(Self::ClusterReplica),
1550                "OBJECT_TYPE_CONNECTION" => Some(Self::Connection),
1551                "OBJECT_TYPE_DATABASE" => Some(Self::Database),
1552                "OBJECT_TYPE_FUNC" => Some(Self::Func),
1553                "OBJECT_TYPE_INDEX" => Some(Self::Index),
1554                "OBJECT_TYPE_MATERIALIZED_VIEW" => Some(Self::MaterializedView),
1555                "OBJECT_TYPE_ROLE" => Some(Self::Role),
1556                "OBJECT_TYPE_SECRET" => Some(Self::Secret),
1557                "OBJECT_TYPE_SCHEMA" => Some(Self::Schema),
1558                "OBJECT_TYPE_SINK" => Some(Self::Sink),
1559                "OBJECT_TYPE_SOURCE" => Some(Self::Source),
1560                "OBJECT_TYPE_TABLE" => Some(Self::Table),
1561                "OBJECT_TYPE_TYPE" => Some(Self::Type),
1562                "OBJECT_TYPE_VIEW" => Some(Self::View),
1563                "OBJECT_TYPE_SYSTEM" => Some(Self::System),
1564                "OBJECT_TYPE_CONTINUAL_TASK" => Some(Self::ContinualTask),
1565                _ => None,
1566            }
1567        }
1568    }
1569    /// next-id: 40
1570    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1571    #[derive(::proptest_derive::Arbitrary)]
1572    #[derive(Clone, PartialEq, ::prost::Oneof)]
1573    pub enum Details {
1574        #[prost(message, tag = "6")]
1575        CreateClusterReplicaV1(CreateClusterReplicaV1),
1576        #[prost(message, tag = "33")]
1577        CreateClusterReplicaV2(CreateClusterReplicaV2),
1578        #[prost(message, tag = "7")]
1579        DropClusterReplicaV1(DropClusterReplicaV1),
1580        #[prost(message, tag = "34")]
1581        DropClusterReplicaV2(DropClusterReplicaV2),
1582        #[prost(message, tag = "8")]
1583        CreateSourceSinkV1(CreateSourceSinkV1),
1584        #[prost(message, tag = "9")]
1585        CreateSourceSinkV2(CreateSourceSinkV2),
1586        #[prost(message, tag = "10")]
1587        AlterSourceSinkV1(AlterSourceSinkV1),
1588        #[prost(message, tag = "25")]
1589        AlterSetClusterV1(AlterSetClusterV1),
1590        #[prost(message, tag = "11")]
1591        GrantRoleV1(GrantRoleV1),
1592        #[prost(message, tag = "12")]
1593        GrantRoleV2(GrantRoleV2),
1594        #[prost(message, tag = "13")]
1595        RevokeRoleV1(RevokeRoleV1),
1596        #[prost(message, tag = "14")]
1597        RevokeRoleV2(RevokeRoleV2),
1598        #[prost(message, tag = "22")]
1599        UpdatePrivilegeV1(UpdatePrivilegeV1),
1600        #[prost(message, tag = "23")]
1601        AlterDefaultPrivilegeV1(AlterDefaultPrivilegeV1),
1602        #[prost(message, tag = "24")]
1603        UpdateOwnerV1(UpdateOwnerV1),
1604        #[prost(message, tag = "15")]
1605        IdFullNameV1(IdFullNameV1),
1606        #[prost(message, tag = "20")]
1607        RenameClusterV1(RenameClusterV1),
1608        #[prost(message, tag = "21")]
1609        RenameClusterReplicaV1(RenameClusterReplicaV1),
1610        #[prost(message, tag = "16")]
1611        RenameItemV1(RenameItemV1),
1612        #[prost(message, tag = "17")]
1613        IdNameV1(IdNameV1),
1614        #[prost(message, tag = "18")]
1615        SchemaV1(SchemaV1),
1616        #[prost(message, tag = "19")]
1617        SchemaV2(SchemaV2),
1618        #[prost(message, tag = "27")]
1619        RenameSchemaV1(RenameSchemaV1),
1620        #[prost(message, tag = "26")]
1621        UpdateItemV1(UpdateItemV1),
1622        #[prost(message, tag = "29")]
1623        CreateSourceSinkV3(CreateSourceSinkV3),
1624        #[prost(message, tag = "30")]
1625        AlterRetainHistoryV1(AlterRetainHistoryV1),
1626        #[prost(message, tag = "31")]
1627        ToNewIdV1(ToNewIdV1),
1628        #[prost(message, tag = "32")]
1629        FromPreviousIdV1(FromPreviousIdV1),
1630        #[prost(message, tag = "35")]
1631        SetV1(SetV1),
1632        #[prost(message, tag = "36")]
1633        ResetAllV1(super::Empty),
1634        #[prost(message, tag = "37")]
1635        RotateKeysV1(RotateKeysV1),
1636        #[prost(message, tag = "38")]
1637        CreateSourceSinkV4(CreateSourceSinkV4),
1638        #[prost(message, tag = "39")]
1639        CreateIndexV1(CreateIndexV1),
1640        #[prost(message, tag = "40")]
1641        CreateMaterializedViewV1(CreateMaterializedViewV1),
1642    }
1643}
1644/// Wrapper of key-values used by the persist implementation to serialize the catalog.
1645#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1646#[derive(::proptest_derive::Arbitrary)]
1647#[derive(Clone, PartialEq, ::prost::Message)]
1648pub struct StateUpdateKind {
1649    #[prost(
1650        oneof = "state_update_kind::Kind",
1651        tags = "1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 16, 17, 18, 20, 21, 23, 24, 25"
1652    )]
1653    pub kind: ::core::option::Option<state_update_kind::Kind>,
1654}
1655/// Nested message and enum types in `StateUpdateKind`.
1656pub mod state_update_kind {
1657    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1658    #[derive(::proptest_derive::Arbitrary)]
1659    #[derive(Clone, PartialEq, ::prost::Message)]
1660    pub struct AuditLog {
1661        #[prost(message, optional, tag = "1")]
1662        pub key: ::core::option::Option<super::AuditLogKey>,
1663    }
1664    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1665    #[derive(::proptest_derive::Arbitrary)]
1666    #[derive(Clone, PartialEq, ::prost::Message)]
1667    pub struct Cluster {
1668        #[prost(message, optional, tag = "1")]
1669        pub key: ::core::option::Option<super::ClusterKey>,
1670        #[prost(message, optional, tag = "2")]
1671        pub value: ::core::option::Option<super::ClusterValue>,
1672    }
1673    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1674    #[derive(::proptest_derive::Arbitrary)]
1675    #[derive(Clone, PartialEq, ::prost::Message)]
1676    pub struct ClusterReplica {
1677        #[prost(message, optional, tag = "1")]
1678        pub key: ::core::option::Option<super::ClusterReplicaKey>,
1679        #[prost(message, optional, tag = "2")]
1680        pub value: ::core::option::Option<super::ClusterReplicaValue>,
1681    }
1682    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1683    #[derive(::proptest_derive::Arbitrary)]
1684    #[derive(Clone, PartialEq, ::prost::Message)]
1685    pub struct Comment {
1686        #[prost(message, optional, tag = "1")]
1687        pub key: ::core::option::Option<super::CommentKey>,
1688        #[prost(message, optional, tag = "2")]
1689        pub value: ::core::option::Option<super::CommentValue>,
1690    }
1691    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1692    #[derive(::proptest_derive::Arbitrary)]
1693    #[derive(Clone, PartialEq, ::prost::Message)]
1694    pub struct Config {
1695        #[prost(message, optional, tag = "1")]
1696        pub key: ::core::option::Option<super::ConfigKey>,
1697        #[prost(message, optional, tag = "2")]
1698        pub value: ::core::option::Option<super::ConfigValue>,
1699    }
1700    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1701    #[derive(::proptest_derive::Arbitrary)]
1702    #[derive(Clone, PartialEq, ::prost::Message)]
1703    pub struct Database {
1704        #[prost(message, optional, tag = "1")]
1705        pub key: ::core::option::Option<super::DatabaseKey>,
1706        #[prost(message, optional, tag = "2")]
1707        pub value: ::core::option::Option<super::DatabaseValue>,
1708    }
1709    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1710    #[derive(::proptest_derive::Arbitrary)]
1711    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1712    pub struct DefaultPrivileges {
1713        #[prost(message, optional, tag = "1")]
1714        pub key: ::core::option::Option<super::DefaultPrivilegesKey>,
1715        #[prost(message, optional, tag = "2")]
1716        pub value: ::core::option::Option<super::DefaultPrivilegesValue>,
1717    }
1718    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1719    #[derive(::proptest_derive::Arbitrary)]
1720    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1721    pub struct FenceToken {
1722        #[prost(uint64, tag = "1")]
1723        pub deploy_generation: u64,
1724        #[prost(int64, tag = "2")]
1725        pub epoch: i64,
1726    }
1727    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1728    #[derive(::proptest_derive::Arbitrary)]
1729    #[derive(Clone, PartialEq, ::prost::Message)]
1730    pub struct IdAlloc {
1731        #[prost(message, optional, tag = "1")]
1732        pub key: ::core::option::Option<super::IdAllocKey>,
1733        #[prost(message, optional, tag = "2")]
1734        pub value: ::core::option::Option<super::IdAllocValue>,
1735    }
1736    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1737    #[derive(::proptest_derive::Arbitrary)]
1738    #[derive(Clone, PartialEq, ::prost::Message)]
1739    pub struct ClusterIntrospectionSourceIndex {
1740        #[prost(message, optional, tag = "1")]
1741        pub key: ::core::option::Option<super::ClusterIntrospectionSourceIndexKey>,
1742        #[prost(message, optional, tag = "2")]
1743        pub value: ::core::option::Option<super::ClusterIntrospectionSourceIndexValue>,
1744    }
1745    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1746    #[derive(::proptest_derive::Arbitrary)]
1747    #[derive(Clone, PartialEq, ::prost::Message)]
1748    pub struct Item {
1749        #[prost(message, optional, tag = "1")]
1750        pub key: ::core::option::Option<super::ItemKey>,
1751        #[prost(message, optional, tag = "2")]
1752        pub value: ::core::option::Option<super::ItemValue>,
1753    }
1754    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1755    #[derive(::proptest_derive::Arbitrary)]
1756    #[derive(Clone, PartialEq, ::prost::Message)]
1757    pub struct Role {
1758        #[prost(message, optional, tag = "1")]
1759        pub key: ::core::option::Option<super::RoleKey>,
1760        #[prost(message, optional, tag = "2")]
1761        pub value: ::core::option::Option<super::RoleValue>,
1762    }
1763    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1764    #[derive(::proptest_derive::Arbitrary)]
1765    #[derive(Clone, PartialEq, ::prost::Message)]
1766    pub struct Schema {
1767        #[prost(message, optional, tag = "1")]
1768        pub key: ::core::option::Option<super::SchemaKey>,
1769        #[prost(message, optional, tag = "2")]
1770        pub value: ::core::option::Option<super::SchemaValue>,
1771    }
1772    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1773    #[derive(::proptest_derive::Arbitrary)]
1774    #[derive(Clone, PartialEq, ::prost::Message)]
1775    pub struct Setting {
1776        #[prost(message, optional, tag = "1")]
1777        pub key: ::core::option::Option<super::SettingKey>,
1778        #[prost(message, optional, tag = "2")]
1779        pub value: ::core::option::Option<super::SettingValue>,
1780    }
1781    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1782    #[derive(::proptest_derive::Arbitrary)]
1783    #[derive(Clone, PartialEq, ::prost::Message)]
1784    pub struct ServerConfiguration {
1785        #[prost(message, optional, tag = "1")]
1786        pub key: ::core::option::Option<super::ServerConfigurationKey>,
1787        #[prost(message, optional, tag = "2")]
1788        pub value: ::core::option::Option<super::ServerConfigurationValue>,
1789    }
1790    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1791    #[derive(::proptest_derive::Arbitrary)]
1792    #[derive(Clone, PartialEq, ::prost::Message)]
1793    pub struct SourceReferences {
1794        #[prost(message, optional, tag = "1")]
1795        pub key: ::core::option::Option<super::SourceReferencesKey>,
1796        #[prost(message, optional, tag = "2")]
1797        pub value: ::core::option::Option<super::SourceReferencesValue>,
1798    }
1799    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1800    #[derive(::proptest_derive::Arbitrary)]
1801    #[derive(Clone, PartialEq, ::prost::Message)]
1802    pub struct GidMapping {
1803        #[prost(message, optional, tag = "1")]
1804        pub key: ::core::option::Option<super::GidMappingKey>,
1805        #[prost(message, optional, tag = "2")]
1806        pub value: ::core::option::Option<super::GidMappingValue>,
1807    }
1808    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1809    #[derive(::proptest_derive::Arbitrary)]
1810    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1811    pub struct SystemPrivileges {
1812        #[prost(message, optional, tag = "1")]
1813        pub key: ::core::option::Option<super::SystemPrivilegesKey>,
1814        #[prost(message, optional, tag = "2")]
1815        pub value: ::core::option::Option<super::SystemPrivilegesValue>,
1816    }
1817    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1818    #[derive(::proptest_derive::Arbitrary)]
1819    #[derive(Clone, PartialEq, ::prost::Message)]
1820    pub struct StorageCollectionMetadata {
1821        #[prost(message, optional, tag = "1")]
1822        pub key: ::core::option::Option<super::StorageCollectionMetadataKey>,
1823        #[prost(message, optional, tag = "2")]
1824        pub value: ::core::option::Option<super::StorageCollectionMetadataValue>,
1825    }
1826    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1827    #[derive(::proptest_derive::Arbitrary)]
1828    #[derive(Clone, PartialEq, ::prost::Message)]
1829    pub struct UnfinalizedShard {
1830        #[prost(message, optional, tag = "1")]
1831        pub key: ::core::option::Option<super::UnfinalizedShardKey>,
1832    }
1833    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1834    #[derive(::proptest_derive::Arbitrary)]
1835    #[derive(Clone, PartialEq, ::prost::Message)]
1836    pub struct TxnWalShard {
1837        #[prost(message, optional, tag = "1")]
1838        pub value: ::core::option::Option<super::TxnWalShardValue>,
1839    }
1840    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1841    #[serde(tag = "kind")]
1842    #[derive(::proptest_derive::Arbitrary)]
1843    #[derive(Clone, PartialEq, ::prost::Oneof)]
1844    pub enum Kind {
1845        #[prost(message, tag = "1")]
1846        AuditLog(AuditLog),
1847        #[prost(message, tag = "2")]
1848        Cluster(Cluster),
1849        #[prost(message, tag = "3")]
1850        ClusterReplica(ClusterReplica),
1851        #[prost(message, tag = "4")]
1852        Comment(Comment),
1853        #[prost(message, tag = "5")]
1854        Config(Config),
1855        #[prost(message, tag = "6")]
1856        Database(Database),
1857        #[prost(message, tag = "7")]
1858        DefaultPrivileges(DefaultPrivileges),
1859        #[prost(message, tag = "9")]
1860        IdAlloc(IdAlloc),
1861        #[prost(message, tag = "10")]
1862        ClusterIntrospectionSourceIndex(ClusterIntrospectionSourceIndex),
1863        #[prost(message, tag = "11")]
1864        Item(Item),
1865        #[prost(message, tag = "12")]
1866        Role(Role),
1867        #[prost(message, tag = "13")]
1868        Schema(Schema),
1869        #[prost(message, tag = "14")]
1870        Setting(Setting),
1871        #[prost(message, tag = "16")]
1872        ServerConfiguration(ServerConfiguration),
1873        #[prost(message, tag = "17")]
1874        GidMapping(GidMapping),
1875        #[prost(message, tag = "18")]
1876        SystemPrivileges(SystemPrivileges),
1877        #[prost(message, tag = "20")]
1878        StorageCollectionMetadata(StorageCollectionMetadata),
1879        #[prost(message, tag = "21")]
1880        UnfinalizedShard(UnfinalizedShard),
1881        #[prost(message, tag = "23")]
1882        TxnWalShard(TxnWalShard),
1883        #[prost(message, tag = "24")]
1884        SourceReferences(SourceReferences),
1885        #[prost(message, tag = "25")]
1886        FenceToken(FenceToken),
1887    }
1888}
1889#[derive(::proptest_derive::Arbitrary)]
1890#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1891#[repr(i32)]
1892pub enum CatalogItemType {
1893    Unknown = 0,
1894    Table = 1,
1895    Source = 2,
1896    Sink = 3,
1897    View = 4,
1898    MaterializedView = 5,
1899    Index = 6,
1900    Type = 7,
1901    Func = 8,
1902    Secret = 9,
1903    Connection = 10,
1904    ContinualTask = 11,
1905}
1906impl CatalogItemType {
1907    /// String value of the enum field names used in the ProtoBuf definition.
1908    ///
1909    /// The values are not transformed in any way and thus are considered stable
1910    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1911    pub fn as_str_name(&self) -> &'static str {
1912        match self {
1913            Self::Unknown => "CATALOG_ITEM_TYPE_UNKNOWN",
1914            Self::Table => "CATALOG_ITEM_TYPE_TABLE",
1915            Self::Source => "CATALOG_ITEM_TYPE_SOURCE",
1916            Self::Sink => "CATALOG_ITEM_TYPE_SINK",
1917            Self::View => "CATALOG_ITEM_TYPE_VIEW",
1918            Self::MaterializedView => "CATALOG_ITEM_TYPE_MATERIALIZED_VIEW",
1919            Self::Index => "CATALOG_ITEM_TYPE_INDEX",
1920            Self::Type => "CATALOG_ITEM_TYPE_TYPE",
1921            Self::Func => "CATALOG_ITEM_TYPE_FUNC",
1922            Self::Secret => "CATALOG_ITEM_TYPE_SECRET",
1923            Self::Connection => "CATALOG_ITEM_TYPE_CONNECTION",
1924            Self::ContinualTask => "CATALOG_ITEM_TYPE_CONTINUAL_TASK",
1925        }
1926    }
1927    /// Creates an enum from field names used in the ProtoBuf definition.
1928    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1929        match value {
1930            "CATALOG_ITEM_TYPE_UNKNOWN" => Some(Self::Unknown),
1931            "CATALOG_ITEM_TYPE_TABLE" => Some(Self::Table),
1932            "CATALOG_ITEM_TYPE_SOURCE" => Some(Self::Source),
1933            "CATALOG_ITEM_TYPE_SINK" => Some(Self::Sink),
1934            "CATALOG_ITEM_TYPE_VIEW" => Some(Self::View),
1935            "CATALOG_ITEM_TYPE_MATERIALIZED_VIEW" => Some(Self::MaterializedView),
1936            "CATALOG_ITEM_TYPE_INDEX" => Some(Self::Index),
1937            "CATALOG_ITEM_TYPE_TYPE" => Some(Self::Type),
1938            "CATALOG_ITEM_TYPE_FUNC" => Some(Self::Func),
1939            "CATALOG_ITEM_TYPE_SECRET" => Some(Self::Secret),
1940            "CATALOG_ITEM_TYPE_CONNECTION" => Some(Self::Connection),
1941            "CATALOG_ITEM_TYPE_CONTINUAL_TASK" => Some(Self::ContinualTask),
1942            _ => None,
1943        }
1944    }
1945}
1946#[derive(::proptest_derive::Arbitrary)]
1947#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1948#[repr(i32)]
1949pub enum ObjectType {
1950    Unknown = 0,
1951    Table = 1,
1952    View = 2,
1953    MaterializedView = 3,
1954    Source = 4,
1955    Sink = 5,
1956    Index = 6,
1957    Type = 7,
1958    Role = 8,
1959    Cluster = 9,
1960    ClusterReplica = 10,
1961    Secret = 11,
1962    Connection = 12,
1963    Database = 13,
1964    Schema = 14,
1965    Func = 15,
1966    ContinualTask = 16,
1967}
1968impl ObjectType {
1969    /// String value of the enum field names used in the ProtoBuf definition.
1970    ///
1971    /// The values are not transformed in any way and thus are considered stable
1972    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1973    pub fn as_str_name(&self) -> &'static str {
1974        match self {
1975            Self::Unknown => "OBJECT_TYPE_UNKNOWN",
1976            Self::Table => "OBJECT_TYPE_TABLE",
1977            Self::View => "OBJECT_TYPE_VIEW",
1978            Self::MaterializedView => "OBJECT_TYPE_MATERIALIZED_VIEW",
1979            Self::Source => "OBJECT_TYPE_SOURCE",
1980            Self::Sink => "OBJECT_TYPE_SINK",
1981            Self::Index => "OBJECT_TYPE_INDEX",
1982            Self::Type => "OBJECT_TYPE_TYPE",
1983            Self::Role => "OBJECT_TYPE_ROLE",
1984            Self::Cluster => "OBJECT_TYPE_CLUSTER",
1985            Self::ClusterReplica => "OBJECT_TYPE_CLUSTER_REPLICA",
1986            Self::Secret => "OBJECT_TYPE_SECRET",
1987            Self::Connection => "OBJECT_TYPE_CONNECTION",
1988            Self::Database => "OBJECT_TYPE_DATABASE",
1989            Self::Schema => "OBJECT_TYPE_SCHEMA",
1990            Self::Func => "OBJECT_TYPE_FUNC",
1991            Self::ContinualTask => "OBJECT_TYPE_CONTINUAL_TASK",
1992        }
1993    }
1994    /// Creates an enum from field names used in the ProtoBuf definition.
1995    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1996        match value {
1997            "OBJECT_TYPE_UNKNOWN" => Some(Self::Unknown),
1998            "OBJECT_TYPE_TABLE" => Some(Self::Table),
1999            "OBJECT_TYPE_VIEW" => Some(Self::View),
2000            "OBJECT_TYPE_MATERIALIZED_VIEW" => Some(Self::MaterializedView),
2001            "OBJECT_TYPE_SOURCE" => Some(Self::Source),
2002            "OBJECT_TYPE_SINK" => Some(Self::Sink),
2003            "OBJECT_TYPE_INDEX" => Some(Self::Index),
2004            "OBJECT_TYPE_TYPE" => Some(Self::Type),
2005            "OBJECT_TYPE_ROLE" => Some(Self::Role),
2006            "OBJECT_TYPE_CLUSTER" => Some(Self::Cluster),
2007            "OBJECT_TYPE_CLUSTER_REPLICA" => Some(Self::ClusterReplica),
2008            "OBJECT_TYPE_SECRET" => Some(Self::Secret),
2009            "OBJECT_TYPE_CONNECTION" => Some(Self::Connection),
2010            "OBJECT_TYPE_DATABASE" => Some(Self::Database),
2011            "OBJECT_TYPE_SCHEMA" => Some(Self::Schema),
2012            "OBJECT_TYPE_FUNC" => Some(Self::Func),
2013            "OBJECT_TYPE_CONTINUAL_TASK" => Some(Self::ContinualTask),
2014            _ => None,
2015        }
2016    }
2017}