go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/resultdb/proto/v1/recorder.pb.go (about) 1 // Copyright 2019 The LUCI Authors. 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 // Code generated by protoc-gen-go. DO NOT EDIT. 16 // versions: 17 // protoc-gen-go v1.31.0 18 // protoc v3.21.7 19 // source: go.chromium.org/luci/resultdb/proto/v1/recorder.proto 20 21 package resultpb 22 23 import prpc "go.chromium.org/luci/grpc/prpc" 24 25 import ( 26 context "context" 27 _ "google.golang.org/genproto/googleapis/api/annotations" 28 grpc "google.golang.org/grpc" 29 codes "google.golang.org/grpc/codes" 30 status "google.golang.org/grpc/status" 31 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 32 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 33 emptypb "google.golang.org/protobuf/types/known/emptypb" 34 fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" 35 reflect "reflect" 36 sync "sync" 37 ) 38 39 const ( 40 // Verify that this generated code is sufficiently up-to-date. 41 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 42 // Verify that runtime/protoimpl is sufficiently up-to-date. 43 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 44 ) 45 46 // A request message for CreateInvocation. 47 type CreateInvocationRequest struct { 48 state protoimpl.MessageState 49 sizeCache protoimpl.SizeCache 50 unknownFields protoimpl.UnknownFields 51 52 // Invocation identifier, becomes a part of the invocation.name. 53 // LUCI systems MAY create invocations with nicely formatted IDs, such as 54 // "build-1234567890". All other clients MUST use GUIDs. 55 // 56 // Regex: ^[a-z][a-z0-9_\-]*$. 57 InvocationId string `protobuf:"bytes,1,opt,name=invocation_id,json=invocationId,proto3" json:"invocation_id,omitempty"` 58 // Invocation data to insert. 59 Invocation *Invocation `protobuf:"bytes,2,opt,name=invocation,proto3" json:"invocation,omitempty"` 60 // A unique identifier for this request. Restricted to 36 ASCII characters. 61 // A random UUID is recommended. 62 // This request is only idempotent if a `request_id` is provided. 63 RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 64 } 65 66 func (x *CreateInvocationRequest) Reset() { 67 *x = CreateInvocationRequest{} 68 if protoimpl.UnsafeEnabled { 69 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[0] 70 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 71 ms.StoreMessageInfo(mi) 72 } 73 } 74 75 func (x *CreateInvocationRequest) String() string { 76 return protoimpl.X.MessageStringOf(x) 77 } 78 79 func (*CreateInvocationRequest) ProtoMessage() {} 80 81 func (x *CreateInvocationRequest) ProtoReflect() protoreflect.Message { 82 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[0] 83 if protoimpl.UnsafeEnabled && x != nil { 84 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 85 if ms.LoadMessageInfo() == nil { 86 ms.StoreMessageInfo(mi) 87 } 88 return ms 89 } 90 return mi.MessageOf(x) 91 } 92 93 // Deprecated: Use CreateInvocationRequest.ProtoReflect.Descriptor instead. 94 func (*CreateInvocationRequest) Descriptor() ([]byte, []int) { 95 return file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDescGZIP(), []int{0} 96 } 97 98 func (x *CreateInvocationRequest) GetInvocationId() string { 99 if x != nil { 100 return x.InvocationId 101 } 102 return "" 103 } 104 105 func (x *CreateInvocationRequest) GetInvocation() *Invocation { 106 if x != nil { 107 return x.Invocation 108 } 109 return nil 110 } 111 112 func (x *CreateInvocationRequest) GetRequestId() string { 113 if x != nil { 114 return x.RequestId 115 } 116 return "" 117 } 118 119 // A request message for BatchCreateInvocations 120 type BatchCreateInvocationsRequest struct { 121 state protoimpl.MessageState 122 sizeCache protoimpl.SizeCache 123 unknownFields protoimpl.UnknownFields 124 125 // requests[i].request_id MUST be either empty or equal to request_id in 126 // this message. 127 // 128 // Up to 500 requests. 129 Requests []*CreateInvocationRequest `protobuf:"bytes,1,rep,name=requests,proto3" json:"requests,omitempty"` 130 // A unique identifier for this request. Restricted to 36 ASCII characters. 131 // A random UUID is recommended. 132 // This request is only idempotent if a `request_id` is provided, so it is 133 // strongly recommended to populate this field. 134 RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 135 } 136 137 func (x *BatchCreateInvocationsRequest) Reset() { 138 *x = BatchCreateInvocationsRequest{} 139 if protoimpl.UnsafeEnabled { 140 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[1] 141 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 142 ms.StoreMessageInfo(mi) 143 } 144 } 145 146 func (x *BatchCreateInvocationsRequest) String() string { 147 return protoimpl.X.MessageStringOf(x) 148 } 149 150 func (*BatchCreateInvocationsRequest) ProtoMessage() {} 151 152 func (x *BatchCreateInvocationsRequest) ProtoReflect() protoreflect.Message { 153 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[1] 154 if protoimpl.UnsafeEnabled && x != nil { 155 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 156 if ms.LoadMessageInfo() == nil { 157 ms.StoreMessageInfo(mi) 158 } 159 return ms 160 } 161 return mi.MessageOf(x) 162 } 163 164 // Deprecated: Use BatchCreateInvocationsRequest.ProtoReflect.Descriptor instead. 165 func (*BatchCreateInvocationsRequest) Descriptor() ([]byte, []int) { 166 return file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDescGZIP(), []int{1} 167 } 168 169 func (x *BatchCreateInvocationsRequest) GetRequests() []*CreateInvocationRequest { 170 if x != nil { 171 return x.Requests 172 } 173 return nil 174 } 175 176 func (x *BatchCreateInvocationsRequest) GetRequestId() string { 177 if x != nil { 178 return x.RequestId 179 } 180 return "" 181 } 182 183 // A response message for BatchCreateInvocations RPC. 184 type BatchCreateInvocationsResponse struct { 185 state protoimpl.MessageState 186 sizeCache protoimpl.SizeCache 187 unknownFields protoimpl.UnknownFields 188 189 // Invocations created. 190 Invocations []*Invocation `protobuf:"bytes,1,rep,name=invocations,proto3" json:"invocations,omitempty"` 191 // One token per each created invocation. 192 // These are passed in the response instead of as metadata, because large 193 // batches increase the size of the response headers beyond allowed limits and 194 // cause failures like crbug.com/1064496 195 // update_tokens[i] corresponds to invocations[i]. 196 // *Do not log these values*. 197 UpdateTokens []string `protobuf:"bytes,2,rep,name=update_tokens,json=updateTokens,proto3" json:"update_tokens,omitempty"` 198 } 199 200 func (x *BatchCreateInvocationsResponse) Reset() { 201 *x = BatchCreateInvocationsResponse{} 202 if protoimpl.UnsafeEnabled { 203 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[2] 204 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 205 ms.StoreMessageInfo(mi) 206 } 207 } 208 209 func (x *BatchCreateInvocationsResponse) String() string { 210 return protoimpl.X.MessageStringOf(x) 211 } 212 213 func (*BatchCreateInvocationsResponse) ProtoMessage() {} 214 215 func (x *BatchCreateInvocationsResponse) ProtoReflect() protoreflect.Message { 216 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[2] 217 if protoimpl.UnsafeEnabled && x != nil { 218 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 219 if ms.LoadMessageInfo() == nil { 220 ms.StoreMessageInfo(mi) 221 } 222 return ms 223 } 224 return mi.MessageOf(x) 225 } 226 227 // Deprecated: Use BatchCreateInvocationsResponse.ProtoReflect.Descriptor instead. 228 func (*BatchCreateInvocationsResponse) Descriptor() ([]byte, []int) { 229 return file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDescGZIP(), []int{2} 230 } 231 232 func (x *BatchCreateInvocationsResponse) GetInvocations() []*Invocation { 233 if x != nil { 234 return x.Invocations 235 } 236 return nil 237 } 238 239 func (x *BatchCreateInvocationsResponse) GetUpdateTokens() []string { 240 if x != nil { 241 return x.UpdateTokens 242 } 243 return nil 244 } 245 246 // A request message for UpdateInvocation RPC. 247 type UpdateInvocationRequest struct { 248 state protoimpl.MessageState 249 sizeCache protoimpl.SizeCache 250 unknownFields protoimpl.UnknownFields 251 252 // Invocation to update. 253 Invocation *Invocation `protobuf:"bytes,1,opt,name=invocation,proto3" json:"invocation,omitempty"` 254 // The list of fields to be updated. 255 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 256 } 257 258 func (x *UpdateInvocationRequest) Reset() { 259 *x = UpdateInvocationRequest{} 260 if protoimpl.UnsafeEnabled { 261 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[3] 262 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 263 ms.StoreMessageInfo(mi) 264 } 265 } 266 267 func (x *UpdateInvocationRequest) String() string { 268 return protoimpl.X.MessageStringOf(x) 269 } 270 271 func (*UpdateInvocationRequest) ProtoMessage() {} 272 273 func (x *UpdateInvocationRequest) ProtoReflect() protoreflect.Message { 274 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[3] 275 if protoimpl.UnsafeEnabled && x != nil { 276 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 277 if ms.LoadMessageInfo() == nil { 278 ms.StoreMessageInfo(mi) 279 } 280 return ms 281 } 282 return mi.MessageOf(x) 283 } 284 285 // Deprecated: Use UpdateInvocationRequest.ProtoReflect.Descriptor instead. 286 func (*UpdateInvocationRequest) Descriptor() ([]byte, []int) { 287 return file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDescGZIP(), []int{3} 288 } 289 290 func (x *UpdateInvocationRequest) GetInvocation() *Invocation { 291 if x != nil { 292 return x.Invocation 293 } 294 return nil 295 } 296 297 func (x *UpdateInvocationRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 298 if x != nil { 299 return x.UpdateMask 300 } 301 return nil 302 } 303 304 // A request message for FinalizeInvocation RPC. 305 type FinalizeInvocationRequest struct { 306 state protoimpl.MessageState 307 sizeCache protoimpl.SizeCache 308 unknownFields protoimpl.UnknownFields 309 310 // Name of the invocation to finalize. 311 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 312 } 313 314 func (x *FinalizeInvocationRequest) Reset() { 315 *x = FinalizeInvocationRequest{} 316 if protoimpl.UnsafeEnabled { 317 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[4] 318 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 319 ms.StoreMessageInfo(mi) 320 } 321 } 322 323 func (x *FinalizeInvocationRequest) String() string { 324 return protoimpl.X.MessageStringOf(x) 325 } 326 327 func (*FinalizeInvocationRequest) ProtoMessage() {} 328 329 func (x *FinalizeInvocationRequest) ProtoReflect() protoreflect.Message { 330 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[4] 331 if protoimpl.UnsafeEnabled && x != nil { 332 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 333 if ms.LoadMessageInfo() == nil { 334 ms.StoreMessageInfo(mi) 335 } 336 return ms 337 } 338 return mi.MessageOf(x) 339 } 340 341 // Deprecated: Use FinalizeInvocationRequest.ProtoReflect.Descriptor instead. 342 func (*FinalizeInvocationRequest) Descriptor() ([]byte, []int) { 343 return file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDescGZIP(), []int{4} 344 } 345 346 func (x *FinalizeInvocationRequest) GetName() string { 347 if x != nil { 348 return x.Name 349 } 350 return "" 351 } 352 353 // A request message for UpdateIncludedInvocations RPC. 354 type UpdateIncludedInvocationsRequest struct { 355 state protoimpl.MessageState 356 sizeCache protoimpl.SizeCache 357 unknownFields protoimpl.UnknownFields 358 359 // Name of the invocation to add/remove inclusions to/from, 360 // see Invocation.name. 361 // For example, name of the buildbucket build invocation that should include 362 // a swarming task invocation. 363 IncludingInvocation string `protobuf:"bytes,1,opt,name=including_invocation,json=includingInvocation,proto3" json:"including_invocation,omitempty"` 364 // Names of the invocations to include, see Invocation.name. 365 // If any of these invocations are already included, they will be silently 366 // ignored for idempotency. 367 AddInvocations []string `protobuf:"bytes,2,rep,name=add_invocations,json=addInvocations,proto3" json:"add_invocations,omitempty"` 368 // Names of the previously included invocations to remove, see 369 // Invocation.name. 370 // If any of these invocations are not included already, they will be silently 371 // ignored for idempotency. 372 RemoveInvocations []string `protobuf:"bytes,3,rep,name=remove_invocations,json=removeInvocations,proto3" json:"remove_invocations,omitempty"` 373 } 374 375 func (x *UpdateIncludedInvocationsRequest) Reset() { 376 *x = UpdateIncludedInvocationsRequest{} 377 if protoimpl.UnsafeEnabled { 378 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[5] 379 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 380 ms.StoreMessageInfo(mi) 381 } 382 } 383 384 func (x *UpdateIncludedInvocationsRequest) String() string { 385 return protoimpl.X.MessageStringOf(x) 386 } 387 388 func (*UpdateIncludedInvocationsRequest) ProtoMessage() {} 389 390 func (x *UpdateIncludedInvocationsRequest) ProtoReflect() protoreflect.Message { 391 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[5] 392 if protoimpl.UnsafeEnabled && x != nil { 393 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 394 if ms.LoadMessageInfo() == nil { 395 ms.StoreMessageInfo(mi) 396 } 397 return ms 398 } 399 return mi.MessageOf(x) 400 } 401 402 // Deprecated: Use UpdateIncludedInvocationsRequest.ProtoReflect.Descriptor instead. 403 func (*UpdateIncludedInvocationsRequest) Descriptor() ([]byte, []int) { 404 return file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDescGZIP(), []int{5} 405 } 406 407 func (x *UpdateIncludedInvocationsRequest) GetIncludingInvocation() string { 408 if x != nil { 409 return x.IncludingInvocation 410 } 411 return "" 412 } 413 414 func (x *UpdateIncludedInvocationsRequest) GetAddInvocations() []string { 415 if x != nil { 416 return x.AddInvocations 417 } 418 return nil 419 } 420 421 func (x *UpdateIncludedInvocationsRequest) GetRemoveInvocations() []string { 422 if x != nil { 423 return x.RemoveInvocations 424 } 425 return nil 426 } 427 428 // A request message for MarkInvocationSubmitted RPC. 429 // To use this RPC, callers need: 430 // - resultdb.invocations.setSubmitted in the realm the <project>:@project, where 431 // project is the project of the nominated invocation. 432 type MarkInvocationSubmittedRequest struct { 433 state protoimpl.MessageState 434 sizeCache protoimpl.SizeCache 435 unknownFields protoimpl.UnknownFields 436 437 // Name of the invocation, e.g. "invocations/{id}". 438 Invocation string `protobuf:"bytes,1,opt,name=invocation,proto3" json:"invocation,omitempty"` 439 } 440 441 func (x *MarkInvocationSubmittedRequest) Reset() { 442 *x = MarkInvocationSubmittedRequest{} 443 if protoimpl.UnsafeEnabled { 444 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[6] 445 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 446 ms.StoreMessageInfo(mi) 447 } 448 } 449 450 func (x *MarkInvocationSubmittedRequest) String() string { 451 return protoimpl.X.MessageStringOf(x) 452 } 453 454 func (*MarkInvocationSubmittedRequest) ProtoMessage() {} 455 456 func (x *MarkInvocationSubmittedRequest) ProtoReflect() protoreflect.Message { 457 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[6] 458 if protoimpl.UnsafeEnabled && x != nil { 459 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 460 if ms.LoadMessageInfo() == nil { 461 ms.StoreMessageInfo(mi) 462 } 463 return ms 464 } 465 return mi.MessageOf(x) 466 } 467 468 // Deprecated: Use MarkInvocationSubmittedRequest.ProtoReflect.Descriptor instead. 469 func (*MarkInvocationSubmittedRequest) Descriptor() ([]byte, []int) { 470 return file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDescGZIP(), []int{6} 471 } 472 473 func (x *MarkInvocationSubmittedRequest) GetInvocation() string { 474 if x != nil { 475 return x.Invocation 476 } 477 return "" 478 } 479 480 // A request message for CreateTestResult RPC. 481 type CreateTestResultRequest struct { 482 state protoimpl.MessageState 483 sizeCache protoimpl.SizeCache 484 unknownFields protoimpl.UnknownFields 485 486 // Name of the parent invocation, see Invocation.name. 487 Invocation string `protobuf:"bytes,1,opt,name=invocation,proto3" json:"invocation,omitempty"` 488 // The test result to create. 489 // Test id and result id are used to dedupe requests, i.e. 490 // if a test result with the same test id and result id already exists in 491 // the invocation, then the requests succeeds as opposed to returns with 492 // ALREADY_EXISTS error. 493 TestResult *TestResult `protobuf:"bytes,2,opt,name=test_result,json=testResult,proto3" json:"test_result,omitempty"` 494 // A unique identifier for this request. Restricted to 36 ASCII characters. 495 // A random UUID is recommended. 496 // This request is only idempotent if a `request_id` is provided, so it is 497 // strongly recommended to populate this field. 498 // 499 // Impl note: this field is used to compute the spanner-level result id, which 500 // will encode tuple (request_id, index_of_request)", where 501 // - request_id is a random GUID if not provided by the user 502 // - index_of_request is 0 in CreateTestResult RPC, or index of the request 503 // in BatchCreateTestResultsRequest in the batch RPC. 504 // 505 // TODO(jchinlee): remove this impl note when it is converted into code. 506 RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 507 } 508 509 func (x *CreateTestResultRequest) Reset() { 510 *x = CreateTestResultRequest{} 511 if protoimpl.UnsafeEnabled { 512 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[7] 513 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 514 ms.StoreMessageInfo(mi) 515 } 516 } 517 518 func (x *CreateTestResultRequest) String() string { 519 return protoimpl.X.MessageStringOf(x) 520 } 521 522 func (*CreateTestResultRequest) ProtoMessage() {} 523 524 func (x *CreateTestResultRequest) ProtoReflect() protoreflect.Message { 525 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[7] 526 if protoimpl.UnsafeEnabled && x != nil { 527 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 528 if ms.LoadMessageInfo() == nil { 529 ms.StoreMessageInfo(mi) 530 } 531 return ms 532 } 533 return mi.MessageOf(x) 534 } 535 536 // Deprecated: Use CreateTestResultRequest.ProtoReflect.Descriptor instead. 537 func (*CreateTestResultRequest) Descriptor() ([]byte, []int) { 538 return file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDescGZIP(), []int{7} 539 } 540 541 func (x *CreateTestResultRequest) GetInvocation() string { 542 if x != nil { 543 return x.Invocation 544 } 545 return "" 546 } 547 548 func (x *CreateTestResultRequest) GetTestResult() *TestResult { 549 if x != nil { 550 return x.TestResult 551 } 552 return nil 553 } 554 555 func (x *CreateTestResultRequest) GetRequestId() string { 556 if x != nil { 557 return x.RequestId 558 } 559 return "" 560 } 561 562 // A request message for BatchCreateTestResults RPC. 563 type BatchCreateTestResultsRequest struct { 564 state protoimpl.MessageState 565 sizeCache protoimpl.SizeCache 566 unknownFields protoimpl.UnknownFields 567 568 // Name of the parent invocation, see Invocation.name. 569 Invocation string `protobuf:"bytes,1,opt,name=invocation,proto3" json:"invocation,omitempty"` 570 // Requests to create test results. 571 // requests[i].invocation MUST be either empty or equal to invocation in this 572 // message. 573 // requests[i].request_id MUST be either empty or equal to request_id in 574 // this message. 575 // 576 // Up to 500 requests. 577 Requests []*CreateTestResultRequest `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty"` 578 // A unique identifier for this request. Restricted to 36 ASCII characters. 579 // A random UUID is recommended. 580 // This request is only idempotent if a `request_id` is provided, so it is 581 // strongly recommended to populate this field. 582 RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 583 } 584 585 func (x *BatchCreateTestResultsRequest) Reset() { 586 *x = BatchCreateTestResultsRequest{} 587 if protoimpl.UnsafeEnabled { 588 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[8] 589 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 590 ms.StoreMessageInfo(mi) 591 } 592 } 593 594 func (x *BatchCreateTestResultsRequest) String() string { 595 return protoimpl.X.MessageStringOf(x) 596 } 597 598 func (*BatchCreateTestResultsRequest) ProtoMessage() {} 599 600 func (x *BatchCreateTestResultsRequest) ProtoReflect() protoreflect.Message { 601 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[8] 602 if protoimpl.UnsafeEnabled && x != nil { 603 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 604 if ms.LoadMessageInfo() == nil { 605 ms.StoreMessageInfo(mi) 606 } 607 return ms 608 } 609 return mi.MessageOf(x) 610 } 611 612 // Deprecated: Use BatchCreateTestResultsRequest.ProtoReflect.Descriptor instead. 613 func (*BatchCreateTestResultsRequest) Descriptor() ([]byte, []int) { 614 return file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDescGZIP(), []int{8} 615 } 616 617 func (x *BatchCreateTestResultsRequest) GetInvocation() string { 618 if x != nil { 619 return x.Invocation 620 } 621 return "" 622 } 623 624 func (x *BatchCreateTestResultsRequest) GetRequests() []*CreateTestResultRequest { 625 if x != nil { 626 return x.Requests 627 } 628 return nil 629 } 630 631 func (x *BatchCreateTestResultsRequest) GetRequestId() string { 632 if x != nil { 633 return x.RequestId 634 } 635 return "" 636 } 637 638 // A response message for BatchCreateTestResults RPC. 639 type BatchCreateTestResultsResponse struct { 640 state protoimpl.MessageState 641 sizeCache protoimpl.SizeCache 642 unknownFields protoimpl.UnknownFields 643 644 // Test results created. 645 TestResults []*TestResult `protobuf:"bytes,1,rep,name=test_results,json=testResults,proto3" json:"test_results,omitempty"` 646 } 647 648 func (x *BatchCreateTestResultsResponse) Reset() { 649 *x = BatchCreateTestResultsResponse{} 650 if protoimpl.UnsafeEnabled { 651 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[9] 652 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 653 ms.StoreMessageInfo(mi) 654 } 655 } 656 657 func (x *BatchCreateTestResultsResponse) String() string { 658 return protoimpl.X.MessageStringOf(x) 659 } 660 661 func (*BatchCreateTestResultsResponse) ProtoMessage() {} 662 663 func (x *BatchCreateTestResultsResponse) ProtoReflect() protoreflect.Message { 664 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[9] 665 if protoimpl.UnsafeEnabled && x != nil { 666 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 667 if ms.LoadMessageInfo() == nil { 668 ms.StoreMessageInfo(mi) 669 } 670 return ms 671 } 672 return mi.MessageOf(x) 673 } 674 675 // Deprecated: Use BatchCreateTestResultsResponse.ProtoReflect.Descriptor instead. 676 func (*BatchCreateTestResultsResponse) Descriptor() ([]byte, []int) { 677 return file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDescGZIP(), []int{9} 678 } 679 680 func (x *BatchCreateTestResultsResponse) GetTestResults() []*TestResult { 681 if x != nil { 682 return x.TestResults 683 } 684 return nil 685 } 686 687 // A request message for CreateTestExoneration RPC. 688 type CreateTestExonerationRequest struct { 689 state protoimpl.MessageState 690 sizeCache protoimpl.SizeCache 691 unknownFields protoimpl.UnknownFields 692 693 // Name of the parent invocation, see Invocation.name. 694 Invocation string `protobuf:"bytes,1,opt,name=invocation,proto3" json:"invocation,omitempty"` 695 // The TestExoneration to create. 696 TestExoneration *TestExoneration `protobuf:"bytes,2,opt,name=test_exoneration,json=testExoneration,proto3" json:"test_exoneration,omitempty"` 697 // A unique identifier for this request. Restricted to 36 ASCII characters. 698 // A random UUID is recommended. 699 // This request is only idempotent if a `request_id` is provided. 700 RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 701 } 702 703 func (x *CreateTestExonerationRequest) Reset() { 704 *x = CreateTestExonerationRequest{} 705 if protoimpl.UnsafeEnabled { 706 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[10] 707 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 708 ms.StoreMessageInfo(mi) 709 } 710 } 711 712 func (x *CreateTestExonerationRequest) String() string { 713 return protoimpl.X.MessageStringOf(x) 714 } 715 716 func (*CreateTestExonerationRequest) ProtoMessage() {} 717 718 func (x *CreateTestExonerationRequest) ProtoReflect() protoreflect.Message { 719 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[10] 720 if protoimpl.UnsafeEnabled && x != nil { 721 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 722 if ms.LoadMessageInfo() == nil { 723 ms.StoreMessageInfo(mi) 724 } 725 return ms 726 } 727 return mi.MessageOf(x) 728 } 729 730 // Deprecated: Use CreateTestExonerationRequest.ProtoReflect.Descriptor instead. 731 func (*CreateTestExonerationRequest) Descriptor() ([]byte, []int) { 732 return file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDescGZIP(), []int{10} 733 } 734 735 func (x *CreateTestExonerationRequest) GetInvocation() string { 736 if x != nil { 737 return x.Invocation 738 } 739 return "" 740 } 741 742 func (x *CreateTestExonerationRequest) GetTestExoneration() *TestExoneration { 743 if x != nil { 744 return x.TestExoneration 745 } 746 return nil 747 } 748 749 func (x *CreateTestExonerationRequest) GetRequestId() string { 750 if x != nil { 751 return x.RequestId 752 } 753 return "" 754 } 755 756 // A request message for BatchCreateTestExonerations RPC. 757 type BatchCreateTestExonerationsRequest struct { 758 state protoimpl.MessageState 759 sizeCache protoimpl.SizeCache 760 unknownFields protoimpl.UnknownFields 761 762 // Name of the parent invocation, see Invocation.name. 763 Invocation string `protobuf:"bytes,1,opt,name=invocation,proto3" json:"invocation,omitempty"` 764 // Requests to create TestExonerations. 765 // requests[i].invocation MUST be either empty or equal to invocation in this 766 // message. 767 // requests[i].request_id MUST be either empty or equal to request_id in 768 // this message. 769 // 770 // Up to 500 requests. 771 Requests []*CreateTestExonerationRequest `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty"` 772 // A unique identifier for this request. Restricted to 36 ASCII characters. 773 // A random UUID is recommended. 774 // This request is only idempotent if a `request_id` is provided, so it is 775 // strongly recommended to populate this field. 776 RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` 777 } 778 779 func (x *BatchCreateTestExonerationsRequest) Reset() { 780 *x = BatchCreateTestExonerationsRequest{} 781 if protoimpl.UnsafeEnabled { 782 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[11] 783 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 784 ms.StoreMessageInfo(mi) 785 } 786 } 787 788 func (x *BatchCreateTestExonerationsRequest) String() string { 789 return protoimpl.X.MessageStringOf(x) 790 } 791 792 func (*BatchCreateTestExonerationsRequest) ProtoMessage() {} 793 794 func (x *BatchCreateTestExonerationsRequest) ProtoReflect() protoreflect.Message { 795 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[11] 796 if protoimpl.UnsafeEnabled && x != nil { 797 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 798 if ms.LoadMessageInfo() == nil { 799 ms.StoreMessageInfo(mi) 800 } 801 return ms 802 } 803 return mi.MessageOf(x) 804 } 805 806 // Deprecated: Use BatchCreateTestExonerationsRequest.ProtoReflect.Descriptor instead. 807 func (*BatchCreateTestExonerationsRequest) Descriptor() ([]byte, []int) { 808 return file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDescGZIP(), []int{11} 809 } 810 811 func (x *BatchCreateTestExonerationsRequest) GetInvocation() string { 812 if x != nil { 813 return x.Invocation 814 } 815 return "" 816 } 817 818 func (x *BatchCreateTestExonerationsRequest) GetRequests() []*CreateTestExonerationRequest { 819 if x != nil { 820 return x.Requests 821 } 822 return nil 823 } 824 825 func (x *BatchCreateTestExonerationsRequest) GetRequestId() string { 826 if x != nil { 827 return x.RequestId 828 } 829 return "" 830 } 831 832 // A response message for BatchCreateTestExonerations RPC. 833 type BatchCreateTestExonerationsResponse struct { 834 state protoimpl.MessageState 835 sizeCache protoimpl.SizeCache 836 unknownFields protoimpl.UnknownFields 837 838 // Test exonerations created. 839 TestExonerations []*TestExoneration `protobuf:"bytes,1,rep,name=test_exonerations,json=testExonerations,proto3" json:"test_exonerations,omitempty"` 840 } 841 842 func (x *BatchCreateTestExonerationsResponse) Reset() { 843 *x = BatchCreateTestExonerationsResponse{} 844 if protoimpl.UnsafeEnabled { 845 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[12] 846 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 847 ms.StoreMessageInfo(mi) 848 } 849 } 850 851 func (x *BatchCreateTestExonerationsResponse) String() string { 852 return protoimpl.X.MessageStringOf(x) 853 } 854 855 func (*BatchCreateTestExonerationsResponse) ProtoMessage() {} 856 857 func (x *BatchCreateTestExonerationsResponse) ProtoReflect() protoreflect.Message { 858 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[12] 859 if protoimpl.UnsafeEnabled && x != nil { 860 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 861 if ms.LoadMessageInfo() == nil { 862 ms.StoreMessageInfo(mi) 863 } 864 return ms 865 } 866 return mi.MessageOf(x) 867 } 868 869 // Deprecated: Use BatchCreateTestExonerationsResponse.ProtoReflect.Descriptor instead. 870 func (*BatchCreateTestExonerationsResponse) Descriptor() ([]byte, []int) { 871 return file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDescGZIP(), []int{12} 872 } 873 874 func (x *BatchCreateTestExonerationsResponse) GetTestExonerations() []*TestExoneration { 875 if x != nil { 876 return x.TestExonerations 877 } 878 return nil 879 } 880 881 // A request message for CreateArtifactRequest. 882 type CreateArtifactRequest struct { 883 state protoimpl.MessageState 884 sizeCache protoimpl.SizeCache 885 unknownFields protoimpl.UnknownFields 886 887 // Name of the parent resource where the artifact will be created. 888 // 889 // For invocation-level artifacts, it is the invocation name. 890 // For test-result-level artifacts, it is the TestResult name. 891 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 892 // Artifact to upload. 893 // The length of the artifact contents MUST be <= 512KiB. 894 // artifact.artifact_id MUST be set. 895 // artifact.name will be ignored. 896 Artifact *Artifact `protobuf:"bytes,2,opt,name=artifact,proto3" json:"artifact,omitempty"` 897 } 898 899 func (x *CreateArtifactRequest) Reset() { 900 *x = CreateArtifactRequest{} 901 if protoimpl.UnsafeEnabled { 902 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[13] 903 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 904 ms.StoreMessageInfo(mi) 905 } 906 } 907 908 func (x *CreateArtifactRequest) String() string { 909 return protoimpl.X.MessageStringOf(x) 910 } 911 912 func (*CreateArtifactRequest) ProtoMessage() {} 913 914 func (x *CreateArtifactRequest) ProtoReflect() protoreflect.Message { 915 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[13] 916 if protoimpl.UnsafeEnabled && x != nil { 917 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 918 if ms.LoadMessageInfo() == nil { 919 ms.StoreMessageInfo(mi) 920 } 921 return ms 922 } 923 return mi.MessageOf(x) 924 } 925 926 // Deprecated: Use CreateArtifactRequest.ProtoReflect.Descriptor instead. 927 func (*CreateArtifactRequest) Descriptor() ([]byte, []int) { 928 return file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDescGZIP(), []int{13} 929 } 930 931 func (x *CreateArtifactRequest) GetParent() string { 932 if x != nil { 933 return x.Parent 934 } 935 return "" 936 } 937 938 func (x *CreateArtifactRequest) GetArtifact() *Artifact { 939 if x != nil { 940 return x.Artifact 941 } 942 return nil 943 } 944 945 // A request message for BatchCreateArtifactsRequest. 946 type BatchCreateArtifactsRequest struct { 947 state protoimpl.MessageState 948 sizeCache protoimpl.SizeCache 949 unknownFields protoimpl.UnknownFields 950 951 // Requests to create Artifacts. 952 // The sum of the content lengths MUST be <= 10MiB. 953 // The parents of all the requests must be derived from the same invocation. 954 // 955 // Up to 500 requests. 956 Requests []*CreateArtifactRequest `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty"` 957 } 958 959 func (x *BatchCreateArtifactsRequest) Reset() { 960 *x = BatchCreateArtifactsRequest{} 961 if protoimpl.UnsafeEnabled { 962 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[14] 963 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 964 ms.StoreMessageInfo(mi) 965 } 966 } 967 968 func (x *BatchCreateArtifactsRequest) String() string { 969 return protoimpl.X.MessageStringOf(x) 970 } 971 972 func (*BatchCreateArtifactsRequest) ProtoMessage() {} 973 974 func (x *BatchCreateArtifactsRequest) ProtoReflect() protoreflect.Message { 975 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[14] 976 if protoimpl.UnsafeEnabled && x != nil { 977 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 978 if ms.LoadMessageInfo() == nil { 979 ms.StoreMessageInfo(mi) 980 } 981 return ms 982 } 983 return mi.MessageOf(x) 984 } 985 986 // Deprecated: Use BatchCreateArtifactsRequest.ProtoReflect.Descriptor instead. 987 func (*BatchCreateArtifactsRequest) Descriptor() ([]byte, []int) { 988 return file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDescGZIP(), []int{14} 989 } 990 991 func (x *BatchCreateArtifactsRequest) GetRequests() []*CreateArtifactRequest { 992 if x != nil { 993 return x.Requests 994 } 995 return nil 996 } 997 998 type BatchCreateArtifactsResponse struct { 999 state protoimpl.MessageState 1000 sizeCache protoimpl.SizeCache 1001 unknownFields protoimpl.UnknownFields 1002 1003 // Artifacts created. 1004 Artifacts []*Artifact `protobuf:"bytes,1,rep,name=artifacts,proto3" json:"artifacts,omitempty"` 1005 } 1006 1007 func (x *BatchCreateArtifactsResponse) Reset() { 1008 *x = BatchCreateArtifactsResponse{} 1009 if protoimpl.UnsafeEnabled { 1010 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[15] 1011 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1012 ms.StoreMessageInfo(mi) 1013 } 1014 } 1015 1016 func (x *BatchCreateArtifactsResponse) String() string { 1017 return protoimpl.X.MessageStringOf(x) 1018 } 1019 1020 func (*BatchCreateArtifactsResponse) ProtoMessage() {} 1021 1022 func (x *BatchCreateArtifactsResponse) ProtoReflect() protoreflect.Message { 1023 mi := &file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[15] 1024 if protoimpl.UnsafeEnabled && x != nil { 1025 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1026 if ms.LoadMessageInfo() == nil { 1027 ms.StoreMessageInfo(mi) 1028 } 1029 return ms 1030 } 1031 return mi.MessageOf(x) 1032 } 1033 1034 // Deprecated: Use BatchCreateArtifactsResponse.ProtoReflect.Descriptor instead. 1035 func (*BatchCreateArtifactsResponse) Descriptor() ([]byte, []int) { 1036 return file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDescGZIP(), []int{15} 1037 } 1038 1039 func (x *BatchCreateArtifactsResponse) GetArtifacts() []*Artifact { 1040 if x != nil { 1041 return x.Artifacts 1042 } 1043 return nil 1044 } 1045 1046 var File_go_chromium_org_luci_resultdb_proto_v1_recorder_proto protoreflect.FileDescriptor 1047 1048 var file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDesc = []byte{ 1049 0x0a, 0x35, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 1050 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2f, 1051 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 1052 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 1053 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1054 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 1055 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 1056 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 1057 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 1058 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 1059 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x35, 0x67, 0x6f, 0x2e, 0x63, 0x68, 1060 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 1061 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 1062 0x31, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 1063 0x1a, 0x37, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 1064 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2f, 1065 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 1066 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38, 0x67, 0x6f, 0x2e, 0x63, 0x68, 1067 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 1068 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 1069 0x31, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x70, 0x72, 1070 0x6f, 0x74, 0x6f, 0x22, 0xa0, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 1071 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 1072 0x28, 0x0a, 0x0d, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 1073 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x69, 0x6e, 0x76, 1074 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3c, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 1075 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 1076 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 1077 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x69, 0x6e, 0x76, 1078 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 1079 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 1080 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x85, 0x01, 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 1081 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 1082 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 1083 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6c, 0x75, 0x63, 1084 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 1085 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 1086 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 1087 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 1088 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x85, 1089 0x01, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 1090 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 1091 0x65, 0x12, 0x3e, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 1092 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 1093 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 1094 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 1095 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 1096 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 1097 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x22, 0x99, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 1098 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 1099 0x73, 0x74, 0x12, 0x41, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 1100 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 1101 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 1102 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x63, 1103 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 1104 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 1105 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 1106 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 1107 0x73, 0x6b, 0x22, 0x34, 0x0a, 0x19, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x49, 0x6e, 1108 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 1109 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 1110 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x20, 0x55, 0x70, 0x64, 1111 0x61, 0x74, 0x65, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x76, 0x6f, 0x63, 1112 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 1113 0x14, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 1114 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 1115 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x76, 0x6f, 0x63, 1116 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x64, 0x64, 0x5f, 0x69, 0x6e, 0x76, 1117 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 1118 0x61, 0x64, 0x64, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2d, 1119 0x0a, 0x12, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 1120 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x72, 0x65, 0x6d, 0x6f, 1121 0x76, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x45, 0x0a, 1122 0x1e, 0x4d, 0x61, 0x72, 0x6b, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 1123 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 1124 0x23, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 1125 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 1126 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa1, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 1127 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 1128 0x12, 0x23, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 1129 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x63, 1130 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0b, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 1131 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 1132 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 1133 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x74, 1134 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 1135 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 1136 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0xaa, 0x01, 0x0a, 0x1d, 0x42, 0x61, 0x74, 1137 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 1138 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0a, 0x69, 0x6e, 1139 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 1140 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 1141 0x45, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 1142 0x0b, 0x32, 0x29, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 1143 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x52, 1144 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 1145 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 1146 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 1147 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 1148 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 1149 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x74, 0x65, 0x73, 0x74, 0x5f, 1150 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 1151 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 1152 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0b, 0x74, 0x65, 0x73, 1153 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0xb5, 0x01, 0x0a, 0x1c, 0x43, 0x72, 0x65, 1154 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 1155 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 1156 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 1157 0x41, 0x02, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51, 1158 0x0a, 0x10, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 1159 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 1160 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 1161 0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 1162 0x52, 0x0f, 0x74, 0x65, 0x73, 0x74, 0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 1163 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 1164 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 1165 0x22, 0xb4, 0x01, 0x0a, 0x22, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 1166 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 1167 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x63, 1168 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 1169 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x08, 1170 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 1171 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 1172 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x6f, 0x6e, 1173 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 1174 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 1175 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 1176 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x22, 0x75, 0x0a, 0x23, 0x42, 0x61, 0x74, 0x63, 0x68, 1177 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, 1178 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 1179 0x0a, 0x11, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 1180 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x75, 0x63, 0x69, 1181 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 1182 0x74, 0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x74, 0x65, 1183 0x73, 0x74, 0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x71, 1184 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 1185 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 1186 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 1187 0x72, 0x65, 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 1188 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 1189 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 1190 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 1191 0x74, 0x22, 0x62, 0x0a, 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 1192 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 1193 0x12, 0x43, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 1194 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 1195 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 1196 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x08, 0x72, 0x65, 0x71, 1197 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x58, 0x0a, 0x1c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 1198 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 1199 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 1200 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 1201 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 1202 0x66, 0x61, 0x63, 0x74, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x32, 1203 0xd0, 0x09, 0x0a, 0x08, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x5d, 0x0a, 0x10, 1204 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 1205 0x12, 0x29, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 1206 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 1207 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, 0x75, 1208 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x49, 1209 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x00, 0x12, 0x7d, 0x0a, 0x16, 0x42, 1210 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 1211 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2f, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 1212 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 1213 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 1214 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 1215 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 1216 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 1217 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x10, 0x55, 0x70, 1218 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 1219 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 1220 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 1221 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 0x69, 1222 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x76, 1223 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x12, 0x46, 0x69, 0x6e, 1224 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 1225 0x2b, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 1226 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x49, 0x6e, 0x76, 0x6f, 0x63, 1227 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, 1228 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 1229 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x00, 0x12, 0x69, 0x0a, 0x19, 1230 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x49, 0x6e, 1231 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x2e, 0x6c, 0x75, 0x63, 0x69, 1232 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 1233 0x61, 0x74, 0x65, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x49, 0x6e, 0x76, 0x6f, 0x63, 1234 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 1235 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 1236 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x65, 0x0a, 0x17, 0x4d, 0x61, 0x72, 0x6b, 0x49, 1237 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 1238 0x65, 0x64, 0x12, 0x30, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 1239 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 1240 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 1241 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 1242 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x00, 0x12, 0x5d, 1243 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 1244 0x6c, 0x74, 0x12, 0x29, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 1245 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 1246 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 1247 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 1248 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x7d, 0x0a, 1249 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 1250 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x2f, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 1251 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 1252 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 1253 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 1254 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 1255 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 1256 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x15, 1257 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, 1258 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 1259 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 1260 0x65, 0x73, 0x74, 0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 1261 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 1262 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x6f, 1263 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x00, 0x12, 0x8c, 0x01, 0x0a, 0x1b, 0x42, 1264 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 1265 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x34, 0x2e, 0x6c, 0x75, 0x63, 1266 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 1267 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x6f, 1268 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 1269 0x1a, 0x35, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 1270 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 1271 0x65, 0x73, 0x74, 0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 1272 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x14, 0x42, 0x61, 0x74, 1273 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 1274 0x73, 0x12, 0x2d, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 1275 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 1276 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 1277 0x1a, 0x2e, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 1278 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 1279 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 1280 0x22, 0x00, 0x42, 0x31, 0x5a, 0x2f, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 1281 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 1282 0x74, 0x64, 0x62, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x3b, 0x72, 0x65, 0x73, 1283 0x75, 0x6c, 0x74, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1284 } 1285 1286 var ( 1287 file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDescOnce sync.Once 1288 file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDescData = file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDesc 1289 ) 1290 1291 func file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDescGZIP() []byte { 1292 file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDescOnce.Do(func() { 1293 file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDescData) 1294 }) 1295 return file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDescData 1296 } 1297 1298 var file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes = make([]protoimpl.MessageInfo, 16) 1299 var file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_goTypes = []interface{}{ 1300 (*CreateInvocationRequest)(nil), // 0: luci.resultdb.v1.CreateInvocationRequest 1301 (*BatchCreateInvocationsRequest)(nil), // 1: luci.resultdb.v1.BatchCreateInvocationsRequest 1302 (*BatchCreateInvocationsResponse)(nil), // 2: luci.resultdb.v1.BatchCreateInvocationsResponse 1303 (*UpdateInvocationRequest)(nil), // 3: luci.resultdb.v1.UpdateInvocationRequest 1304 (*FinalizeInvocationRequest)(nil), // 4: luci.resultdb.v1.FinalizeInvocationRequest 1305 (*UpdateIncludedInvocationsRequest)(nil), // 5: luci.resultdb.v1.UpdateIncludedInvocationsRequest 1306 (*MarkInvocationSubmittedRequest)(nil), // 6: luci.resultdb.v1.MarkInvocationSubmittedRequest 1307 (*CreateTestResultRequest)(nil), // 7: luci.resultdb.v1.CreateTestResultRequest 1308 (*BatchCreateTestResultsRequest)(nil), // 8: luci.resultdb.v1.BatchCreateTestResultsRequest 1309 (*BatchCreateTestResultsResponse)(nil), // 9: luci.resultdb.v1.BatchCreateTestResultsResponse 1310 (*CreateTestExonerationRequest)(nil), // 10: luci.resultdb.v1.CreateTestExonerationRequest 1311 (*BatchCreateTestExonerationsRequest)(nil), // 11: luci.resultdb.v1.BatchCreateTestExonerationsRequest 1312 (*BatchCreateTestExonerationsResponse)(nil), // 12: luci.resultdb.v1.BatchCreateTestExonerationsResponse 1313 (*CreateArtifactRequest)(nil), // 13: luci.resultdb.v1.CreateArtifactRequest 1314 (*BatchCreateArtifactsRequest)(nil), // 14: luci.resultdb.v1.BatchCreateArtifactsRequest 1315 (*BatchCreateArtifactsResponse)(nil), // 15: luci.resultdb.v1.BatchCreateArtifactsResponse 1316 (*Invocation)(nil), // 16: luci.resultdb.v1.Invocation 1317 (*fieldmaskpb.FieldMask)(nil), // 17: google.protobuf.FieldMask 1318 (*TestResult)(nil), // 18: luci.resultdb.v1.TestResult 1319 (*TestExoneration)(nil), // 19: luci.resultdb.v1.TestExoneration 1320 (*Artifact)(nil), // 20: luci.resultdb.v1.Artifact 1321 (*emptypb.Empty)(nil), // 21: google.protobuf.Empty 1322 } 1323 var file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_depIdxs = []int32{ 1324 16, // 0: luci.resultdb.v1.CreateInvocationRequest.invocation:type_name -> luci.resultdb.v1.Invocation 1325 0, // 1: luci.resultdb.v1.BatchCreateInvocationsRequest.requests:type_name -> luci.resultdb.v1.CreateInvocationRequest 1326 16, // 2: luci.resultdb.v1.BatchCreateInvocationsResponse.invocations:type_name -> luci.resultdb.v1.Invocation 1327 16, // 3: luci.resultdb.v1.UpdateInvocationRequest.invocation:type_name -> luci.resultdb.v1.Invocation 1328 17, // 4: luci.resultdb.v1.UpdateInvocationRequest.update_mask:type_name -> google.protobuf.FieldMask 1329 18, // 5: luci.resultdb.v1.CreateTestResultRequest.test_result:type_name -> luci.resultdb.v1.TestResult 1330 7, // 6: luci.resultdb.v1.BatchCreateTestResultsRequest.requests:type_name -> luci.resultdb.v1.CreateTestResultRequest 1331 18, // 7: luci.resultdb.v1.BatchCreateTestResultsResponse.test_results:type_name -> luci.resultdb.v1.TestResult 1332 19, // 8: luci.resultdb.v1.CreateTestExonerationRequest.test_exoneration:type_name -> luci.resultdb.v1.TestExoneration 1333 10, // 9: luci.resultdb.v1.BatchCreateTestExonerationsRequest.requests:type_name -> luci.resultdb.v1.CreateTestExonerationRequest 1334 19, // 10: luci.resultdb.v1.BatchCreateTestExonerationsResponse.test_exonerations:type_name -> luci.resultdb.v1.TestExoneration 1335 20, // 11: luci.resultdb.v1.CreateArtifactRequest.artifact:type_name -> luci.resultdb.v1.Artifact 1336 13, // 12: luci.resultdb.v1.BatchCreateArtifactsRequest.requests:type_name -> luci.resultdb.v1.CreateArtifactRequest 1337 20, // 13: luci.resultdb.v1.BatchCreateArtifactsResponse.artifacts:type_name -> luci.resultdb.v1.Artifact 1338 0, // 14: luci.resultdb.v1.Recorder.CreateInvocation:input_type -> luci.resultdb.v1.CreateInvocationRequest 1339 1, // 15: luci.resultdb.v1.Recorder.BatchCreateInvocations:input_type -> luci.resultdb.v1.BatchCreateInvocationsRequest 1340 3, // 16: luci.resultdb.v1.Recorder.UpdateInvocation:input_type -> luci.resultdb.v1.UpdateInvocationRequest 1341 4, // 17: luci.resultdb.v1.Recorder.FinalizeInvocation:input_type -> luci.resultdb.v1.FinalizeInvocationRequest 1342 5, // 18: luci.resultdb.v1.Recorder.UpdateIncludedInvocations:input_type -> luci.resultdb.v1.UpdateIncludedInvocationsRequest 1343 6, // 19: luci.resultdb.v1.Recorder.MarkInvocationSubmitted:input_type -> luci.resultdb.v1.MarkInvocationSubmittedRequest 1344 7, // 20: luci.resultdb.v1.Recorder.CreateTestResult:input_type -> luci.resultdb.v1.CreateTestResultRequest 1345 8, // 21: luci.resultdb.v1.Recorder.BatchCreateTestResults:input_type -> luci.resultdb.v1.BatchCreateTestResultsRequest 1346 10, // 22: luci.resultdb.v1.Recorder.CreateTestExoneration:input_type -> luci.resultdb.v1.CreateTestExonerationRequest 1347 11, // 23: luci.resultdb.v1.Recorder.BatchCreateTestExonerations:input_type -> luci.resultdb.v1.BatchCreateTestExonerationsRequest 1348 14, // 24: luci.resultdb.v1.Recorder.BatchCreateArtifacts:input_type -> luci.resultdb.v1.BatchCreateArtifactsRequest 1349 16, // 25: luci.resultdb.v1.Recorder.CreateInvocation:output_type -> luci.resultdb.v1.Invocation 1350 2, // 26: luci.resultdb.v1.Recorder.BatchCreateInvocations:output_type -> luci.resultdb.v1.BatchCreateInvocationsResponse 1351 16, // 27: luci.resultdb.v1.Recorder.UpdateInvocation:output_type -> luci.resultdb.v1.Invocation 1352 16, // 28: luci.resultdb.v1.Recorder.FinalizeInvocation:output_type -> luci.resultdb.v1.Invocation 1353 21, // 29: luci.resultdb.v1.Recorder.UpdateIncludedInvocations:output_type -> google.protobuf.Empty 1354 21, // 30: luci.resultdb.v1.Recorder.MarkInvocationSubmitted:output_type -> google.protobuf.Empty 1355 18, // 31: luci.resultdb.v1.Recorder.CreateTestResult:output_type -> luci.resultdb.v1.TestResult 1356 9, // 32: luci.resultdb.v1.Recorder.BatchCreateTestResults:output_type -> luci.resultdb.v1.BatchCreateTestResultsResponse 1357 19, // 33: luci.resultdb.v1.Recorder.CreateTestExoneration:output_type -> luci.resultdb.v1.TestExoneration 1358 12, // 34: luci.resultdb.v1.Recorder.BatchCreateTestExonerations:output_type -> luci.resultdb.v1.BatchCreateTestExonerationsResponse 1359 15, // 35: luci.resultdb.v1.Recorder.BatchCreateArtifacts:output_type -> luci.resultdb.v1.BatchCreateArtifactsResponse 1360 25, // [25:36] is the sub-list for method output_type 1361 14, // [14:25] is the sub-list for method input_type 1362 14, // [14:14] is the sub-list for extension type_name 1363 14, // [14:14] is the sub-list for extension extendee 1364 0, // [0:14] is the sub-list for field type_name 1365 } 1366 1367 func init() { file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_init() } 1368 func file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_init() { 1369 if File_go_chromium_org_luci_resultdb_proto_v1_recorder_proto != nil { 1370 return 1371 } 1372 file_go_chromium_org_luci_resultdb_proto_v1_artifact_proto_init() 1373 file_go_chromium_org_luci_resultdb_proto_v1_invocation_proto_init() 1374 file_go_chromium_org_luci_resultdb_proto_v1_test_result_proto_init() 1375 if !protoimpl.UnsafeEnabled { 1376 file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1377 switch v := v.(*CreateInvocationRequest); i { 1378 case 0: 1379 return &v.state 1380 case 1: 1381 return &v.sizeCache 1382 case 2: 1383 return &v.unknownFields 1384 default: 1385 return nil 1386 } 1387 } 1388 file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1389 switch v := v.(*BatchCreateInvocationsRequest); i { 1390 case 0: 1391 return &v.state 1392 case 1: 1393 return &v.sizeCache 1394 case 2: 1395 return &v.unknownFields 1396 default: 1397 return nil 1398 } 1399 } 1400 file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1401 switch v := v.(*BatchCreateInvocationsResponse); i { 1402 case 0: 1403 return &v.state 1404 case 1: 1405 return &v.sizeCache 1406 case 2: 1407 return &v.unknownFields 1408 default: 1409 return nil 1410 } 1411 } 1412 file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1413 switch v := v.(*UpdateInvocationRequest); i { 1414 case 0: 1415 return &v.state 1416 case 1: 1417 return &v.sizeCache 1418 case 2: 1419 return &v.unknownFields 1420 default: 1421 return nil 1422 } 1423 } 1424 file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1425 switch v := v.(*FinalizeInvocationRequest); i { 1426 case 0: 1427 return &v.state 1428 case 1: 1429 return &v.sizeCache 1430 case 2: 1431 return &v.unknownFields 1432 default: 1433 return nil 1434 } 1435 } 1436 file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1437 switch v := v.(*UpdateIncludedInvocationsRequest); i { 1438 case 0: 1439 return &v.state 1440 case 1: 1441 return &v.sizeCache 1442 case 2: 1443 return &v.unknownFields 1444 default: 1445 return nil 1446 } 1447 } 1448 file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1449 switch v := v.(*MarkInvocationSubmittedRequest); i { 1450 case 0: 1451 return &v.state 1452 case 1: 1453 return &v.sizeCache 1454 case 2: 1455 return &v.unknownFields 1456 default: 1457 return nil 1458 } 1459 } 1460 file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1461 switch v := v.(*CreateTestResultRequest); i { 1462 case 0: 1463 return &v.state 1464 case 1: 1465 return &v.sizeCache 1466 case 2: 1467 return &v.unknownFields 1468 default: 1469 return nil 1470 } 1471 } 1472 file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 1473 switch v := v.(*BatchCreateTestResultsRequest); i { 1474 case 0: 1475 return &v.state 1476 case 1: 1477 return &v.sizeCache 1478 case 2: 1479 return &v.unknownFields 1480 default: 1481 return nil 1482 } 1483 } 1484 file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 1485 switch v := v.(*BatchCreateTestResultsResponse); i { 1486 case 0: 1487 return &v.state 1488 case 1: 1489 return &v.sizeCache 1490 case 2: 1491 return &v.unknownFields 1492 default: 1493 return nil 1494 } 1495 } 1496 file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 1497 switch v := v.(*CreateTestExonerationRequest); i { 1498 case 0: 1499 return &v.state 1500 case 1: 1501 return &v.sizeCache 1502 case 2: 1503 return &v.unknownFields 1504 default: 1505 return nil 1506 } 1507 } 1508 file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 1509 switch v := v.(*BatchCreateTestExonerationsRequest); i { 1510 case 0: 1511 return &v.state 1512 case 1: 1513 return &v.sizeCache 1514 case 2: 1515 return &v.unknownFields 1516 default: 1517 return nil 1518 } 1519 } 1520 file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 1521 switch v := v.(*BatchCreateTestExonerationsResponse); i { 1522 case 0: 1523 return &v.state 1524 case 1: 1525 return &v.sizeCache 1526 case 2: 1527 return &v.unknownFields 1528 default: 1529 return nil 1530 } 1531 } 1532 file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 1533 switch v := v.(*CreateArtifactRequest); i { 1534 case 0: 1535 return &v.state 1536 case 1: 1537 return &v.sizeCache 1538 case 2: 1539 return &v.unknownFields 1540 default: 1541 return nil 1542 } 1543 } 1544 file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 1545 switch v := v.(*BatchCreateArtifactsRequest); i { 1546 case 0: 1547 return &v.state 1548 case 1: 1549 return &v.sizeCache 1550 case 2: 1551 return &v.unknownFields 1552 default: 1553 return nil 1554 } 1555 } 1556 file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 1557 switch v := v.(*BatchCreateArtifactsResponse); i { 1558 case 0: 1559 return &v.state 1560 case 1: 1561 return &v.sizeCache 1562 case 2: 1563 return &v.unknownFields 1564 default: 1565 return nil 1566 } 1567 } 1568 } 1569 type x struct{} 1570 out := protoimpl.TypeBuilder{ 1571 File: protoimpl.DescBuilder{ 1572 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1573 RawDescriptor: file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDesc, 1574 NumEnums: 0, 1575 NumMessages: 16, 1576 NumExtensions: 0, 1577 NumServices: 1, 1578 }, 1579 GoTypes: file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_goTypes, 1580 DependencyIndexes: file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_depIdxs, 1581 MessageInfos: file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_msgTypes, 1582 }.Build() 1583 File_go_chromium_org_luci_resultdb_proto_v1_recorder_proto = out.File 1584 file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_rawDesc = nil 1585 file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_goTypes = nil 1586 file_go_chromium_org_luci_resultdb_proto_v1_recorder_proto_depIdxs = nil 1587 } 1588 1589 // Reference imports to suppress errors if they are not otherwise used. 1590 var _ context.Context 1591 var _ grpc.ClientConnInterface 1592 1593 // This is a compile-time assertion to ensure that this generated file 1594 // is compatible with the grpc package it is being compiled against. 1595 const _ = grpc.SupportPackageIsVersion6 1596 1597 // RecorderClient is the client API for Recorder service. 1598 // 1599 // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 1600 type RecorderClient interface { 1601 // Creates a new invocation. 1602 // The request specifies the invocation id and its contents. 1603 // 1604 // The response header metadata contains "update-token" required for future 1605 // updates, including finalization. 1606 // 1607 // If invocation with the given ID already exists, returns ALREADY_EXISTS 1608 // error code. 1609 CreateInvocation(ctx context.Context, in *CreateInvocationRequest, opts ...grpc.CallOption) (*Invocation, error) 1610 // Creates multiple invocations in a single rpc. 1611 // 1612 // The response header metadata contains a multi-valued "update-token" 1613 // required for future updates, including finalization. The tokens will be 1614 // given in the same order as BatchCreateInvocationRequest.requests. 1615 BatchCreateInvocations(ctx context.Context, in *BatchCreateInvocationsRequest, opts ...grpc.CallOption) (*BatchCreateInvocationsResponse, error) 1616 // Updates an existing non-finalized invocation. 1617 UpdateInvocation(ctx context.Context, in *UpdateInvocationRequest, opts ...grpc.CallOption) (*Invocation, error) 1618 // Transitions the given invocation to the state FINALIZED. 1619 FinalizeInvocation(ctx context.Context, in *FinalizeInvocationRequest, opts ...grpc.CallOption) (*Invocation, error) 1620 // Updates inclusions for a non-finalized invocation. 1621 UpdateIncludedInvocations(ctx context.Context, in *UpdateIncludedInvocationsRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) 1622 // Recursively marks all test variants associated with the invocation as 1623 // submitted, merging them into the invocation's associated baseline. 1624 MarkInvocationSubmitted(ctx context.Context, in *MarkInvocationSubmittedRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) 1625 // Appends a test result to a non-finalized invocation. 1626 CreateTestResult(ctx context.Context, in *CreateTestResultRequest, opts ...grpc.CallOption) (*TestResult, error) 1627 // Atomically appends a batch of test results to a non-finalized invocation. 1628 BatchCreateTestResults(ctx context.Context, in *BatchCreateTestResultsRequest, opts ...grpc.CallOption) (*BatchCreateTestResultsResponse, error) 1629 // Appends a test exoneration to a non-finalized invocation. 1630 CreateTestExoneration(ctx context.Context, in *CreateTestExonerationRequest, opts ...grpc.CallOption) (*TestExoneration, error) 1631 // Atomically appends a batch of test exonerations to a non-finalized 1632 // invocation. 1633 BatchCreateTestExonerations(ctx context.Context, in *BatchCreateTestExonerationsRequest, opts ...grpc.CallOption) (*BatchCreateTestExonerationsResponse, error) 1634 // Create multiple artifacts. 1635 // 1636 // An artifact can be either invocation-level or test-result-level. 1637 // See Artifact.name for more info. 1638 BatchCreateArtifacts(ctx context.Context, in *BatchCreateArtifactsRequest, opts ...grpc.CallOption) (*BatchCreateArtifactsResponse, error) 1639 } 1640 type recorderPRPCClient struct { 1641 client *prpc.Client 1642 } 1643 1644 func NewRecorderPRPCClient(client *prpc.Client) RecorderClient { 1645 return &recorderPRPCClient{client} 1646 } 1647 1648 func (c *recorderPRPCClient) CreateInvocation(ctx context.Context, in *CreateInvocationRequest, opts ...grpc.CallOption) (*Invocation, error) { 1649 out := new(Invocation) 1650 err := c.client.Call(ctx, "luci.resultdb.v1.Recorder", "CreateInvocation", in, out, opts...) 1651 if err != nil { 1652 return nil, err 1653 } 1654 return out, nil 1655 } 1656 1657 func (c *recorderPRPCClient) BatchCreateInvocations(ctx context.Context, in *BatchCreateInvocationsRequest, opts ...grpc.CallOption) (*BatchCreateInvocationsResponse, error) { 1658 out := new(BatchCreateInvocationsResponse) 1659 err := c.client.Call(ctx, "luci.resultdb.v1.Recorder", "BatchCreateInvocations", in, out, opts...) 1660 if err != nil { 1661 return nil, err 1662 } 1663 return out, nil 1664 } 1665 1666 func (c *recorderPRPCClient) UpdateInvocation(ctx context.Context, in *UpdateInvocationRequest, opts ...grpc.CallOption) (*Invocation, error) { 1667 out := new(Invocation) 1668 err := c.client.Call(ctx, "luci.resultdb.v1.Recorder", "UpdateInvocation", in, out, opts...) 1669 if err != nil { 1670 return nil, err 1671 } 1672 return out, nil 1673 } 1674 1675 func (c *recorderPRPCClient) FinalizeInvocation(ctx context.Context, in *FinalizeInvocationRequest, opts ...grpc.CallOption) (*Invocation, error) { 1676 out := new(Invocation) 1677 err := c.client.Call(ctx, "luci.resultdb.v1.Recorder", "FinalizeInvocation", in, out, opts...) 1678 if err != nil { 1679 return nil, err 1680 } 1681 return out, nil 1682 } 1683 1684 func (c *recorderPRPCClient) UpdateIncludedInvocations(ctx context.Context, in *UpdateIncludedInvocationsRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { 1685 out := new(emptypb.Empty) 1686 err := c.client.Call(ctx, "luci.resultdb.v1.Recorder", "UpdateIncludedInvocations", in, out, opts...) 1687 if err != nil { 1688 return nil, err 1689 } 1690 return out, nil 1691 } 1692 1693 func (c *recorderPRPCClient) MarkInvocationSubmitted(ctx context.Context, in *MarkInvocationSubmittedRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { 1694 out := new(emptypb.Empty) 1695 err := c.client.Call(ctx, "luci.resultdb.v1.Recorder", "MarkInvocationSubmitted", in, out, opts...) 1696 if err != nil { 1697 return nil, err 1698 } 1699 return out, nil 1700 } 1701 1702 func (c *recorderPRPCClient) CreateTestResult(ctx context.Context, in *CreateTestResultRequest, opts ...grpc.CallOption) (*TestResult, error) { 1703 out := new(TestResult) 1704 err := c.client.Call(ctx, "luci.resultdb.v1.Recorder", "CreateTestResult", in, out, opts...) 1705 if err != nil { 1706 return nil, err 1707 } 1708 return out, nil 1709 } 1710 1711 func (c *recorderPRPCClient) BatchCreateTestResults(ctx context.Context, in *BatchCreateTestResultsRequest, opts ...grpc.CallOption) (*BatchCreateTestResultsResponse, error) { 1712 out := new(BatchCreateTestResultsResponse) 1713 err := c.client.Call(ctx, "luci.resultdb.v1.Recorder", "BatchCreateTestResults", in, out, opts...) 1714 if err != nil { 1715 return nil, err 1716 } 1717 return out, nil 1718 } 1719 1720 func (c *recorderPRPCClient) CreateTestExoneration(ctx context.Context, in *CreateTestExonerationRequest, opts ...grpc.CallOption) (*TestExoneration, error) { 1721 out := new(TestExoneration) 1722 err := c.client.Call(ctx, "luci.resultdb.v1.Recorder", "CreateTestExoneration", in, out, opts...) 1723 if err != nil { 1724 return nil, err 1725 } 1726 return out, nil 1727 } 1728 1729 func (c *recorderPRPCClient) BatchCreateTestExonerations(ctx context.Context, in *BatchCreateTestExonerationsRequest, opts ...grpc.CallOption) (*BatchCreateTestExonerationsResponse, error) { 1730 out := new(BatchCreateTestExonerationsResponse) 1731 err := c.client.Call(ctx, "luci.resultdb.v1.Recorder", "BatchCreateTestExonerations", in, out, opts...) 1732 if err != nil { 1733 return nil, err 1734 } 1735 return out, nil 1736 } 1737 1738 func (c *recorderPRPCClient) BatchCreateArtifacts(ctx context.Context, in *BatchCreateArtifactsRequest, opts ...grpc.CallOption) (*BatchCreateArtifactsResponse, error) { 1739 out := new(BatchCreateArtifactsResponse) 1740 err := c.client.Call(ctx, "luci.resultdb.v1.Recorder", "BatchCreateArtifacts", in, out, opts...) 1741 if err != nil { 1742 return nil, err 1743 } 1744 return out, nil 1745 } 1746 1747 type recorderClient struct { 1748 cc grpc.ClientConnInterface 1749 } 1750 1751 func NewRecorderClient(cc grpc.ClientConnInterface) RecorderClient { 1752 return &recorderClient{cc} 1753 } 1754 1755 func (c *recorderClient) CreateInvocation(ctx context.Context, in *CreateInvocationRequest, opts ...grpc.CallOption) (*Invocation, error) { 1756 out := new(Invocation) 1757 err := c.cc.Invoke(ctx, "/luci.resultdb.v1.Recorder/CreateInvocation", in, out, opts...) 1758 if err != nil { 1759 return nil, err 1760 } 1761 return out, nil 1762 } 1763 1764 func (c *recorderClient) BatchCreateInvocations(ctx context.Context, in *BatchCreateInvocationsRequest, opts ...grpc.CallOption) (*BatchCreateInvocationsResponse, error) { 1765 out := new(BatchCreateInvocationsResponse) 1766 err := c.cc.Invoke(ctx, "/luci.resultdb.v1.Recorder/BatchCreateInvocations", in, out, opts...) 1767 if err != nil { 1768 return nil, err 1769 } 1770 return out, nil 1771 } 1772 1773 func (c *recorderClient) UpdateInvocation(ctx context.Context, in *UpdateInvocationRequest, opts ...grpc.CallOption) (*Invocation, error) { 1774 out := new(Invocation) 1775 err := c.cc.Invoke(ctx, "/luci.resultdb.v1.Recorder/UpdateInvocation", in, out, opts...) 1776 if err != nil { 1777 return nil, err 1778 } 1779 return out, nil 1780 } 1781 1782 func (c *recorderClient) FinalizeInvocation(ctx context.Context, in *FinalizeInvocationRequest, opts ...grpc.CallOption) (*Invocation, error) { 1783 out := new(Invocation) 1784 err := c.cc.Invoke(ctx, "/luci.resultdb.v1.Recorder/FinalizeInvocation", in, out, opts...) 1785 if err != nil { 1786 return nil, err 1787 } 1788 return out, nil 1789 } 1790 1791 func (c *recorderClient) UpdateIncludedInvocations(ctx context.Context, in *UpdateIncludedInvocationsRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { 1792 out := new(emptypb.Empty) 1793 err := c.cc.Invoke(ctx, "/luci.resultdb.v1.Recorder/UpdateIncludedInvocations", in, out, opts...) 1794 if err != nil { 1795 return nil, err 1796 } 1797 return out, nil 1798 } 1799 1800 func (c *recorderClient) MarkInvocationSubmitted(ctx context.Context, in *MarkInvocationSubmittedRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) { 1801 out := new(emptypb.Empty) 1802 err := c.cc.Invoke(ctx, "/luci.resultdb.v1.Recorder/MarkInvocationSubmitted", in, out, opts...) 1803 if err != nil { 1804 return nil, err 1805 } 1806 return out, nil 1807 } 1808 1809 func (c *recorderClient) CreateTestResult(ctx context.Context, in *CreateTestResultRequest, opts ...grpc.CallOption) (*TestResult, error) { 1810 out := new(TestResult) 1811 err := c.cc.Invoke(ctx, "/luci.resultdb.v1.Recorder/CreateTestResult", in, out, opts...) 1812 if err != nil { 1813 return nil, err 1814 } 1815 return out, nil 1816 } 1817 1818 func (c *recorderClient) BatchCreateTestResults(ctx context.Context, in *BatchCreateTestResultsRequest, opts ...grpc.CallOption) (*BatchCreateTestResultsResponse, error) { 1819 out := new(BatchCreateTestResultsResponse) 1820 err := c.cc.Invoke(ctx, "/luci.resultdb.v1.Recorder/BatchCreateTestResults", in, out, opts...) 1821 if err != nil { 1822 return nil, err 1823 } 1824 return out, nil 1825 } 1826 1827 func (c *recorderClient) CreateTestExoneration(ctx context.Context, in *CreateTestExonerationRequest, opts ...grpc.CallOption) (*TestExoneration, error) { 1828 out := new(TestExoneration) 1829 err := c.cc.Invoke(ctx, "/luci.resultdb.v1.Recorder/CreateTestExoneration", in, out, opts...) 1830 if err != nil { 1831 return nil, err 1832 } 1833 return out, nil 1834 } 1835 1836 func (c *recorderClient) BatchCreateTestExonerations(ctx context.Context, in *BatchCreateTestExonerationsRequest, opts ...grpc.CallOption) (*BatchCreateTestExonerationsResponse, error) { 1837 out := new(BatchCreateTestExonerationsResponse) 1838 err := c.cc.Invoke(ctx, "/luci.resultdb.v1.Recorder/BatchCreateTestExonerations", in, out, opts...) 1839 if err != nil { 1840 return nil, err 1841 } 1842 return out, nil 1843 } 1844 1845 func (c *recorderClient) BatchCreateArtifacts(ctx context.Context, in *BatchCreateArtifactsRequest, opts ...grpc.CallOption) (*BatchCreateArtifactsResponse, error) { 1846 out := new(BatchCreateArtifactsResponse) 1847 err := c.cc.Invoke(ctx, "/luci.resultdb.v1.Recorder/BatchCreateArtifacts", in, out, opts...) 1848 if err != nil { 1849 return nil, err 1850 } 1851 return out, nil 1852 } 1853 1854 // RecorderServer is the server API for Recorder service. 1855 type RecorderServer interface { 1856 // Creates a new invocation. 1857 // The request specifies the invocation id and its contents. 1858 // 1859 // The response header metadata contains "update-token" required for future 1860 // updates, including finalization. 1861 // 1862 // If invocation with the given ID already exists, returns ALREADY_EXISTS 1863 // error code. 1864 CreateInvocation(context.Context, *CreateInvocationRequest) (*Invocation, error) 1865 // Creates multiple invocations in a single rpc. 1866 // 1867 // The response header metadata contains a multi-valued "update-token" 1868 // required for future updates, including finalization. The tokens will be 1869 // given in the same order as BatchCreateInvocationRequest.requests. 1870 BatchCreateInvocations(context.Context, *BatchCreateInvocationsRequest) (*BatchCreateInvocationsResponse, error) 1871 // Updates an existing non-finalized invocation. 1872 UpdateInvocation(context.Context, *UpdateInvocationRequest) (*Invocation, error) 1873 // Transitions the given invocation to the state FINALIZED. 1874 FinalizeInvocation(context.Context, *FinalizeInvocationRequest) (*Invocation, error) 1875 // Updates inclusions for a non-finalized invocation. 1876 UpdateIncludedInvocations(context.Context, *UpdateIncludedInvocationsRequest) (*emptypb.Empty, error) 1877 // Recursively marks all test variants associated with the invocation as 1878 // submitted, merging them into the invocation's associated baseline. 1879 MarkInvocationSubmitted(context.Context, *MarkInvocationSubmittedRequest) (*emptypb.Empty, error) 1880 // Appends a test result to a non-finalized invocation. 1881 CreateTestResult(context.Context, *CreateTestResultRequest) (*TestResult, error) 1882 // Atomically appends a batch of test results to a non-finalized invocation. 1883 BatchCreateTestResults(context.Context, *BatchCreateTestResultsRequest) (*BatchCreateTestResultsResponse, error) 1884 // Appends a test exoneration to a non-finalized invocation. 1885 CreateTestExoneration(context.Context, *CreateTestExonerationRequest) (*TestExoneration, error) 1886 // Atomically appends a batch of test exonerations to a non-finalized 1887 // invocation. 1888 BatchCreateTestExonerations(context.Context, *BatchCreateTestExonerationsRequest) (*BatchCreateTestExonerationsResponse, error) 1889 // Create multiple artifacts. 1890 // 1891 // An artifact can be either invocation-level or test-result-level. 1892 // See Artifact.name for more info. 1893 BatchCreateArtifacts(context.Context, *BatchCreateArtifactsRequest) (*BatchCreateArtifactsResponse, error) 1894 } 1895 1896 // UnimplementedRecorderServer can be embedded to have forward compatible implementations. 1897 type UnimplementedRecorderServer struct { 1898 } 1899 1900 func (*UnimplementedRecorderServer) CreateInvocation(context.Context, *CreateInvocationRequest) (*Invocation, error) { 1901 return nil, status.Errorf(codes.Unimplemented, "method CreateInvocation not implemented") 1902 } 1903 func (*UnimplementedRecorderServer) BatchCreateInvocations(context.Context, *BatchCreateInvocationsRequest) (*BatchCreateInvocationsResponse, error) { 1904 return nil, status.Errorf(codes.Unimplemented, "method BatchCreateInvocations not implemented") 1905 } 1906 func (*UnimplementedRecorderServer) UpdateInvocation(context.Context, *UpdateInvocationRequest) (*Invocation, error) { 1907 return nil, status.Errorf(codes.Unimplemented, "method UpdateInvocation not implemented") 1908 } 1909 func (*UnimplementedRecorderServer) FinalizeInvocation(context.Context, *FinalizeInvocationRequest) (*Invocation, error) { 1910 return nil, status.Errorf(codes.Unimplemented, "method FinalizeInvocation not implemented") 1911 } 1912 func (*UnimplementedRecorderServer) UpdateIncludedInvocations(context.Context, *UpdateIncludedInvocationsRequest) (*emptypb.Empty, error) { 1913 return nil, status.Errorf(codes.Unimplemented, "method UpdateIncludedInvocations not implemented") 1914 } 1915 func (*UnimplementedRecorderServer) MarkInvocationSubmitted(context.Context, *MarkInvocationSubmittedRequest) (*emptypb.Empty, error) { 1916 return nil, status.Errorf(codes.Unimplemented, "method MarkInvocationSubmitted not implemented") 1917 } 1918 func (*UnimplementedRecorderServer) CreateTestResult(context.Context, *CreateTestResultRequest) (*TestResult, error) { 1919 return nil, status.Errorf(codes.Unimplemented, "method CreateTestResult not implemented") 1920 } 1921 func (*UnimplementedRecorderServer) BatchCreateTestResults(context.Context, *BatchCreateTestResultsRequest) (*BatchCreateTestResultsResponse, error) { 1922 return nil, status.Errorf(codes.Unimplemented, "method BatchCreateTestResults not implemented") 1923 } 1924 func (*UnimplementedRecorderServer) CreateTestExoneration(context.Context, *CreateTestExonerationRequest) (*TestExoneration, error) { 1925 return nil, status.Errorf(codes.Unimplemented, "method CreateTestExoneration not implemented") 1926 } 1927 func (*UnimplementedRecorderServer) BatchCreateTestExonerations(context.Context, *BatchCreateTestExonerationsRequest) (*BatchCreateTestExonerationsResponse, error) { 1928 return nil, status.Errorf(codes.Unimplemented, "method BatchCreateTestExonerations not implemented") 1929 } 1930 func (*UnimplementedRecorderServer) BatchCreateArtifacts(context.Context, *BatchCreateArtifactsRequest) (*BatchCreateArtifactsResponse, error) { 1931 return nil, status.Errorf(codes.Unimplemented, "method BatchCreateArtifacts not implemented") 1932 } 1933 1934 func RegisterRecorderServer(s prpc.Registrar, srv RecorderServer) { 1935 s.RegisterService(&_Recorder_serviceDesc, srv) 1936 } 1937 1938 func _Recorder_CreateInvocation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 1939 in := new(CreateInvocationRequest) 1940 if err := dec(in); err != nil { 1941 return nil, err 1942 } 1943 if interceptor == nil { 1944 return srv.(RecorderServer).CreateInvocation(ctx, in) 1945 } 1946 info := &grpc.UnaryServerInfo{ 1947 Server: srv, 1948 FullMethod: "/luci.resultdb.v1.Recorder/CreateInvocation", 1949 } 1950 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 1951 return srv.(RecorderServer).CreateInvocation(ctx, req.(*CreateInvocationRequest)) 1952 } 1953 return interceptor(ctx, in, info, handler) 1954 } 1955 1956 func _Recorder_BatchCreateInvocations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 1957 in := new(BatchCreateInvocationsRequest) 1958 if err := dec(in); err != nil { 1959 return nil, err 1960 } 1961 if interceptor == nil { 1962 return srv.(RecorderServer).BatchCreateInvocations(ctx, in) 1963 } 1964 info := &grpc.UnaryServerInfo{ 1965 Server: srv, 1966 FullMethod: "/luci.resultdb.v1.Recorder/BatchCreateInvocations", 1967 } 1968 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 1969 return srv.(RecorderServer).BatchCreateInvocations(ctx, req.(*BatchCreateInvocationsRequest)) 1970 } 1971 return interceptor(ctx, in, info, handler) 1972 } 1973 1974 func _Recorder_UpdateInvocation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 1975 in := new(UpdateInvocationRequest) 1976 if err := dec(in); err != nil { 1977 return nil, err 1978 } 1979 if interceptor == nil { 1980 return srv.(RecorderServer).UpdateInvocation(ctx, in) 1981 } 1982 info := &grpc.UnaryServerInfo{ 1983 Server: srv, 1984 FullMethod: "/luci.resultdb.v1.Recorder/UpdateInvocation", 1985 } 1986 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 1987 return srv.(RecorderServer).UpdateInvocation(ctx, req.(*UpdateInvocationRequest)) 1988 } 1989 return interceptor(ctx, in, info, handler) 1990 } 1991 1992 func _Recorder_FinalizeInvocation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 1993 in := new(FinalizeInvocationRequest) 1994 if err := dec(in); err != nil { 1995 return nil, err 1996 } 1997 if interceptor == nil { 1998 return srv.(RecorderServer).FinalizeInvocation(ctx, in) 1999 } 2000 info := &grpc.UnaryServerInfo{ 2001 Server: srv, 2002 FullMethod: "/luci.resultdb.v1.Recorder/FinalizeInvocation", 2003 } 2004 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2005 return srv.(RecorderServer).FinalizeInvocation(ctx, req.(*FinalizeInvocationRequest)) 2006 } 2007 return interceptor(ctx, in, info, handler) 2008 } 2009 2010 func _Recorder_UpdateIncludedInvocations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2011 in := new(UpdateIncludedInvocationsRequest) 2012 if err := dec(in); err != nil { 2013 return nil, err 2014 } 2015 if interceptor == nil { 2016 return srv.(RecorderServer).UpdateIncludedInvocations(ctx, in) 2017 } 2018 info := &grpc.UnaryServerInfo{ 2019 Server: srv, 2020 FullMethod: "/luci.resultdb.v1.Recorder/UpdateIncludedInvocations", 2021 } 2022 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2023 return srv.(RecorderServer).UpdateIncludedInvocations(ctx, req.(*UpdateIncludedInvocationsRequest)) 2024 } 2025 return interceptor(ctx, in, info, handler) 2026 } 2027 2028 func _Recorder_MarkInvocationSubmitted_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2029 in := new(MarkInvocationSubmittedRequest) 2030 if err := dec(in); err != nil { 2031 return nil, err 2032 } 2033 if interceptor == nil { 2034 return srv.(RecorderServer).MarkInvocationSubmitted(ctx, in) 2035 } 2036 info := &grpc.UnaryServerInfo{ 2037 Server: srv, 2038 FullMethod: "/luci.resultdb.v1.Recorder/MarkInvocationSubmitted", 2039 } 2040 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2041 return srv.(RecorderServer).MarkInvocationSubmitted(ctx, req.(*MarkInvocationSubmittedRequest)) 2042 } 2043 return interceptor(ctx, in, info, handler) 2044 } 2045 2046 func _Recorder_CreateTestResult_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2047 in := new(CreateTestResultRequest) 2048 if err := dec(in); err != nil { 2049 return nil, err 2050 } 2051 if interceptor == nil { 2052 return srv.(RecorderServer).CreateTestResult(ctx, in) 2053 } 2054 info := &grpc.UnaryServerInfo{ 2055 Server: srv, 2056 FullMethod: "/luci.resultdb.v1.Recorder/CreateTestResult", 2057 } 2058 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2059 return srv.(RecorderServer).CreateTestResult(ctx, req.(*CreateTestResultRequest)) 2060 } 2061 return interceptor(ctx, in, info, handler) 2062 } 2063 2064 func _Recorder_BatchCreateTestResults_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2065 in := new(BatchCreateTestResultsRequest) 2066 if err := dec(in); err != nil { 2067 return nil, err 2068 } 2069 if interceptor == nil { 2070 return srv.(RecorderServer).BatchCreateTestResults(ctx, in) 2071 } 2072 info := &grpc.UnaryServerInfo{ 2073 Server: srv, 2074 FullMethod: "/luci.resultdb.v1.Recorder/BatchCreateTestResults", 2075 } 2076 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2077 return srv.(RecorderServer).BatchCreateTestResults(ctx, req.(*BatchCreateTestResultsRequest)) 2078 } 2079 return interceptor(ctx, in, info, handler) 2080 } 2081 2082 func _Recorder_CreateTestExoneration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2083 in := new(CreateTestExonerationRequest) 2084 if err := dec(in); err != nil { 2085 return nil, err 2086 } 2087 if interceptor == nil { 2088 return srv.(RecorderServer).CreateTestExoneration(ctx, in) 2089 } 2090 info := &grpc.UnaryServerInfo{ 2091 Server: srv, 2092 FullMethod: "/luci.resultdb.v1.Recorder/CreateTestExoneration", 2093 } 2094 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2095 return srv.(RecorderServer).CreateTestExoneration(ctx, req.(*CreateTestExonerationRequest)) 2096 } 2097 return interceptor(ctx, in, info, handler) 2098 } 2099 2100 func _Recorder_BatchCreateTestExonerations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2101 in := new(BatchCreateTestExonerationsRequest) 2102 if err := dec(in); err != nil { 2103 return nil, err 2104 } 2105 if interceptor == nil { 2106 return srv.(RecorderServer).BatchCreateTestExonerations(ctx, in) 2107 } 2108 info := &grpc.UnaryServerInfo{ 2109 Server: srv, 2110 FullMethod: "/luci.resultdb.v1.Recorder/BatchCreateTestExonerations", 2111 } 2112 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2113 return srv.(RecorderServer).BatchCreateTestExonerations(ctx, req.(*BatchCreateTestExonerationsRequest)) 2114 } 2115 return interceptor(ctx, in, info, handler) 2116 } 2117 2118 func _Recorder_BatchCreateArtifacts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2119 in := new(BatchCreateArtifactsRequest) 2120 if err := dec(in); err != nil { 2121 return nil, err 2122 } 2123 if interceptor == nil { 2124 return srv.(RecorderServer).BatchCreateArtifacts(ctx, in) 2125 } 2126 info := &grpc.UnaryServerInfo{ 2127 Server: srv, 2128 FullMethod: "/luci.resultdb.v1.Recorder/BatchCreateArtifacts", 2129 } 2130 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2131 return srv.(RecorderServer).BatchCreateArtifacts(ctx, req.(*BatchCreateArtifactsRequest)) 2132 } 2133 return interceptor(ctx, in, info, handler) 2134 } 2135 2136 var _Recorder_serviceDesc = grpc.ServiceDesc{ 2137 ServiceName: "luci.resultdb.v1.Recorder", 2138 HandlerType: (*RecorderServer)(nil), 2139 Methods: []grpc.MethodDesc{ 2140 { 2141 MethodName: "CreateInvocation", 2142 Handler: _Recorder_CreateInvocation_Handler, 2143 }, 2144 { 2145 MethodName: "BatchCreateInvocations", 2146 Handler: _Recorder_BatchCreateInvocations_Handler, 2147 }, 2148 { 2149 MethodName: "UpdateInvocation", 2150 Handler: _Recorder_UpdateInvocation_Handler, 2151 }, 2152 { 2153 MethodName: "FinalizeInvocation", 2154 Handler: _Recorder_FinalizeInvocation_Handler, 2155 }, 2156 { 2157 MethodName: "UpdateIncludedInvocations", 2158 Handler: _Recorder_UpdateIncludedInvocations_Handler, 2159 }, 2160 { 2161 MethodName: "MarkInvocationSubmitted", 2162 Handler: _Recorder_MarkInvocationSubmitted_Handler, 2163 }, 2164 { 2165 MethodName: "CreateTestResult", 2166 Handler: _Recorder_CreateTestResult_Handler, 2167 }, 2168 { 2169 MethodName: "BatchCreateTestResults", 2170 Handler: _Recorder_BatchCreateTestResults_Handler, 2171 }, 2172 { 2173 MethodName: "CreateTestExoneration", 2174 Handler: _Recorder_CreateTestExoneration_Handler, 2175 }, 2176 { 2177 MethodName: "BatchCreateTestExonerations", 2178 Handler: _Recorder_BatchCreateTestExonerations_Handler, 2179 }, 2180 { 2181 MethodName: "BatchCreateArtifacts", 2182 Handler: _Recorder_BatchCreateArtifacts_Handler, 2183 }, 2184 }, 2185 Streams: []grpc.StreamDesc{}, 2186 Metadata: "go.chromium.org/luci/resultdb/proto/v1/recorder.proto", 2187 }