github.com/GoogleCloudPlatform/testgrid@v0.0.174/pb/api/v1/data.pb.go (about) 1 /* 2 Copyright The TestGrid 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 17 // Code generated by protoc-gen-go. DO NOT EDIT. 18 // versions: 19 // protoc-gen-go v1.28.0 20 // protoc v3.21.1 21 // source: data.proto 22 23 package v1 24 25 import ( 26 context "context" 27 config "github.com/GoogleCloudPlatform/testgrid/pb/config" 28 state "github.com/GoogleCloudPlatform/testgrid/pb/state" 29 summary "github.com/GoogleCloudPlatform/testgrid/pb/summary" 30 grpc "google.golang.org/grpc" 31 codes "google.golang.org/grpc/codes" 32 status "google.golang.org/grpc/status" 33 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 34 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 35 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 36 reflect "reflect" 37 sync "sync" 38 ) 39 40 const ( 41 // Verify that this generated code is sufficiently up-to-date. 42 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 43 // Verify that runtime/protoimpl is sufficiently up-to-date. 44 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 45 ) 46 47 type ListDashboardsRequest struct { 48 state protoimpl.MessageState 49 sizeCache protoimpl.SizeCache 50 unknownFields protoimpl.UnknownFields 51 52 Scope string `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"` 53 } 54 55 func (x *ListDashboardsRequest) Reset() { 56 *x = ListDashboardsRequest{} 57 if protoimpl.UnsafeEnabled { 58 mi := &file_data_proto_msgTypes[0] 59 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 60 ms.StoreMessageInfo(mi) 61 } 62 } 63 64 func (x *ListDashboardsRequest) String() string { 65 return protoimpl.X.MessageStringOf(x) 66 } 67 68 func (*ListDashboardsRequest) ProtoMessage() {} 69 70 func (x *ListDashboardsRequest) ProtoReflect() protoreflect.Message { 71 mi := &file_data_proto_msgTypes[0] 72 if protoimpl.UnsafeEnabled && x != nil { 73 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 74 if ms.LoadMessageInfo() == nil { 75 ms.StoreMessageInfo(mi) 76 } 77 return ms 78 } 79 return mi.MessageOf(x) 80 } 81 82 // Deprecated: Use ListDashboardsRequest.ProtoReflect.Descriptor instead. 83 func (*ListDashboardsRequest) Descriptor() ([]byte, []int) { 84 return file_data_proto_rawDescGZIP(), []int{0} 85 } 86 87 func (x *ListDashboardsRequest) GetScope() string { 88 if x != nil { 89 return x.Scope 90 } 91 return "" 92 } 93 94 type ListDashboardsResponse struct { 95 state protoimpl.MessageState 96 sizeCache protoimpl.SizeCache 97 unknownFields protoimpl.UnknownFields 98 99 Dashboards []*DashboardResource `protobuf:"bytes,1,rep,name=dashboards,proto3" json:"dashboards,omitempty"` 100 } 101 102 func (x *ListDashboardsResponse) Reset() { 103 *x = ListDashboardsResponse{} 104 if protoimpl.UnsafeEnabled { 105 mi := &file_data_proto_msgTypes[1] 106 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 107 ms.StoreMessageInfo(mi) 108 } 109 } 110 111 func (x *ListDashboardsResponse) String() string { 112 return protoimpl.X.MessageStringOf(x) 113 } 114 115 func (*ListDashboardsResponse) ProtoMessage() {} 116 117 func (x *ListDashboardsResponse) ProtoReflect() protoreflect.Message { 118 mi := &file_data_proto_msgTypes[1] 119 if protoimpl.UnsafeEnabled && x != nil { 120 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 121 if ms.LoadMessageInfo() == nil { 122 ms.StoreMessageInfo(mi) 123 } 124 return ms 125 } 126 return mi.MessageOf(x) 127 } 128 129 // Deprecated: Use ListDashboardsResponse.ProtoReflect.Descriptor instead. 130 func (*ListDashboardsResponse) Descriptor() ([]byte, []int) { 131 return file_data_proto_rawDescGZIP(), []int{1} 132 } 133 134 func (x *ListDashboardsResponse) GetDashboards() []*DashboardResource { 135 if x != nil { 136 return x.Dashboards 137 } 138 return nil 139 } 140 141 type ListDashboardGroupsRequest struct { 142 state protoimpl.MessageState 143 sizeCache protoimpl.SizeCache 144 unknownFields protoimpl.UnknownFields 145 146 Scope string `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"` 147 } 148 149 func (x *ListDashboardGroupsRequest) Reset() { 150 *x = ListDashboardGroupsRequest{} 151 if protoimpl.UnsafeEnabled { 152 mi := &file_data_proto_msgTypes[2] 153 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 154 ms.StoreMessageInfo(mi) 155 } 156 } 157 158 func (x *ListDashboardGroupsRequest) String() string { 159 return protoimpl.X.MessageStringOf(x) 160 } 161 162 func (*ListDashboardGroupsRequest) ProtoMessage() {} 163 164 func (x *ListDashboardGroupsRequest) ProtoReflect() protoreflect.Message { 165 mi := &file_data_proto_msgTypes[2] 166 if protoimpl.UnsafeEnabled && x != nil { 167 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 168 if ms.LoadMessageInfo() == nil { 169 ms.StoreMessageInfo(mi) 170 } 171 return ms 172 } 173 return mi.MessageOf(x) 174 } 175 176 // Deprecated: Use ListDashboardGroupsRequest.ProtoReflect.Descriptor instead. 177 func (*ListDashboardGroupsRequest) Descriptor() ([]byte, []int) { 178 return file_data_proto_rawDescGZIP(), []int{2} 179 } 180 181 func (x *ListDashboardGroupsRequest) GetScope() string { 182 if x != nil { 183 return x.Scope 184 } 185 return "" 186 } 187 188 type ListDashboardGroupsResponse struct { 189 state protoimpl.MessageState 190 sizeCache protoimpl.SizeCache 191 unknownFields protoimpl.UnknownFields 192 193 DashboardGroups []*Resource `protobuf:"bytes,1,rep,name=dashboard_groups,json=dashboardGroups,proto3" json:"dashboard_groups,omitempty"` 194 } 195 196 func (x *ListDashboardGroupsResponse) Reset() { 197 *x = ListDashboardGroupsResponse{} 198 if protoimpl.UnsafeEnabled { 199 mi := &file_data_proto_msgTypes[3] 200 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 201 ms.StoreMessageInfo(mi) 202 } 203 } 204 205 func (x *ListDashboardGroupsResponse) String() string { 206 return protoimpl.X.MessageStringOf(x) 207 } 208 209 func (*ListDashboardGroupsResponse) ProtoMessage() {} 210 211 func (x *ListDashboardGroupsResponse) ProtoReflect() protoreflect.Message { 212 mi := &file_data_proto_msgTypes[3] 213 if protoimpl.UnsafeEnabled && x != nil { 214 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 215 if ms.LoadMessageInfo() == nil { 216 ms.StoreMessageInfo(mi) 217 } 218 return ms 219 } 220 return mi.MessageOf(x) 221 } 222 223 // Deprecated: Use ListDashboardGroupsResponse.ProtoReflect.Descriptor instead. 224 func (*ListDashboardGroupsResponse) Descriptor() ([]byte, []int) { 225 return file_data_proto_rawDescGZIP(), []int{3} 226 } 227 228 func (x *ListDashboardGroupsResponse) GetDashboardGroups() []*Resource { 229 if x != nil { 230 return x.DashboardGroups 231 } 232 return nil 233 } 234 235 type ListDashboardTabsRequest struct { 236 state protoimpl.MessageState 237 sizeCache protoimpl.SizeCache 238 unknownFields protoimpl.UnknownFields 239 240 Scope string `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"` 241 Dashboard string `protobuf:"bytes,2,opt,name=dashboard,proto3" json:"dashboard,omitempty"` 242 } 243 244 func (x *ListDashboardTabsRequest) Reset() { 245 *x = ListDashboardTabsRequest{} 246 if protoimpl.UnsafeEnabled { 247 mi := &file_data_proto_msgTypes[4] 248 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 249 ms.StoreMessageInfo(mi) 250 } 251 } 252 253 func (x *ListDashboardTabsRequest) String() string { 254 return protoimpl.X.MessageStringOf(x) 255 } 256 257 func (*ListDashboardTabsRequest) ProtoMessage() {} 258 259 func (x *ListDashboardTabsRequest) ProtoReflect() protoreflect.Message { 260 mi := &file_data_proto_msgTypes[4] 261 if protoimpl.UnsafeEnabled && x != nil { 262 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 263 if ms.LoadMessageInfo() == nil { 264 ms.StoreMessageInfo(mi) 265 } 266 return ms 267 } 268 return mi.MessageOf(x) 269 } 270 271 // Deprecated: Use ListDashboardTabsRequest.ProtoReflect.Descriptor instead. 272 func (*ListDashboardTabsRequest) Descriptor() ([]byte, []int) { 273 return file_data_proto_rawDescGZIP(), []int{4} 274 } 275 276 func (x *ListDashboardTabsRequest) GetScope() string { 277 if x != nil { 278 return x.Scope 279 } 280 return "" 281 } 282 283 func (x *ListDashboardTabsRequest) GetDashboard() string { 284 if x != nil { 285 return x.Dashboard 286 } 287 return "" 288 } 289 290 type ListDashboardTabsResponse struct { 291 state protoimpl.MessageState 292 sizeCache protoimpl.SizeCache 293 unknownFields protoimpl.UnknownFields 294 295 DashboardTabs []*Resource `protobuf:"bytes,1,rep,name=dashboard_tabs,json=dashboardTabs,proto3" json:"dashboard_tabs,omitempty"` 296 } 297 298 func (x *ListDashboardTabsResponse) Reset() { 299 *x = ListDashboardTabsResponse{} 300 if protoimpl.UnsafeEnabled { 301 mi := &file_data_proto_msgTypes[5] 302 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 303 ms.StoreMessageInfo(mi) 304 } 305 } 306 307 func (x *ListDashboardTabsResponse) String() string { 308 return protoimpl.X.MessageStringOf(x) 309 } 310 311 func (*ListDashboardTabsResponse) ProtoMessage() {} 312 313 func (x *ListDashboardTabsResponse) ProtoReflect() protoreflect.Message { 314 mi := &file_data_proto_msgTypes[5] 315 if protoimpl.UnsafeEnabled && x != nil { 316 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 317 if ms.LoadMessageInfo() == nil { 318 ms.StoreMessageInfo(mi) 319 } 320 return ms 321 } 322 return mi.MessageOf(x) 323 } 324 325 // Deprecated: Use ListDashboardTabsResponse.ProtoReflect.Descriptor instead. 326 func (*ListDashboardTabsResponse) Descriptor() ([]byte, []int) { 327 return file_data_proto_rawDescGZIP(), []int{5} 328 } 329 330 func (x *ListDashboardTabsResponse) GetDashboardTabs() []*Resource { 331 if x != nil { 332 return x.DashboardTabs 333 } 334 return nil 335 } 336 337 type GetDashboardRequest struct { 338 state protoimpl.MessageState 339 sizeCache protoimpl.SizeCache 340 unknownFields protoimpl.UnknownFields 341 342 Scope string `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"` 343 Dashboard string `protobuf:"bytes,2,opt,name=dashboard,proto3" json:"dashboard,omitempty"` 344 } 345 346 func (x *GetDashboardRequest) Reset() { 347 *x = GetDashboardRequest{} 348 if protoimpl.UnsafeEnabled { 349 mi := &file_data_proto_msgTypes[6] 350 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 351 ms.StoreMessageInfo(mi) 352 } 353 } 354 355 func (x *GetDashboardRequest) String() string { 356 return protoimpl.X.MessageStringOf(x) 357 } 358 359 func (*GetDashboardRequest) ProtoMessage() {} 360 361 func (x *GetDashboardRequest) ProtoReflect() protoreflect.Message { 362 mi := &file_data_proto_msgTypes[6] 363 if protoimpl.UnsafeEnabled && x != nil { 364 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 365 if ms.LoadMessageInfo() == nil { 366 ms.StoreMessageInfo(mi) 367 } 368 return ms 369 } 370 return mi.MessageOf(x) 371 } 372 373 // Deprecated: Use GetDashboardRequest.ProtoReflect.Descriptor instead. 374 func (*GetDashboardRequest) Descriptor() ([]byte, []int) { 375 return file_data_proto_rawDescGZIP(), []int{6} 376 } 377 378 func (x *GetDashboardRequest) GetScope() string { 379 if x != nil { 380 return x.Scope 381 } 382 return "" 383 } 384 385 func (x *GetDashboardRequest) GetDashboard() string { 386 if x != nil { 387 return x.Dashboard 388 } 389 return "" 390 } 391 392 type GetDashboardResponse struct { 393 state protoimpl.MessageState 394 sizeCache protoimpl.SizeCache 395 unknownFields protoimpl.UnknownFields 396 397 // A list of notifications attached to this dashboard. 398 // This is displayed on any dashboard tab in this dashboard. 399 Notifications []*config.Notification `protobuf:"bytes,1,rep,name=notifications,proto3" json:"notifications,omitempty"` 400 // Control which tab is displayed when first opening a dashboard. 401 // Defaults to Summary 402 DefaultTab string `protobuf:"bytes,2,opt,name=default_tab,json=defaultTab,proto3" json:"default_tab,omitempty"` 403 // Controls whether to suppress highlighting of failing tabs. 404 SuppressFailingTabs bool `protobuf:"varint,3,opt,name=suppress_failing_tabs,json=suppressFailingTabs,proto3" json:"suppress_failing_tabs,omitempty"` 405 // Controls whether to apply special highlighting to result header columns for 406 // the current day. 407 HighlightToday bool `protobuf:"varint,4,opt,name=highlight_today,json=highlightToday,proto3" json:"highlight_today,omitempty"` 408 } 409 410 func (x *GetDashboardResponse) Reset() { 411 *x = GetDashboardResponse{} 412 if protoimpl.UnsafeEnabled { 413 mi := &file_data_proto_msgTypes[7] 414 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 415 ms.StoreMessageInfo(mi) 416 } 417 } 418 419 func (x *GetDashboardResponse) String() string { 420 return protoimpl.X.MessageStringOf(x) 421 } 422 423 func (*GetDashboardResponse) ProtoMessage() {} 424 425 func (x *GetDashboardResponse) ProtoReflect() protoreflect.Message { 426 mi := &file_data_proto_msgTypes[7] 427 if protoimpl.UnsafeEnabled && x != nil { 428 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 429 if ms.LoadMessageInfo() == nil { 430 ms.StoreMessageInfo(mi) 431 } 432 return ms 433 } 434 return mi.MessageOf(x) 435 } 436 437 // Deprecated: Use GetDashboardResponse.ProtoReflect.Descriptor instead. 438 func (*GetDashboardResponse) Descriptor() ([]byte, []int) { 439 return file_data_proto_rawDescGZIP(), []int{7} 440 } 441 442 func (x *GetDashboardResponse) GetNotifications() []*config.Notification { 443 if x != nil { 444 return x.Notifications 445 } 446 return nil 447 } 448 449 func (x *GetDashboardResponse) GetDefaultTab() string { 450 if x != nil { 451 return x.DefaultTab 452 } 453 return "" 454 } 455 456 func (x *GetDashboardResponse) GetSuppressFailingTabs() bool { 457 if x != nil { 458 return x.SuppressFailingTabs 459 } 460 return false 461 } 462 463 func (x *GetDashboardResponse) GetHighlightToday() bool { 464 if x != nil { 465 return x.HighlightToday 466 } 467 return false 468 } 469 470 type GetDashboardGroupRequest struct { 471 state protoimpl.MessageState 472 sizeCache protoimpl.SizeCache 473 unknownFields protoimpl.UnknownFields 474 475 Scope string `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"` 476 DashboardGroup string `protobuf:"bytes,2,opt,name=dashboard_group,json=dashboardGroup,proto3" json:"dashboard_group,omitempty"` 477 } 478 479 func (x *GetDashboardGroupRequest) Reset() { 480 *x = GetDashboardGroupRequest{} 481 if protoimpl.UnsafeEnabled { 482 mi := &file_data_proto_msgTypes[8] 483 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 484 ms.StoreMessageInfo(mi) 485 } 486 } 487 488 func (x *GetDashboardGroupRequest) String() string { 489 return protoimpl.X.MessageStringOf(x) 490 } 491 492 func (*GetDashboardGroupRequest) ProtoMessage() {} 493 494 func (x *GetDashboardGroupRequest) ProtoReflect() protoreflect.Message { 495 mi := &file_data_proto_msgTypes[8] 496 if protoimpl.UnsafeEnabled && x != nil { 497 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 498 if ms.LoadMessageInfo() == nil { 499 ms.StoreMessageInfo(mi) 500 } 501 return ms 502 } 503 return mi.MessageOf(x) 504 } 505 506 // Deprecated: Use GetDashboardGroupRequest.ProtoReflect.Descriptor instead. 507 func (*GetDashboardGroupRequest) Descriptor() ([]byte, []int) { 508 return file_data_proto_rawDescGZIP(), []int{8} 509 } 510 511 func (x *GetDashboardGroupRequest) GetScope() string { 512 if x != nil { 513 return x.Scope 514 } 515 return "" 516 } 517 518 func (x *GetDashboardGroupRequest) GetDashboardGroup() string { 519 if x != nil { 520 return x.DashboardGroup 521 } 522 return "" 523 } 524 525 type GetDashboardGroupResponse struct { 526 state protoimpl.MessageState 527 sizeCache protoimpl.SizeCache 528 unknownFields protoimpl.UnknownFields 529 530 Dashboards []*Resource `protobuf:"bytes,1,rep,name=dashboards,proto3" json:"dashboards,omitempty"` 531 } 532 533 func (x *GetDashboardGroupResponse) Reset() { 534 *x = GetDashboardGroupResponse{} 535 if protoimpl.UnsafeEnabled { 536 mi := &file_data_proto_msgTypes[9] 537 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 538 ms.StoreMessageInfo(mi) 539 } 540 } 541 542 func (x *GetDashboardGroupResponse) String() string { 543 return protoimpl.X.MessageStringOf(x) 544 } 545 546 func (*GetDashboardGroupResponse) ProtoMessage() {} 547 548 func (x *GetDashboardGroupResponse) ProtoReflect() protoreflect.Message { 549 mi := &file_data_proto_msgTypes[9] 550 if protoimpl.UnsafeEnabled && x != nil { 551 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 552 if ms.LoadMessageInfo() == nil { 553 ms.StoreMessageInfo(mi) 554 } 555 return ms 556 } 557 return mi.MessageOf(x) 558 } 559 560 // Deprecated: Use GetDashboardGroupResponse.ProtoReflect.Descriptor instead. 561 func (*GetDashboardGroupResponse) Descriptor() ([]byte, []int) { 562 return file_data_proto_rawDescGZIP(), []int{9} 563 } 564 565 func (x *GetDashboardGroupResponse) GetDashboards() []*Resource { 566 if x != nil { 567 return x.Dashboards 568 } 569 return nil 570 } 571 572 type ListHeadersRequest struct { 573 state protoimpl.MessageState 574 sizeCache protoimpl.SizeCache 575 unknownFields protoimpl.UnknownFields 576 577 Scope string `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"` 578 Dashboard string `protobuf:"bytes,2,opt,name=dashboard,proto3" json:"dashboard,omitempty"` 579 Tab string `protobuf:"bytes,3,opt,name=tab,proto3" json:"tab,omitempty"` 580 } 581 582 func (x *ListHeadersRequest) Reset() { 583 *x = ListHeadersRequest{} 584 if protoimpl.UnsafeEnabled { 585 mi := &file_data_proto_msgTypes[10] 586 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 587 ms.StoreMessageInfo(mi) 588 } 589 } 590 591 func (x *ListHeadersRequest) String() string { 592 return protoimpl.X.MessageStringOf(x) 593 } 594 595 func (*ListHeadersRequest) ProtoMessage() {} 596 597 func (x *ListHeadersRequest) ProtoReflect() protoreflect.Message { 598 mi := &file_data_proto_msgTypes[10] 599 if protoimpl.UnsafeEnabled && x != nil { 600 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 601 if ms.LoadMessageInfo() == nil { 602 ms.StoreMessageInfo(mi) 603 } 604 return ms 605 } 606 return mi.MessageOf(x) 607 } 608 609 // Deprecated: Use ListHeadersRequest.ProtoReflect.Descriptor instead. 610 func (*ListHeadersRequest) Descriptor() ([]byte, []int) { 611 return file_data_proto_rawDescGZIP(), []int{10} 612 } 613 614 func (x *ListHeadersRequest) GetScope() string { 615 if x != nil { 616 return x.Scope 617 } 618 return "" 619 } 620 621 func (x *ListHeadersRequest) GetDashboard() string { 622 if x != nil { 623 return x.Dashboard 624 } 625 return "" 626 } 627 628 func (x *ListHeadersRequest) GetTab() string { 629 if x != nil { 630 return x.Tab 631 } 632 return "" 633 } 634 635 type ListHeadersResponse struct { 636 state protoimpl.MessageState 637 sizeCache protoimpl.SizeCache 638 unknownFields protoimpl.UnknownFields 639 640 Headers []*ListHeadersResponse_Header `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"` 641 } 642 643 func (x *ListHeadersResponse) Reset() { 644 *x = ListHeadersResponse{} 645 if protoimpl.UnsafeEnabled { 646 mi := &file_data_proto_msgTypes[11] 647 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 648 ms.StoreMessageInfo(mi) 649 } 650 } 651 652 func (x *ListHeadersResponse) String() string { 653 return protoimpl.X.MessageStringOf(x) 654 } 655 656 func (*ListHeadersResponse) ProtoMessage() {} 657 658 func (x *ListHeadersResponse) ProtoReflect() protoreflect.Message { 659 mi := &file_data_proto_msgTypes[11] 660 if protoimpl.UnsafeEnabled && x != nil { 661 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 662 if ms.LoadMessageInfo() == nil { 663 ms.StoreMessageInfo(mi) 664 } 665 return ms 666 } 667 return mi.MessageOf(x) 668 } 669 670 // Deprecated: Use ListHeadersResponse.ProtoReflect.Descriptor instead. 671 func (*ListHeadersResponse) Descriptor() ([]byte, []int) { 672 return file_data_proto_rawDescGZIP(), []int{11} 673 } 674 675 func (x *ListHeadersResponse) GetHeaders() []*ListHeadersResponse_Header { 676 if x != nil { 677 return x.Headers 678 } 679 return nil 680 } 681 682 type ListRowsRequest struct { 683 state protoimpl.MessageState 684 sizeCache protoimpl.SizeCache 685 unknownFields protoimpl.UnknownFields 686 687 Scope string `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"` 688 Dashboard string `protobuf:"bytes,2,opt,name=dashboard,proto3" json:"dashboard,omitempty"` 689 Tab string `protobuf:"bytes,3,opt,name=tab,proto3" json:"tab,omitempty"` 690 } 691 692 func (x *ListRowsRequest) Reset() { 693 *x = ListRowsRequest{} 694 if protoimpl.UnsafeEnabled { 695 mi := &file_data_proto_msgTypes[12] 696 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 697 ms.StoreMessageInfo(mi) 698 } 699 } 700 701 func (x *ListRowsRequest) String() string { 702 return protoimpl.X.MessageStringOf(x) 703 } 704 705 func (*ListRowsRequest) ProtoMessage() {} 706 707 func (x *ListRowsRequest) ProtoReflect() protoreflect.Message { 708 mi := &file_data_proto_msgTypes[12] 709 if protoimpl.UnsafeEnabled && x != nil { 710 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 711 if ms.LoadMessageInfo() == nil { 712 ms.StoreMessageInfo(mi) 713 } 714 return ms 715 } 716 return mi.MessageOf(x) 717 } 718 719 // Deprecated: Use ListRowsRequest.ProtoReflect.Descriptor instead. 720 func (*ListRowsRequest) Descriptor() ([]byte, []int) { 721 return file_data_proto_rawDescGZIP(), []int{12} 722 } 723 724 func (x *ListRowsRequest) GetScope() string { 725 if x != nil { 726 return x.Scope 727 } 728 return "" 729 } 730 731 func (x *ListRowsRequest) GetDashboard() string { 732 if x != nil { 733 return x.Dashboard 734 } 735 return "" 736 } 737 738 func (x *ListRowsRequest) GetTab() string { 739 if x != nil { 740 return x.Tab 741 } 742 return "" 743 } 744 745 type ListRowsResponse struct { 746 state protoimpl.MessageState 747 sizeCache protoimpl.SizeCache 748 unknownFields protoimpl.UnknownFields 749 750 Rows []*ListRowsResponse_Row `protobuf:"bytes,1,rep,name=rows,proto3" json:"rows,omitempty"` 751 } 752 753 func (x *ListRowsResponse) Reset() { 754 *x = ListRowsResponse{} 755 if protoimpl.UnsafeEnabled { 756 mi := &file_data_proto_msgTypes[13] 757 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 758 ms.StoreMessageInfo(mi) 759 } 760 } 761 762 func (x *ListRowsResponse) String() string { 763 return protoimpl.X.MessageStringOf(x) 764 } 765 766 func (*ListRowsResponse) ProtoMessage() {} 767 768 func (x *ListRowsResponse) ProtoReflect() protoreflect.Message { 769 mi := &file_data_proto_msgTypes[13] 770 if protoimpl.UnsafeEnabled && x != nil { 771 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 772 if ms.LoadMessageInfo() == nil { 773 ms.StoreMessageInfo(mi) 774 } 775 return ms 776 } 777 return mi.MessageOf(x) 778 } 779 780 // Deprecated: Use ListRowsResponse.ProtoReflect.Descriptor instead. 781 func (*ListRowsResponse) Descriptor() ([]byte, []int) { 782 return file_data_proto_rawDescGZIP(), []int{13} 783 } 784 785 func (x *ListRowsResponse) GetRows() []*ListRowsResponse_Row { 786 if x != nil { 787 return x.Rows 788 } 789 return nil 790 } 791 792 // A Resource is a REST resource, often returned by a LIST command 793 // It includes the name of the resource and a link to the resource 794 type Resource struct { 795 state protoimpl.MessageState 796 sizeCache protoimpl.SizeCache 797 unknownFields protoimpl.UnknownFields 798 799 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 800 Link string `protobuf:"bytes,2,opt,name=link,proto3" json:"link,omitempty"` 801 } 802 803 func (x *Resource) Reset() { 804 *x = Resource{} 805 if protoimpl.UnsafeEnabled { 806 mi := &file_data_proto_msgTypes[14] 807 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 808 ms.StoreMessageInfo(mi) 809 } 810 } 811 812 func (x *Resource) String() string { 813 return protoimpl.X.MessageStringOf(x) 814 } 815 816 func (*Resource) ProtoMessage() {} 817 818 func (x *Resource) ProtoReflect() protoreflect.Message { 819 mi := &file_data_proto_msgTypes[14] 820 if protoimpl.UnsafeEnabled && x != nil { 821 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 822 if ms.LoadMessageInfo() == nil { 823 ms.StoreMessageInfo(mi) 824 } 825 return ms 826 } 827 return mi.MessageOf(x) 828 } 829 830 // Deprecated: Use Resource.ProtoReflect.Descriptor instead. 831 func (*Resource) Descriptor() ([]byte, []int) { 832 return file_data_proto_rawDescGZIP(), []int{14} 833 } 834 835 func (x *Resource) GetName() string { 836 if x != nil { 837 return x.Name 838 } 839 return "" 840 } 841 842 func (x *Resource) GetLink() string { 843 if x != nil { 844 return x.Link 845 } 846 return "" 847 } 848 849 // A DashboardResource is a REST resource for a dashboard 850 // It includes the name of the resource, a link, and a dashboard group to which it belongs 851 type DashboardResource struct { 852 state protoimpl.MessageState 853 sizeCache protoimpl.SizeCache 854 unknownFields protoimpl.UnknownFields 855 856 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 857 Link string `protobuf:"bytes,2,opt,name=link,proto3" json:"link,omitempty"` 858 // Dashboard group to which the dashboard belongs to. 859 // Empty if dashboard doesn't belong to any group. 860 DashboardGroupName string `protobuf:"bytes,3,opt,name=dashboard_group_name,json=dashboardGroupName,proto3" json:"dashboard_group_name,omitempty"` 861 } 862 863 func (x *DashboardResource) Reset() { 864 *x = DashboardResource{} 865 if protoimpl.UnsafeEnabled { 866 mi := &file_data_proto_msgTypes[15] 867 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 868 ms.StoreMessageInfo(mi) 869 } 870 } 871 872 func (x *DashboardResource) String() string { 873 return protoimpl.X.MessageStringOf(x) 874 } 875 876 func (*DashboardResource) ProtoMessage() {} 877 878 func (x *DashboardResource) ProtoReflect() protoreflect.Message { 879 mi := &file_data_proto_msgTypes[15] 880 if protoimpl.UnsafeEnabled && x != nil { 881 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 882 if ms.LoadMessageInfo() == nil { 883 ms.StoreMessageInfo(mi) 884 } 885 return ms 886 } 887 return mi.MessageOf(x) 888 } 889 890 // Deprecated: Use DashboardResource.ProtoReflect.Descriptor instead. 891 func (*DashboardResource) Descriptor() ([]byte, []int) { 892 return file_data_proto_rawDescGZIP(), []int{15} 893 } 894 895 func (x *DashboardResource) GetName() string { 896 if x != nil { 897 return x.Name 898 } 899 return "" 900 } 901 902 func (x *DashboardResource) GetLink() string { 903 if x != nil { 904 return x.Link 905 } 906 return "" 907 } 908 909 func (x *DashboardResource) GetDashboardGroupName() string { 910 if x != nil { 911 return x.DashboardGroupName 912 } 913 return "" 914 } 915 916 type ListTabSummariesRequest struct { 917 state protoimpl.MessageState 918 sizeCache protoimpl.SizeCache 919 unknownFields protoimpl.UnknownFields 920 921 // Scope defines the GCS bucket to read the results from. 922 Scope string `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"` 923 // Name of the dashboard to fetch tab summaries for. 924 Dashboard string `protobuf:"bytes,2,opt,name=dashboard,proto3" json:"dashboard,omitempty"` 925 } 926 927 func (x *ListTabSummariesRequest) Reset() { 928 *x = ListTabSummariesRequest{} 929 if protoimpl.UnsafeEnabled { 930 mi := &file_data_proto_msgTypes[16] 931 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 932 ms.StoreMessageInfo(mi) 933 } 934 } 935 936 func (x *ListTabSummariesRequest) String() string { 937 return protoimpl.X.MessageStringOf(x) 938 } 939 940 func (*ListTabSummariesRequest) ProtoMessage() {} 941 942 func (x *ListTabSummariesRequest) ProtoReflect() protoreflect.Message { 943 mi := &file_data_proto_msgTypes[16] 944 if protoimpl.UnsafeEnabled && x != nil { 945 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 946 if ms.LoadMessageInfo() == nil { 947 ms.StoreMessageInfo(mi) 948 } 949 return ms 950 } 951 return mi.MessageOf(x) 952 } 953 954 // Deprecated: Use ListTabSummariesRequest.ProtoReflect.Descriptor instead. 955 func (*ListTabSummariesRequest) Descriptor() ([]byte, []int) { 956 return file_data_proto_rawDescGZIP(), []int{16} 957 } 958 959 func (x *ListTabSummariesRequest) GetScope() string { 960 if x != nil { 961 return x.Scope 962 } 963 return "" 964 } 965 966 func (x *ListTabSummariesRequest) GetDashboard() string { 967 if x != nil { 968 return x.Dashboard 969 } 970 return "" 971 } 972 973 type ListTabSummariesResponse struct { 974 state protoimpl.MessageState 975 sizeCache protoimpl.SizeCache 976 unknownFields protoimpl.UnknownFields 977 978 // List of tab summaries. 979 TabSummaries []*TabSummary `protobuf:"bytes,1,rep,name=tab_summaries,json=tabSummaries,proto3" json:"tab_summaries,omitempty"` 980 } 981 982 func (x *ListTabSummariesResponse) Reset() { 983 *x = ListTabSummariesResponse{} 984 if protoimpl.UnsafeEnabled { 985 mi := &file_data_proto_msgTypes[17] 986 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 987 ms.StoreMessageInfo(mi) 988 } 989 } 990 991 func (x *ListTabSummariesResponse) String() string { 992 return protoimpl.X.MessageStringOf(x) 993 } 994 995 func (*ListTabSummariesResponse) ProtoMessage() {} 996 997 func (x *ListTabSummariesResponse) ProtoReflect() protoreflect.Message { 998 mi := &file_data_proto_msgTypes[17] 999 if protoimpl.UnsafeEnabled && x != nil { 1000 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1001 if ms.LoadMessageInfo() == nil { 1002 ms.StoreMessageInfo(mi) 1003 } 1004 return ms 1005 } 1006 return mi.MessageOf(x) 1007 } 1008 1009 // Deprecated: Use ListTabSummariesResponse.ProtoReflect.Descriptor instead. 1010 func (*ListTabSummariesResponse) Descriptor() ([]byte, []int) { 1011 return file_data_proto_rawDescGZIP(), []int{17} 1012 } 1013 1014 func (x *ListTabSummariesResponse) GetTabSummaries() []*TabSummary { 1015 if x != nil { 1016 return x.TabSummaries 1017 } 1018 return nil 1019 } 1020 1021 type GetTabSummaryRequest struct { 1022 state protoimpl.MessageState 1023 sizeCache protoimpl.SizeCache 1024 unknownFields protoimpl.UnknownFields 1025 1026 // Scope defines the GCS bucket to read the results from. 1027 Scope string `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"` 1028 // Name of the dashboard to fetch tab summaries for. 1029 Dashboard string `protobuf:"bytes,2,opt,name=dashboard,proto3" json:"dashboard,omitempty"` 1030 // Name of the particular tab to fetch the summary for. 1031 Tab string `protobuf:"bytes,3,opt,name=tab,proto3" json:"tab,omitempty"` 1032 } 1033 1034 func (x *GetTabSummaryRequest) Reset() { 1035 *x = GetTabSummaryRequest{} 1036 if protoimpl.UnsafeEnabled { 1037 mi := &file_data_proto_msgTypes[18] 1038 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1039 ms.StoreMessageInfo(mi) 1040 } 1041 } 1042 1043 func (x *GetTabSummaryRequest) String() string { 1044 return protoimpl.X.MessageStringOf(x) 1045 } 1046 1047 func (*GetTabSummaryRequest) ProtoMessage() {} 1048 1049 func (x *GetTabSummaryRequest) ProtoReflect() protoreflect.Message { 1050 mi := &file_data_proto_msgTypes[18] 1051 if protoimpl.UnsafeEnabled && x != nil { 1052 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1053 if ms.LoadMessageInfo() == nil { 1054 ms.StoreMessageInfo(mi) 1055 } 1056 return ms 1057 } 1058 return mi.MessageOf(x) 1059 } 1060 1061 // Deprecated: Use GetTabSummaryRequest.ProtoReflect.Descriptor instead. 1062 func (*GetTabSummaryRequest) Descriptor() ([]byte, []int) { 1063 return file_data_proto_rawDescGZIP(), []int{18} 1064 } 1065 1066 func (x *GetTabSummaryRequest) GetScope() string { 1067 if x != nil { 1068 return x.Scope 1069 } 1070 return "" 1071 } 1072 1073 func (x *GetTabSummaryRequest) GetDashboard() string { 1074 if x != nil { 1075 return x.Dashboard 1076 } 1077 return "" 1078 } 1079 1080 func (x *GetTabSummaryRequest) GetTab() string { 1081 if x != nil { 1082 return x.Tab 1083 } 1084 return "" 1085 } 1086 1087 type GetTabSummaryResponse struct { 1088 state protoimpl.MessageState 1089 sizeCache protoimpl.SizeCache 1090 unknownFields protoimpl.UnknownFields 1091 1092 // Summary for the tab 1093 TabSummary *TabSummary `protobuf:"bytes,1,opt,name=tab_summary,json=tabSummary,proto3" json:"tab_summary,omitempty"` 1094 } 1095 1096 func (x *GetTabSummaryResponse) Reset() { 1097 *x = GetTabSummaryResponse{} 1098 if protoimpl.UnsafeEnabled { 1099 mi := &file_data_proto_msgTypes[19] 1100 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1101 ms.StoreMessageInfo(mi) 1102 } 1103 } 1104 1105 func (x *GetTabSummaryResponse) String() string { 1106 return protoimpl.X.MessageStringOf(x) 1107 } 1108 1109 func (*GetTabSummaryResponse) ProtoMessage() {} 1110 1111 func (x *GetTabSummaryResponse) ProtoReflect() protoreflect.Message { 1112 mi := &file_data_proto_msgTypes[19] 1113 if protoimpl.UnsafeEnabled && x != nil { 1114 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1115 if ms.LoadMessageInfo() == nil { 1116 ms.StoreMessageInfo(mi) 1117 } 1118 return ms 1119 } 1120 return mi.MessageOf(x) 1121 } 1122 1123 // Deprecated: Use GetTabSummaryResponse.ProtoReflect.Descriptor instead. 1124 func (*GetTabSummaryResponse) Descriptor() ([]byte, []int) { 1125 return file_data_proto_rawDescGZIP(), []int{19} 1126 } 1127 1128 func (x *GetTabSummaryResponse) GetTabSummary() *TabSummary { 1129 if x != nil { 1130 return x.TabSummary 1131 } 1132 return nil 1133 } 1134 1135 type ListDashboardSummariesRequest struct { 1136 state protoimpl.MessageState 1137 sizeCache protoimpl.SizeCache 1138 unknownFields protoimpl.UnknownFields 1139 1140 // Scope defines the GCS bucket to read the results from. 1141 Scope string `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"` 1142 // Name of the dashboard group to fetch dashboard summaries for. 1143 DashboardGroup string `protobuf:"bytes,2,opt,name=dashboard_group,json=dashboardGroup,proto3" json:"dashboard_group,omitempty"` 1144 } 1145 1146 func (x *ListDashboardSummariesRequest) Reset() { 1147 *x = ListDashboardSummariesRequest{} 1148 if protoimpl.UnsafeEnabled { 1149 mi := &file_data_proto_msgTypes[20] 1150 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1151 ms.StoreMessageInfo(mi) 1152 } 1153 } 1154 1155 func (x *ListDashboardSummariesRequest) String() string { 1156 return protoimpl.X.MessageStringOf(x) 1157 } 1158 1159 func (*ListDashboardSummariesRequest) ProtoMessage() {} 1160 1161 func (x *ListDashboardSummariesRequest) ProtoReflect() protoreflect.Message { 1162 mi := &file_data_proto_msgTypes[20] 1163 if protoimpl.UnsafeEnabled && x != nil { 1164 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1165 if ms.LoadMessageInfo() == nil { 1166 ms.StoreMessageInfo(mi) 1167 } 1168 return ms 1169 } 1170 return mi.MessageOf(x) 1171 } 1172 1173 // Deprecated: Use ListDashboardSummariesRequest.ProtoReflect.Descriptor instead. 1174 func (*ListDashboardSummariesRequest) Descriptor() ([]byte, []int) { 1175 return file_data_proto_rawDescGZIP(), []int{20} 1176 } 1177 1178 func (x *ListDashboardSummariesRequest) GetScope() string { 1179 if x != nil { 1180 return x.Scope 1181 } 1182 return "" 1183 } 1184 1185 func (x *ListDashboardSummariesRequest) GetDashboardGroup() string { 1186 if x != nil { 1187 return x.DashboardGroup 1188 } 1189 return "" 1190 } 1191 1192 type ListDashboardSummariesResponse struct { 1193 state protoimpl.MessageState 1194 sizeCache protoimpl.SizeCache 1195 unknownFields protoimpl.UnknownFields 1196 1197 // List of dashboard summaries. 1198 DashboardSummaries []*DashboardSummary `protobuf:"bytes,1,rep,name=dashboard_summaries,json=dashboardSummaries,proto3" json:"dashboard_summaries,omitempty"` 1199 } 1200 1201 func (x *ListDashboardSummariesResponse) Reset() { 1202 *x = ListDashboardSummariesResponse{} 1203 if protoimpl.UnsafeEnabled { 1204 mi := &file_data_proto_msgTypes[21] 1205 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1206 ms.StoreMessageInfo(mi) 1207 } 1208 } 1209 1210 func (x *ListDashboardSummariesResponse) String() string { 1211 return protoimpl.X.MessageStringOf(x) 1212 } 1213 1214 func (*ListDashboardSummariesResponse) ProtoMessage() {} 1215 1216 func (x *ListDashboardSummariesResponse) ProtoReflect() protoreflect.Message { 1217 mi := &file_data_proto_msgTypes[21] 1218 if protoimpl.UnsafeEnabled && x != nil { 1219 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1220 if ms.LoadMessageInfo() == nil { 1221 ms.StoreMessageInfo(mi) 1222 } 1223 return ms 1224 } 1225 return mi.MessageOf(x) 1226 } 1227 1228 // Deprecated: Use ListDashboardSummariesResponse.ProtoReflect.Descriptor instead. 1229 func (*ListDashboardSummariesResponse) Descriptor() ([]byte, []int) { 1230 return file_data_proto_rawDescGZIP(), []int{21} 1231 } 1232 1233 func (x *ListDashboardSummariesResponse) GetDashboardSummaries() []*DashboardSummary { 1234 if x != nil { 1235 return x.DashboardSummaries 1236 } 1237 return nil 1238 } 1239 1240 type GetDashboardSummaryRequest struct { 1241 state protoimpl.MessageState 1242 sizeCache protoimpl.SizeCache 1243 unknownFields protoimpl.UnknownFields 1244 1245 // Scope defines the GCS bucket to read the results from. 1246 Scope string `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"` 1247 // Name of the dashboard to fetch the summary for. 1248 Dashboard string `protobuf:"bytes,2,opt,name=dashboard,proto3" json:"dashboard,omitempty"` 1249 } 1250 1251 func (x *GetDashboardSummaryRequest) Reset() { 1252 *x = GetDashboardSummaryRequest{} 1253 if protoimpl.UnsafeEnabled { 1254 mi := &file_data_proto_msgTypes[22] 1255 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1256 ms.StoreMessageInfo(mi) 1257 } 1258 } 1259 1260 func (x *GetDashboardSummaryRequest) String() string { 1261 return protoimpl.X.MessageStringOf(x) 1262 } 1263 1264 func (*GetDashboardSummaryRequest) ProtoMessage() {} 1265 1266 func (x *GetDashboardSummaryRequest) ProtoReflect() protoreflect.Message { 1267 mi := &file_data_proto_msgTypes[22] 1268 if protoimpl.UnsafeEnabled && x != nil { 1269 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1270 if ms.LoadMessageInfo() == nil { 1271 ms.StoreMessageInfo(mi) 1272 } 1273 return ms 1274 } 1275 return mi.MessageOf(x) 1276 } 1277 1278 // Deprecated: Use GetDashboardSummaryRequest.ProtoReflect.Descriptor instead. 1279 func (*GetDashboardSummaryRequest) Descriptor() ([]byte, []int) { 1280 return file_data_proto_rawDescGZIP(), []int{22} 1281 } 1282 1283 func (x *GetDashboardSummaryRequest) GetScope() string { 1284 if x != nil { 1285 return x.Scope 1286 } 1287 return "" 1288 } 1289 1290 func (x *GetDashboardSummaryRequest) GetDashboard() string { 1291 if x != nil { 1292 return x.Dashboard 1293 } 1294 return "" 1295 } 1296 1297 type GetDashboardSummaryResponse struct { 1298 state protoimpl.MessageState 1299 sizeCache protoimpl.SizeCache 1300 unknownFields protoimpl.UnknownFields 1301 1302 // Summary for the dashboard. 1303 DashboardSummary *DashboardSummary `protobuf:"bytes,1,opt,name=dashboard_summary,json=dashboardSummary,proto3" json:"dashboard_summary,omitempty"` 1304 } 1305 1306 func (x *GetDashboardSummaryResponse) Reset() { 1307 *x = GetDashboardSummaryResponse{} 1308 if protoimpl.UnsafeEnabled { 1309 mi := &file_data_proto_msgTypes[23] 1310 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1311 ms.StoreMessageInfo(mi) 1312 } 1313 } 1314 1315 func (x *GetDashboardSummaryResponse) String() string { 1316 return protoimpl.X.MessageStringOf(x) 1317 } 1318 1319 func (*GetDashboardSummaryResponse) ProtoMessage() {} 1320 1321 func (x *GetDashboardSummaryResponse) ProtoReflect() protoreflect.Message { 1322 mi := &file_data_proto_msgTypes[23] 1323 if protoimpl.UnsafeEnabled && x != nil { 1324 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1325 if ms.LoadMessageInfo() == nil { 1326 ms.StoreMessageInfo(mi) 1327 } 1328 return ms 1329 } 1330 return mi.MessageOf(x) 1331 } 1332 1333 // Deprecated: Use GetDashboardSummaryResponse.ProtoReflect.Descriptor instead. 1334 func (*GetDashboardSummaryResponse) Descriptor() ([]byte, []int) { 1335 return file_data_proto_rawDescGZIP(), []int{23} 1336 } 1337 1338 func (x *GetDashboardSummaryResponse) GetDashboardSummary() *DashboardSummary { 1339 if x != nil { 1340 return x.DashboardSummary 1341 } 1342 return nil 1343 } 1344 1345 // Summary for a particular tab. 1346 // Contains the info required to render tab summary in UI. 1347 type TabSummary struct { 1348 state protoimpl.MessageState 1349 sizeCache protoimpl.SizeCache 1350 unknownFields protoimpl.UnknownFields 1351 1352 // The name of the dashboard this tab belongs to. 1353 DashboardName string `protobuf:"bytes,1,opt,name=dashboard_name,json=dashboardName,proto3" json:"dashboard_name,omitempty"` 1354 // The name of the tab. 1355 TabName string `protobuf:"bytes,2,opt,name=tab_name,json=tabName,proto3" json:"tab_name,omitempty"` 1356 // Overall status for the dashboard tab (e.g. PASSING, FAILING, etc.) 1357 OverallStatus string `protobuf:"bytes,3,opt,name=overall_status,json=overallStatus,proto3" json:"overall_status,omitempty"` 1358 // Summary of the status for this dashboard tab. 1359 DetailedStatusMessage string `protobuf:"bytes,4,opt,name=detailed_status_message,json=detailedStatusMessage,proto3" json:"detailed_status_message,omitempty"` 1360 // Timestamp at which tests last ran. 1361 LastRunTimestamp *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=last_run_timestamp,json=lastRunTimestamp,proto3" json:"last_run_timestamp,omitempty"` 1362 // Timestamp at which the test group was last updated. 1363 LastUpdateTimestamp *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=last_update_timestamp,json=lastUpdateTimestamp,proto3" json:"last_update_timestamp,omitempty"` 1364 // The ID for the latest passing build. 1365 LatestPassingBuild string `protobuf:"bytes,7,opt,name=latest_passing_build,json=latestPassingBuild,proto3" json:"latest_passing_build,omitempty"` 1366 // Summarized info on the failing tests. 1367 // In this case, any test which raised an alert and did not suppress it is considered failing. 1368 FailuresSummary *FailuresSummary `protobuf:"bytes,8,opt,name=failures_summary,json=failuresSummary,proto3" json:"failures_summary,omitempty"` 1369 //Summarized info on the tab's healthiness. 1370 HealthinessSummary *HealthinessSummary `protobuf:"bytes,9,opt,name=healthiness_summary,json=healthinessSummary,proto3" json:"healthiness_summary,omitempty"` 1371 } 1372 1373 func (x *TabSummary) Reset() { 1374 *x = TabSummary{} 1375 if protoimpl.UnsafeEnabled { 1376 mi := &file_data_proto_msgTypes[24] 1377 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1378 ms.StoreMessageInfo(mi) 1379 } 1380 } 1381 1382 func (x *TabSummary) String() string { 1383 return protoimpl.X.MessageStringOf(x) 1384 } 1385 1386 func (*TabSummary) ProtoMessage() {} 1387 1388 func (x *TabSummary) ProtoReflect() protoreflect.Message { 1389 mi := &file_data_proto_msgTypes[24] 1390 if protoimpl.UnsafeEnabled && x != nil { 1391 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1392 if ms.LoadMessageInfo() == nil { 1393 ms.StoreMessageInfo(mi) 1394 } 1395 return ms 1396 } 1397 return mi.MessageOf(x) 1398 } 1399 1400 // Deprecated: Use TabSummary.ProtoReflect.Descriptor instead. 1401 func (*TabSummary) Descriptor() ([]byte, []int) { 1402 return file_data_proto_rawDescGZIP(), []int{24} 1403 } 1404 1405 func (x *TabSummary) GetDashboardName() string { 1406 if x != nil { 1407 return x.DashboardName 1408 } 1409 return "" 1410 } 1411 1412 func (x *TabSummary) GetTabName() string { 1413 if x != nil { 1414 return x.TabName 1415 } 1416 return "" 1417 } 1418 1419 func (x *TabSummary) GetOverallStatus() string { 1420 if x != nil { 1421 return x.OverallStatus 1422 } 1423 return "" 1424 } 1425 1426 func (x *TabSummary) GetDetailedStatusMessage() string { 1427 if x != nil { 1428 return x.DetailedStatusMessage 1429 } 1430 return "" 1431 } 1432 1433 func (x *TabSummary) GetLastRunTimestamp() *timestamppb.Timestamp { 1434 if x != nil { 1435 return x.LastRunTimestamp 1436 } 1437 return nil 1438 } 1439 1440 func (x *TabSummary) GetLastUpdateTimestamp() *timestamppb.Timestamp { 1441 if x != nil { 1442 return x.LastUpdateTimestamp 1443 } 1444 return nil 1445 } 1446 1447 func (x *TabSummary) GetLatestPassingBuild() string { 1448 if x != nil { 1449 return x.LatestPassingBuild 1450 } 1451 return "" 1452 } 1453 1454 func (x *TabSummary) GetFailuresSummary() *FailuresSummary { 1455 if x != nil { 1456 return x.FailuresSummary 1457 } 1458 return nil 1459 } 1460 1461 func (x *TabSummary) GetHealthinessSummary() *HealthinessSummary { 1462 if x != nil { 1463 return x.HealthinessSummary 1464 } 1465 return nil 1466 } 1467 1468 // Summarized representation of data from failing test summaries. 1469 // Will be rendered in failures summary component within tab summary. 1470 type FailuresSummary struct { 1471 state protoimpl.MessageState 1472 sizeCache protoimpl.SizeCache 1473 unknownFields protoimpl.UnknownFields 1474 1475 // Top failing tests by fail count. 1476 TopFailingTests []*FailingTestInfo `protobuf:"bytes,1,rep,name=top_failing_tests,json=topFailingTests,proto3" json:"top_failing_tests,omitempty"` 1477 // Aggregated stats across all failing tests. 1478 FailureStats *FailureStats `protobuf:"bytes,2,opt,name=failure_stats,json=failureStats,proto3" json:"failure_stats,omitempty"` 1479 } 1480 1481 func (x *FailuresSummary) Reset() { 1482 *x = FailuresSummary{} 1483 if protoimpl.UnsafeEnabled { 1484 mi := &file_data_proto_msgTypes[25] 1485 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1486 ms.StoreMessageInfo(mi) 1487 } 1488 } 1489 1490 func (x *FailuresSummary) String() string { 1491 return protoimpl.X.MessageStringOf(x) 1492 } 1493 1494 func (*FailuresSummary) ProtoMessage() {} 1495 1496 func (x *FailuresSummary) ProtoReflect() protoreflect.Message { 1497 mi := &file_data_proto_msgTypes[25] 1498 if protoimpl.UnsafeEnabled && x != nil { 1499 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1500 if ms.LoadMessageInfo() == nil { 1501 ms.StoreMessageInfo(mi) 1502 } 1503 return ms 1504 } 1505 return mi.MessageOf(x) 1506 } 1507 1508 // Deprecated: Use FailuresSummary.ProtoReflect.Descriptor instead. 1509 func (*FailuresSummary) Descriptor() ([]byte, []int) { 1510 return file_data_proto_rawDescGZIP(), []int{25} 1511 } 1512 1513 func (x *FailuresSummary) GetTopFailingTests() []*FailingTestInfo { 1514 if x != nil { 1515 return x.TopFailingTests 1516 } 1517 return nil 1518 } 1519 1520 func (x *FailuresSummary) GetFailureStats() *FailureStats { 1521 if x != nil { 1522 return x.FailureStats 1523 } 1524 return nil 1525 } 1526 1527 // Subset of data from FailingTestSummary defined in summary.proto. 1528 type FailingTestInfo struct { 1529 state protoimpl.MessageState 1530 sizeCache protoimpl.SizeCache 1531 unknownFields protoimpl.UnknownFields 1532 1533 // Name of the failing test. 1534 DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` 1535 // number of times the test has failed. 1536 FailCount int32 `protobuf:"varint,2,opt,name=fail_count,json=failCount,proto3" json:"fail_count,omitempty"` 1537 // Timestamp for the last cycle in which the test passed. 1538 PassTimestamp *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=pass_timestamp,json=passTimestamp,proto3" json:"pass_timestamp,omitempty"` 1539 // Timestamp for the first cycle in which the test failed. 1540 FailTimestamp *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=fail_timestamp,json=failTimestamp,proto3" json:"fail_timestamp,omitempty"` 1541 } 1542 1543 func (x *FailingTestInfo) Reset() { 1544 *x = FailingTestInfo{} 1545 if protoimpl.UnsafeEnabled { 1546 mi := &file_data_proto_msgTypes[26] 1547 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1548 ms.StoreMessageInfo(mi) 1549 } 1550 } 1551 1552 func (x *FailingTestInfo) String() string { 1553 return protoimpl.X.MessageStringOf(x) 1554 } 1555 1556 func (*FailingTestInfo) ProtoMessage() {} 1557 1558 func (x *FailingTestInfo) ProtoReflect() protoreflect.Message { 1559 mi := &file_data_proto_msgTypes[26] 1560 if protoimpl.UnsafeEnabled && x != nil { 1561 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1562 if ms.LoadMessageInfo() == nil { 1563 ms.StoreMessageInfo(mi) 1564 } 1565 return ms 1566 } 1567 return mi.MessageOf(x) 1568 } 1569 1570 // Deprecated: Use FailingTestInfo.ProtoReflect.Descriptor instead. 1571 func (*FailingTestInfo) Descriptor() ([]byte, []int) { 1572 return file_data_proto_rawDescGZIP(), []int{26} 1573 } 1574 1575 func (x *FailingTestInfo) GetDisplayName() string { 1576 if x != nil { 1577 return x.DisplayName 1578 } 1579 return "" 1580 } 1581 1582 func (x *FailingTestInfo) GetFailCount() int32 { 1583 if x != nil { 1584 return x.FailCount 1585 } 1586 return 0 1587 } 1588 1589 func (x *FailingTestInfo) GetPassTimestamp() *timestamppb.Timestamp { 1590 if x != nil { 1591 return x.PassTimestamp 1592 } 1593 return nil 1594 } 1595 1596 func (x *FailingTestInfo) GetFailTimestamp() *timestamppb.Timestamp { 1597 if x != nil { 1598 return x.FailTimestamp 1599 } 1600 return nil 1601 } 1602 1603 // Aggregate stats across all failing tests. 1604 type FailureStats struct { 1605 state protoimpl.MessageState 1606 sizeCache protoimpl.SizeCache 1607 unknownFields protoimpl.UnknownFields 1608 1609 // Number of failing tests for the tab. 1610 NumFailingTests int32 `protobuf:"varint,1,opt,name=num_failing_tests,json=numFailingTests,proto3" json:"num_failing_tests,omitempty"` 1611 } 1612 1613 func (x *FailureStats) Reset() { 1614 *x = FailureStats{} 1615 if protoimpl.UnsafeEnabled { 1616 mi := &file_data_proto_msgTypes[27] 1617 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1618 ms.StoreMessageInfo(mi) 1619 } 1620 } 1621 1622 func (x *FailureStats) String() string { 1623 return protoimpl.X.MessageStringOf(x) 1624 } 1625 1626 func (*FailureStats) ProtoMessage() {} 1627 1628 func (x *FailureStats) ProtoReflect() protoreflect.Message { 1629 mi := &file_data_proto_msgTypes[27] 1630 if protoimpl.UnsafeEnabled && x != nil { 1631 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1632 if ms.LoadMessageInfo() == nil { 1633 ms.StoreMessageInfo(mi) 1634 } 1635 return ms 1636 } 1637 return mi.MessageOf(x) 1638 } 1639 1640 // Deprecated: Use FailureStats.ProtoReflect.Descriptor instead. 1641 func (*FailureStats) Descriptor() ([]byte, []int) { 1642 return file_data_proto_rawDescGZIP(), []int{27} 1643 } 1644 1645 func (x *FailureStats) GetNumFailingTests() int32 { 1646 if x != nil { 1647 return x.NumFailingTests 1648 } 1649 return 0 1650 } 1651 1652 // Summarized representation of data from tab's HealthinessInfo. 1653 // Will be rendered in healthiness summary component within tab summary. 1654 type HealthinessSummary struct { 1655 state protoimpl.MessageState 1656 sizeCache protoimpl.SizeCache 1657 unknownFields protoimpl.UnknownFields 1658 1659 // Top flaky tests (with flakiness > 0) by the current flakiness %. 1660 TopFlakyTests []*FlakyTestInfo `protobuf:"bytes,1,rep,name=top_flaky_tests,json=topFlakyTests,proto3" json:"top_flaky_tests,omitempty"` 1661 // Aggregated healthiness stats for the tab. 1662 HealthinessStats *HealthinessStats `protobuf:"bytes,2,opt,name=healthiness_stats,json=healthinessStats,proto3" json:"healthiness_stats,omitempty"` 1663 } 1664 1665 func (x *HealthinessSummary) Reset() { 1666 *x = HealthinessSummary{} 1667 if protoimpl.UnsafeEnabled { 1668 mi := &file_data_proto_msgTypes[28] 1669 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1670 ms.StoreMessageInfo(mi) 1671 } 1672 } 1673 1674 func (x *HealthinessSummary) String() string { 1675 return protoimpl.X.MessageStringOf(x) 1676 } 1677 1678 func (*HealthinessSummary) ProtoMessage() {} 1679 1680 func (x *HealthinessSummary) ProtoReflect() protoreflect.Message { 1681 mi := &file_data_proto_msgTypes[28] 1682 if protoimpl.UnsafeEnabled && x != nil { 1683 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1684 if ms.LoadMessageInfo() == nil { 1685 ms.StoreMessageInfo(mi) 1686 } 1687 return ms 1688 } 1689 return mi.MessageOf(x) 1690 } 1691 1692 // Deprecated: Use HealthinessSummary.ProtoReflect.Descriptor instead. 1693 func (*HealthinessSummary) Descriptor() ([]byte, []int) { 1694 return file_data_proto_rawDescGZIP(), []int{28} 1695 } 1696 1697 func (x *HealthinessSummary) GetTopFlakyTests() []*FlakyTestInfo { 1698 if x != nil { 1699 return x.TopFlakyTests 1700 } 1701 return nil 1702 } 1703 1704 func (x *HealthinessSummary) GetHealthinessStats() *HealthinessStats { 1705 if x != nil { 1706 return x.HealthinessStats 1707 } 1708 return nil 1709 } 1710 1711 // Subset of data from HealthinessInfo.TestInfo defined in summary.proto. 1712 type FlakyTestInfo struct { 1713 state protoimpl.MessageState 1714 sizeCache protoimpl.SizeCache 1715 unknownFields protoimpl.UnknownFields 1716 1717 // Name of the flaky test. 1718 DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` 1719 // The flakiness of the test, in % measured out of 100 1720 Flakiness float32 `protobuf:"fixed32,2,opt,name=flakiness,proto3" json:"flakiness,omitempty"` 1721 // The change of flakiness based on the last interval's flakiness 1722 // The interval is set by each tab's config, with a default of 7 days. 1723 Change summary.TestInfo_Trend `protobuf:"varint,3,opt,name=change,proto3,enum=testgrid.summary.TestInfo_Trend" json:"change,omitempty"` 1724 } 1725 1726 func (x *FlakyTestInfo) Reset() { 1727 *x = FlakyTestInfo{} 1728 if protoimpl.UnsafeEnabled { 1729 mi := &file_data_proto_msgTypes[29] 1730 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1731 ms.StoreMessageInfo(mi) 1732 } 1733 } 1734 1735 func (x *FlakyTestInfo) String() string { 1736 return protoimpl.X.MessageStringOf(x) 1737 } 1738 1739 func (*FlakyTestInfo) ProtoMessage() {} 1740 1741 func (x *FlakyTestInfo) ProtoReflect() protoreflect.Message { 1742 mi := &file_data_proto_msgTypes[29] 1743 if protoimpl.UnsafeEnabled && x != nil { 1744 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1745 if ms.LoadMessageInfo() == nil { 1746 ms.StoreMessageInfo(mi) 1747 } 1748 return ms 1749 } 1750 return mi.MessageOf(x) 1751 } 1752 1753 // Deprecated: Use FlakyTestInfo.ProtoReflect.Descriptor instead. 1754 func (*FlakyTestInfo) Descriptor() ([]byte, []int) { 1755 return file_data_proto_rawDescGZIP(), []int{29} 1756 } 1757 1758 func (x *FlakyTestInfo) GetDisplayName() string { 1759 if x != nil { 1760 return x.DisplayName 1761 } 1762 return "" 1763 } 1764 1765 func (x *FlakyTestInfo) GetFlakiness() float32 { 1766 if x != nil { 1767 return x.Flakiness 1768 } 1769 return 0 1770 } 1771 1772 func (x *FlakyTestInfo) GetChange() summary.TestInfo_Trend { 1773 if x != nil { 1774 return x.Change 1775 } 1776 return summary.TestInfo_Trend(0) 1777 } 1778 1779 // Aggregated healthiness stats across the tab. 1780 type HealthinessStats struct { 1781 state protoimpl.MessageState 1782 sizeCache protoimpl.SizeCache 1783 unknownFields protoimpl.UnknownFields 1784 1785 // The start of the time frame that the analysis was run for. 1786 Start *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"` 1787 // The end of the time frame that the analysis was run for. 1788 End *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"` 1789 // Number of flaky tests in the tab. 1790 NumFlakyTests int32 `protobuf:"varint,3,opt,name=num_flaky_tests,json=numFlakyTests,proto3" json:"num_flaky_tests,omitempty"` 1791 // Average flakiness for the current analysis interval. 1792 AverageFlakiness float32 `protobuf:"fixed32,4,opt,name=average_flakiness,json=averageFlakiness,proto3" json:"average_flakiness,omitempty"` 1793 // Average flakiness for the previous analysis interval. 1794 PreviousFlakiness float32 `protobuf:"fixed32,5,opt,name=previous_flakiness,json=previousFlakiness,proto3" json:"previous_flakiness,omitempty"` 1795 } 1796 1797 func (x *HealthinessStats) Reset() { 1798 *x = HealthinessStats{} 1799 if protoimpl.UnsafeEnabled { 1800 mi := &file_data_proto_msgTypes[30] 1801 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1802 ms.StoreMessageInfo(mi) 1803 } 1804 } 1805 1806 func (x *HealthinessStats) String() string { 1807 return protoimpl.X.MessageStringOf(x) 1808 } 1809 1810 func (*HealthinessStats) ProtoMessage() {} 1811 1812 func (x *HealthinessStats) ProtoReflect() protoreflect.Message { 1813 mi := &file_data_proto_msgTypes[30] 1814 if protoimpl.UnsafeEnabled && x != nil { 1815 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1816 if ms.LoadMessageInfo() == nil { 1817 ms.StoreMessageInfo(mi) 1818 } 1819 return ms 1820 } 1821 return mi.MessageOf(x) 1822 } 1823 1824 // Deprecated: Use HealthinessStats.ProtoReflect.Descriptor instead. 1825 func (*HealthinessStats) Descriptor() ([]byte, []int) { 1826 return file_data_proto_rawDescGZIP(), []int{30} 1827 } 1828 1829 func (x *HealthinessStats) GetStart() *timestamppb.Timestamp { 1830 if x != nil { 1831 return x.Start 1832 } 1833 return nil 1834 } 1835 1836 func (x *HealthinessStats) GetEnd() *timestamppb.Timestamp { 1837 if x != nil { 1838 return x.End 1839 } 1840 return nil 1841 } 1842 1843 func (x *HealthinessStats) GetNumFlakyTests() int32 { 1844 if x != nil { 1845 return x.NumFlakyTests 1846 } 1847 return 0 1848 } 1849 1850 func (x *HealthinessStats) GetAverageFlakiness() float32 { 1851 if x != nil { 1852 return x.AverageFlakiness 1853 } 1854 return 0 1855 } 1856 1857 func (x *HealthinessStats) GetPreviousFlakiness() float32 { 1858 if x != nil { 1859 return x.PreviousFlakiness 1860 } 1861 return 0 1862 } 1863 1864 // Summary for a particular dashboard. 1865 // Contains the info required to render dashboard summary in UI (done in the dashboard group view). 1866 type DashboardSummary struct { 1867 state protoimpl.MessageState 1868 sizeCache protoimpl.SizeCache 1869 unknownFields protoimpl.UnknownFields 1870 1871 // Name of the dashboard. 1872 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1873 // Overall status of the dashboard. 1874 // Will be calculated based on the presence and importance of underlying tabs. 1875 OverallStatus string `protobuf:"bytes,2,opt,name=overall_status,json=overallStatus,proto3" json:"overall_status,omitempty"` 1876 // Count of the tabs by status. 1877 TabStatusCount map[string]int32 `protobuf:"bytes,3,rep,name=tab_status_count,json=tabStatusCount,proto3" json:"tab_status_count,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` 1878 } 1879 1880 func (x *DashboardSummary) Reset() { 1881 *x = DashboardSummary{} 1882 if protoimpl.UnsafeEnabled { 1883 mi := &file_data_proto_msgTypes[31] 1884 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1885 ms.StoreMessageInfo(mi) 1886 } 1887 } 1888 1889 func (x *DashboardSummary) String() string { 1890 return protoimpl.X.MessageStringOf(x) 1891 } 1892 1893 func (*DashboardSummary) ProtoMessage() {} 1894 1895 func (x *DashboardSummary) ProtoReflect() protoreflect.Message { 1896 mi := &file_data_proto_msgTypes[31] 1897 if protoimpl.UnsafeEnabled && x != nil { 1898 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1899 if ms.LoadMessageInfo() == nil { 1900 ms.StoreMessageInfo(mi) 1901 } 1902 return ms 1903 } 1904 return mi.MessageOf(x) 1905 } 1906 1907 // Deprecated: Use DashboardSummary.ProtoReflect.Descriptor instead. 1908 func (*DashboardSummary) Descriptor() ([]byte, []int) { 1909 return file_data_proto_rawDescGZIP(), []int{31} 1910 } 1911 1912 func (x *DashboardSummary) GetName() string { 1913 if x != nil { 1914 return x.Name 1915 } 1916 return "" 1917 } 1918 1919 func (x *DashboardSummary) GetOverallStatus() string { 1920 if x != nil { 1921 return x.OverallStatus 1922 } 1923 return "" 1924 } 1925 1926 func (x *DashboardSummary) GetTabStatusCount() map[string]int32 { 1927 if x != nil { 1928 return x.TabStatusCount 1929 } 1930 return nil 1931 } 1932 1933 type ListHeadersResponse_Header struct { 1934 state protoimpl.MessageState 1935 sizeCache protoimpl.SizeCache 1936 unknownFields protoimpl.UnknownFields 1937 1938 // Unique instance of the job, typically BUILD_NUMBER from prow or a guid 1939 Build string `protobuf:"bytes,1,opt,name=build,proto3" json:"build,omitempty"` 1940 // Name associated with the column (such as the run/invocation ID). No two 1941 // columns should have the same build_id and name. The name field allows the 1942 // display of multiple columns with the same build_id. 1943 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` 1944 // When the build started running 1945 Started *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=started,proto3" json:"started,omitempty"` 1946 // Additional custom headers like commit, image used, etc. 1947 Extra []string `protobuf:"bytes,4,rep,name=extra,proto3" json:"extra,omitempty"` 1948 // Custom hotlist ids. 1949 HotlistIds string `protobuf:"bytes,5,opt,name=hotlist_ids,json=hotlistIds,proto3" json:"hotlist_ids,omitempty"` 1950 } 1951 1952 func (x *ListHeadersResponse_Header) Reset() { 1953 *x = ListHeadersResponse_Header{} 1954 if protoimpl.UnsafeEnabled { 1955 mi := &file_data_proto_msgTypes[32] 1956 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1957 ms.StoreMessageInfo(mi) 1958 } 1959 } 1960 1961 func (x *ListHeadersResponse_Header) String() string { 1962 return protoimpl.X.MessageStringOf(x) 1963 } 1964 1965 func (*ListHeadersResponse_Header) ProtoMessage() {} 1966 1967 func (x *ListHeadersResponse_Header) ProtoReflect() protoreflect.Message { 1968 mi := &file_data_proto_msgTypes[32] 1969 if protoimpl.UnsafeEnabled && x != nil { 1970 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1971 if ms.LoadMessageInfo() == nil { 1972 ms.StoreMessageInfo(mi) 1973 } 1974 return ms 1975 } 1976 return mi.MessageOf(x) 1977 } 1978 1979 // Deprecated: Use ListHeadersResponse_Header.ProtoReflect.Descriptor instead. 1980 func (*ListHeadersResponse_Header) Descriptor() ([]byte, []int) { 1981 return file_data_proto_rawDescGZIP(), []int{11, 0} 1982 } 1983 1984 func (x *ListHeadersResponse_Header) GetBuild() string { 1985 if x != nil { 1986 return x.Build 1987 } 1988 return "" 1989 } 1990 1991 func (x *ListHeadersResponse_Header) GetName() string { 1992 if x != nil { 1993 return x.Name 1994 } 1995 return "" 1996 } 1997 1998 func (x *ListHeadersResponse_Header) GetStarted() *timestamppb.Timestamp { 1999 if x != nil { 2000 return x.Started 2001 } 2002 return nil 2003 } 2004 2005 func (x *ListHeadersResponse_Header) GetExtra() []string { 2006 if x != nil { 2007 return x.Extra 2008 } 2009 return nil 2010 } 2011 2012 func (x *ListHeadersResponse_Header) GetHotlistIds() string { 2013 if x != nil { 2014 return x.HotlistIds 2015 } 2016 return "" 2017 } 2018 2019 type ListRowsResponse_Row struct { 2020 state protoimpl.MessageState 2021 sizeCache protoimpl.SizeCache 2022 unknownFields protoimpl.UnknownFields 2023 2024 // Display name of the test case 2025 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2026 // Historical results of the test case. Unencoded. 2027 Cells []*ListRowsResponse_Cell `protobuf:"bytes,2,rep,name=cells,proto3" json:"cells,omitempty"` 2028 // Issue or Bug IDs associated with the test case 2029 Issues []string `protobuf:"bytes,3,rep,name=issues,proto3" json:"issues,omitempty"` 2030 // Alert associated with the test case 2031 Alert *state.AlertInfo `protobuf:"bytes,4,opt,name=alert,proto3" json:"alert,omitempty"` 2032 } 2033 2034 func (x *ListRowsResponse_Row) Reset() { 2035 *x = ListRowsResponse_Row{} 2036 if protoimpl.UnsafeEnabled { 2037 mi := &file_data_proto_msgTypes[33] 2038 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2039 ms.StoreMessageInfo(mi) 2040 } 2041 } 2042 2043 func (x *ListRowsResponse_Row) String() string { 2044 return protoimpl.X.MessageStringOf(x) 2045 } 2046 2047 func (*ListRowsResponse_Row) ProtoMessage() {} 2048 2049 func (x *ListRowsResponse_Row) ProtoReflect() protoreflect.Message { 2050 mi := &file_data_proto_msgTypes[33] 2051 if protoimpl.UnsafeEnabled && x != nil { 2052 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2053 if ms.LoadMessageInfo() == nil { 2054 ms.StoreMessageInfo(mi) 2055 } 2056 return ms 2057 } 2058 return mi.MessageOf(x) 2059 } 2060 2061 // Deprecated: Use ListRowsResponse_Row.ProtoReflect.Descriptor instead. 2062 func (*ListRowsResponse_Row) Descriptor() ([]byte, []int) { 2063 return file_data_proto_rawDescGZIP(), []int{13, 0} 2064 } 2065 2066 func (x *ListRowsResponse_Row) GetName() string { 2067 if x != nil { 2068 return x.Name 2069 } 2070 return "" 2071 } 2072 2073 func (x *ListRowsResponse_Row) GetCells() []*ListRowsResponse_Cell { 2074 if x != nil { 2075 return x.Cells 2076 } 2077 return nil 2078 } 2079 2080 func (x *ListRowsResponse_Row) GetIssues() []string { 2081 if x != nil { 2082 return x.Issues 2083 } 2084 return nil 2085 } 2086 2087 func (x *ListRowsResponse_Row) GetAlert() *state.AlertInfo { 2088 if x != nil { 2089 return x.Alert 2090 } 2091 return nil 2092 } 2093 2094 type ListRowsResponse_Cell struct { 2095 state protoimpl.MessageState 2096 sizeCache protoimpl.SizeCache 2097 unknownFields protoimpl.UnknownFields 2098 2099 Result int32 `protobuf:"varint,1,opt,name=result,proto3" json:"result,omitempty"` 2100 CellId string `protobuf:"bytes,2,opt,name=cell_id,json=cellId,proto3" json:"cell_id,omitempty"` 2101 Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` 2102 Icon string `protobuf:"bytes,4,opt,name=icon,proto3" json:"icon,omitempty"` 2103 } 2104 2105 func (x *ListRowsResponse_Cell) Reset() { 2106 *x = ListRowsResponse_Cell{} 2107 if protoimpl.UnsafeEnabled { 2108 mi := &file_data_proto_msgTypes[34] 2109 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2110 ms.StoreMessageInfo(mi) 2111 } 2112 } 2113 2114 func (x *ListRowsResponse_Cell) String() string { 2115 return protoimpl.X.MessageStringOf(x) 2116 } 2117 2118 func (*ListRowsResponse_Cell) ProtoMessage() {} 2119 2120 func (x *ListRowsResponse_Cell) ProtoReflect() protoreflect.Message { 2121 mi := &file_data_proto_msgTypes[34] 2122 if protoimpl.UnsafeEnabled && x != nil { 2123 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2124 if ms.LoadMessageInfo() == nil { 2125 ms.StoreMessageInfo(mi) 2126 } 2127 return ms 2128 } 2129 return mi.MessageOf(x) 2130 } 2131 2132 // Deprecated: Use ListRowsResponse_Cell.ProtoReflect.Descriptor instead. 2133 func (*ListRowsResponse_Cell) Descriptor() ([]byte, []int) { 2134 return file_data_proto_rawDescGZIP(), []int{13, 1} 2135 } 2136 2137 func (x *ListRowsResponse_Cell) GetResult() int32 { 2138 if x != nil { 2139 return x.Result 2140 } 2141 return 0 2142 } 2143 2144 func (x *ListRowsResponse_Cell) GetCellId() string { 2145 if x != nil { 2146 return x.CellId 2147 } 2148 return "" 2149 } 2150 2151 func (x *ListRowsResponse_Cell) GetMessage() string { 2152 if x != nil { 2153 return x.Message 2154 } 2155 return "" 2156 } 2157 2158 func (x *ListRowsResponse_Cell) GetIcon() string { 2159 if x != nil { 2160 return x.Icon 2161 } 2162 return "" 2163 } 2164 2165 var File_data_proto protoreflect.FileDescriptor 2166 2167 var file_data_proto_rawDesc = []byte{ 2168 0x0a, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x74, 0x65, 2169 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 2170 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 2171 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 2172 0x70, 0x62, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 2173 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x70, 0x62, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 2174 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x70, 0x62, 2175 0x2f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x2f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 2176 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2d, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 2177 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 2178 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 2179 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x5c, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x73, 2180 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 2181 0x42, 0x0a, 0x0a, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 2182 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 2183 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 2184 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 2185 0x72, 0x64, 0x73, 0x22, 0x32, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 2186 0x6f, 0x61, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 2187 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 2188 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x63, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x44, 2189 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 2190 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x10, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 2191 0x61, 0x72, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 2192 0x32, 0x19, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 2193 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0f, 0x64, 0x61, 0x73, 2194 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0x4e, 0x0a, 0x18, 2195 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62, 2196 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 2197 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x1c, 2198 0x0a, 0x09, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 2199 0x09, 0x52, 0x09, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x22, 0x5d, 0x0a, 0x19, 2200 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62, 2201 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x64, 0x61, 0x73, 2202 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x61, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 2203 0x0b, 0x32, 0x19, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 2204 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0d, 0x64, 0x61, 2205 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62, 0x73, 0x22, 0x49, 0x0a, 0x13, 0x47, 2206 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 2207 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 2208 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x61, 0x73, 0x68, 2209 0x62, 0x6f, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x73, 2210 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x22, 0xd9, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x61, 2211 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 2212 0x43, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 2213 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 2214 0x64, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 2215 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 2216 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 2217 0x74, 0x61, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x61, 0x75, 2218 0x6c, 0x74, 0x54, 0x61, 0x62, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 2219 0x73, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x73, 0x18, 0x03, 2220 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x73, 0x75, 0x70, 0x70, 0x72, 0x65, 0x73, 0x73, 0x46, 0x61, 2221 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x68, 0x69, 0x67, 2222 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x74, 0x6f, 0x64, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 2223 0x28, 0x08, 0x52, 0x0e, 0x68, 0x69, 0x67, 0x68, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x54, 0x6f, 0x64, 2224 0x61, 0x79, 0x22, 0x59, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 2225 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 2226 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 2227 0x63, 0x6f, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 2228 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 2229 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x56, 0x0a, 2230 0x19, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x47, 0x72, 0x6f, 2231 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x64, 0x61, 2232 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 2233 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 2234 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x0a, 0x64, 0x61, 0x73, 0x68, 0x62, 2235 0x6f, 0x61, 0x72, 0x64, 0x73, 0x22, 0x5a, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x65, 0x61, 2236 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 2237 0x63, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 2238 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x18, 0x02, 2239 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 2240 0x10, 0x0a, 0x03, 0x74, 0x61, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 2241 0x62, 0x22, 0xfe, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 2242 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x07, 0x68, 0x65, 0x61, 2243 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x74, 0x65, 0x73, 2244 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 2245 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 2246 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 2247 0x1a, 0x9f, 0x01, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x62, 2248 0x75, 0x69, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 2249 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 2250 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 2251 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2252 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 2253 0x6d, 0x70, 0x52, 0x07, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 2254 0x78, 0x74, 0x72, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 2255 0x61, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x6f, 0x74, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x73, 2256 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x68, 0x6f, 0x74, 0x6c, 0x69, 0x73, 0x74, 0x49, 2257 0x64, 0x73, 0x22, 0x57, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 2258 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x01, 2259 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 2260 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 2261 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x62, 2262 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x62, 0x22, 0xd7, 0x02, 0x0a, 0x10, 2263 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 2264 0x12, 0x39, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 2265 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 2266 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x77, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 2267 0x65, 0x2e, 0x52, 0x6f, 0x77, 0x52, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x1a, 0xa0, 0x01, 0x0a, 0x03, 2268 0x52, 0x6f, 0x77, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 2269 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x05, 0x63, 0x65, 0x6c, 0x6c, 0x73, 2270 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 2271 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x77, 2272 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x52, 0x05, 2273 0x63, 0x65, 0x6c, 0x6c, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x18, 2274 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x12, 0x2f, 0x0a, 2275 0x05, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x74, 2276 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x41, 0x6c, 2277 0x65, 0x72, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x61, 0x6c, 0x65, 0x72, 0x74, 0x1a, 0x65, 2278 0x0a, 0x04, 0x43, 0x65, 0x6c, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 2279 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x17, 2280 0x0a, 0x07, 0x63, 0x65, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 2281 0x06, 0x63, 0x65, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 2282 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 2283 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 2284 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x22, 0x32, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 2285 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 2286 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 2287 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x6d, 0x0a, 0x11, 0x44, 0x61, 0x73, 2288 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x12, 2289 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 2290 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 2291 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 2292 0x61, 0x72, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 2293 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x47, 2294 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x4d, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 2295 0x54, 0x61, 0x62, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 2296 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 2297 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x61, 0x73, 2298 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 2299 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x22, 0x5c, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x54, 2300 0x61, 0x62, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 2301 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x0d, 0x74, 0x61, 0x62, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 2302 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x74, 0x65, 0x73, 2303 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 2304 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0c, 0x74, 0x61, 0x62, 0x53, 0x75, 0x6d, 0x6d, 2305 0x61, 0x72, 0x69, 0x65, 0x73, 0x22, 0x5c, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x53, 2306 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 2307 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 2308 0x6f, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 2309 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 2310 0x64, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 2311 0x74, 0x61, 0x62, 0x22, 0x55, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x53, 0x75, 0x6d, 2312 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0b, 2313 0x74, 0x61, 0x62, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 2314 0x0b, 0x32, 0x1b, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 2315 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x62, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0a, 2316 0x74, 0x61, 0x62, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x22, 0x5e, 0x0a, 0x1d, 0x4c, 0x69, 2317 0x73, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x75, 0x6d, 0x6d, 0x61, 2318 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 2319 0x63, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 2320 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x67, 2321 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x61, 0x73, 0x68, 2322 0x62, 0x6f, 0x61, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x74, 0x0a, 0x1e, 0x4c, 0x69, 2323 0x73, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x75, 0x6d, 0x6d, 0x61, 2324 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x13, 2325 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 2326 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x65, 0x73, 0x74, 2327 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x73, 0x68, 2328 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x12, 0x64, 0x61, 2329 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 2330 0x22, 0x50, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 2331 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 2332 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 2333 0x63, 0x6f, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 2334 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 2335 0x72, 0x64, 0x22, 0x6d, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 2336 0x72, 0x64, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 2337 0x65, 0x12, 0x4e, 0x0a, 0x11, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x73, 2338 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 2339 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x44, 2340 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 2341 0x10, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 2342 0x79, 0x22, 0x9c, 0x04, 0x0a, 0x0a, 0x54, 0x61, 0x62, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 2343 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x6e, 0x61, 2344 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x61, 0x73, 0x68, 0x62, 0x6f, 2345 0x61, 0x72, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x5f, 0x6e, 2346 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x74, 0x61, 0x62, 0x4e, 0x61, 2347 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 2348 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x76, 0x65, 0x72, 2349 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x65, 0x74, 2350 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x65, 0x73, 2351 0x73, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x64, 0x65, 0x74, 0x61, 2352 0x69, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 2353 0x65, 0x12, 0x48, 0x0a, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 2354 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 2355 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 2356 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x52, 2357 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x4e, 0x0a, 0x15, 0x6c, 2358 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 2359 0x74, 0x61, 0x6d, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 2360 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 2361 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 2362 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x30, 0x0a, 0x14, 0x6c, 2363 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x75, 2364 0x69, 0x6c, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6c, 0x61, 0x74, 0x65, 0x73, 2365 0x74, 0x50, 0x61, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x4b, 0x0a, 2366 0x10, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 2367 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 2368 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 2369 0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x75, 2370 0x72, 0x65, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x54, 0x0a, 0x13, 0x68, 0x65, 2371 0x61, 0x6c, 0x74, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 2372 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 2373 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 2374 0x69, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x12, 0x68, 0x65, 2375 0x61, 0x6c, 0x74, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 2376 0x22, 0xa3, 0x01, 0x0a, 0x0f, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x73, 0x53, 0x75, 0x6d, 2377 0x6d, 0x61, 0x72, 0x79, 0x12, 0x4c, 0x0a, 0x11, 0x74, 0x6f, 0x70, 0x5f, 0x66, 0x61, 0x69, 0x6c, 2378 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 2379 0x20, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 2380 0x31, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 2381 0x6f, 0x52, 0x0f, 0x74, 0x6f, 0x70, 0x46, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x65, 0x73, 2382 0x74, 0x73, 0x12, 0x42, 0x0a, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x5f, 0x73, 0x74, 2383 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x65, 0x73, 0x74, 2384 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x69, 0x6c, 2385 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0c, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 2386 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0xd9, 0x01, 0x0a, 0x0f, 0x46, 0x61, 0x69, 0x6c, 0x69, 2387 0x6e, 0x67, 0x54, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 2388 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 2389 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 2390 0x0a, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 2391 0x05, 0x52, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x41, 0x0a, 0x0e, 2392 0x70, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 2393 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 2394 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 2395 0x52, 0x0d, 0x70, 0x61, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 2396 0x41, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 2397 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2398 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 2399 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x66, 0x61, 0x69, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 2400 0x6d, 0x70, 0x22, 0x3a, 0x0a, 0x0c, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 2401 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x75, 0x6d, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x69, 0x6e, 2402 0x67, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6e, 2403 0x75, 0x6d, 0x46, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x65, 0x73, 0x74, 0x73, 0x22, 0xac, 2404 0x01, 0x0a, 0x12, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x75, 2405 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x46, 0x0a, 0x0f, 0x74, 0x6f, 0x70, 0x5f, 0x66, 0x6c, 0x61, 2406 0x6b, 0x79, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 2407 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 2408 0x2e, 0x46, 0x6c, 0x61, 0x6b, 0x79, 0x54, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 2409 0x74, 0x6f, 0x70, 0x46, 0x6c, 0x61, 0x6b, 0x79, 0x54, 0x65, 0x73, 0x74, 0x73, 0x12, 0x4e, 0x0a, 2410 0x11, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x5f, 0x73, 0x74, 0x61, 2411 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 2412 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 2413 0x68, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x10, 0x68, 0x65, 0x61, 2414 0x6c, 0x74, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0x8a, 0x01, 2415 0x0a, 0x0d, 0x46, 0x6c, 0x61, 0x6b, 0x79, 0x54, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 2416 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 2417 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 2418 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x6c, 0x61, 0x6b, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x18, 2419 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x66, 0x6c, 0x61, 0x6b, 0x69, 0x6e, 0x65, 0x73, 0x73, 2420 0x12, 0x38, 0x0a, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 2421 0x32, 0x20, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x73, 0x75, 0x6d, 0x6d, 2422 0x61, 0x72, 0x79, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x54, 0x72, 0x65, 2423 0x6e, 0x64, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x22, 0xf6, 0x01, 0x0a, 0x10, 0x48, 2424 0x65, 0x61, 0x6c, 0x74, 0x68, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 2425 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 2426 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 2427 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 2428 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 2429 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 2430 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 2431 0x26, 0x0a, 0x0f, 0x6e, 0x75, 0x6d, 0x5f, 0x66, 0x6c, 0x61, 0x6b, 0x79, 0x5f, 0x74, 0x65, 0x73, 2432 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x46, 0x6c, 0x61, 2433 0x6b, 0x79, 0x54, 0x65, 0x73, 0x74, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x76, 0x65, 0x72, 0x61, 2434 0x67, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x6b, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 2435 0x28, 0x02, 0x52, 0x10, 0x61, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x46, 0x6c, 0x61, 0x6b, 0x69, 2436 0x6e, 0x65, 0x73, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 2437 0x5f, 0x66, 0x6c, 0x61, 0x6b, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 2438 0x52, 0x11, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x46, 0x6c, 0x61, 0x6b, 0x69, 0x6e, 2439 0x65, 0x73, 0x73, 0x22, 0xf1, 0x01, 0x0a, 0x10, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 2440 0x64, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 2441 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 2442 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 2443 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x53, 0x74, 0x61, 2444 0x74, 0x75, 0x73, 0x12, 0x5f, 0x0a, 0x10, 0x74, 0x61, 0x62, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 2445 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 2446 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 2447 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 2448 0x2e, 0x54, 0x61, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 2449 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x74, 0x61, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 2450 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x41, 0x0a, 0x13, 0x54, 0x61, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 2451 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 2452 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 2453 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x76, 0x61, 2454 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x32, 0x8f, 0x09, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74, 2455 0x47, 0x72, 0x69, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x63, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 2456 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x12, 0x26, 0x2e, 0x74, 0x65, 0x73, 2457 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 2458 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 2459 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 2460 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 2461 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 2462 0x13, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x47, 0x72, 2463 0x6f, 0x75, 0x70, 0x73, 0x12, 0x2b, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 2464 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 2465 0x6f, 0x61, 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 2466 0x74, 0x1a, 0x2c, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 2467 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 2468 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 2469 0x00, 0x12, 0x6c, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 2470 0x72, 0x64, 0x54, 0x61, 0x62, 0x73, 0x12, 0x29, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 2471 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x73, 2472 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x61, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 2473 0x74, 0x1a, 0x2a, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 2474 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 2475 0x64, 0x54, 0x61, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 2476 0x5d, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 2477 0x24, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 2478 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 2479 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 2480 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 2481 0x6f, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 2482 0x0a, 0x11, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x47, 0x72, 2483 0x6f, 0x75, 0x70, 0x12, 0x29, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 2484 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 2485 0x72, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 2486 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 2487 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x47, 0x72, 0x6f, 2488 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5a, 0x0a, 0x0b, 2489 0x4c, 0x69, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x23, 0x2e, 0x74, 0x65, 2490 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 2491 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 2492 0x1a, 0x24, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 2493 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 2494 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 2495 0x52, 0x6f, 0x77, 0x73, 0x12, 0x20, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 2496 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x77, 0x73, 0x52, 2497 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 2498 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x77, 2499 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x10, 0x4c, 2500 0x69, 0x73, 0x74, 0x54, 0x61, 0x62, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 2501 0x28, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 2502 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x62, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 2503 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x74, 0x65, 0x73, 0x74, 2504 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 2505 0x54, 0x61, 0x62, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 2506 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x60, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 2507 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x25, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 2508 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 2509 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 2510 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 2511 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x62, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x65, 2512 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 2513 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 2514 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 2515 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 2516 0x72, 0x64, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 2517 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 2518 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 2519 0x72, 0x64, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 2520 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 2521 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x2b, 0x2e, 0x74, 2522 0x65, 0x73, 0x74, 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 2523 0x65, 0x74, 0x44, 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x75, 0x6d, 0x6d, 0x61, 2524 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x74, 0x65, 0x73, 0x74, 2525 0x67, 0x72, 0x69, 0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 2526 0x61, 0x73, 0x68, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 2527 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x33, 0x5a, 0x31, 0x67, 0x69, 0x74, 2528 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x43, 0x6c, 2529 0x6f, 0x75, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x74, 0x65, 0x73, 0x74, 2530 0x67, 0x72, 0x69, 0x64, 0x2f, 0x70, 0x62, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x62, 0x06, 2531 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 2532 } 2533 2534 var ( 2535 file_data_proto_rawDescOnce sync.Once 2536 file_data_proto_rawDescData = file_data_proto_rawDesc 2537 ) 2538 2539 func file_data_proto_rawDescGZIP() []byte { 2540 file_data_proto_rawDescOnce.Do(func() { 2541 file_data_proto_rawDescData = protoimpl.X.CompressGZIP(file_data_proto_rawDescData) 2542 }) 2543 return file_data_proto_rawDescData 2544 } 2545 2546 var file_data_proto_msgTypes = make([]protoimpl.MessageInfo, 36) 2547 var file_data_proto_goTypes = []interface{}{ 2548 (*ListDashboardsRequest)(nil), // 0: testgrid.api.v1.ListDashboardsRequest 2549 (*ListDashboardsResponse)(nil), // 1: testgrid.api.v1.ListDashboardsResponse 2550 (*ListDashboardGroupsRequest)(nil), // 2: testgrid.api.v1.ListDashboardGroupsRequest 2551 (*ListDashboardGroupsResponse)(nil), // 3: testgrid.api.v1.ListDashboardGroupsResponse 2552 (*ListDashboardTabsRequest)(nil), // 4: testgrid.api.v1.ListDashboardTabsRequest 2553 (*ListDashboardTabsResponse)(nil), // 5: testgrid.api.v1.ListDashboardTabsResponse 2554 (*GetDashboardRequest)(nil), // 6: testgrid.api.v1.GetDashboardRequest 2555 (*GetDashboardResponse)(nil), // 7: testgrid.api.v1.GetDashboardResponse 2556 (*GetDashboardGroupRequest)(nil), // 8: testgrid.api.v1.GetDashboardGroupRequest 2557 (*GetDashboardGroupResponse)(nil), // 9: testgrid.api.v1.GetDashboardGroupResponse 2558 (*ListHeadersRequest)(nil), // 10: testgrid.api.v1.ListHeadersRequest 2559 (*ListHeadersResponse)(nil), // 11: testgrid.api.v1.ListHeadersResponse 2560 (*ListRowsRequest)(nil), // 12: testgrid.api.v1.ListRowsRequest 2561 (*ListRowsResponse)(nil), // 13: testgrid.api.v1.ListRowsResponse 2562 (*Resource)(nil), // 14: testgrid.api.v1.Resource 2563 (*DashboardResource)(nil), // 15: testgrid.api.v1.DashboardResource 2564 (*ListTabSummariesRequest)(nil), // 16: testgrid.api.v1.ListTabSummariesRequest 2565 (*ListTabSummariesResponse)(nil), // 17: testgrid.api.v1.ListTabSummariesResponse 2566 (*GetTabSummaryRequest)(nil), // 18: testgrid.api.v1.GetTabSummaryRequest 2567 (*GetTabSummaryResponse)(nil), // 19: testgrid.api.v1.GetTabSummaryResponse 2568 (*ListDashboardSummariesRequest)(nil), // 20: testgrid.api.v1.ListDashboardSummariesRequest 2569 (*ListDashboardSummariesResponse)(nil), // 21: testgrid.api.v1.ListDashboardSummariesResponse 2570 (*GetDashboardSummaryRequest)(nil), // 22: testgrid.api.v1.GetDashboardSummaryRequest 2571 (*GetDashboardSummaryResponse)(nil), // 23: testgrid.api.v1.GetDashboardSummaryResponse 2572 (*TabSummary)(nil), // 24: testgrid.api.v1.TabSummary 2573 (*FailuresSummary)(nil), // 25: testgrid.api.v1.FailuresSummary 2574 (*FailingTestInfo)(nil), // 26: testgrid.api.v1.FailingTestInfo 2575 (*FailureStats)(nil), // 27: testgrid.api.v1.FailureStats 2576 (*HealthinessSummary)(nil), // 28: testgrid.api.v1.HealthinessSummary 2577 (*FlakyTestInfo)(nil), // 29: testgrid.api.v1.FlakyTestInfo 2578 (*HealthinessStats)(nil), // 30: testgrid.api.v1.HealthinessStats 2579 (*DashboardSummary)(nil), // 31: testgrid.api.v1.DashboardSummary 2580 (*ListHeadersResponse_Header)(nil), // 32: testgrid.api.v1.ListHeadersResponse.Header 2581 (*ListRowsResponse_Row)(nil), // 33: testgrid.api.v1.ListRowsResponse.Row 2582 (*ListRowsResponse_Cell)(nil), // 34: testgrid.api.v1.ListRowsResponse.Cell 2583 nil, // 35: testgrid.api.v1.DashboardSummary.TabStatusCountEntry 2584 (*config.Notification)(nil), // 36: testgrid.config.Notification 2585 (*timestamppb.Timestamp)(nil), // 37: google.protobuf.Timestamp 2586 (summary.TestInfo_Trend)(0), // 38: testgrid.summary.TestInfo.Trend 2587 (*state.AlertInfo)(nil), // 39: testgrid.state.AlertInfo 2588 } 2589 var file_data_proto_depIdxs = []int32{ 2590 15, // 0: testgrid.api.v1.ListDashboardsResponse.dashboards:type_name -> testgrid.api.v1.DashboardResource 2591 14, // 1: testgrid.api.v1.ListDashboardGroupsResponse.dashboard_groups:type_name -> testgrid.api.v1.Resource 2592 14, // 2: testgrid.api.v1.ListDashboardTabsResponse.dashboard_tabs:type_name -> testgrid.api.v1.Resource 2593 36, // 3: testgrid.api.v1.GetDashboardResponse.notifications:type_name -> testgrid.config.Notification 2594 14, // 4: testgrid.api.v1.GetDashboardGroupResponse.dashboards:type_name -> testgrid.api.v1.Resource 2595 32, // 5: testgrid.api.v1.ListHeadersResponse.headers:type_name -> testgrid.api.v1.ListHeadersResponse.Header 2596 33, // 6: testgrid.api.v1.ListRowsResponse.rows:type_name -> testgrid.api.v1.ListRowsResponse.Row 2597 24, // 7: testgrid.api.v1.ListTabSummariesResponse.tab_summaries:type_name -> testgrid.api.v1.TabSummary 2598 24, // 8: testgrid.api.v1.GetTabSummaryResponse.tab_summary:type_name -> testgrid.api.v1.TabSummary 2599 31, // 9: testgrid.api.v1.ListDashboardSummariesResponse.dashboard_summaries:type_name -> testgrid.api.v1.DashboardSummary 2600 31, // 10: testgrid.api.v1.GetDashboardSummaryResponse.dashboard_summary:type_name -> testgrid.api.v1.DashboardSummary 2601 37, // 11: testgrid.api.v1.TabSummary.last_run_timestamp:type_name -> google.protobuf.Timestamp 2602 37, // 12: testgrid.api.v1.TabSummary.last_update_timestamp:type_name -> google.protobuf.Timestamp 2603 25, // 13: testgrid.api.v1.TabSummary.failures_summary:type_name -> testgrid.api.v1.FailuresSummary 2604 28, // 14: testgrid.api.v1.TabSummary.healthiness_summary:type_name -> testgrid.api.v1.HealthinessSummary 2605 26, // 15: testgrid.api.v1.FailuresSummary.top_failing_tests:type_name -> testgrid.api.v1.FailingTestInfo 2606 27, // 16: testgrid.api.v1.FailuresSummary.failure_stats:type_name -> testgrid.api.v1.FailureStats 2607 37, // 17: testgrid.api.v1.FailingTestInfo.pass_timestamp:type_name -> google.protobuf.Timestamp 2608 37, // 18: testgrid.api.v1.FailingTestInfo.fail_timestamp:type_name -> google.protobuf.Timestamp 2609 29, // 19: testgrid.api.v1.HealthinessSummary.top_flaky_tests:type_name -> testgrid.api.v1.FlakyTestInfo 2610 30, // 20: testgrid.api.v1.HealthinessSummary.healthiness_stats:type_name -> testgrid.api.v1.HealthinessStats 2611 38, // 21: testgrid.api.v1.FlakyTestInfo.change:type_name -> testgrid.summary.TestInfo.Trend 2612 37, // 22: testgrid.api.v1.HealthinessStats.start:type_name -> google.protobuf.Timestamp 2613 37, // 23: testgrid.api.v1.HealthinessStats.end:type_name -> google.protobuf.Timestamp 2614 35, // 24: testgrid.api.v1.DashboardSummary.tab_status_count:type_name -> testgrid.api.v1.DashboardSummary.TabStatusCountEntry 2615 37, // 25: testgrid.api.v1.ListHeadersResponse.Header.started:type_name -> google.protobuf.Timestamp 2616 34, // 26: testgrid.api.v1.ListRowsResponse.Row.cells:type_name -> testgrid.api.v1.ListRowsResponse.Cell 2617 39, // 27: testgrid.api.v1.ListRowsResponse.Row.alert:type_name -> testgrid.state.AlertInfo 2618 0, // 28: testgrid.api.v1.TestGridData.ListDashboards:input_type -> testgrid.api.v1.ListDashboardsRequest 2619 2, // 29: testgrid.api.v1.TestGridData.ListDashboardGroups:input_type -> testgrid.api.v1.ListDashboardGroupsRequest 2620 4, // 30: testgrid.api.v1.TestGridData.ListDashboardTabs:input_type -> testgrid.api.v1.ListDashboardTabsRequest 2621 6, // 31: testgrid.api.v1.TestGridData.GetDashboard:input_type -> testgrid.api.v1.GetDashboardRequest 2622 8, // 32: testgrid.api.v1.TestGridData.GetDashboardGroup:input_type -> testgrid.api.v1.GetDashboardGroupRequest 2623 10, // 33: testgrid.api.v1.TestGridData.ListHeaders:input_type -> testgrid.api.v1.ListHeadersRequest 2624 12, // 34: testgrid.api.v1.TestGridData.ListRows:input_type -> testgrid.api.v1.ListRowsRequest 2625 16, // 35: testgrid.api.v1.TestGridData.ListTabSummaries:input_type -> testgrid.api.v1.ListTabSummariesRequest 2626 18, // 36: testgrid.api.v1.TestGridData.GetTabSummary:input_type -> testgrid.api.v1.GetTabSummaryRequest 2627 20, // 37: testgrid.api.v1.TestGridData.ListDashboardSummaries:input_type -> testgrid.api.v1.ListDashboardSummariesRequest 2628 22, // 38: testgrid.api.v1.TestGridData.GetDashboardSummary:input_type -> testgrid.api.v1.GetDashboardSummaryRequest 2629 1, // 39: testgrid.api.v1.TestGridData.ListDashboards:output_type -> testgrid.api.v1.ListDashboardsResponse 2630 3, // 40: testgrid.api.v1.TestGridData.ListDashboardGroups:output_type -> testgrid.api.v1.ListDashboardGroupsResponse 2631 5, // 41: testgrid.api.v1.TestGridData.ListDashboardTabs:output_type -> testgrid.api.v1.ListDashboardTabsResponse 2632 7, // 42: testgrid.api.v1.TestGridData.GetDashboard:output_type -> testgrid.api.v1.GetDashboardResponse 2633 9, // 43: testgrid.api.v1.TestGridData.GetDashboardGroup:output_type -> testgrid.api.v1.GetDashboardGroupResponse 2634 11, // 44: testgrid.api.v1.TestGridData.ListHeaders:output_type -> testgrid.api.v1.ListHeadersResponse 2635 13, // 45: testgrid.api.v1.TestGridData.ListRows:output_type -> testgrid.api.v1.ListRowsResponse 2636 17, // 46: testgrid.api.v1.TestGridData.ListTabSummaries:output_type -> testgrid.api.v1.ListTabSummariesResponse 2637 19, // 47: testgrid.api.v1.TestGridData.GetTabSummary:output_type -> testgrid.api.v1.GetTabSummaryResponse 2638 21, // 48: testgrid.api.v1.TestGridData.ListDashboardSummaries:output_type -> testgrid.api.v1.ListDashboardSummariesResponse 2639 23, // 49: testgrid.api.v1.TestGridData.GetDashboardSummary:output_type -> testgrid.api.v1.GetDashboardSummaryResponse 2640 39, // [39:50] is the sub-list for method output_type 2641 28, // [28:39] is the sub-list for method input_type 2642 28, // [28:28] is the sub-list for extension type_name 2643 28, // [28:28] is the sub-list for extension extendee 2644 0, // [0:28] is the sub-list for field type_name 2645 } 2646 2647 func init() { file_data_proto_init() } 2648 func file_data_proto_init() { 2649 if File_data_proto != nil { 2650 return 2651 } 2652 if !protoimpl.UnsafeEnabled { 2653 file_data_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 2654 switch v := v.(*ListDashboardsRequest); i { 2655 case 0: 2656 return &v.state 2657 case 1: 2658 return &v.sizeCache 2659 case 2: 2660 return &v.unknownFields 2661 default: 2662 return nil 2663 } 2664 } 2665 file_data_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 2666 switch v := v.(*ListDashboardsResponse); i { 2667 case 0: 2668 return &v.state 2669 case 1: 2670 return &v.sizeCache 2671 case 2: 2672 return &v.unknownFields 2673 default: 2674 return nil 2675 } 2676 } 2677 file_data_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 2678 switch v := v.(*ListDashboardGroupsRequest); i { 2679 case 0: 2680 return &v.state 2681 case 1: 2682 return &v.sizeCache 2683 case 2: 2684 return &v.unknownFields 2685 default: 2686 return nil 2687 } 2688 } 2689 file_data_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 2690 switch v := v.(*ListDashboardGroupsResponse); i { 2691 case 0: 2692 return &v.state 2693 case 1: 2694 return &v.sizeCache 2695 case 2: 2696 return &v.unknownFields 2697 default: 2698 return nil 2699 } 2700 } 2701 file_data_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 2702 switch v := v.(*ListDashboardTabsRequest); i { 2703 case 0: 2704 return &v.state 2705 case 1: 2706 return &v.sizeCache 2707 case 2: 2708 return &v.unknownFields 2709 default: 2710 return nil 2711 } 2712 } 2713 file_data_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 2714 switch v := v.(*ListDashboardTabsResponse); i { 2715 case 0: 2716 return &v.state 2717 case 1: 2718 return &v.sizeCache 2719 case 2: 2720 return &v.unknownFields 2721 default: 2722 return nil 2723 } 2724 } 2725 file_data_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 2726 switch v := v.(*GetDashboardRequest); i { 2727 case 0: 2728 return &v.state 2729 case 1: 2730 return &v.sizeCache 2731 case 2: 2732 return &v.unknownFields 2733 default: 2734 return nil 2735 } 2736 } 2737 file_data_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 2738 switch v := v.(*GetDashboardResponse); i { 2739 case 0: 2740 return &v.state 2741 case 1: 2742 return &v.sizeCache 2743 case 2: 2744 return &v.unknownFields 2745 default: 2746 return nil 2747 } 2748 } 2749 file_data_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 2750 switch v := v.(*GetDashboardGroupRequest); i { 2751 case 0: 2752 return &v.state 2753 case 1: 2754 return &v.sizeCache 2755 case 2: 2756 return &v.unknownFields 2757 default: 2758 return nil 2759 } 2760 } 2761 file_data_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 2762 switch v := v.(*GetDashboardGroupResponse); i { 2763 case 0: 2764 return &v.state 2765 case 1: 2766 return &v.sizeCache 2767 case 2: 2768 return &v.unknownFields 2769 default: 2770 return nil 2771 } 2772 } 2773 file_data_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 2774 switch v := v.(*ListHeadersRequest); i { 2775 case 0: 2776 return &v.state 2777 case 1: 2778 return &v.sizeCache 2779 case 2: 2780 return &v.unknownFields 2781 default: 2782 return nil 2783 } 2784 } 2785 file_data_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 2786 switch v := v.(*ListHeadersResponse); i { 2787 case 0: 2788 return &v.state 2789 case 1: 2790 return &v.sizeCache 2791 case 2: 2792 return &v.unknownFields 2793 default: 2794 return nil 2795 } 2796 } 2797 file_data_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 2798 switch v := v.(*ListRowsRequest); i { 2799 case 0: 2800 return &v.state 2801 case 1: 2802 return &v.sizeCache 2803 case 2: 2804 return &v.unknownFields 2805 default: 2806 return nil 2807 } 2808 } 2809 file_data_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 2810 switch v := v.(*ListRowsResponse); i { 2811 case 0: 2812 return &v.state 2813 case 1: 2814 return &v.sizeCache 2815 case 2: 2816 return &v.unknownFields 2817 default: 2818 return nil 2819 } 2820 } 2821 file_data_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 2822 switch v := v.(*Resource); i { 2823 case 0: 2824 return &v.state 2825 case 1: 2826 return &v.sizeCache 2827 case 2: 2828 return &v.unknownFields 2829 default: 2830 return nil 2831 } 2832 } 2833 file_data_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 2834 switch v := v.(*DashboardResource); i { 2835 case 0: 2836 return &v.state 2837 case 1: 2838 return &v.sizeCache 2839 case 2: 2840 return &v.unknownFields 2841 default: 2842 return nil 2843 } 2844 } 2845 file_data_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 2846 switch v := v.(*ListTabSummariesRequest); i { 2847 case 0: 2848 return &v.state 2849 case 1: 2850 return &v.sizeCache 2851 case 2: 2852 return &v.unknownFields 2853 default: 2854 return nil 2855 } 2856 } 2857 file_data_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 2858 switch v := v.(*ListTabSummariesResponse); i { 2859 case 0: 2860 return &v.state 2861 case 1: 2862 return &v.sizeCache 2863 case 2: 2864 return &v.unknownFields 2865 default: 2866 return nil 2867 } 2868 } 2869 file_data_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 2870 switch v := v.(*GetTabSummaryRequest); i { 2871 case 0: 2872 return &v.state 2873 case 1: 2874 return &v.sizeCache 2875 case 2: 2876 return &v.unknownFields 2877 default: 2878 return nil 2879 } 2880 } 2881 file_data_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 2882 switch v := v.(*GetTabSummaryResponse); i { 2883 case 0: 2884 return &v.state 2885 case 1: 2886 return &v.sizeCache 2887 case 2: 2888 return &v.unknownFields 2889 default: 2890 return nil 2891 } 2892 } 2893 file_data_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 2894 switch v := v.(*ListDashboardSummariesRequest); i { 2895 case 0: 2896 return &v.state 2897 case 1: 2898 return &v.sizeCache 2899 case 2: 2900 return &v.unknownFields 2901 default: 2902 return nil 2903 } 2904 } 2905 file_data_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 2906 switch v := v.(*ListDashboardSummariesResponse); i { 2907 case 0: 2908 return &v.state 2909 case 1: 2910 return &v.sizeCache 2911 case 2: 2912 return &v.unknownFields 2913 default: 2914 return nil 2915 } 2916 } 2917 file_data_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 2918 switch v := v.(*GetDashboardSummaryRequest); i { 2919 case 0: 2920 return &v.state 2921 case 1: 2922 return &v.sizeCache 2923 case 2: 2924 return &v.unknownFields 2925 default: 2926 return nil 2927 } 2928 } 2929 file_data_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 2930 switch v := v.(*GetDashboardSummaryResponse); i { 2931 case 0: 2932 return &v.state 2933 case 1: 2934 return &v.sizeCache 2935 case 2: 2936 return &v.unknownFields 2937 default: 2938 return nil 2939 } 2940 } 2941 file_data_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { 2942 switch v := v.(*TabSummary); i { 2943 case 0: 2944 return &v.state 2945 case 1: 2946 return &v.sizeCache 2947 case 2: 2948 return &v.unknownFields 2949 default: 2950 return nil 2951 } 2952 } 2953 file_data_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 2954 switch v := v.(*FailuresSummary); i { 2955 case 0: 2956 return &v.state 2957 case 1: 2958 return &v.sizeCache 2959 case 2: 2960 return &v.unknownFields 2961 default: 2962 return nil 2963 } 2964 } 2965 file_data_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { 2966 switch v := v.(*FailingTestInfo); i { 2967 case 0: 2968 return &v.state 2969 case 1: 2970 return &v.sizeCache 2971 case 2: 2972 return &v.unknownFields 2973 default: 2974 return nil 2975 } 2976 } 2977 file_data_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { 2978 switch v := v.(*FailureStats); i { 2979 case 0: 2980 return &v.state 2981 case 1: 2982 return &v.sizeCache 2983 case 2: 2984 return &v.unknownFields 2985 default: 2986 return nil 2987 } 2988 } 2989 file_data_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { 2990 switch v := v.(*HealthinessSummary); i { 2991 case 0: 2992 return &v.state 2993 case 1: 2994 return &v.sizeCache 2995 case 2: 2996 return &v.unknownFields 2997 default: 2998 return nil 2999 } 3000 } 3001 file_data_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { 3002 switch v := v.(*FlakyTestInfo); i { 3003 case 0: 3004 return &v.state 3005 case 1: 3006 return &v.sizeCache 3007 case 2: 3008 return &v.unknownFields 3009 default: 3010 return nil 3011 } 3012 } 3013 file_data_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { 3014 switch v := v.(*HealthinessStats); i { 3015 case 0: 3016 return &v.state 3017 case 1: 3018 return &v.sizeCache 3019 case 2: 3020 return &v.unknownFields 3021 default: 3022 return nil 3023 } 3024 } 3025 file_data_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { 3026 switch v := v.(*DashboardSummary); i { 3027 case 0: 3028 return &v.state 3029 case 1: 3030 return &v.sizeCache 3031 case 2: 3032 return &v.unknownFields 3033 default: 3034 return nil 3035 } 3036 } 3037 file_data_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { 3038 switch v := v.(*ListHeadersResponse_Header); i { 3039 case 0: 3040 return &v.state 3041 case 1: 3042 return &v.sizeCache 3043 case 2: 3044 return &v.unknownFields 3045 default: 3046 return nil 3047 } 3048 } 3049 file_data_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { 3050 switch v := v.(*ListRowsResponse_Row); i { 3051 case 0: 3052 return &v.state 3053 case 1: 3054 return &v.sizeCache 3055 case 2: 3056 return &v.unknownFields 3057 default: 3058 return nil 3059 } 3060 } 3061 file_data_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { 3062 switch v := v.(*ListRowsResponse_Cell); i { 3063 case 0: 3064 return &v.state 3065 case 1: 3066 return &v.sizeCache 3067 case 2: 3068 return &v.unknownFields 3069 default: 3070 return nil 3071 } 3072 } 3073 } 3074 type x struct{} 3075 out := protoimpl.TypeBuilder{ 3076 File: protoimpl.DescBuilder{ 3077 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 3078 RawDescriptor: file_data_proto_rawDesc, 3079 NumEnums: 0, 3080 NumMessages: 36, 3081 NumExtensions: 0, 3082 NumServices: 1, 3083 }, 3084 GoTypes: file_data_proto_goTypes, 3085 DependencyIndexes: file_data_proto_depIdxs, 3086 MessageInfos: file_data_proto_msgTypes, 3087 }.Build() 3088 File_data_proto = out.File 3089 file_data_proto_rawDesc = nil 3090 file_data_proto_goTypes = nil 3091 file_data_proto_depIdxs = nil 3092 } 3093 3094 // Reference imports to suppress errors if they are not otherwise used. 3095 var _ context.Context 3096 var _ grpc.ClientConnInterface 3097 3098 // This is a compile-time assertion to ensure that this generated file 3099 // is compatible with the grpc package it is being compiled against. 3100 const _ = grpc.SupportPackageIsVersion6 3101 3102 // TestGridDataClient is the client API for TestGridData service. 3103 // 3104 // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 3105 type TestGridDataClient interface { 3106 // GET /dashboards 3107 // Lists dashboard names 3108 ListDashboards(ctx context.Context, in *ListDashboardsRequest, opts ...grpc.CallOption) (*ListDashboardsResponse, error) 3109 // GET /dashboard-groups 3110 // Lists the dashboard group names 3111 ListDashboardGroups(ctx context.Context, in *ListDashboardGroupsRequest, opts ...grpc.CallOption) (*ListDashboardGroupsResponse, error) 3112 // GET /dashboards/{dashboard}/tabs 3113 // Lists the dashboard tab names 3114 ListDashboardTabs(ctx context.Context, in *ListDashboardTabsRequest, opts ...grpc.CallOption) (*ListDashboardTabsResponse, error) 3115 // GET /dashboards/{dashboard} 3116 // Returns a Dashboard config's metadata 3117 // Excludes subtabs, accessed through the /tabs list method instead 3118 GetDashboard(ctx context.Context, in *GetDashboardRequest, opts ...grpc.CallOption) (*GetDashboardResponse, error) 3119 // GET /dashboard-groups/{dashboard-group} 3120 // Lists the dashboard names in that group 3121 GetDashboardGroup(ctx context.Context, in *GetDashboardGroupRequest, opts ...grpc.CallOption) (*GetDashboardGroupResponse, error) 3122 // GET /dashboards/{dashboard}/tabs/{tab}/headers 3123 // Returns the headers for grid results 3124 ListHeaders(ctx context.Context, in *ListHeadersRequest, opts ...grpc.CallOption) (*ListHeadersResponse, error) 3125 // GET /dashboards/{dashboard}/tabs/{tab}/rows 3126 // Returns information on grid rows, and data within those rows 3127 ListRows(ctx context.Context, in *ListRowsRequest, opts ...grpc.CallOption) (*ListRowsResponse, error) 3128 // GET /dashboards/{dashboard}/tab-summaries 3129 // Returns the list of tab summaries for dashboard. 3130 ListTabSummaries(ctx context.Context, in *ListTabSummariesRequest, opts ...grpc.CallOption) (*ListTabSummariesResponse, error) 3131 // GET /dashboards/{dashboard}/tab-summaries/{tab} 3132 GetTabSummary(ctx context.Context, in *GetTabSummaryRequest, opts ...grpc.CallOption) (*GetTabSummaryResponse, error) 3133 // GET /dashboard-groups/{dashboard-group}/dashboard-summaries 3134 ListDashboardSummaries(ctx context.Context, in *ListDashboardSummariesRequest, opts ...grpc.CallOption) (*ListDashboardSummariesResponse, error) 3135 // GET /dashboards/{dashboard}/summary 3136 GetDashboardSummary(ctx context.Context, in *GetDashboardSummaryRequest, opts ...grpc.CallOption) (*GetDashboardSummaryResponse, error) 3137 } 3138 3139 type testGridDataClient struct { 3140 cc grpc.ClientConnInterface 3141 } 3142 3143 func NewTestGridDataClient(cc grpc.ClientConnInterface) TestGridDataClient { 3144 return &testGridDataClient{cc} 3145 } 3146 3147 func (c *testGridDataClient) ListDashboards(ctx context.Context, in *ListDashboardsRequest, opts ...grpc.CallOption) (*ListDashboardsResponse, error) { 3148 out := new(ListDashboardsResponse) 3149 err := c.cc.Invoke(ctx, "/testgrid.api.v1.TestGridData/ListDashboards", in, out, opts...) 3150 if err != nil { 3151 return nil, err 3152 } 3153 return out, nil 3154 } 3155 3156 func (c *testGridDataClient) ListDashboardGroups(ctx context.Context, in *ListDashboardGroupsRequest, opts ...grpc.CallOption) (*ListDashboardGroupsResponse, error) { 3157 out := new(ListDashboardGroupsResponse) 3158 err := c.cc.Invoke(ctx, "/testgrid.api.v1.TestGridData/ListDashboardGroups", in, out, opts...) 3159 if err != nil { 3160 return nil, err 3161 } 3162 return out, nil 3163 } 3164 3165 func (c *testGridDataClient) ListDashboardTabs(ctx context.Context, in *ListDashboardTabsRequest, opts ...grpc.CallOption) (*ListDashboardTabsResponse, error) { 3166 out := new(ListDashboardTabsResponse) 3167 err := c.cc.Invoke(ctx, "/testgrid.api.v1.TestGridData/ListDashboardTabs", in, out, opts...) 3168 if err != nil { 3169 return nil, err 3170 } 3171 return out, nil 3172 } 3173 3174 func (c *testGridDataClient) GetDashboard(ctx context.Context, in *GetDashboardRequest, opts ...grpc.CallOption) (*GetDashboardResponse, error) { 3175 out := new(GetDashboardResponse) 3176 err := c.cc.Invoke(ctx, "/testgrid.api.v1.TestGridData/GetDashboard", in, out, opts...) 3177 if err != nil { 3178 return nil, err 3179 } 3180 return out, nil 3181 } 3182 3183 func (c *testGridDataClient) GetDashboardGroup(ctx context.Context, in *GetDashboardGroupRequest, opts ...grpc.CallOption) (*GetDashboardGroupResponse, error) { 3184 out := new(GetDashboardGroupResponse) 3185 err := c.cc.Invoke(ctx, "/testgrid.api.v1.TestGridData/GetDashboardGroup", in, out, opts...) 3186 if err != nil { 3187 return nil, err 3188 } 3189 return out, nil 3190 } 3191 3192 func (c *testGridDataClient) ListHeaders(ctx context.Context, in *ListHeadersRequest, opts ...grpc.CallOption) (*ListHeadersResponse, error) { 3193 out := new(ListHeadersResponse) 3194 err := c.cc.Invoke(ctx, "/testgrid.api.v1.TestGridData/ListHeaders", in, out, opts...) 3195 if err != nil { 3196 return nil, err 3197 } 3198 return out, nil 3199 } 3200 3201 func (c *testGridDataClient) ListRows(ctx context.Context, in *ListRowsRequest, opts ...grpc.CallOption) (*ListRowsResponse, error) { 3202 out := new(ListRowsResponse) 3203 err := c.cc.Invoke(ctx, "/testgrid.api.v1.TestGridData/ListRows", in, out, opts...) 3204 if err != nil { 3205 return nil, err 3206 } 3207 return out, nil 3208 } 3209 3210 func (c *testGridDataClient) ListTabSummaries(ctx context.Context, in *ListTabSummariesRequest, opts ...grpc.CallOption) (*ListTabSummariesResponse, error) { 3211 out := new(ListTabSummariesResponse) 3212 err := c.cc.Invoke(ctx, "/testgrid.api.v1.TestGridData/ListTabSummaries", in, out, opts...) 3213 if err != nil { 3214 return nil, err 3215 } 3216 return out, nil 3217 } 3218 3219 func (c *testGridDataClient) GetTabSummary(ctx context.Context, in *GetTabSummaryRequest, opts ...grpc.CallOption) (*GetTabSummaryResponse, error) { 3220 out := new(GetTabSummaryResponse) 3221 err := c.cc.Invoke(ctx, "/testgrid.api.v1.TestGridData/GetTabSummary", in, out, opts...) 3222 if err != nil { 3223 return nil, err 3224 } 3225 return out, nil 3226 } 3227 3228 func (c *testGridDataClient) ListDashboardSummaries(ctx context.Context, in *ListDashboardSummariesRequest, opts ...grpc.CallOption) (*ListDashboardSummariesResponse, error) { 3229 out := new(ListDashboardSummariesResponse) 3230 err := c.cc.Invoke(ctx, "/testgrid.api.v1.TestGridData/ListDashboardSummaries", in, out, opts...) 3231 if err != nil { 3232 return nil, err 3233 } 3234 return out, nil 3235 } 3236 3237 func (c *testGridDataClient) GetDashboardSummary(ctx context.Context, in *GetDashboardSummaryRequest, opts ...grpc.CallOption) (*GetDashboardSummaryResponse, error) { 3238 out := new(GetDashboardSummaryResponse) 3239 err := c.cc.Invoke(ctx, "/testgrid.api.v1.TestGridData/GetDashboardSummary", in, out, opts...) 3240 if err != nil { 3241 return nil, err 3242 } 3243 return out, nil 3244 } 3245 3246 // TestGridDataServer is the server API for TestGridData service. 3247 type TestGridDataServer interface { 3248 // GET /dashboards 3249 // Lists dashboard names 3250 ListDashboards(context.Context, *ListDashboardsRequest) (*ListDashboardsResponse, error) 3251 // GET /dashboard-groups 3252 // Lists the dashboard group names 3253 ListDashboardGroups(context.Context, *ListDashboardGroupsRequest) (*ListDashboardGroupsResponse, error) 3254 // GET /dashboards/{dashboard}/tabs 3255 // Lists the dashboard tab names 3256 ListDashboardTabs(context.Context, *ListDashboardTabsRequest) (*ListDashboardTabsResponse, error) 3257 // GET /dashboards/{dashboard} 3258 // Returns a Dashboard config's metadata 3259 // Excludes subtabs, accessed through the /tabs list method instead 3260 GetDashboard(context.Context, *GetDashboardRequest) (*GetDashboardResponse, error) 3261 // GET /dashboard-groups/{dashboard-group} 3262 // Lists the dashboard names in that group 3263 GetDashboardGroup(context.Context, *GetDashboardGroupRequest) (*GetDashboardGroupResponse, error) 3264 // GET /dashboards/{dashboard}/tabs/{tab}/headers 3265 // Returns the headers for grid results 3266 ListHeaders(context.Context, *ListHeadersRequest) (*ListHeadersResponse, error) 3267 // GET /dashboards/{dashboard}/tabs/{tab}/rows 3268 // Returns information on grid rows, and data within those rows 3269 ListRows(context.Context, *ListRowsRequest) (*ListRowsResponse, error) 3270 // GET /dashboards/{dashboard}/tab-summaries 3271 // Returns the list of tab summaries for dashboard. 3272 ListTabSummaries(context.Context, *ListTabSummariesRequest) (*ListTabSummariesResponse, error) 3273 // GET /dashboards/{dashboard}/tab-summaries/{tab} 3274 GetTabSummary(context.Context, *GetTabSummaryRequest) (*GetTabSummaryResponse, error) 3275 // GET /dashboard-groups/{dashboard-group}/dashboard-summaries 3276 ListDashboardSummaries(context.Context, *ListDashboardSummariesRequest) (*ListDashboardSummariesResponse, error) 3277 // GET /dashboards/{dashboard}/summary 3278 GetDashboardSummary(context.Context, *GetDashboardSummaryRequest) (*GetDashboardSummaryResponse, error) 3279 } 3280 3281 // UnimplementedTestGridDataServer can be embedded to have forward compatible implementations. 3282 type UnimplementedTestGridDataServer struct { 3283 } 3284 3285 func (*UnimplementedTestGridDataServer) ListDashboards(context.Context, *ListDashboardsRequest) (*ListDashboardsResponse, error) { 3286 return nil, status.Errorf(codes.Unimplemented, "method ListDashboards not implemented") 3287 } 3288 func (*UnimplementedTestGridDataServer) ListDashboardGroups(context.Context, *ListDashboardGroupsRequest) (*ListDashboardGroupsResponse, error) { 3289 return nil, status.Errorf(codes.Unimplemented, "method ListDashboardGroups not implemented") 3290 } 3291 func (*UnimplementedTestGridDataServer) ListDashboardTabs(context.Context, *ListDashboardTabsRequest) (*ListDashboardTabsResponse, error) { 3292 return nil, status.Errorf(codes.Unimplemented, "method ListDashboardTabs not implemented") 3293 } 3294 func (*UnimplementedTestGridDataServer) GetDashboard(context.Context, *GetDashboardRequest) (*GetDashboardResponse, error) { 3295 return nil, status.Errorf(codes.Unimplemented, "method GetDashboard not implemented") 3296 } 3297 func (*UnimplementedTestGridDataServer) GetDashboardGroup(context.Context, *GetDashboardGroupRequest) (*GetDashboardGroupResponse, error) { 3298 return nil, status.Errorf(codes.Unimplemented, "method GetDashboardGroup not implemented") 3299 } 3300 func (*UnimplementedTestGridDataServer) ListHeaders(context.Context, *ListHeadersRequest) (*ListHeadersResponse, error) { 3301 return nil, status.Errorf(codes.Unimplemented, "method ListHeaders not implemented") 3302 } 3303 func (*UnimplementedTestGridDataServer) ListRows(context.Context, *ListRowsRequest) (*ListRowsResponse, error) { 3304 return nil, status.Errorf(codes.Unimplemented, "method ListRows not implemented") 3305 } 3306 func (*UnimplementedTestGridDataServer) ListTabSummaries(context.Context, *ListTabSummariesRequest) (*ListTabSummariesResponse, error) { 3307 return nil, status.Errorf(codes.Unimplemented, "method ListTabSummaries not implemented") 3308 } 3309 func (*UnimplementedTestGridDataServer) GetTabSummary(context.Context, *GetTabSummaryRequest) (*GetTabSummaryResponse, error) { 3310 return nil, status.Errorf(codes.Unimplemented, "method GetTabSummary not implemented") 3311 } 3312 func (*UnimplementedTestGridDataServer) ListDashboardSummaries(context.Context, *ListDashboardSummariesRequest) (*ListDashboardSummariesResponse, error) { 3313 return nil, status.Errorf(codes.Unimplemented, "method ListDashboardSummaries not implemented") 3314 } 3315 func (*UnimplementedTestGridDataServer) GetDashboardSummary(context.Context, *GetDashboardSummaryRequest) (*GetDashboardSummaryResponse, error) { 3316 return nil, status.Errorf(codes.Unimplemented, "method GetDashboardSummary not implemented") 3317 } 3318 3319 func RegisterTestGridDataServer(s *grpc.Server, srv TestGridDataServer) { 3320 s.RegisterService(&_TestGridData_serviceDesc, srv) 3321 } 3322 3323 func _TestGridData_ListDashboards_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3324 in := new(ListDashboardsRequest) 3325 if err := dec(in); err != nil { 3326 return nil, err 3327 } 3328 if interceptor == nil { 3329 return srv.(TestGridDataServer).ListDashboards(ctx, in) 3330 } 3331 info := &grpc.UnaryServerInfo{ 3332 Server: srv, 3333 FullMethod: "/testgrid.api.v1.TestGridData/ListDashboards", 3334 } 3335 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3336 return srv.(TestGridDataServer).ListDashboards(ctx, req.(*ListDashboardsRequest)) 3337 } 3338 return interceptor(ctx, in, info, handler) 3339 } 3340 3341 func _TestGridData_ListDashboardGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3342 in := new(ListDashboardGroupsRequest) 3343 if err := dec(in); err != nil { 3344 return nil, err 3345 } 3346 if interceptor == nil { 3347 return srv.(TestGridDataServer).ListDashboardGroups(ctx, in) 3348 } 3349 info := &grpc.UnaryServerInfo{ 3350 Server: srv, 3351 FullMethod: "/testgrid.api.v1.TestGridData/ListDashboardGroups", 3352 } 3353 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3354 return srv.(TestGridDataServer).ListDashboardGroups(ctx, req.(*ListDashboardGroupsRequest)) 3355 } 3356 return interceptor(ctx, in, info, handler) 3357 } 3358 3359 func _TestGridData_ListDashboardTabs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3360 in := new(ListDashboardTabsRequest) 3361 if err := dec(in); err != nil { 3362 return nil, err 3363 } 3364 if interceptor == nil { 3365 return srv.(TestGridDataServer).ListDashboardTabs(ctx, in) 3366 } 3367 info := &grpc.UnaryServerInfo{ 3368 Server: srv, 3369 FullMethod: "/testgrid.api.v1.TestGridData/ListDashboardTabs", 3370 } 3371 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3372 return srv.(TestGridDataServer).ListDashboardTabs(ctx, req.(*ListDashboardTabsRequest)) 3373 } 3374 return interceptor(ctx, in, info, handler) 3375 } 3376 3377 func _TestGridData_GetDashboard_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3378 in := new(GetDashboardRequest) 3379 if err := dec(in); err != nil { 3380 return nil, err 3381 } 3382 if interceptor == nil { 3383 return srv.(TestGridDataServer).GetDashboard(ctx, in) 3384 } 3385 info := &grpc.UnaryServerInfo{ 3386 Server: srv, 3387 FullMethod: "/testgrid.api.v1.TestGridData/GetDashboard", 3388 } 3389 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3390 return srv.(TestGridDataServer).GetDashboard(ctx, req.(*GetDashboardRequest)) 3391 } 3392 return interceptor(ctx, in, info, handler) 3393 } 3394 3395 func _TestGridData_GetDashboardGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3396 in := new(GetDashboardGroupRequest) 3397 if err := dec(in); err != nil { 3398 return nil, err 3399 } 3400 if interceptor == nil { 3401 return srv.(TestGridDataServer).GetDashboardGroup(ctx, in) 3402 } 3403 info := &grpc.UnaryServerInfo{ 3404 Server: srv, 3405 FullMethod: "/testgrid.api.v1.TestGridData/GetDashboardGroup", 3406 } 3407 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3408 return srv.(TestGridDataServer).GetDashboardGroup(ctx, req.(*GetDashboardGroupRequest)) 3409 } 3410 return interceptor(ctx, in, info, handler) 3411 } 3412 3413 func _TestGridData_ListHeaders_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3414 in := new(ListHeadersRequest) 3415 if err := dec(in); err != nil { 3416 return nil, err 3417 } 3418 if interceptor == nil { 3419 return srv.(TestGridDataServer).ListHeaders(ctx, in) 3420 } 3421 info := &grpc.UnaryServerInfo{ 3422 Server: srv, 3423 FullMethod: "/testgrid.api.v1.TestGridData/ListHeaders", 3424 } 3425 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3426 return srv.(TestGridDataServer).ListHeaders(ctx, req.(*ListHeadersRequest)) 3427 } 3428 return interceptor(ctx, in, info, handler) 3429 } 3430 3431 func _TestGridData_ListRows_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3432 in := new(ListRowsRequest) 3433 if err := dec(in); err != nil { 3434 return nil, err 3435 } 3436 if interceptor == nil { 3437 return srv.(TestGridDataServer).ListRows(ctx, in) 3438 } 3439 info := &grpc.UnaryServerInfo{ 3440 Server: srv, 3441 FullMethod: "/testgrid.api.v1.TestGridData/ListRows", 3442 } 3443 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3444 return srv.(TestGridDataServer).ListRows(ctx, req.(*ListRowsRequest)) 3445 } 3446 return interceptor(ctx, in, info, handler) 3447 } 3448 3449 func _TestGridData_ListTabSummaries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3450 in := new(ListTabSummariesRequest) 3451 if err := dec(in); err != nil { 3452 return nil, err 3453 } 3454 if interceptor == nil { 3455 return srv.(TestGridDataServer).ListTabSummaries(ctx, in) 3456 } 3457 info := &grpc.UnaryServerInfo{ 3458 Server: srv, 3459 FullMethod: "/testgrid.api.v1.TestGridData/ListTabSummaries", 3460 } 3461 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3462 return srv.(TestGridDataServer).ListTabSummaries(ctx, req.(*ListTabSummariesRequest)) 3463 } 3464 return interceptor(ctx, in, info, handler) 3465 } 3466 3467 func _TestGridData_GetTabSummary_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3468 in := new(GetTabSummaryRequest) 3469 if err := dec(in); err != nil { 3470 return nil, err 3471 } 3472 if interceptor == nil { 3473 return srv.(TestGridDataServer).GetTabSummary(ctx, in) 3474 } 3475 info := &grpc.UnaryServerInfo{ 3476 Server: srv, 3477 FullMethod: "/testgrid.api.v1.TestGridData/GetTabSummary", 3478 } 3479 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3480 return srv.(TestGridDataServer).GetTabSummary(ctx, req.(*GetTabSummaryRequest)) 3481 } 3482 return interceptor(ctx, in, info, handler) 3483 } 3484 3485 func _TestGridData_ListDashboardSummaries_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3486 in := new(ListDashboardSummariesRequest) 3487 if err := dec(in); err != nil { 3488 return nil, err 3489 } 3490 if interceptor == nil { 3491 return srv.(TestGridDataServer).ListDashboardSummaries(ctx, in) 3492 } 3493 info := &grpc.UnaryServerInfo{ 3494 Server: srv, 3495 FullMethod: "/testgrid.api.v1.TestGridData/ListDashboardSummaries", 3496 } 3497 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3498 return srv.(TestGridDataServer).ListDashboardSummaries(ctx, req.(*ListDashboardSummariesRequest)) 3499 } 3500 return interceptor(ctx, in, info, handler) 3501 } 3502 3503 func _TestGridData_GetDashboardSummary_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 3504 in := new(GetDashboardSummaryRequest) 3505 if err := dec(in); err != nil { 3506 return nil, err 3507 } 3508 if interceptor == nil { 3509 return srv.(TestGridDataServer).GetDashboardSummary(ctx, in) 3510 } 3511 info := &grpc.UnaryServerInfo{ 3512 Server: srv, 3513 FullMethod: "/testgrid.api.v1.TestGridData/GetDashboardSummary", 3514 } 3515 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 3516 return srv.(TestGridDataServer).GetDashboardSummary(ctx, req.(*GetDashboardSummaryRequest)) 3517 } 3518 return interceptor(ctx, in, info, handler) 3519 } 3520 3521 var _TestGridData_serviceDesc = grpc.ServiceDesc{ 3522 ServiceName: "testgrid.api.v1.TestGridData", 3523 HandlerType: (*TestGridDataServer)(nil), 3524 Methods: []grpc.MethodDesc{ 3525 { 3526 MethodName: "ListDashboards", 3527 Handler: _TestGridData_ListDashboards_Handler, 3528 }, 3529 { 3530 MethodName: "ListDashboardGroups", 3531 Handler: _TestGridData_ListDashboardGroups_Handler, 3532 }, 3533 { 3534 MethodName: "ListDashboardTabs", 3535 Handler: _TestGridData_ListDashboardTabs_Handler, 3536 }, 3537 { 3538 MethodName: "GetDashboard", 3539 Handler: _TestGridData_GetDashboard_Handler, 3540 }, 3541 { 3542 MethodName: "GetDashboardGroup", 3543 Handler: _TestGridData_GetDashboardGroup_Handler, 3544 }, 3545 { 3546 MethodName: "ListHeaders", 3547 Handler: _TestGridData_ListHeaders_Handler, 3548 }, 3549 { 3550 MethodName: "ListRows", 3551 Handler: _TestGridData_ListRows_Handler, 3552 }, 3553 { 3554 MethodName: "ListTabSummaries", 3555 Handler: _TestGridData_ListTabSummaries_Handler, 3556 }, 3557 { 3558 MethodName: "GetTabSummary", 3559 Handler: _TestGridData_GetTabSummary_Handler, 3560 }, 3561 { 3562 MethodName: "ListDashboardSummaries", 3563 Handler: _TestGridData_ListDashboardSummaries_Handler, 3564 }, 3565 { 3566 MethodName: "GetDashboardSummary", 3567 Handler: _TestGridData_GetDashboardSummary_Handler, 3568 }, 3569 }, 3570 Streams: []grpc.StreamDesc{}, 3571 Metadata: "data.proto", 3572 }