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