vitess.io/vitess@v0.16.2/go/vt/proto/topodata/topodata.pb.go (about)

     1  //
     2  //Copyright 2019 The Vitess Authors.
     3  //
     4  //Licensed under the Apache License, Version 2.0 (the "License");
     5  //you may not use this file except in compliance with the License.
     6  //You may obtain a copy of the License at
     7  //
     8  //http://www.apache.org/licenses/LICENSE-2.0
     9  //
    10  //Unless required by applicable law or agreed to in writing, software
    11  //distributed under the License is distributed on an "AS IS" BASIS,
    12  //WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  //See the License for the specific language governing permissions and
    14  //limitations under the License.
    15  
    16  // This file contains the Vitess topology related data structures.
    17  // Very few of these structures are exchanged over the wire (only
    18  // TabletType and KeyRange), but they are all used by the topology
    19  // service.
    20  
    21  // Code generated by protoc-gen-go. DO NOT EDIT.
    22  // versions:
    23  // 	protoc-gen-go v1.28.1
    24  // 	protoc        v3.21.3
    25  // source: topodata.proto
    26  
    27  package topodata
    28  
    29  import (
    30  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    31  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    32  	reflect "reflect"
    33  	sync "sync"
    34  	vttime "vitess.io/vitess/go/vt/proto/vttime"
    35  )
    36  
    37  const (
    38  	// Verify that this generated code is sufficiently up-to-date.
    39  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    40  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    41  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    42  )
    43  
    44  // KeyspaceType describes the type of the keyspace
    45  type KeyspaceType int32
    46  
    47  const (
    48  	// NORMAL is the default value
    49  	KeyspaceType_NORMAL KeyspaceType = 0
    50  	// SNAPSHOT is when we are creating a snapshot keyspace
    51  	KeyspaceType_SNAPSHOT KeyspaceType = 1
    52  )
    53  
    54  // Enum value maps for KeyspaceType.
    55  var (
    56  	KeyspaceType_name = map[int32]string{
    57  		0: "NORMAL",
    58  		1: "SNAPSHOT",
    59  	}
    60  	KeyspaceType_value = map[string]int32{
    61  		"NORMAL":   0,
    62  		"SNAPSHOT": 1,
    63  	}
    64  )
    65  
    66  func (x KeyspaceType) Enum() *KeyspaceType {
    67  	p := new(KeyspaceType)
    68  	*p = x
    69  	return p
    70  }
    71  
    72  func (x KeyspaceType) String() string {
    73  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    74  }
    75  
    76  func (KeyspaceType) Descriptor() protoreflect.EnumDescriptor {
    77  	return file_topodata_proto_enumTypes[0].Descriptor()
    78  }
    79  
    80  func (KeyspaceType) Type() protoreflect.EnumType {
    81  	return &file_topodata_proto_enumTypes[0]
    82  }
    83  
    84  func (x KeyspaceType) Number() protoreflect.EnumNumber {
    85  	return protoreflect.EnumNumber(x)
    86  }
    87  
    88  // Deprecated: Use KeyspaceType.Descriptor instead.
    89  func (KeyspaceType) EnumDescriptor() ([]byte, []int) {
    90  	return file_topodata_proto_rawDescGZIP(), []int{0}
    91  }
    92  
    93  // TabletType represents the type of a given tablet.
    94  type TabletType int32
    95  
    96  const (
    97  	// UNKNOWN is not a valid value.
    98  	TabletType_UNKNOWN TabletType = 0
    99  	// PRIMARY is the primary server for the shard. Only PRIMARY allows DMLs.
   100  	TabletType_PRIMARY TabletType = 1
   101  	// DEPRECATED
   102  	TabletType_MASTER TabletType = 1
   103  	// REPLICA replicates from primary. It is used to serve live traffic.
   104  	// A REPLICA can be promoted to PRIMARY. A demoted PRIMARY will go to REPLICA.
   105  	TabletType_REPLICA TabletType = 2
   106  	// RDONLY (old name) / BATCH (new name) is used to serve traffic for
   107  	// long-running jobs. It is a separate type from REPLICA so
   108  	// long-running queries don't affect web-like traffic.
   109  	TabletType_RDONLY TabletType = 3
   110  	TabletType_BATCH  TabletType = 3
   111  	// SPARE is a type of servers that cannot serve queries, but is available
   112  	// in case an extra server is needed.
   113  	TabletType_SPARE TabletType = 4
   114  	// EXPERIMENTAL is like SPARE, except it can serve queries. This
   115  	// type can be used for usages not planned by Vitess, like online
   116  	// export to another storage engine.
   117  	TabletType_EXPERIMENTAL TabletType = 5
   118  	// BACKUP is the type a server goes to when taking a backup. No queries
   119  	// can be served in BACKUP mode.
   120  	TabletType_BACKUP TabletType = 6
   121  	// RESTORE is the type a server uses when restoring a backup, at
   122  	// startup time.  No queries can be served in RESTORE mode.
   123  	TabletType_RESTORE TabletType = 7
   124  	// DRAINED is the type a server goes into when used by Vitess tools
   125  	// to perform an offline action. It is a serving type (as
   126  	// the tools processes may need to run queries), but it's not used
   127  	// to route queries from Vitess users. In this state,
   128  	// this tablet is dedicated to the process that uses it.
   129  	TabletType_DRAINED TabletType = 8
   130  )
   131  
   132  // Enum value maps for TabletType.
   133  var (
   134  	TabletType_name = map[int32]string{
   135  		0: "UNKNOWN",
   136  		1: "PRIMARY",
   137  		// Duplicate value: 1: "MASTER",
   138  		2: "REPLICA",
   139  		3: "RDONLY",
   140  		// Duplicate value: 3: "BATCH",
   141  		4: "SPARE",
   142  		5: "EXPERIMENTAL",
   143  		6: "BACKUP",
   144  		7: "RESTORE",
   145  		8: "DRAINED",
   146  	}
   147  	TabletType_value = map[string]int32{
   148  		"UNKNOWN":      0,
   149  		"PRIMARY":      1,
   150  		"MASTER":       1,
   151  		"REPLICA":      2,
   152  		"RDONLY":       3,
   153  		"BATCH":        3,
   154  		"SPARE":        4,
   155  		"EXPERIMENTAL": 5,
   156  		"BACKUP":       6,
   157  		"RESTORE":      7,
   158  		"DRAINED":      8,
   159  	}
   160  )
   161  
   162  func (x TabletType) Enum() *TabletType {
   163  	p := new(TabletType)
   164  	*p = x
   165  	return p
   166  }
   167  
   168  func (x TabletType) String() string {
   169  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   170  }
   171  
   172  func (TabletType) Descriptor() protoreflect.EnumDescriptor {
   173  	return file_topodata_proto_enumTypes[1].Descriptor()
   174  }
   175  
   176  func (TabletType) Type() protoreflect.EnumType {
   177  	return &file_topodata_proto_enumTypes[1]
   178  }
   179  
   180  func (x TabletType) Number() protoreflect.EnumNumber {
   181  	return protoreflect.EnumNumber(x)
   182  }
   183  
   184  // Deprecated: Use TabletType.Descriptor instead.
   185  func (TabletType) EnumDescriptor() ([]byte, []int) {
   186  	return file_topodata_proto_rawDescGZIP(), []int{1}
   187  }
   188  
   189  type ShardReplicationError_Type int32
   190  
   191  const (
   192  	// UNKNOWN is not a valid value.
   193  	ShardReplicationError_UNKNOWN ShardReplicationError_Type = 0
   194  	// NOT_FOUND occurs when a tablet is in the ShardReplication record
   195  	// but does not exist in the topology.
   196  	ShardReplicationError_NOT_FOUND ShardReplicationError_Type = 1
   197  	// TOPOLOGY_MISMATCH occurs when a tablet is in the replication graph and
   198  	// exists in the topology, but at least one of the Keyspace, Shard, or Cell
   199  	// fields for that tablet does not match the ShardReplication record.
   200  	ShardReplicationError_TOPOLOGY_MISMATCH ShardReplicationError_Type = 2
   201  )
   202  
   203  // Enum value maps for ShardReplicationError_Type.
   204  var (
   205  	ShardReplicationError_Type_name = map[int32]string{
   206  		0: "UNKNOWN",
   207  		1: "NOT_FOUND",
   208  		2: "TOPOLOGY_MISMATCH",
   209  	}
   210  	ShardReplicationError_Type_value = map[string]int32{
   211  		"UNKNOWN":           0,
   212  		"NOT_FOUND":         1,
   213  		"TOPOLOGY_MISMATCH": 2,
   214  	}
   215  )
   216  
   217  func (x ShardReplicationError_Type) Enum() *ShardReplicationError_Type {
   218  	p := new(ShardReplicationError_Type)
   219  	*p = x
   220  	return p
   221  }
   222  
   223  func (x ShardReplicationError_Type) String() string {
   224  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   225  }
   226  
   227  func (ShardReplicationError_Type) Descriptor() protoreflect.EnumDescriptor {
   228  	return file_topodata_proto_enumTypes[2].Descriptor()
   229  }
   230  
   231  func (ShardReplicationError_Type) Type() protoreflect.EnumType {
   232  	return &file_topodata_proto_enumTypes[2]
   233  }
   234  
   235  func (x ShardReplicationError_Type) Number() protoreflect.EnumNumber {
   236  	return protoreflect.EnumNumber(x)
   237  }
   238  
   239  // Deprecated: Use ShardReplicationError_Type.Descriptor instead.
   240  func (ShardReplicationError_Type) EnumDescriptor() ([]byte, []int) {
   241  	return file_topodata_proto_rawDescGZIP(), []int{6, 0}
   242  }
   243  
   244  // KeyRange describes a range of sharding keys, when range-based
   245  // sharding is used.
   246  type KeyRange struct {
   247  	state         protoimpl.MessageState
   248  	sizeCache     protoimpl.SizeCache
   249  	unknownFields protoimpl.UnknownFields
   250  
   251  	Start []byte `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"`
   252  	End   []byte `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"`
   253  }
   254  
   255  func (x *KeyRange) Reset() {
   256  	*x = KeyRange{}
   257  	if protoimpl.UnsafeEnabled {
   258  		mi := &file_topodata_proto_msgTypes[0]
   259  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   260  		ms.StoreMessageInfo(mi)
   261  	}
   262  }
   263  
   264  func (x *KeyRange) String() string {
   265  	return protoimpl.X.MessageStringOf(x)
   266  }
   267  
   268  func (*KeyRange) ProtoMessage() {}
   269  
   270  func (x *KeyRange) ProtoReflect() protoreflect.Message {
   271  	mi := &file_topodata_proto_msgTypes[0]
   272  	if protoimpl.UnsafeEnabled && x != nil {
   273  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   274  		if ms.LoadMessageInfo() == nil {
   275  			ms.StoreMessageInfo(mi)
   276  		}
   277  		return ms
   278  	}
   279  	return mi.MessageOf(x)
   280  }
   281  
   282  // Deprecated: Use KeyRange.ProtoReflect.Descriptor instead.
   283  func (*KeyRange) Descriptor() ([]byte, []int) {
   284  	return file_topodata_proto_rawDescGZIP(), []int{0}
   285  }
   286  
   287  func (x *KeyRange) GetStart() []byte {
   288  	if x != nil {
   289  		return x.Start
   290  	}
   291  	return nil
   292  }
   293  
   294  func (x *KeyRange) GetEnd() []byte {
   295  	if x != nil {
   296  		return x.End
   297  	}
   298  	return nil
   299  }
   300  
   301  // TabletAlias is a globally unique tablet identifier.
   302  type TabletAlias struct {
   303  	state         protoimpl.MessageState
   304  	sizeCache     protoimpl.SizeCache
   305  	unknownFields protoimpl.UnknownFields
   306  
   307  	// cell is the cell (or datacenter) the tablet is in
   308  	Cell string `protobuf:"bytes,1,opt,name=cell,proto3" json:"cell,omitempty"`
   309  	// uid is a unique id for this tablet within the shard
   310  	// (this is the MySQL server id as well).
   311  	Uid uint32 `protobuf:"varint,2,opt,name=uid,proto3" json:"uid,omitempty"`
   312  }
   313  
   314  func (x *TabletAlias) Reset() {
   315  	*x = TabletAlias{}
   316  	if protoimpl.UnsafeEnabled {
   317  		mi := &file_topodata_proto_msgTypes[1]
   318  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   319  		ms.StoreMessageInfo(mi)
   320  	}
   321  }
   322  
   323  func (x *TabletAlias) String() string {
   324  	return protoimpl.X.MessageStringOf(x)
   325  }
   326  
   327  func (*TabletAlias) ProtoMessage() {}
   328  
   329  func (x *TabletAlias) ProtoReflect() protoreflect.Message {
   330  	mi := &file_topodata_proto_msgTypes[1]
   331  	if protoimpl.UnsafeEnabled && x != nil {
   332  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   333  		if ms.LoadMessageInfo() == nil {
   334  			ms.StoreMessageInfo(mi)
   335  		}
   336  		return ms
   337  	}
   338  	return mi.MessageOf(x)
   339  }
   340  
   341  // Deprecated: Use TabletAlias.ProtoReflect.Descriptor instead.
   342  func (*TabletAlias) Descriptor() ([]byte, []int) {
   343  	return file_topodata_proto_rawDescGZIP(), []int{1}
   344  }
   345  
   346  func (x *TabletAlias) GetCell() string {
   347  	if x != nil {
   348  		return x.Cell
   349  	}
   350  	return ""
   351  }
   352  
   353  func (x *TabletAlias) GetUid() uint32 {
   354  	if x != nil {
   355  		return x.Uid
   356  	}
   357  	return 0
   358  }
   359  
   360  // Tablet represents information about a running instance of vttablet.
   361  type Tablet struct {
   362  	state         protoimpl.MessageState
   363  	sizeCache     protoimpl.SizeCache
   364  	unknownFields protoimpl.UnknownFields
   365  
   366  	// alias is the unique name of the tablet.
   367  	Alias *TabletAlias `protobuf:"bytes,1,opt,name=alias,proto3" json:"alias,omitempty"`
   368  	// Fully qualified domain name of the host.
   369  	Hostname string `protobuf:"bytes,2,opt,name=hostname,proto3" json:"hostname,omitempty"`
   370  	// Map of named ports. Normally this should include vt and grpc.
   371  	// Going forward, the mysql port will be stored in mysql_port
   372  	// instead of here.
   373  	// For accessing mysql port, use topoproto.MysqlPort to fetch, and
   374  	// topoproto.SetMysqlPort to set. These wrappers will ensure
   375  	// legacy behavior is supported.
   376  	PortMap map[string]int32 `protobuf:"bytes,4,rep,name=port_map,json=portMap,proto3" json:"port_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
   377  	// Keyspace name.
   378  	Keyspace string `protobuf:"bytes,5,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
   379  	// Shard name. If range based sharding is used, it should match
   380  	// key_range.
   381  	Shard string `protobuf:"bytes,6,opt,name=shard,proto3" json:"shard,omitempty"`
   382  	// If range based sharding is used, range for the tablet's shard.
   383  	KeyRange *KeyRange `protobuf:"bytes,7,opt,name=key_range,json=keyRange,proto3" json:"key_range,omitempty"`
   384  	// type is the current type of the tablet.
   385  	Type TabletType `protobuf:"varint,8,opt,name=type,proto3,enum=topodata.TabletType" json:"type,omitempty"`
   386  	// It this is set, it is used as the database name instead of the
   387  	// normal "vt_" + keyspace.
   388  	DbNameOverride string `protobuf:"bytes,9,opt,name=db_name_override,json=dbNameOverride,proto3" json:"db_name_override,omitempty"`
   389  	// tablet tags
   390  	Tags map[string]string `protobuf:"bytes,10,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   391  	// MySQL hostname.
   392  	MysqlHostname string `protobuf:"bytes,12,opt,name=mysql_hostname,json=mysqlHostname,proto3" json:"mysql_hostname,omitempty"`
   393  	// MySQL port. Use topoproto.MysqlPort and topoproto.SetMysqlPort
   394  	// to access this variable. The functions provide support
   395  	// for legacy behavior.
   396  	MysqlPort int32 `protobuf:"varint,13,opt,name=mysql_port,json=mysqlPort,proto3" json:"mysql_port,omitempty"`
   397  	// primary_term_start_time is the time (in UTC) at which the current term of
   398  	// the current tablet began as primary. If this tablet is not currently the
   399  	// primary, this value is ignored.
   400  	//
   401  	// A new primary term begins any time an authoritative decision is communicated
   402  	// about which tablet should be the primary, such as via Vitess
   403  	// replication-management commands like PlannedReparentShard,
   404  	// EmergencyReparentShard, and TabletExternallyReparented.
   405  	PrimaryTermStartTime *vttime.Time `protobuf:"bytes,14,opt,name=primary_term_start_time,json=primaryTermStartTime,proto3" json:"primary_term_start_time,omitempty"`
   406  	// db_server_version represents the database version used by the tablet.
   407  	DbServerVersion string `protobuf:"bytes,15,opt,name=db_server_version,json=dbServerVersion,proto3" json:"db_server_version,omitempty"`
   408  	// default_conn_collation is the default connection collation used by this tablet.
   409  	DefaultConnCollation uint32 `protobuf:"varint,16,opt,name=default_conn_collation,json=defaultConnCollation,proto3" json:"default_conn_collation,omitempty"`
   410  }
   411  
   412  func (x *Tablet) Reset() {
   413  	*x = Tablet{}
   414  	if protoimpl.UnsafeEnabled {
   415  		mi := &file_topodata_proto_msgTypes[2]
   416  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   417  		ms.StoreMessageInfo(mi)
   418  	}
   419  }
   420  
   421  func (x *Tablet) String() string {
   422  	return protoimpl.X.MessageStringOf(x)
   423  }
   424  
   425  func (*Tablet) ProtoMessage() {}
   426  
   427  func (x *Tablet) ProtoReflect() protoreflect.Message {
   428  	mi := &file_topodata_proto_msgTypes[2]
   429  	if protoimpl.UnsafeEnabled && x != nil {
   430  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   431  		if ms.LoadMessageInfo() == nil {
   432  			ms.StoreMessageInfo(mi)
   433  		}
   434  		return ms
   435  	}
   436  	return mi.MessageOf(x)
   437  }
   438  
   439  // Deprecated: Use Tablet.ProtoReflect.Descriptor instead.
   440  func (*Tablet) Descriptor() ([]byte, []int) {
   441  	return file_topodata_proto_rawDescGZIP(), []int{2}
   442  }
   443  
   444  func (x *Tablet) GetAlias() *TabletAlias {
   445  	if x != nil {
   446  		return x.Alias
   447  	}
   448  	return nil
   449  }
   450  
   451  func (x *Tablet) GetHostname() string {
   452  	if x != nil {
   453  		return x.Hostname
   454  	}
   455  	return ""
   456  }
   457  
   458  func (x *Tablet) GetPortMap() map[string]int32 {
   459  	if x != nil {
   460  		return x.PortMap
   461  	}
   462  	return nil
   463  }
   464  
   465  func (x *Tablet) GetKeyspace() string {
   466  	if x != nil {
   467  		return x.Keyspace
   468  	}
   469  	return ""
   470  }
   471  
   472  func (x *Tablet) GetShard() string {
   473  	if x != nil {
   474  		return x.Shard
   475  	}
   476  	return ""
   477  }
   478  
   479  func (x *Tablet) GetKeyRange() *KeyRange {
   480  	if x != nil {
   481  		return x.KeyRange
   482  	}
   483  	return nil
   484  }
   485  
   486  func (x *Tablet) GetType() TabletType {
   487  	if x != nil {
   488  		return x.Type
   489  	}
   490  	return TabletType_UNKNOWN
   491  }
   492  
   493  func (x *Tablet) GetDbNameOverride() string {
   494  	if x != nil {
   495  		return x.DbNameOverride
   496  	}
   497  	return ""
   498  }
   499  
   500  func (x *Tablet) GetTags() map[string]string {
   501  	if x != nil {
   502  		return x.Tags
   503  	}
   504  	return nil
   505  }
   506  
   507  func (x *Tablet) GetMysqlHostname() string {
   508  	if x != nil {
   509  		return x.MysqlHostname
   510  	}
   511  	return ""
   512  }
   513  
   514  func (x *Tablet) GetMysqlPort() int32 {
   515  	if x != nil {
   516  		return x.MysqlPort
   517  	}
   518  	return 0
   519  }
   520  
   521  func (x *Tablet) GetPrimaryTermStartTime() *vttime.Time {
   522  	if x != nil {
   523  		return x.PrimaryTermStartTime
   524  	}
   525  	return nil
   526  }
   527  
   528  func (x *Tablet) GetDbServerVersion() string {
   529  	if x != nil {
   530  		return x.DbServerVersion
   531  	}
   532  	return ""
   533  }
   534  
   535  func (x *Tablet) GetDefaultConnCollation() uint32 {
   536  	if x != nil {
   537  		return x.DefaultConnCollation
   538  	}
   539  	return 0
   540  }
   541  
   542  // A Shard contains data about a subset of the data whithin a keyspace.
   543  type Shard struct {
   544  	state         protoimpl.MessageState
   545  	sizeCache     protoimpl.SizeCache
   546  	unknownFields protoimpl.UnknownFields
   547  
   548  	// primary_alias is the tablet alias of the primary for the shard.
   549  	// If it is unset, then there is no primary in this shard yet.
   550  	// No lock is necessary to update this field, when for instance
   551  	// TabletExternallyReparented updates this. However, we lock the
   552  	// shard for reparenting operations (InitShardPrimary,
   553  	// PlannedReparentShard,EmergencyReparentShard), to guarantee
   554  	// exclusive operation.
   555  	PrimaryAlias *TabletAlias `protobuf:"bytes,1,opt,name=primary_alias,json=primaryAlias,proto3" json:"primary_alias,omitempty"`
   556  	// primary_term_start_time is the time (in UTC) at which the current term of
   557  	// the primary specified in primary_alias began.
   558  	//
   559  	// A new primary term begins any time an authoritative decision is communicated
   560  	// about which tablet should be the primary, such as via Vitess
   561  	// replication-management commands like PlannedReparentShard,
   562  	// EmergencyReparentShard, and TabletExternallyReparented.
   563  	//
   564  	// The primary_alias should only ever be changed if the new primary's term began
   565  	// at a later time than this. Note that a new term can start for the tablet
   566  	// that is already the primary. In that case, the primary_term_start_time would
   567  	// be increased without changing the primary_alias.
   568  	PrimaryTermStartTime *vttime.Time `protobuf:"bytes,8,opt,name=primary_term_start_time,json=primaryTermStartTime,proto3" json:"primary_term_start_time,omitempty"`
   569  	// key_range is the KeyRange for this shard. It can be unset if:
   570  	// - we are not using range-based sharding in this shard.
   571  	// - the shard covers the entire keyrange.
   572  	// This must match the shard name based on our other conventions, but
   573  	// helpful to have it decomposed here.
   574  	// Once set at creation time, it is never changed.
   575  	KeyRange *KeyRange `protobuf:"bytes,2,opt,name=key_range,json=keyRange,proto3" json:"key_range,omitempty"`
   576  	// SourceShards is the list of shards we're replicating from,
   577  	// using filtered replication.
   578  	// The keyspace lock is always taken when changing this.
   579  	SourceShards []*Shard_SourceShard `protobuf:"bytes,4,rep,name=source_shards,json=sourceShards,proto3" json:"source_shards,omitempty"`
   580  	// tablet_controls has at most one entry per TabletType.
   581  	// The keyspace lock is always taken when changing this.
   582  	TabletControls []*Shard_TabletControl `protobuf:"bytes,6,rep,name=tablet_controls,json=tabletControls,proto3" json:"tablet_controls,omitempty"`
   583  	// is_primary_serving sets whether this shard primary is serving traffic or not.
   584  	// The keyspace lock is always taken when changing this.
   585  	IsPrimaryServing bool `protobuf:"varint,7,opt,name=is_primary_serving,json=isPrimaryServing,proto3" json:"is_primary_serving,omitempty"`
   586  }
   587  
   588  func (x *Shard) Reset() {
   589  	*x = Shard{}
   590  	if protoimpl.UnsafeEnabled {
   591  		mi := &file_topodata_proto_msgTypes[3]
   592  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   593  		ms.StoreMessageInfo(mi)
   594  	}
   595  }
   596  
   597  func (x *Shard) String() string {
   598  	return protoimpl.X.MessageStringOf(x)
   599  }
   600  
   601  func (*Shard) ProtoMessage() {}
   602  
   603  func (x *Shard) ProtoReflect() protoreflect.Message {
   604  	mi := &file_topodata_proto_msgTypes[3]
   605  	if protoimpl.UnsafeEnabled && x != nil {
   606  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   607  		if ms.LoadMessageInfo() == nil {
   608  			ms.StoreMessageInfo(mi)
   609  		}
   610  		return ms
   611  	}
   612  	return mi.MessageOf(x)
   613  }
   614  
   615  // Deprecated: Use Shard.ProtoReflect.Descriptor instead.
   616  func (*Shard) Descriptor() ([]byte, []int) {
   617  	return file_topodata_proto_rawDescGZIP(), []int{3}
   618  }
   619  
   620  func (x *Shard) GetPrimaryAlias() *TabletAlias {
   621  	if x != nil {
   622  		return x.PrimaryAlias
   623  	}
   624  	return nil
   625  }
   626  
   627  func (x *Shard) GetPrimaryTermStartTime() *vttime.Time {
   628  	if x != nil {
   629  		return x.PrimaryTermStartTime
   630  	}
   631  	return nil
   632  }
   633  
   634  func (x *Shard) GetKeyRange() *KeyRange {
   635  	if x != nil {
   636  		return x.KeyRange
   637  	}
   638  	return nil
   639  }
   640  
   641  func (x *Shard) GetSourceShards() []*Shard_SourceShard {
   642  	if x != nil {
   643  		return x.SourceShards
   644  	}
   645  	return nil
   646  }
   647  
   648  func (x *Shard) GetTabletControls() []*Shard_TabletControl {
   649  	if x != nil {
   650  		return x.TabletControls
   651  	}
   652  	return nil
   653  }
   654  
   655  func (x *Shard) GetIsPrimaryServing() bool {
   656  	if x != nil {
   657  		return x.IsPrimaryServing
   658  	}
   659  	return false
   660  }
   661  
   662  // A Keyspace contains data about a keyspace.
   663  type Keyspace struct {
   664  	state         protoimpl.MessageState
   665  	sizeCache     protoimpl.SizeCache
   666  	unknownFields protoimpl.UnknownFields
   667  
   668  	// ServedFrom will redirect the appropriate traffic to
   669  	// another keyspace.
   670  	ServedFroms []*Keyspace_ServedFrom `protobuf:"bytes,4,rep,name=served_froms,json=servedFroms,proto3" json:"served_froms,omitempty"`
   671  	// keyspace_type will determine how this keyspace is treated by
   672  	// vtgate / vschema. Normal keyspaces are routable by
   673  	// any query. Snapshot keyspaces are only accessible
   674  	// by explicit addresssing or by calling "use keyspace" first
   675  	KeyspaceType KeyspaceType `protobuf:"varint,5,opt,name=keyspace_type,json=keyspaceType,proto3,enum=topodata.KeyspaceType" json:"keyspace_type,omitempty"`
   676  	// base_keyspace is the base keyspace from which a snapshot
   677  	// keyspace is created. empty for normal keyspaces
   678  	BaseKeyspace string `protobuf:"bytes,6,opt,name=base_keyspace,json=baseKeyspace,proto3" json:"base_keyspace,omitempty"`
   679  	// snapshot_time (in UTC) is a property of snapshot
   680  	// keyspaces which tells us what point in time
   681  	// the snapshot is of
   682  	SnapshotTime *vttime.Time `protobuf:"bytes,7,opt,name=snapshot_time,json=snapshotTime,proto3" json:"snapshot_time,omitempty"`
   683  	// DurabilityPolicy is the durability policy to be
   684  	// used for the keyspace.
   685  	DurabilityPolicy string `protobuf:"bytes,8,opt,name=durability_policy,json=durabilityPolicy,proto3" json:"durability_policy,omitempty"`
   686  	// ThrottlerConfig has the configuration for the tablet
   687  	// server's lag throttler, and applies to the entire
   688  	// keyspace, across all shards and tablets.
   689  	ThrottlerConfig *ThrottlerConfig `protobuf:"bytes,9,opt,name=throttler_config,json=throttlerConfig,proto3" json:"throttler_config,omitempty"`
   690  }
   691  
   692  func (x *Keyspace) Reset() {
   693  	*x = Keyspace{}
   694  	if protoimpl.UnsafeEnabled {
   695  		mi := &file_topodata_proto_msgTypes[4]
   696  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   697  		ms.StoreMessageInfo(mi)
   698  	}
   699  }
   700  
   701  func (x *Keyspace) String() string {
   702  	return protoimpl.X.MessageStringOf(x)
   703  }
   704  
   705  func (*Keyspace) ProtoMessage() {}
   706  
   707  func (x *Keyspace) ProtoReflect() protoreflect.Message {
   708  	mi := &file_topodata_proto_msgTypes[4]
   709  	if protoimpl.UnsafeEnabled && x != nil {
   710  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   711  		if ms.LoadMessageInfo() == nil {
   712  			ms.StoreMessageInfo(mi)
   713  		}
   714  		return ms
   715  	}
   716  	return mi.MessageOf(x)
   717  }
   718  
   719  // Deprecated: Use Keyspace.ProtoReflect.Descriptor instead.
   720  func (*Keyspace) Descriptor() ([]byte, []int) {
   721  	return file_topodata_proto_rawDescGZIP(), []int{4}
   722  }
   723  
   724  func (x *Keyspace) GetServedFroms() []*Keyspace_ServedFrom {
   725  	if x != nil {
   726  		return x.ServedFroms
   727  	}
   728  	return nil
   729  }
   730  
   731  func (x *Keyspace) GetKeyspaceType() KeyspaceType {
   732  	if x != nil {
   733  		return x.KeyspaceType
   734  	}
   735  	return KeyspaceType_NORMAL
   736  }
   737  
   738  func (x *Keyspace) GetBaseKeyspace() string {
   739  	if x != nil {
   740  		return x.BaseKeyspace
   741  	}
   742  	return ""
   743  }
   744  
   745  func (x *Keyspace) GetSnapshotTime() *vttime.Time {
   746  	if x != nil {
   747  		return x.SnapshotTime
   748  	}
   749  	return nil
   750  }
   751  
   752  func (x *Keyspace) GetDurabilityPolicy() string {
   753  	if x != nil {
   754  		return x.DurabilityPolicy
   755  	}
   756  	return ""
   757  }
   758  
   759  func (x *Keyspace) GetThrottlerConfig() *ThrottlerConfig {
   760  	if x != nil {
   761  		return x.ThrottlerConfig
   762  	}
   763  	return nil
   764  }
   765  
   766  // ShardReplication describes the MySQL replication relationships
   767  // whithin a cell.
   768  type ShardReplication struct {
   769  	state         protoimpl.MessageState
   770  	sizeCache     protoimpl.SizeCache
   771  	unknownFields protoimpl.UnknownFields
   772  
   773  	// Note there can be only one Node in this array
   774  	// for a given tablet.
   775  	Nodes []*ShardReplication_Node `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
   776  }
   777  
   778  func (x *ShardReplication) Reset() {
   779  	*x = ShardReplication{}
   780  	if protoimpl.UnsafeEnabled {
   781  		mi := &file_topodata_proto_msgTypes[5]
   782  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   783  		ms.StoreMessageInfo(mi)
   784  	}
   785  }
   786  
   787  func (x *ShardReplication) String() string {
   788  	return protoimpl.X.MessageStringOf(x)
   789  }
   790  
   791  func (*ShardReplication) ProtoMessage() {}
   792  
   793  func (x *ShardReplication) ProtoReflect() protoreflect.Message {
   794  	mi := &file_topodata_proto_msgTypes[5]
   795  	if protoimpl.UnsafeEnabled && x != nil {
   796  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   797  		if ms.LoadMessageInfo() == nil {
   798  			ms.StoreMessageInfo(mi)
   799  		}
   800  		return ms
   801  	}
   802  	return mi.MessageOf(x)
   803  }
   804  
   805  // Deprecated: Use ShardReplication.ProtoReflect.Descriptor instead.
   806  func (*ShardReplication) Descriptor() ([]byte, []int) {
   807  	return file_topodata_proto_rawDescGZIP(), []int{5}
   808  }
   809  
   810  func (x *ShardReplication) GetNodes() []*ShardReplication_Node {
   811  	if x != nil {
   812  		return x.Nodes
   813  	}
   814  	return nil
   815  }
   816  
   817  // ShardReplicationError describes the error being fixed by
   818  // ShardReplicationFix.
   819  type ShardReplicationError struct {
   820  	state         protoimpl.MessageState
   821  	sizeCache     protoimpl.SizeCache
   822  	unknownFields protoimpl.UnknownFields
   823  
   824  	// Type is the category of problem being fixed.
   825  	Type ShardReplicationError_Type `protobuf:"varint,1,opt,name=type,proto3,enum=topodata.ShardReplicationError_Type" json:"type,omitempty"`
   826  	// TabletAlias is the tablet record that has the problem.
   827  	TabletAlias *TabletAlias `protobuf:"bytes,2,opt,name=tablet_alias,json=tabletAlias,proto3" json:"tablet_alias,omitempty"`
   828  }
   829  
   830  func (x *ShardReplicationError) Reset() {
   831  	*x = ShardReplicationError{}
   832  	if protoimpl.UnsafeEnabled {
   833  		mi := &file_topodata_proto_msgTypes[6]
   834  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   835  		ms.StoreMessageInfo(mi)
   836  	}
   837  }
   838  
   839  func (x *ShardReplicationError) String() string {
   840  	return protoimpl.X.MessageStringOf(x)
   841  }
   842  
   843  func (*ShardReplicationError) ProtoMessage() {}
   844  
   845  func (x *ShardReplicationError) ProtoReflect() protoreflect.Message {
   846  	mi := &file_topodata_proto_msgTypes[6]
   847  	if protoimpl.UnsafeEnabled && x != nil {
   848  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   849  		if ms.LoadMessageInfo() == nil {
   850  			ms.StoreMessageInfo(mi)
   851  		}
   852  		return ms
   853  	}
   854  	return mi.MessageOf(x)
   855  }
   856  
   857  // Deprecated: Use ShardReplicationError.ProtoReflect.Descriptor instead.
   858  func (*ShardReplicationError) Descriptor() ([]byte, []int) {
   859  	return file_topodata_proto_rawDescGZIP(), []int{6}
   860  }
   861  
   862  func (x *ShardReplicationError) GetType() ShardReplicationError_Type {
   863  	if x != nil {
   864  		return x.Type
   865  	}
   866  	return ShardReplicationError_UNKNOWN
   867  }
   868  
   869  func (x *ShardReplicationError) GetTabletAlias() *TabletAlias {
   870  	if x != nil {
   871  		return x.TabletAlias
   872  	}
   873  	return nil
   874  }
   875  
   876  // ShardReference is used as a pointer from a SrvKeyspace to a Shard
   877  type ShardReference struct {
   878  	state         protoimpl.MessageState
   879  	sizeCache     protoimpl.SizeCache
   880  	unknownFields protoimpl.UnknownFields
   881  
   882  	// Copied from Shard.
   883  	Name     string    `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   884  	KeyRange *KeyRange `protobuf:"bytes,2,opt,name=key_range,json=keyRange,proto3" json:"key_range,omitempty"` // Disable query serving in this shard
   885  }
   886  
   887  func (x *ShardReference) Reset() {
   888  	*x = ShardReference{}
   889  	if protoimpl.UnsafeEnabled {
   890  		mi := &file_topodata_proto_msgTypes[7]
   891  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   892  		ms.StoreMessageInfo(mi)
   893  	}
   894  }
   895  
   896  func (x *ShardReference) String() string {
   897  	return protoimpl.X.MessageStringOf(x)
   898  }
   899  
   900  func (*ShardReference) ProtoMessage() {}
   901  
   902  func (x *ShardReference) ProtoReflect() protoreflect.Message {
   903  	mi := &file_topodata_proto_msgTypes[7]
   904  	if protoimpl.UnsafeEnabled && x != nil {
   905  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   906  		if ms.LoadMessageInfo() == nil {
   907  			ms.StoreMessageInfo(mi)
   908  		}
   909  		return ms
   910  	}
   911  	return mi.MessageOf(x)
   912  }
   913  
   914  // Deprecated: Use ShardReference.ProtoReflect.Descriptor instead.
   915  func (*ShardReference) Descriptor() ([]byte, []int) {
   916  	return file_topodata_proto_rawDescGZIP(), []int{7}
   917  }
   918  
   919  func (x *ShardReference) GetName() string {
   920  	if x != nil {
   921  		return x.Name
   922  	}
   923  	return ""
   924  }
   925  
   926  func (x *ShardReference) GetKeyRange() *KeyRange {
   927  	if x != nil {
   928  		return x.KeyRange
   929  	}
   930  	return nil
   931  }
   932  
   933  // ShardTabletControl is used as a pointer from a SrvKeyspace to a Shard
   934  type ShardTabletControl struct {
   935  	state         protoimpl.MessageState
   936  	sizeCache     protoimpl.SizeCache
   937  	unknownFields protoimpl.UnknownFields
   938  
   939  	// Copied from Shard.
   940  	Name     string    `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   941  	KeyRange *KeyRange `protobuf:"bytes,2,opt,name=key_range,json=keyRange,proto3" json:"key_range,omitempty"`
   942  	// Disable query serving in this shard
   943  	QueryServiceDisabled bool `protobuf:"varint,3,opt,name=query_service_disabled,json=queryServiceDisabled,proto3" json:"query_service_disabled,omitempty"`
   944  }
   945  
   946  func (x *ShardTabletControl) Reset() {
   947  	*x = ShardTabletControl{}
   948  	if protoimpl.UnsafeEnabled {
   949  		mi := &file_topodata_proto_msgTypes[8]
   950  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   951  		ms.StoreMessageInfo(mi)
   952  	}
   953  }
   954  
   955  func (x *ShardTabletControl) String() string {
   956  	return protoimpl.X.MessageStringOf(x)
   957  }
   958  
   959  func (*ShardTabletControl) ProtoMessage() {}
   960  
   961  func (x *ShardTabletControl) ProtoReflect() protoreflect.Message {
   962  	mi := &file_topodata_proto_msgTypes[8]
   963  	if protoimpl.UnsafeEnabled && x != nil {
   964  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   965  		if ms.LoadMessageInfo() == nil {
   966  			ms.StoreMessageInfo(mi)
   967  		}
   968  		return ms
   969  	}
   970  	return mi.MessageOf(x)
   971  }
   972  
   973  // Deprecated: Use ShardTabletControl.ProtoReflect.Descriptor instead.
   974  func (*ShardTabletControl) Descriptor() ([]byte, []int) {
   975  	return file_topodata_proto_rawDescGZIP(), []int{8}
   976  }
   977  
   978  func (x *ShardTabletControl) GetName() string {
   979  	if x != nil {
   980  		return x.Name
   981  	}
   982  	return ""
   983  }
   984  
   985  func (x *ShardTabletControl) GetKeyRange() *KeyRange {
   986  	if x != nil {
   987  		return x.KeyRange
   988  	}
   989  	return nil
   990  }
   991  
   992  func (x *ShardTabletControl) GetQueryServiceDisabled() bool {
   993  	if x != nil {
   994  		return x.QueryServiceDisabled
   995  	}
   996  	return false
   997  }
   998  
   999  type ThrottlerConfig struct {
  1000  	state         protoimpl.MessageState
  1001  	sizeCache     protoimpl.SizeCache
  1002  	unknownFields protoimpl.UnknownFields
  1003  
  1004  	// Enabled indicates that the throttler is actually checking state for
  1005  	// requests. When disabled, it automatically returns 200 OK for all
  1006  	// checks.
  1007  	Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
  1008  	// Threshold is the threshold for either the default check (heartbeat
  1009  	// lag) or custom check.
  1010  	Threshold float64 `protobuf:"fixed64,2,opt,name=threshold,proto3" json:"threshold,omitempty"`
  1011  	// CustomQuery is an optional query that overrides the default check
  1012  	// query.
  1013  	CustomQuery string `protobuf:"bytes,3,opt,name=custom_query,json=customQuery,proto3" json:"custom_query,omitempty"`
  1014  	// CheckAsCheckSelf indicates whether a throttler /check request
  1015  	// should behave like a /check-self.
  1016  	CheckAsCheckSelf bool `protobuf:"varint,4,opt,name=check_as_check_self,json=checkAsCheckSelf,proto3" json:"check_as_check_self,omitempty"`
  1017  }
  1018  
  1019  func (x *ThrottlerConfig) Reset() {
  1020  	*x = ThrottlerConfig{}
  1021  	if protoimpl.UnsafeEnabled {
  1022  		mi := &file_topodata_proto_msgTypes[9]
  1023  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1024  		ms.StoreMessageInfo(mi)
  1025  	}
  1026  }
  1027  
  1028  func (x *ThrottlerConfig) String() string {
  1029  	return protoimpl.X.MessageStringOf(x)
  1030  }
  1031  
  1032  func (*ThrottlerConfig) ProtoMessage() {}
  1033  
  1034  func (x *ThrottlerConfig) ProtoReflect() protoreflect.Message {
  1035  	mi := &file_topodata_proto_msgTypes[9]
  1036  	if protoimpl.UnsafeEnabled && x != nil {
  1037  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1038  		if ms.LoadMessageInfo() == nil {
  1039  			ms.StoreMessageInfo(mi)
  1040  		}
  1041  		return ms
  1042  	}
  1043  	return mi.MessageOf(x)
  1044  }
  1045  
  1046  // Deprecated: Use ThrottlerConfig.ProtoReflect.Descriptor instead.
  1047  func (*ThrottlerConfig) Descriptor() ([]byte, []int) {
  1048  	return file_topodata_proto_rawDescGZIP(), []int{9}
  1049  }
  1050  
  1051  func (x *ThrottlerConfig) GetEnabled() bool {
  1052  	if x != nil {
  1053  		return x.Enabled
  1054  	}
  1055  	return false
  1056  }
  1057  
  1058  func (x *ThrottlerConfig) GetThreshold() float64 {
  1059  	if x != nil {
  1060  		return x.Threshold
  1061  	}
  1062  	return 0
  1063  }
  1064  
  1065  func (x *ThrottlerConfig) GetCustomQuery() string {
  1066  	if x != nil {
  1067  		return x.CustomQuery
  1068  	}
  1069  	return ""
  1070  }
  1071  
  1072  func (x *ThrottlerConfig) GetCheckAsCheckSelf() bool {
  1073  	if x != nil {
  1074  		return x.CheckAsCheckSelf
  1075  	}
  1076  	return false
  1077  }
  1078  
  1079  // SrvKeyspace is a rollup node for the keyspace itself.
  1080  type SrvKeyspace struct {
  1081  	state         protoimpl.MessageState
  1082  	sizeCache     protoimpl.SizeCache
  1083  	unknownFields protoimpl.UnknownFields
  1084  
  1085  	// The partitions this keyspace is serving, per tablet type.
  1086  	Partitions []*SrvKeyspace_KeyspacePartition `protobuf:"bytes,1,rep,name=partitions,proto3" json:"partitions,omitempty"`
  1087  	ServedFrom []*SrvKeyspace_ServedFrom        `protobuf:"bytes,4,rep,name=served_from,json=servedFrom,proto3" json:"served_from,omitempty"`
  1088  	// ThrottlerConfig has the configuration for the tablet server's
  1089  	// lag throttler, and applies to the entire keyspace, across all
  1090  	// shards and tablets. This is copied from the global keyspace
  1091  	// object.
  1092  	ThrottlerConfig *ThrottlerConfig `protobuf:"bytes,6,opt,name=throttler_config,json=throttlerConfig,proto3" json:"throttler_config,omitempty"`
  1093  }
  1094  
  1095  func (x *SrvKeyspace) Reset() {
  1096  	*x = SrvKeyspace{}
  1097  	if protoimpl.UnsafeEnabled {
  1098  		mi := &file_topodata_proto_msgTypes[10]
  1099  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1100  		ms.StoreMessageInfo(mi)
  1101  	}
  1102  }
  1103  
  1104  func (x *SrvKeyspace) String() string {
  1105  	return protoimpl.X.MessageStringOf(x)
  1106  }
  1107  
  1108  func (*SrvKeyspace) ProtoMessage() {}
  1109  
  1110  func (x *SrvKeyspace) ProtoReflect() protoreflect.Message {
  1111  	mi := &file_topodata_proto_msgTypes[10]
  1112  	if protoimpl.UnsafeEnabled && x != nil {
  1113  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1114  		if ms.LoadMessageInfo() == nil {
  1115  			ms.StoreMessageInfo(mi)
  1116  		}
  1117  		return ms
  1118  	}
  1119  	return mi.MessageOf(x)
  1120  }
  1121  
  1122  // Deprecated: Use SrvKeyspace.ProtoReflect.Descriptor instead.
  1123  func (*SrvKeyspace) Descriptor() ([]byte, []int) {
  1124  	return file_topodata_proto_rawDescGZIP(), []int{10}
  1125  }
  1126  
  1127  func (x *SrvKeyspace) GetPartitions() []*SrvKeyspace_KeyspacePartition {
  1128  	if x != nil {
  1129  		return x.Partitions
  1130  	}
  1131  	return nil
  1132  }
  1133  
  1134  func (x *SrvKeyspace) GetServedFrom() []*SrvKeyspace_ServedFrom {
  1135  	if x != nil {
  1136  		return x.ServedFrom
  1137  	}
  1138  	return nil
  1139  }
  1140  
  1141  func (x *SrvKeyspace) GetThrottlerConfig() *ThrottlerConfig {
  1142  	if x != nil {
  1143  		return x.ThrottlerConfig
  1144  	}
  1145  	return nil
  1146  }
  1147  
  1148  // CellInfo contains information about a cell. CellInfo objects are
  1149  // stored in the global topology server, and describe how to reach
  1150  // local topology servers.
  1151  type CellInfo struct {
  1152  	state         protoimpl.MessageState
  1153  	sizeCache     protoimpl.SizeCache
  1154  	unknownFields protoimpl.UnknownFields
  1155  
  1156  	// ServerAddress contains the address of the server for the cell.
  1157  	// The syntax of this field is topology implementation specific.
  1158  	// For instance, for Zookeeper, it is a comma-separated list of
  1159  	// server addresses.
  1160  	ServerAddress string `protobuf:"bytes,1,opt,name=server_address,json=serverAddress,proto3" json:"server_address,omitempty"`
  1161  	// Root is the path to store data in. It is only used when talking
  1162  	// to server_address.
  1163  	Root string `protobuf:"bytes,2,opt,name=root,proto3" json:"root,omitempty"`
  1164  }
  1165  
  1166  func (x *CellInfo) Reset() {
  1167  	*x = CellInfo{}
  1168  	if protoimpl.UnsafeEnabled {
  1169  		mi := &file_topodata_proto_msgTypes[11]
  1170  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1171  		ms.StoreMessageInfo(mi)
  1172  	}
  1173  }
  1174  
  1175  func (x *CellInfo) String() string {
  1176  	return protoimpl.X.MessageStringOf(x)
  1177  }
  1178  
  1179  func (*CellInfo) ProtoMessage() {}
  1180  
  1181  func (x *CellInfo) ProtoReflect() protoreflect.Message {
  1182  	mi := &file_topodata_proto_msgTypes[11]
  1183  	if protoimpl.UnsafeEnabled && x != nil {
  1184  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1185  		if ms.LoadMessageInfo() == nil {
  1186  			ms.StoreMessageInfo(mi)
  1187  		}
  1188  		return ms
  1189  	}
  1190  	return mi.MessageOf(x)
  1191  }
  1192  
  1193  // Deprecated: Use CellInfo.ProtoReflect.Descriptor instead.
  1194  func (*CellInfo) Descriptor() ([]byte, []int) {
  1195  	return file_topodata_proto_rawDescGZIP(), []int{11}
  1196  }
  1197  
  1198  func (x *CellInfo) GetServerAddress() string {
  1199  	if x != nil {
  1200  		return x.ServerAddress
  1201  	}
  1202  	return ""
  1203  }
  1204  
  1205  func (x *CellInfo) GetRoot() string {
  1206  	if x != nil {
  1207  		return x.Root
  1208  	}
  1209  	return ""
  1210  }
  1211  
  1212  // CellsAlias
  1213  type CellsAlias struct {
  1214  	state         protoimpl.MessageState
  1215  	sizeCache     protoimpl.SizeCache
  1216  	unknownFields protoimpl.UnknownFields
  1217  
  1218  	// Cells that map to this alias
  1219  	Cells []string `protobuf:"bytes,2,rep,name=cells,proto3" json:"cells,omitempty"`
  1220  }
  1221  
  1222  func (x *CellsAlias) Reset() {
  1223  	*x = CellsAlias{}
  1224  	if protoimpl.UnsafeEnabled {
  1225  		mi := &file_topodata_proto_msgTypes[12]
  1226  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1227  		ms.StoreMessageInfo(mi)
  1228  	}
  1229  }
  1230  
  1231  func (x *CellsAlias) String() string {
  1232  	return protoimpl.X.MessageStringOf(x)
  1233  }
  1234  
  1235  func (*CellsAlias) ProtoMessage() {}
  1236  
  1237  func (x *CellsAlias) ProtoReflect() protoreflect.Message {
  1238  	mi := &file_topodata_proto_msgTypes[12]
  1239  	if protoimpl.UnsafeEnabled && x != nil {
  1240  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1241  		if ms.LoadMessageInfo() == nil {
  1242  			ms.StoreMessageInfo(mi)
  1243  		}
  1244  		return ms
  1245  	}
  1246  	return mi.MessageOf(x)
  1247  }
  1248  
  1249  // Deprecated: Use CellsAlias.ProtoReflect.Descriptor instead.
  1250  func (*CellsAlias) Descriptor() ([]byte, []int) {
  1251  	return file_topodata_proto_rawDescGZIP(), []int{12}
  1252  }
  1253  
  1254  func (x *CellsAlias) GetCells() []string {
  1255  	if x != nil {
  1256  		return x.Cells
  1257  	}
  1258  	return nil
  1259  }
  1260  
  1261  type TopoConfig struct {
  1262  	state         protoimpl.MessageState
  1263  	sizeCache     protoimpl.SizeCache
  1264  	unknownFields protoimpl.UnknownFields
  1265  
  1266  	TopoType string `protobuf:"bytes,1,opt,name=topo_type,json=topoType,proto3" json:"topo_type,omitempty"`
  1267  	Server   string `protobuf:"bytes,2,opt,name=server,proto3" json:"server,omitempty"`
  1268  	Root     string `protobuf:"bytes,3,opt,name=root,proto3" json:"root,omitempty"`
  1269  }
  1270  
  1271  func (x *TopoConfig) Reset() {
  1272  	*x = TopoConfig{}
  1273  	if protoimpl.UnsafeEnabled {
  1274  		mi := &file_topodata_proto_msgTypes[13]
  1275  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1276  		ms.StoreMessageInfo(mi)
  1277  	}
  1278  }
  1279  
  1280  func (x *TopoConfig) String() string {
  1281  	return protoimpl.X.MessageStringOf(x)
  1282  }
  1283  
  1284  func (*TopoConfig) ProtoMessage() {}
  1285  
  1286  func (x *TopoConfig) ProtoReflect() protoreflect.Message {
  1287  	mi := &file_topodata_proto_msgTypes[13]
  1288  	if protoimpl.UnsafeEnabled && x != nil {
  1289  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1290  		if ms.LoadMessageInfo() == nil {
  1291  			ms.StoreMessageInfo(mi)
  1292  		}
  1293  		return ms
  1294  	}
  1295  	return mi.MessageOf(x)
  1296  }
  1297  
  1298  // Deprecated: Use TopoConfig.ProtoReflect.Descriptor instead.
  1299  func (*TopoConfig) Descriptor() ([]byte, []int) {
  1300  	return file_topodata_proto_rawDescGZIP(), []int{13}
  1301  }
  1302  
  1303  func (x *TopoConfig) GetTopoType() string {
  1304  	if x != nil {
  1305  		return x.TopoType
  1306  	}
  1307  	return ""
  1308  }
  1309  
  1310  func (x *TopoConfig) GetServer() string {
  1311  	if x != nil {
  1312  		return x.Server
  1313  	}
  1314  	return ""
  1315  }
  1316  
  1317  func (x *TopoConfig) GetRoot() string {
  1318  	if x != nil {
  1319  		return x.Root
  1320  	}
  1321  	return ""
  1322  }
  1323  
  1324  type ExternalVitessCluster struct {
  1325  	state         protoimpl.MessageState
  1326  	sizeCache     protoimpl.SizeCache
  1327  	unknownFields protoimpl.UnknownFields
  1328  
  1329  	TopoConfig *TopoConfig `protobuf:"bytes,1,opt,name=topo_config,json=topoConfig,proto3" json:"topo_config,omitempty"`
  1330  }
  1331  
  1332  func (x *ExternalVitessCluster) Reset() {
  1333  	*x = ExternalVitessCluster{}
  1334  	if protoimpl.UnsafeEnabled {
  1335  		mi := &file_topodata_proto_msgTypes[14]
  1336  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1337  		ms.StoreMessageInfo(mi)
  1338  	}
  1339  }
  1340  
  1341  func (x *ExternalVitessCluster) String() string {
  1342  	return protoimpl.X.MessageStringOf(x)
  1343  }
  1344  
  1345  func (*ExternalVitessCluster) ProtoMessage() {}
  1346  
  1347  func (x *ExternalVitessCluster) ProtoReflect() protoreflect.Message {
  1348  	mi := &file_topodata_proto_msgTypes[14]
  1349  	if protoimpl.UnsafeEnabled && x != nil {
  1350  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1351  		if ms.LoadMessageInfo() == nil {
  1352  			ms.StoreMessageInfo(mi)
  1353  		}
  1354  		return ms
  1355  	}
  1356  	return mi.MessageOf(x)
  1357  }
  1358  
  1359  // Deprecated: Use ExternalVitessCluster.ProtoReflect.Descriptor instead.
  1360  func (*ExternalVitessCluster) Descriptor() ([]byte, []int) {
  1361  	return file_topodata_proto_rawDescGZIP(), []int{14}
  1362  }
  1363  
  1364  func (x *ExternalVitessCluster) GetTopoConfig() *TopoConfig {
  1365  	if x != nil {
  1366  		return x.TopoConfig
  1367  	}
  1368  	return nil
  1369  }
  1370  
  1371  // ExternalClusters
  1372  type ExternalClusters struct {
  1373  	state         protoimpl.MessageState
  1374  	sizeCache     protoimpl.SizeCache
  1375  	unknownFields protoimpl.UnknownFields
  1376  
  1377  	VitessCluster []*ExternalVitessCluster `protobuf:"bytes,1,rep,name=vitess_cluster,json=vitessCluster,proto3" json:"vitess_cluster,omitempty"`
  1378  }
  1379  
  1380  func (x *ExternalClusters) Reset() {
  1381  	*x = ExternalClusters{}
  1382  	if protoimpl.UnsafeEnabled {
  1383  		mi := &file_topodata_proto_msgTypes[15]
  1384  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1385  		ms.StoreMessageInfo(mi)
  1386  	}
  1387  }
  1388  
  1389  func (x *ExternalClusters) String() string {
  1390  	return protoimpl.X.MessageStringOf(x)
  1391  }
  1392  
  1393  func (*ExternalClusters) ProtoMessage() {}
  1394  
  1395  func (x *ExternalClusters) ProtoReflect() protoreflect.Message {
  1396  	mi := &file_topodata_proto_msgTypes[15]
  1397  	if protoimpl.UnsafeEnabled && x != nil {
  1398  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1399  		if ms.LoadMessageInfo() == nil {
  1400  			ms.StoreMessageInfo(mi)
  1401  		}
  1402  		return ms
  1403  	}
  1404  	return mi.MessageOf(x)
  1405  }
  1406  
  1407  // Deprecated: Use ExternalClusters.ProtoReflect.Descriptor instead.
  1408  func (*ExternalClusters) Descriptor() ([]byte, []int) {
  1409  	return file_topodata_proto_rawDescGZIP(), []int{15}
  1410  }
  1411  
  1412  func (x *ExternalClusters) GetVitessCluster() []*ExternalVitessCluster {
  1413  	if x != nil {
  1414  		return x.VitessCluster
  1415  	}
  1416  	return nil
  1417  }
  1418  
  1419  // SourceShard represents a data source for filtered replication
  1420  // across shards. When this is used in a destination shard, the primary
  1421  // of that shard will run filtered replication.
  1422  type Shard_SourceShard struct {
  1423  	state         protoimpl.MessageState
  1424  	sizeCache     protoimpl.SizeCache
  1425  	unknownFields protoimpl.UnknownFields
  1426  
  1427  	// Uid is the unique ID for this SourceShard object.
  1428  	Uid uint32 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"`
  1429  	// the source keyspace
  1430  	Keyspace string `protobuf:"bytes,2,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
  1431  	// the source shard
  1432  	Shard string `protobuf:"bytes,3,opt,name=shard,proto3" json:"shard,omitempty"`
  1433  	// the source shard keyrange
  1434  	KeyRange *KeyRange `protobuf:"bytes,4,opt,name=key_range,json=keyRange,proto3" json:"key_range,omitempty"`
  1435  	// the source table list to replicate
  1436  	Tables []string `protobuf:"bytes,5,rep,name=tables,proto3" json:"tables,omitempty"`
  1437  }
  1438  
  1439  func (x *Shard_SourceShard) Reset() {
  1440  	*x = Shard_SourceShard{}
  1441  	if protoimpl.UnsafeEnabled {
  1442  		mi := &file_topodata_proto_msgTypes[18]
  1443  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1444  		ms.StoreMessageInfo(mi)
  1445  	}
  1446  }
  1447  
  1448  func (x *Shard_SourceShard) String() string {
  1449  	return protoimpl.X.MessageStringOf(x)
  1450  }
  1451  
  1452  func (*Shard_SourceShard) ProtoMessage() {}
  1453  
  1454  func (x *Shard_SourceShard) ProtoReflect() protoreflect.Message {
  1455  	mi := &file_topodata_proto_msgTypes[18]
  1456  	if protoimpl.UnsafeEnabled && x != nil {
  1457  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1458  		if ms.LoadMessageInfo() == nil {
  1459  			ms.StoreMessageInfo(mi)
  1460  		}
  1461  		return ms
  1462  	}
  1463  	return mi.MessageOf(x)
  1464  }
  1465  
  1466  // Deprecated: Use Shard_SourceShard.ProtoReflect.Descriptor instead.
  1467  func (*Shard_SourceShard) Descriptor() ([]byte, []int) {
  1468  	return file_topodata_proto_rawDescGZIP(), []int{3, 0}
  1469  }
  1470  
  1471  func (x *Shard_SourceShard) GetUid() uint32 {
  1472  	if x != nil {
  1473  		return x.Uid
  1474  	}
  1475  	return 0
  1476  }
  1477  
  1478  func (x *Shard_SourceShard) GetKeyspace() string {
  1479  	if x != nil {
  1480  		return x.Keyspace
  1481  	}
  1482  	return ""
  1483  }
  1484  
  1485  func (x *Shard_SourceShard) GetShard() string {
  1486  	if x != nil {
  1487  		return x.Shard
  1488  	}
  1489  	return ""
  1490  }
  1491  
  1492  func (x *Shard_SourceShard) GetKeyRange() *KeyRange {
  1493  	if x != nil {
  1494  		return x.KeyRange
  1495  	}
  1496  	return nil
  1497  }
  1498  
  1499  func (x *Shard_SourceShard) GetTables() []string {
  1500  	if x != nil {
  1501  		return x.Tables
  1502  	}
  1503  	return nil
  1504  }
  1505  
  1506  // TabletControl controls tablet's behavior
  1507  type Shard_TabletControl struct {
  1508  	state         protoimpl.MessageState
  1509  	sizeCache     protoimpl.SizeCache
  1510  	unknownFields protoimpl.UnknownFields
  1511  
  1512  	// which tablet type is affected
  1513  	TabletType   TabletType `protobuf:"varint,1,opt,name=tablet_type,json=tabletType,proto3,enum=topodata.TabletType" json:"tablet_type,omitempty"`
  1514  	Cells        []string   `protobuf:"bytes,2,rep,name=cells,proto3" json:"cells,omitempty"`
  1515  	DeniedTables []string   `protobuf:"bytes,4,rep,name=denied_tables,json=deniedTables,proto3" json:"denied_tables,omitempty"`
  1516  	// frozen is set if we've started failing over traffic for
  1517  	// the primary. If set, this record should not be removed.
  1518  	Frozen bool `protobuf:"varint,5,opt,name=frozen,proto3" json:"frozen,omitempty"`
  1519  }
  1520  
  1521  func (x *Shard_TabletControl) Reset() {
  1522  	*x = Shard_TabletControl{}
  1523  	if protoimpl.UnsafeEnabled {
  1524  		mi := &file_topodata_proto_msgTypes[19]
  1525  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1526  		ms.StoreMessageInfo(mi)
  1527  	}
  1528  }
  1529  
  1530  func (x *Shard_TabletControl) String() string {
  1531  	return protoimpl.X.MessageStringOf(x)
  1532  }
  1533  
  1534  func (*Shard_TabletControl) ProtoMessage() {}
  1535  
  1536  func (x *Shard_TabletControl) ProtoReflect() protoreflect.Message {
  1537  	mi := &file_topodata_proto_msgTypes[19]
  1538  	if protoimpl.UnsafeEnabled && x != nil {
  1539  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1540  		if ms.LoadMessageInfo() == nil {
  1541  			ms.StoreMessageInfo(mi)
  1542  		}
  1543  		return ms
  1544  	}
  1545  	return mi.MessageOf(x)
  1546  }
  1547  
  1548  // Deprecated: Use Shard_TabletControl.ProtoReflect.Descriptor instead.
  1549  func (*Shard_TabletControl) Descriptor() ([]byte, []int) {
  1550  	return file_topodata_proto_rawDescGZIP(), []int{3, 1}
  1551  }
  1552  
  1553  func (x *Shard_TabletControl) GetTabletType() TabletType {
  1554  	if x != nil {
  1555  		return x.TabletType
  1556  	}
  1557  	return TabletType_UNKNOWN
  1558  }
  1559  
  1560  func (x *Shard_TabletControl) GetCells() []string {
  1561  	if x != nil {
  1562  		return x.Cells
  1563  	}
  1564  	return nil
  1565  }
  1566  
  1567  func (x *Shard_TabletControl) GetDeniedTables() []string {
  1568  	if x != nil {
  1569  		return x.DeniedTables
  1570  	}
  1571  	return nil
  1572  }
  1573  
  1574  func (x *Shard_TabletControl) GetFrozen() bool {
  1575  	if x != nil {
  1576  		return x.Frozen
  1577  	}
  1578  	return false
  1579  }
  1580  
  1581  // ServedFrom indicates a relationship between a TabletType and the
  1582  // keyspace name that's serving it.
  1583  type Keyspace_ServedFrom struct {
  1584  	state         protoimpl.MessageState
  1585  	sizeCache     protoimpl.SizeCache
  1586  	unknownFields protoimpl.UnknownFields
  1587  
  1588  	// the tablet type (key for the map)
  1589  	TabletType TabletType `protobuf:"varint,1,opt,name=tablet_type,json=tabletType,proto3,enum=topodata.TabletType" json:"tablet_type,omitempty"`
  1590  	// the cells to limit this to
  1591  	Cells []string `protobuf:"bytes,2,rep,name=cells,proto3" json:"cells,omitempty"`
  1592  	// the keyspace name that's serving it
  1593  	Keyspace string `protobuf:"bytes,3,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
  1594  }
  1595  
  1596  func (x *Keyspace_ServedFrom) Reset() {
  1597  	*x = Keyspace_ServedFrom{}
  1598  	if protoimpl.UnsafeEnabled {
  1599  		mi := &file_topodata_proto_msgTypes[20]
  1600  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1601  		ms.StoreMessageInfo(mi)
  1602  	}
  1603  }
  1604  
  1605  func (x *Keyspace_ServedFrom) String() string {
  1606  	return protoimpl.X.MessageStringOf(x)
  1607  }
  1608  
  1609  func (*Keyspace_ServedFrom) ProtoMessage() {}
  1610  
  1611  func (x *Keyspace_ServedFrom) ProtoReflect() protoreflect.Message {
  1612  	mi := &file_topodata_proto_msgTypes[20]
  1613  	if protoimpl.UnsafeEnabled && x != nil {
  1614  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1615  		if ms.LoadMessageInfo() == nil {
  1616  			ms.StoreMessageInfo(mi)
  1617  		}
  1618  		return ms
  1619  	}
  1620  	return mi.MessageOf(x)
  1621  }
  1622  
  1623  // Deprecated: Use Keyspace_ServedFrom.ProtoReflect.Descriptor instead.
  1624  func (*Keyspace_ServedFrom) Descriptor() ([]byte, []int) {
  1625  	return file_topodata_proto_rawDescGZIP(), []int{4, 0}
  1626  }
  1627  
  1628  func (x *Keyspace_ServedFrom) GetTabletType() TabletType {
  1629  	if x != nil {
  1630  		return x.TabletType
  1631  	}
  1632  	return TabletType_UNKNOWN
  1633  }
  1634  
  1635  func (x *Keyspace_ServedFrom) GetCells() []string {
  1636  	if x != nil {
  1637  		return x.Cells
  1638  	}
  1639  	return nil
  1640  }
  1641  
  1642  func (x *Keyspace_ServedFrom) GetKeyspace() string {
  1643  	if x != nil {
  1644  		return x.Keyspace
  1645  	}
  1646  	return ""
  1647  }
  1648  
  1649  // Node describes a tablet instance within the cell
  1650  type ShardReplication_Node struct {
  1651  	state         protoimpl.MessageState
  1652  	sizeCache     protoimpl.SizeCache
  1653  	unknownFields protoimpl.UnknownFields
  1654  
  1655  	TabletAlias *TabletAlias `protobuf:"bytes,1,opt,name=tablet_alias,json=tabletAlias,proto3" json:"tablet_alias,omitempty"`
  1656  }
  1657  
  1658  func (x *ShardReplication_Node) Reset() {
  1659  	*x = ShardReplication_Node{}
  1660  	if protoimpl.UnsafeEnabled {
  1661  		mi := &file_topodata_proto_msgTypes[21]
  1662  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1663  		ms.StoreMessageInfo(mi)
  1664  	}
  1665  }
  1666  
  1667  func (x *ShardReplication_Node) String() string {
  1668  	return protoimpl.X.MessageStringOf(x)
  1669  }
  1670  
  1671  func (*ShardReplication_Node) ProtoMessage() {}
  1672  
  1673  func (x *ShardReplication_Node) ProtoReflect() protoreflect.Message {
  1674  	mi := &file_topodata_proto_msgTypes[21]
  1675  	if protoimpl.UnsafeEnabled && x != nil {
  1676  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1677  		if ms.LoadMessageInfo() == nil {
  1678  			ms.StoreMessageInfo(mi)
  1679  		}
  1680  		return ms
  1681  	}
  1682  	return mi.MessageOf(x)
  1683  }
  1684  
  1685  // Deprecated: Use ShardReplication_Node.ProtoReflect.Descriptor instead.
  1686  func (*ShardReplication_Node) Descriptor() ([]byte, []int) {
  1687  	return file_topodata_proto_rawDescGZIP(), []int{5, 0}
  1688  }
  1689  
  1690  func (x *ShardReplication_Node) GetTabletAlias() *TabletAlias {
  1691  	if x != nil {
  1692  		return x.TabletAlias
  1693  	}
  1694  	return nil
  1695  }
  1696  
  1697  type SrvKeyspace_KeyspacePartition struct {
  1698  	state         protoimpl.MessageState
  1699  	sizeCache     protoimpl.SizeCache
  1700  	unknownFields protoimpl.UnknownFields
  1701  
  1702  	// The type this partition applies to.
  1703  	ServedType TabletType `protobuf:"varint,1,opt,name=served_type,json=servedType,proto3,enum=topodata.TabletType" json:"served_type,omitempty"`
  1704  	// List of non-overlapping continuous shards sorted by range.
  1705  	ShardReferences []*ShardReference `protobuf:"bytes,2,rep,name=shard_references,json=shardReferences,proto3" json:"shard_references,omitempty"`
  1706  	// List of shard tablet controls
  1707  	ShardTabletControls []*ShardTabletControl `protobuf:"bytes,3,rep,name=shard_tablet_controls,json=shardTabletControls,proto3" json:"shard_tablet_controls,omitempty"`
  1708  }
  1709  
  1710  func (x *SrvKeyspace_KeyspacePartition) Reset() {
  1711  	*x = SrvKeyspace_KeyspacePartition{}
  1712  	if protoimpl.UnsafeEnabled {
  1713  		mi := &file_topodata_proto_msgTypes[22]
  1714  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1715  		ms.StoreMessageInfo(mi)
  1716  	}
  1717  }
  1718  
  1719  func (x *SrvKeyspace_KeyspacePartition) String() string {
  1720  	return protoimpl.X.MessageStringOf(x)
  1721  }
  1722  
  1723  func (*SrvKeyspace_KeyspacePartition) ProtoMessage() {}
  1724  
  1725  func (x *SrvKeyspace_KeyspacePartition) ProtoReflect() protoreflect.Message {
  1726  	mi := &file_topodata_proto_msgTypes[22]
  1727  	if protoimpl.UnsafeEnabled && x != nil {
  1728  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1729  		if ms.LoadMessageInfo() == nil {
  1730  			ms.StoreMessageInfo(mi)
  1731  		}
  1732  		return ms
  1733  	}
  1734  	return mi.MessageOf(x)
  1735  }
  1736  
  1737  // Deprecated: Use SrvKeyspace_KeyspacePartition.ProtoReflect.Descriptor instead.
  1738  func (*SrvKeyspace_KeyspacePartition) Descriptor() ([]byte, []int) {
  1739  	return file_topodata_proto_rawDescGZIP(), []int{10, 0}
  1740  }
  1741  
  1742  func (x *SrvKeyspace_KeyspacePartition) GetServedType() TabletType {
  1743  	if x != nil {
  1744  		return x.ServedType
  1745  	}
  1746  	return TabletType_UNKNOWN
  1747  }
  1748  
  1749  func (x *SrvKeyspace_KeyspacePartition) GetShardReferences() []*ShardReference {
  1750  	if x != nil {
  1751  		return x.ShardReferences
  1752  	}
  1753  	return nil
  1754  }
  1755  
  1756  func (x *SrvKeyspace_KeyspacePartition) GetShardTabletControls() []*ShardTabletControl {
  1757  	if x != nil {
  1758  		return x.ShardTabletControls
  1759  	}
  1760  	return nil
  1761  }
  1762  
  1763  // ServedFrom indicates a relationship between a TabletType and the
  1764  // keyspace name that's serving it.
  1765  type SrvKeyspace_ServedFrom struct {
  1766  	state         protoimpl.MessageState
  1767  	sizeCache     protoimpl.SizeCache
  1768  	unknownFields protoimpl.UnknownFields
  1769  
  1770  	// the tablet type
  1771  	TabletType TabletType `protobuf:"varint,1,opt,name=tablet_type,json=tabletType,proto3,enum=topodata.TabletType" json:"tablet_type,omitempty"`
  1772  	// the keyspace name that's serving it
  1773  	Keyspace string `protobuf:"bytes,2,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
  1774  }
  1775  
  1776  func (x *SrvKeyspace_ServedFrom) Reset() {
  1777  	*x = SrvKeyspace_ServedFrom{}
  1778  	if protoimpl.UnsafeEnabled {
  1779  		mi := &file_topodata_proto_msgTypes[23]
  1780  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1781  		ms.StoreMessageInfo(mi)
  1782  	}
  1783  }
  1784  
  1785  func (x *SrvKeyspace_ServedFrom) String() string {
  1786  	return protoimpl.X.MessageStringOf(x)
  1787  }
  1788  
  1789  func (*SrvKeyspace_ServedFrom) ProtoMessage() {}
  1790  
  1791  func (x *SrvKeyspace_ServedFrom) ProtoReflect() protoreflect.Message {
  1792  	mi := &file_topodata_proto_msgTypes[23]
  1793  	if protoimpl.UnsafeEnabled && x != nil {
  1794  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1795  		if ms.LoadMessageInfo() == nil {
  1796  			ms.StoreMessageInfo(mi)
  1797  		}
  1798  		return ms
  1799  	}
  1800  	return mi.MessageOf(x)
  1801  }
  1802  
  1803  // Deprecated: Use SrvKeyspace_ServedFrom.ProtoReflect.Descriptor instead.
  1804  func (*SrvKeyspace_ServedFrom) Descriptor() ([]byte, []int) {
  1805  	return file_topodata_proto_rawDescGZIP(), []int{10, 1}
  1806  }
  1807  
  1808  func (x *SrvKeyspace_ServedFrom) GetTabletType() TabletType {
  1809  	if x != nil {
  1810  		return x.TabletType
  1811  	}
  1812  	return TabletType_UNKNOWN
  1813  }
  1814  
  1815  func (x *SrvKeyspace_ServedFrom) GetKeyspace() string {
  1816  	if x != nil {
  1817  		return x.Keyspace
  1818  	}
  1819  	return ""
  1820  }
  1821  
  1822  var File_topodata_proto protoreflect.FileDescriptor
  1823  
  1824  var file_topodata_proto_rawDesc = []byte{
  1825  	0x0a, 0x0e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1826  	0x12, 0x08, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x0c, 0x76, 0x74, 0x74, 0x69,
  1827  	0x6d, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x52,
  1828  	0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20,
  1829  	0x01, 0x28, 0x0c, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e,
  1830  	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x33, 0x0a, 0x0b,
  1831  	0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63,
  1832  	0x65, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x12,
  1833  	0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69,
  1834  	0x64, 0x22, 0xe0, 0x05, 0x0a, 0x06, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x2b, 0x0a, 0x05,
  1835  	0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f,
  1836  	0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
  1837  	0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73,
  1838  	0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73,
  1839  	0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x61,
  1840  	0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
  1841  	0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x4d, 0x61,
  1842  	0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x61, 0x70, 0x12,
  1843  	0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
  1844  	0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73,
  1845  	0x68, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72,
  1846  	0x64, 0x12, 0x2f, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x07,
  1847  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
  1848  	0x4b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x52, 0x61, 0x6e,
  1849  	0x67, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e,
  1850  	0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c,
  1851  	0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x10,
  1852  	0x64, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65,
  1853  	0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x4f, 0x76,
  1854  	0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0a,
  1855  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
  1856  	0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
  1857  	0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f,
  1858  	0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
  1859  	0x6d, 0x79, 0x73, 0x71, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a,
  1860  	0x0a, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28,
  1861  	0x05, 0x52, 0x09, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x43, 0x0a, 0x17,
  1862  	0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x5f, 0x73, 0x74, 0x61,
  1863  	0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e,
  1864  	0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x14, 0x70, 0x72, 0x69,
  1865  	0x6d, 0x61, 0x72, 0x79, 0x54, 0x65, 0x72, 0x6d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d,
  1866  	0x65, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x62, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x76,
  1867  	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x62,
  1868  	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a,
  1869  	0x16, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x5f, 0x63, 0x6f,
  1870  	0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x64,
  1871  	0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74,
  1872  	0x69, 0x6f, 0x6e, 0x1a, 0x3a, 0x0a, 0x0c, 0x50, 0x6f, 0x72, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e,
  1873  	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  1874  	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
  1875  	0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
  1876  	0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
  1877  	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
  1878  	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
  1879  	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04,
  1880  	0x08, 0x0b, 0x10, 0x0c, 0x22, 0xbc, 0x05, 0x0a, 0x05, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x3a,
  1881  	0x0a, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18,
  1882  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
  1883  	0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0c, 0x70, 0x72,
  1884  	0x69, 0x6d, 0x61, 0x72, 0x79, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x43, 0x0a, 0x17, 0x70, 0x72,
  1885  	0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74,
  1886  	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74,
  1887  	0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x14, 0x70, 0x72, 0x69, 0x6d, 0x61,
  1888  	0x72, 0x79, 0x54, 0x65, 0x72, 0x6d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12,
  1889  	0x2f, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01,
  1890  	0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65,
  1891  	0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65,
  1892  	0x12, 0x40, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64,
  1893  	0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
  1894  	0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53,
  1895  	0x68, 0x61, 0x72, 0x64, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72,
  1896  	0x64, 0x73, 0x12, 0x46, 0x0a, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e,
  1897  	0x74, 0x72, 0x6f, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x6f,
  1898  	0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x2e, 0x54, 0x61, 0x62,
  1899  	0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c,
  1900  	0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73,
  1901  	0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67,
  1902  	0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72,
  1903  	0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x1a, 0x9a, 0x01, 0x0a, 0x0b, 0x53, 0x6f, 0x75,
  1904  	0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18,
  1905  	0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
  1906  	0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
  1907  	0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18,
  1908  	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x09,
  1909  	0x6b, 0x65, 0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1910  	0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x61,
  1911  	0x6e, 0x67, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a,
  1912  	0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74,
  1913  	0x61, 0x62, 0x6c, 0x65, 0x73, 0x1a, 0x9f, 0x01, 0x0a, 0x0d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
  1914  	0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x35, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65,
  1915  	0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74,
  1916  	0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79,
  1917  	0x70, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14,
  1918  	0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63,
  1919  	0x65, 0x6c, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x5f, 0x74,
  1920  	0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x6e,
  1921  	0x69, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x6f,
  1922  	0x7a, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x7a, 0x65,
  1923  	0x6e, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08,
  1924  	0x05, 0x10, 0x06, 0x22, 0xdd, 0x03, 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
  1925  	0x12, 0x40, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x73,
  1926  	0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
  1927  	0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65,
  1928  	0x64, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x46, 0x72, 0x6f,
  1929  	0x6d, 0x73, 0x12, 0x3b, 0x0a, 0x0d, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x74,
  1930  	0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x74, 0x6f, 0x70, 0x6f,
  1931  	0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70,
  1932  	0x65, 0x52, 0x0c, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12,
  1933  	0x23, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
  1934  	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x4b, 0x65, 0x79, 0x73,
  1935  	0x70, 0x61, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74,
  1936  	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74,
  1937  	0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73,
  1938  	0x68, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x75, 0x72, 0x61, 0x62,
  1939  	0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x08, 0x20, 0x01,
  1940  	0x28, 0x09, 0x52, 0x10, 0x64, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f,
  1941  	0x6c, 0x69, 0x63, 0x79, 0x12, 0x44, 0x0a, 0x10, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65,
  1942  	0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
  1943  	0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74,
  1944  	0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x74, 0x68, 0x72, 0x6f, 0x74,
  1945  	0x74, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x75, 0x0a, 0x0a, 0x53, 0x65,
  1946  	0x72, 0x76, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x35, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c,
  1947  	0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e,
  1948  	0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54,
  1949  	0x79, 0x70, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12,
  1950  	0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05,
  1951  	0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
  1952  	0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
  1953  	0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08,
  1954  	0x03, 0x10, 0x04, 0x22, 0x8b, 0x01, 0x0a, 0x10, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70,
  1955  	0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65,
  1956  	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
  1957  	0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
  1958  	0x69, 0x6f, 0x6e, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x1a,
  1959  	0x40, 0x0a, 0x04, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65,
  1960  	0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e,
  1961  	0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41,
  1962  	0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61,
  1963  	0x73, 0x22, 0xc6, 0x01, 0x0a, 0x15, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69,
  1964  	0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x38, 0x0a, 0x04, 0x74,
  1965  	0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x74, 0x6f, 0x70, 0x6f,
  1966  	0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63,
  1967  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52,
  1968  	0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f,
  1969  	0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f,
  1970  	0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
  1971  	0x61, 0x73, 0x52, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22,
  1972  	0x39, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f,
  1973  	0x57, 0x4e, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e,
  1974  	0x44, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x54, 0x4f, 0x50, 0x4f, 0x4c, 0x4f, 0x47, 0x59, 0x5f,
  1975  	0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x02, 0x22, 0x55, 0x0a, 0x0e, 0x53, 0x68,
  1976  	0x61, 0x72, 0x64, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04,
  1977  	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
  1978  	0x12, 0x2f, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20,
  1979  	0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b,
  1980  	0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67,
  1981  	0x65, 0x22, 0x8f, 0x01, 0x0a, 0x12, 0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65,
  1982  	0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
  1983  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09,
  1984  	0x6b, 0x65, 0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1985  	0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x61,
  1986  	0x6e, 0x67, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x34, 0x0a,
  1987  	0x16, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x64,
  1988  	0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x71,
  1989  	0x75, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62,
  1990  	0x6c, 0x65, 0x64, 0x22, 0x9b, 0x01, 0x0a, 0x0f, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65,
  1991  	0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c,
  1992  	0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
  1993  	0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02,
  1994  	0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12,
  1995  	0x21, 0x0a, 0x0c, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18,
  1996  	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x51, 0x75, 0x65,
  1997  	0x72, 0x79, 0x12, 0x2d, 0x0a, 0x13, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x61, 0x73, 0x5f, 0x63,
  1998  	0x68, 0x65, 0x63, 0x6b, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52,
  1999  	0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x41, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x6c,
  2000  	0x66, 0x22, 0xb6, 0x04, 0x0a, 0x0b, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
  2001  	0x65, 0x12, 0x47, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
  2002  	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
  2003  	0x2e, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79,
  2004  	0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a,
  2005  	0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x0b, 0x73, 0x65,
  2006  	0x72, 0x76, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
  2007  	0x20, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x72, 0x76, 0x4b, 0x65,
  2008  	0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x64, 0x46, 0x72, 0x6f,
  2009  	0x6d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x44, 0x0a,
  2010  	0x10, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69,
  2011  	0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
  2012  	0x74, 0x61, 0x2e, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66,
  2013  	0x69, 0x67, 0x52, 0x0f, 0x74, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e,
  2014  	0x66, 0x69, 0x67, 0x1a, 0xe1, 0x01, 0x0a, 0x11, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
  2015  	0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x0b, 0x73, 0x65, 0x72,
  2016  	0x76, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14,
  2017  	0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
  2018  	0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65,
  2019  	0x12, 0x43, 0x0a, 0x10, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65,
  2020  	0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x6f, 0x70,
  2021  	0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x66, 0x65, 0x72,
  2022  	0x65, 0x6e, 0x63, 0x65, 0x52, 0x0f, 0x73, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x66, 0x65, 0x72,
  2023  	0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x15, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x74,
  2024  	0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x18, 0x03,
  2025  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
  2026  	0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72,
  2027  	0x6f, 0x6c, 0x52, 0x13, 0x73, 0x68, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43,
  2028  	0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x1a, 0x5f, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65,
  2029  	0x64, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x35, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f,
  2030  	0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70,
  2031  	0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65,
  2032  	0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08,
  2033  	0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
  2034  	0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04,
  2035  	0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x22, 0x4b, 0x0a, 0x08, 0x43, 0x65,
  2036  	0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
  2037  	0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
  2038  	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a,
  2039  	0x04, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f,
  2040  	0x74, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x22, 0x0a, 0x0a, 0x43, 0x65, 0x6c, 0x6c, 0x73,
  2041  	0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02,
  2042  	0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x22, 0x55, 0x0a, 0x0a, 0x54,
  2043  	0x6f, 0x70, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x70,
  2044  	0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x6f,
  2045  	0x70, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
  2046  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x12,
  2047  	0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f,
  2048  	0x6f, 0x74, 0x22, 0x4e, 0x0a, 0x15, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x69,
  2049  	0x74, 0x65, 0x73, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x0b, 0x74,
  2050  	0x6f, 0x70, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
  2051  	0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x6f, 0x70, 0x6f,
  2052  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x74, 0x6f, 0x70, 0x6f, 0x43, 0x6f, 0x6e, 0x66,
  2053  	0x69, 0x67, 0x22, 0x5a, 0x0a, 0x10, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x6c,
  2054  	0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x46, 0x0a, 0x0e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73,
  2055  	0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f,
  2056  	0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e,
  2057  	0x61, 0x6c, 0x56, 0x69, 0x74, 0x65, 0x73, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52,
  2058  	0x0d, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2a, 0x28,
  2059  	0x0a, 0x0c, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a,
  2060  	0x0a, 0x06, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x4e,
  2061  	0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x10, 0x01, 0x2a, 0x9d, 0x01, 0x0a, 0x0a, 0x54, 0x61, 0x62,
  2062  	0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f,
  2063  	0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x52, 0x49, 0x4d, 0x41, 0x52, 0x59, 0x10,
  2064  	0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x41, 0x53, 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0b, 0x0a,
  2065  	0x07, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x44,
  2066  	0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x42, 0x41, 0x54, 0x43, 0x48, 0x10,
  2067  	0x03, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x50, 0x41, 0x52, 0x45, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c,
  2068  	0x45, 0x58, 0x50, 0x45, 0x52, 0x49, 0x4d, 0x45, 0x4e, 0x54, 0x41, 0x4c, 0x10, 0x05, 0x12, 0x0a,
  2069  	0x0a, 0x06, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x10, 0x06, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45,
  2070  	0x53, 0x54, 0x4f, 0x52, 0x45, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x52, 0x41, 0x49, 0x4e,
  2071  	0x45, 0x44, 0x10, 0x08, 0x1a, 0x02, 0x10, 0x01, 0x42, 0x38, 0x0a, 0x0f, 0x69, 0x6f, 0x2e, 0x76,
  2072  	0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x5a, 0x25, 0x76, 0x69, 0x74,
  2073  	0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f,
  2074  	0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
  2075  	0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  2076  }
  2077  
  2078  var (
  2079  	file_topodata_proto_rawDescOnce sync.Once
  2080  	file_topodata_proto_rawDescData = file_topodata_proto_rawDesc
  2081  )
  2082  
  2083  func file_topodata_proto_rawDescGZIP() []byte {
  2084  	file_topodata_proto_rawDescOnce.Do(func() {
  2085  		file_topodata_proto_rawDescData = protoimpl.X.CompressGZIP(file_topodata_proto_rawDescData)
  2086  	})
  2087  	return file_topodata_proto_rawDescData
  2088  }
  2089  
  2090  var file_topodata_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
  2091  var file_topodata_proto_msgTypes = make([]protoimpl.MessageInfo, 24)
  2092  var file_topodata_proto_goTypes = []interface{}{
  2093  	(KeyspaceType)(0),                     // 0: topodata.KeyspaceType
  2094  	(TabletType)(0),                       // 1: topodata.TabletType
  2095  	(ShardReplicationError_Type)(0),       // 2: topodata.ShardReplicationError.Type
  2096  	(*KeyRange)(nil),                      // 3: topodata.KeyRange
  2097  	(*TabletAlias)(nil),                   // 4: topodata.TabletAlias
  2098  	(*Tablet)(nil),                        // 5: topodata.Tablet
  2099  	(*Shard)(nil),                         // 6: topodata.Shard
  2100  	(*Keyspace)(nil),                      // 7: topodata.Keyspace
  2101  	(*ShardReplication)(nil),              // 8: topodata.ShardReplication
  2102  	(*ShardReplicationError)(nil),         // 9: topodata.ShardReplicationError
  2103  	(*ShardReference)(nil),                // 10: topodata.ShardReference
  2104  	(*ShardTabletControl)(nil),            // 11: topodata.ShardTabletControl
  2105  	(*ThrottlerConfig)(nil),               // 12: topodata.ThrottlerConfig
  2106  	(*SrvKeyspace)(nil),                   // 13: topodata.SrvKeyspace
  2107  	(*CellInfo)(nil),                      // 14: topodata.CellInfo
  2108  	(*CellsAlias)(nil),                    // 15: topodata.CellsAlias
  2109  	(*TopoConfig)(nil),                    // 16: topodata.TopoConfig
  2110  	(*ExternalVitessCluster)(nil),         // 17: topodata.ExternalVitessCluster
  2111  	(*ExternalClusters)(nil),              // 18: topodata.ExternalClusters
  2112  	nil,                                   // 19: topodata.Tablet.PortMapEntry
  2113  	nil,                                   // 20: topodata.Tablet.TagsEntry
  2114  	(*Shard_SourceShard)(nil),             // 21: topodata.Shard.SourceShard
  2115  	(*Shard_TabletControl)(nil),           // 22: topodata.Shard.TabletControl
  2116  	(*Keyspace_ServedFrom)(nil),           // 23: topodata.Keyspace.ServedFrom
  2117  	(*ShardReplication_Node)(nil),         // 24: topodata.ShardReplication.Node
  2118  	(*SrvKeyspace_KeyspacePartition)(nil), // 25: topodata.SrvKeyspace.KeyspacePartition
  2119  	(*SrvKeyspace_ServedFrom)(nil),        // 26: topodata.SrvKeyspace.ServedFrom
  2120  	(*vttime.Time)(nil),                   // 27: vttime.Time
  2121  }
  2122  var file_topodata_proto_depIdxs = []int32{
  2123  	4,  // 0: topodata.Tablet.alias:type_name -> topodata.TabletAlias
  2124  	19, // 1: topodata.Tablet.port_map:type_name -> topodata.Tablet.PortMapEntry
  2125  	3,  // 2: topodata.Tablet.key_range:type_name -> topodata.KeyRange
  2126  	1,  // 3: topodata.Tablet.type:type_name -> topodata.TabletType
  2127  	20, // 4: topodata.Tablet.tags:type_name -> topodata.Tablet.TagsEntry
  2128  	27, // 5: topodata.Tablet.primary_term_start_time:type_name -> vttime.Time
  2129  	4,  // 6: topodata.Shard.primary_alias:type_name -> topodata.TabletAlias
  2130  	27, // 7: topodata.Shard.primary_term_start_time:type_name -> vttime.Time
  2131  	3,  // 8: topodata.Shard.key_range:type_name -> topodata.KeyRange
  2132  	21, // 9: topodata.Shard.source_shards:type_name -> topodata.Shard.SourceShard
  2133  	22, // 10: topodata.Shard.tablet_controls:type_name -> topodata.Shard.TabletControl
  2134  	23, // 11: topodata.Keyspace.served_froms:type_name -> topodata.Keyspace.ServedFrom
  2135  	0,  // 12: topodata.Keyspace.keyspace_type:type_name -> topodata.KeyspaceType
  2136  	27, // 13: topodata.Keyspace.snapshot_time:type_name -> vttime.Time
  2137  	12, // 14: topodata.Keyspace.throttler_config:type_name -> topodata.ThrottlerConfig
  2138  	24, // 15: topodata.ShardReplication.nodes:type_name -> topodata.ShardReplication.Node
  2139  	2,  // 16: topodata.ShardReplicationError.type:type_name -> topodata.ShardReplicationError.Type
  2140  	4,  // 17: topodata.ShardReplicationError.tablet_alias:type_name -> topodata.TabletAlias
  2141  	3,  // 18: topodata.ShardReference.key_range:type_name -> topodata.KeyRange
  2142  	3,  // 19: topodata.ShardTabletControl.key_range:type_name -> topodata.KeyRange
  2143  	25, // 20: topodata.SrvKeyspace.partitions:type_name -> topodata.SrvKeyspace.KeyspacePartition
  2144  	26, // 21: topodata.SrvKeyspace.served_from:type_name -> topodata.SrvKeyspace.ServedFrom
  2145  	12, // 22: topodata.SrvKeyspace.throttler_config:type_name -> topodata.ThrottlerConfig
  2146  	16, // 23: topodata.ExternalVitessCluster.topo_config:type_name -> topodata.TopoConfig
  2147  	17, // 24: topodata.ExternalClusters.vitess_cluster:type_name -> topodata.ExternalVitessCluster
  2148  	3,  // 25: topodata.Shard.SourceShard.key_range:type_name -> topodata.KeyRange
  2149  	1,  // 26: topodata.Shard.TabletControl.tablet_type:type_name -> topodata.TabletType
  2150  	1,  // 27: topodata.Keyspace.ServedFrom.tablet_type:type_name -> topodata.TabletType
  2151  	4,  // 28: topodata.ShardReplication.Node.tablet_alias:type_name -> topodata.TabletAlias
  2152  	1,  // 29: topodata.SrvKeyspace.KeyspacePartition.served_type:type_name -> topodata.TabletType
  2153  	10, // 30: topodata.SrvKeyspace.KeyspacePartition.shard_references:type_name -> topodata.ShardReference
  2154  	11, // 31: topodata.SrvKeyspace.KeyspacePartition.shard_tablet_controls:type_name -> topodata.ShardTabletControl
  2155  	1,  // 32: topodata.SrvKeyspace.ServedFrom.tablet_type:type_name -> topodata.TabletType
  2156  	33, // [33:33] is the sub-list for method output_type
  2157  	33, // [33:33] is the sub-list for method input_type
  2158  	33, // [33:33] is the sub-list for extension type_name
  2159  	33, // [33:33] is the sub-list for extension extendee
  2160  	0,  // [0:33] is the sub-list for field type_name
  2161  }
  2162  
  2163  func init() { file_topodata_proto_init() }
  2164  func file_topodata_proto_init() {
  2165  	if File_topodata_proto != nil {
  2166  		return
  2167  	}
  2168  	if !protoimpl.UnsafeEnabled {
  2169  		file_topodata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  2170  			switch v := v.(*KeyRange); i {
  2171  			case 0:
  2172  				return &v.state
  2173  			case 1:
  2174  				return &v.sizeCache
  2175  			case 2:
  2176  				return &v.unknownFields
  2177  			default:
  2178  				return nil
  2179  			}
  2180  		}
  2181  		file_topodata_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  2182  			switch v := v.(*TabletAlias); i {
  2183  			case 0:
  2184  				return &v.state
  2185  			case 1:
  2186  				return &v.sizeCache
  2187  			case 2:
  2188  				return &v.unknownFields
  2189  			default:
  2190  				return nil
  2191  			}
  2192  		}
  2193  		file_topodata_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  2194  			switch v := v.(*Tablet); i {
  2195  			case 0:
  2196  				return &v.state
  2197  			case 1:
  2198  				return &v.sizeCache
  2199  			case 2:
  2200  				return &v.unknownFields
  2201  			default:
  2202  				return nil
  2203  			}
  2204  		}
  2205  		file_topodata_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  2206  			switch v := v.(*Shard); i {
  2207  			case 0:
  2208  				return &v.state
  2209  			case 1:
  2210  				return &v.sizeCache
  2211  			case 2:
  2212  				return &v.unknownFields
  2213  			default:
  2214  				return nil
  2215  			}
  2216  		}
  2217  		file_topodata_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  2218  			switch v := v.(*Keyspace); i {
  2219  			case 0:
  2220  				return &v.state
  2221  			case 1:
  2222  				return &v.sizeCache
  2223  			case 2:
  2224  				return &v.unknownFields
  2225  			default:
  2226  				return nil
  2227  			}
  2228  		}
  2229  		file_topodata_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  2230  			switch v := v.(*ShardReplication); i {
  2231  			case 0:
  2232  				return &v.state
  2233  			case 1:
  2234  				return &v.sizeCache
  2235  			case 2:
  2236  				return &v.unknownFields
  2237  			default:
  2238  				return nil
  2239  			}
  2240  		}
  2241  		file_topodata_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  2242  			switch v := v.(*ShardReplicationError); i {
  2243  			case 0:
  2244  				return &v.state
  2245  			case 1:
  2246  				return &v.sizeCache
  2247  			case 2:
  2248  				return &v.unknownFields
  2249  			default:
  2250  				return nil
  2251  			}
  2252  		}
  2253  		file_topodata_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  2254  			switch v := v.(*ShardReference); i {
  2255  			case 0:
  2256  				return &v.state
  2257  			case 1:
  2258  				return &v.sizeCache
  2259  			case 2:
  2260  				return &v.unknownFields
  2261  			default:
  2262  				return nil
  2263  			}
  2264  		}
  2265  		file_topodata_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  2266  			switch v := v.(*ShardTabletControl); i {
  2267  			case 0:
  2268  				return &v.state
  2269  			case 1:
  2270  				return &v.sizeCache
  2271  			case 2:
  2272  				return &v.unknownFields
  2273  			default:
  2274  				return nil
  2275  			}
  2276  		}
  2277  		file_topodata_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  2278  			switch v := v.(*ThrottlerConfig); i {
  2279  			case 0:
  2280  				return &v.state
  2281  			case 1:
  2282  				return &v.sizeCache
  2283  			case 2:
  2284  				return &v.unknownFields
  2285  			default:
  2286  				return nil
  2287  			}
  2288  		}
  2289  		file_topodata_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  2290  			switch v := v.(*SrvKeyspace); i {
  2291  			case 0:
  2292  				return &v.state
  2293  			case 1:
  2294  				return &v.sizeCache
  2295  			case 2:
  2296  				return &v.unknownFields
  2297  			default:
  2298  				return nil
  2299  			}
  2300  		}
  2301  		file_topodata_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  2302  			switch v := v.(*CellInfo); i {
  2303  			case 0:
  2304  				return &v.state
  2305  			case 1:
  2306  				return &v.sizeCache
  2307  			case 2:
  2308  				return &v.unknownFields
  2309  			default:
  2310  				return nil
  2311  			}
  2312  		}
  2313  		file_topodata_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  2314  			switch v := v.(*CellsAlias); i {
  2315  			case 0:
  2316  				return &v.state
  2317  			case 1:
  2318  				return &v.sizeCache
  2319  			case 2:
  2320  				return &v.unknownFields
  2321  			default:
  2322  				return nil
  2323  			}
  2324  		}
  2325  		file_topodata_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  2326  			switch v := v.(*TopoConfig); i {
  2327  			case 0:
  2328  				return &v.state
  2329  			case 1:
  2330  				return &v.sizeCache
  2331  			case 2:
  2332  				return &v.unknownFields
  2333  			default:
  2334  				return nil
  2335  			}
  2336  		}
  2337  		file_topodata_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  2338  			switch v := v.(*ExternalVitessCluster); i {
  2339  			case 0:
  2340  				return &v.state
  2341  			case 1:
  2342  				return &v.sizeCache
  2343  			case 2:
  2344  				return &v.unknownFields
  2345  			default:
  2346  				return nil
  2347  			}
  2348  		}
  2349  		file_topodata_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  2350  			switch v := v.(*ExternalClusters); i {
  2351  			case 0:
  2352  				return &v.state
  2353  			case 1:
  2354  				return &v.sizeCache
  2355  			case 2:
  2356  				return &v.unknownFields
  2357  			default:
  2358  				return nil
  2359  			}
  2360  		}
  2361  		file_topodata_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  2362  			switch v := v.(*Shard_SourceShard); i {
  2363  			case 0:
  2364  				return &v.state
  2365  			case 1:
  2366  				return &v.sizeCache
  2367  			case 2:
  2368  				return &v.unknownFields
  2369  			default:
  2370  				return nil
  2371  			}
  2372  		}
  2373  		file_topodata_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  2374  			switch v := v.(*Shard_TabletControl); i {
  2375  			case 0:
  2376  				return &v.state
  2377  			case 1:
  2378  				return &v.sizeCache
  2379  			case 2:
  2380  				return &v.unknownFields
  2381  			default:
  2382  				return nil
  2383  			}
  2384  		}
  2385  		file_topodata_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
  2386  			switch v := v.(*Keyspace_ServedFrom); i {
  2387  			case 0:
  2388  				return &v.state
  2389  			case 1:
  2390  				return &v.sizeCache
  2391  			case 2:
  2392  				return &v.unknownFields
  2393  			default:
  2394  				return nil
  2395  			}
  2396  		}
  2397  		file_topodata_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
  2398  			switch v := v.(*ShardReplication_Node); i {
  2399  			case 0:
  2400  				return &v.state
  2401  			case 1:
  2402  				return &v.sizeCache
  2403  			case 2:
  2404  				return &v.unknownFields
  2405  			default:
  2406  				return nil
  2407  			}
  2408  		}
  2409  		file_topodata_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
  2410  			switch v := v.(*SrvKeyspace_KeyspacePartition); i {
  2411  			case 0:
  2412  				return &v.state
  2413  			case 1:
  2414  				return &v.sizeCache
  2415  			case 2:
  2416  				return &v.unknownFields
  2417  			default:
  2418  				return nil
  2419  			}
  2420  		}
  2421  		file_topodata_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
  2422  			switch v := v.(*SrvKeyspace_ServedFrom); i {
  2423  			case 0:
  2424  				return &v.state
  2425  			case 1:
  2426  				return &v.sizeCache
  2427  			case 2:
  2428  				return &v.unknownFields
  2429  			default:
  2430  				return nil
  2431  			}
  2432  		}
  2433  	}
  2434  	type x struct{}
  2435  	out := protoimpl.TypeBuilder{
  2436  		File: protoimpl.DescBuilder{
  2437  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  2438  			RawDescriptor: file_topodata_proto_rawDesc,
  2439  			NumEnums:      3,
  2440  			NumMessages:   24,
  2441  			NumExtensions: 0,
  2442  			NumServices:   0,
  2443  		},
  2444  		GoTypes:           file_topodata_proto_goTypes,
  2445  		DependencyIndexes: file_topodata_proto_depIdxs,
  2446  		EnumInfos:         file_topodata_proto_enumTypes,
  2447  		MessageInfos:      file_topodata_proto_msgTypes,
  2448  	}.Build()
  2449  	File_topodata_proto = out.File
  2450  	file_topodata_proto_rawDesc = nil
  2451  	file_topodata_proto_goTypes = nil
  2452  	file_topodata_proto_depIdxs = nil
  2453  }