github.com/vedadiyan/sqlparser@v1.0.0/pkg/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 "github.com/vedadiyan/sqlparser/pkg/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  }
   687  
   688  func (x *Keyspace) Reset() {
   689  	*x = Keyspace{}
   690  	if protoimpl.UnsafeEnabled {
   691  		mi := &file_topodata_proto_msgTypes[4]
   692  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   693  		ms.StoreMessageInfo(mi)
   694  	}
   695  }
   696  
   697  func (x *Keyspace) String() string {
   698  	return protoimpl.X.MessageStringOf(x)
   699  }
   700  
   701  func (*Keyspace) ProtoMessage() {}
   702  
   703  func (x *Keyspace) ProtoReflect() protoreflect.Message {
   704  	mi := &file_topodata_proto_msgTypes[4]
   705  	if protoimpl.UnsafeEnabled && x != nil {
   706  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   707  		if ms.LoadMessageInfo() == nil {
   708  			ms.StoreMessageInfo(mi)
   709  		}
   710  		return ms
   711  	}
   712  	return mi.MessageOf(x)
   713  }
   714  
   715  // Deprecated: Use Keyspace.ProtoReflect.Descriptor instead.
   716  func (*Keyspace) Descriptor() ([]byte, []int) {
   717  	return file_topodata_proto_rawDescGZIP(), []int{4}
   718  }
   719  
   720  func (x *Keyspace) GetServedFroms() []*Keyspace_ServedFrom {
   721  	if x != nil {
   722  		return x.ServedFroms
   723  	}
   724  	return nil
   725  }
   726  
   727  func (x *Keyspace) GetKeyspaceType() KeyspaceType {
   728  	if x != nil {
   729  		return x.KeyspaceType
   730  	}
   731  	return KeyspaceType_NORMAL
   732  }
   733  
   734  func (x *Keyspace) GetBaseKeyspace() string {
   735  	if x != nil {
   736  		return x.BaseKeyspace
   737  	}
   738  	return ""
   739  }
   740  
   741  func (x *Keyspace) GetSnapshotTime() *vttime.Time {
   742  	if x != nil {
   743  		return x.SnapshotTime
   744  	}
   745  	return nil
   746  }
   747  
   748  func (x *Keyspace) GetDurabilityPolicy() string {
   749  	if x != nil {
   750  		return x.DurabilityPolicy
   751  	}
   752  	return ""
   753  }
   754  
   755  // ShardReplication describes the MySQL replication relationships
   756  // whithin a cell.
   757  type ShardReplication struct {
   758  	state         protoimpl.MessageState
   759  	sizeCache     protoimpl.SizeCache
   760  	unknownFields protoimpl.UnknownFields
   761  
   762  	// Note there can be only one Node in this array
   763  	// for a given tablet.
   764  	Nodes []*ShardReplication_Node `protobuf:"bytes,1,rep,name=nodes,proto3" json:"nodes,omitempty"`
   765  }
   766  
   767  func (x *ShardReplication) Reset() {
   768  	*x = ShardReplication{}
   769  	if protoimpl.UnsafeEnabled {
   770  		mi := &file_topodata_proto_msgTypes[5]
   771  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   772  		ms.StoreMessageInfo(mi)
   773  	}
   774  }
   775  
   776  func (x *ShardReplication) String() string {
   777  	return protoimpl.X.MessageStringOf(x)
   778  }
   779  
   780  func (*ShardReplication) ProtoMessage() {}
   781  
   782  func (x *ShardReplication) ProtoReflect() protoreflect.Message {
   783  	mi := &file_topodata_proto_msgTypes[5]
   784  	if protoimpl.UnsafeEnabled && x != nil {
   785  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   786  		if ms.LoadMessageInfo() == nil {
   787  			ms.StoreMessageInfo(mi)
   788  		}
   789  		return ms
   790  	}
   791  	return mi.MessageOf(x)
   792  }
   793  
   794  // Deprecated: Use ShardReplication.ProtoReflect.Descriptor instead.
   795  func (*ShardReplication) Descriptor() ([]byte, []int) {
   796  	return file_topodata_proto_rawDescGZIP(), []int{5}
   797  }
   798  
   799  func (x *ShardReplication) GetNodes() []*ShardReplication_Node {
   800  	if x != nil {
   801  		return x.Nodes
   802  	}
   803  	return nil
   804  }
   805  
   806  // ShardReplicationError describes the error being fixed by
   807  // ShardReplicationFix.
   808  type ShardReplicationError struct {
   809  	state         protoimpl.MessageState
   810  	sizeCache     protoimpl.SizeCache
   811  	unknownFields protoimpl.UnknownFields
   812  
   813  	// Type is the category of problem being fixed.
   814  	Type ShardReplicationError_Type `protobuf:"varint,1,opt,name=type,proto3,enum=topodata.ShardReplicationError_Type" json:"type,omitempty"`
   815  	// TabletAlias is the tablet record that has the problem.
   816  	TabletAlias *TabletAlias `protobuf:"bytes,2,opt,name=tablet_alias,json=tabletAlias,proto3" json:"tablet_alias,omitempty"`
   817  }
   818  
   819  func (x *ShardReplicationError) Reset() {
   820  	*x = ShardReplicationError{}
   821  	if protoimpl.UnsafeEnabled {
   822  		mi := &file_topodata_proto_msgTypes[6]
   823  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   824  		ms.StoreMessageInfo(mi)
   825  	}
   826  }
   827  
   828  func (x *ShardReplicationError) String() string {
   829  	return protoimpl.X.MessageStringOf(x)
   830  }
   831  
   832  func (*ShardReplicationError) ProtoMessage() {}
   833  
   834  func (x *ShardReplicationError) ProtoReflect() protoreflect.Message {
   835  	mi := &file_topodata_proto_msgTypes[6]
   836  	if protoimpl.UnsafeEnabled && x != nil {
   837  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   838  		if ms.LoadMessageInfo() == nil {
   839  			ms.StoreMessageInfo(mi)
   840  		}
   841  		return ms
   842  	}
   843  	return mi.MessageOf(x)
   844  }
   845  
   846  // Deprecated: Use ShardReplicationError.ProtoReflect.Descriptor instead.
   847  func (*ShardReplicationError) Descriptor() ([]byte, []int) {
   848  	return file_topodata_proto_rawDescGZIP(), []int{6}
   849  }
   850  
   851  func (x *ShardReplicationError) GetType() ShardReplicationError_Type {
   852  	if x != nil {
   853  		return x.Type
   854  	}
   855  	return ShardReplicationError_UNKNOWN
   856  }
   857  
   858  func (x *ShardReplicationError) GetTabletAlias() *TabletAlias {
   859  	if x != nil {
   860  		return x.TabletAlias
   861  	}
   862  	return nil
   863  }
   864  
   865  // ShardReference is used as a pointer from a SrvKeyspace to a Shard
   866  type ShardReference struct {
   867  	state         protoimpl.MessageState
   868  	sizeCache     protoimpl.SizeCache
   869  	unknownFields protoimpl.UnknownFields
   870  
   871  	// Copied from Shard.
   872  	Name     string    `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   873  	KeyRange *KeyRange `protobuf:"bytes,2,opt,name=key_range,json=keyRange,proto3" json:"key_range,omitempty"` // Disable query serving in this shard
   874  }
   875  
   876  func (x *ShardReference) Reset() {
   877  	*x = ShardReference{}
   878  	if protoimpl.UnsafeEnabled {
   879  		mi := &file_topodata_proto_msgTypes[7]
   880  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   881  		ms.StoreMessageInfo(mi)
   882  	}
   883  }
   884  
   885  func (x *ShardReference) String() string {
   886  	return protoimpl.X.MessageStringOf(x)
   887  }
   888  
   889  func (*ShardReference) ProtoMessage() {}
   890  
   891  func (x *ShardReference) ProtoReflect() protoreflect.Message {
   892  	mi := &file_topodata_proto_msgTypes[7]
   893  	if protoimpl.UnsafeEnabled && x != nil {
   894  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   895  		if ms.LoadMessageInfo() == nil {
   896  			ms.StoreMessageInfo(mi)
   897  		}
   898  		return ms
   899  	}
   900  	return mi.MessageOf(x)
   901  }
   902  
   903  // Deprecated: Use ShardReference.ProtoReflect.Descriptor instead.
   904  func (*ShardReference) Descriptor() ([]byte, []int) {
   905  	return file_topodata_proto_rawDescGZIP(), []int{7}
   906  }
   907  
   908  func (x *ShardReference) GetName() string {
   909  	if x != nil {
   910  		return x.Name
   911  	}
   912  	return ""
   913  }
   914  
   915  func (x *ShardReference) GetKeyRange() *KeyRange {
   916  	if x != nil {
   917  		return x.KeyRange
   918  	}
   919  	return nil
   920  }
   921  
   922  // ShardTabletControl is used as a pointer from a SrvKeyspace to a Shard
   923  type ShardTabletControl struct {
   924  	state         protoimpl.MessageState
   925  	sizeCache     protoimpl.SizeCache
   926  	unknownFields protoimpl.UnknownFields
   927  
   928  	// Copied from Shard.
   929  	Name     string    `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   930  	KeyRange *KeyRange `protobuf:"bytes,2,opt,name=key_range,json=keyRange,proto3" json:"key_range,omitempty"`
   931  	// Disable query serving in this shard
   932  	QueryServiceDisabled bool `protobuf:"varint,3,opt,name=query_service_disabled,json=queryServiceDisabled,proto3" json:"query_service_disabled,omitempty"`
   933  }
   934  
   935  func (x *ShardTabletControl) Reset() {
   936  	*x = ShardTabletControl{}
   937  	if protoimpl.UnsafeEnabled {
   938  		mi := &file_topodata_proto_msgTypes[8]
   939  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   940  		ms.StoreMessageInfo(mi)
   941  	}
   942  }
   943  
   944  func (x *ShardTabletControl) String() string {
   945  	return protoimpl.X.MessageStringOf(x)
   946  }
   947  
   948  func (*ShardTabletControl) ProtoMessage() {}
   949  
   950  func (x *ShardTabletControl) ProtoReflect() protoreflect.Message {
   951  	mi := &file_topodata_proto_msgTypes[8]
   952  	if protoimpl.UnsafeEnabled && x != nil {
   953  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   954  		if ms.LoadMessageInfo() == nil {
   955  			ms.StoreMessageInfo(mi)
   956  		}
   957  		return ms
   958  	}
   959  	return mi.MessageOf(x)
   960  }
   961  
   962  // Deprecated: Use ShardTabletControl.ProtoReflect.Descriptor instead.
   963  func (*ShardTabletControl) Descriptor() ([]byte, []int) {
   964  	return file_topodata_proto_rawDescGZIP(), []int{8}
   965  }
   966  
   967  func (x *ShardTabletControl) GetName() string {
   968  	if x != nil {
   969  		return x.Name
   970  	}
   971  	return ""
   972  }
   973  
   974  func (x *ShardTabletControl) GetKeyRange() *KeyRange {
   975  	if x != nil {
   976  		return x.KeyRange
   977  	}
   978  	return nil
   979  }
   980  
   981  func (x *ShardTabletControl) GetQueryServiceDisabled() bool {
   982  	if x != nil {
   983  		return x.QueryServiceDisabled
   984  	}
   985  	return false
   986  }
   987  
   988  // SrvKeyspace is a rollup node for the keyspace itself.
   989  type SrvKeyspace struct {
   990  	state         protoimpl.MessageState
   991  	sizeCache     protoimpl.SizeCache
   992  	unknownFields protoimpl.UnknownFields
   993  
   994  	// The partitions this keyspace is serving, per tablet type.
   995  	Partitions []*SrvKeyspace_KeyspacePartition `protobuf:"bytes,1,rep,name=partitions,proto3" json:"partitions,omitempty"`
   996  	ServedFrom []*SrvKeyspace_ServedFrom        `protobuf:"bytes,4,rep,name=served_from,json=servedFrom,proto3" json:"served_from,omitempty"`
   997  	// ThrottlerConfig has the configuration for the tablet server's lag throttler, and applies to the entire keyspace, across all shards and tablets
   998  	ThrottlerConfig *SrvKeyspace_ThrottlerConfig `protobuf:"bytes,6,opt,name=throttler_config,json=throttlerConfig,proto3" json:"throttler_config,omitempty"`
   999  }
  1000  
  1001  func (x *SrvKeyspace) Reset() {
  1002  	*x = SrvKeyspace{}
  1003  	if protoimpl.UnsafeEnabled {
  1004  		mi := &file_topodata_proto_msgTypes[9]
  1005  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1006  		ms.StoreMessageInfo(mi)
  1007  	}
  1008  }
  1009  
  1010  func (x *SrvKeyspace) String() string {
  1011  	return protoimpl.X.MessageStringOf(x)
  1012  }
  1013  
  1014  func (*SrvKeyspace) ProtoMessage() {}
  1015  
  1016  func (x *SrvKeyspace) ProtoReflect() protoreflect.Message {
  1017  	mi := &file_topodata_proto_msgTypes[9]
  1018  	if protoimpl.UnsafeEnabled && x != nil {
  1019  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1020  		if ms.LoadMessageInfo() == nil {
  1021  			ms.StoreMessageInfo(mi)
  1022  		}
  1023  		return ms
  1024  	}
  1025  	return mi.MessageOf(x)
  1026  }
  1027  
  1028  // Deprecated: Use SrvKeyspace.ProtoReflect.Descriptor instead.
  1029  func (*SrvKeyspace) Descriptor() ([]byte, []int) {
  1030  	return file_topodata_proto_rawDescGZIP(), []int{9}
  1031  }
  1032  
  1033  func (x *SrvKeyspace) GetPartitions() []*SrvKeyspace_KeyspacePartition {
  1034  	if x != nil {
  1035  		return x.Partitions
  1036  	}
  1037  	return nil
  1038  }
  1039  
  1040  func (x *SrvKeyspace) GetServedFrom() []*SrvKeyspace_ServedFrom {
  1041  	if x != nil {
  1042  		return x.ServedFrom
  1043  	}
  1044  	return nil
  1045  }
  1046  
  1047  func (x *SrvKeyspace) GetThrottlerConfig() *SrvKeyspace_ThrottlerConfig {
  1048  	if x != nil {
  1049  		return x.ThrottlerConfig
  1050  	}
  1051  	return nil
  1052  }
  1053  
  1054  // CellInfo contains information about a cell. CellInfo objects are
  1055  // stored in the global topology server, and describe how to reach
  1056  // local topology servers.
  1057  type CellInfo struct {
  1058  	state         protoimpl.MessageState
  1059  	sizeCache     protoimpl.SizeCache
  1060  	unknownFields protoimpl.UnknownFields
  1061  
  1062  	// ServerAddress contains the address of the server for the cell.
  1063  	// The syntax of this field is topology implementation specific.
  1064  	// For instance, for Zookeeper, it is a comma-separated list of
  1065  	// server addresses.
  1066  	ServerAddress string `protobuf:"bytes,1,opt,name=server_address,json=serverAddress,proto3" json:"server_address,omitempty"`
  1067  	// Root is the path to store data in. It is only used when talking
  1068  	// to server_address.
  1069  	Root string `protobuf:"bytes,2,opt,name=root,proto3" json:"root,omitempty"`
  1070  }
  1071  
  1072  func (x *CellInfo) Reset() {
  1073  	*x = CellInfo{}
  1074  	if protoimpl.UnsafeEnabled {
  1075  		mi := &file_topodata_proto_msgTypes[10]
  1076  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1077  		ms.StoreMessageInfo(mi)
  1078  	}
  1079  }
  1080  
  1081  func (x *CellInfo) String() string {
  1082  	return protoimpl.X.MessageStringOf(x)
  1083  }
  1084  
  1085  func (*CellInfo) ProtoMessage() {}
  1086  
  1087  func (x *CellInfo) ProtoReflect() protoreflect.Message {
  1088  	mi := &file_topodata_proto_msgTypes[10]
  1089  	if protoimpl.UnsafeEnabled && x != nil {
  1090  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1091  		if ms.LoadMessageInfo() == nil {
  1092  			ms.StoreMessageInfo(mi)
  1093  		}
  1094  		return ms
  1095  	}
  1096  	return mi.MessageOf(x)
  1097  }
  1098  
  1099  // Deprecated: Use CellInfo.ProtoReflect.Descriptor instead.
  1100  func (*CellInfo) Descriptor() ([]byte, []int) {
  1101  	return file_topodata_proto_rawDescGZIP(), []int{10}
  1102  }
  1103  
  1104  func (x *CellInfo) GetServerAddress() string {
  1105  	if x != nil {
  1106  		return x.ServerAddress
  1107  	}
  1108  	return ""
  1109  }
  1110  
  1111  func (x *CellInfo) GetRoot() string {
  1112  	if x != nil {
  1113  		return x.Root
  1114  	}
  1115  	return ""
  1116  }
  1117  
  1118  // CellsAlias
  1119  type CellsAlias struct {
  1120  	state         protoimpl.MessageState
  1121  	sizeCache     protoimpl.SizeCache
  1122  	unknownFields protoimpl.UnknownFields
  1123  
  1124  	// Cells that map to this alias
  1125  	Cells []string `protobuf:"bytes,2,rep,name=cells,proto3" json:"cells,omitempty"`
  1126  }
  1127  
  1128  func (x *CellsAlias) Reset() {
  1129  	*x = CellsAlias{}
  1130  	if protoimpl.UnsafeEnabled {
  1131  		mi := &file_topodata_proto_msgTypes[11]
  1132  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1133  		ms.StoreMessageInfo(mi)
  1134  	}
  1135  }
  1136  
  1137  func (x *CellsAlias) String() string {
  1138  	return protoimpl.X.MessageStringOf(x)
  1139  }
  1140  
  1141  func (*CellsAlias) ProtoMessage() {}
  1142  
  1143  func (x *CellsAlias) ProtoReflect() protoreflect.Message {
  1144  	mi := &file_topodata_proto_msgTypes[11]
  1145  	if protoimpl.UnsafeEnabled && x != nil {
  1146  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1147  		if ms.LoadMessageInfo() == nil {
  1148  			ms.StoreMessageInfo(mi)
  1149  		}
  1150  		return ms
  1151  	}
  1152  	return mi.MessageOf(x)
  1153  }
  1154  
  1155  // Deprecated: Use CellsAlias.ProtoReflect.Descriptor instead.
  1156  func (*CellsAlias) Descriptor() ([]byte, []int) {
  1157  	return file_topodata_proto_rawDescGZIP(), []int{11}
  1158  }
  1159  
  1160  func (x *CellsAlias) GetCells() []string {
  1161  	if x != nil {
  1162  		return x.Cells
  1163  	}
  1164  	return nil
  1165  }
  1166  
  1167  type TopoConfig struct {
  1168  	state         protoimpl.MessageState
  1169  	sizeCache     protoimpl.SizeCache
  1170  	unknownFields protoimpl.UnknownFields
  1171  
  1172  	TopoType string `protobuf:"bytes,1,opt,name=topo_type,json=topoType,proto3" json:"topo_type,omitempty"`
  1173  	Server   string `protobuf:"bytes,2,opt,name=server,proto3" json:"server,omitempty"`
  1174  	Root     string `protobuf:"bytes,3,opt,name=root,proto3" json:"root,omitempty"`
  1175  }
  1176  
  1177  func (x *TopoConfig) Reset() {
  1178  	*x = TopoConfig{}
  1179  	if protoimpl.UnsafeEnabled {
  1180  		mi := &file_topodata_proto_msgTypes[12]
  1181  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1182  		ms.StoreMessageInfo(mi)
  1183  	}
  1184  }
  1185  
  1186  func (x *TopoConfig) String() string {
  1187  	return protoimpl.X.MessageStringOf(x)
  1188  }
  1189  
  1190  func (*TopoConfig) ProtoMessage() {}
  1191  
  1192  func (x *TopoConfig) ProtoReflect() protoreflect.Message {
  1193  	mi := &file_topodata_proto_msgTypes[12]
  1194  	if protoimpl.UnsafeEnabled && x != nil {
  1195  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1196  		if ms.LoadMessageInfo() == nil {
  1197  			ms.StoreMessageInfo(mi)
  1198  		}
  1199  		return ms
  1200  	}
  1201  	return mi.MessageOf(x)
  1202  }
  1203  
  1204  // Deprecated: Use TopoConfig.ProtoReflect.Descriptor instead.
  1205  func (*TopoConfig) Descriptor() ([]byte, []int) {
  1206  	return file_topodata_proto_rawDescGZIP(), []int{12}
  1207  }
  1208  
  1209  func (x *TopoConfig) GetTopoType() string {
  1210  	if x != nil {
  1211  		return x.TopoType
  1212  	}
  1213  	return ""
  1214  }
  1215  
  1216  func (x *TopoConfig) GetServer() string {
  1217  	if x != nil {
  1218  		return x.Server
  1219  	}
  1220  	return ""
  1221  }
  1222  
  1223  func (x *TopoConfig) GetRoot() string {
  1224  	if x != nil {
  1225  		return x.Root
  1226  	}
  1227  	return ""
  1228  }
  1229  
  1230  type ExternalVitessCluster struct {
  1231  	state         protoimpl.MessageState
  1232  	sizeCache     protoimpl.SizeCache
  1233  	unknownFields protoimpl.UnknownFields
  1234  
  1235  	TopoConfig *TopoConfig `protobuf:"bytes,1,opt,name=topo_config,json=topoConfig,proto3" json:"topo_config,omitempty"`
  1236  }
  1237  
  1238  func (x *ExternalVitessCluster) Reset() {
  1239  	*x = ExternalVitessCluster{}
  1240  	if protoimpl.UnsafeEnabled {
  1241  		mi := &file_topodata_proto_msgTypes[13]
  1242  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1243  		ms.StoreMessageInfo(mi)
  1244  	}
  1245  }
  1246  
  1247  func (x *ExternalVitessCluster) String() string {
  1248  	return protoimpl.X.MessageStringOf(x)
  1249  }
  1250  
  1251  func (*ExternalVitessCluster) ProtoMessage() {}
  1252  
  1253  func (x *ExternalVitessCluster) ProtoReflect() protoreflect.Message {
  1254  	mi := &file_topodata_proto_msgTypes[13]
  1255  	if protoimpl.UnsafeEnabled && x != nil {
  1256  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1257  		if ms.LoadMessageInfo() == nil {
  1258  			ms.StoreMessageInfo(mi)
  1259  		}
  1260  		return ms
  1261  	}
  1262  	return mi.MessageOf(x)
  1263  }
  1264  
  1265  // Deprecated: Use ExternalVitessCluster.ProtoReflect.Descriptor instead.
  1266  func (*ExternalVitessCluster) Descriptor() ([]byte, []int) {
  1267  	return file_topodata_proto_rawDescGZIP(), []int{13}
  1268  }
  1269  
  1270  func (x *ExternalVitessCluster) GetTopoConfig() *TopoConfig {
  1271  	if x != nil {
  1272  		return x.TopoConfig
  1273  	}
  1274  	return nil
  1275  }
  1276  
  1277  // ExternalClusters
  1278  type ExternalClusters struct {
  1279  	state         protoimpl.MessageState
  1280  	sizeCache     protoimpl.SizeCache
  1281  	unknownFields protoimpl.UnknownFields
  1282  
  1283  	VitessCluster []*ExternalVitessCluster `protobuf:"bytes,1,rep,name=vitess_cluster,json=vitessCluster,proto3" json:"vitess_cluster,omitempty"`
  1284  }
  1285  
  1286  func (x *ExternalClusters) Reset() {
  1287  	*x = ExternalClusters{}
  1288  	if protoimpl.UnsafeEnabled {
  1289  		mi := &file_topodata_proto_msgTypes[14]
  1290  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1291  		ms.StoreMessageInfo(mi)
  1292  	}
  1293  }
  1294  
  1295  func (x *ExternalClusters) String() string {
  1296  	return protoimpl.X.MessageStringOf(x)
  1297  }
  1298  
  1299  func (*ExternalClusters) ProtoMessage() {}
  1300  
  1301  func (x *ExternalClusters) ProtoReflect() protoreflect.Message {
  1302  	mi := &file_topodata_proto_msgTypes[14]
  1303  	if protoimpl.UnsafeEnabled && x != nil {
  1304  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1305  		if ms.LoadMessageInfo() == nil {
  1306  			ms.StoreMessageInfo(mi)
  1307  		}
  1308  		return ms
  1309  	}
  1310  	return mi.MessageOf(x)
  1311  }
  1312  
  1313  // Deprecated: Use ExternalClusters.ProtoReflect.Descriptor instead.
  1314  func (*ExternalClusters) Descriptor() ([]byte, []int) {
  1315  	return file_topodata_proto_rawDescGZIP(), []int{14}
  1316  }
  1317  
  1318  func (x *ExternalClusters) GetVitessCluster() []*ExternalVitessCluster {
  1319  	if x != nil {
  1320  		return x.VitessCluster
  1321  	}
  1322  	return nil
  1323  }
  1324  
  1325  // SourceShard represents a data source for filtered replication
  1326  // across shards. When this is used in a destination shard, the primary
  1327  // of that shard will run filtered replication.
  1328  type Shard_SourceShard struct {
  1329  	state         protoimpl.MessageState
  1330  	sizeCache     protoimpl.SizeCache
  1331  	unknownFields protoimpl.UnknownFields
  1332  
  1333  	// Uid is the unique ID for this SourceShard object.
  1334  	Uid int32 `protobuf:"varint,1,opt,name=uid,proto3" json:"uid,omitempty"`
  1335  	// the source keyspace
  1336  	Keyspace string `protobuf:"bytes,2,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
  1337  	// the source shard
  1338  	Shard string `protobuf:"bytes,3,opt,name=shard,proto3" json:"shard,omitempty"`
  1339  	// the source shard keyrange
  1340  	KeyRange *KeyRange `protobuf:"bytes,4,opt,name=key_range,json=keyRange,proto3" json:"key_range,omitempty"`
  1341  	// the source table list to replicate
  1342  	Tables []string `protobuf:"bytes,5,rep,name=tables,proto3" json:"tables,omitempty"`
  1343  }
  1344  
  1345  func (x *Shard_SourceShard) Reset() {
  1346  	*x = Shard_SourceShard{}
  1347  	if protoimpl.UnsafeEnabled {
  1348  		mi := &file_topodata_proto_msgTypes[17]
  1349  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1350  		ms.StoreMessageInfo(mi)
  1351  	}
  1352  }
  1353  
  1354  func (x *Shard_SourceShard) String() string {
  1355  	return protoimpl.X.MessageStringOf(x)
  1356  }
  1357  
  1358  func (*Shard_SourceShard) ProtoMessage() {}
  1359  
  1360  func (x *Shard_SourceShard) ProtoReflect() protoreflect.Message {
  1361  	mi := &file_topodata_proto_msgTypes[17]
  1362  	if protoimpl.UnsafeEnabled && x != nil {
  1363  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1364  		if ms.LoadMessageInfo() == nil {
  1365  			ms.StoreMessageInfo(mi)
  1366  		}
  1367  		return ms
  1368  	}
  1369  	return mi.MessageOf(x)
  1370  }
  1371  
  1372  // Deprecated: Use Shard_SourceShard.ProtoReflect.Descriptor instead.
  1373  func (*Shard_SourceShard) Descriptor() ([]byte, []int) {
  1374  	return file_topodata_proto_rawDescGZIP(), []int{3, 0}
  1375  }
  1376  
  1377  func (x *Shard_SourceShard) GetUid() int32 {
  1378  	if x != nil {
  1379  		return x.Uid
  1380  	}
  1381  	return 0
  1382  }
  1383  
  1384  func (x *Shard_SourceShard) GetKeyspace() string {
  1385  	if x != nil {
  1386  		return x.Keyspace
  1387  	}
  1388  	return ""
  1389  }
  1390  
  1391  func (x *Shard_SourceShard) GetShard() string {
  1392  	if x != nil {
  1393  		return x.Shard
  1394  	}
  1395  	return ""
  1396  }
  1397  
  1398  func (x *Shard_SourceShard) GetKeyRange() *KeyRange {
  1399  	if x != nil {
  1400  		return x.KeyRange
  1401  	}
  1402  	return nil
  1403  }
  1404  
  1405  func (x *Shard_SourceShard) GetTables() []string {
  1406  	if x != nil {
  1407  		return x.Tables
  1408  	}
  1409  	return nil
  1410  }
  1411  
  1412  // TabletControl controls tablet's behavior
  1413  type Shard_TabletControl struct {
  1414  	state         protoimpl.MessageState
  1415  	sizeCache     protoimpl.SizeCache
  1416  	unknownFields protoimpl.UnknownFields
  1417  
  1418  	// which tablet type is affected
  1419  	TabletType   TabletType `protobuf:"varint,1,opt,name=tablet_type,json=tabletType,proto3,enum=topodata.TabletType" json:"tablet_type,omitempty"`
  1420  	Cells        []string   `protobuf:"bytes,2,rep,name=cells,proto3" json:"cells,omitempty"`
  1421  	DeniedTables []string   `protobuf:"bytes,4,rep,name=denied_tables,json=deniedTables,proto3" json:"denied_tables,omitempty"`
  1422  	// frozen is set if we've started failing over traffic for
  1423  	// the primary. If set, this record should not be removed.
  1424  	Frozen bool `protobuf:"varint,5,opt,name=frozen,proto3" json:"frozen,omitempty"`
  1425  }
  1426  
  1427  func (x *Shard_TabletControl) Reset() {
  1428  	*x = Shard_TabletControl{}
  1429  	if protoimpl.UnsafeEnabled {
  1430  		mi := &file_topodata_proto_msgTypes[18]
  1431  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1432  		ms.StoreMessageInfo(mi)
  1433  	}
  1434  }
  1435  
  1436  func (x *Shard_TabletControl) String() string {
  1437  	return protoimpl.X.MessageStringOf(x)
  1438  }
  1439  
  1440  func (*Shard_TabletControl) ProtoMessage() {}
  1441  
  1442  func (x *Shard_TabletControl) ProtoReflect() protoreflect.Message {
  1443  	mi := &file_topodata_proto_msgTypes[18]
  1444  	if protoimpl.UnsafeEnabled && x != nil {
  1445  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1446  		if ms.LoadMessageInfo() == nil {
  1447  			ms.StoreMessageInfo(mi)
  1448  		}
  1449  		return ms
  1450  	}
  1451  	return mi.MessageOf(x)
  1452  }
  1453  
  1454  // Deprecated: Use Shard_TabletControl.ProtoReflect.Descriptor instead.
  1455  func (*Shard_TabletControl) Descriptor() ([]byte, []int) {
  1456  	return file_topodata_proto_rawDescGZIP(), []int{3, 1}
  1457  }
  1458  
  1459  func (x *Shard_TabletControl) GetTabletType() TabletType {
  1460  	if x != nil {
  1461  		return x.TabletType
  1462  	}
  1463  	return TabletType_UNKNOWN
  1464  }
  1465  
  1466  func (x *Shard_TabletControl) GetCells() []string {
  1467  	if x != nil {
  1468  		return x.Cells
  1469  	}
  1470  	return nil
  1471  }
  1472  
  1473  func (x *Shard_TabletControl) GetDeniedTables() []string {
  1474  	if x != nil {
  1475  		return x.DeniedTables
  1476  	}
  1477  	return nil
  1478  }
  1479  
  1480  func (x *Shard_TabletControl) GetFrozen() bool {
  1481  	if x != nil {
  1482  		return x.Frozen
  1483  	}
  1484  	return false
  1485  }
  1486  
  1487  // ServedFrom indicates a relationship between a TabletType and the
  1488  // keyspace name that's serving it.
  1489  type Keyspace_ServedFrom struct {
  1490  	state         protoimpl.MessageState
  1491  	sizeCache     protoimpl.SizeCache
  1492  	unknownFields protoimpl.UnknownFields
  1493  
  1494  	// the tablet type (key for the map)
  1495  	TabletType TabletType `protobuf:"varint,1,opt,name=tablet_type,json=tabletType,proto3,enum=topodata.TabletType" json:"tablet_type,omitempty"`
  1496  	// the cells to limit this to
  1497  	Cells []string `protobuf:"bytes,2,rep,name=cells,proto3" json:"cells,omitempty"`
  1498  	// the keyspace name that's serving it
  1499  	Keyspace string `protobuf:"bytes,3,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
  1500  }
  1501  
  1502  func (x *Keyspace_ServedFrom) Reset() {
  1503  	*x = Keyspace_ServedFrom{}
  1504  	if protoimpl.UnsafeEnabled {
  1505  		mi := &file_topodata_proto_msgTypes[19]
  1506  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1507  		ms.StoreMessageInfo(mi)
  1508  	}
  1509  }
  1510  
  1511  func (x *Keyspace_ServedFrom) String() string {
  1512  	return protoimpl.X.MessageStringOf(x)
  1513  }
  1514  
  1515  func (*Keyspace_ServedFrom) ProtoMessage() {}
  1516  
  1517  func (x *Keyspace_ServedFrom) ProtoReflect() protoreflect.Message {
  1518  	mi := &file_topodata_proto_msgTypes[19]
  1519  	if protoimpl.UnsafeEnabled && x != nil {
  1520  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1521  		if ms.LoadMessageInfo() == nil {
  1522  			ms.StoreMessageInfo(mi)
  1523  		}
  1524  		return ms
  1525  	}
  1526  	return mi.MessageOf(x)
  1527  }
  1528  
  1529  // Deprecated: Use Keyspace_ServedFrom.ProtoReflect.Descriptor instead.
  1530  func (*Keyspace_ServedFrom) Descriptor() ([]byte, []int) {
  1531  	return file_topodata_proto_rawDescGZIP(), []int{4, 0}
  1532  }
  1533  
  1534  func (x *Keyspace_ServedFrom) GetTabletType() TabletType {
  1535  	if x != nil {
  1536  		return x.TabletType
  1537  	}
  1538  	return TabletType_UNKNOWN
  1539  }
  1540  
  1541  func (x *Keyspace_ServedFrom) GetCells() []string {
  1542  	if x != nil {
  1543  		return x.Cells
  1544  	}
  1545  	return nil
  1546  }
  1547  
  1548  func (x *Keyspace_ServedFrom) GetKeyspace() string {
  1549  	if x != nil {
  1550  		return x.Keyspace
  1551  	}
  1552  	return ""
  1553  }
  1554  
  1555  // Node describes a tablet instance within the cell
  1556  type ShardReplication_Node struct {
  1557  	state         protoimpl.MessageState
  1558  	sizeCache     protoimpl.SizeCache
  1559  	unknownFields protoimpl.UnknownFields
  1560  
  1561  	TabletAlias *TabletAlias `protobuf:"bytes,1,opt,name=tablet_alias,json=tabletAlias,proto3" json:"tablet_alias,omitempty"`
  1562  }
  1563  
  1564  func (x *ShardReplication_Node) Reset() {
  1565  	*x = ShardReplication_Node{}
  1566  	if protoimpl.UnsafeEnabled {
  1567  		mi := &file_topodata_proto_msgTypes[20]
  1568  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1569  		ms.StoreMessageInfo(mi)
  1570  	}
  1571  }
  1572  
  1573  func (x *ShardReplication_Node) String() string {
  1574  	return protoimpl.X.MessageStringOf(x)
  1575  }
  1576  
  1577  func (*ShardReplication_Node) ProtoMessage() {}
  1578  
  1579  func (x *ShardReplication_Node) ProtoReflect() protoreflect.Message {
  1580  	mi := &file_topodata_proto_msgTypes[20]
  1581  	if protoimpl.UnsafeEnabled && x != nil {
  1582  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1583  		if ms.LoadMessageInfo() == nil {
  1584  			ms.StoreMessageInfo(mi)
  1585  		}
  1586  		return ms
  1587  	}
  1588  	return mi.MessageOf(x)
  1589  }
  1590  
  1591  // Deprecated: Use ShardReplication_Node.ProtoReflect.Descriptor instead.
  1592  func (*ShardReplication_Node) Descriptor() ([]byte, []int) {
  1593  	return file_topodata_proto_rawDescGZIP(), []int{5, 0}
  1594  }
  1595  
  1596  func (x *ShardReplication_Node) GetTabletAlias() *TabletAlias {
  1597  	if x != nil {
  1598  		return x.TabletAlias
  1599  	}
  1600  	return nil
  1601  }
  1602  
  1603  type SrvKeyspace_KeyspacePartition struct {
  1604  	state         protoimpl.MessageState
  1605  	sizeCache     protoimpl.SizeCache
  1606  	unknownFields protoimpl.UnknownFields
  1607  
  1608  	// The type this partition applies to.
  1609  	ServedType TabletType `protobuf:"varint,1,opt,name=served_type,json=servedType,proto3,enum=topodata.TabletType" json:"served_type,omitempty"`
  1610  	// List of non-overlapping continuous shards sorted by range.
  1611  	ShardReferences []*ShardReference `protobuf:"bytes,2,rep,name=shard_references,json=shardReferences,proto3" json:"shard_references,omitempty"`
  1612  	// List of shard tablet controls
  1613  	ShardTabletControls []*ShardTabletControl `protobuf:"bytes,3,rep,name=shard_tablet_controls,json=shardTabletControls,proto3" json:"shard_tablet_controls,omitempty"`
  1614  }
  1615  
  1616  func (x *SrvKeyspace_KeyspacePartition) Reset() {
  1617  	*x = SrvKeyspace_KeyspacePartition{}
  1618  	if protoimpl.UnsafeEnabled {
  1619  		mi := &file_topodata_proto_msgTypes[21]
  1620  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1621  		ms.StoreMessageInfo(mi)
  1622  	}
  1623  }
  1624  
  1625  func (x *SrvKeyspace_KeyspacePartition) String() string {
  1626  	return protoimpl.X.MessageStringOf(x)
  1627  }
  1628  
  1629  func (*SrvKeyspace_KeyspacePartition) ProtoMessage() {}
  1630  
  1631  func (x *SrvKeyspace_KeyspacePartition) ProtoReflect() protoreflect.Message {
  1632  	mi := &file_topodata_proto_msgTypes[21]
  1633  	if protoimpl.UnsafeEnabled && x != nil {
  1634  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1635  		if ms.LoadMessageInfo() == nil {
  1636  			ms.StoreMessageInfo(mi)
  1637  		}
  1638  		return ms
  1639  	}
  1640  	return mi.MessageOf(x)
  1641  }
  1642  
  1643  // Deprecated: Use SrvKeyspace_KeyspacePartition.ProtoReflect.Descriptor instead.
  1644  func (*SrvKeyspace_KeyspacePartition) Descriptor() ([]byte, []int) {
  1645  	return file_topodata_proto_rawDescGZIP(), []int{9, 0}
  1646  }
  1647  
  1648  func (x *SrvKeyspace_KeyspacePartition) GetServedType() TabletType {
  1649  	if x != nil {
  1650  		return x.ServedType
  1651  	}
  1652  	return TabletType_UNKNOWN
  1653  }
  1654  
  1655  func (x *SrvKeyspace_KeyspacePartition) GetShardReferences() []*ShardReference {
  1656  	if x != nil {
  1657  		return x.ShardReferences
  1658  	}
  1659  	return nil
  1660  }
  1661  
  1662  func (x *SrvKeyspace_KeyspacePartition) GetShardTabletControls() []*ShardTabletControl {
  1663  	if x != nil {
  1664  		return x.ShardTabletControls
  1665  	}
  1666  	return nil
  1667  }
  1668  
  1669  // ServedFrom indicates a relationship between a TabletType and the
  1670  // keyspace name that's serving it.
  1671  type SrvKeyspace_ServedFrom struct {
  1672  	state         protoimpl.MessageState
  1673  	sizeCache     protoimpl.SizeCache
  1674  	unknownFields protoimpl.UnknownFields
  1675  
  1676  	// the tablet type
  1677  	TabletType TabletType `protobuf:"varint,1,opt,name=tablet_type,json=tabletType,proto3,enum=topodata.TabletType" json:"tablet_type,omitempty"`
  1678  	// the keyspace name that's serving it
  1679  	Keyspace string `protobuf:"bytes,2,opt,name=keyspace,proto3" json:"keyspace,omitempty"`
  1680  }
  1681  
  1682  func (x *SrvKeyspace_ServedFrom) Reset() {
  1683  	*x = SrvKeyspace_ServedFrom{}
  1684  	if protoimpl.UnsafeEnabled {
  1685  		mi := &file_topodata_proto_msgTypes[22]
  1686  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1687  		ms.StoreMessageInfo(mi)
  1688  	}
  1689  }
  1690  
  1691  func (x *SrvKeyspace_ServedFrom) String() string {
  1692  	return protoimpl.X.MessageStringOf(x)
  1693  }
  1694  
  1695  func (*SrvKeyspace_ServedFrom) ProtoMessage() {}
  1696  
  1697  func (x *SrvKeyspace_ServedFrom) ProtoReflect() protoreflect.Message {
  1698  	mi := &file_topodata_proto_msgTypes[22]
  1699  	if protoimpl.UnsafeEnabled && x != nil {
  1700  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1701  		if ms.LoadMessageInfo() == nil {
  1702  			ms.StoreMessageInfo(mi)
  1703  		}
  1704  		return ms
  1705  	}
  1706  	return mi.MessageOf(x)
  1707  }
  1708  
  1709  // Deprecated: Use SrvKeyspace_ServedFrom.ProtoReflect.Descriptor instead.
  1710  func (*SrvKeyspace_ServedFrom) Descriptor() ([]byte, []int) {
  1711  	return file_topodata_proto_rawDescGZIP(), []int{9, 1}
  1712  }
  1713  
  1714  func (x *SrvKeyspace_ServedFrom) GetTabletType() TabletType {
  1715  	if x != nil {
  1716  		return x.TabletType
  1717  	}
  1718  	return TabletType_UNKNOWN
  1719  }
  1720  
  1721  func (x *SrvKeyspace_ServedFrom) GetKeyspace() string {
  1722  	if x != nil {
  1723  		return x.Keyspace
  1724  	}
  1725  	return ""
  1726  }
  1727  
  1728  type SrvKeyspace_ThrottlerConfig struct {
  1729  	state         protoimpl.MessageState
  1730  	sizeCache     protoimpl.SizeCache
  1731  	unknownFields protoimpl.UnknownFields
  1732  
  1733  	// Enabled indicates that the throttler is actually checking state for requests. When disabled, it automatically returns 200 OK for all checks
  1734  	Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
  1735  	// Threshold is the threshold for either the default check (heartbeat lag) or custom check
  1736  	Threshold float64 `protobuf:"fixed64,2,opt,name=threshold,proto3" json:"threshold,omitempty"`
  1737  	// CustomQuery is an optional query that overrides the default check query
  1738  	CustomQuery string `protobuf:"bytes,3,opt,name=custom_query,json=customQuery,proto3" json:"custom_query,omitempty"`
  1739  	// CheckAsCheckSelf indicates whether a throttler /check request should behave like a /check-self
  1740  	CheckAsCheckSelf bool `protobuf:"varint,4,opt,name=check_as_check_self,json=checkAsCheckSelf,proto3" json:"check_as_check_self,omitempty"`
  1741  }
  1742  
  1743  func (x *SrvKeyspace_ThrottlerConfig) Reset() {
  1744  	*x = SrvKeyspace_ThrottlerConfig{}
  1745  	if protoimpl.UnsafeEnabled {
  1746  		mi := &file_topodata_proto_msgTypes[23]
  1747  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1748  		ms.StoreMessageInfo(mi)
  1749  	}
  1750  }
  1751  
  1752  func (x *SrvKeyspace_ThrottlerConfig) String() string {
  1753  	return protoimpl.X.MessageStringOf(x)
  1754  }
  1755  
  1756  func (*SrvKeyspace_ThrottlerConfig) ProtoMessage() {}
  1757  
  1758  func (x *SrvKeyspace_ThrottlerConfig) ProtoReflect() protoreflect.Message {
  1759  	mi := &file_topodata_proto_msgTypes[23]
  1760  	if protoimpl.UnsafeEnabled && x != nil {
  1761  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1762  		if ms.LoadMessageInfo() == nil {
  1763  			ms.StoreMessageInfo(mi)
  1764  		}
  1765  		return ms
  1766  	}
  1767  	return mi.MessageOf(x)
  1768  }
  1769  
  1770  // Deprecated: Use SrvKeyspace_ThrottlerConfig.ProtoReflect.Descriptor instead.
  1771  func (*SrvKeyspace_ThrottlerConfig) Descriptor() ([]byte, []int) {
  1772  	return file_topodata_proto_rawDescGZIP(), []int{9, 2}
  1773  }
  1774  
  1775  func (x *SrvKeyspace_ThrottlerConfig) GetEnabled() bool {
  1776  	if x != nil {
  1777  		return x.Enabled
  1778  	}
  1779  	return false
  1780  }
  1781  
  1782  func (x *SrvKeyspace_ThrottlerConfig) GetThreshold() float64 {
  1783  	if x != nil {
  1784  		return x.Threshold
  1785  	}
  1786  	return 0
  1787  }
  1788  
  1789  func (x *SrvKeyspace_ThrottlerConfig) GetCustomQuery() string {
  1790  	if x != nil {
  1791  		return x.CustomQuery
  1792  	}
  1793  	return ""
  1794  }
  1795  
  1796  func (x *SrvKeyspace_ThrottlerConfig) GetCheckAsCheckSelf() bool {
  1797  	if x != nil {
  1798  		return x.CheckAsCheckSelf
  1799  	}
  1800  	return false
  1801  }
  1802  
  1803  var File_topodata_proto protoreflect.FileDescriptor
  1804  
  1805  var file_topodata_proto_rawDesc = []byte{
  1806  	0x0a, 0x0e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  1807  	0x12, 0x08, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x0c, 0x76, 0x74, 0x74, 0x69,
  1808  	0x6d, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x32, 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x52,
  1809  	0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20,
  1810  	0x01, 0x28, 0x0c, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e,
  1811  	0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x33, 0x0a, 0x0b,
  1812  	0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x63,
  1813  	0x65, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6c, 0x6c, 0x12,
  1814  	0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x75, 0x69,
  1815  	0x64, 0x22, 0xe0, 0x05, 0x0a, 0x06, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x12, 0x2b, 0x0a, 0x05,
  1816  	0x61, 0x6c, 0x69, 0x61, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f,
  1817  	0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69,
  1818  	0x61, 0x73, 0x52, 0x05, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73,
  1819  	0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73,
  1820  	0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x08, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x61,
  1821  	0x70, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
  1822  	0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x4d, 0x61,
  1823  	0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x61, 0x70, 0x12,
  1824  	0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
  1825  	0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73,
  1826  	0x68, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72,
  1827  	0x64, 0x12, 0x2f, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x07,
  1828  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
  1829  	0x4b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x52, 0x61, 0x6e,
  1830  	0x67, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e,
  1831  	0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c,
  1832  	0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x10,
  1833  	0x64, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65,
  1834  	0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x4f, 0x76,
  1835  	0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0a,
  1836  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
  1837  	0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
  1838  	0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f,
  1839  	0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
  1840  	0x6d, 0x79, 0x73, 0x71, 0x6c, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a,
  1841  	0x0a, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28,
  1842  	0x05, 0x52, 0x09, 0x6d, 0x79, 0x73, 0x71, 0x6c, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x43, 0x0a, 0x17,
  1843  	0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x5f, 0x73, 0x74, 0x61,
  1844  	0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e,
  1845  	0x76, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x14, 0x70, 0x72, 0x69,
  1846  	0x6d, 0x61, 0x72, 0x79, 0x54, 0x65, 0x72, 0x6d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d,
  1847  	0x65, 0x12, 0x2a, 0x0a, 0x11, 0x64, 0x62, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x76,
  1848  	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x62,
  1849  	0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a,
  1850  	0x16, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x5f, 0x63, 0x6f,
  1851  	0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x64,
  1852  	0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x43, 0x6f, 0x6c, 0x6c, 0x61, 0x74,
  1853  	0x69, 0x6f, 0x6e, 0x1a, 0x3a, 0x0a, 0x0c, 0x50, 0x6f, 0x72, 0x74, 0x4d, 0x61, 0x70, 0x45, 0x6e,
  1854  	0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  1855  	0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
  1856  	0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
  1857  	0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
  1858  	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
  1859  	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
  1860  	0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04,
  1861  	0x08, 0x0b, 0x10, 0x0c, 0x22, 0xbc, 0x05, 0x0a, 0x05, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x3a,
  1862  	0x0a, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18,
  1863  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
  1864  	0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0c, 0x70, 0x72,
  1865  	0x69, 0x6d, 0x61, 0x72, 0x79, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x43, 0x0a, 0x17, 0x70, 0x72,
  1866  	0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74,
  1867  	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74,
  1868  	0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x14, 0x70, 0x72, 0x69, 0x6d, 0x61,
  1869  	0x72, 0x79, 0x54, 0x65, 0x72, 0x6d, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12,
  1870  	0x2f, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01,
  1871  	0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65,
  1872  	0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65,
  1873  	0x12, 0x40, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x64,
  1874  	0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
  1875  	0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53,
  1876  	0x68, 0x61, 0x72, 0x64, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72,
  1877  	0x64, 0x73, 0x12, 0x46, 0x0a, 0x0f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e,
  1878  	0x74, 0x72, 0x6f, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x6f,
  1879  	0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x2e, 0x54, 0x61, 0x62,
  1880  	0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x6c,
  1881  	0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73,
  1882  	0x5f, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67,
  1883  	0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72,
  1884  	0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x1a, 0x9a, 0x01, 0x0a, 0x0b, 0x53, 0x6f, 0x75,
  1885  	0x72, 0x63, 0x65, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18,
  1886  	0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65,
  1887  	0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65,
  1888  	0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x18,
  1889  	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x68, 0x61, 0x72, 0x64, 0x12, 0x2f, 0x0a, 0x09,
  1890  	0x6b, 0x65, 0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1891  	0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x61,
  1892  	0x6e, 0x67, 0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x16, 0x0a,
  1893  	0x06, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74,
  1894  	0x61, 0x62, 0x6c, 0x65, 0x73, 0x1a, 0x9f, 0x01, 0x0a, 0x0d, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74,
  1895  	0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x35, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65,
  1896  	0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74,
  1897  	0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79,
  1898  	0x70, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14,
  1899  	0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63,
  1900  	0x65, 0x6c, 0x6c, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x5f, 0x74,
  1901  	0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x6e,
  1902  	0x69, 0x65, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x6f,
  1903  	0x7a, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x66, 0x72, 0x6f, 0x7a, 0x65,
  1904  	0x6e, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08,
  1905  	0x05, 0x10, 0x06, 0x22, 0x97, 0x03, 0x0a, 0x08, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
  1906  	0x12, 0x40, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x73,
  1907  	0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
  1908  	0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65,
  1909  	0x64, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x46, 0x72, 0x6f,
  1910  	0x6d, 0x73, 0x12, 0x3b, 0x0a, 0x0d, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x74,
  1911  	0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x74, 0x6f, 0x70, 0x6f,
  1912  	0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70,
  1913  	0x65, 0x52, 0x0c, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12,
  1914  	0x23, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
  1915  	0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x4b, 0x65, 0x79, 0x73,
  1916  	0x70, 0x61, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74,
  1917  	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x76, 0x74,
  1918  	0x74, 0x69, 0x6d, 0x65, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73,
  1919  	0x68, 0x6f, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x75, 0x72, 0x61, 0x62,
  1920  	0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x08, 0x20, 0x01,
  1921  	0x28, 0x09, 0x52, 0x10, 0x64, 0x75, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x6f,
  1922  	0x6c, 0x69, 0x63, 0x79, 0x1a, 0x75, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x64, 0x46, 0x72,
  1923  	0x6f, 0x6d, 0x12, 0x35, 0x0a, 0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70,
  1924  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
  1925  	0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x74,
  1926  	0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x65, 0x6c,
  1927  	0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12,
  1928  	0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
  1929  	0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10,
  1930  	0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x8b, 0x01,
  1931  	0x0a, 0x10, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
  1932  	0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
  1933  	0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61,
  1934  	0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4e, 0x6f,
  1935  	0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x1a, 0x40, 0x0a, 0x04, 0x4e, 0x6f, 0x64,
  1936  	0x65, 0x12, 0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61,
  1937  	0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61,
  1938  	0x74, 0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b,
  1939  	0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0xc6, 0x01, 0x0a, 0x15,
  1940  	0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  1941  	0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x38, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
  1942  	0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53,
  1943  	0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45,
  1944  	0x72, 0x72, 0x6f, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12,
  1945  	0x38, 0x0a, 0x0c, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x18,
  1946  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61,
  1947  	0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x0b, 0x74, 0x61,
  1948  	0x62, 0x6c, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x22, 0x39, 0x0a, 0x04, 0x54, 0x79, 0x70,
  1949  	0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0d,
  1950  	0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x15, 0x0a,
  1951  	0x11, 0x54, 0x4f, 0x50, 0x4f, 0x4c, 0x4f, 0x47, 0x59, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54,
  1952  	0x43, 0x48, 0x10, 0x02, 0x22, 0x55, 0x0a, 0x0e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x52, 0x65, 0x66,
  1953  	0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
  1954  	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x6b, 0x65,
  1955  	0x79, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
  1956  	0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67,
  1957  	0x65, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x8f, 0x01, 0x0a, 0x12,
  1958  	0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72,
  1959  	0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  1960  	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x61,
  1961  	0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x74, 0x6f, 0x70, 0x6f,
  1962  	0x64, 0x61, 0x74, 0x61, 0x2e, 0x4b, 0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x08, 0x6b,
  1963  	0x65, 0x79, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x71, 0x75, 0x65, 0x72, 0x79,
  1964  	0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
  1965  	0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x71, 0x75, 0x65, 0x72, 0x79, 0x53, 0x65,
  1966  	0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xe0, 0x05,
  1967  	0x0a, 0x0b, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x47, 0x0a,
  1968  	0x0a, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
  1969  	0x0b, 0x32, 0x27, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x72, 0x76,
  1970  	0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63,
  1971  	0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74,
  1972  	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64,
  1973  	0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x6f,
  1974  	0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61,
  1975  	0x63, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x0a, 0x73,
  1976  	0x65, 0x72, 0x76, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x50, 0x0a, 0x10, 0x74, 0x68, 0x72,
  1977  	0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20,
  1978  	0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53,
  1979  	0x72, 0x76, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x54, 0x68, 0x72, 0x6f, 0x74,
  1980  	0x74, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x74, 0x68, 0x72, 0x6f,
  1981  	0x74, 0x74, 0x6c, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xe1, 0x01, 0x0a, 0x11,
  1982  	0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f,
  1983  	0x6e, 0x12, 0x35, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65,
  1984  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
  1985  	0x61, 0x2e, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x73, 0x65,
  1986  	0x72, 0x76, 0x65, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x10, 0x73, 0x68, 0x61, 0x72,
  1987  	0x64, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
  1988  	0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68,
  1989  	0x61, 0x72, 0x64, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0f, 0x73, 0x68,
  1990  	0x61, 0x72, 0x64, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x50, 0x0a,
  1991  	0x15, 0x73, 0x68, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x63, 0x6f,
  1992  	0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x74,
  1993  	0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62,
  1994  	0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x13, 0x73, 0x68, 0x61, 0x72,
  1995  	0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x1a,
  1996  	0x5f, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x35, 0x0a,
  1997  	0x0b, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
  1998  	0x28, 0x0e, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x61,
  1999  	0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x74,
  2000  	0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
  2001  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
  2002  	0x1a, 0x9b, 0x01, 0x0a, 0x0f, 0x54, 0x68, 0x72, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x72, 0x43, 0x6f,
  2003  	0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18,
  2004  	0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1c,
  2005  	0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
  2006  	0x01, 0x52, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x12, 0x21, 0x0a, 0x0c,
  2007  	0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01,
  2008  	0x28, 0x09, 0x52, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12,
  2009  	0x2d, 0x0a, 0x13, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x61, 0x73, 0x5f, 0x63, 0x68, 0x65, 0x63,
  2010  	0x6b, 0x5f, 0x73, 0x65, 0x6c, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x63, 0x68,
  2011  	0x65, 0x63, 0x6b, 0x41, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x6c, 0x66, 0x4a, 0x04,
  2012  	0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06,
  2013  	0x22, 0x4b, 0x0a, 0x08, 0x43, 0x65, 0x6c, 0x6c, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x0e,
  2014  	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01,
  2015  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72,
  2016  	0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
  2017  	0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x22, 0x22, 0x0a,
  2018  	0x0a, 0x43, 0x65, 0x6c, 0x6c, 0x73, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63,
  2019  	0x65, 0x6c, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x63, 0x65, 0x6c, 0x6c,
  2020  	0x73, 0x22, 0x55, 0x0a, 0x0a, 0x54, 0x6f, 0x70, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
  2021  	0x1b, 0x0a, 0x09, 0x74, 0x6f, 0x70, 0x6f, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01,
  2022  	0x28, 0x09, 0x52, 0x08, 0x74, 0x6f, 0x70, 0x6f, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06,
  2023  	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65,
  2024  	0x72, 0x76, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01,
  2025  	0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6f, 0x74, 0x22, 0x4e, 0x0a, 0x15, 0x45, 0x78, 0x74, 0x65,
  2026  	0x72, 0x6e, 0x61, 0x6c, 0x56, 0x69, 0x74, 0x65, 0x73, 0x73, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65,
  2027  	0x72, 0x12, 0x35, 0x0a, 0x0b, 0x74, 0x6f, 0x70, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
  2028  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74,
  2029  	0x61, 0x2e, 0x54, 0x6f, 0x70, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x74, 0x6f,
  2030  	0x70, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x5a, 0x0a, 0x10, 0x45, 0x78, 0x74, 0x65,
  2031  	0x72, 0x6e, 0x61, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x46, 0x0a, 0x0e,
  2032  	0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01,
  2033  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x2e,
  2034  	0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x56, 0x69, 0x74, 0x65, 0x73, 0x73, 0x43, 0x6c,
  2035  	0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0d, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x43, 0x6c, 0x75,
  2036  	0x73, 0x74, 0x65, 0x72, 0x2a, 0x28, 0x0a, 0x0c, 0x4b, 0x65, 0x79, 0x73, 0x70, 0x61, 0x63, 0x65,
  2037  	0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x00,
  2038  	0x12, 0x0c, 0x0a, 0x08, 0x53, 0x4e, 0x41, 0x50, 0x53, 0x48, 0x4f, 0x54, 0x10, 0x01, 0x2a, 0x9d,
  2039  	0x01, 0x0a, 0x0a, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a,
  2040  	0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x52,
  2041  	0x49, 0x4d, 0x41, 0x52, 0x59, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x41, 0x53, 0x54, 0x45,
  2042  	0x52, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x10, 0x02,
  2043  	0x12, 0x0a, 0x0a, 0x06, 0x52, 0x44, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05,
  2044  	0x42, 0x41, 0x54, 0x43, 0x48, 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x53, 0x50, 0x41, 0x52, 0x45,
  2045  	0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x58, 0x50, 0x45, 0x52, 0x49, 0x4d, 0x45, 0x4e, 0x54,
  2046  	0x41, 0x4c, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x41, 0x43, 0x4b, 0x55, 0x50, 0x10, 0x06,
  2047  	0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x10, 0x07, 0x12, 0x0b, 0x0a,
  2048  	0x07, 0x44, 0x52, 0x41, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x08, 0x1a, 0x02, 0x10, 0x01, 0x42, 0x38,
  2049  	0x0a, 0x0f, 0x69, 0x6f, 0x2e, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  2050  	0x6f, 0x5a, 0x25, 0x76, 0x69, 0x74, 0x65, 0x73, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x69, 0x74,
  2051  	0x65, 0x73, 0x73, 0x2f, 0x67, 0x6f, 0x2f, 0x76, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
  2052  	0x74, 0x6f, 0x70, 0x6f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  2053  }
  2054  
  2055  var (
  2056  	file_topodata_proto_rawDescOnce sync.Once
  2057  	file_topodata_proto_rawDescData = file_topodata_proto_rawDesc
  2058  )
  2059  
  2060  func file_topodata_proto_rawDescGZIP() []byte {
  2061  	file_topodata_proto_rawDescOnce.Do(func() {
  2062  		file_topodata_proto_rawDescData = protoimpl.X.CompressGZIP(file_topodata_proto_rawDescData)
  2063  	})
  2064  	return file_topodata_proto_rawDescData
  2065  }
  2066  
  2067  var file_topodata_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
  2068  var file_topodata_proto_msgTypes = make([]protoimpl.MessageInfo, 24)
  2069  var file_topodata_proto_goTypes = []interface{}{
  2070  	(KeyspaceType)(0),                     // 0: topodata.KeyspaceType
  2071  	(TabletType)(0),                       // 1: topodata.TabletType
  2072  	(ShardReplicationError_Type)(0),       // 2: topodata.ShardReplicationError.Type
  2073  	(*KeyRange)(nil),                      // 3: topodata.KeyRange
  2074  	(*TabletAlias)(nil),                   // 4: topodata.TabletAlias
  2075  	(*Tablet)(nil),                        // 5: topodata.Tablet
  2076  	(*Shard)(nil),                         // 6: topodata.Shard
  2077  	(*Keyspace)(nil),                      // 7: topodata.Keyspace
  2078  	(*ShardReplication)(nil),              // 8: topodata.ShardReplication
  2079  	(*ShardReplicationError)(nil),         // 9: topodata.ShardReplicationError
  2080  	(*ShardReference)(nil),                // 10: topodata.ShardReference
  2081  	(*ShardTabletControl)(nil),            // 11: topodata.ShardTabletControl
  2082  	(*SrvKeyspace)(nil),                   // 12: topodata.SrvKeyspace
  2083  	(*CellInfo)(nil),                      // 13: topodata.CellInfo
  2084  	(*CellsAlias)(nil),                    // 14: topodata.CellsAlias
  2085  	(*TopoConfig)(nil),                    // 15: topodata.TopoConfig
  2086  	(*ExternalVitessCluster)(nil),         // 16: topodata.ExternalVitessCluster
  2087  	(*ExternalClusters)(nil),              // 17: topodata.ExternalClusters
  2088  	nil,                                   // 18: topodata.Tablet.PortMapEntry
  2089  	nil,                                   // 19: topodata.Tablet.TagsEntry
  2090  	(*Shard_SourceShard)(nil),             // 20: topodata.Shard.SourceShard
  2091  	(*Shard_TabletControl)(nil),           // 21: topodata.Shard.TabletControl
  2092  	(*Keyspace_ServedFrom)(nil),           // 22: topodata.Keyspace.ServedFrom
  2093  	(*ShardReplication_Node)(nil),         // 23: topodata.ShardReplication.Node
  2094  	(*SrvKeyspace_KeyspacePartition)(nil), // 24: topodata.SrvKeyspace.KeyspacePartition
  2095  	(*SrvKeyspace_ServedFrom)(nil),        // 25: topodata.SrvKeyspace.ServedFrom
  2096  	(*SrvKeyspace_ThrottlerConfig)(nil),   // 26: topodata.SrvKeyspace.ThrottlerConfig
  2097  	(*vttime.Time)(nil),                   // 27: vttime.Time
  2098  }
  2099  var file_topodata_proto_depIdxs = []int32{
  2100  	4,  // 0: topodata.Tablet.alias:type_name -> topodata.TabletAlias
  2101  	18, // 1: topodata.Tablet.port_map:type_name -> topodata.Tablet.PortMapEntry
  2102  	3,  // 2: topodata.Tablet.key_range:type_name -> topodata.KeyRange
  2103  	1,  // 3: topodata.Tablet.type:type_name -> topodata.TabletType
  2104  	19, // 4: topodata.Tablet.tags:type_name -> topodata.Tablet.TagsEntry
  2105  	27, // 5: topodata.Tablet.primary_term_start_time:type_name -> vttime.Time
  2106  	4,  // 6: topodata.Shard.primary_alias:type_name -> topodata.TabletAlias
  2107  	27, // 7: topodata.Shard.primary_term_start_time:type_name -> vttime.Time
  2108  	3,  // 8: topodata.Shard.key_range:type_name -> topodata.KeyRange
  2109  	20, // 9: topodata.Shard.source_shards:type_name -> topodata.Shard.SourceShard
  2110  	21, // 10: topodata.Shard.tablet_controls:type_name -> topodata.Shard.TabletControl
  2111  	22, // 11: topodata.Keyspace.served_froms:type_name -> topodata.Keyspace.ServedFrom
  2112  	0,  // 12: topodata.Keyspace.keyspace_type:type_name -> topodata.KeyspaceType
  2113  	27, // 13: topodata.Keyspace.snapshot_time:type_name -> vttime.Time
  2114  	23, // 14: topodata.ShardReplication.nodes:type_name -> topodata.ShardReplication.Node
  2115  	2,  // 15: topodata.ShardReplicationError.type:type_name -> topodata.ShardReplicationError.Type
  2116  	4,  // 16: topodata.ShardReplicationError.tablet_alias:type_name -> topodata.TabletAlias
  2117  	3,  // 17: topodata.ShardReference.key_range:type_name -> topodata.KeyRange
  2118  	3,  // 18: topodata.ShardTabletControl.key_range:type_name -> topodata.KeyRange
  2119  	24, // 19: topodata.SrvKeyspace.partitions:type_name -> topodata.SrvKeyspace.KeyspacePartition
  2120  	25, // 20: topodata.SrvKeyspace.served_from:type_name -> topodata.SrvKeyspace.ServedFrom
  2121  	26, // 21: topodata.SrvKeyspace.throttler_config:type_name -> topodata.SrvKeyspace.ThrottlerConfig
  2122  	15, // 22: topodata.ExternalVitessCluster.topo_config:type_name -> topodata.TopoConfig
  2123  	16, // 23: topodata.ExternalClusters.vitess_cluster:type_name -> topodata.ExternalVitessCluster
  2124  	3,  // 24: topodata.Shard.SourceShard.key_range:type_name -> topodata.KeyRange
  2125  	1,  // 25: topodata.Shard.TabletControl.tablet_type:type_name -> topodata.TabletType
  2126  	1,  // 26: topodata.Keyspace.ServedFrom.tablet_type:type_name -> topodata.TabletType
  2127  	4,  // 27: topodata.ShardReplication.Node.tablet_alias:type_name -> topodata.TabletAlias
  2128  	1,  // 28: topodata.SrvKeyspace.KeyspacePartition.served_type:type_name -> topodata.TabletType
  2129  	10, // 29: topodata.SrvKeyspace.KeyspacePartition.shard_references:type_name -> topodata.ShardReference
  2130  	11, // 30: topodata.SrvKeyspace.KeyspacePartition.shard_tablet_controls:type_name -> topodata.ShardTabletControl
  2131  	1,  // 31: topodata.SrvKeyspace.ServedFrom.tablet_type:type_name -> topodata.TabletType
  2132  	32, // [32:32] is the sub-list for method output_type
  2133  	32, // [32:32] is the sub-list for method input_type
  2134  	32, // [32:32] is the sub-list for extension type_name
  2135  	32, // [32:32] is the sub-list for extension extendee
  2136  	0,  // [0:32] is the sub-list for field type_name
  2137  }
  2138  
  2139  func init() { file_topodata_proto_init() }
  2140  func file_topodata_proto_init() {
  2141  	if File_topodata_proto != nil {
  2142  		return
  2143  	}
  2144  	if !protoimpl.UnsafeEnabled {
  2145  		file_topodata_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  2146  			switch v := v.(*KeyRange); i {
  2147  			case 0:
  2148  				return &v.state
  2149  			case 1:
  2150  				return &v.sizeCache
  2151  			case 2:
  2152  				return &v.unknownFields
  2153  			default:
  2154  				return nil
  2155  			}
  2156  		}
  2157  		file_topodata_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  2158  			switch v := v.(*TabletAlias); i {
  2159  			case 0:
  2160  				return &v.state
  2161  			case 1:
  2162  				return &v.sizeCache
  2163  			case 2:
  2164  				return &v.unknownFields
  2165  			default:
  2166  				return nil
  2167  			}
  2168  		}
  2169  		file_topodata_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  2170  			switch v := v.(*Tablet); 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[3].Exporter = func(v interface{}, i int) interface{} {
  2182  			switch v := v.(*Shard); 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[4].Exporter = func(v interface{}, i int) interface{} {
  2194  			switch v := v.(*Keyspace); 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[5].Exporter = func(v interface{}, i int) interface{} {
  2206  			switch v := v.(*ShardReplication); 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[6].Exporter = func(v interface{}, i int) interface{} {
  2218  			switch v := v.(*ShardReplicationError); 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[7].Exporter = func(v interface{}, i int) interface{} {
  2230  			switch v := v.(*ShardReference); 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[8].Exporter = func(v interface{}, i int) interface{} {
  2242  			switch v := v.(*ShardTabletControl); 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[9].Exporter = func(v interface{}, i int) interface{} {
  2254  			switch v := v.(*SrvKeyspace); 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[10].Exporter = func(v interface{}, i int) interface{} {
  2266  			switch v := v.(*CellInfo); 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[11].Exporter = func(v interface{}, i int) interface{} {
  2278  			switch v := v.(*CellsAlias); 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[12].Exporter = func(v interface{}, i int) interface{} {
  2290  			switch v := v.(*TopoConfig); 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[13].Exporter = func(v interface{}, i int) interface{} {
  2302  			switch v := v.(*ExternalVitessCluster); 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[14].Exporter = func(v interface{}, i int) interface{} {
  2314  			switch v := v.(*ExternalClusters); 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[17].Exporter = func(v interface{}, i int) interface{} {
  2326  			switch v := v.(*Shard_SourceShard); 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[18].Exporter = func(v interface{}, i int) interface{} {
  2338  			switch v := v.(*Shard_TabletControl); 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[19].Exporter = func(v interface{}, i int) interface{} {
  2350  			switch v := v.(*Keyspace_ServedFrom); 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[20].Exporter = func(v interface{}, i int) interface{} {
  2362  			switch v := v.(*ShardReplication_Node); 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[21].Exporter = func(v interface{}, i int) interface{} {
  2374  			switch v := v.(*SrvKeyspace_KeyspacePartition); 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[22].Exporter = func(v interface{}, i int) interface{} {
  2386  			switch v := v.(*SrvKeyspace_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[23].Exporter = func(v interface{}, i int) interface{} {
  2398  			switch v := v.(*SrvKeyspace_ThrottlerConfig); 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  	}
  2410  	type x struct{}
  2411  	out := protoimpl.TypeBuilder{
  2412  		File: protoimpl.DescBuilder{
  2413  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  2414  			RawDescriptor: file_topodata_proto_rawDesc,
  2415  			NumEnums:      3,
  2416  			NumMessages:   24,
  2417  			NumExtensions: 0,
  2418  			NumServices:   0,
  2419  		},
  2420  		GoTypes:           file_topodata_proto_goTypes,
  2421  		DependencyIndexes: file_topodata_proto_depIdxs,
  2422  		EnumInfos:         file_topodata_proto_enumTypes,
  2423  		MessageInfos:      file_topodata_proto_msgTypes,
  2424  	}.Build()
  2425  	File_topodata_proto = out.File
  2426  	file_topodata_proto_rawDesc = nil
  2427  	file_topodata_proto_goTypes = nil
  2428  	file_topodata_proto_depIdxs = nil
  2429  }