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