go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/cv/internal/prjmanager/prjpb/storage.pb.go (about) 1 // Copyright 2021 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/cv/internal/prjmanager/prjpb/storage.proto 20 21 package prjpb 22 23 import ( 24 changelist "go.chromium.org/luci/cv/internal/changelist" 25 gerrit "go.chromium.org/luci/cv/internal/gerrit" 26 run "go.chromium.org/luci/cv/internal/run" 27 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 28 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 29 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 30 reflect "reflect" 31 sync "sync" 32 ) 33 34 const ( 35 // Verify that this generated code is sufficiently up-to-date. 36 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 37 // Verify that runtime/protoimpl is sufficiently up-to-date. 38 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 39 ) 40 41 type Status int32 42 43 const ( 44 Status_STATUS_UNSPECIFIED Status = 0 45 Status_STARTED Status = 1 46 Status_STOPPING Status = 2 47 Status_STOPPED Status = 3 48 ) 49 50 // Enum value maps for Status. 51 var ( 52 Status_name = map[int32]string{ 53 0: "STATUS_UNSPECIFIED", 54 1: "STARTED", 55 2: "STOPPING", 56 3: "STOPPED", 57 } 58 Status_value = map[string]int32{ 59 "STATUS_UNSPECIFIED": 0, 60 "STARTED": 1, 61 "STOPPING": 2, 62 "STOPPED": 3, 63 } 64 ) 65 66 func (x Status) Enum() *Status { 67 p := new(Status) 68 *p = x 69 return p 70 } 71 72 func (x Status) String() string { 73 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 74 } 75 76 func (Status) Descriptor() protoreflect.EnumDescriptor { 77 return file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_enumTypes[0].Descriptor() 78 } 79 80 func (Status) Type() protoreflect.EnumType { 81 return &file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_enumTypes[0] 82 } 83 84 func (x Status) Number() protoreflect.EnumNumber { 85 return protoreflect.EnumNumber(x) 86 } 87 88 // Deprecated: Use Status.Descriptor instead. 89 func (Status) EnumDescriptor() ([]byte, []int) { 90 return file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_rawDescGZIP(), []int{0} 91 } 92 93 // LogReason records why a change to the project state was logged. 94 // 95 // See ProjectLog entity. 96 type LogReason int32 97 98 const ( 99 LogReason_LOG_REASON_UNSPECIFIED LogReason = 0 100 // Due to passage of time or number of versions. 101 LogReason_FYI_PERIODIC LogReason = 1 102 LogReason_STATUS_CHANGED LogReason = 2 103 LogReason_CONFIG_CHANGED LogReason = 3 104 // On-demand save for debugging reasons, e.g. on caught panic. 105 LogReason_DEBUG LogReason = 4 106 ) 107 108 // Enum value maps for LogReason. 109 var ( 110 LogReason_name = map[int32]string{ 111 0: "LOG_REASON_UNSPECIFIED", 112 1: "FYI_PERIODIC", 113 2: "STATUS_CHANGED", 114 3: "CONFIG_CHANGED", 115 4: "DEBUG", 116 } 117 LogReason_value = map[string]int32{ 118 "LOG_REASON_UNSPECIFIED": 0, 119 "FYI_PERIODIC": 1, 120 "STATUS_CHANGED": 2, 121 "CONFIG_CHANGED": 3, 122 "DEBUG": 4, 123 } 124 ) 125 126 func (x LogReason) Enum() *LogReason { 127 p := new(LogReason) 128 *p = x 129 return p 130 } 131 132 func (x LogReason) String() string { 133 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 134 } 135 136 func (LogReason) Descriptor() protoreflect.EnumDescriptor { 137 return file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_enumTypes[1].Descriptor() 138 } 139 140 func (LogReason) Type() protoreflect.EnumType { 141 return &file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_enumTypes[1] 142 } 143 144 func (x LogReason) Number() protoreflect.EnumNumber { 145 return protoreflect.EnumNumber(x) 146 } 147 148 // Deprecated: Use LogReason.Descriptor instead. 149 func (LogReason) EnumDescriptor() ([]byte, []int) { 150 return file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_rawDescGZIP(), []int{1} 151 } 152 153 type PCL_Status int32 154 155 const ( 156 PCL_PCL_STATUS_UNSPECIFIED PCL_Status = 0 157 // OK means CL metadata below is correct and CL is watched by this project. 158 // 159 // Value 0 is chosen such that it's not serialized, since this is the most 160 // common state. 161 PCL_OK PCL_Status = 0 162 // UNKNOWN means Datastore CL entity doesn't have the info yet. 163 PCL_UNKNOWN PCL_Status = 1 164 // UNWATCHED means CL isn't watched by this LUCI project. 165 PCL_UNWATCHED PCL_Status = 2 166 // DELETED means CL's Datastore entity got deleted. 167 // 168 // This is used to temporary mark a PCL before deleting it entirely from 169 // PState to avoid dangling references from components. 170 PCL_DELETED PCL_Status = 3 171 ) 172 173 // Enum value maps for PCL_Status. 174 var ( 175 PCL_Status_name = map[int32]string{ 176 0: "PCL_STATUS_UNSPECIFIED", 177 // Duplicate value: 0: "OK", 178 1: "UNKNOWN", 179 2: "UNWATCHED", 180 3: "DELETED", 181 } 182 PCL_Status_value = map[string]int32{ 183 "PCL_STATUS_UNSPECIFIED": 0, 184 "OK": 0, 185 "UNKNOWN": 1, 186 "UNWATCHED": 2, 187 "DELETED": 3, 188 } 189 ) 190 191 func (x PCL_Status) Enum() *PCL_Status { 192 p := new(PCL_Status) 193 *p = x 194 return p 195 } 196 197 func (x PCL_Status) String() string { 198 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 199 } 200 201 func (PCL_Status) Descriptor() protoreflect.EnumDescriptor { 202 return file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_enumTypes[2].Descriptor() 203 } 204 205 func (PCL_Status) Type() protoreflect.EnumType { 206 return &file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_enumTypes[2] 207 } 208 209 func (x PCL_Status) Number() protoreflect.EnumNumber { 210 return protoreflect.EnumNumber(x) 211 } 212 213 // Deprecated: Use PCL_Status.Descriptor instead. 214 func (PCL_Status) EnumDescriptor() ([]byte, []int) { 215 return file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_rawDescGZIP(), []int{2, 0} 216 } 217 218 // PState is the PM state of a specific LUCI project. 219 // 220 // Semantically, it's a collection of CLs somehow grouped into components (see 221 // Component message below), each of which may have several active (a.k.a. 222 // Incomplete) Runs valid at a specific project's config version. 223 // 224 // Most CLs are watched by the LUCI project, but to assist with error reporting, 225 // it also tracks unwatched CLs if they are dependencies of some actually 226 // watched CLs. 227 type PState struct { 228 state protoimpl.MessageState 229 sizeCache protoimpl.SizeCache 230 unknownFields protoimpl.UnknownFields 231 232 // Name of LUCI project. 233 LuciProject string `protobuf:"bytes,1,opt,name=luci_project,json=luciProject,proto3" json:"luci_project,omitempty"` 234 // Status of the Project. 235 Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=cv.internal.prjmanager.prjpb.Status" json:"status,omitempty"` 236 // Config hash pins specific project config version. 237 ConfigHash string `protobuf:"bytes,3,opt,name=config_hash,json=configHash,proto3" json:"config_hash,omitempty"` 238 // Config group names intern the names referenced in PCL entities to reduce 239 // memory and at-rest footprint. 240 // 241 // See also https://en.wikipedia.org/wiki/String_interning. 242 ConfigGroupNames []string `protobuf:"bytes,4,rep,name=config_group_names,json=configGroupNames,proto3" json:"config_group_names,omitempty"` 243 // PCLs are currently tracked CLs. 244 // 245 // Includes deps which are of not yet known kind (because CL doesn't yet have 246 // a snapshot) or unwatched. 247 // 248 // Sorted by CL ID. 249 Pcls []*PCL `protobuf:"bytes,11,rep,name=pcls,proto3" json:"pcls,omitempty"` 250 // Components are a partition of CLs in the list above. 251 // 252 // An active CL (watched or used to be watched and still member of a Run) may 253 // belong to at most 1 component, while unwatched dep may be referenced by 254 // several. 255 Components []*Component `protobuf:"bytes,12,rep,name=components,proto3" json:"components,omitempty"` 256 // PurgingCLs are CLs currently being purged. 257 // 258 // They are tracked in PState to avoid creating Runs with such CLs. 259 // 260 // A CL being purged does not necessarily have a corresponding PCL. 261 // A PurgingCL is kept in PState until purging process stops, regardless of 262 // whether purging was successful or failed. 263 // 264 // See more in PurgingCL doc. 265 // 266 // Sorted by CL ID. 267 PurgingCls []*PurgingCL `protobuf:"bytes,13,rep,name=purging_cls,json=purgingCls,proto3" json:"purging_cls,omitempty"` 268 // TriggeringCLDeps are the CLs of which deps are being triggered. 269 // 270 // They are tracked in PState to avoid creating duplicate triggering tasks. 271 // 272 // Sorted by the origin ID. 273 TriggeringClDeps []*TriggeringCLDeps `protobuf:"bytes,15,rep,name=triggering_cl_deps,json=triggeringClDeps,proto3" json:"triggering_cl_deps,omitempty"` 274 // If true, components partition must be redone as soon as possible. 275 RepartitionRequired bool `protobuf:"varint,21,opt,name=repartition_required,json=repartitionRequired,proto3" json:"repartition_required,omitempty"` 276 // PRuns which can't yet be added to any component but should be. Sorted by 277 // Run ID. 278 // 279 // In response to OnRunCreated event, PM may append to this list new Runs if 280 // either: 281 // - not all Run's CLs are already known to PM; 282 // - Run's CLs are currently partitioned into different components. 283 // 284 // Thus, 285 // - CLs referenced by these PRuns may not be tracked; 286 // - If this field is not empty, re-partioning may be required. 287 CreatedPruns []*PRun `protobuf:"bytes,22,rep,name=created_pruns,json=createdPruns,proto3" json:"created_pruns,omitempty"` 288 // If set, establishes when components should be re-evaluated. 289 NextEvalTime *timestamppb.Timestamp `protobuf:"bytes,23,opt,name=next_eval_time,json=nextEvalTime,proto3" json:"next_eval_time,omitempty"` 290 } 291 292 func (x *PState) Reset() { 293 *x = PState{} 294 if protoimpl.UnsafeEnabled { 295 mi := &file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[0] 296 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 297 ms.StoreMessageInfo(mi) 298 } 299 } 300 301 func (x *PState) String() string { 302 return protoimpl.X.MessageStringOf(x) 303 } 304 305 func (*PState) ProtoMessage() {} 306 307 func (x *PState) ProtoReflect() protoreflect.Message { 308 mi := &file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[0] 309 if protoimpl.UnsafeEnabled && x != nil { 310 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 311 if ms.LoadMessageInfo() == nil { 312 ms.StoreMessageInfo(mi) 313 } 314 return ms 315 } 316 return mi.MessageOf(x) 317 } 318 319 // Deprecated: Use PState.ProtoReflect.Descriptor instead. 320 func (*PState) Descriptor() ([]byte, []int) { 321 return file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_rawDescGZIP(), []int{0} 322 } 323 324 func (x *PState) GetLuciProject() string { 325 if x != nil { 326 return x.LuciProject 327 } 328 return "" 329 } 330 331 func (x *PState) GetStatus() Status { 332 if x != nil { 333 return x.Status 334 } 335 return Status_STATUS_UNSPECIFIED 336 } 337 338 func (x *PState) GetConfigHash() string { 339 if x != nil { 340 return x.ConfigHash 341 } 342 return "" 343 } 344 345 func (x *PState) GetConfigGroupNames() []string { 346 if x != nil { 347 return x.ConfigGroupNames 348 } 349 return nil 350 } 351 352 func (x *PState) GetPcls() []*PCL { 353 if x != nil { 354 return x.Pcls 355 } 356 return nil 357 } 358 359 func (x *PState) GetComponents() []*Component { 360 if x != nil { 361 return x.Components 362 } 363 return nil 364 } 365 366 func (x *PState) GetPurgingCls() []*PurgingCL { 367 if x != nil { 368 return x.PurgingCls 369 } 370 return nil 371 } 372 373 func (x *PState) GetTriggeringClDeps() []*TriggeringCLDeps { 374 if x != nil { 375 return x.TriggeringClDeps 376 } 377 return nil 378 } 379 380 func (x *PState) GetRepartitionRequired() bool { 381 if x != nil { 382 return x.RepartitionRequired 383 } 384 return false 385 } 386 387 func (x *PState) GetCreatedPruns() []*PRun { 388 if x != nil { 389 return x.CreatedPruns 390 } 391 return nil 392 } 393 394 func (x *PState) GetNextEvalTime() *timestamppb.Timestamp { 395 if x != nil { 396 return x.NextEvalTime 397 } 398 return nil 399 } 400 401 type LogReasons struct { 402 state protoimpl.MessageState 403 sizeCache protoimpl.SizeCache 404 unknownFields protoimpl.UnknownFields 405 406 Reasons []LogReason `protobuf:"varint,1,rep,packed,name=reasons,proto3,enum=cv.internal.prjmanager.prjpb.LogReason" json:"reasons,omitempty"` 407 } 408 409 func (x *LogReasons) Reset() { 410 *x = LogReasons{} 411 if protoimpl.UnsafeEnabled { 412 mi := &file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[1] 413 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 414 ms.StoreMessageInfo(mi) 415 } 416 } 417 418 func (x *LogReasons) String() string { 419 return protoimpl.X.MessageStringOf(x) 420 } 421 422 func (*LogReasons) ProtoMessage() {} 423 424 func (x *LogReasons) ProtoReflect() protoreflect.Message { 425 mi := &file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[1] 426 if protoimpl.UnsafeEnabled && x != nil { 427 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 428 if ms.LoadMessageInfo() == nil { 429 ms.StoreMessageInfo(mi) 430 } 431 return ms 432 } 433 return mi.MessageOf(x) 434 } 435 436 // Deprecated: Use LogReasons.ProtoReflect.Descriptor instead. 437 func (*LogReasons) Descriptor() ([]byte, []int) { 438 return file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_rawDescGZIP(), []int{1} 439 } 440 441 func (x *LogReasons) GetReasons() []LogReason { 442 if x != nil { 443 return x.Reasons 444 } 445 return nil 446 } 447 448 // PCL is a tracked CL. 449 type PCL struct { 450 state protoimpl.MessageState 451 sizeCache protoimpl.SizeCache 452 unknownFields protoimpl.UnknownFields 453 454 Clid int64 `protobuf:"varint,1,opt,name=clid,proto3" json:"clid,omitempty"` 455 Eversion int64 `protobuf:"varint,2,opt,name=eversion,proto3" json:"eversion,omitempty"` 456 Status PCL_Status `protobuf:"varint,3,opt,name=status,proto3,enum=cv.internal.prjmanager.prjpb.PCL_Status" json:"status,omitempty"` 457 // Indexes in PState.config_group_names identifying ConfigGroup which watches 458 // this CL. 459 // 460 // Normally, contains exactly 1 index. 461 // May have > 1 index, which means 2+ non-fallback config groups watch this 462 // CL, which is not allowed and will be signalled to CV users. 463 // TODO(tandrii): move >1 index case to be tracked via `errors` field. 464 ConfigGroupIndexes []int32 `protobuf:"varint,4,rep,packed,name=config_group_indexes,json=configGroupIndexes,proto3" json:"config_group_indexes,omitempty"` 465 // Deps refers to CLs in PState.PCLs which are dependencies of the PCL. 466 Deps []*changelist.Dep `protobuf:"bytes,11,rep,name=deps,proto3" json:"deps,omitempty"` 467 // Triggers are the triggers currently active on the CL. 468 // 469 // Note that due to NewPatchsetRuns, CLs can be associated with more than one 470 // Run at any given time, for this reason, it is required that a PCL be able 471 // to track multiple triggers. 472 // 473 // It may be empty if CL is not triggered but nevertheless tracked as either: 474 // - a dependency of another CL. 475 // - previously triggered member of an incomplete Run, which is probably 476 // being finalized right now by its Run Manager. 477 // 478 // Doesn't store email nor Gerrit account ID. 479 Triggers *run.Triggers `protobuf:"bytes,16,opt,name=triggers,proto3" json:"triggers,omitempty"` 480 // Submitted means CV isn't going to work on a CL, but CL is still tracked as 481 // a dep of another CL or as a member of an incomplete Run (though the other 482 // Run will probably finish soon). 483 Submitted bool `protobuf:"varint,13,opt,name=submitted,proto3" json:"submitted,omitempty"` 484 // Deprecated in favor of purge_reasons. 485 // 486 // Deprecated: Marked as deprecated in go.chromium.org/luci/cv/internal/prjmanager/prjpb/storage.proto. 487 Errors []*changelist.CLError `protobuf:"bytes,15,rep,name=errors,proto3" json:"errors,omitempty"` 488 // If set, describes problems that require that some or all of the PCL's 489 // triggers be purged. 490 PurgeReasons []*PurgeReason `protobuf:"bytes,17,rep,name=purge_reasons,json=purgeReasons,proto3" json:"purge_reasons,omitempty"` 491 // Outdated if set means Snapshot must be considered likely outdated due to 492 // recent CV mutations. 493 // 494 // In particular, Project Manager does not act on the CLs with .Outdated set. 495 Outdated *changelist.Snapshot_Outdated `protobuf:"bytes,18,opt,name=outdated,proto3" json:"outdated,omitempty"` 496 } 497 498 func (x *PCL) Reset() { 499 *x = PCL{} 500 if protoimpl.UnsafeEnabled { 501 mi := &file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[2] 502 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 503 ms.StoreMessageInfo(mi) 504 } 505 } 506 507 func (x *PCL) String() string { 508 return protoimpl.X.MessageStringOf(x) 509 } 510 511 func (*PCL) ProtoMessage() {} 512 513 func (x *PCL) ProtoReflect() protoreflect.Message { 514 mi := &file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[2] 515 if protoimpl.UnsafeEnabled && x != nil { 516 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 517 if ms.LoadMessageInfo() == nil { 518 ms.StoreMessageInfo(mi) 519 } 520 return ms 521 } 522 return mi.MessageOf(x) 523 } 524 525 // Deprecated: Use PCL.ProtoReflect.Descriptor instead. 526 func (*PCL) Descriptor() ([]byte, []int) { 527 return file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_rawDescGZIP(), []int{2} 528 } 529 530 func (x *PCL) GetClid() int64 { 531 if x != nil { 532 return x.Clid 533 } 534 return 0 535 } 536 537 func (x *PCL) GetEversion() int64 { 538 if x != nil { 539 return x.Eversion 540 } 541 return 0 542 } 543 544 func (x *PCL) GetStatus() PCL_Status { 545 if x != nil { 546 return x.Status 547 } 548 return PCL_PCL_STATUS_UNSPECIFIED 549 } 550 551 func (x *PCL) GetConfigGroupIndexes() []int32 { 552 if x != nil { 553 return x.ConfigGroupIndexes 554 } 555 return nil 556 } 557 558 func (x *PCL) GetDeps() []*changelist.Dep { 559 if x != nil { 560 return x.Deps 561 } 562 return nil 563 } 564 565 func (x *PCL) GetTriggers() *run.Triggers { 566 if x != nil { 567 return x.Triggers 568 } 569 return nil 570 } 571 572 func (x *PCL) GetSubmitted() bool { 573 if x != nil { 574 return x.Submitted 575 } 576 return false 577 } 578 579 // Deprecated: Marked as deprecated in go.chromium.org/luci/cv/internal/prjmanager/prjpb/storage.proto. 580 func (x *PCL) GetErrors() []*changelist.CLError { 581 if x != nil { 582 return x.Errors 583 } 584 return nil 585 } 586 587 func (x *PCL) GetPurgeReasons() []*PurgeReason { 588 if x != nil { 589 return x.PurgeReasons 590 } 591 return nil 592 } 593 594 func (x *PCL) GetOutdated() *changelist.Snapshot_Outdated { 595 if x != nil { 596 return x.Outdated 597 } 598 return nil 599 } 600 601 // PRun is an incomplete Run on which CV is currently working. 602 // 603 // It is referenced by at most 1 component. 604 type PRun struct { 605 state protoimpl.MessageState 606 sizeCache protoimpl.SizeCache 607 unknownFields protoimpl.UnknownFields 608 609 // CV's Run ID. 610 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` 611 // IDs of CLs involved. Sorted. 612 // 613 // Actual Run may orders its CLs in a different way. 614 Clids []int64 `protobuf:"varint,2,rep,packed,name=clids,proto3" json:"clids,omitempty"` 615 // The mode of the Run referenced by this message. 616 // 617 // It uses the string value of run.Mode. 618 Mode string `protobuf:"bytes,3,opt,name=mode,proto3" json:"mode,omitempty"` 619 // ID of the root CL that triggers this Run in the combined mode. 620 // 621 // It is the same as `run.root_cl`. 622 RootClid int64 `protobuf:"varint,4,opt,name=root_clid,json=rootClid,proto3" json:"root_clid,omitempty"` 623 } 624 625 func (x *PRun) Reset() { 626 *x = PRun{} 627 if protoimpl.UnsafeEnabled { 628 mi := &file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[3] 629 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 630 ms.StoreMessageInfo(mi) 631 } 632 } 633 634 func (x *PRun) String() string { 635 return protoimpl.X.MessageStringOf(x) 636 } 637 638 func (*PRun) ProtoMessage() {} 639 640 func (x *PRun) ProtoReflect() protoreflect.Message { 641 mi := &file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[3] 642 if protoimpl.UnsafeEnabled && x != nil { 643 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 644 if ms.LoadMessageInfo() == nil { 645 ms.StoreMessageInfo(mi) 646 } 647 return ms 648 } 649 return mi.MessageOf(x) 650 } 651 652 // Deprecated: Use PRun.ProtoReflect.Descriptor instead. 653 func (*PRun) Descriptor() ([]byte, []int) { 654 return file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_rawDescGZIP(), []int{3} 655 } 656 657 func (x *PRun) GetId() string { 658 if x != nil { 659 return x.Id 660 } 661 return "" 662 } 663 664 func (x *PRun) GetClids() []int64 { 665 if x != nil { 666 return x.Clids 667 } 668 return nil 669 } 670 671 func (x *PRun) GetMode() string { 672 if x != nil { 673 return x.Mode 674 } 675 return "" 676 } 677 678 func (x *PRun) GetRootClid() int64 { 679 if x != nil { 680 return x.RootClid 681 } 682 return 0 683 } 684 685 // Component is a set of CLs related to each other. 686 type Component struct { 687 state protoimpl.MessageState 688 sizeCache protoimpl.SizeCache 689 unknownFields protoimpl.UnknownFields 690 691 // CL IDs of the tracked CLs in this component. Sorted. 692 // 693 // Each referenced CL must be in PState.PCLs list. 694 // Each referenced CL may have deps not in this list if they are either 695 // PCL.Status.UNKNOWN or PCL.Status.UNWATCHED. 696 // 697 // A referenced CL is normally watched by this LUCI project. In rare cases, 698 // referenced CL is no longer watched by this LUCI project but is still kept 699 // in a component because the CL is still a member of an incomplete Run in 700 // this component. In this case, the CL's deps are no longer tracked. 701 Clids []int64 `protobuf:"varint,1,rep,packed,name=clids,proto3" json:"clids,omitempty"` 702 // Decision time is the earliest time when this component should be 703 // re-evaluated. 704 // 705 // Can be set to far future meaning no need for re-evaluation without an 706 // external event (e.g., CLUpdated or RunFinished). 707 DecisionTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=decision_time,json=decisionTime,proto3" json:"decision_time,omitempty"` 708 // Incomplete Runs working on CLs from this component. 709 // 710 // Sorted by Run's ID. 711 Pruns []*PRun `protobuf:"bytes,3,rep,name=pruns,proto3" json:"pruns,omitempty"` 712 // If true, this component must be triaged as soon as possible. 713 TriageRequired bool `protobuf:"varint,11,opt,name=triage_required,json=triageRequired,proto3" json:"triage_required,omitempty"` 714 } 715 716 func (x *Component) Reset() { 717 *x = Component{} 718 if protoimpl.UnsafeEnabled { 719 mi := &file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[4] 720 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 721 ms.StoreMessageInfo(mi) 722 } 723 } 724 725 func (x *Component) String() string { 726 return protoimpl.X.MessageStringOf(x) 727 } 728 729 func (*Component) ProtoMessage() {} 730 731 func (x *Component) ProtoReflect() protoreflect.Message { 732 mi := &file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[4] 733 if protoimpl.UnsafeEnabled && x != nil { 734 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 735 if ms.LoadMessageInfo() == nil { 736 ms.StoreMessageInfo(mi) 737 } 738 return ms 739 } 740 return mi.MessageOf(x) 741 } 742 743 // Deprecated: Use Component.ProtoReflect.Descriptor instead. 744 func (*Component) Descriptor() ([]byte, []int) { 745 return file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_rawDescGZIP(), []int{4} 746 } 747 748 func (x *Component) GetClids() []int64 { 749 if x != nil { 750 return x.Clids 751 } 752 return nil 753 } 754 755 func (x *Component) GetDecisionTime() *timestamppb.Timestamp { 756 if x != nil { 757 return x.DecisionTime 758 } 759 return nil 760 } 761 762 func (x *Component) GetPruns() []*PRun { 763 if x != nil { 764 return x.Pruns 765 } 766 return nil 767 } 768 769 func (x *Component) GetTriageRequired() bool { 770 if x != nil { 771 return x.TriageRequired 772 } 773 return false 774 } 775 776 // PurgingCL represents purging of a CL due to some problem. 777 // 778 // The purging process is initiated during PM state mutation while atomically 779 // adding a TQ task to perform the actual purge. 780 // 781 // Purging itself constitutes removing whatever triggered CV on a CL as well as 782 // posting the reason for purging to the user. 783 // 784 // Individual CLs are purged independently, even if CLs are related. 785 // 786 // Trying to purge multiple triggers of the same type on the same CL will 787 // result in only purging one of them. This is not possible today, but may have 788 // an unexpected effect on future features. 789 // 790 // Upon TQ task completion, the task handler notifies PM back via an 791 // PurgeCompleted event. For fail-safe reasons, there is a deadline to 792 // perform the purge. PM keeps the PurgingCL in PState until either deadline is 793 // reached OR PurgeCompleted event is received. 794 type PurgingCL struct { 795 state protoimpl.MessageState 796 sizeCache protoimpl.SizeCache 797 unknownFields protoimpl.UnknownFields 798 799 // CL ID which is being purged. 800 Clid int64 `protobuf:"varint,1,opt,name=clid,proto3" json:"clid,omitempty"` 801 // Operation ID is a unique within a project identifier of a purge operation 802 // to use in PurgeCompleted events. 803 OperationId string `protobuf:"bytes,2,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` 804 // Deadline is obeyed by the purging TQ task. 805 // 806 // TQ task SHOULD not modify a CL (e.g. via Gerrit RPCs) beyond this point. 807 // This is merely best effort, as an RPC to external system initiated before 808 // this deadline may still complete after it. 809 // 810 // If PM doesn't receive PurgeCompleted event before this deadline + some grace 811 // period, PM will consider purge operation expired and it'll be removed from 812 // PState. 813 Deadline *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=deadline,proto3" json:"deadline,omitempty"` 814 // What trigger(s) are being purged. 815 // 816 // Types that are assignable to ApplyTo: 817 // 818 // *PurgingCL_Triggers 819 // *PurgingCL_AllActiveTriggers 820 ApplyTo isPurgingCL_ApplyTo `protobuf_oneof:"apply_to"` 821 // If specified, the Gerrit request will be sent with the notify and 822 // attention. 823 Notification *PurgingCL_Notification `protobuf:"bytes,6,opt,name=notification,proto3" json:"notification,omitempty"` 824 } 825 826 func (x *PurgingCL) Reset() { 827 *x = PurgingCL{} 828 if protoimpl.UnsafeEnabled { 829 mi := &file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[5] 830 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 831 ms.StoreMessageInfo(mi) 832 } 833 } 834 835 func (x *PurgingCL) String() string { 836 return protoimpl.X.MessageStringOf(x) 837 } 838 839 func (*PurgingCL) ProtoMessage() {} 840 841 func (x *PurgingCL) ProtoReflect() protoreflect.Message { 842 mi := &file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[5] 843 if protoimpl.UnsafeEnabled && x != nil { 844 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 845 if ms.LoadMessageInfo() == nil { 846 ms.StoreMessageInfo(mi) 847 } 848 return ms 849 } 850 return mi.MessageOf(x) 851 } 852 853 // Deprecated: Use PurgingCL.ProtoReflect.Descriptor instead. 854 func (*PurgingCL) Descriptor() ([]byte, []int) { 855 return file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_rawDescGZIP(), []int{5} 856 } 857 858 func (x *PurgingCL) GetClid() int64 { 859 if x != nil { 860 return x.Clid 861 } 862 return 0 863 } 864 865 func (x *PurgingCL) GetOperationId() string { 866 if x != nil { 867 return x.OperationId 868 } 869 return "" 870 } 871 872 func (x *PurgingCL) GetDeadline() *timestamppb.Timestamp { 873 if x != nil { 874 return x.Deadline 875 } 876 return nil 877 } 878 879 func (m *PurgingCL) GetApplyTo() isPurgingCL_ApplyTo { 880 if m != nil { 881 return m.ApplyTo 882 } 883 return nil 884 } 885 886 func (x *PurgingCL) GetTriggers() *run.Triggers { 887 if x, ok := x.GetApplyTo().(*PurgingCL_Triggers); ok { 888 return x.Triggers 889 } 890 return nil 891 } 892 893 func (x *PurgingCL) GetAllActiveTriggers() bool { 894 if x, ok := x.GetApplyTo().(*PurgingCL_AllActiveTriggers); ok { 895 return x.AllActiveTriggers 896 } 897 return false 898 } 899 900 func (x *PurgingCL) GetNotification() *PurgingCL_Notification { 901 if x != nil { 902 return x.Notification 903 } 904 return nil 905 } 906 907 type isPurgingCL_ApplyTo interface { 908 isPurgingCL_ApplyTo() 909 } 910 911 type PurgingCL_Triggers struct { 912 Triggers *run.Triggers `protobuf:"bytes,4,opt,name=triggers,proto3,oneof"` 913 } 914 915 type PurgingCL_AllActiveTriggers struct { 916 AllActiveTriggers bool `protobuf:"varint,5,opt,name=all_active_triggers,json=allActiveTriggers,proto3,oneof"` 917 } 918 919 func (*PurgingCL_Triggers) isPurgingCL_ApplyTo() {} 920 921 func (*PurgingCL_AllActiveTriggers) isPurgingCL_ApplyTo() {} 922 923 // TriggeringCLDeps propagates the trigger to the deps of a given CL. 924 type TriggeringCLDeps struct { 925 state protoimpl.MessageState 926 sizeCache protoimpl.SizeCache 927 unknownFields protoimpl.UnknownFields 928 929 // Origin CL of which dep CLs are to propagate the trigger to. 930 OriginClid int64 `protobuf:"varint,1,opt,name=origin_clid,json=originClid,proto3" json:"origin_clid,omitempty"` 931 // Dep CLs to propagate the trigger to. 932 DepClids []int64 `protobuf:"varint,2,rep,packed,name=dep_clids,json=depClids,proto3" json:"dep_clids,omitempty"` 933 // Operation ID uniquely identifies this op within the project. 934 OperationId string `protobuf:"bytes,3,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` 935 // Deadline is obeyed by the TQ task handler. 936 // 937 // TQ task SHOULD NOT modify a CL (e.g., via Gerrit RPCs) beyond this point. 938 // If PM doesn't receive TriggerCLDepsCompleted event before 939 // this deadline + grace period, PM will consider the task expired and 940 // the task will be removed from PState, so that the deps will be re-triaged 941 // and PM may schedule another TQ task for the triggering operation 942 // for the CL. 943 Deadline *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=deadline,proto3" json:"deadline,omitempty"` 944 // Trigger to propagate. 945 Trigger *run.Trigger `protobuf:"bytes,5,opt,name=trigger,proto3" json:"trigger,omitempty"` 946 // Name of the config group watching the origin CL. 947 ConfigGroupName string `protobuf:"bytes,6,opt,name=config_group_name,json=configGroupName,proto3" json:"config_group_name,omitempty"` 948 } 949 950 func (x *TriggeringCLDeps) Reset() { 951 *x = TriggeringCLDeps{} 952 if protoimpl.UnsafeEnabled { 953 mi := &file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[6] 954 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 955 ms.StoreMessageInfo(mi) 956 } 957 } 958 959 func (x *TriggeringCLDeps) String() string { 960 return protoimpl.X.MessageStringOf(x) 961 } 962 963 func (*TriggeringCLDeps) ProtoMessage() {} 964 965 func (x *TriggeringCLDeps) ProtoReflect() protoreflect.Message { 966 mi := &file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[6] 967 if protoimpl.UnsafeEnabled && x != nil { 968 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 969 if ms.LoadMessageInfo() == nil { 970 ms.StoreMessageInfo(mi) 971 } 972 return ms 973 } 974 return mi.MessageOf(x) 975 } 976 977 // Deprecated: Use TriggeringCLDeps.ProtoReflect.Descriptor instead. 978 func (*TriggeringCLDeps) Descriptor() ([]byte, []int) { 979 return file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_rawDescGZIP(), []int{6} 980 } 981 982 func (x *TriggeringCLDeps) GetOriginClid() int64 { 983 if x != nil { 984 return x.OriginClid 985 } 986 return 0 987 } 988 989 func (x *TriggeringCLDeps) GetDepClids() []int64 { 990 if x != nil { 991 return x.DepClids 992 } 993 return nil 994 } 995 996 func (x *TriggeringCLDeps) GetOperationId() string { 997 if x != nil { 998 return x.OperationId 999 } 1000 return "" 1001 } 1002 1003 func (x *TriggeringCLDeps) GetDeadline() *timestamppb.Timestamp { 1004 if x != nil { 1005 return x.Deadline 1006 } 1007 return nil 1008 } 1009 1010 func (x *TriggeringCLDeps) GetTrigger() *run.Trigger { 1011 if x != nil { 1012 return x.Trigger 1013 } 1014 return nil 1015 } 1016 1017 func (x *TriggeringCLDeps) GetConfigGroupName() string { 1018 if x != nil { 1019 return x.ConfigGroupName 1020 } 1021 return "" 1022 } 1023 1024 // PurgeReason represent a list of errors with the CL that would require that 1025 // the given trigger (or the whole CL if no trigger is given) be purged. 1026 // 1027 // Trying to purge multiple triggers of the same type on the same CL will 1028 // result in only purging one of them. This is not possible today, but may have 1029 // an unexpected effect on future features. 1030 type PurgeReason struct { 1031 state protoimpl.MessageState 1032 sizeCache protoimpl.SizeCache 1033 unknownFields protoimpl.UnknownFields 1034 1035 // ClErrors are a list of errors associated with Trigger below, or with the 1036 // a whole CL if Trigger is not given. 1037 ClError *changelist.CLError `protobuf:"bytes,1,opt,name=cl_error,json=clError,proto3" json:"cl_error,omitempty"` 1038 // What trigger(s) the error above applies to. 1039 // 1040 // Types that are assignable to ApplyTo: 1041 // 1042 // *PurgeReason_Triggers 1043 // *PurgeReason_AllActiveTriggers 1044 ApplyTo isPurgeReason_ApplyTo `protobuf_oneof:"apply_to"` 1045 } 1046 1047 func (x *PurgeReason) Reset() { 1048 *x = PurgeReason{} 1049 if protoimpl.UnsafeEnabled { 1050 mi := &file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[7] 1051 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1052 ms.StoreMessageInfo(mi) 1053 } 1054 } 1055 1056 func (x *PurgeReason) String() string { 1057 return protoimpl.X.MessageStringOf(x) 1058 } 1059 1060 func (*PurgeReason) ProtoMessage() {} 1061 1062 func (x *PurgeReason) ProtoReflect() protoreflect.Message { 1063 mi := &file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[7] 1064 if protoimpl.UnsafeEnabled && x != nil { 1065 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1066 if ms.LoadMessageInfo() == nil { 1067 ms.StoreMessageInfo(mi) 1068 } 1069 return ms 1070 } 1071 return mi.MessageOf(x) 1072 } 1073 1074 // Deprecated: Use PurgeReason.ProtoReflect.Descriptor instead. 1075 func (*PurgeReason) Descriptor() ([]byte, []int) { 1076 return file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_rawDescGZIP(), []int{7} 1077 } 1078 1079 func (x *PurgeReason) GetClError() *changelist.CLError { 1080 if x != nil { 1081 return x.ClError 1082 } 1083 return nil 1084 } 1085 1086 func (m *PurgeReason) GetApplyTo() isPurgeReason_ApplyTo { 1087 if m != nil { 1088 return m.ApplyTo 1089 } 1090 return nil 1091 } 1092 1093 func (x *PurgeReason) GetTriggers() *run.Triggers { 1094 if x, ok := x.GetApplyTo().(*PurgeReason_Triggers); ok { 1095 return x.Triggers 1096 } 1097 return nil 1098 } 1099 1100 func (x *PurgeReason) GetAllActiveTriggers() bool { 1101 if x, ok := x.GetApplyTo().(*PurgeReason_AllActiveTriggers); ok { 1102 return x.AllActiveTriggers 1103 } 1104 return false 1105 } 1106 1107 type isPurgeReason_ApplyTo interface { 1108 isPurgeReason_ApplyTo() 1109 } 1110 1111 type PurgeReason_Triggers struct { 1112 Triggers *run.Triggers `protobuf:"bytes,2,opt,name=triggers,proto3,oneof"` 1113 } 1114 1115 type PurgeReason_AllActiveTriggers struct { 1116 AllActiveTriggers bool `protobuf:"varint,3,opt,name=all_active_triggers,json=allActiveTriggers,proto3,oneof"` 1117 } 1118 1119 func (*PurgeReason_Triggers) isPurgeReason_ApplyTo() {} 1120 1121 func (*PurgeReason_AllActiveTriggers) isPurgeReason_ApplyTo() {} 1122 1123 type PurgingCL_Notification struct { 1124 state protoimpl.MessageState 1125 sizeCache protoimpl.SizeCache 1126 unknownFields protoimpl.UnknownFields 1127 1128 // Whom value(s) to set in Notify of the SetReview request. 1129 // 1130 // If omitted, no one will receive a notification. 1131 Notify []gerrit.Whom `protobuf:"varint,1,rep,packed,name=notify,proto3,enum=cv.internal.gerrit.Whom" json:"notify,omitempty"` 1132 // Whom value(s) to set in AddToAttentionSet of the SetReview request. 1133 // 1134 // If omitted, no one will be added into the attention set. 1135 Attention []gerrit.Whom `protobuf:"varint,2,rep,packed,name=attention,proto3,enum=cv.internal.gerrit.Whom" json:"attention,omitempty"` 1136 } 1137 1138 func (x *PurgingCL_Notification) Reset() { 1139 *x = PurgingCL_Notification{} 1140 if protoimpl.UnsafeEnabled { 1141 mi := &file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[8] 1142 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1143 ms.StoreMessageInfo(mi) 1144 } 1145 } 1146 1147 func (x *PurgingCL_Notification) String() string { 1148 return protoimpl.X.MessageStringOf(x) 1149 } 1150 1151 func (*PurgingCL_Notification) ProtoMessage() {} 1152 1153 func (x *PurgingCL_Notification) ProtoReflect() protoreflect.Message { 1154 mi := &file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[8] 1155 if protoimpl.UnsafeEnabled && x != nil { 1156 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1157 if ms.LoadMessageInfo() == nil { 1158 ms.StoreMessageInfo(mi) 1159 } 1160 return ms 1161 } 1162 return mi.MessageOf(x) 1163 } 1164 1165 // Deprecated: Use PurgingCL_Notification.ProtoReflect.Descriptor instead. 1166 func (*PurgingCL_Notification) Descriptor() ([]byte, []int) { 1167 return file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_rawDescGZIP(), []int{5, 0} 1168 } 1169 1170 func (x *PurgingCL_Notification) GetNotify() []gerrit.Whom { 1171 if x != nil { 1172 return x.Notify 1173 } 1174 return nil 1175 } 1176 1177 func (x *PurgingCL_Notification) GetAttention() []gerrit.Whom { 1178 if x != nil { 1179 return x.Attention 1180 } 1181 return nil 1182 } 1183 1184 var File_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto protoreflect.FileDescriptor 1185 1186 var file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_rawDesc = []byte{ 1187 0x0a, 0x3f, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 1188 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x63, 0x76, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 1189 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x70, 0x72, 1190 0x6a, 0x70, 0x62, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1191 0x6f, 0x12, 0x1c, 0x63, 0x76, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 1192 0x72, 0x6a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6a, 0x70, 0x62, 0x1a, 1193 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1194 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 1195 0x1a, 0x39, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 1196 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x63, 0x76, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 1197 0x61, 0x6c, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x2f, 0x73, 0x74, 1198 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x35, 0x67, 0x6f, 0x2e, 1199 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 1200 0x69, 0x2f, 0x63, 0x76, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 1201 0x72, 0x72, 0x69, 0x74, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 1202 0x74, 0x6f, 0x1a, 0x32, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 1203 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x63, 0x76, 0x2f, 0x69, 0x6e, 0x74, 0x65, 1204 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x72, 0x75, 0x6e, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 1205 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9e, 0x05, 0x0a, 0x06, 0x50, 0x53, 0x74, 0x61, 0x74, 1206 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x75, 0x63, 0x69, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 1207 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6c, 0x75, 0x63, 0x69, 0x50, 0x72, 0x6f, 1208 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 1209 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x63, 0x76, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 1210 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 1211 0x6a, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 1212 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x68, 0x61, 0x73, 1213 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 1214 0x61, 0x73, 0x68, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x67, 0x72, 1215 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 1216 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 0x6d, 0x65, 1217 0x73, 0x12, 0x35, 0x0a, 0x04, 0x70, 0x63, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 1218 0x21, 0x2e, 0x63, 0x76, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x72, 1219 0x6a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6a, 0x70, 0x62, 0x2e, 0x50, 1220 0x43, 0x4c, 0x52, 0x04, 0x70, 0x63, 0x6c, 0x73, 0x12, 0x47, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 1221 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 1222 0x76, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6a, 0x6d, 0x61, 1223 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6a, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 1224 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 1225 0x73, 0x12, 0x48, 0x0a, 0x0b, 0x70, 0x75, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x73, 1226 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x76, 0x2e, 0x69, 0x6e, 0x74, 0x65, 1227 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 1228 0x70, 0x72, 0x6a, 0x70, 0x62, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x4c, 0x52, 1229 0x0a, 0x70, 0x75, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x73, 0x12, 0x5c, 0x0a, 0x12, 0x74, 1230 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x6c, 0x5f, 0x64, 0x65, 0x70, 1231 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x76, 0x2e, 0x69, 0x6e, 0x74, 1232 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 1233 0x2e, 0x70, 0x72, 0x6a, 0x70, 0x62, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x69, 0x6e, 1234 0x67, 0x43, 0x4c, 0x44, 0x65, 0x70, 0x73, 0x52, 0x10, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 1235 0x69, 0x6e, 0x67, 0x43, 0x6c, 0x44, 0x65, 0x70, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x72, 0x65, 0x70, 1236 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 1237 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x72, 0x65, 0x70, 0x61, 0x72, 0x74, 0x69, 1238 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x47, 0x0a, 0x0d, 1239 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x72, 0x75, 0x6e, 0x73, 0x18, 0x16, 0x20, 1240 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x76, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 1241 0x6c, 0x2e, 0x70, 0x72, 0x6a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6a, 1242 0x70, 0x62, 0x2e, 0x50, 0x52, 0x75, 0x6e, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 1243 0x50, 0x72, 0x75, 0x6e, 0x73, 0x12, 0x40, 0x0a, 0x0e, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x76, 1244 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 1245 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 1246 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6e, 0x65, 0x78, 0x74, 0x45, 1247 0x76, 0x61, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x4f, 0x0a, 0x0a, 0x4c, 0x6f, 0x67, 0x52, 0x65, 1248 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x0a, 0x07, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 1249 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x63, 0x76, 0x2e, 0x69, 0x6e, 0x74, 0x65, 1250 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 1251 0x70, 0x72, 0x6a, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 1252 0x07, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x22, 0xea, 0x04, 0x0a, 0x03, 0x50, 0x43, 0x4c, 1253 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 1254 0x63, 0x6c, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 1255 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x65, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 1256 0x12, 0x40, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 1257 0x32, 0x28, 0x2e, 0x63, 0x76, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 1258 0x72, 0x6a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6a, 0x70, 0x62, 0x2e, 1259 0x50, 0x43, 0x4c, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 1260 0x75, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x67, 0x72, 0x6f, 1261 0x75, 0x70, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x05, 1262 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x49, 0x6e, 0x64, 1263 0x65, 0x78, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x04, 0x64, 0x65, 0x70, 0x73, 0x18, 0x0b, 0x20, 0x03, 1264 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x63, 0x76, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 1265 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x52, 1266 0x04, 0x64, 0x65, 0x70, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 1267 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x76, 0x2e, 0x69, 0x6e, 0x74, 1268 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x72, 0x75, 0x6e, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 1269 0x72, 0x73, 0x52, 0x08, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x0a, 0x09, 1270 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 1271 0x09, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x06, 0x65, 0x72, 1272 0x72, 0x6f, 0x72, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x76, 0x2e, 1273 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 1274 0x69, 0x73, 0x74, 0x2e, 0x43, 0x4c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x02, 0x18, 0x01, 0x52, 1275 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x12, 0x4e, 0x0a, 0x0d, 0x70, 0x75, 0x72, 0x67, 0x65, 1276 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 1277 0x2e, 0x63, 0x76, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6a, 1278 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6a, 0x70, 0x62, 0x2e, 0x50, 0x75, 1279 0x72, 0x67, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x0c, 0x70, 0x75, 0x72, 0x67, 0x65, 1280 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x73, 0x12, 0x45, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x64, 0x61, 1281 0x74, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x76, 0x2e, 0x69, 1282 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x69, 1283 0x73, 0x74, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x2e, 0x4f, 0x75, 0x74, 0x64, 1284 0x61, 0x74, 0x65, 0x64, 0x52, 0x08, 0x6f, 0x75, 0x74, 0x64, 0x61, 0x74, 0x65, 0x64, 0x22, 0x59, 1285 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x43, 0x4c, 0x5f, 1286 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 1287 0x45, 0x44, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 1288 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x57, 1289 0x41, 0x54, 0x43, 0x48, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x45, 0x4c, 0x45, 1290 0x54, 0x45, 0x44, 0x10, 0x03, 0x1a, 0x02, 0x10, 0x01, 0x4a, 0x04, 0x08, 0x0c, 0x10, 0x0d, 0x4a, 1291 0x04, 0x08, 0x0e, 0x10, 0x0f, 0x22, 0x5d, 0x0a, 0x04, 0x50, 0x52, 0x75, 0x6e, 0x12, 0x0e, 0x0a, 1292 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 1293 0x05, 0x63, 0x6c, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6c, 1294 0x69, 0x64, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 1295 0x09, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 1296 0x63, 0x6c, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x6f, 0x6f, 0x74, 1297 0x43, 0x6c, 0x69, 0x64, 0x22, 0xc5, 0x01, 0x0a, 0x09, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 1298 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 1299 0x03, 0x52, 0x05, 0x63, 0x6c, 0x69, 0x64, 0x73, 0x12, 0x3f, 0x0a, 0x0d, 0x64, 0x65, 0x63, 0x69, 1300 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 1301 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 1302 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x64, 0x65, 0x63, 1303 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x70, 0x72, 0x75, 1304 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x76, 0x2e, 0x69, 0x6e, 1305 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 1306 0x72, 0x2e, 0x70, 0x72, 0x6a, 0x70, 0x62, 0x2e, 0x50, 0x52, 0x75, 0x6e, 0x52, 0x05, 0x70, 0x72, 1307 0x75, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x74, 0x72, 0x69, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 1308 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x74, 0x72, 1309 0x69, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x22, 0xc5, 0x03, 0x0a, 1310 0x09, 0x50, 0x75, 0x72, 0x67, 0x69, 0x6e, 0x67, 0x43, 0x4c, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6c, 1311 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x6c, 0x69, 0x64, 0x12, 0x21, 1312 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 1313 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 1314 0x64, 0x12, 0x36, 0x0a, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 1315 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 1316 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 1317 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x74, 0x72, 0x69, 1318 0x67, 0x67, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x63, 0x76, 1319 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x72, 0x75, 0x6e, 0x2e, 0x54, 0x72, 1320 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x08, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 1321 0x72, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 1322 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 1323 0x00, 0x52, 0x11, 0x61, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x72, 0x69, 0x67, 1324 0x67, 0x65, 0x72, 0x73, 0x12, 0x58, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 1325 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x76, 0x2e, 1326 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x70, 0x72, 0x6a, 0x6d, 0x61, 0x6e, 0x61, 1327 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6a, 0x70, 0x62, 0x2e, 0x50, 0x75, 0x72, 0x67, 0x69, 0x6e, 1328 0x67, 0x43, 0x4c, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 1329 0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x78, 1330 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 1331 0x0a, 0x06, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x18, 1332 0x2e, 0x63, 0x76, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x67, 0x65, 0x72, 1333 0x72, 0x69, 0x74, 0x2e, 0x57, 0x68, 0x6f, 0x6d, 0x52, 0x06, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 1334 0x12, 0x36, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 1335 0x03, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x63, 0x76, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 1336 0x6c, 0x2e, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x2e, 0x57, 0x68, 0x6f, 0x6d, 0x52, 0x09, 0x61, 1337 0x74, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x61, 0x70, 0x70, 0x6c, 1338 0x79, 0x5f, 0x74, 0x6f, 0x22, 0x8b, 0x02, 0x0a, 0x10, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 1339 0x69, 0x6e, 0x67, 0x43, 0x4c, 0x44, 0x65, 0x70, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x72, 0x69, 1340 0x67, 0x69, 0x6e, 0x5f, 0x63, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 1341 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x43, 0x6c, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 1342 0x70, 0x5f, 0x63, 0x6c, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x08, 0x64, 1343 0x65, 0x70, 0x43, 0x6c, 0x69, 0x64, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 1344 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 1345 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x08, 0x64, 0x65, 1346 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 1347 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 1348 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x64, 0x65, 0x61, 0x64, 0x6c, 0x69, 1349 0x6e, 0x65, 0x12, 0x32, 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x05, 0x20, 1350 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x76, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 1351 0x6c, 0x2e, 0x72, 0x75, 0x6e, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x07, 0x74, 1352 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 1353 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 1354 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4e, 0x61, 1355 0x6d, 0x65, 0x22, 0xc0, 0x01, 0x0a, 0x0b, 0x50, 0x75, 0x72, 0x67, 0x65, 0x52, 0x65, 0x61, 0x73, 1356 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x08, 0x63, 0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 1357 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x76, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 1358 0x61, 0x6c, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x43, 0x4c, 1359 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x07, 0x63, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x37, 1360 0x0a, 0x08, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 1361 0x32, 0x19, 0x2e, 0x63, 0x76, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x72, 1362 0x75, 0x6e, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x08, 0x74, 1363 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x13, 0x61, 0x6c, 0x6c, 0x5f, 0x61, 1364 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x18, 0x03, 1365 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x11, 0x61, 0x6c, 0x6c, 0x41, 0x63, 0x74, 0x69, 0x76, 1366 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x61, 0x70, 0x70, 1367 0x6c, 0x79, 0x5f, 0x74, 0x6f, 0x2a, 0x48, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 1368 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 1369 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x41, 0x52, 0x54, 1370 0x45, 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x49, 0x4e, 0x47, 1371 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x45, 0x44, 0x10, 0x03, 0x2a, 1372 0x6c, 0x0a, 0x09, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 1373 0x4c, 0x4f, 0x47, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 1374 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x59, 0x49, 0x5f, 1375 0x50, 0x45, 0x52, 0x49, 0x4f, 0x44, 0x49, 0x43, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 1376 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x02, 0x12, 0x12, 1377 0x0a, 0x0e, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 1378 0x10, 0x03, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x45, 0x42, 0x55, 0x47, 0x10, 0x04, 0x42, 0x39, 0x5a, 1379 0x37, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 1380 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x63, 0x76, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 1381 0x6c, 0x2f, 0x70, 0x72, 0x6a, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x70, 0x72, 0x6a, 1382 0x70, 0x62, 0x3b, 0x70, 0x72, 0x6a, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1383 } 1384 1385 var ( 1386 file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_rawDescOnce sync.Once 1387 file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_rawDescData = file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_rawDesc 1388 ) 1389 1390 func file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_rawDescGZIP() []byte { 1391 file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_rawDescOnce.Do(func() { 1392 file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_rawDescData) 1393 }) 1394 return file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_rawDescData 1395 } 1396 1397 var file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_enumTypes = make([]protoimpl.EnumInfo, 3) 1398 var file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes = make([]protoimpl.MessageInfo, 9) 1399 var file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_goTypes = []interface{}{ 1400 (Status)(0), // 0: cv.internal.prjmanager.prjpb.Status 1401 (LogReason)(0), // 1: cv.internal.prjmanager.prjpb.LogReason 1402 (PCL_Status)(0), // 2: cv.internal.prjmanager.prjpb.PCL.Status 1403 (*PState)(nil), // 3: cv.internal.prjmanager.prjpb.PState 1404 (*LogReasons)(nil), // 4: cv.internal.prjmanager.prjpb.LogReasons 1405 (*PCL)(nil), // 5: cv.internal.prjmanager.prjpb.PCL 1406 (*PRun)(nil), // 6: cv.internal.prjmanager.prjpb.PRun 1407 (*Component)(nil), // 7: cv.internal.prjmanager.prjpb.Component 1408 (*PurgingCL)(nil), // 8: cv.internal.prjmanager.prjpb.PurgingCL 1409 (*TriggeringCLDeps)(nil), // 9: cv.internal.prjmanager.prjpb.TriggeringCLDeps 1410 (*PurgeReason)(nil), // 10: cv.internal.prjmanager.prjpb.PurgeReason 1411 (*PurgingCL_Notification)(nil), // 11: cv.internal.prjmanager.prjpb.PurgingCL.Notification 1412 (*timestamppb.Timestamp)(nil), // 12: google.protobuf.Timestamp 1413 (*changelist.Dep)(nil), // 13: cv.internal.changelist.Dep 1414 (*run.Triggers)(nil), // 14: cv.internal.run.Triggers 1415 (*changelist.CLError)(nil), // 15: cv.internal.changelist.CLError 1416 (*changelist.Snapshot_Outdated)(nil), // 16: cv.internal.changelist.Snapshot.Outdated 1417 (*run.Trigger)(nil), // 17: cv.internal.run.Trigger 1418 (gerrit.Whom)(0), // 18: cv.internal.gerrit.Whom 1419 } 1420 var file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_depIdxs = []int32{ 1421 0, // 0: cv.internal.prjmanager.prjpb.PState.status:type_name -> cv.internal.prjmanager.prjpb.Status 1422 5, // 1: cv.internal.prjmanager.prjpb.PState.pcls:type_name -> cv.internal.prjmanager.prjpb.PCL 1423 7, // 2: cv.internal.prjmanager.prjpb.PState.components:type_name -> cv.internal.prjmanager.prjpb.Component 1424 8, // 3: cv.internal.prjmanager.prjpb.PState.purging_cls:type_name -> cv.internal.prjmanager.prjpb.PurgingCL 1425 9, // 4: cv.internal.prjmanager.prjpb.PState.triggering_cl_deps:type_name -> cv.internal.prjmanager.prjpb.TriggeringCLDeps 1426 6, // 5: cv.internal.prjmanager.prjpb.PState.created_pruns:type_name -> cv.internal.prjmanager.prjpb.PRun 1427 12, // 6: cv.internal.prjmanager.prjpb.PState.next_eval_time:type_name -> google.protobuf.Timestamp 1428 1, // 7: cv.internal.prjmanager.prjpb.LogReasons.reasons:type_name -> cv.internal.prjmanager.prjpb.LogReason 1429 2, // 8: cv.internal.prjmanager.prjpb.PCL.status:type_name -> cv.internal.prjmanager.prjpb.PCL.Status 1430 13, // 9: cv.internal.prjmanager.prjpb.PCL.deps:type_name -> cv.internal.changelist.Dep 1431 14, // 10: cv.internal.prjmanager.prjpb.PCL.triggers:type_name -> cv.internal.run.Triggers 1432 15, // 11: cv.internal.prjmanager.prjpb.PCL.errors:type_name -> cv.internal.changelist.CLError 1433 10, // 12: cv.internal.prjmanager.prjpb.PCL.purge_reasons:type_name -> cv.internal.prjmanager.prjpb.PurgeReason 1434 16, // 13: cv.internal.prjmanager.prjpb.PCL.outdated:type_name -> cv.internal.changelist.Snapshot.Outdated 1435 12, // 14: cv.internal.prjmanager.prjpb.Component.decision_time:type_name -> google.protobuf.Timestamp 1436 6, // 15: cv.internal.prjmanager.prjpb.Component.pruns:type_name -> cv.internal.prjmanager.prjpb.PRun 1437 12, // 16: cv.internal.prjmanager.prjpb.PurgingCL.deadline:type_name -> google.protobuf.Timestamp 1438 14, // 17: cv.internal.prjmanager.prjpb.PurgingCL.triggers:type_name -> cv.internal.run.Triggers 1439 11, // 18: cv.internal.prjmanager.prjpb.PurgingCL.notification:type_name -> cv.internal.prjmanager.prjpb.PurgingCL.Notification 1440 12, // 19: cv.internal.prjmanager.prjpb.TriggeringCLDeps.deadline:type_name -> google.protobuf.Timestamp 1441 17, // 20: cv.internal.prjmanager.prjpb.TriggeringCLDeps.trigger:type_name -> cv.internal.run.Trigger 1442 15, // 21: cv.internal.prjmanager.prjpb.PurgeReason.cl_error:type_name -> cv.internal.changelist.CLError 1443 14, // 22: cv.internal.prjmanager.prjpb.PurgeReason.triggers:type_name -> cv.internal.run.Triggers 1444 18, // 23: cv.internal.prjmanager.prjpb.PurgingCL.Notification.notify:type_name -> cv.internal.gerrit.Whom 1445 18, // 24: cv.internal.prjmanager.prjpb.PurgingCL.Notification.attention:type_name -> cv.internal.gerrit.Whom 1446 25, // [25:25] is the sub-list for method output_type 1447 25, // [25:25] is the sub-list for method input_type 1448 25, // [25:25] is the sub-list for extension type_name 1449 25, // [25:25] is the sub-list for extension extendee 1450 0, // [0:25] is the sub-list for field type_name 1451 } 1452 1453 func init() { file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_init() } 1454 func file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_init() { 1455 if File_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto != nil { 1456 return 1457 } 1458 if !protoimpl.UnsafeEnabled { 1459 file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1460 switch v := v.(*PState); i { 1461 case 0: 1462 return &v.state 1463 case 1: 1464 return &v.sizeCache 1465 case 2: 1466 return &v.unknownFields 1467 default: 1468 return nil 1469 } 1470 } 1471 file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1472 switch v := v.(*LogReasons); i { 1473 case 0: 1474 return &v.state 1475 case 1: 1476 return &v.sizeCache 1477 case 2: 1478 return &v.unknownFields 1479 default: 1480 return nil 1481 } 1482 } 1483 file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1484 switch v := v.(*PCL); i { 1485 case 0: 1486 return &v.state 1487 case 1: 1488 return &v.sizeCache 1489 case 2: 1490 return &v.unknownFields 1491 default: 1492 return nil 1493 } 1494 } 1495 file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1496 switch v := v.(*PRun); i { 1497 case 0: 1498 return &v.state 1499 case 1: 1500 return &v.sizeCache 1501 case 2: 1502 return &v.unknownFields 1503 default: 1504 return nil 1505 } 1506 } 1507 file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1508 switch v := v.(*Component); i { 1509 case 0: 1510 return &v.state 1511 case 1: 1512 return &v.sizeCache 1513 case 2: 1514 return &v.unknownFields 1515 default: 1516 return nil 1517 } 1518 } 1519 file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1520 switch v := v.(*PurgingCL); i { 1521 case 0: 1522 return &v.state 1523 case 1: 1524 return &v.sizeCache 1525 case 2: 1526 return &v.unknownFields 1527 default: 1528 return nil 1529 } 1530 } 1531 file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1532 switch v := v.(*TriggeringCLDeps); i { 1533 case 0: 1534 return &v.state 1535 case 1: 1536 return &v.sizeCache 1537 case 2: 1538 return &v.unknownFields 1539 default: 1540 return nil 1541 } 1542 } 1543 file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1544 switch v := v.(*PurgeReason); i { 1545 case 0: 1546 return &v.state 1547 case 1: 1548 return &v.sizeCache 1549 case 2: 1550 return &v.unknownFields 1551 default: 1552 return nil 1553 } 1554 } 1555 file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 1556 switch v := v.(*PurgingCL_Notification); i { 1557 case 0: 1558 return &v.state 1559 case 1: 1560 return &v.sizeCache 1561 case 2: 1562 return &v.unknownFields 1563 default: 1564 return nil 1565 } 1566 } 1567 } 1568 file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[5].OneofWrappers = []interface{}{ 1569 (*PurgingCL_Triggers)(nil), 1570 (*PurgingCL_AllActiveTriggers)(nil), 1571 } 1572 file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes[7].OneofWrappers = []interface{}{ 1573 (*PurgeReason_Triggers)(nil), 1574 (*PurgeReason_AllActiveTriggers)(nil), 1575 } 1576 type x struct{} 1577 out := protoimpl.TypeBuilder{ 1578 File: protoimpl.DescBuilder{ 1579 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1580 RawDescriptor: file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_rawDesc, 1581 NumEnums: 3, 1582 NumMessages: 9, 1583 NumExtensions: 0, 1584 NumServices: 0, 1585 }, 1586 GoTypes: file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_goTypes, 1587 DependencyIndexes: file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_depIdxs, 1588 EnumInfos: file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_enumTypes, 1589 MessageInfos: file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_msgTypes, 1590 }.Build() 1591 File_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto = out.File 1592 file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_rawDesc = nil 1593 file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_goTypes = nil 1594 file_go_chromium_org_luci_cv_internal_prjmanager_prjpb_storage_proto_depIdxs = nil 1595 }