go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/analysis/proto/v1/rules.pb.go (about) 1 // Copyright 2022 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.32.0 18 // protoc v3.21.7 19 // source: go.chromium.org/luci/analysis/proto/v1/rules.proto 20 21 package analysispb 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 fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" 34 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 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 rule associating failures with a bug. 47 type Rule struct { 48 state protoimpl.MessageState 49 sizeCache protoimpl.SizeCache 50 unknownFields protoimpl.UnknownFields 51 52 // The resource name of the failure association rule. 53 // Can be used to refer to this rule, e.g. in Rules.Get RPC. 54 // Format: projects/{project}/rules/{rule_id}. 55 // See also https://google.aip.dev/122. 56 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 57 // The LUCI Project for which this rule is defined. 58 Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` 59 // The unique identifier for the failure association rule, 60 // as 32 lowercase hexadecimal characters. 61 RuleId string `protobuf:"bytes,3,opt,name=rule_id,json=ruleId,proto3" json:"rule_id,omitempty"` 62 // The rule predicate, defining which failures are being associated. 63 // For example, 'reason LIKE "Some error: %"'. 64 // 65 // analysis/internal/clustering/rules/lang/lang.go contains the 66 // EBNF grammar for the language used to define rule predicates; 67 // it is a subset of Google Standard SQL. 68 // 69 // The maximum allowed length is 65536 characters. 70 RuleDefinition string `protobuf:"bytes,4,opt,name=rule_definition,json=ruleDefinition,proto3" json:"rule_definition,omitempty"` 71 // The bug that the failures are associated with. 72 Bug *AssociatedBug `protobuf:"bytes,5,opt,name=bug,proto3" json:"bug,omitempty"` 73 // Whether the bug should be updated by LUCI Analysis, and whether 74 // failures should still be matched against the rule. 75 IsActive bool `protobuf:"varint,6,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` 76 // Whether LUCI Analysis should manage the priority and verified status 77 // of the associated bug based on the impact established via this rule. 78 IsManagingBug bool `protobuf:"varint,14,opt,name=is_managing_bug,json=isManagingBug,proto3" json:"is_managing_bug,omitempty"` 79 // Determines whether LUCI Analysis is managing the bug priority updates 80 // of the bug. 81 IsManagingBugPriority bool `protobuf:"varint,15,opt,name=is_managing_bug_priority,json=isManagingBugPriority,proto3" json:"is_managing_bug_priority,omitempty"` 82 // Output Only. The time is_managing_bug_priority was last updated. 83 IsManagingBugPriorityLastUpdateTime *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=is_managing_bug_priority_last_update_time,json=isManagingBugPriorityLastUpdateTime,proto3" json:"is_managing_bug_priority_last_update_time,omitempty"` 84 // The suggested cluster this rule was created from (if any). 85 // Until re-clustering is complete and has reduced the residual impact 86 // of the source cluster, this cluster ID tells bug filing to ignore 87 // the source cluster when determining whether new bugs need to be filed. 88 // Immutable after creation. 89 SourceCluster *ClusterId `protobuf:"bytes,7,opt,name=source_cluster,json=sourceCluster,proto3" json:"source_cluster,omitempty"` 90 // Bug management state. 91 // System controlled data, cannot be modified by the user. 92 BugManagementState *BugManagementState `protobuf:"bytes,17,opt,name=bug_management_state,json=bugManagementState,proto3" json:"bug_management_state,omitempty"` 93 // The time the rule was created. 94 CreateTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 95 // The user which created the rule. 96 // This could be an email address or the value 'system' (for rules 97 // automaticatically created by LUCI Analysis itself). 98 // This value may not be available, as its disclosure is limited 99 // to Googlers only and is subject to automatic deletion after 30 days. 100 CreateUser string `protobuf:"bytes,9,opt,name=create_user,json=createUser,proto3" json:"create_user,omitempty"` 101 // The last time an auditable field was updated. An auditable field 102 // is any field other than a system controlled data field. 103 LastAuditableUpdateTime *timestamppb.Timestamp `protobuf:"bytes,18,opt,name=last_auditable_update_time,json=lastAuditableUpdateTime,proto3" json:"last_auditable_update_time,omitempty"` 104 // The last user which updated an auditable field. An auditable field 105 // is any field other than a system controlled data field. 106 // This could be an email address or the value 'system' (for rules 107 // automaticatically modified by LUCI Analysis itself). 108 // This value may not be available, as its disclosure is limited 109 // to Googlers only and is subject to automatic deletion after 30 days. 110 LastAuditableUpdateUser string `protobuf:"bytes,19,opt,name=last_auditable_update_user,json=lastAuditableUpdateUser,proto3" json:"last_auditable_update_user,omitempty"` 111 // The time the rule was last updated. 112 LastUpdateTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"` 113 // The time the rule was last updated in a way that caused the 114 // matched failures to change, i.e. because of a change to rule_definition 115 // or is_active. (By contrast, updating the associated bug does NOT change 116 // the matched failures, so does NOT update this field.) 117 // Output only. 118 PredicateLastUpdateTime *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=predicate_last_update_time,json=predicateLastUpdateTime,proto3" json:"predicate_last_update_time,omitempty"` 119 // This checksum is computed by the server based on the value of other 120 // fields, and may be sent on update requests to ensure the client 121 // has an up-to-date value before proceeding. 122 // See also https://google.aip.dev/154. 123 Etag string `protobuf:"bytes,12,opt,name=etag,proto3" json:"etag,omitempty"` 124 } 125 126 func (x *Rule) Reset() { 127 *x = Rule{} 128 if protoimpl.UnsafeEnabled { 129 mi := &file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[0] 130 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 131 ms.StoreMessageInfo(mi) 132 } 133 } 134 135 func (x *Rule) String() string { 136 return protoimpl.X.MessageStringOf(x) 137 } 138 139 func (*Rule) ProtoMessage() {} 140 141 func (x *Rule) ProtoReflect() protoreflect.Message { 142 mi := &file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[0] 143 if protoimpl.UnsafeEnabled && x != nil { 144 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 145 if ms.LoadMessageInfo() == nil { 146 ms.StoreMessageInfo(mi) 147 } 148 return ms 149 } 150 return mi.MessageOf(x) 151 } 152 153 // Deprecated: Use Rule.ProtoReflect.Descriptor instead. 154 func (*Rule) Descriptor() ([]byte, []int) { 155 return file_go_chromium_org_luci_analysis_proto_v1_rules_proto_rawDescGZIP(), []int{0} 156 } 157 158 func (x *Rule) GetName() string { 159 if x != nil { 160 return x.Name 161 } 162 return "" 163 } 164 165 func (x *Rule) GetProject() string { 166 if x != nil { 167 return x.Project 168 } 169 return "" 170 } 171 172 func (x *Rule) GetRuleId() string { 173 if x != nil { 174 return x.RuleId 175 } 176 return "" 177 } 178 179 func (x *Rule) GetRuleDefinition() string { 180 if x != nil { 181 return x.RuleDefinition 182 } 183 return "" 184 } 185 186 func (x *Rule) GetBug() *AssociatedBug { 187 if x != nil { 188 return x.Bug 189 } 190 return nil 191 } 192 193 func (x *Rule) GetIsActive() bool { 194 if x != nil { 195 return x.IsActive 196 } 197 return false 198 } 199 200 func (x *Rule) GetIsManagingBug() bool { 201 if x != nil { 202 return x.IsManagingBug 203 } 204 return false 205 } 206 207 func (x *Rule) GetIsManagingBugPriority() bool { 208 if x != nil { 209 return x.IsManagingBugPriority 210 } 211 return false 212 } 213 214 func (x *Rule) GetIsManagingBugPriorityLastUpdateTime() *timestamppb.Timestamp { 215 if x != nil { 216 return x.IsManagingBugPriorityLastUpdateTime 217 } 218 return nil 219 } 220 221 func (x *Rule) GetSourceCluster() *ClusterId { 222 if x != nil { 223 return x.SourceCluster 224 } 225 return nil 226 } 227 228 func (x *Rule) GetBugManagementState() *BugManagementState { 229 if x != nil { 230 return x.BugManagementState 231 } 232 return nil 233 } 234 235 func (x *Rule) GetCreateTime() *timestamppb.Timestamp { 236 if x != nil { 237 return x.CreateTime 238 } 239 return nil 240 } 241 242 func (x *Rule) GetCreateUser() string { 243 if x != nil { 244 return x.CreateUser 245 } 246 return "" 247 } 248 249 func (x *Rule) GetLastAuditableUpdateTime() *timestamppb.Timestamp { 250 if x != nil { 251 return x.LastAuditableUpdateTime 252 } 253 return nil 254 } 255 256 func (x *Rule) GetLastAuditableUpdateUser() string { 257 if x != nil { 258 return x.LastAuditableUpdateUser 259 } 260 return "" 261 } 262 263 func (x *Rule) GetLastUpdateTime() *timestamppb.Timestamp { 264 if x != nil { 265 return x.LastUpdateTime 266 } 267 return nil 268 } 269 270 func (x *Rule) GetPredicateLastUpdateTime() *timestamppb.Timestamp { 271 if x != nil { 272 return x.PredicateLastUpdateTime 273 } 274 return nil 275 } 276 277 func (x *Rule) GetEtag() string { 278 if x != nil { 279 return x.Etag 280 } 281 return "" 282 } 283 284 // BugManagementState is the state of bug management for a rule. 285 type BugManagementState struct { 286 state protoimpl.MessageState 287 sizeCache protoimpl.SizeCache 288 unknownFields protoimpl.UnknownFields 289 290 // The state of each bug management policy. 291 PolicyState []*BugManagementState_PolicyState `protobuf:"bytes,1,rep,name=policy_state,json=policyState,proto3" json:"policy_state,omitempty"` 292 } 293 294 func (x *BugManagementState) Reset() { 295 *x = BugManagementState{} 296 if protoimpl.UnsafeEnabled { 297 mi := &file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[1] 298 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 299 ms.StoreMessageInfo(mi) 300 } 301 } 302 303 func (x *BugManagementState) String() string { 304 return protoimpl.X.MessageStringOf(x) 305 } 306 307 func (*BugManagementState) ProtoMessage() {} 308 309 func (x *BugManagementState) ProtoReflect() protoreflect.Message { 310 mi := &file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[1] 311 if protoimpl.UnsafeEnabled && x != nil { 312 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 313 if ms.LoadMessageInfo() == nil { 314 ms.StoreMessageInfo(mi) 315 } 316 return ms 317 } 318 return mi.MessageOf(x) 319 } 320 321 // Deprecated: Use BugManagementState.ProtoReflect.Descriptor instead. 322 func (*BugManagementState) Descriptor() ([]byte, []int) { 323 return file_go_chromium_org_luci_analysis_proto_v1_rules_proto_rawDescGZIP(), []int{1} 324 } 325 326 func (x *BugManagementState) GetPolicyState() []*BugManagementState_PolicyState { 327 if x != nil { 328 return x.PolicyState 329 } 330 return nil 331 } 332 333 type GetRuleRequest struct { 334 state protoimpl.MessageState 335 sizeCache protoimpl.SizeCache 336 unknownFields protoimpl.UnknownFields 337 338 // The name of the rule to retrieve. 339 // Format: projects/{project}/rules/{rule_id}. 340 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 341 } 342 343 func (x *GetRuleRequest) Reset() { 344 *x = GetRuleRequest{} 345 if protoimpl.UnsafeEnabled { 346 mi := &file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[2] 347 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 348 ms.StoreMessageInfo(mi) 349 } 350 } 351 352 func (x *GetRuleRequest) String() string { 353 return protoimpl.X.MessageStringOf(x) 354 } 355 356 func (*GetRuleRequest) ProtoMessage() {} 357 358 func (x *GetRuleRequest) ProtoReflect() protoreflect.Message { 359 mi := &file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[2] 360 if protoimpl.UnsafeEnabled && x != nil { 361 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 362 if ms.LoadMessageInfo() == nil { 363 ms.StoreMessageInfo(mi) 364 } 365 return ms 366 } 367 return mi.MessageOf(x) 368 } 369 370 // Deprecated: Use GetRuleRequest.ProtoReflect.Descriptor instead. 371 func (*GetRuleRequest) Descriptor() ([]byte, []int) { 372 return file_go_chromium_org_luci_analysis_proto_v1_rules_proto_rawDescGZIP(), []int{2} 373 } 374 375 func (x *GetRuleRequest) GetName() string { 376 if x != nil { 377 return x.Name 378 } 379 return "" 380 } 381 382 type ListRulesRequest struct { 383 state protoimpl.MessageState 384 sizeCache protoimpl.SizeCache 385 unknownFields protoimpl.UnknownFields 386 387 // The parent, which owns this collection of rules. 388 // Format: projects/{project}. 389 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 390 } 391 392 func (x *ListRulesRequest) Reset() { 393 *x = ListRulesRequest{} 394 if protoimpl.UnsafeEnabled { 395 mi := &file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[3] 396 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 397 ms.StoreMessageInfo(mi) 398 } 399 } 400 401 func (x *ListRulesRequest) String() string { 402 return protoimpl.X.MessageStringOf(x) 403 } 404 405 func (*ListRulesRequest) ProtoMessage() {} 406 407 func (x *ListRulesRequest) ProtoReflect() protoreflect.Message { 408 mi := &file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[3] 409 if protoimpl.UnsafeEnabled && x != nil { 410 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 411 if ms.LoadMessageInfo() == nil { 412 ms.StoreMessageInfo(mi) 413 } 414 return ms 415 } 416 return mi.MessageOf(x) 417 } 418 419 // Deprecated: Use ListRulesRequest.ProtoReflect.Descriptor instead. 420 func (*ListRulesRequest) Descriptor() ([]byte, []int) { 421 return file_go_chromium_org_luci_analysis_proto_v1_rules_proto_rawDescGZIP(), []int{3} 422 } 423 424 func (x *ListRulesRequest) GetParent() string { 425 if x != nil { 426 return x.Parent 427 } 428 return "" 429 } 430 431 type ListRulesResponse struct { 432 state protoimpl.MessageState 433 sizeCache protoimpl.SizeCache 434 unknownFields protoimpl.UnknownFields 435 436 // The rules. 437 Rules []*Rule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` 438 } 439 440 func (x *ListRulesResponse) Reset() { 441 *x = ListRulesResponse{} 442 if protoimpl.UnsafeEnabled { 443 mi := &file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[4] 444 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 445 ms.StoreMessageInfo(mi) 446 } 447 } 448 449 func (x *ListRulesResponse) String() string { 450 return protoimpl.X.MessageStringOf(x) 451 } 452 453 func (*ListRulesResponse) ProtoMessage() {} 454 455 func (x *ListRulesResponse) ProtoReflect() protoreflect.Message { 456 mi := &file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[4] 457 if protoimpl.UnsafeEnabled && x != nil { 458 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 459 if ms.LoadMessageInfo() == nil { 460 ms.StoreMessageInfo(mi) 461 } 462 return ms 463 } 464 return mi.MessageOf(x) 465 } 466 467 // Deprecated: Use ListRulesResponse.ProtoReflect.Descriptor instead. 468 func (*ListRulesResponse) Descriptor() ([]byte, []int) { 469 return file_go_chromium_org_luci_analysis_proto_v1_rules_proto_rawDescGZIP(), []int{4} 470 } 471 472 func (x *ListRulesResponse) GetRules() []*Rule { 473 if x != nil { 474 return x.Rules 475 } 476 return nil 477 } 478 479 type CreateRuleRequest struct { 480 state protoimpl.MessageState 481 sizeCache protoimpl.SizeCache 482 unknownFields protoimpl.UnknownFields 483 484 // The parent resource where the rule will be created. 485 // Format: projects/{project}. 486 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` 487 // The rule to create. 488 Rule *Rule `protobuf:"bytes,2,opt,name=rule,proto3" json:"rule,omitempty"` 489 } 490 491 func (x *CreateRuleRequest) Reset() { 492 *x = CreateRuleRequest{} 493 if protoimpl.UnsafeEnabled { 494 mi := &file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[5] 495 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 496 ms.StoreMessageInfo(mi) 497 } 498 } 499 500 func (x *CreateRuleRequest) String() string { 501 return protoimpl.X.MessageStringOf(x) 502 } 503 504 func (*CreateRuleRequest) ProtoMessage() {} 505 506 func (x *CreateRuleRequest) ProtoReflect() protoreflect.Message { 507 mi := &file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[5] 508 if protoimpl.UnsafeEnabled && x != nil { 509 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 510 if ms.LoadMessageInfo() == nil { 511 ms.StoreMessageInfo(mi) 512 } 513 return ms 514 } 515 return mi.MessageOf(x) 516 } 517 518 // Deprecated: Use CreateRuleRequest.ProtoReflect.Descriptor instead. 519 func (*CreateRuleRequest) Descriptor() ([]byte, []int) { 520 return file_go_chromium_org_luci_analysis_proto_v1_rules_proto_rawDescGZIP(), []int{5} 521 } 522 523 func (x *CreateRuleRequest) GetParent() string { 524 if x != nil { 525 return x.Parent 526 } 527 return "" 528 } 529 530 func (x *CreateRuleRequest) GetRule() *Rule { 531 if x != nil { 532 return x.Rule 533 } 534 return nil 535 } 536 537 type UpdateRuleRequest struct { 538 state protoimpl.MessageState 539 sizeCache protoimpl.SizeCache 540 unknownFields protoimpl.UnknownFields 541 542 // The rule to update. 543 // 544 // The rule's `name` field is used to identify the book to update. 545 // Format: projects/{project}/rules/{rule_id}. 546 Rule *Rule `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"` 547 // The list of fields to update. 548 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` 549 // The current etag of the rule. 550 // If an etag is provided and does not match the current etag of the rule, 551 // update will be blocked and an ABORTED error will be returned. 552 Etag string `protobuf:"bytes,3,opt,name=etag,proto3" json:"etag,omitempty"` 553 } 554 555 func (x *UpdateRuleRequest) Reset() { 556 *x = UpdateRuleRequest{} 557 if protoimpl.UnsafeEnabled { 558 mi := &file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[6] 559 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 560 ms.StoreMessageInfo(mi) 561 } 562 } 563 564 func (x *UpdateRuleRequest) String() string { 565 return protoimpl.X.MessageStringOf(x) 566 } 567 568 func (*UpdateRuleRequest) ProtoMessage() {} 569 570 func (x *UpdateRuleRequest) ProtoReflect() protoreflect.Message { 571 mi := &file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[6] 572 if protoimpl.UnsafeEnabled && x != nil { 573 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 574 if ms.LoadMessageInfo() == nil { 575 ms.StoreMessageInfo(mi) 576 } 577 return ms 578 } 579 return mi.MessageOf(x) 580 } 581 582 // Deprecated: Use UpdateRuleRequest.ProtoReflect.Descriptor instead. 583 func (*UpdateRuleRequest) Descriptor() ([]byte, []int) { 584 return file_go_chromium_org_luci_analysis_proto_v1_rules_proto_rawDescGZIP(), []int{6} 585 } 586 587 func (x *UpdateRuleRequest) GetRule() *Rule { 588 if x != nil { 589 return x.Rule 590 } 591 return nil 592 } 593 594 func (x *UpdateRuleRequest) GetUpdateMask() *fieldmaskpb.FieldMask { 595 if x != nil { 596 return x.UpdateMask 597 } 598 return nil 599 } 600 601 func (x *UpdateRuleRequest) GetEtag() string { 602 if x != nil { 603 return x.Etag 604 } 605 return "" 606 } 607 608 type LookupBugRequest struct { 609 state protoimpl.MessageState 610 sizeCache protoimpl.SizeCache 611 unknownFields protoimpl.UnknownFields 612 613 // System is the bug tracking system of the bug. This is either 614 // "monorail" or "buganizer". 615 System string `protobuf:"bytes,1,opt,name=system,proto3" json:"system,omitempty"` 616 // Id is the bug tracking system-specific identity of the bug. 617 // For monorail, the scheme is {project}/{numeric_id}, for 618 // buganizer the scheme is {numeric_id}. 619 Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` 620 } 621 622 func (x *LookupBugRequest) Reset() { 623 *x = LookupBugRequest{} 624 if protoimpl.UnsafeEnabled { 625 mi := &file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[7] 626 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 627 ms.StoreMessageInfo(mi) 628 } 629 } 630 631 func (x *LookupBugRequest) String() string { 632 return protoimpl.X.MessageStringOf(x) 633 } 634 635 func (*LookupBugRequest) ProtoMessage() {} 636 637 func (x *LookupBugRequest) ProtoReflect() protoreflect.Message { 638 mi := &file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[7] 639 if protoimpl.UnsafeEnabled && x != nil { 640 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 641 if ms.LoadMessageInfo() == nil { 642 ms.StoreMessageInfo(mi) 643 } 644 return ms 645 } 646 return mi.MessageOf(x) 647 } 648 649 // Deprecated: Use LookupBugRequest.ProtoReflect.Descriptor instead. 650 func (*LookupBugRequest) Descriptor() ([]byte, []int) { 651 return file_go_chromium_org_luci_analysis_proto_v1_rules_proto_rawDescGZIP(), []int{7} 652 } 653 654 func (x *LookupBugRequest) GetSystem() string { 655 if x != nil { 656 return x.System 657 } 658 return "" 659 } 660 661 func (x *LookupBugRequest) GetId() string { 662 if x != nil { 663 return x.Id 664 } 665 return "" 666 } 667 668 type LookupBugResponse struct { 669 state protoimpl.MessageState 670 sizeCache protoimpl.SizeCache 671 unknownFields protoimpl.UnknownFields 672 673 // The rules corresponding to the requested bug. 674 // Format: projects/{project}/rules/{rule_id}. 675 Rules []string `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"` 676 } 677 678 func (x *LookupBugResponse) Reset() { 679 *x = LookupBugResponse{} 680 if protoimpl.UnsafeEnabled { 681 mi := &file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[8] 682 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 683 ms.StoreMessageInfo(mi) 684 } 685 } 686 687 func (x *LookupBugResponse) String() string { 688 return protoimpl.X.MessageStringOf(x) 689 } 690 691 func (*LookupBugResponse) ProtoMessage() {} 692 693 func (x *LookupBugResponse) ProtoReflect() protoreflect.Message { 694 mi := &file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[8] 695 if protoimpl.UnsafeEnabled && x != nil { 696 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 697 if ms.LoadMessageInfo() == nil { 698 ms.StoreMessageInfo(mi) 699 } 700 return ms 701 } 702 return mi.MessageOf(x) 703 } 704 705 // Deprecated: Use LookupBugResponse.ProtoReflect.Descriptor instead. 706 func (*LookupBugResponse) Descriptor() ([]byte, []int) { 707 return file_go_chromium_org_luci_analysis_proto_v1_rules_proto_rawDescGZIP(), []int{8} 708 } 709 710 func (x *LookupBugResponse) GetRules() []string { 711 if x != nil { 712 return x.Rules 713 } 714 return nil 715 } 716 717 // The state of a bug management policy for a rule. 718 type BugManagementState_PolicyState struct { 719 state protoimpl.MessageState 720 sizeCache protoimpl.SizeCache 721 unknownFields protoimpl.UnknownFields 722 723 // The identifier of the bug management policy. 724 PolicyId string `protobuf:"bytes,1,opt,name=policy_id,json=policyId,proto3" json:"policy_id,omitempty"` 725 // Whether the given policy is active for the rule. 726 // Updated on every bug-filing run as follows: 727 // - Set to true if the policy activation criteria was met. 728 // - Set to false if the policy deactivation criteria was met. 729 IsActive bool `protobuf:"varint,2,opt,name=is_active,json=isActive,proto3" json:"is_active,omitempty"` 730 // The last time the policy was made active. 731 // Allows detecting if policy is made active for the first time (as a 732 // zero last_activation_time indicates the policy was never active). 733 // Allows UI to filter to showing policies that were at least once active. 734 // Allows UI to sort which policy was most recently active. 735 // Allows UI to show when a policy last activated. 736 LastActivationTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_activation_time,json=lastActivationTime,proto3" json:"last_activation_time,omitempty"` 737 // The last time the policy was made inactive. 738 // Allows UI to show when a policy last deactivated. 739 LastDeactivationTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=last_deactivation_time,json=lastDeactivationTime,proto3" json:"last_deactivation_time,omitempty"` 740 } 741 742 func (x *BugManagementState_PolicyState) Reset() { 743 *x = BugManagementState_PolicyState{} 744 if protoimpl.UnsafeEnabled { 745 mi := &file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[9] 746 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 747 ms.StoreMessageInfo(mi) 748 } 749 } 750 751 func (x *BugManagementState_PolicyState) String() string { 752 return protoimpl.X.MessageStringOf(x) 753 } 754 755 func (*BugManagementState_PolicyState) ProtoMessage() {} 756 757 func (x *BugManagementState_PolicyState) ProtoReflect() protoreflect.Message { 758 mi := &file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[9] 759 if protoimpl.UnsafeEnabled && x != nil { 760 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 761 if ms.LoadMessageInfo() == nil { 762 ms.StoreMessageInfo(mi) 763 } 764 return ms 765 } 766 return mi.MessageOf(x) 767 } 768 769 // Deprecated: Use BugManagementState_PolicyState.ProtoReflect.Descriptor instead. 770 func (*BugManagementState_PolicyState) Descriptor() ([]byte, []int) { 771 return file_go_chromium_org_luci_analysis_proto_v1_rules_proto_rawDescGZIP(), []int{1, 0} 772 } 773 774 func (x *BugManagementState_PolicyState) GetPolicyId() string { 775 if x != nil { 776 return x.PolicyId 777 } 778 return "" 779 } 780 781 func (x *BugManagementState_PolicyState) GetIsActive() bool { 782 if x != nil { 783 return x.IsActive 784 } 785 return false 786 } 787 788 func (x *BugManagementState_PolicyState) GetLastActivationTime() *timestamppb.Timestamp { 789 if x != nil { 790 return x.LastActivationTime 791 } 792 return nil 793 } 794 795 func (x *BugManagementState_PolicyState) GetLastDeactivationTime() *timestamppb.Timestamp { 796 if x != nil { 797 return x.LastDeactivationTime 798 } 799 return nil 800 } 801 802 var File_go_chromium_org_luci_analysis_proto_v1_rules_proto protoreflect.FileDescriptor 803 804 var file_go_chromium_org_luci_analysis_proto_v1_rules_proto_rawDesc = []byte{ 805 0x0a, 0x32, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 806 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2f, 807 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x70, 808 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 809 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 810 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 811 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 812 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 813 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 814 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 815 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x67, 0x6f, 0x2e, 0x63, 816 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 817 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 818 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 819 0x9b, 0x08, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 820 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x07, 821 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 822 0x41, 0x03, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1c, 0x0a, 0x07, 0x72, 823 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 824 0x03, 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x0f, 0x72, 0x75, 0x6c, 825 0x65, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 826 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x72, 0x75, 0x6c, 0x65, 0x44, 0x65, 0x66, 827 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x03, 0x62, 0x75, 0x67, 0x18, 0x05, 828 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 829 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 830 0x65, 0x64, 0x42, 0x75, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x62, 0x75, 0x67, 0x12, 831 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x06, 0x20, 0x01, 832 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x12, 0x26, 0x0a, 0x0f, 833 0x69, 0x73, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x75, 0x67, 0x18, 834 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x69, 0x6e, 835 0x67, 0x42, 0x75, 0x67, 0x12, 0x37, 0x0a, 0x18, 0x69, 0x73, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 836 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x75, 0x67, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 837 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x69, 0x73, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x69, 838 0x6e, 0x67, 0x42, 0x75, 0x67, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x72, 0x0a, 839 0x29, 0x69, 0x73, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x75, 0x67, 840 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 841 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 842 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 843 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x23, 0x69, 0x73, 844 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x42, 0x75, 0x67, 0x50, 0x72, 0x69, 0x6f, 0x72, 845 0x69, 0x74, 0x79, 0x4c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 846 0x65, 0x12, 0x42, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x6c, 0x75, 0x73, 847 0x74, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x75, 0x63, 0x69, 848 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x75, 849 0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6c, 850 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x5b, 0x0a, 0x14, 0x62, 0x75, 0x67, 0x5f, 0x6d, 0x61, 0x6e, 851 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x11, 0x20, 852 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 853 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x67, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 854 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 855 0x62, 0x75, 0x67, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 856 0x74, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 857 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 858 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 859 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 860 0x54, 0x69, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x75, 861 0x73, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 862 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x5c, 0x0a, 0x1a, 0x6c, 0x61, 863 0x73, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x75, 0x70, 0x64, 864 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 865 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 866 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 867 0x17, 0x6c, 0x61, 0x73, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x55, 0x70, 868 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x1a, 0x6c, 0x61, 0x73, 0x74, 869 0x5f, 0x61, 0x75, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 870 0x65, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 871 0x03, 0x52, 0x17, 0x6c, 0x61, 0x73, 0x74, 0x41, 0x75, 0x64, 0x69, 0x74, 0x61, 0x62, 0x6c, 0x65, 872 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x10, 0x6c, 0x61, 873 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a, 874 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 875 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 876 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 877 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x5c, 0x0a, 0x1a, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 878 0x74, 0x65, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 879 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 880 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 881 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x17, 0x70, 0x72, 0x65, 0x64, 882 0x69, 0x63, 0x61, 0x74, 0x65, 0x4c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 883 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 884 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x4a, 0x04, 0x08, 0x0b, 0x10, 0x0c, 0x22, 0xd3, 0x02, 885 0x0a, 0x12, 0x42, 0x75, 0x67, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 886 0x74, 0x61, 0x74, 0x65, 0x12, 0x53, 0x0a, 0x0c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x73, 887 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6c, 0x75, 0x63, 888 0x69, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 889 0x67, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 890 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x70, 0x6f, 891 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x1a, 0xe7, 0x01, 0x0a, 0x0b, 0x50, 0x6f, 892 0x6c, 0x69, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x6f, 0x6c, 893 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6f, 894 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x61, 0x63, 0x74, 895 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x41, 0x63, 0x74, 896 0x69, 0x76, 0x65, 0x12, 0x4c, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 897 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 898 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 899 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x12, 0x6c, 900 0x61, 0x73, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 901 0x65, 0x12, 0x50, 0x0a, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x64, 0x65, 0x61, 0x63, 0x74, 0x69, 902 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 903 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 904 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x14, 0x6c, 905 0x61, 0x73, 0x74, 0x44, 0x65, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 906 0x69, 0x6d, 0x65, 0x22, 0x29, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 907 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 908 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2f, 909 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 910 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 911 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x22, 912 0x41, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 913 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 914 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 915 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 916 0x65, 0x73, 0x22, 0x61, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 917 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 918 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 919 0x72, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 920 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 921 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 922 0x04, 0x72, 0x75, 0x6c, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 923 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x72, 924 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x75, 0x63, 0x69, 925 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 926 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 927 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 928 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 929 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 930 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x74, 0x61, 931 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x22, 0x44, 0x0a, 932 0x10, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x42, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 933 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 934 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x13, 935 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 936 0x02, 0x69, 0x64, 0x22, 0x29, 0x0a, 0x11, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x42, 0x75, 0x67, 937 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 938 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x32, 0x87, 939 0x03, 0x0a, 0x05, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x41, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 940 0x20, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 941 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 942 0x74, 0x1a, 0x16, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 943 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x04, 0x4c, 944 0x69, 0x73, 0x74, 0x12, 0x22, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 945 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 946 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x61, 947 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 948 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 949 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x23, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 950 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 951 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 952 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 953 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 954 0x65, 0x12, 0x23, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 955 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 956 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x61, 0x6e, 957 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x22, 0x00, 958 0x12, 0x56, 0x0a, 0x09, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x42, 0x75, 0x67, 0x12, 0x22, 0x2e, 959 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 960 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x42, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 961 0x74, 0x1a, 0x23, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 962 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x42, 0x75, 0x67, 0x52, 0x65, 963 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x33, 0x5a, 0x31, 0x67, 0x6f, 0x2e, 0x63, 964 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 965 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 966 0x76, 0x31, 0x3b, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 967 0x72, 0x6f, 0x74, 0x6f, 0x33, 968 } 969 970 var ( 971 file_go_chromium_org_luci_analysis_proto_v1_rules_proto_rawDescOnce sync.Once 972 file_go_chromium_org_luci_analysis_proto_v1_rules_proto_rawDescData = file_go_chromium_org_luci_analysis_proto_v1_rules_proto_rawDesc 973 ) 974 975 func file_go_chromium_org_luci_analysis_proto_v1_rules_proto_rawDescGZIP() []byte { 976 file_go_chromium_org_luci_analysis_proto_v1_rules_proto_rawDescOnce.Do(func() { 977 file_go_chromium_org_luci_analysis_proto_v1_rules_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_analysis_proto_v1_rules_proto_rawDescData) 978 }) 979 return file_go_chromium_org_luci_analysis_proto_v1_rules_proto_rawDescData 980 } 981 982 var file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes = make([]protoimpl.MessageInfo, 10) 983 var file_go_chromium_org_luci_analysis_proto_v1_rules_proto_goTypes = []interface{}{ 984 (*Rule)(nil), // 0: luci.analysis.v1.Rule 985 (*BugManagementState)(nil), // 1: luci.analysis.v1.BugManagementState 986 (*GetRuleRequest)(nil), // 2: luci.analysis.v1.GetRuleRequest 987 (*ListRulesRequest)(nil), // 3: luci.analysis.v1.ListRulesRequest 988 (*ListRulesResponse)(nil), // 4: luci.analysis.v1.ListRulesResponse 989 (*CreateRuleRequest)(nil), // 5: luci.analysis.v1.CreateRuleRequest 990 (*UpdateRuleRequest)(nil), // 6: luci.analysis.v1.UpdateRuleRequest 991 (*LookupBugRequest)(nil), // 7: luci.analysis.v1.LookupBugRequest 992 (*LookupBugResponse)(nil), // 8: luci.analysis.v1.LookupBugResponse 993 (*BugManagementState_PolicyState)(nil), // 9: luci.analysis.v1.BugManagementState.PolicyState 994 (*AssociatedBug)(nil), // 10: luci.analysis.v1.AssociatedBug 995 (*timestamppb.Timestamp)(nil), // 11: google.protobuf.Timestamp 996 (*ClusterId)(nil), // 12: luci.analysis.v1.ClusterId 997 (*fieldmaskpb.FieldMask)(nil), // 13: google.protobuf.FieldMask 998 } 999 var file_go_chromium_org_luci_analysis_proto_v1_rules_proto_depIdxs = []int32{ 1000 10, // 0: luci.analysis.v1.Rule.bug:type_name -> luci.analysis.v1.AssociatedBug 1001 11, // 1: luci.analysis.v1.Rule.is_managing_bug_priority_last_update_time:type_name -> google.protobuf.Timestamp 1002 12, // 2: luci.analysis.v1.Rule.source_cluster:type_name -> luci.analysis.v1.ClusterId 1003 1, // 3: luci.analysis.v1.Rule.bug_management_state:type_name -> luci.analysis.v1.BugManagementState 1004 11, // 4: luci.analysis.v1.Rule.create_time:type_name -> google.protobuf.Timestamp 1005 11, // 5: luci.analysis.v1.Rule.last_auditable_update_time:type_name -> google.protobuf.Timestamp 1006 11, // 6: luci.analysis.v1.Rule.last_update_time:type_name -> google.protobuf.Timestamp 1007 11, // 7: luci.analysis.v1.Rule.predicate_last_update_time:type_name -> google.protobuf.Timestamp 1008 9, // 8: luci.analysis.v1.BugManagementState.policy_state:type_name -> luci.analysis.v1.BugManagementState.PolicyState 1009 0, // 9: luci.analysis.v1.ListRulesResponse.rules:type_name -> luci.analysis.v1.Rule 1010 0, // 10: luci.analysis.v1.CreateRuleRequest.rule:type_name -> luci.analysis.v1.Rule 1011 0, // 11: luci.analysis.v1.UpdateRuleRequest.rule:type_name -> luci.analysis.v1.Rule 1012 13, // 12: luci.analysis.v1.UpdateRuleRequest.update_mask:type_name -> google.protobuf.FieldMask 1013 11, // 13: luci.analysis.v1.BugManagementState.PolicyState.last_activation_time:type_name -> google.protobuf.Timestamp 1014 11, // 14: luci.analysis.v1.BugManagementState.PolicyState.last_deactivation_time:type_name -> google.protobuf.Timestamp 1015 2, // 15: luci.analysis.v1.Rules.Get:input_type -> luci.analysis.v1.GetRuleRequest 1016 3, // 16: luci.analysis.v1.Rules.List:input_type -> luci.analysis.v1.ListRulesRequest 1017 5, // 17: luci.analysis.v1.Rules.Create:input_type -> luci.analysis.v1.CreateRuleRequest 1018 6, // 18: luci.analysis.v1.Rules.Update:input_type -> luci.analysis.v1.UpdateRuleRequest 1019 7, // 19: luci.analysis.v1.Rules.LookupBug:input_type -> luci.analysis.v1.LookupBugRequest 1020 0, // 20: luci.analysis.v1.Rules.Get:output_type -> luci.analysis.v1.Rule 1021 4, // 21: luci.analysis.v1.Rules.List:output_type -> luci.analysis.v1.ListRulesResponse 1022 0, // 22: luci.analysis.v1.Rules.Create:output_type -> luci.analysis.v1.Rule 1023 0, // 23: luci.analysis.v1.Rules.Update:output_type -> luci.analysis.v1.Rule 1024 8, // 24: luci.analysis.v1.Rules.LookupBug:output_type -> luci.analysis.v1.LookupBugResponse 1025 20, // [20:25] is the sub-list for method output_type 1026 15, // [15:20] is the sub-list for method input_type 1027 15, // [15:15] is the sub-list for extension type_name 1028 15, // [15:15] is the sub-list for extension extendee 1029 0, // [0:15] is the sub-list for field type_name 1030 } 1031 1032 func init() { file_go_chromium_org_luci_analysis_proto_v1_rules_proto_init() } 1033 func file_go_chromium_org_luci_analysis_proto_v1_rules_proto_init() { 1034 if File_go_chromium_org_luci_analysis_proto_v1_rules_proto != nil { 1035 return 1036 } 1037 file_go_chromium_org_luci_analysis_proto_v1_common_proto_init() 1038 if !protoimpl.UnsafeEnabled { 1039 file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1040 switch v := v.(*Rule); i { 1041 case 0: 1042 return &v.state 1043 case 1: 1044 return &v.sizeCache 1045 case 2: 1046 return &v.unknownFields 1047 default: 1048 return nil 1049 } 1050 } 1051 file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1052 switch v := v.(*BugManagementState); i { 1053 case 0: 1054 return &v.state 1055 case 1: 1056 return &v.sizeCache 1057 case 2: 1058 return &v.unknownFields 1059 default: 1060 return nil 1061 } 1062 } 1063 file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1064 switch v := v.(*GetRuleRequest); i { 1065 case 0: 1066 return &v.state 1067 case 1: 1068 return &v.sizeCache 1069 case 2: 1070 return &v.unknownFields 1071 default: 1072 return nil 1073 } 1074 } 1075 file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1076 switch v := v.(*ListRulesRequest); i { 1077 case 0: 1078 return &v.state 1079 case 1: 1080 return &v.sizeCache 1081 case 2: 1082 return &v.unknownFields 1083 default: 1084 return nil 1085 } 1086 } 1087 file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1088 switch v := v.(*ListRulesResponse); i { 1089 case 0: 1090 return &v.state 1091 case 1: 1092 return &v.sizeCache 1093 case 2: 1094 return &v.unknownFields 1095 default: 1096 return nil 1097 } 1098 } 1099 file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1100 switch v := v.(*CreateRuleRequest); i { 1101 case 0: 1102 return &v.state 1103 case 1: 1104 return &v.sizeCache 1105 case 2: 1106 return &v.unknownFields 1107 default: 1108 return nil 1109 } 1110 } 1111 file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1112 switch v := v.(*UpdateRuleRequest); i { 1113 case 0: 1114 return &v.state 1115 case 1: 1116 return &v.sizeCache 1117 case 2: 1118 return &v.unknownFields 1119 default: 1120 return nil 1121 } 1122 } 1123 file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1124 switch v := v.(*LookupBugRequest); i { 1125 case 0: 1126 return &v.state 1127 case 1: 1128 return &v.sizeCache 1129 case 2: 1130 return &v.unknownFields 1131 default: 1132 return nil 1133 } 1134 } 1135 file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 1136 switch v := v.(*LookupBugResponse); i { 1137 case 0: 1138 return &v.state 1139 case 1: 1140 return &v.sizeCache 1141 case 2: 1142 return &v.unknownFields 1143 default: 1144 return nil 1145 } 1146 } 1147 file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 1148 switch v := v.(*BugManagementState_PolicyState); i { 1149 case 0: 1150 return &v.state 1151 case 1: 1152 return &v.sizeCache 1153 case 2: 1154 return &v.unknownFields 1155 default: 1156 return nil 1157 } 1158 } 1159 } 1160 type x struct{} 1161 out := protoimpl.TypeBuilder{ 1162 File: protoimpl.DescBuilder{ 1163 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1164 RawDescriptor: file_go_chromium_org_luci_analysis_proto_v1_rules_proto_rawDesc, 1165 NumEnums: 0, 1166 NumMessages: 10, 1167 NumExtensions: 0, 1168 NumServices: 1, 1169 }, 1170 GoTypes: file_go_chromium_org_luci_analysis_proto_v1_rules_proto_goTypes, 1171 DependencyIndexes: file_go_chromium_org_luci_analysis_proto_v1_rules_proto_depIdxs, 1172 MessageInfos: file_go_chromium_org_luci_analysis_proto_v1_rules_proto_msgTypes, 1173 }.Build() 1174 File_go_chromium_org_luci_analysis_proto_v1_rules_proto = out.File 1175 file_go_chromium_org_luci_analysis_proto_v1_rules_proto_rawDesc = nil 1176 file_go_chromium_org_luci_analysis_proto_v1_rules_proto_goTypes = nil 1177 file_go_chromium_org_luci_analysis_proto_v1_rules_proto_depIdxs = nil 1178 } 1179 1180 // Reference imports to suppress errors if they are not otherwise used. 1181 var _ context.Context 1182 var _ grpc.ClientConnInterface 1183 1184 // This is a compile-time assertion to ensure that this generated file 1185 // is compatible with the grpc package it is being compiled against. 1186 const _ = grpc.SupportPackageIsVersion6 1187 1188 // RulesClient is the client API for Rules service. 1189 // 1190 // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 1191 type RulesClient interface { 1192 // Retrieves a rule. 1193 // Designed to conform to https://google.aip.dev/131. 1194 Get(ctx context.Context, in *GetRuleRequest, opts ...grpc.CallOption) (*Rule, error) 1195 // Lists rules. 1196 // TODO: implement pagination to make this 1197 // RPC compliant with https://google.aip.dev/132. 1198 // This RPC is incomplete. Future breaking changes are 1199 // expressly flagged. 1200 List(ctx context.Context, in *ListRulesRequest, opts ...grpc.CallOption) (*ListRulesResponse, error) 1201 // Creates a new rule. 1202 // Designed to conform to https://google.aip.dev/133. 1203 Create(ctx context.Context, in *CreateRuleRequest, opts ...grpc.CallOption) (*Rule, error) 1204 // Updates a rule. 1205 // Designed to conform to https://google.aip.dev/134. 1206 Update(ctx context.Context, in *UpdateRuleRequest, opts ...grpc.CallOption) (*Rule, error) 1207 // Looks up the rule associated with a given bug, without knowledge 1208 // of the LUCI project the rule is in. 1209 // Designed to conform to https://google.aip.dev/136. 1210 LookupBug(ctx context.Context, in *LookupBugRequest, opts ...grpc.CallOption) (*LookupBugResponse, error) 1211 } 1212 type rulesPRPCClient struct { 1213 client *prpc.Client 1214 } 1215 1216 func NewRulesPRPCClient(client *prpc.Client) RulesClient { 1217 return &rulesPRPCClient{client} 1218 } 1219 1220 func (c *rulesPRPCClient) Get(ctx context.Context, in *GetRuleRequest, opts ...grpc.CallOption) (*Rule, error) { 1221 out := new(Rule) 1222 err := c.client.Call(ctx, "luci.analysis.v1.Rules", "Get", in, out, opts...) 1223 if err != nil { 1224 return nil, err 1225 } 1226 return out, nil 1227 } 1228 1229 func (c *rulesPRPCClient) List(ctx context.Context, in *ListRulesRequest, opts ...grpc.CallOption) (*ListRulesResponse, error) { 1230 out := new(ListRulesResponse) 1231 err := c.client.Call(ctx, "luci.analysis.v1.Rules", "List", in, out, opts...) 1232 if err != nil { 1233 return nil, err 1234 } 1235 return out, nil 1236 } 1237 1238 func (c *rulesPRPCClient) Create(ctx context.Context, in *CreateRuleRequest, opts ...grpc.CallOption) (*Rule, error) { 1239 out := new(Rule) 1240 err := c.client.Call(ctx, "luci.analysis.v1.Rules", "Create", in, out, opts...) 1241 if err != nil { 1242 return nil, err 1243 } 1244 return out, nil 1245 } 1246 1247 func (c *rulesPRPCClient) Update(ctx context.Context, in *UpdateRuleRequest, opts ...grpc.CallOption) (*Rule, error) { 1248 out := new(Rule) 1249 err := c.client.Call(ctx, "luci.analysis.v1.Rules", "Update", in, out, opts...) 1250 if err != nil { 1251 return nil, err 1252 } 1253 return out, nil 1254 } 1255 1256 func (c *rulesPRPCClient) LookupBug(ctx context.Context, in *LookupBugRequest, opts ...grpc.CallOption) (*LookupBugResponse, error) { 1257 out := new(LookupBugResponse) 1258 err := c.client.Call(ctx, "luci.analysis.v1.Rules", "LookupBug", in, out, opts...) 1259 if err != nil { 1260 return nil, err 1261 } 1262 return out, nil 1263 } 1264 1265 type rulesClient struct { 1266 cc grpc.ClientConnInterface 1267 } 1268 1269 func NewRulesClient(cc grpc.ClientConnInterface) RulesClient { 1270 return &rulesClient{cc} 1271 } 1272 1273 func (c *rulesClient) Get(ctx context.Context, in *GetRuleRequest, opts ...grpc.CallOption) (*Rule, error) { 1274 out := new(Rule) 1275 err := c.cc.Invoke(ctx, "/luci.analysis.v1.Rules/Get", in, out, opts...) 1276 if err != nil { 1277 return nil, err 1278 } 1279 return out, nil 1280 } 1281 1282 func (c *rulesClient) List(ctx context.Context, in *ListRulesRequest, opts ...grpc.CallOption) (*ListRulesResponse, error) { 1283 out := new(ListRulesResponse) 1284 err := c.cc.Invoke(ctx, "/luci.analysis.v1.Rules/List", in, out, opts...) 1285 if err != nil { 1286 return nil, err 1287 } 1288 return out, nil 1289 } 1290 1291 func (c *rulesClient) Create(ctx context.Context, in *CreateRuleRequest, opts ...grpc.CallOption) (*Rule, error) { 1292 out := new(Rule) 1293 err := c.cc.Invoke(ctx, "/luci.analysis.v1.Rules/Create", in, out, opts...) 1294 if err != nil { 1295 return nil, err 1296 } 1297 return out, nil 1298 } 1299 1300 func (c *rulesClient) Update(ctx context.Context, in *UpdateRuleRequest, opts ...grpc.CallOption) (*Rule, error) { 1301 out := new(Rule) 1302 err := c.cc.Invoke(ctx, "/luci.analysis.v1.Rules/Update", in, out, opts...) 1303 if err != nil { 1304 return nil, err 1305 } 1306 return out, nil 1307 } 1308 1309 func (c *rulesClient) LookupBug(ctx context.Context, in *LookupBugRequest, opts ...grpc.CallOption) (*LookupBugResponse, error) { 1310 out := new(LookupBugResponse) 1311 err := c.cc.Invoke(ctx, "/luci.analysis.v1.Rules/LookupBug", in, out, opts...) 1312 if err != nil { 1313 return nil, err 1314 } 1315 return out, nil 1316 } 1317 1318 // RulesServer is the server API for Rules service. 1319 type RulesServer interface { 1320 // Retrieves a rule. 1321 // Designed to conform to https://google.aip.dev/131. 1322 Get(context.Context, *GetRuleRequest) (*Rule, error) 1323 // Lists rules. 1324 // TODO: implement pagination to make this 1325 // RPC compliant with https://google.aip.dev/132. 1326 // This RPC is incomplete. Future breaking changes are 1327 // expressly flagged. 1328 List(context.Context, *ListRulesRequest) (*ListRulesResponse, error) 1329 // Creates a new rule. 1330 // Designed to conform to https://google.aip.dev/133. 1331 Create(context.Context, *CreateRuleRequest) (*Rule, error) 1332 // Updates a rule. 1333 // Designed to conform to https://google.aip.dev/134. 1334 Update(context.Context, *UpdateRuleRequest) (*Rule, error) 1335 // Looks up the rule associated with a given bug, without knowledge 1336 // of the LUCI project the rule is in. 1337 // Designed to conform to https://google.aip.dev/136. 1338 LookupBug(context.Context, *LookupBugRequest) (*LookupBugResponse, error) 1339 } 1340 1341 // UnimplementedRulesServer can be embedded to have forward compatible implementations. 1342 type UnimplementedRulesServer struct { 1343 } 1344 1345 func (*UnimplementedRulesServer) Get(context.Context, *GetRuleRequest) (*Rule, error) { 1346 return nil, status.Errorf(codes.Unimplemented, "method Get not implemented") 1347 } 1348 func (*UnimplementedRulesServer) List(context.Context, *ListRulesRequest) (*ListRulesResponse, error) { 1349 return nil, status.Errorf(codes.Unimplemented, "method List not implemented") 1350 } 1351 func (*UnimplementedRulesServer) Create(context.Context, *CreateRuleRequest) (*Rule, error) { 1352 return nil, status.Errorf(codes.Unimplemented, "method Create not implemented") 1353 } 1354 func (*UnimplementedRulesServer) Update(context.Context, *UpdateRuleRequest) (*Rule, error) { 1355 return nil, status.Errorf(codes.Unimplemented, "method Update not implemented") 1356 } 1357 func (*UnimplementedRulesServer) LookupBug(context.Context, *LookupBugRequest) (*LookupBugResponse, error) { 1358 return nil, status.Errorf(codes.Unimplemented, "method LookupBug not implemented") 1359 } 1360 1361 func RegisterRulesServer(s prpc.Registrar, srv RulesServer) { 1362 s.RegisterService(&_Rules_serviceDesc, srv) 1363 } 1364 1365 func _Rules_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 1366 in := new(GetRuleRequest) 1367 if err := dec(in); err != nil { 1368 return nil, err 1369 } 1370 if interceptor == nil { 1371 return srv.(RulesServer).Get(ctx, in) 1372 } 1373 info := &grpc.UnaryServerInfo{ 1374 Server: srv, 1375 FullMethod: "/luci.analysis.v1.Rules/Get", 1376 } 1377 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 1378 return srv.(RulesServer).Get(ctx, req.(*GetRuleRequest)) 1379 } 1380 return interceptor(ctx, in, info, handler) 1381 } 1382 1383 func _Rules_List_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 1384 in := new(ListRulesRequest) 1385 if err := dec(in); err != nil { 1386 return nil, err 1387 } 1388 if interceptor == nil { 1389 return srv.(RulesServer).List(ctx, in) 1390 } 1391 info := &grpc.UnaryServerInfo{ 1392 Server: srv, 1393 FullMethod: "/luci.analysis.v1.Rules/List", 1394 } 1395 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 1396 return srv.(RulesServer).List(ctx, req.(*ListRulesRequest)) 1397 } 1398 return interceptor(ctx, in, info, handler) 1399 } 1400 1401 func _Rules_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 1402 in := new(CreateRuleRequest) 1403 if err := dec(in); err != nil { 1404 return nil, err 1405 } 1406 if interceptor == nil { 1407 return srv.(RulesServer).Create(ctx, in) 1408 } 1409 info := &grpc.UnaryServerInfo{ 1410 Server: srv, 1411 FullMethod: "/luci.analysis.v1.Rules/Create", 1412 } 1413 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 1414 return srv.(RulesServer).Create(ctx, req.(*CreateRuleRequest)) 1415 } 1416 return interceptor(ctx, in, info, handler) 1417 } 1418 1419 func _Rules_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 1420 in := new(UpdateRuleRequest) 1421 if err := dec(in); err != nil { 1422 return nil, err 1423 } 1424 if interceptor == nil { 1425 return srv.(RulesServer).Update(ctx, in) 1426 } 1427 info := &grpc.UnaryServerInfo{ 1428 Server: srv, 1429 FullMethod: "/luci.analysis.v1.Rules/Update", 1430 } 1431 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 1432 return srv.(RulesServer).Update(ctx, req.(*UpdateRuleRequest)) 1433 } 1434 return interceptor(ctx, in, info, handler) 1435 } 1436 1437 func _Rules_LookupBug_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 1438 in := new(LookupBugRequest) 1439 if err := dec(in); err != nil { 1440 return nil, err 1441 } 1442 if interceptor == nil { 1443 return srv.(RulesServer).LookupBug(ctx, in) 1444 } 1445 info := &grpc.UnaryServerInfo{ 1446 Server: srv, 1447 FullMethod: "/luci.analysis.v1.Rules/LookupBug", 1448 } 1449 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 1450 return srv.(RulesServer).LookupBug(ctx, req.(*LookupBugRequest)) 1451 } 1452 return interceptor(ctx, in, info, handler) 1453 } 1454 1455 var _Rules_serviceDesc = grpc.ServiceDesc{ 1456 ServiceName: "luci.analysis.v1.Rules", 1457 HandlerType: (*RulesServer)(nil), 1458 Methods: []grpc.MethodDesc{ 1459 { 1460 MethodName: "Get", 1461 Handler: _Rules_Get_Handler, 1462 }, 1463 { 1464 MethodName: "List", 1465 Handler: _Rules_List_Handler, 1466 }, 1467 { 1468 MethodName: "Create", 1469 Handler: _Rules_Create_Handler, 1470 }, 1471 { 1472 MethodName: "Update", 1473 Handler: _Rules_Update_Handler, 1474 }, 1475 { 1476 MethodName: "LookupBug", 1477 Handler: _Rules_LookupBug_Handler, 1478 }, 1479 }, 1480 Streams: []grpc.StreamDesc{}, 1481 Metadata: "go.chromium.org/luci/analysis/proto/v1/rules.proto", 1482 }