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