mz_catalog_protos/mnt/build/debug/build/mz-catalog-protos-a3b3a429d61b06fe/out/
objects_v70.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, 41, 7, 34, 42, 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 CreateClusterReplicaV3 {
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        #[prost(string, tag = "5")]
1156        pub logical_size: ::prost::alloc::string::String,
1157        #[prost(bool, tag = "6")]
1158        pub disk: bool,
1159        #[prost(string, optional, tag = "7")]
1160        pub billed_as: ::core::option::Option<::prost::alloc::string::String>,
1161        #[prost(bool, tag = "8")]
1162        pub internal: bool,
1163        #[prost(message, optional, tag = "9")]
1164        pub reason: ::core::option::Option<CreateOrDropClusterReplicaReasonV1>,
1165        #[prost(message, optional, tag = "10")]
1166        pub scheduling_policies: ::core::option::Option<
1167            SchedulingDecisionsWithReasonsV2,
1168        >,
1169    }
1170    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1171    #[derive(::proptest_derive::Arbitrary)]
1172    #[derive(Clone, PartialEq, ::prost::Message)]
1173    pub struct DropClusterReplicaV1 {
1174        #[prost(string, tag = "1")]
1175        pub cluster_id: ::prost::alloc::string::String,
1176        #[prost(string, tag = "2")]
1177        pub cluster_name: ::prost::alloc::string::String,
1178        #[prost(message, optional, tag = "3")]
1179        pub replica_id: ::core::option::Option<super::StringWrapper>,
1180        #[prost(string, tag = "4")]
1181        pub replica_name: ::prost::alloc::string::String,
1182    }
1183    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1184    #[derive(::proptest_derive::Arbitrary)]
1185    #[derive(Clone, PartialEq, ::prost::Message)]
1186    pub struct DropClusterReplicaV2 {
1187        #[prost(string, tag = "1")]
1188        pub cluster_id: ::prost::alloc::string::String,
1189        #[prost(string, tag = "2")]
1190        pub cluster_name: ::prost::alloc::string::String,
1191        #[prost(message, optional, tag = "3")]
1192        pub replica_id: ::core::option::Option<super::StringWrapper>,
1193        #[prost(string, tag = "4")]
1194        pub replica_name: ::prost::alloc::string::String,
1195        #[prost(message, optional, tag = "5")]
1196        pub reason: ::core::option::Option<CreateOrDropClusterReplicaReasonV1>,
1197        #[prost(message, optional, tag = "6")]
1198        pub scheduling_policies: ::core::option::Option<
1199            SchedulingDecisionsWithReasonsV1,
1200        >,
1201    }
1202    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1203    #[derive(::proptest_derive::Arbitrary)]
1204    #[derive(Clone, PartialEq, ::prost::Message)]
1205    pub struct DropClusterReplicaV3 {
1206        #[prost(string, tag = "1")]
1207        pub cluster_id: ::prost::alloc::string::String,
1208        #[prost(string, tag = "2")]
1209        pub cluster_name: ::prost::alloc::string::String,
1210        #[prost(message, optional, tag = "3")]
1211        pub replica_id: ::core::option::Option<super::StringWrapper>,
1212        #[prost(string, tag = "4")]
1213        pub replica_name: ::prost::alloc::string::String,
1214        #[prost(message, optional, tag = "5")]
1215        pub reason: ::core::option::Option<CreateOrDropClusterReplicaReasonV1>,
1216        #[prost(message, optional, tag = "6")]
1217        pub scheduling_policies: ::core::option::Option<
1218            SchedulingDecisionsWithReasonsV2,
1219        >,
1220    }
1221    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1222    #[derive(::proptest_derive::Arbitrary)]
1223    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1224    pub struct CreateOrDropClusterReplicaReasonV1 {
1225        #[prost(
1226            oneof = "create_or_drop_cluster_replica_reason_v1::Reason",
1227            tags = "1, 2, 3"
1228        )]
1229        pub reason: ::core::option::Option<
1230            create_or_drop_cluster_replica_reason_v1::Reason,
1231        >,
1232    }
1233    /// Nested message and enum types in `CreateOrDropClusterReplicaReasonV1`.
1234    pub mod create_or_drop_cluster_replica_reason_v1 {
1235        #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1236        #[derive(::proptest_derive::Arbitrary)]
1237        #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
1238        pub enum Reason {
1239            #[prost(message, tag = "1")]
1240            Manual(super::super::Empty),
1241            #[prost(message, tag = "2")]
1242            Schedule(super::super::Empty),
1243            #[prost(message, tag = "3")]
1244            System(super::super::Empty),
1245        }
1246    }
1247    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1248    #[derive(::proptest_derive::Arbitrary)]
1249    #[derive(Clone, PartialEq, ::prost::Message)]
1250    pub struct SchedulingDecisionsWithReasonsV1 {
1251        #[prost(message, optional, tag = "1")]
1252        pub on_refresh: ::core::option::Option<RefreshDecisionWithReasonV1>,
1253    }
1254    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1255    #[derive(::proptest_derive::Arbitrary)]
1256    #[derive(Clone, PartialEq, ::prost::Message)]
1257    pub struct SchedulingDecisionsWithReasonsV2 {
1258        #[prost(message, optional, tag = "1")]
1259        pub on_refresh: ::core::option::Option<RefreshDecisionWithReasonV2>,
1260    }
1261    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1262    #[derive(::proptest_derive::Arbitrary)]
1263    #[derive(Clone, PartialEq, ::prost::Message)]
1264    pub struct RefreshDecisionWithReasonV1 {
1265        #[prost(string, repeated, tag = "3")]
1266        pub objects_needing_refresh: ::prost::alloc::vec::Vec<
1267            ::prost::alloc::string::String,
1268        >,
1269        #[prost(string, tag = "4")]
1270        pub rehydration_time_estimate: ::prost::alloc::string::String,
1271        #[prost(oneof = "refresh_decision_with_reason_v1::Decision", tags = "1, 2")]
1272        pub decision: ::core::option::Option<refresh_decision_with_reason_v1::Decision>,
1273    }
1274    /// Nested message and enum types in `RefreshDecisionWithReasonV1`.
1275    pub mod refresh_decision_with_reason_v1 {
1276        #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1277        #[derive(::proptest_derive::Arbitrary)]
1278        #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
1279        pub enum Decision {
1280            #[prost(message, tag = "1")]
1281            On(super::super::Empty),
1282            #[prost(message, tag = "2")]
1283            Off(super::super::Empty),
1284        }
1285    }
1286    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1287    #[derive(::proptest_derive::Arbitrary)]
1288    #[derive(Clone, PartialEq, ::prost::Message)]
1289    pub struct RefreshDecisionWithReasonV2 {
1290        #[prost(string, repeated, tag = "3")]
1291        pub objects_needing_refresh: ::prost::alloc::vec::Vec<
1292            ::prost::alloc::string::String,
1293        >,
1294        #[prost(string, repeated, tag = "5")]
1295        pub objects_needing_compaction: ::prost::alloc::vec::Vec<
1296            ::prost::alloc::string::String,
1297        >,
1298        #[prost(string, tag = "4")]
1299        pub rehydration_time_estimate: ::prost::alloc::string::String,
1300        #[prost(oneof = "refresh_decision_with_reason_v2::Decision", tags = "1, 2")]
1301        pub decision: ::core::option::Option<refresh_decision_with_reason_v2::Decision>,
1302    }
1303    /// Nested message and enum types in `RefreshDecisionWithReasonV2`.
1304    pub mod refresh_decision_with_reason_v2 {
1305        #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1306        #[derive(::proptest_derive::Arbitrary)]
1307        #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
1308        pub enum Decision {
1309            #[prost(message, tag = "1")]
1310            On(super::super::Empty),
1311            #[prost(message, tag = "2")]
1312            Off(super::super::Empty),
1313        }
1314    }
1315    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1316    #[derive(::proptest_derive::Arbitrary)]
1317    #[derive(Clone, PartialEq, ::prost::Message)]
1318    pub struct CreateSourceSinkV1 {
1319        #[prost(string, tag = "1")]
1320        pub id: ::prost::alloc::string::String,
1321        #[prost(message, optional, tag = "2")]
1322        pub name: ::core::option::Option<FullNameV1>,
1323        #[prost(message, optional, tag = "3")]
1324        pub size: ::core::option::Option<super::StringWrapper>,
1325    }
1326    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1327    #[derive(::proptest_derive::Arbitrary)]
1328    #[derive(Clone, PartialEq, ::prost::Message)]
1329    pub struct CreateSourceSinkV2 {
1330        #[prost(string, tag = "1")]
1331        pub id: ::prost::alloc::string::String,
1332        #[prost(message, optional, tag = "2")]
1333        pub name: ::core::option::Option<FullNameV1>,
1334        #[prost(message, optional, tag = "3")]
1335        pub size: ::core::option::Option<super::StringWrapper>,
1336        #[prost(string, tag = "4")]
1337        pub external_type: ::prost::alloc::string::String,
1338    }
1339    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1340    #[derive(::proptest_derive::Arbitrary)]
1341    #[derive(Clone, PartialEq, ::prost::Message)]
1342    pub struct CreateSourceSinkV3 {
1343        #[prost(string, tag = "1")]
1344        pub id: ::prost::alloc::string::String,
1345        #[prost(message, optional, tag = "2")]
1346        pub name: ::core::option::Option<FullNameV1>,
1347        #[prost(string, tag = "3")]
1348        pub external_type: ::prost::alloc::string::String,
1349    }
1350    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1351    #[derive(::proptest_derive::Arbitrary)]
1352    #[derive(Clone, PartialEq, ::prost::Message)]
1353    pub struct CreateSourceSinkV4 {
1354        #[prost(string, tag = "1")]
1355        pub id: ::prost::alloc::string::String,
1356        #[prost(message, optional, tag = "2")]
1357        pub cluster_id: ::core::option::Option<super::StringWrapper>,
1358        #[prost(message, optional, tag = "3")]
1359        pub name: ::core::option::Option<FullNameV1>,
1360        #[prost(string, tag = "4")]
1361        pub external_type: ::prost::alloc::string::String,
1362    }
1363    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1364    #[derive(::proptest_derive::Arbitrary)]
1365    #[derive(Clone, PartialEq, ::prost::Message)]
1366    pub struct CreateIndexV1 {
1367        #[prost(string, tag = "1")]
1368        pub id: ::prost::alloc::string::String,
1369        #[prost(string, tag = "2")]
1370        pub cluster_id: ::prost::alloc::string::String,
1371        #[prost(message, optional, tag = "3")]
1372        pub name: ::core::option::Option<FullNameV1>,
1373    }
1374    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1375    #[derive(::proptest_derive::Arbitrary)]
1376    #[derive(Clone, PartialEq, ::prost::Message)]
1377    pub struct CreateMaterializedViewV1 {
1378        #[prost(string, tag = "1")]
1379        pub id: ::prost::alloc::string::String,
1380        #[prost(string, tag = "2")]
1381        pub cluster_id: ::prost::alloc::string::String,
1382        #[prost(message, optional, tag = "3")]
1383        pub name: ::core::option::Option<FullNameV1>,
1384    }
1385    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1386    #[derive(::proptest_derive::Arbitrary)]
1387    #[derive(Clone, PartialEq, ::prost::Message)]
1388    pub struct AlterSourceSinkV1 {
1389        #[prost(string, tag = "1")]
1390        pub id: ::prost::alloc::string::String,
1391        #[prost(message, optional, tag = "2")]
1392        pub name: ::core::option::Option<FullNameV1>,
1393        #[prost(message, optional, tag = "3")]
1394        pub old_size: ::core::option::Option<super::StringWrapper>,
1395        #[prost(message, optional, tag = "4")]
1396        pub new_size: ::core::option::Option<super::StringWrapper>,
1397    }
1398    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1399    #[derive(::proptest_derive::Arbitrary)]
1400    #[derive(Clone, PartialEq, ::prost::Message)]
1401    pub struct AlterSetClusterV1 {
1402        #[prost(string, tag = "1")]
1403        pub id: ::prost::alloc::string::String,
1404        #[prost(message, optional, tag = "2")]
1405        pub name: ::core::option::Option<FullNameV1>,
1406        #[prost(message, optional, tag = "3")]
1407        pub old_cluster: ::core::option::Option<super::StringWrapper>,
1408        #[prost(message, optional, tag = "4")]
1409        pub new_cluster: ::core::option::Option<super::StringWrapper>,
1410    }
1411    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1412    #[derive(::proptest_derive::Arbitrary)]
1413    #[derive(Clone, PartialEq, ::prost::Message)]
1414    pub struct GrantRoleV1 {
1415        #[prost(string, tag = "1")]
1416        pub role_id: ::prost::alloc::string::String,
1417        #[prost(string, tag = "2")]
1418        pub member_id: ::prost::alloc::string::String,
1419        #[prost(string, tag = "3")]
1420        pub grantor_id: ::prost::alloc::string::String,
1421    }
1422    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1423    #[derive(::proptest_derive::Arbitrary)]
1424    #[derive(Clone, PartialEq, ::prost::Message)]
1425    pub struct GrantRoleV2 {
1426        #[prost(string, tag = "1")]
1427        pub role_id: ::prost::alloc::string::String,
1428        #[prost(string, tag = "2")]
1429        pub member_id: ::prost::alloc::string::String,
1430        #[prost(string, tag = "3")]
1431        pub grantor_id: ::prost::alloc::string::String,
1432        #[prost(string, tag = "4")]
1433        pub executed_by: ::prost::alloc::string::String,
1434    }
1435    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1436    #[derive(::proptest_derive::Arbitrary)]
1437    #[derive(Clone, PartialEq, ::prost::Message)]
1438    pub struct RevokeRoleV1 {
1439        #[prost(string, tag = "1")]
1440        pub role_id: ::prost::alloc::string::String,
1441        #[prost(string, tag = "2")]
1442        pub member_id: ::prost::alloc::string::String,
1443    }
1444    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1445    #[derive(::proptest_derive::Arbitrary)]
1446    #[derive(Clone, PartialEq, ::prost::Message)]
1447    pub struct RevokeRoleV2 {
1448        #[prost(string, tag = "1")]
1449        pub role_id: ::prost::alloc::string::String,
1450        #[prost(string, tag = "2")]
1451        pub member_id: ::prost::alloc::string::String,
1452        #[prost(string, tag = "3")]
1453        pub grantor_id: ::prost::alloc::string::String,
1454        #[prost(string, tag = "4")]
1455        pub executed_by: ::prost::alloc::string::String,
1456    }
1457    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1458    #[derive(::proptest_derive::Arbitrary)]
1459    #[derive(Clone, PartialEq, ::prost::Message)]
1460    pub struct UpdatePrivilegeV1 {
1461        #[prost(string, tag = "1")]
1462        pub object_id: ::prost::alloc::string::String,
1463        #[prost(string, tag = "2")]
1464        pub grantee_id: ::prost::alloc::string::String,
1465        #[prost(string, tag = "3")]
1466        pub grantor_id: ::prost::alloc::string::String,
1467        #[prost(string, tag = "4")]
1468        pub privileges: ::prost::alloc::string::String,
1469    }
1470    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1471    #[derive(::proptest_derive::Arbitrary)]
1472    #[derive(Clone, PartialEq, ::prost::Message)]
1473    pub struct AlterDefaultPrivilegeV1 {
1474        #[prost(string, tag = "1")]
1475        pub role_id: ::prost::alloc::string::String,
1476        #[prost(message, optional, tag = "2")]
1477        pub database_id: ::core::option::Option<super::StringWrapper>,
1478        #[prost(message, optional, tag = "3")]
1479        pub schema_id: ::core::option::Option<super::StringWrapper>,
1480        #[prost(string, tag = "4")]
1481        pub grantee_id: ::prost::alloc::string::String,
1482        #[prost(string, tag = "5")]
1483        pub privileges: ::prost::alloc::string::String,
1484    }
1485    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1486    #[derive(::proptest_derive::Arbitrary)]
1487    #[derive(Clone, PartialEq, ::prost::Message)]
1488    pub struct UpdateOwnerV1 {
1489        #[prost(string, tag = "1")]
1490        pub object_id: ::prost::alloc::string::String,
1491        #[prost(string, tag = "2")]
1492        pub old_owner_id: ::prost::alloc::string::String,
1493        #[prost(string, tag = "3")]
1494        pub new_owner_id: ::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 SchemaV1 {
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        #[prost(string, tag = "3")]
1505        pub database_name: ::prost::alloc::string::String,
1506    }
1507    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1508    #[derive(::proptest_derive::Arbitrary)]
1509    #[derive(Clone, PartialEq, ::prost::Message)]
1510    pub struct SchemaV2 {
1511        #[prost(string, tag = "1")]
1512        pub id: ::prost::alloc::string::String,
1513        #[prost(string, tag = "2")]
1514        pub name: ::prost::alloc::string::String,
1515        #[prost(message, optional, tag = "3")]
1516        pub database_name: ::core::option::Option<super::StringWrapper>,
1517    }
1518    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1519    #[derive(::proptest_derive::Arbitrary)]
1520    #[derive(Clone, PartialEq, ::prost::Message)]
1521    pub struct RenameSchemaV1 {
1522        #[prost(string, tag = "1")]
1523        pub id: ::prost::alloc::string::String,
1524        #[prost(string, optional, tag = "2")]
1525        pub database_name: ::core::option::Option<::prost::alloc::string::String>,
1526        #[prost(string, tag = "3")]
1527        pub old_name: ::prost::alloc::string::String,
1528        #[prost(string, tag = "4")]
1529        pub new_name: ::prost::alloc::string::String,
1530    }
1531    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1532    #[derive(::proptest_derive::Arbitrary)]
1533    #[derive(Clone, PartialEq, ::prost::Message)]
1534    pub struct UpdateItemV1 {
1535        #[prost(string, tag = "1")]
1536        pub id: ::prost::alloc::string::String,
1537        #[prost(message, optional, tag = "2")]
1538        pub name: ::core::option::Option<FullNameV1>,
1539    }
1540    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1541    #[derive(::proptest_derive::Arbitrary)]
1542    #[derive(Clone, PartialEq, ::prost::Message)]
1543    pub struct AlterRetainHistoryV1 {
1544        #[prost(string, tag = "1")]
1545        pub id: ::prost::alloc::string::String,
1546        #[prost(string, optional, tag = "2")]
1547        pub old_history: ::core::option::Option<::prost::alloc::string::String>,
1548        #[prost(string, optional, tag = "3")]
1549        pub new_history: ::core::option::Option<::prost::alloc::string::String>,
1550    }
1551    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1552    #[derive(::proptest_derive::Arbitrary)]
1553    #[derive(Clone, PartialEq, ::prost::Message)]
1554    pub struct ToNewIdV1 {
1555        #[prost(string, tag = "1")]
1556        pub id: ::prost::alloc::string::String,
1557        #[prost(string, tag = "2")]
1558        pub new_id: ::prost::alloc::string::String,
1559    }
1560    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1561    #[derive(::proptest_derive::Arbitrary)]
1562    #[derive(Clone, PartialEq, ::prost::Message)]
1563    pub struct FromPreviousIdV1 {
1564        #[prost(string, tag = "1")]
1565        pub id: ::prost::alloc::string::String,
1566        #[prost(string, tag = "2")]
1567        pub previous_id: ::prost::alloc::string::String,
1568    }
1569    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1570    #[derive(::proptest_derive::Arbitrary)]
1571    #[derive(Clone, PartialEq, ::prost::Message)]
1572    pub struct SetV1 {
1573        #[prost(string, tag = "1")]
1574        pub name: ::prost::alloc::string::String,
1575        #[prost(string, optional, tag = "2")]
1576        pub value: ::core::option::Option<::prost::alloc::string::String>,
1577    }
1578    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1579    #[derive(::proptest_derive::Arbitrary)]
1580    #[derive(Clone, PartialEq, ::prost::Message)]
1581    pub struct RotateKeysV1 {
1582        #[prost(string, tag = "1")]
1583        pub id: ::prost::alloc::string::String,
1584        #[prost(string, tag = "2")]
1585        pub name: ::prost::alloc::string::String,
1586    }
1587    #[derive(::proptest_derive::Arbitrary)]
1588    #[derive(
1589        Clone,
1590        Copy,
1591        Debug,
1592        PartialEq,
1593        Eq,
1594        Hash,
1595        PartialOrd,
1596        Ord,
1597        ::prost::Enumeration
1598    )]
1599    #[repr(i32)]
1600    pub enum EventType {
1601        Unknown = 0,
1602        Create = 1,
1603        Drop = 2,
1604        Alter = 3,
1605        Grant = 4,
1606        Revoke = 5,
1607        Comment = 6,
1608    }
1609    impl EventType {
1610        /// String value of the enum field names used in the ProtoBuf definition.
1611        ///
1612        /// The values are not transformed in any way and thus are considered stable
1613        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1614        pub fn as_str_name(&self) -> &'static str {
1615            match self {
1616                Self::Unknown => "EVENT_TYPE_UNKNOWN",
1617                Self::Create => "EVENT_TYPE_CREATE",
1618                Self::Drop => "EVENT_TYPE_DROP",
1619                Self::Alter => "EVENT_TYPE_ALTER",
1620                Self::Grant => "EVENT_TYPE_GRANT",
1621                Self::Revoke => "EVENT_TYPE_REVOKE",
1622                Self::Comment => "EVENT_TYPE_COMMENT",
1623            }
1624        }
1625        /// Creates an enum from field names used in the ProtoBuf definition.
1626        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1627            match value {
1628                "EVENT_TYPE_UNKNOWN" => Some(Self::Unknown),
1629                "EVENT_TYPE_CREATE" => Some(Self::Create),
1630                "EVENT_TYPE_DROP" => Some(Self::Drop),
1631                "EVENT_TYPE_ALTER" => Some(Self::Alter),
1632                "EVENT_TYPE_GRANT" => Some(Self::Grant),
1633                "EVENT_TYPE_REVOKE" => Some(Self::Revoke),
1634                "EVENT_TYPE_COMMENT" => Some(Self::Comment),
1635                _ => None,
1636            }
1637        }
1638    }
1639    #[derive(::proptest_derive::Arbitrary)]
1640    #[derive(
1641        Clone,
1642        Copy,
1643        Debug,
1644        PartialEq,
1645        Eq,
1646        Hash,
1647        PartialOrd,
1648        Ord,
1649        ::prost::Enumeration
1650    )]
1651    #[repr(i32)]
1652    pub enum ObjectType {
1653        Unknown = 0,
1654        Cluster = 1,
1655        ClusterReplica = 2,
1656        Connection = 3,
1657        Database = 4,
1658        Func = 5,
1659        Index = 6,
1660        MaterializedView = 7,
1661        Role = 8,
1662        Secret = 9,
1663        Schema = 10,
1664        Sink = 11,
1665        Source = 12,
1666        Table = 13,
1667        Type = 14,
1668        View = 15,
1669        System = 16,
1670        ContinualTask = 17,
1671        NetworkPolicy = 18,
1672    }
1673    impl ObjectType {
1674        /// String value of the enum field names used in the ProtoBuf definition.
1675        ///
1676        /// The values are not transformed in any way and thus are considered stable
1677        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1678        pub fn as_str_name(&self) -> &'static str {
1679            match self {
1680                Self::Unknown => "OBJECT_TYPE_UNKNOWN",
1681                Self::Cluster => "OBJECT_TYPE_CLUSTER",
1682                Self::ClusterReplica => "OBJECT_TYPE_CLUSTER_REPLICA",
1683                Self::Connection => "OBJECT_TYPE_CONNECTION",
1684                Self::Database => "OBJECT_TYPE_DATABASE",
1685                Self::Func => "OBJECT_TYPE_FUNC",
1686                Self::Index => "OBJECT_TYPE_INDEX",
1687                Self::MaterializedView => "OBJECT_TYPE_MATERIALIZED_VIEW",
1688                Self::Role => "OBJECT_TYPE_ROLE",
1689                Self::Secret => "OBJECT_TYPE_SECRET",
1690                Self::Schema => "OBJECT_TYPE_SCHEMA",
1691                Self::Sink => "OBJECT_TYPE_SINK",
1692                Self::Source => "OBJECT_TYPE_SOURCE",
1693                Self::Table => "OBJECT_TYPE_TABLE",
1694                Self::Type => "OBJECT_TYPE_TYPE",
1695                Self::View => "OBJECT_TYPE_VIEW",
1696                Self::System => "OBJECT_TYPE_SYSTEM",
1697                Self::ContinualTask => "OBJECT_TYPE_CONTINUAL_TASK",
1698                Self::NetworkPolicy => "OBJECT_TYPE_NETWORK_POLICY",
1699            }
1700        }
1701        /// Creates an enum from field names used in the ProtoBuf definition.
1702        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1703            match value {
1704                "OBJECT_TYPE_UNKNOWN" => Some(Self::Unknown),
1705                "OBJECT_TYPE_CLUSTER" => Some(Self::Cluster),
1706                "OBJECT_TYPE_CLUSTER_REPLICA" => Some(Self::ClusterReplica),
1707                "OBJECT_TYPE_CONNECTION" => Some(Self::Connection),
1708                "OBJECT_TYPE_DATABASE" => Some(Self::Database),
1709                "OBJECT_TYPE_FUNC" => Some(Self::Func),
1710                "OBJECT_TYPE_INDEX" => Some(Self::Index),
1711                "OBJECT_TYPE_MATERIALIZED_VIEW" => Some(Self::MaterializedView),
1712                "OBJECT_TYPE_ROLE" => Some(Self::Role),
1713                "OBJECT_TYPE_SECRET" => Some(Self::Secret),
1714                "OBJECT_TYPE_SCHEMA" => Some(Self::Schema),
1715                "OBJECT_TYPE_SINK" => Some(Self::Sink),
1716                "OBJECT_TYPE_SOURCE" => Some(Self::Source),
1717                "OBJECT_TYPE_TABLE" => Some(Self::Table),
1718                "OBJECT_TYPE_TYPE" => Some(Self::Type),
1719                "OBJECT_TYPE_VIEW" => Some(Self::View),
1720                "OBJECT_TYPE_SYSTEM" => Some(Self::System),
1721                "OBJECT_TYPE_CONTINUAL_TASK" => Some(Self::ContinualTask),
1722                "OBJECT_TYPE_NETWORK_POLICY" => Some(Self::NetworkPolicy),
1723                _ => None,
1724            }
1725        }
1726    }
1727    /// next-id: 40
1728    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1729    #[derive(::proptest_derive::Arbitrary)]
1730    #[derive(Clone, PartialEq, ::prost::Oneof)]
1731    pub enum Details {
1732        #[prost(message, tag = "6")]
1733        CreateClusterReplicaV1(CreateClusterReplicaV1),
1734        #[prost(message, tag = "33")]
1735        CreateClusterReplicaV2(CreateClusterReplicaV2),
1736        #[prost(message, tag = "41")]
1737        CreateClusterReplicaV3(CreateClusterReplicaV3),
1738        #[prost(message, tag = "7")]
1739        DropClusterReplicaV1(DropClusterReplicaV1),
1740        #[prost(message, tag = "34")]
1741        DropClusterReplicaV2(DropClusterReplicaV2),
1742        #[prost(message, tag = "42")]
1743        DropClusterReplicaV3(DropClusterReplicaV3),
1744        #[prost(message, tag = "8")]
1745        CreateSourceSinkV1(CreateSourceSinkV1),
1746        #[prost(message, tag = "9")]
1747        CreateSourceSinkV2(CreateSourceSinkV2),
1748        #[prost(message, tag = "10")]
1749        AlterSourceSinkV1(AlterSourceSinkV1),
1750        #[prost(message, tag = "25")]
1751        AlterSetClusterV1(AlterSetClusterV1),
1752        #[prost(message, tag = "11")]
1753        GrantRoleV1(GrantRoleV1),
1754        #[prost(message, tag = "12")]
1755        GrantRoleV2(GrantRoleV2),
1756        #[prost(message, tag = "13")]
1757        RevokeRoleV1(RevokeRoleV1),
1758        #[prost(message, tag = "14")]
1759        RevokeRoleV2(RevokeRoleV2),
1760        #[prost(message, tag = "22")]
1761        UpdatePrivilegeV1(UpdatePrivilegeV1),
1762        #[prost(message, tag = "23")]
1763        AlterDefaultPrivilegeV1(AlterDefaultPrivilegeV1),
1764        #[prost(message, tag = "24")]
1765        UpdateOwnerV1(UpdateOwnerV1),
1766        #[prost(message, tag = "15")]
1767        IdFullNameV1(IdFullNameV1),
1768        #[prost(message, tag = "20")]
1769        RenameClusterV1(RenameClusterV1),
1770        #[prost(message, tag = "21")]
1771        RenameClusterReplicaV1(RenameClusterReplicaV1),
1772        #[prost(message, tag = "16")]
1773        RenameItemV1(RenameItemV1),
1774        #[prost(message, tag = "17")]
1775        IdNameV1(IdNameV1),
1776        #[prost(message, tag = "18")]
1777        SchemaV1(SchemaV1),
1778        #[prost(message, tag = "19")]
1779        SchemaV2(SchemaV2),
1780        #[prost(message, tag = "27")]
1781        RenameSchemaV1(RenameSchemaV1),
1782        #[prost(message, tag = "26")]
1783        UpdateItemV1(UpdateItemV1),
1784        #[prost(message, tag = "29")]
1785        CreateSourceSinkV3(CreateSourceSinkV3),
1786        #[prost(message, tag = "30")]
1787        AlterRetainHistoryV1(AlterRetainHistoryV1),
1788        #[prost(message, tag = "31")]
1789        ToNewIdV1(ToNewIdV1),
1790        #[prost(message, tag = "32")]
1791        FromPreviousIdV1(FromPreviousIdV1),
1792        #[prost(message, tag = "35")]
1793        SetV1(SetV1),
1794        #[prost(message, tag = "36")]
1795        ResetAllV1(super::Empty),
1796        #[prost(message, tag = "37")]
1797        RotateKeysV1(RotateKeysV1),
1798        #[prost(message, tag = "38")]
1799        CreateSourceSinkV4(CreateSourceSinkV4),
1800        #[prost(message, tag = "39")]
1801        CreateIndexV1(CreateIndexV1),
1802        #[prost(message, tag = "40")]
1803        CreateMaterializedViewV1(CreateMaterializedViewV1),
1804    }
1805}
1806/// Wrapper of key-values used by the persist implementation to serialize the catalog.
1807#[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1808#[derive(::proptest_derive::Arbitrary)]
1809#[derive(Clone, PartialEq, ::prost::Message)]
1810pub struct StateUpdateKind {
1811    #[prost(
1812        oneof = "state_update_kind::Kind",
1813        tags = "1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 16, 17, 18, 20, 21, 23, 24, 25, 26"
1814    )]
1815    pub kind: ::core::option::Option<state_update_kind::Kind>,
1816}
1817/// Nested message and enum types in `StateUpdateKind`.
1818pub mod state_update_kind {
1819    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1820    #[derive(::proptest_derive::Arbitrary)]
1821    #[derive(Clone, PartialEq, ::prost::Message)]
1822    pub struct AuditLog {
1823        #[prost(message, optional, tag = "1")]
1824        pub key: ::core::option::Option<super::AuditLogKey>,
1825    }
1826    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1827    #[derive(::proptest_derive::Arbitrary)]
1828    #[derive(Clone, PartialEq, ::prost::Message)]
1829    pub struct Cluster {
1830        #[prost(message, optional, tag = "1")]
1831        pub key: ::core::option::Option<super::ClusterKey>,
1832        #[prost(message, optional, tag = "2")]
1833        pub value: ::core::option::Option<super::ClusterValue>,
1834    }
1835    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1836    #[derive(::proptest_derive::Arbitrary)]
1837    #[derive(Clone, PartialEq, ::prost::Message)]
1838    pub struct ClusterReplica {
1839        #[prost(message, optional, tag = "1")]
1840        pub key: ::core::option::Option<super::ClusterReplicaKey>,
1841        #[prost(message, optional, tag = "2")]
1842        pub value: ::core::option::Option<super::ClusterReplicaValue>,
1843    }
1844    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1845    #[derive(::proptest_derive::Arbitrary)]
1846    #[derive(Clone, PartialEq, ::prost::Message)]
1847    pub struct Comment {
1848        #[prost(message, optional, tag = "1")]
1849        pub key: ::core::option::Option<super::CommentKey>,
1850        #[prost(message, optional, tag = "2")]
1851        pub value: ::core::option::Option<super::CommentValue>,
1852    }
1853    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1854    #[derive(::proptest_derive::Arbitrary)]
1855    #[derive(Clone, PartialEq, ::prost::Message)]
1856    pub struct Config {
1857        #[prost(message, optional, tag = "1")]
1858        pub key: ::core::option::Option<super::ConfigKey>,
1859        #[prost(message, optional, tag = "2")]
1860        pub value: ::core::option::Option<super::ConfigValue>,
1861    }
1862    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1863    #[derive(::proptest_derive::Arbitrary)]
1864    #[derive(Clone, PartialEq, ::prost::Message)]
1865    pub struct Database {
1866        #[prost(message, optional, tag = "1")]
1867        pub key: ::core::option::Option<super::DatabaseKey>,
1868        #[prost(message, optional, tag = "2")]
1869        pub value: ::core::option::Option<super::DatabaseValue>,
1870    }
1871    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1872    #[derive(::proptest_derive::Arbitrary)]
1873    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1874    pub struct DefaultPrivileges {
1875        #[prost(message, optional, tag = "1")]
1876        pub key: ::core::option::Option<super::DefaultPrivilegesKey>,
1877        #[prost(message, optional, tag = "2")]
1878        pub value: ::core::option::Option<super::DefaultPrivilegesValue>,
1879    }
1880    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1881    #[derive(::proptest_derive::Arbitrary)]
1882    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1883    pub struct FenceToken {
1884        #[prost(uint64, tag = "1")]
1885        pub deploy_generation: u64,
1886        #[prost(int64, tag = "2")]
1887        pub epoch: i64,
1888    }
1889    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1890    #[derive(::proptest_derive::Arbitrary)]
1891    #[derive(Clone, PartialEq, ::prost::Message)]
1892    pub struct IdAlloc {
1893        #[prost(message, optional, tag = "1")]
1894        pub key: ::core::option::Option<super::IdAllocKey>,
1895        #[prost(message, optional, tag = "2")]
1896        pub value: ::core::option::Option<super::IdAllocValue>,
1897    }
1898    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1899    #[derive(::proptest_derive::Arbitrary)]
1900    #[derive(Clone, PartialEq, ::prost::Message)]
1901    pub struct ClusterIntrospectionSourceIndex {
1902        #[prost(message, optional, tag = "1")]
1903        pub key: ::core::option::Option<super::ClusterIntrospectionSourceIndexKey>,
1904        #[prost(message, optional, tag = "2")]
1905        pub value: ::core::option::Option<super::ClusterIntrospectionSourceIndexValue>,
1906    }
1907    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1908    #[derive(::proptest_derive::Arbitrary)]
1909    #[derive(Clone, PartialEq, ::prost::Message)]
1910    pub struct Item {
1911        #[prost(message, optional, tag = "1")]
1912        pub key: ::core::option::Option<super::ItemKey>,
1913        #[prost(message, optional, tag = "2")]
1914        pub value: ::core::option::Option<super::ItemValue>,
1915    }
1916    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1917    #[derive(::proptest_derive::Arbitrary)]
1918    #[derive(Clone, PartialEq, ::prost::Message)]
1919    pub struct Role {
1920        #[prost(message, optional, tag = "1")]
1921        pub key: ::core::option::Option<super::RoleKey>,
1922        #[prost(message, optional, tag = "2")]
1923        pub value: ::core::option::Option<super::RoleValue>,
1924    }
1925    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1926    #[derive(::proptest_derive::Arbitrary)]
1927    #[derive(Clone, PartialEq, ::prost::Message)]
1928    pub struct NetworkPolicy {
1929        #[prost(message, optional, tag = "1")]
1930        pub key: ::core::option::Option<super::NetworkPolicyKey>,
1931        #[prost(message, optional, tag = "2")]
1932        pub value: ::core::option::Option<super::NetworkPolicyValue>,
1933    }
1934    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1935    #[derive(::proptest_derive::Arbitrary)]
1936    #[derive(Clone, PartialEq, ::prost::Message)]
1937    pub struct Schema {
1938        #[prost(message, optional, tag = "1")]
1939        pub key: ::core::option::Option<super::SchemaKey>,
1940        #[prost(message, optional, tag = "2")]
1941        pub value: ::core::option::Option<super::SchemaValue>,
1942    }
1943    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1944    #[derive(::proptest_derive::Arbitrary)]
1945    #[derive(Clone, PartialEq, ::prost::Message)]
1946    pub struct Setting {
1947        #[prost(message, optional, tag = "1")]
1948        pub key: ::core::option::Option<super::SettingKey>,
1949        #[prost(message, optional, tag = "2")]
1950        pub value: ::core::option::Option<super::SettingValue>,
1951    }
1952    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1953    #[derive(::proptest_derive::Arbitrary)]
1954    #[derive(Clone, PartialEq, ::prost::Message)]
1955    pub struct ServerConfiguration {
1956        #[prost(message, optional, tag = "1")]
1957        pub key: ::core::option::Option<super::ServerConfigurationKey>,
1958        #[prost(message, optional, tag = "2")]
1959        pub value: ::core::option::Option<super::ServerConfigurationValue>,
1960    }
1961    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1962    #[derive(::proptest_derive::Arbitrary)]
1963    #[derive(Clone, PartialEq, ::prost::Message)]
1964    pub struct SourceReferences {
1965        #[prost(message, optional, tag = "1")]
1966        pub key: ::core::option::Option<super::SourceReferencesKey>,
1967        #[prost(message, optional, tag = "2")]
1968        pub value: ::core::option::Option<super::SourceReferencesValue>,
1969    }
1970    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1971    #[derive(::proptest_derive::Arbitrary)]
1972    #[derive(Clone, PartialEq, ::prost::Message)]
1973    pub struct GidMapping {
1974        #[prost(message, optional, tag = "1")]
1975        pub key: ::core::option::Option<super::GidMappingKey>,
1976        #[prost(message, optional, tag = "2")]
1977        pub value: ::core::option::Option<super::GidMappingValue>,
1978    }
1979    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1980    #[derive(::proptest_derive::Arbitrary)]
1981    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1982    pub struct SystemPrivileges {
1983        #[prost(message, optional, tag = "1")]
1984        pub key: ::core::option::Option<super::SystemPrivilegesKey>,
1985        #[prost(message, optional, tag = "2")]
1986        pub value: ::core::option::Option<super::SystemPrivilegesValue>,
1987    }
1988    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1989    #[derive(::proptest_derive::Arbitrary)]
1990    #[derive(Clone, PartialEq, ::prost::Message)]
1991    pub struct StorageCollectionMetadata {
1992        #[prost(message, optional, tag = "1")]
1993        pub key: ::core::option::Option<super::StorageCollectionMetadataKey>,
1994        #[prost(message, optional, tag = "2")]
1995        pub value: ::core::option::Option<super::StorageCollectionMetadataValue>,
1996    }
1997    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
1998    #[derive(::proptest_derive::Arbitrary)]
1999    #[derive(Clone, PartialEq, ::prost::Message)]
2000    pub struct UnfinalizedShard {
2001        #[prost(message, optional, tag = "1")]
2002        pub key: ::core::option::Option<super::UnfinalizedShardKey>,
2003    }
2004    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
2005    #[derive(::proptest_derive::Arbitrary)]
2006    #[derive(Clone, PartialEq, ::prost::Message)]
2007    pub struct TxnWalShard {
2008        #[prost(message, optional, tag = "1")]
2009        pub value: ::core::option::Option<super::TxnWalShardValue>,
2010    }
2011    #[derive(Eq, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
2012    #[serde(tag = "kind")]
2013    #[derive(::proptest_derive::Arbitrary)]
2014    #[derive(Clone, PartialEq, ::prost::Oneof)]
2015    pub enum Kind {
2016        #[prost(message, tag = "1")]
2017        AuditLog(AuditLog),
2018        #[prost(message, tag = "2")]
2019        Cluster(Cluster),
2020        #[prost(message, tag = "3")]
2021        ClusterReplica(ClusterReplica),
2022        #[prost(message, tag = "4")]
2023        Comment(Comment),
2024        #[prost(message, tag = "5")]
2025        Config(Config),
2026        #[prost(message, tag = "6")]
2027        Database(Database),
2028        #[prost(message, tag = "7")]
2029        DefaultPrivileges(DefaultPrivileges),
2030        #[prost(message, tag = "9")]
2031        IdAlloc(IdAlloc),
2032        #[prost(message, tag = "10")]
2033        ClusterIntrospectionSourceIndex(ClusterIntrospectionSourceIndex),
2034        #[prost(message, tag = "11")]
2035        Item(Item),
2036        #[prost(message, tag = "12")]
2037        Role(Role),
2038        #[prost(message, tag = "13")]
2039        Schema(Schema),
2040        #[prost(message, tag = "14")]
2041        Setting(Setting),
2042        #[prost(message, tag = "16")]
2043        ServerConfiguration(ServerConfiguration),
2044        #[prost(message, tag = "17")]
2045        GidMapping(GidMapping),
2046        #[prost(message, tag = "18")]
2047        SystemPrivileges(SystemPrivileges),
2048        #[prost(message, tag = "20")]
2049        StorageCollectionMetadata(StorageCollectionMetadata),
2050        #[prost(message, tag = "21")]
2051        UnfinalizedShard(UnfinalizedShard),
2052        #[prost(message, tag = "23")]
2053        TxnWalShard(TxnWalShard),
2054        #[prost(message, tag = "24")]
2055        SourceReferences(SourceReferences),
2056        #[prost(message, tag = "25")]
2057        FenceToken(FenceToken),
2058        #[prost(message, tag = "26")]
2059        NetworkPolicy(NetworkPolicy),
2060    }
2061}
2062#[derive(::proptest_derive::Arbitrary)]
2063#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2064#[repr(i32)]
2065pub enum CatalogItemType {
2066    Unknown = 0,
2067    Table = 1,
2068    Source = 2,
2069    Sink = 3,
2070    View = 4,
2071    MaterializedView = 5,
2072    Index = 6,
2073    Type = 7,
2074    Func = 8,
2075    Secret = 9,
2076    Connection = 10,
2077    ContinualTask = 11,
2078}
2079impl CatalogItemType {
2080    /// String value of the enum field names used in the ProtoBuf definition.
2081    ///
2082    /// The values are not transformed in any way and thus are considered stable
2083    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2084    pub fn as_str_name(&self) -> &'static str {
2085        match self {
2086            Self::Unknown => "CATALOG_ITEM_TYPE_UNKNOWN",
2087            Self::Table => "CATALOG_ITEM_TYPE_TABLE",
2088            Self::Source => "CATALOG_ITEM_TYPE_SOURCE",
2089            Self::Sink => "CATALOG_ITEM_TYPE_SINK",
2090            Self::View => "CATALOG_ITEM_TYPE_VIEW",
2091            Self::MaterializedView => "CATALOG_ITEM_TYPE_MATERIALIZED_VIEW",
2092            Self::Index => "CATALOG_ITEM_TYPE_INDEX",
2093            Self::Type => "CATALOG_ITEM_TYPE_TYPE",
2094            Self::Func => "CATALOG_ITEM_TYPE_FUNC",
2095            Self::Secret => "CATALOG_ITEM_TYPE_SECRET",
2096            Self::Connection => "CATALOG_ITEM_TYPE_CONNECTION",
2097            Self::ContinualTask => "CATALOG_ITEM_TYPE_CONTINUAL_TASK",
2098        }
2099    }
2100    /// Creates an enum from field names used in the ProtoBuf definition.
2101    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2102        match value {
2103            "CATALOG_ITEM_TYPE_UNKNOWN" => Some(Self::Unknown),
2104            "CATALOG_ITEM_TYPE_TABLE" => Some(Self::Table),
2105            "CATALOG_ITEM_TYPE_SOURCE" => Some(Self::Source),
2106            "CATALOG_ITEM_TYPE_SINK" => Some(Self::Sink),
2107            "CATALOG_ITEM_TYPE_VIEW" => Some(Self::View),
2108            "CATALOG_ITEM_TYPE_MATERIALIZED_VIEW" => Some(Self::MaterializedView),
2109            "CATALOG_ITEM_TYPE_INDEX" => Some(Self::Index),
2110            "CATALOG_ITEM_TYPE_TYPE" => Some(Self::Type),
2111            "CATALOG_ITEM_TYPE_FUNC" => Some(Self::Func),
2112            "CATALOG_ITEM_TYPE_SECRET" => Some(Self::Secret),
2113            "CATALOG_ITEM_TYPE_CONNECTION" => Some(Self::Connection),
2114            "CATALOG_ITEM_TYPE_CONTINUAL_TASK" => Some(Self::ContinualTask),
2115            _ => None,
2116        }
2117    }
2118}
2119#[derive(::proptest_derive::Arbitrary)]
2120#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2121#[repr(i32)]
2122pub enum ObjectType {
2123    Unknown = 0,
2124    Table = 1,
2125    View = 2,
2126    MaterializedView = 3,
2127    Source = 4,
2128    Sink = 5,
2129    Index = 6,
2130    Type = 7,
2131    Role = 8,
2132    Cluster = 9,
2133    ClusterReplica = 10,
2134    Secret = 11,
2135    Connection = 12,
2136    Database = 13,
2137    Schema = 14,
2138    Func = 15,
2139    ContinualTask = 16,
2140    NetworkPolicy = 17,
2141}
2142impl ObjectType {
2143    /// String value of the enum field names used in the ProtoBuf definition.
2144    ///
2145    /// The values are not transformed in any way and thus are considered stable
2146    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
2147    pub fn as_str_name(&self) -> &'static str {
2148        match self {
2149            Self::Unknown => "OBJECT_TYPE_UNKNOWN",
2150            Self::Table => "OBJECT_TYPE_TABLE",
2151            Self::View => "OBJECT_TYPE_VIEW",
2152            Self::MaterializedView => "OBJECT_TYPE_MATERIALIZED_VIEW",
2153            Self::Source => "OBJECT_TYPE_SOURCE",
2154            Self::Sink => "OBJECT_TYPE_SINK",
2155            Self::Index => "OBJECT_TYPE_INDEX",
2156            Self::Type => "OBJECT_TYPE_TYPE",
2157            Self::Role => "OBJECT_TYPE_ROLE",
2158            Self::Cluster => "OBJECT_TYPE_CLUSTER",
2159            Self::ClusterReplica => "OBJECT_TYPE_CLUSTER_REPLICA",
2160            Self::Secret => "OBJECT_TYPE_SECRET",
2161            Self::Connection => "OBJECT_TYPE_CONNECTION",
2162            Self::Database => "OBJECT_TYPE_DATABASE",
2163            Self::Schema => "OBJECT_TYPE_SCHEMA",
2164            Self::Func => "OBJECT_TYPE_FUNC",
2165            Self::ContinualTask => "OBJECT_TYPE_CONTINUAL_TASK",
2166            Self::NetworkPolicy => "OBJECT_TYPE_NETWORK_POLICY",
2167        }
2168    }
2169    /// Creates an enum from field names used in the ProtoBuf definition.
2170    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2171        match value {
2172            "OBJECT_TYPE_UNKNOWN" => Some(Self::Unknown),
2173            "OBJECT_TYPE_TABLE" => Some(Self::Table),
2174            "OBJECT_TYPE_VIEW" => Some(Self::View),
2175            "OBJECT_TYPE_MATERIALIZED_VIEW" => Some(Self::MaterializedView),
2176            "OBJECT_TYPE_SOURCE" => Some(Self::Source),
2177            "OBJECT_TYPE_SINK" => Some(Self::Sink),
2178            "OBJECT_TYPE_INDEX" => Some(Self::Index),
2179            "OBJECT_TYPE_TYPE" => Some(Self::Type),
2180            "OBJECT_TYPE_ROLE" => Some(Self::Role),
2181            "OBJECT_TYPE_CLUSTER" => Some(Self::Cluster),
2182            "OBJECT_TYPE_CLUSTER_REPLICA" => Some(Self::ClusterReplica),
2183            "OBJECT_TYPE_SECRET" => Some(Self::Secret),
2184            "OBJECT_TYPE_CONNECTION" => Some(Self::Connection),
2185            "OBJECT_TYPE_DATABASE" => Some(Self::Database),
2186            "OBJECT_TYPE_SCHEMA" => Some(Self::Schema),
2187            "OBJECT_TYPE_FUNC" => Some(Self::Func),
2188            "OBJECT_TYPE_CONTINUAL_TASK" => Some(Self::ContinualTask),
2189            "OBJECT_TYPE_NETWORK_POLICY" => Some(Self::NetworkPolicy),
2190            _ => None,
2191        }
2192    }
2193}