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