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