vitess_grpc/generated/
tabletmanagerdata.rs

1#[allow(clippy::derive_partial_eq_without_eq)]
2#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct TableDefinition {
4    /// the table name
5    #[prost(string, tag = "1")]
6    pub name: ::prost::alloc::string::String,
7    /// the SQL to run to create the table
8    #[prost(string, tag = "2")]
9    pub schema: ::prost::alloc::string::String,
10    /// the columns in the order that will be used to dump and load the data
11    #[prost(string, repeated, tag = "3")]
12    pub columns: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
13    /// the primary key columns in the primary key order
14    #[prost(string, repeated, tag = "4")]
15    pub primary_key_columns: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
16    /// type is either mysqlctl.TableBaseTable or mysqlctl.TableView
17    #[prost(string, tag = "5")]
18    pub r#type: ::prost::alloc::string::String,
19    /// how much space the data file takes.
20    #[prost(uint64, tag = "6")]
21    pub data_length: u64,
22    /// approximate number of rows
23    #[prost(uint64, tag = "7")]
24    pub row_count: u64,
25    /// column names along with their types.
26    /// NOTE: this is a superset of columns.
27    #[prost(message, repeated, tag = "8")]
28    pub fields: ::prost::alloc::vec::Vec<super::query::Field>,
29}
30#[allow(clippy::derive_partial_eq_without_eq)]
31#[derive(Clone, PartialEq, ::prost::Message)]
32pub struct SchemaDefinition {
33    #[prost(string, tag = "1")]
34    pub database_schema: ::prost::alloc::string::String,
35    #[prost(message, repeated, tag = "2")]
36    pub table_definitions: ::prost::alloc::vec::Vec<TableDefinition>,
37}
38#[allow(clippy::derive_partial_eq_without_eq)]
39#[derive(Clone, PartialEq, ::prost::Message)]
40pub struct SchemaChangeResult {
41    /// before_schema holds the schema before each change.
42    #[prost(message, optional, tag = "1")]
43    pub before_schema: ::core::option::Option<SchemaDefinition>,
44    /// after_schema holds the schema after each change.
45    #[prost(message, optional, tag = "2")]
46    pub after_schema: ::core::option::Option<SchemaDefinition>,
47}
48/// UserPermission describes a single row in the mysql.user table
49/// Primary key is Host+User
50/// PasswordChecksum is the crc64 of the password, for security reasons
51#[allow(clippy::derive_partial_eq_without_eq)]
52#[derive(Clone, PartialEq, ::prost::Message)]
53pub struct UserPermission {
54    #[prost(string, tag = "1")]
55    pub host: ::prost::alloc::string::String,
56    #[prost(string, tag = "2")]
57    pub user: ::prost::alloc::string::String,
58    #[prost(uint64, tag = "3")]
59    pub password_checksum: u64,
60    #[prost(map = "string, string", tag = "4")]
61    pub privileges: ::std::collections::HashMap<
62        ::prost::alloc::string::String,
63        ::prost::alloc::string::String,
64    >,
65}
66/// DbPermission describes a single row in the mysql.db table
67/// Primary key is Host+Db+User
68#[allow(clippy::derive_partial_eq_without_eq)]
69#[derive(Clone, PartialEq, ::prost::Message)]
70pub struct DbPermission {
71    #[prost(string, tag = "1")]
72    pub host: ::prost::alloc::string::String,
73    #[prost(string, tag = "2")]
74    pub db: ::prost::alloc::string::String,
75    #[prost(string, tag = "3")]
76    pub user: ::prost::alloc::string::String,
77    #[prost(map = "string, string", tag = "4")]
78    pub privileges: ::std::collections::HashMap<
79        ::prost::alloc::string::String,
80        ::prost::alloc::string::String,
81    >,
82}
83/// Permissions have all the rows in mysql.{user,db} tables,
84/// (all rows are sorted by primary key)
85#[allow(clippy::derive_partial_eq_without_eq)]
86#[derive(Clone, PartialEq, ::prost::Message)]
87pub struct Permissions {
88    #[prost(message, repeated, tag = "1")]
89    pub user_permissions: ::prost::alloc::vec::Vec<UserPermission>,
90    #[prost(message, repeated, tag = "2")]
91    pub db_permissions: ::prost::alloc::vec::Vec<DbPermission>,
92}
93#[allow(clippy::derive_partial_eq_without_eq)]
94#[derive(Clone, PartialEq, ::prost::Message)]
95pub struct PingRequest {
96    #[prost(string, tag = "1")]
97    pub payload: ::prost::alloc::string::String,
98}
99#[allow(clippy::derive_partial_eq_without_eq)]
100#[derive(Clone, PartialEq, ::prost::Message)]
101pub struct PingResponse {
102    #[prost(string, tag = "1")]
103    pub payload: ::prost::alloc::string::String,
104}
105#[allow(clippy::derive_partial_eq_without_eq)]
106#[derive(Clone, PartialEq, ::prost::Message)]
107pub struct SleepRequest {
108    /// duration is in nanoseconds
109    #[prost(int64, tag = "1")]
110    pub duration: i64,
111}
112#[allow(clippy::derive_partial_eq_without_eq)]
113#[derive(Clone, PartialEq, ::prost::Message)]
114pub struct SleepResponse {}
115#[allow(clippy::derive_partial_eq_without_eq)]
116#[derive(Clone, PartialEq, ::prost::Message)]
117pub struct ExecuteHookRequest {
118    #[prost(string, tag = "1")]
119    pub name: ::prost::alloc::string::String,
120    #[prost(string, repeated, tag = "2")]
121    pub parameters: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
122    #[prost(map = "string, string", tag = "3")]
123    pub extra_env: ::std::collections::HashMap<
124        ::prost::alloc::string::String,
125        ::prost::alloc::string::String,
126    >,
127}
128#[allow(clippy::derive_partial_eq_without_eq)]
129#[derive(Clone, PartialEq, ::prost::Message)]
130pub struct ExecuteHookResponse {
131    #[prost(int64, tag = "1")]
132    pub exit_status: i64,
133    #[prost(string, tag = "2")]
134    pub stdout: ::prost::alloc::string::String,
135    #[prost(string, tag = "3")]
136    pub stderr: ::prost::alloc::string::String,
137}
138#[allow(clippy::derive_partial_eq_without_eq)]
139#[derive(Clone, PartialEq, ::prost::Message)]
140pub struct GetSchemaRequest {
141    #[prost(string, repeated, tag = "1")]
142    pub tables: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
143    #[prost(bool, tag = "2")]
144    pub include_views: bool,
145    #[prost(string, repeated, tag = "3")]
146    pub exclude_tables: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
147    /// TableSchemaOnly specifies whether to limit the results to just table/view
148    /// schema definition (CREATE TABLE/VIEW statements) and skip column/field information
149    #[prost(bool, tag = "4")]
150    pub table_schema_only: bool,
151}
152#[allow(clippy::derive_partial_eq_without_eq)]
153#[derive(Clone, PartialEq, ::prost::Message)]
154pub struct GetSchemaResponse {
155    #[prost(message, optional, tag = "1")]
156    pub schema_definition: ::core::option::Option<SchemaDefinition>,
157}
158#[allow(clippy::derive_partial_eq_without_eq)]
159#[derive(Clone, PartialEq, ::prost::Message)]
160pub struct GetPermissionsRequest {}
161#[allow(clippy::derive_partial_eq_without_eq)]
162#[derive(Clone, PartialEq, ::prost::Message)]
163pub struct GetPermissionsResponse {
164    #[prost(message, optional, tag = "1")]
165    pub permissions: ::core::option::Option<Permissions>,
166}
167#[allow(clippy::derive_partial_eq_without_eq)]
168#[derive(Clone, PartialEq, ::prost::Message)]
169pub struct SetReadOnlyRequest {}
170#[allow(clippy::derive_partial_eq_without_eq)]
171#[derive(Clone, PartialEq, ::prost::Message)]
172pub struct SetReadOnlyResponse {}
173#[allow(clippy::derive_partial_eq_without_eq)]
174#[derive(Clone, PartialEq, ::prost::Message)]
175pub struct SetReadWriteRequest {}
176#[allow(clippy::derive_partial_eq_without_eq)]
177#[derive(Clone, PartialEq, ::prost::Message)]
178pub struct SetReadWriteResponse {}
179#[allow(clippy::derive_partial_eq_without_eq)]
180#[derive(Clone, PartialEq, ::prost::Message)]
181pub struct ChangeTypeRequest {
182    #[prost(enumeration = "super::topodata::TabletType", tag = "1")]
183    pub tablet_type: i32,
184    #[prost(bool, tag = "2")]
185    pub semi_sync: bool,
186}
187#[allow(clippy::derive_partial_eq_without_eq)]
188#[derive(Clone, PartialEq, ::prost::Message)]
189pub struct ChangeTypeResponse {}
190#[allow(clippy::derive_partial_eq_without_eq)]
191#[derive(Clone, PartialEq, ::prost::Message)]
192pub struct RefreshStateRequest {}
193#[allow(clippy::derive_partial_eq_without_eq)]
194#[derive(Clone, PartialEq, ::prost::Message)]
195pub struct RefreshStateResponse {}
196#[allow(clippy::derive_partial_eq_without_eq)]
197#[derive(Clone, PartialEq, ::prost::Message)]
198pub struct RunHealthCheckRequest {}
199#[allow(clippy::derive_partial_eq_without_eq)]
200#[derive(Clone, PartialEq, ::prost::Message)]
201pub struct RunHealthCheckResponse {}
202#[allow(clippy::derive_partial_eq_without_eq)]
203#[derive(Clone, PartialEq, ::prost::Message)]
204pub struct ReloadSchemaRequest {
205    /// wait_position allows scheduling a schema reload to occur after a
206    /// given DDL has replicated to this server, by specifying a replication
207    /// position to wait for. Leave empty to trigger the reload immediately.
208    #[prost(string, tag = "1")]
209    pub wait_position: ::prost::alloc::string::String,
210}
211#[allow(clippy::derive_partial_eq_without_eq)]
212#[derive(Clone, PartialEq, ::prost::Message)]
213pub struct ReloadSchemaResponse {}
214#[allow(clippy::derive_partial_eq_without_eq)]
215#[derive(Clone, PartialEq, ::prost::Message)]
216pub struct PreflightSchemaRequest {
217    #[prost(string, repeated, tag = "1")]
218    pub changes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
219}
220#[allow(clippy::derive_partial_eq_without_eq)]
221#[derive(Clone, PartialEq, ::prost::Message)]
222pub struct PreflightSchemaResponse {
223    /// change_results has for each change the schema before and after it.
224    /// The number of elements is identical to the length of "changes" in the request.
225    #[prost(message, repeated, tag = "1")]
226    pub change_results: ::prost::alloc::vec::Vec<SchemaChangeResult>,
227}
228#[allow(clippy::derive_partial_eq_without_eq)]
229#[derive(Clone, PartialEq, ::prost::Message)]
230pub struct ApplySchemaRequest {
231    #[prost(string, tag = "1")]
232    pub sql: ::prost::alloc::string::String,
233    #[prost(bool, tag = "2")]
234    pub force: bool,
235    #[prost(bool, tag = "3")]
236    pub allow_replication: bool,
237    #[prost(message, optional, tag = "4")]
238    pub before_schema: ::core::option::Option<SchemaDefinition>,
239    #[prost(message, optional, tag = "5")]
240    pub after_schema: ::core::option::Option<SchemaDefinition>,
241    #[prost(string, tag = "6")]
242    pub sql_mode: ::prost::alloc::string::String,
243    /// BatchSize indicates how many queries to apply together
244    #[prost(int64, tag = "7")]
245    pub batch_size: i64,
246}
247#[allow(clippy::derive_partial_eq_without_eq)]
248#[derive(Clone, PartialEq, ::prost::Message)]
249pub struct ApplySchemaResponse {
250    #[prost(message, optional, tag = "1")]
251    pub before_schema: ::core::option::Option<SchemaDefinition>,
252    #[prost(message, optional, tag = "2")]
253    pub after_schema: ::core::option::Option<SchemaDefinition>,
254}
255#[allow(clippy::derive_partial_eq_without_eq)]
256#[derive(Clone, PartialEq, ::prost::Message)]
257pub struct LockTablesRequest {}
258#[allow(clippy::derive_partial_eq_without_eq)]
259#[derive(Clone, PartialEq, ::prost::Message)]
260pub struct LockTablesResponse {}
261#[allow(clippy::derive_partial_eq_without_eq)]
262#[derive(Clone, PartialEq, ::prost::Message)]
263pub struct UnlockTablesRequest {}
264#[allow(clippy::derive_partial_eq_without_eq)]
265#[derive(Clone, PartialEq, ::prost::Message)]
266pub struct UnlockTablesResponse {}
267#[allow(clippy::derive_partial_eq_without_eq)]
268#[derive(Clone, PartialEq, ::prost::Message)]
269pub struct ExecuteQueryRequest {
270    #[prost(bytes = "vec", tag = "1")]
271    pub query: ::prost::alloc::vec::Vec<u8>,
272    #[prost(string, tag = "2")]
273    pub db_name: ::prost::alloc::string::String,
274    #[prost(uint64, tag = "3")]
275    pub max_rows: u64,
276    /// caller_id identifies the caller. This is the effective caller ID,
277    /// set by the application to further identify the caller.
278    #[prost(message, optional, tag = "4")]
279    pub caller_id: ::core::option::Option<super::vtrpc::CallerId>,
280}
281#[allow(clippy::derive_partial_eq_without_eq)]
282#[derive(Clone, PartialEq, ::prost::Message)]
283pub struct ExecuteQueryResponse {
284    #[prost(message, optional, tag = "1")]
285    pub result: ::core::option::Option<super::query::QueryResult>,
286}
287#[allow(clippy::derive_partial_eq_without_eq)]
288#[derive(Clone, PartialEq, ::prost::Message)]
289pub struct ExecuteFetchAsDbaRequest {
290    #[prost(bytes = "vec", tag = "1")]
291    pub query: ::prost::alloc::vec::Vec<u8>,
292    #[prost(string, tag = "2")]
293    pub db_name: ::prost::alloc::string::String,
294    #[prost(uint64, tag = "3")]
295    pub max_rows: u64,
296    #[prost(bool, tag = "4")]
297    pub disable_binlogs: bool,
298    #[prost(bool, tag = "5")]
299    pub reload_schema: bool,
300}
301#[allow(clippy::derive_partial_eq_without_eq)]
302#[derive(Clone, PartialEq, ::prost::Message)]
303pub struct ExecuteFetchAsDbaResponse {
304    #[prost(message, optional, tag = "1")]
305    pub result: ::core::option::Option<super::query::QueryResult>,
306}
307#[allow(clippy::derive_partial_eq_without_eq)]
308#[derive(Clone, PartialEq, ::prost::Message)]
309pub struct ExecuteFetchAsAllPrivsRequest {
310    #[prost(bytes = "vec", tag = "1")]
311    pub query: ::prost::alloc::vec::Vec<u8>,
312    #[prost(string, tag = "2")]
313    pub db_name: ::prost::alloc::string::String,
314    #[prost(uint64, tag = "3")]
315    pub max_rows: u64,
316    #[prost(bool, tag = "4")]
317    pub reload_schema: bool,
318}
319#[allow(clippy::derive_partial_eq_without_eq)]
320#[derive(Clone, PartialEq, ::prost::Message)]
321pub struct ExecuteFetchAsAllPrivsResponse {
322    #[prost(message, optional, tag = "1")]
323    pub result: ::core::option::Option<super::query::QueryResult>,
324}
325#[allow(clippy::derive_partial_eq_without_eq)]
326#[derive(Clone, PartialEq, ::prost::Message)]
327pub struct ExecuteFetchAsAppRequest {
328    #[prost(bytes = "vec", tag = "1")]
329    pub query: ::prost::alloc::vec::Vec<u8>,
330    #[prost(uint64, tag = "2")]
331    pub max_rows: u64,
332}
333#[allow(clippy::derive_partial_eq_without_eq)]
334#[derive(Clone, PartialEq, ::prost::Message)]
335pub struct ExecuteFetchAsAppResponse {
336    #[prost(message, optional, tag = "1")]
337    pub result: ::core::option::Option<super::query::QueryResult>,
338}
339#[allow(clippy::derive_partial_eq_without_eq)]
340#[derive(Clone, PartialEq, ::prost::Message)]
341pub struct ReplicationStatusRequest {}
342#[allow(clippy::derive_partial_eq_without_eq)]
343#[derive(Clone, PartialEq, ::prost::Message)]
344pub struct ReplicationStatusResponse {
345    #[prost(message, optional, tag = "1")]
346    pub status: ::core::option::Option<super::replicationdata::Status>,
347}
348#[allow(clippy::derive_partial_eq_without_eq)]
349#[derive(Clone, PartialEq, ::prost::Message)]
350pub struct PrimaryStatusRequest {}
351#[allow(clippy::derive_partial_eq_without_eq)]
352#[derive(Clone, PartialEq, ::prost::Message)]
353pub struct PrimaryStatusResponse {
354    #[prost(message, optional, tag = "1")]
355    pub status: ::core::option::Option<super::replicationdata::PrimaryStatus>,
356}
357#[allow(clippy::derive_partial_eq_without_eq)]
358#[derive(Clone, PartialEq, ::prost::Message)]
359pub struct PrimaryPositionRequest {}
360#[allow(clippy::derive_partial_eq_without_eq)]
361#[derive(Clone, PartialEq, ::prost::Message)]
362pub struct PrimaryPositionResponse {
363    #[prost(string, tag = "1")]
364    pub position: ::prost::alloc::string::String,
365}
366#[allow(clippy::derive_partial_eq_without_eq)]
367#[derive(Clone, PartialEq, ::prost::Message)]
368pub struct WaitForPositionRequest {
369    #[prost(string, tag = "1")]
370    pub position: ::prost::alloc::string::String,
371}
372#[allow(clippy::derive_partial_eq_without_eq)]
373#[derive(Clone, PartialEq, ::prost::Message)]
374pub struct WaitForPositionResponse {}
375#[allow(clippy::derive_partial_eq_without_eq)]
376#[derive(Clone, PartialEq, ::prost::Message)]
377pub struct StopReplicationRequest {}
378#[allow(clippy::derive_partial_eq_without_eq)]
379#[derive(Clone, PartialEq, ::prost::Message)]
380pub struct StopReplicationResponse {}
381#[allow(clippy::derive_partial_eq_without_eq)]
382#[derive(Clone, PartialEq, ::prost::Message)]
383pub struct StopReplicationMinimumRequest {
384    #[prost(string, tag = "1")]
385    pub position: ::prost::alloc::string::String,
386    #[prost(int64, tag = "2")]
387    pub wait_timeout: i64,
388}
389#[allow(clippy::derive_partial_eq_without_eq)]
390#[derive(Clone, PartialEq, ::prost::Message)]
391pub struct StopReplicationMinimumResponse {
392    #[prost(string, tag = "1")]
393    pub position: ::prost::alloc::string::String,
394}
395#[allow(clippy::derive_partial_eq_without_eq)]
396#[derive(Clone, PartialEq, ::prost::Message)]
397pub struct StartReplicationRequest {
398    #[prost(bool, tag = "1")]
399    pub semi_sync: bool,
400}
401#[allow(clippy::derive_partial_eq_without_eq)]
402#[derive(Clone, PartialEq, ::prost::Message)]
403pub struct StartReplicationResponse {}
404#[allow(clippy::derive_partial_eq_without_eq)]
405#[derive(Clone, PartialEq, ::prost::Message)]
406pub struct StartReplicationUntilAfterRequest {
407    #[prost(string, tag = "1")]
408    pub position: ::prost::alloc::string::String,
409    #[prost(int64, tag = "2")]
410    pub wait_timeout: i64,
411}
412#[allow(clippy::derive_partial_eq_without_eq)]
413#[derive(Clone, PartialEq, ::prost::Message)]
414pub struct StartReplicationUntilAfterResponse {}
415#[allow(clippy::derive_partial_eq_without_eq)]
416#[derive(Clone, PartialEq, ::prost::Message)]
417pub struct GetReplicasRequest {}
418#[allow(clippy::derive_partial_eq_without_eq)]
419#[derive(Clone, PartialEq, ::prost::Message)]
420pub struct GetReplicasResponse {
421    #[prost(string, repeated, tag = "1")]
422    pub addrs: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
423}
424#[allow(clippy::derive_partial_eq_without_eq)]
425#[derive(Clone, PartialEq, ::prost::Message)]
426pub struct ResetReplicationRequest {}
427#[allow(clippy::derive_partial_eq_without_eq)]
428#[derive(Clone, PartialEq, ::prost::Message)]
429pub struct ResetReplicationResponse {}
430#[allow(clippy::derive_partial_eq_without_eq)]
431#[derive(Clone, PartialEq, ::prost::Message)]
432pub struct VReplicationExecRequest {
433    #[prost(string, tag = "1")]
434    pub query: ::prost::alloc::string::String,
435}
436#[allow(clippy::derive_partial_eq_without_eq)]
437#[derive(Clone, PartialEq, ::prost::Message)]
438pub struct VReplicationExecResponse {
439    #[prost(message, optional, tag = "1")]
440    pub result: ::core::option::Option<super::query::QueryResult>,
441}
442#[allow(clippy::derive_partial_eq_without_eq)]
443#[derive(Clone, PartialEq, ::prost::Message)]
444pub struct VReplicationWaitForPosRequest {
445    #[prost(int32, tag = "1")]
446    pub id: i32,
447    #[prost(string, tag = "2")]
448    pub position: ::prost::alloc::string::String,
449}
450#[allow(clippy::derive_partial_eq_without_eq)]
451#[derive(Clone, PartialEq, ::prost::Message)]
452pub struct VReplicationWaitForPosResponse {}
453#[allow(clippy::derive_partial_eq_without_eq)]
454#[derive(Clone, PartialEq, ::prost::Message)]
455pub struct InitPrimaryRequest {
456    #[prost(bool, tag = "1")]
457    pub semi_sync: bool,
458}
459#[allow(clippy::derive_partial_eq_without_eq)]
460#[derive(Clone, PartialEq, ::prost::Message)]
461pub struct InitPrimaryResponse {
462    #[prost(string, tag = "1")]
463    pub position: ::prost::alloc::string::String,
464}
465#[allow(clippy::derive_partial_eq_without_eq)]
466#[derive(Clone, PartialEq, ::prost::Message)]
467pub struct PopulateReparentJournalRequest {
468    #[prost(int64, tag = "1")]
469    pub time_created_ns: i64,
470    #[prost(string, tag = "2")]
471    pub action_name: ::prost::alloc::string::String,
472    #[prost(message, optional, tag = "3")]
473    pub primary_alias: ::core::option::Option<super::topodata::TabletAlias>,
474    #[prost(string, tag = "4")]
475    pub replication_position: ::prost::alloc::string::String,
476}
477#[allow(clippy::derive_partial_eq_without_eq)]
478#[derive(Clone, PartialEq, ::prost::Message)]
479pub struct PopulateReparentJournalResponse {}
480#[allow(clippy::derive_partial_eq_without_eq)]
481#[derive(Clone, PartialEq, ::prost::Message)]
482pub struct InitReplicaRequest {
483    #[prost(message, optional, tag = "1")]
484    pub parent: ::core::option::Option<super::topodata::TabletAlias>,
485    #[prost(string, tag = "2")]
486    pub replication_position: ::prost::alloc::string::String,
487    #[prost(int64, tag = "3")]
488    pub time_created_ns: i64,
489    #[prost(bool, tag = "4")]
490    pub semi_sync: bool,
491}
492#[allow(clippy::derive_partial_eq_without_eq)]
493#[derive(Clone, PartialEq, ::prost::Message)]
494pub struct InitReplicaResponse {}
495#[allow(clippy::derive_partial_eq_without_eq)]
496#[derive(Clone, PartialEq, ::prost::Message)]
497pub struct DemotePrimaryRequest {}
498#[allow(clippy::derive_partial_eq_without_eq)]
499#[derive(Clone, PartialEq, ::prost::Message)]
500pub struct DemotePrimaryResponse {
501    /// PrimaryStatus represents the response from calling `SHOW MASTER STATUS` on a primary that has been demoted.
502    #[prost(message, optional, tag = "2")]
503    pub primary_status: ::core::option::Option<super::replicationdata::PrimaryStatus>,
504}
505#[allow(clippy::derive_partial_eq_without_eq)]
506#[derive(Clone, PartialEq, ::prost::Message)]
507pub struct UndoDemotePrimaryRequest {
508    #[prost(bool, tag = "1")]
509    pub semi_sync: bool,
510}
511#[allow(clippy::derive_partial_eq_without_eq)]
512#[derive(Clone, PartialEq, ::prost::Message)]
513pub struct UndoDemotePrimaryResponse {}
514#[allow(clippy::derive_partial_eq_without_eq)]
515#[derive(Clone, PartialEq, ::prost::Message)]
516pub struct ReplicaWasPromotedRequest {}
517#[allow(clippy::derive_partial_eq_without_eq)]
518#[derive(Clone, PartialEq, ::prost::Message)]
519pub struct ReplicaWasPromotedResponse {}
520#[allow(clippy::derive_partial_eq_without_eq)]
521#[derive(Clone, PartialEq, ::prost::Message)]
522pub struct ResetReplicationParametersRequest {}
523#[allow(clippy::derive_partial_eq_without_eq)]
524#[derive(Clone, PartialEq, ::prost::Message)]
525pub struct ResetReplicationParametersResponse {}
526#[allow(clippy::derive_partial_eq_without_eq)]
527#[derive(Clone, PartialEq, ::prost::Message)]
528pub struct FullStatusRequest {}
529#[allow(clippy::derive_partial_eq_without_eq)]
530#[derive(Clone, PartialEq, ::prost::Message)]
531pub struct FullStatusResponse {
532    #[prost(message, optional, tag = "1")]
533    pub status: ::core::option::Option<super::replicationdata::FullStatus>,
534}
535#[allow(clippy::derive_partial_eq_without_eq)]
536#[derive(Clone, PartialEq, ::prost::Message)]
537pub struct SetReplicationSourceRequest {
538    #[prost(message, optional, tag = "1")]
539    pub parent: ::core::option::Option<super::topodata::TabletAlias>,
540    #[prost(int64, tag = "2")]
541    pub time_created_ns: i64,
542    #[prost(bool, tag = "3")]
543    pub force_start_replication: bool,
544    #[prost(string, tag = "4")]
545    pub wait_position: ::prost::alloc::string::String,
546    #[prost(bool, tag = "5")]
547    pub semi_sync: bool,
548}
549#[allow(clippy::derive_partial_eq_without_eq)]
550#[derive(Clone, PartialEq, ::prost::Message)]
551pub struct SetReplicationSourceResponse {}
552#[allow(clippy::derive_partial_eq_without_eq)]
553#[derive(Clone, PartialEq, ::prost::Message)]
554pub struct ReplicaWasRestartedRequest {
555    /// the parent alias the tablet should have
556    #[prost(message, optional, tag = "1")]
557    pub parent: ::core::option::Option<super::topodata::TabletAlias>,
558}
559#[allow(clippy::derive_partial_eq_without_eq)]
560#[derive(Clone, PartialEq, ::prost::Message)]
561pub struct ReplicaWasRestartedResponse {}
562#[allow(clippy::derive_partial_eq_without_eq)]
563#[derive(Clone, PartialEq, ::prost::Message)]
564pub struct StopReplicationAndGetStatusRequest {
565    #[prost(enumeration = "super::replicationdata::StopReplicationMode", tag = "1")]
566    pub stop_replication_mode: i32,
567}
568#[allow(clippy::derive_partial_eq_without_eq)]
569#[derive(Clone, PartialEq, ::prost::Message)]
570pub struct StopReplicationAndGetStatusResponse {
571    /// Status represents the replication status call right before, and right after telling the replica to stop.
572    #[prost(message, optional, tag = "2")]
573    pub status: ::core::option::Option<super::replicationdata::StopReplicationStatus>,
574}
575#[allow(clippy::derive_partial_eq_without_eq)]
576#[derive(Clone, PartialEq, ::prost::Message)]
577pub struct PromoteReplicaRequest {
578    #[prost(bool, tag = "1")]
579    pub semi_sync: bool,
580}
581#[allow(clippy::derive_partial_eq_without_eq)]
582#[derive(Clone, PartialEq, ::prost::Message)]
583pub struct PromoteReplicaResponse {
584    #[prost(string, tag = "1")]
585    pub position: ::prost::alloc::string::String,
586}
587#[allow(clippy::derive_partial_eq_without_eq)]
588#[derive(Clone, PartialEq, ::prost::Message)]
589pub struct BackupRequest {
590    #[prost(int64, tag = "1")]
591    pub concurrency: i64,
592    #[prost(bool, tag = "2")]
593    pub allow_primary: bool,
594    /// IncrementalFromPos indicates a position of a previous backup. When this value is non-empty
595    /// then the backup becomes incremental and applies as of given position.
596    #[prost(string, tag = "3")]
597    pub incremental_from_pos: ::prost::alloc::string::String,
598    /// UpgradeSafe indicates if the backup should be taken with innodb_fast_shutdown=0
599    /// so that it's a backup that can be used for an upgrade.
600    #[prost(bool, tag = "4")]
601    pub upgrade_safe: bool,
602}
603#[allow(clippy::derive_partial_eq_without_eq)]
604#[derive(Clone, PartialEq, ::prost::Message)]
605pub struct BackupResponse {
606    #[prost(message, optional, tag = "1")]
607    pub event: ::core::option::Option<super::logutil::Event>,
608}
609#[allow(clippy::derive_partial_eq_without_eq)]
610#[derive(Clone, PartialEq, ::prost::Message)]
611pub struct RestoreFromBackupRequest {
612    #[prost(message, optional, tag = "1")]
613    pub backup_time: ::core::option::Option<super::vttime::Time>,
614    /// RestoreToPos indicates a position for a point-in-time recovery. The recovery
615    /// is expected to utilize one full backup, followed by zero or more incremental backups,
616    /// that reach the precise desired position
617    #[prost(string, tag = "2")]
618    pub restore_to_pos: ::prost::alloc::string::String,
619    /// Dry run does not actually performs the restore, but validates the steps and availability of backups
620    #[prost(bool, tag = "3")]
621    pub dry_run: bool,
622    /// RestoreToTimestamp, if given, requested an inremental restore up to (and excluding) the given timestamp.
623    /// RestoreToTimestamp and RestoreToPos are mutually exclusive.
624    #[prost(message, optional, tag = "4")]
625    pub restore_to_timestamp: ::core::option::Option<super::vttime::Time>,
626}
627#[allow(clippy::derive_partial_eq_without_eq)]
628#[derive(Clone, PartialEq, ::prost::Message)]
629pub struct RestoreFromBackupResponse {
630    #[prost(message, optional, tag = "1")]
631    pub event: ::core::option::Option<super::logutil::Event>,
632}
633#[allow(clippy::derive_partial_eq_without_eq)]
634#[derive(Clone, PartialEq, ::prost::Message)]
635pub struct CreateVReplicationWorkflowRequest {
636    #[prost(string, tag = "1")]
637    pub workflow: ::prost::alloc::string::String,
638    #[prost(message, repeated, tag = "2")]
639    pub binlog_source: ::prost::alloc::vec::Vec<super::binlogdata::BinlogSource>,
640    /// Optional parameters.
641    #[prost(string, repeated, tag = "3")]
642    pub cells: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
643    /// TabletTypes is the list of tablet types to use when selecting source tablets.
644    #[prost(enumeration = "super::topodata::TabletType", repeated, tag = "4")]
645    pub tablet_types: ::prost::alloc::vec::Vec<i32>,
646    #[prost(enumeration = "TabletSelectionPreference", tag = "5")]
647    pub tablet_selection_preference: i32,
648    #[prost(enumeration = "super::binlogdata::VReplicationWorkflowType", tag = "6")]
649    pub workflow_type: i32,
650    #[prost(enumeration = "super::binlogdata::VReplicationWorkflowSubType", tag = "7")]
651    pub workflow_sub_type: i32,
652    /// DeferSecondaryKeys specifies if secondary keys should be created in one shot after table
653    /// copy finishes.
654    #[prost(bool, tag = "8")]
655    pub defer_secondary_keys: bool,
656    /// AutoStart specifies if the workflow should be started when created.
657    #[prost(bool, tag = "9")]
658    pub auto_start: bool,
659    /// Should the workflow stop after the copy phase.
660    #[prost(bool, tag = "10")]
661    pub stop_after_copy: bool,
662}
663#[allow(clippy::derive_partial_eq_without_eq)]
664#[derive(Clone, PartialEq, ::prost::Message)]
665pub struct CreateVReplicationWorkflowResponse {
666    #[prost(message, optional, tag = "1")]
667    pub result: ::core::option::Option<super::query::QueryResult>,
668}
669#[allow(clippy::derive_partial_eq_without_eq)]
670#[derive(Clone, PartialEq, ::prost::Message)]
671pub struct DeleteVReplicationWorkflowRequest {
672    #[prost(string, tag = "1")]
673    pub workflow: ::prost::alloc::string::String,
674}
675#[allow(clippy::derive_partial_eq_without_eq)]
676#[derive(Clone, PartialEq, ::prost::Message)]
677pub struct DeleteVReplicationWorkflowResponse {
678    #[prost(message, optional, tag = "1")]
679    pub result: ::core::option::Option<super::query::QueryResult>,
680}
681#[allow(clippy::derive_partial_eq_without_eq)]
682#[derive(Clone, PartialEq, ::prost::Message)]
683pub struct ReadVReplicationWorkflowRequest {
684    #[prost(string, tag = "1")]
685    pub workflow: ::prost::alloc::string::String,
686}
687#[allow(clippy::derive_partial_eq_without_eq)]
688#[derive(Clone, PartialEq, ::prost::Message)]
689pub struct ReadVReplicationWorkflowResponse {
690    #[prost(string, tag = "2")]
691    pub workflow: ::prost::alloc::string::String,
692    #[prost(string, tag = "3")]
693    pub cells: ::prost::alloc::string::String,
694    #[prost(enumeration = "super::topodata::TabletType", repeated, tag = "4")]
695    pub tablet_types: ::prost::alloc::vec::Vec<i32>,
696    #[prost(enumeration = "TabletSelectionPreference", tag = "5")]
697    pub tablet_selection_preference: i32,
698    #[prost(string, tag = "6")]
699    pub db_name: ::prost::alloc::string::String,
700    #[prost(string, tag = "7")]
701    pub tags: ::prost::alloc::string::String,
702    #[prost(enumeration = "super::binlogdata::VReplicationWorkflowType", tag = "8")]
703    pub workflow_type: i32,
704    #[prost(enumeration = "super::binlogdata::VReplicationWorkflowSubType", tag = "9")]
705    pub workflow_sub_type: i32,
706    #[prost(bool, tag = "10")]
707    pub defer_secondary_keys: bool,
708    #[prost(message, repeated, tag = "11")]
709    pub streams: ::prost::alloc::vec::Vec<read_v_replication_workflow_response::Stream>,
710}
711/// Nested message and enum types in `ReadVReplicationWorkflowResponse`.
712pub mod read_v_replication_workflow_response {
713    #[allow(clippy::derive_partial_eq_without_eq)]
714    #[derive(Clone, PartialEq, ::prost::Message)]
715    pub struct Stream {
716        #[prost(int32, tag = "1")]
717        pub id: i32,
718        #[prost(message, optional, tag = "2")]
719        pub bls: ::core::option::Option<super::super::binlogdata::BinlogSource>,
720        #[prost(string, tag = "3")]
721        pub pos: ::prost::alloc::string::String,
722        #[prost(string, tag = "4")]
723        pub stop_pos: ::prost::alloc::string::String,
724        #[prost(int64, tag = "5")]
725        pub max_tps: i64,
726        #[prost(int64, tag = "6")]
727        pub max_replication_lag: i64,
728        #[prost(message, optional, tag = "7")]
729        pub time_updated: ::core::option::Option<super::super::vttime::Time>,
730        #[prost(message, optional, tag = "8")]
731        pub transaction_timestamp: ::core::option::Option<super::super::vttime::Time>,
732        #[prost(
733            enumeration = "super::super::binlogdata::VReplicationWorkflowState",
734            tag = "9"
735        )]
736        pub state: i32,
737        #[prost(string, tag = "10")]
738        pub message: ::prost::alloc::string::String,
739        #[prost(int64, tag = "11")]
740        pub rows_copied: i64,
741        #[prost(message, optional, tag = "12")]
742        pub time_heartbeat: ::core::option::Option<super::super::vttime::Time>,
743        #[prost(message, optional, tag = "13")]
744        pub time_throttled: ::core::option::Option<super::super::vttime::Time>,
745        #[prost(string, tag = "14")]
746        pub component_throttled: ::prost::alloc::string::String,
747    }
748}
749#[allow(clippy::derive_partial_eq_without_eq)]
750#[derive(Clone, PartialEq, ::prost::Message)]
751pub struct VDiffRequest {
752    #[prost(string, tag = "1")]
753    pub keyspace: ::prost::alloc::string::String,
754    #[prost(string, tag = "2")]
755    pub workflow: ::prost::alloc::string::String,
756    #[prost(string, tag = "3")]
757    pub action: ::prost::alloc::string::String,
758    #[prost(string, tag = "4")]
759    pub action_arg: ::prost::alloc::string::String,
760    #[prost(string, tag = "5")]
761    pub vdiff_uuid: ::prost::alloc::string::String,
762    #[prost(message, optional, tag = "6")]
763    pub options: ::core::option::Option<VDiffOptions>,
764}
765#[allow(clippy::derive_partial_eq_without_eq)]
766#[derive(Clone, PartialEq, ::prost::Message)]
767pub struct VDiffResponse {
768    #[prost(int64, tag = "1")]
769    pub id: i64,
770    #[prost(message, optional, tag = "2")]
771    pub output: ::core::option::Option<super::query::QueryResult>,
772    #[prost(string, tag = "3")]
773    pub vdiff_uuid: ::prost::alloc::string::String,
774}
775/// options that influence the tablet selected by the picker for streaming data from
776#[allow(clippy::derive_partial_eq_without_eq)]
777#[derive(Clone, PartialEq, ::prost::Message)]
778pub struct VDiffPickerOptions {
779    #[prost(string, tag = "1")]
780    pub tablet_types: ::prost::alloc::string::String,
781    #[prost(string, tag = "2")]
782    pub source_cell: ::prost::alloc::string::String,
783    #[prost(string, tag = "3")]
784    pub target_cell: ::prost::alloc::string::String,
785}
786/// options that only influence how vdiff differences are reported
787#[allow(clippy::derive_partial_eq_without_eq)]
788#[derive(Clone, PartialEq, ::prost::Message)]
789pub struct VDiffReportOptions {
790    #[prost(bool, tag = "1")]
791    pub only_pks: bool,
792    #[prost(bool, tag = "2")]
793    pub debug_query: bool,
794    #[prost(string, tag = "3")]
795    pub format: ::prost::alloc::string::String,
796}
797#[allow(clippy::derive_partial_eq_without_eq)]
798#[derive(Clone, PartialEq, ::prost::Message)]
799pub struct VDiffCoreOptions {
800    #[prost(string, tag = "1")]
801    pub tables: ::prost::alloc::string::String,
802    #[prost(bool, tag = "2")]
803    pub auto_retry: bool,
804    #[prost(int64, tag = "3")]
805    pub max_rows: i64,
806    #[prost(bool, tag = "4")]
807    pub checksum: bool,
808    #[prost(int64, tag = "5")]
809    pub sample_pct: i64,
810    #[prost(int64, tag = "6")]
811    pub timeout_seconds: i64,
812    #[prost(int64, tag = "7")]
813    pub max_extra_rows_to_compare: i64,
814    #[prost(bool, tag = "8")]
815    pub update_table_stats: bool,
816}
817#[allow(clippy::derive_partial_eq_without_eq)]
818#[derive(Clone, PartialEq, ::prost::Message)]
819pub struct VDiffOptions {
820    #[prost(message, optional, tag = "1")]
821    pub picker_options: ::core::option::Option<VDiffPickerOptions>,
822    #[prost(message, optional, tag = "2")]
823    pub core_options: ::core::option::Option<VDiffCoreOptions>,
824    #[prost(message, optional, tag = "3")]
825    pub report_options: ::core::option::Option<VDiffReportOptions>,
826}
827#[allow(clippy::derive_partial_eq_without_eq)]
828#[derive(Clone, PartialEq, ::prost::Message)]
829pub struct UpdateVReplicationWorkflowRequest {
830    #[prost(string, tag = "1")]
831    pub workflow: ::prost::alloc::string::String,
832    #[prost(string, repeated, tag = "2")]
833    pub cells: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
834    #[prost(enumeration = "super::topodata::TabletType", repeated, tag = "3")]
835    pub tablet_types: ::prost::alloc::vec::Vec<i32>,
836    #[prost(enumeration = "TabletSelectionPreference", tag = "4")]
837    pub tablet_selection_preference: i32,
838    #[prost(enumeration = "super::binlogdata::OnDdlAction", tag = "5")]
839    pub on_ddl: i32,
840    #[prost(enumeration = "super::binlogdata::VReplicationWorkflowState", tag = "6")]
841    pub state: i32,
842}
843#[allow(clippy::derive_partial_eq_without_eq)]
844#[derive(Clone, PartialEq, ::prost::Message)]
845pub struct UpdateVReplicationWorkflowResponse {
846    #[prost(message, optional, tag = "1")]
847    pub result: ::core::option::Option<super::query::QueryResult>,
848}
849#[allow(clippy::derive_partial_eq_without_eq)]
850#[derive(Clone, PartialEq, ::prost::Message)]
851pub struct ResetSequencesRequest {
852    #[prost(string, repeated, tag = "1")]
853    pub tables: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
854}
855#[allow(clippy::derive_partial_eq_without_eq)]
856#[derive(Clone, PartialEq, ::prost::Message)]
857pub struct ResetSequencesResponse {}
858#[allow(clippy::derive_partial_eq_without_eq)]
859#[derive(Clone, PartialEq, ::prost::Message)]
860pub struct CheckThrottlerRequest {
861    #[prost(string, tag = "1")]
862    pub app_name: ::prost::alloc::string::String,
863}
864#[allow(clippy::derive_partial_eq_without_eq)]
865#[derive(Clone, PartialEq, ::prost::Message)]
866pub struct CheckThrottlerResponse {
867    /// StatusCode is HTTP compliant response code (e.g. 200 for OK)
868    #[prost(int32, tag = "1")]
869    pub status_code: i32,
870    /// Value is the metric value collected by the tablet
871    #[prost(double, tag = "2")]
872    pub value: f64,
873    /// Threshold is the throttling threshold the table was comparing the value with
874    #[prost(double, tag = "3")]
875    pub threshold: f64,
876    /// Error indicates an error retrieving the value
877    #[prost(string, tag = "4")]
878    pub error: ::prost::alloc::string::String,
879    /// Message
880    #[prost(string, tag = "5")]
881    pub message: ::prost::alloc::string::String,
882    /// RecentlyChecked indicates that the tablet has been hit with a user-facing check, which can then imply
883    /// that heartbeats lease should be renwed.
884    #[prost(bool, tag = "6")]
885    pub recently_checked: bool,
886}
887/// This structure allows us to manage tablet selection preferences
888/// which are eventually passed to a TabletPicker.
889#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
890#[repr(i32)]
891pub enum TabletSelectionPreference {
892    Any = 0,
893    Inorder = 1,
894    /// Don't change any existing value
895    Unknown = 3,
896}
897impl TabletSelectionPreference {
898    /// String value of the enum field names used in the ProtoBuf definition.
899    ///
900    /// The values are not transformed in any way and thus are considered stable
901    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
902    pub fn as_str_name(&self) -> &'static str {
903        match self {
904            TabletSelectionPreference::Any => "ANY",
905            TabletSelectionPreference::Inorder => "INORDER",
906            TabletSelectionPreference::Unknown => "UNKNOWN",
907        }
908    }
909    /// Creates an enum from field names used in the ProtoBuf definition.
910    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
911        match value {
912            "ANY" => Some(Self::Any),
913            "INORDER" => Some(Self::Inorder),
914            "UNKNOWN" => Some(Self::Unknown),
915            _ => None,
916        }
917    }
918}