go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/scheduler/appengine/messages/config.pb.go (about) 1 // Copyright 2015 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/scheduler/appengine/messages/config.proto 20 21 package messages 22 23 import ( 24 _ "go.chromium.org/luci/common/proto" 25 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 26 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 27 durationpb "google.golang.org/protobuf/types/known/durationpb" 28 reflect "reflect" 29 sync "sync" 30 ) 31 32 const ( 33 // Verify that this generated code is sufficiently up-to-date. 34 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 35 // Verify that runtime/protoimpl is sufficiently up-to-date. 36 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 37 ) 38 39 type Acl_Role int32 40 41 const ( 42 Acl_READER Acl_Role = 0 43 Acl_TRIGGERER Acl_Role = 2 44 Acl_OWNER Acl_Role = 1 45 ) 46 47 // Enum value maps for Acl_Role. 48 var ( 49 Acl_Role_name = map[int32]string{ 50 0: "READER", 51 2: "TRIGGERER", 52 1: "OWNER", 53 } 54 Acl_Role_value = map[string]int32{ 55 "READER": 0, 56 "TRIGGERER": 2, 57 "OWNER": 1, 58 } 59 ) 60 61 func (x Acl_Role) Enum() *Acl_Role { 62 p := new(Acl_Role) 63 *p = x 64 return p 65 } 66 67 func (x Acl_Role) String() string { 68 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 69 } 70 71 func (Acl_Role) Descriptor() protoreflect.EnumDescriptor { 72 return file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_enumTypes[0].Descriptor() 73 } 74 75 func (Acl_Role) Type() protoreflect.EnumType { 76 return &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_enumTypes[0] 77 } 78 79 func (x Acl_Role) Number() protoreflect.EnumNumber { 80 return protoreflect.EnumNumber(x) 81 } 82 83 // Deprecated: Use Acl_Role.Descriptor instead. 84 func (Acl_Role) EnumDescriptor() ([]byte, []int) { 85 return file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDescGZIP(), []int{1, 0} 86 } 87 88 type TriggeringPolicy_Kind int32 89 90 const ( 91 // A placeholder for unrecognized policy kind. 92 TriggeringPolicy_UNDEFINED TriggeringPolicy_Kind = 0 93 // A greedy triggering function that takes all pending triggers (up to 94 // max_batch_size limit) and collapses them into one new invocation, 95 // deriving its properties from the most recent trigger alone. It doesn't 96 // wait for a full batch, nor tries to batch evenly. 97 TriggeringPolicy_GREEDY_BATCHING TriggeringPolicy_Kind = 1 98 // A logarithmic triggering function that takes floor(log(base,N)) pending 99 // triggers (at least 1 and up to max_batch_size limit) and collapses them 100 // into one new invocation, deriving its properties from the most recent 101 // trigger alone, where N is the total number of pending triggers and k is 102 // specified by the log_base field below. 103 TriggeringPolicy_LOGARITHMIC_BATCHING TriggeringPolicy_Kind = 2 104 // A triggering function that prioritizes the most recent pending triggers. 105 // Triggers stay pending until they either become the most recent pending 106 // trigger or expire. The timeout for pending triggers is specified by the 107 // pending_timeout field below. 108 TriggeringPolicy_NEWEST_FIRST TriggeringPolicy_Kind = 3 109 ) 110 111 // Enum value maps for TriggeringPolicy_Kind. 112 var ( 113 TriggeringPolicy_Kind_name = map[int32]string{ 114 0: "UNDEFINED", 115 1: "GREEDY_BATCHING", 116 2: "LOGARITHMIC_BATCHING", 117 3: "NEWEST_FIRST", 118 } 119 TriggeringPolicy_Kind_value = map[string]int32{ 120 "UNDEFINED": 0, 121 "GREEDY_BATCHING": 1, 122 "LOGARITHMIC_BATCHING": 2, 123 "NEWEST_FIRST": 3, 124 } 125 ) 126 127 func (x TriggeringPolicy_Kind) Enum() *TriggeringPolicy_Kind { 128 p := new(TriggeringPolicy_Kind) 129 *p = x 130 return p 131 } 132 133 func (x TriggeringPolicy_Kind) String() string { 134 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 135 } 136 137 func (TriggeringPolicy_Kind) Descriptor() protoreflect.EnumDescriptor { 138 return file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_enumTypes[1].Descriptor() 139 } 140 141 func (TriggeringPolicy_Kind) Type() protoreflect.EnumType { 142 return &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_enumTypes[1] 143 } 144 145 func (x TriggeringPolicy_Kind) Number() protoreflect.EnumNumber { 146 return protoreflect.EnumNumber(x) 147 } 148 149 // Deprecated: Use TriggeringPolicy_Kind.Descriptor instead. 150 func (TriggeringPolicy_Kind) EnumDescriptor() ([]byte, []int) { 151 return file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDescGZIP(), []int{3, 0} 152 } 153 154 // ProjectConfig defines a schema for a config file that describe jobs belonging 155 // to some project. 156 type ProjectConfig struct { 157 state protoimpl.MessageState 158 sizeCache protoimpl.SizeCache 159 unknownFields protoimpl.UnknownFields 160 161 // Job is a set of jobs defined in the project. 162 Job []*Job `protobuf:"bytes,1,rep,name=job,proto3" json:"job,omitempty"` 163 // Trigger is a set of triggering jobs defined in the project. 164 Trigger []*Trigger `protobuf:"bytes,2,rep,name=trigger,proto3" json:"trigger,omitempty"` 165 // Deprecated and unused. Use realms permissions instead. 166 // 167 // Deprecated: Marked as deprecated in go.chromium.org/luci/scheduler/appengine/messages/config.proto. 168 AclSets []*AclSet `protobuf:"bytes,3,rep,name=acl_sets,json=aclSets,proto3" json:"acl_sets,omitempty"` 169 } 170 171 func (x *ProjectConfig) Reset() { 172 *x = ProjectConfig{} 173 if protoimpl.UnsafeEnabled { 174 mi := &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[0] 175 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 176 ms.StoreMessageInfo(mi) 177 } 178 } 179 180 func (x *ProjectConfig) String() string { 181 return protoimpl.X.MessageStringOf(x) 182 } 183 184 func (*ProjectConfig) ProtoMessage() {} 185 186 func (x *ProjectConfig) ProtoReflect() protoreflect.Message { 187 mi := &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[0] 188 if protoimpl.UnsafeEnabled && x != nil { 189 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 190 if ms.LoadMessageInfo() == nil { 191 ms.StoreMessageInfo(mi) 192 } 193 return ms 194 } 195 return mi.MessageOf(x) 196 } 197 198 // Deprecated: Use ProjectConfig.ProtoReflect.Descriptor instead. 199 func (*ProjectConfig) Descriptor() ([]byte, []int) { 200 return file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDescGZIP(), []int{0} 201 } 202 203 func (x *ProjectConfig) GetJob() []*Job { 204 if x != nil { 205 return x.Job 206 } 207 return nil 208 } 209 210 func (x *ProjectConfig) GetTrigger() []*Trigger { 211 if x != nil { 212 return x.Trigger 213 } 214 return nil 215 } 216 217 // Deprecated: Marked as deprecated in go.chromium.org/luci/scheduler/appengine/messages/config.proto. 218 func (x *ProjectConfig) GetAclSets() []*AclSet { 219 if x != nil { 220 return x.AclSets 221 } 222 return nil 223 } 224 225 // Deprecated in favor of LUCI Realms. This proto is totally unused now, exists 226 // only to not break older configs that still may have deprecated fields 227 // populated. 228 type Acl struct { 229 state protoimpl.MessageState 230 sizeCache protoimpl.SizeCache 231 unknownFields protoimpl.UnknownFields 232 233 // Deprecated: Marked as deprecated in go.chromium.org/luci/scheduler/appengine/messages/config.proto. 234 Role Acl_Role `protobuf:"varint,1,opt,name=role,proto3,enum=scheduler.config.Acl_Role" json:"role,omitempty"` 235 // Deprecated: Marked as deprecated in go.chromium.org/luci/scheduler/appengine/messages/config.proto. 236 GrantedTo string `protobuf:"bytes,2,opt,name=granted_to,json=grantedTo,proto3" json:"granted_to,omitempty"` 237 } 238 239 func (x *Acl) Reset() { 240 *x = Acl{} 241 if protoimpl.UnsafeEnabled { 242 mi := &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[1] 243 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 244 ms.StoreMessageInfo(mi) 245 } 246 } 247 248 func (x *Acl) String() string { 249 return protoimpl.X.MessageStringOf(x) 250 } 251 252 func (*Acl) ProtoMessage() {} 253 254 func (x *Acl) ProtoReflect() protoreflect.Message { 255 mi := &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[1] 256 if protoimpl.UnsafeEnabled && x != nil { 257 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 258 if ms.LoadMessageInfo() == nil { 259 ms.StoreMessageInfo(mi) 260 } 261 return ms 262 } 263 return mi.MessageOf(x) 264 } 265 266 // Deprecated: Use Acl.ProtoReflect.Descriptor instead. 267 func (*Acl) Descriptor() ([]byte, []int) { 268 return file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDescGZIP(), []int{1} 269 } 270 271 // Deprecated: Marked as deprecated in go.chromium.org/luci/scheduler/appengine/messages/config.proto. 272 func (x *Acl) GetRole() Acl_Role { 273 if x != nil { 274 return x.Role 275 } 276 return Acl_READER 277 } 278 279 // Deprecated: Marked as deprecated in go.chromium.org/luci/scheduler/appengine/messages/config.proto. 280 func (x *Acl) GetGrantedTo() string { 281 if x != nil { 282 return x.GrantedTo 283 } 284 return "" 285 } 286 287 // Deprecated in favor of LUCI Realms. This proto is totally unused now, exists 288 // only to not break older configs that still may have deprecated fields 289 // populated. 290 type AclSet struct { 291 state protoimpl.MessageState 292 sizeCache protoimpl.SizeCache 293 unknownFields protoimpl.UnknownFields 294 295 // Deprecated: Marked as deprecated in go.chromium.org/luci/scheduler/appengine/messages/config.proto. 296 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 297 // Deprecated: Marked as deprecated in go.chromium.org/luci/scheduler/appengine/messages/config.proto. 298 Acls []*Acl `protobuf:"bytes,2,rep,name=acls,proto3" json:"acls,omitempty"` 299 } 300 301 func (x *AclSet) Reset() { 302 *x = AclSet{} 303 if protoimpl.UnsafeEnabled { 304 mi := &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[2] 305 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 306 ms.StoreMessageInfo(mi) 307 } 308 } 309 310 func (x *AclSet) String() string { 311 return protoimpl.X.MessageStringOf(x) 312 } 313 314 func (*AclSet) ProtoMessage() {} 315 316 func (x *AclSet) ProtoReflect() protoreflect.Message { 317 mi := &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[2] 318 if protoimpl.UnsafeEnabled && x != nil { 319 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 320 if ms.LoadMessageInfo() == nil { 321 ms.StoreMessageInfo(mi) 322 } 323 return ms 324 } 325 return mi.MessageOf(x) 326 } 327 328 // Deprecated: Use AclSet.ProtoReflect.Descriptor instead. 329 func (*AclSet) Descriptor() ([]byte, []int) { 330 return file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDescGZIP(), []int{2} 331 } 332 333 // Deprecated: Marked as deprecated in go.chromium.org/luci/scheduler/appengine/messages/config.proto. 334 func (x *AclSet) GetName() string { 335 if x != nil { 336 return x.Name 337 } 338 return "" 339 } 340 341 // Deprecated: Marked as deprecated in go.chromium.org/luci/scheduler/appengine/messages/config.proto. 342 func (x *AclSet) GetAcls() []*Acl { 343 if x != nil { 344 return x.Acls 345 } 346 return nil 347 } 348 349 // TriggeringPolicy defines a function that decides when and how to launch a 350 // job invocation, given the job's current state and a set of pending triggers. 351 type TriggeringPolicy struct { 352 state protoimpl.MessageState 353 sizeCache protoimpl.SizeCache 354 unknownFields protoimpl.UnknownFields 355 356 // Defines an algorithm to use for the triggering decisions. 357 // 358 // See comments for Kind enum field. 359 // 360 // Default is GREEDY_BATCHING. 361 Kind TriggeringPolicy_Kind `protobuf:"varint,1,opt,name=kind,proto3,enum=scheduler.config.TriggeringPolicy_Kind" json:"kind,omitempty"` 362 // Limits number of job invocations running at the same time. 363 // 364 // If the number of current active invocations is more or equal to this 365 // setting, the triggering function will be skipped completely, since it isn't 366 // allowed to trigger anything anyway. 367 // 368 // Default is 1. 369 MaxConcurrentInvocations int64 `protobuf:"varint,2,opt,name=max_concurrent_invocations,json=maxConcurrentInvocations,proto3" json:"max_concurrent_invocations,omitempty"` 370 // Limits how many triggers can be put into one invocation request. 371 // 372 // For example, setting this to 1 will make each trigger launch its own 373 // invocation. This value is ignore dby NEWEST_FIRST, since batching 374 // isn't well-defined in that policy kind. 375 // 376 // Default is 1000 (which is ~= unlimited). 377 MaxBatchSize int64 `protobuf:"varint,3,opt,name=max_batch_size,json=maxBatchSize,proto3" json:"max_batch_size,omitempty"` 378 // Base of the logarithm operation during logarithmic batching. 379 // 380 // For example, setting this to 2, will cause 3 out of 8 pending triggers to 381 // be combined into a single invocation with LOGARITHMIC_BATCHING kind. This 382 // value is ignored by other policy kinds. Must be larger or equal to 1.0001 383 // for numerical stability reasons. 384 // 385 // Required. 386 LogBase float32 `protobuf:"fixed32,4,opt,name=log_base,json=logBase,proto3" json:"log_base,omitempty"` 387 // How long until a pending trigger is discarded. 388 // 389 // For example, setting this to 1 day will cause triggers that stay pending 390 // for at least 1 day to be removed from consideration. This value is ignored 391 // by policy kinds other than NEWEST_FIRST, which can starve old triggers and 392 // cause the pending triggers list to grow without bound. 393 // 394 // Default is 7 days. 395 PendingTimeout *durationpb.Duration `protobuf:"bytes,5,opt,name=pending_timeout,json=pendingTimeout,proto3" json:"pending_timeout,omitempty"` 396 } 397 398 func (x *TriggeringPolicy) Reset() { 399 *x = TriggeringPolicy{} 400 if protoimpl.UnsafeEnabled { 401 mi := &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[3] 402 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 403 ms.StoreMessageInfo(mi) 404 } 405 } 406 407 func (x *TriggeringPolicy) String() string { 408 return protoimpl.X.MessageStringOf(x) 409 } 410 411 func (*TriggeringPolicy) ProtoMessage() {} 412 413 func (x *TriggeringPolicy) ProtoReflect() protoreflect.Message { 414 mi := &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[3] 415 if protoimpl.UnsafeEnabled && x != nil { 416 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 417 if ms.LoadMessageInfo() == nil { 418 ms.StoreMessageInfo(mi) 419 } 420 return ms 421 } 422 return mi.MessageOf(x) 423 } 424 425 // Deprecated: Use TriggeringPolicy.ProtoReflect.Descriptor instead. 426 func (*TriggeringPolicy) Descriptor() ([]byte, []int) { 427 return file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDescGZIP(), []int{3} 428 } 429 430 func (x *TriggeringPolicy) GetKind() TriggeringPolicy_Kind { 431 if x != nil { 432 return x.Kind 433 } 434 return TriggeringPolicy_UNDEFINED 435 } 436 437 func (x *TriggeringPolicy) GetMaxConcurrentInvocations() int64 { 438 if x != nil { 439 return x.MaxConcurrentInvocations 440 } 441 return 0 442 } 443 444 func (x *TriggeringPolicy) GetMaxBatchSize() int64 { 445 if x != nil { 446 return x.MaxBatchSize 447 } 448 return 0 449 } 450 451 func (x *TriggeringPolicy) GetLogBase() float32 { 452 if x != nil { 453 return x.LogBase 454 } 455 return 0 456 } 457 458 func (x *TriggeringPolicy) GetPendingTimeout() *durationpb.Duration { 459 if x != nil { 460 return x.PendingTimeout 461 } 462 return nil 463 } 464 465 // Job specifies a single regular job belonging to a project. 466 // 467 // Such jobs runs on a schedule or can be triggered by some trigger. 468 type Job struct { 469 state protoimpl.MessageState 470 sizeCache protoimpl.SizeCache 471 unknownFields protoimpl.UnknownFields 472 473 // Id is a name of the job (unique for the project). 474 // 475 // Must match '^[0-9A-Za-z_\-\. \)\(]{1,100}$'. 476 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` 477 // Realm is a name of a LUCI realm within the project to use for ACLs. 478 // 479 // Must match `^[a-z0-9_\.\-/]{1,400}$` or be literals "@root" or "@legacy". 480 // If not set, defaults to "@legacy". 481 // 482 // ACLs associated with a realm are defined separately in realms.cfg file. 483 // That way they can be shared by multiple services. 484 Realm string `protobuf:"bytes,8,opt,name=realm,proto3" json:"realm,omitempty"` 485 // Schedule describes when to run the job. 486 // 487 // A job with a schedule can still be triggered by other triggering jobs 488 // and via "Trigger" button in UI. 489 // 490 // Supported kinds of schedules (illustrated by examples): 491 // - "* 0 * * * *": cron-like expression, in a syntax supported by 492 // https://github.com/gorhill/cronexpr (see its docs for full reference). 493 // The cron engine will attempt to start a job at specified moments in 494 // time (based on UTC clock). If when triggering a job, previous 495 // invocation is still running, an overrun will be recorded (and next 496 // attempt to start a job happens based on the schedule, not when the 497 // previous invocation finishes). Some examples: 498 // "0 */3 * * * *" - each 3 hours: at 12:00 AM UTC, 3:00 AM UTC, ... 499 // "0 */3 * * *" - exact same thing (last field is optional) 500 // "0 1/3 * * *" - each 3 hours but starting 1:00 AM UTC 501 // "0 2,10,18 * * *" - at 2 AM UTC, 10 AM UTC, 6 PM UTC 502 // "0 7 * * *" - at 7 AM UTC, once a day. 503 // - "with 10s interval": runs invocations in a loop, waiting 10s after 504 // finishing invocation before starting a new one. Overruns are not 505 // possible. 506 // - "continuously" is alias for "with 0s interval", meaning the job will 507 // run in a loop without any pauses. 508 // - "triggered" schedule indicates that job is only started via a trigger. 509 // 510 // Default is "triggered". 511 Schedule string `protobuf:"bytes,2,opt,name=schedule,proto3" json:"schedule,omitempty"` 512 // Disabled is true to disable this job. 513 // 514 // Disabled job is equivalent to a deleted job: it can't be triggered, it 515 // can't be referenced by other jobs and it doesn't show up in UI or API. 516 // 517 // Use this instead of commenting out the definition in case you want to 518 // temporarily git rid of the job. 519 Disabled bool `protobuf:"varint,3,opt,name=disabled,proto3" json:"disabled,omitempty"` 520 // Deprecated and unused. Use realms permissions instead. 521 // 522 // Deprecated: Marked as deprecated in go.chromium.org/luci/scheduler/appengine/messages/config.proto. 523 Acls []*Acl `protobuf:"bytes,5,rep,name=acls,proto3" json:"acls,omitempty"` 524 // Deprecated and unused. Use realms permissions instead. 525 // 526 // Deprecated: Marked as deprecated in go.chromium.org/luci/scheduler/appengine/messages/config.proto. 527 AclSets []string `protobuf:"bytes,6,rep,name=acl_sets,json=aclSets,proto3" json:"acl_sets,omitempty"` 528 // TriggeringPolicy defines how job handles incoming triggering events. 529 // 530 // If not specified defaults to GREEDY_BATCHING with 1 max concurrent 531 // invocation. See comments in TriggeringPolicy for more details. 532 TriggeringPolicy *TriggeringPolicy `protobuf:"bytes,7,opt,name=triggering_policy,json=triggeringPolicy,proto3" json:"triggering_policy,omitempty"` 533 // Noop is used for testing. It is "do nothing" task. 534 Noop *NoopTask `protobuf:"bytes,100,opt,name=noop,proto3" json:"noop,omitempty"` 535 // UrlFetch can be used to make a simple HTTP call. 536 UrlFetch *UrlFetchTask `protobuf:"bytes,101,opt,name=url_fetch,json=urlFetch,proto3" json:"url_fetch,omitempty"` 537 // BuildbucketTask can be used to schedule buildbucket job. 538 Buildbucket *BuildbucketTask `protobuf:"bytes,103,opt,name=buildbucket,proto3" json:"buildbucket,omitempty"` 539 } 540 541 func (x *Job) Reset() { 542 *x = Job{} 543 if protoimpl.UnsafeEnabled { 544 mi := &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[4] 545 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 546 ms.StoreMessageInfo(mi) 547 } 548 } 549 550 func (x *Job) String() string { 551 return protoimpl.X.MessageStringOf(x) 552 } 553 554 func (*Job) ProtoMessage() {} 555 556 func (x *Job) ProtoReflect() protoreflect.Message { 557 mi := &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[4] 558 if protoimpl.UnsafeEnabled && x != nil { 559 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 560 if ms.LoadMessageInfo() == nil { 561 ms.StoreMessageInfo(mi) 562 } 563 return ms 564 } 565 return mi.MessageOf(x) 566 } 567 568 // Deprecated: Use Job.ProtoReflect.Descriptor instead. 569 func (*Job) Descriptor() ([]byte, []int) { 570 return file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDescGZIP(), []int{4} 571 } 572 573 func (x *Job) GetId() string { 574 if x != nil { 575 return x.Id 576 } 577 return "" 578 } 579 580 func (x *Job) GetRealm() string { 581 if x != nil { 582 return x.Realm 583 } 584 return "" 585 } 586 587 func (x *Job) GetSchedule() string { 588 if x != nil { 589 return x.Schedule 590 } 591 return "" 592 } 593 594 func (x *Job) GetDisabled() bool { 595 if x != nil { 596 return x.Disabled 597 } 598 return false 599 } 600 601 // Deprecated: Marked as deprecated in go.chromium.org/luci/scheduler/appengine/messages/config.proto. 602 func (x *Job) GetAcls() []*Acl { 603 if x != nil { 604 return x.Acls 605 } 606 return nil 607 } 608 609 // Deprecated: Marked as deprecated in go.chromium.org/luci/scheduler/appengine/messages/config.proto. 610 func (x *Job) GetAclSets() []string { 611 if x != nil { 612 return x.AclSets 613 } 614 return nil 615 } 616 617 func (x *Job) GetTriggeringPolicy() *TriggeringPolicy { 618 if x != nil { 619 return x.TriggeringPolicy 620 } 621 return nil 622 } 623 624 func (x *Job) GetNoop() *NoopTask { 625 if x != nil { 626 return x.Noop 627 } 628 return nil 629 } 630 631 func (x *Job) GetUrlFetch() *UrlFetchTask { 632 if x != nil { 633 return x.UrlFetch 634 } 635 return nil 636 } 637 638 func (x *Job) GetBuildbucket() *BuildbucketTask { 639 if x != nil { 640 return x.Buildbucket 641 } 642 return nil 643 } 644 645 // Trigger specifies a job that triggers other jobs. 646 // 647 // It is a special kind of a job that periodically checks the state of the world 648 // and triggers other jobs. 649 type Trigger struct { 650 state protoimpl.MessageState 651 sizeCache protoimpl.SizeCache 652 unknownFields protoimpl.UnknownFields 653 654 // Id is a name of the job (unique for the project). 655 // 656 // Must match '^[0-9A-Za-z_\-\. \)\(]{1,100}$'. It's in the same namespace as 657 // regular jobs. 658 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` 659 // Realm is a name of a LUCI realm within the project to use for ACLs. 660 // 661 // Must match `^[a-z0-9_\.\-/]{1,400}$` or be literals "@root" or "@legacy". 662 // If not set, defaults to "@legacy". 663 // 664 // ACLs associated with a realm are defined separately in realms.cfg file. 665 // That way they can be shared by multiple services. 666 Realm string `protobuf:"bytes,7,opt,name=realm,proto3" json:"realm,omitempty"` 667 // Schedule describes when to run this triggering job. 668 // 669 // See Job.schedule for more info. Default is "with 30s interval". 670 Schedule string `protobuf:"bytes,2,opt,name=schedule,proto3" json:"schedule,omitempty"` 671 // Disabled is true to disable this job. 672 // 673 // Se Job.disabled for more info. 674 Disabled bool `protobuf:"varint,3,opt,name=disabled,proto3" json:"disabled,omitempty"` 675 // Deprecated and unused. Use realms permissions instead. 676 // 677 // Deprecated: Marked as deprecated in go.chromium.org/luci/scheduler/appengine/messages/config.proto. 678 Acls []*Acl `protobuf:"bytes,4,rep,name=acls,proto3" json:"acls,omitempty"` 679 // Deprecated and unused. Use realms permissions instead. 680 // 681 // Deprecated: Marked as deprecated in go.chromium.org/luci/scheduler/appengine/messages/config.proto. 682 AclSets []string `protobuf:"bytes,5,rep,name=acl_sets,json=aclSets,proto3" json:"acl_sets,omitempty"` 683 // TriggeringPolicy defines how job handles incoming triggering events. 684 // 685 // It is rare for a trigger itself to have a non-default triggering policy, 686 // so most likely you should not touch this field. 687 TriggeringPolicy *TriggeringPolicy `protobuf:"bytes,6,opt,name=triggering_policy,json=triggeringPolicy,proto3" json:"triggering_policy,omitempty"` 688 // Triggers are IDs of jobs triggered by this trigger. 689 Triggers []string `protobuf:"bytes,200,rep,name=triggers,proto3" json:"triggers,omitempty"` 690 // Noop is used for testing. It is "do nothing" trigger. 691 Noop *NoopTask `protobuf:"bytes,100,opt,name=noop,proto3" json:"noop,omitempty"` 692 // Gitiles is used to trigger jobs for new commits on Gitiles. 693 Gitiles *GitilesTask `protobuf:"bytes,101,opt,name=gitiles,proto3" json:"gitiles,omitempty"` 694 } 695 696 func (x *Trigger) Reset() { 697 *x = Trigger{} 698 if protoimpl.UnsafeEnabled { 699 mi := &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[5] 700 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 701 ms.StoreMessageInfo(mi) 702 } 703 } 704 705 func (x *Trigger) String() string { 706 return protoimpl.X.MessageStringOf(x) 707 } 708 709 func (*Trigger) ProtoMessage() {} 710 711 func (x *Trigger) ProtoReflect() protoreflect.Message { 712 mi := &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[5] 713 if protoimpl.UnsafeEnabled && x != nil { 714 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 715 if ms.LoadMessageInfo() == nil { 716 ms.StoreMessageInfo(mi) 717 } 718 return ms 719 } 720 return mi.MessageOf(x) 721 } 722 723 // Deprecated: Use Trigger.ProtoReflect.Descriptor instead. 724 func (*Trigger) Descriptor() ([]byte, []int) { 725 return file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDescGZIP(), []int{5} 726 } 727 728 func (x *Trigger) GetId() string { 729 if x != nil { 730 return x.Id 731 } 732 return "" 733 } 734 735 func (x *Trigger) GetRealm() string { 736 if x != nil { 737 return x.Realm 738 } 739 return "" 740 } 741 742 func (x *Trigger) GetSchedule() string { 743 if x != nil { 744 return x.Schedule 745 } 746 return "" 747 } 748 749 func (x *Trigger) GetDisabled() bool { 750 if x != nil { 751 return x.Disabled 752 } 753 return false 754 } 755 756 // Deprecated: Marked as deprecated in go.chromium.org/luci/scheduler/appengine/messages/config.proto. 757 func (x *Trigger) GetAcls() []*Acl { 758 if x != nil { 759 return x.Acls 760 } 761 return nil 762 } 763 764 // Deprecated: Marked as deprecated in go.chromium.org/luci/scheduler/appengine/messages/config.proto. 765 func (x *Trigger) GetAclSets() []string { 766 if x != nil { 767 return x.AclSets 768 } 769 return nil 770 } 771 772 func (x *Trigger) GetTriggeringPolicy() *TriggeringPolicy { 773 if x != nil { 774 return x.TriggeringPolicy 775 } 776 return nil 777 } 778 779 func (x *Trigger) GetTriggers() []string { 780 if x != nil { 781 return x.Triggers 782 } 783 return nil 784 } 785 786 func (x *Trigger) GetNoop() *NoopTask { 787 if x != nil { 788 return x.Noop 789 } 790 return nil 791 } 792 793 func (x *Trigger) GetGitiles() *GitilesTask { 794 if x != nil { 795 return x.Gitiles 796 } 797 return nil 798 } 799 800 // NoopTask is used for testing. It is a "do nothing" task that can emit fake 801 // triggers. 802 type NoopTask struct { 803 state protoimpl.MessageState 804 sizeCache protoimpl.SizeCache 805 unknownFields protoimpl.UnknownFields 806 807 SleepMs int64 `protobuf:"varint,1,opt,name=sleep_ms,json=sleepMs,proto3" json:"sleep_ms,omitempty"` 808 TriggersCount int64 `protobuf:"varint,2,opt,name=triggers_count,json=triggersCount,proto3" json:"triggers_count,omitempty"` 809 } 810 811 func (x *NoopTask) Reset() { 812 *x = NoopTask{} 813 if protoimpl.UnsafeEnabled { 814 mi := &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[6] 815 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 816 ms.StoreMessageInfo(mi) 817 } 818 } 819 820 func (x *NoopTask) String() string { 821 return protoimpl.X.MessageStringOf(x) 822 } 823 824 func (*NoopTask) ProtoMessage() {} 825 826 func (x *NoopTask) ProtoReflect() protoreflect.Message { 827 mi := &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[6] 828 if protoimpl.UnsafeEnabled && x != nil { 829 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 830 if ms.LoadMessageInfo() == nil { 831 ms.StoreMessageInfo(mi) 832 } 833 return ms 834 } 835 return mi.MessageOf(x) 836 } 837 838 // Deprecated: Use NoopTask.ProtoReflect.Descriptor instead. 839 func (*NoopTask) Descriptor() ([]byte, []int) { 840 return file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDescGZIP(), []int{6} 841 } 842 843 func (x *NoopTask) GetSleepMs() int64 { 844 if x != nil { 845 return x.SleepMs 846 } 847 return 0 848 } 849 850 func (x *NoopTask) GetTriggersCount() int64 { 851 if x != nil { 852 return x.TriggersCount 853 } 854 return 0 855 } 856 857 // GitilesTask specifies parameters of what repo and which refs to watch for new 858 // commits. 859 // 860 // GitilesTask will trigger other jobs if either: 861 // - ref's tip has changed (e.g. new commit landed on a ref), 862 // - a ref has just been created from Scheduler point of view, which is 863 // treated as a single new commit. 864 // For example, if you configure new GitilesTask or add a ref not previously 865 // watched to the existing GitilesTask, then Scheduler will "discover" this 866 // ref as newly created and emit exactly 1 trigger for the ref's current 867 // tip. 868 // 869 // LIMITATIONS: 870 // 871 // 1. Per each fast-forward ref's tip change as observed by scheduler, 872 // no more than 50 latest (according to gitiles default ordering) commits 873 // will result in emitted triggers. 874 // This is a safeguard against mistaken or deliberate but unusual git push 875 // actions, which typically don't have intent of triggering a build for each 876 // such commit. 877 // If you absolutely need to act on every new commit even in such cases, 878 // you will need to roll your own implementation, though you may still find 879 // Scheduler GitilesTask useful to trigger your code on new changes. 880 // 881 // 2. No hard latency guarantee. A single invocation of GitilesTask may not be 882 // able to process all the backlog. This is particularly true after a config 883 // change changes the set of watched ref. However, GitilesTask is designed 884 // to make continuous progress with each invocation. 885 type GitilesTask struct { 886 state protoimpl.MessageState 887 sizeCache protoimpl.SizeCache 888 unknownFields protoimpl.UnknownFields 889 890 // Repo is the URL of the Gitiles repository. 891 Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"` 892 // Refs is a list of Git references to track. 893 // 894 // Each ref can be either: 895 // - a fully qualified ref like "refs/heads/master" or "refs/tags/v1.2.3" 896 // - a regular expression with "regexp:" prefix to match multiple refs, e.g. 897 // "regexp:refs/heads/[^/]+" or "regexp:refs/branch-heads/\d+\.\d+", but 898 // the regular expression should have a literal prefix with at least two 899 // slashes present, e.g. "refs/release-\d+/foobar" is not allowed, because 900 // the literal prefix "refs/release-" contains only one slash. The regexp 901 // should not start with ^ or end with $ as they will be added 902 // automatically. 903 // 904 // Each tracked ref, either fully qualified or regexp, must match at least 1 905 // ref in gitiles output. 906 Refs []string `protobuf:"bytes,2,rep,name=refs,proto3" json:"refs,omitempty"` 907 // Optional path_regexps and path_regexps_exclude are lists of regular 908 // expressions limiting emitted triggers only to commits whose tree diff 909 // touches relevant files. 910 // 911 // If neither path_regexps nor path_regexps_exclude is specified (default), 912 // emits triggers for any commit. 913 // Specifying just path_regexps_exclude is not allowed. 914 // 915 // path_regexps and path_regexps_exclude rules apply on each individual commit 916 // independently. For each commit, a set of all filepaths referenced in Git 917 // commit diff is used for matching. On top of simple file additions and file 918 // modifications, this also includes: file removals, file moves (old and new 919 // path is considered), and changing of file metadata (e.g., chmod +x). This 920 // doesn't include directories (git doesn't track them explicitly). 921 // 922 // Triggers are emitted for a commit if only if at least 1 touched filepath 923 // 1. is not matched by any path_regexps_exclude, 924 // 2. AND is matched at least 1 path_regexps 925 // 926 // **subject to caveats below** for exceptional cases. 927 // 928 // Each path_regexps and path_regexps_exclude is a regular expression 929 // "a/b/c/.+". It should not start with ^ or end with $ as they will be added 930 // automatically. 931 // 932 // CAVEATS: 933 // 1. path_regexps: ".+" 934 // will NOT match commits which modify no files (aka empty commits) and 935 // as such differs from default case of not specifying any `path_regexps`. 936 // 2. Per GitilesTask doc, if a ref fast-forwards >=50 commits, only the last 937 // 50 commits are checked. If none of them matches any path specified here, 938 // no trigger is emitted, even if there is an unexamined commit which 939 // matches the path. 940 // TODO(tandrii): it's possible to improve this by examining diff 941 // between ref's last and new tips, but one has to worry about gitiles 942 // taking potentially very long time to compute it. 943 PathRegexps []string `protobuf:"bytes,3,rep,name=path_regexps,json=pathRegexps,proto3" json:"path_regexps,omitempty"` 944 PathRegexpsExclude []string `protobuf:"bytes,4,rep,name=path_regexps_exclude,json=pathRegexpsExclude,proto3" json:"path_regexps_exclude,omitempty"` 945 } 946 947 func (x *GitilesTask) Reset() { 948 *x = GitilesTask{} 949 if protoimpl.UnsafeEnabled { 950 mi := &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[7] 951 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 952 ms.StoreMessageInfo(mi) 953 } 954 } 955 956 func (x *GitilesTask) String() string { 957 return protoimpl.X.MessageStringOf(x) 958 } 959 960 func (*GitilesTask) ProtoMessage() {} 961 962 func (x *GitilesTask) ProtoReflect() protoreflect.Message { 963 mi := &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[7] 964 if protoimpl.UnsafeEnabled && x != nil { 965 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 966 if ms.LoadMessageInfo() == nil { 967 ms.StoreMessageInfo(mi) 968 } 969 return ms 970 } 971 return mi.MessageOf(x) 972 } 973 974 // Deprecated: Use GitilesTask.ProtoReflect.Descriptor instead. 975 func (*GitilesTask) Descriptor() ([]byte, []int) { 976 return file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDescGZIP(), []int{7} 977 } 978 979 func (x *GitilesTask) GetRepo() string { 980 if x != nil { 981 return x.Repo 982 } 983 return "" 984 } 985 986 func (x *GitilesTask) GetRefs() []string { 987 if x != nil { 988 return x.Refs 989 } 990 return nil 991 } 992 993 func (x *GitilesTask) GetPathRegexps() []string { 994 if x != nil { 995 return x.PathRegexps 996 } 997 return nil 998 } 999 1000 func (x *GitilesTask) GetPathRegexpsExclude() []string { 1001 if x != nil { 1002 return x.PathRegexpsExclude 1003 } 1004 return nil 1005 } 1006 1007 // UrlFetchTask specifies parameters for simple HTTP call. 1008 type UrlFetchTask struct { 1009 state protoimpl.MessageState 1010 sizeCache protoimpl.SizeCache 1011 unknownFields protoimpl.UnknownFields 1012 1013 // Method is HTTP method to use, such as "GET" or "POST". Default is "GET". 1014 Method string `protobuf:"bytes,1,opt,name=method,proto3" json:"method,omitempty"` 1015 // Url to send the request to. 1016 Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` 1017 // Timeout is how long to wait for request to complete. Default is 60 sec. 1018 TimeoutSec int32 `protobuf:"varint,3,opt,name=timeout_sec,json=timeoutSec,proto3" json:"timeout_sec,omitempty"` // TODO: add more. 1019 } 1020 1021 func (x *UrlFetchTask) Reset() { 1022 *x = UrlFetchTask{} 1023 if protoimpl.UnsafeEnabled { 1024 mi := &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[8] 1025 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1026 ms.StoreMessageInfo(mi) 1027 } 1028 } 1029 1030 func (x *UrlFetchTask) String() string { 1031 return protoimpl.X.MessageStringOf(x) 1032 } 1033 1034 func (*UrlFetchTask) ProtoMessage() {} 1035 1036 func (x *UrlFetchTask) ProtoReflect() protoreflect.Message { 1037 mi := &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[8] 1038 if protoimpl.UnsafeEnabled && x != nil { 1039 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1040 if ms.LoadMessageInfo() == nil { 1041 ms.StoreMessageInfo(mi) 1042 } 1043 return ms 1044 } 1045 return mi.MessageOf(x) 1046 } 1047 1048 // Deprecated: Use UrlFetchTask.ProtoReflect.Descriptor instead. 1049 func (*UrlFetchTask) Descriptor() ([]byte, []int) { 1050 return file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDescGZIP(), []int{8} 1051 } 1052 1053 func (x *UrlFetchTask) GetMethod() string { 1054 if x != nil { 1055 return x.Method 1056 } 1057 return "" 1058 } 1059 1060 func (x *UrlFetchTask) GetUrl() string { 1061 if x != nil { 1062 return x.Url 1063 } 1064 return "" 1065 } 1066 1067 func (x *UrlFetchTask) GetTimeoutSec() int32 { 1068 if x != nil { 1069 return x.TimeoutSec 1070 } 1071 return 0 1072 } 1073 1074 // BuildbucketTask specifies parameters of Buildbucket-based jobs. 1075 type BuildbucketTask struct { 1076 state protoimpl.MessageState 1077 sizeCache protoimpl.SizeCache 1078 unknownFields protoimpl.UnknownFields 1079 1080 // Server is hostname of the buildbucket service to use. 1081 // 1082 // Typically, "cr-buildbucket.appspot.com". 1083 Server string `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"` 1084 // Bucket defines what bucket to add the task to. 1085 // 1086 // Supported formats are: 1087 // - "<bucket>" - for a bucket in the current project. 1088 // - "<project>:<bucket>" - for a bucket in another project. 1089 // - "luci.<project>.<bucket>" - legacy v1 bucket name. 1090 // 1091 // If empty, defaults to `realm` field in the parent Job message. 1092 Bucket string `protobuf:"bytes,2,opt,name=bucket,proto3" json:"bucket,omitempty"` 1093 // Builder defines what builder within the bucket to launch. 1094 Builder string `protobuf:"bytes,3,opt,name=builder,proto3" json:"builder,omitempty"` 1095 // Properties is arbitrary "key:value" pairs describing the task. 1096 // TODO(tandrii): which properties will be overridden if triggered? 1097 Properties []string `protobuf:"bytes,4,rep,name=properties,proto3" json:"properties,omitempty"` 1098 // Tags is a list of tags (as "key:value" pairs) to assign to the task. 1099 Tags []string `protobuf:"bytes,5,rep,name=tags,proto3" json:"tags,omitempty"` 1100 } 1101 1102 func (x *BuildbucketTask) Reset() { 1103 *x = BuildbucketTask{} 1104 if protoimpl.UnsafeEnabled { 1105 mi := &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[9] 1106 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1107 ms.StoreMessageInfo(mi) 1108 } 1109 } 1110 1111 func (x *BuildbucketTask) String() string { 1112 return protoimpl.X.MessageStringOf(x) 1113 } 1114 1115 func (*BuildbucketTask) ProtoMessage() {} 1116 1117 func (x *BuildbucketTask) ProtoReflect() protoreflect.Message { 1118 mi := &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[9] 1119 if protoimpl.UnsafeEnabled && x != nil { 1120 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1121 if ms.LoadMessageInfo() == nil { 1122 ms.StoreMessageInfo(mi) 1123 } 1124 return ms 1125 } 1126 return mi.MessageOf(x) 1127 } 1128 1129 // Deprecated: Use BuildbucketTask.ProtoReflect.Descriptor instead. 1130 func (*BuildbucketTask) Descriptor() ([]byte, []int) { 1131 return file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDescGZIP(), []int{9} 1132 } 1133 1134 func (x *BuildbucketTask) GetServer() string { 1135 if x != nil { 1136 return x.Server 1137 } 1138 return "" 1139 } 1140 1141 func (x *BuildbucketTask) GetBucket() string { 1142 if x != nil { 1143 return x.Bucket 1144 } 1145 return "" 1146 } 1147 1148 func (x *BuildbucketTask) GetBuilder() string { 1149 if x != nil { 1150 return x.Builder 1151 } 1152 return "" 1153 } 1154 1155 func (x *BuildbucketTask) GetProperties() []string { 1156 if x != nil { 1157 return x.Properties 1158 } 1159 return nil 1160 } 1161 1162 func (x *BuildbucketTask) GetTags() []string { 1163 if x != nil { 1164 return x.Tags 1165 } 1166 return nil 1167 } 1168 1169 // TaskDefWrapper is a union type of all possible tasks known to the scheduler. 1170 // 1171 // It is used internally when storing jobs in the datastore. 1172 type TaskDefWrapper struct { 1173 state protoimpl.MessageState 1174 sizeCache protoimpl.SizeCache 1175 unknownFields protoimpl.UnknownFields 1176 1177 Noop *NoopTask `protobuf:"bytes,1,opt,name=noop,proto3" json:"noop,omitempty"` 1178 UrlFetch *UrlFetchTask `protobuf:"bytes,2,opt,name=url_fetch,json=urlFetch,proto3" json:"url_fetch,omitempty"` 1179 Buildbucket *BuildbucketTask `protobuf:"bytes,4,opt,name=buildbucket,proto3" json:"buildbucket,omitempty"` 1180 Gitiles *GitilesTask `protobuf:"bytes,5,opt,name=gitiles,proto3" json:"gitiles,omitempty"` 1181 } 1182 1183 func (x *TaskDefWrapper) Reset() { 1184 *x = TaskDefWrapper{} 1185 if protoimpl.UnsafeEnabled { 1186 mi := &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[10] 1187 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1188 ms.StoreMessageInfo(mi) 1189 } 1190 } 1191 1192 func (x *TaskDefWrapper) String() string { 1193 return protoimpl.X.MessageStringOf(x) 1194 } 1195 1196 func (*TaskDefWrapper) ProtoMessage() {} 1197 1198 func (x *TaskDefWrapper) ProtoReflect() protoreflect.Message { 1199 mi := &file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[10] 1200 if protoimpl.UnsafeEnabled && x != nil { 1201 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1202 if ms.LoadMessageInfo() == nil { 1203 ms.StoreMessageInfo(mi) 1204 } 1205 return ms 1206 } 1207 return mi.MessageOf(x) 1208 } 1209 1210 // Deprecated: Use TaskDefWrapper.ProtoReflect.Descriptor instead. 1211 func (*TaskDefWrapper) Descriptor() ([]byte, []int) { 1212 return file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDescGZIP(), []int{10} 1213 } 1214 1215 func (x *TaskDefWrapper) GetNoop() *NoopTask { 1216 if x != nil { 1217 return x.Noop 1218 } 1219 return nil 1220 } 1221 1222 func (x *TaskDefWrapper) GetUrlFetch() *UrlFetchTask { 1223 if x != nil { 1224 return x.UrlFetch 1225 } 1226 return nil 1227 } 1228 1229 func (x *TaskDefWrapper) GetBuildbucket() *BuildbucketTask { 1230 if x != nil { 1231 return x.Buildbucket 1232 } 1233 return nil 1234 } 1235 1236 func (x *TaskDefWrapper) GetGitiles() *GitilesTask { 1237 if x != nil { 1238 return x.Gitiles 1239 } 1240 return nil 1241 } 1242 1243 var File_go_chromium_org_luci_scheduler_appengine_messages_config_proto protoreflect.FileDescriptor 1244 1245 var file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDesc = []byte{ 1246 0x0a, 0x3e, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 1247 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 1248 0x2f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 1249 0x67, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 1250 0x12, 0x10, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 1251 0x69, 0x67, 0x1a, 0x2f, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 1252 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 1253 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 1254 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 1255 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 1256 0x6f, 0x74, 0x6f, 0x22, 0xbe, 0x01, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 1257 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x27, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, 0x20, 0x03, 1258 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x63, 1259 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x12, 0x33, 1260 0x0a, 0x07, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 1261 0x19, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 1262 0x69, 0x67, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x07, 0x74, 0x72, 0x69, 0x67, 1263 0x67, 0x65, 0x72, 0x12, 0x37, 0x0a, 0x08, 0x61, 0x63, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18, 1264 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 1265 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x63, 0x6c, 0x53, 0x65, 0x74, 0x42, 1266 0x02, 0x18, 0x01, 0x52, 0x07, 0x61, 0x63, 0x6c, 0x53, 0x65, 0x74, 0x73, 0x4a, 0x04, 0x08, 0x04, 1267 0x10, 0x05, 0x52, 0x10, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x6f, 0x70, 0x74, 1268 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x03, 0x41, 0x63, 0x6c, 0x12, 0x32, 0x0a, 0x04, 1269 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x63, 0x68, 1270 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x63, 1271 0x6c, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 1272 0x12, 0x21, 0x0a, 0x0a, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x18, 0x02, 1273 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x09, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x65, 1274 0x64, 0x54, 0x6f, 0x22, 0x2c, 0x0a, 0x04, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x52, 1275 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x52, 0x49, 0x47, 0x47, 1276 0x45, 0x52, 0x45, 0x52, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x10, 1277 0x01, 0x22, 0x4f, 0x0a, 0x06, 0x41, 0x63, 0x6c, 0x53, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x04, 0x6e, 1278 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x6e, 1279 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x61, 0x63, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 1280 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x63, 0x6f, 1281 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x63, 0x6c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x61, 0x63, 1282 0x6c, 0x73, 0x22, 0xea, 0x02, 0x0a, 0x10, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x69, 0x6e, 1283 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x3b, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 1284 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 1285 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 1286 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 1287 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x3c, 0x0a, 0x1a, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6f, 0x6e, 0x63, 1288 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 1289 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 1290 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 1291 0x6e, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, 1292 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x42, 1293 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x5f, 1294 0x62, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x42, 1295 0x61, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 1296 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 1297 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 1298 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 1299 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x56, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 1300 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 1301 0x0a, 0x0f, 0x47, 0x52, 0x45, 0x45, 0x44, 0x59, 0x5f, 0x42, 0x41, 0x54, 0x43, 0x48, 0x49, 0x4e, 1302 0x47, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x4f, 0x47, 0x41, 0x52, 0x49, 0x54, 0x48, 0x4d, 1303 0x49, 0x43, 0x5f, 0x42, 0x41, 0x54, 0x43, 0x48, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x10, 0x0a, 1304 0x0c, 0x4e, 0x45, 0x57, 0x45, 0x53, 0x54, 0x5f, 0x46, 0x49, 0x52, 0x53, 0x54, 0x10, 0x03, 0x22, 1305 0xc0, 0x03, 0x0a, 0x03, 0x4a, 0x6f, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 1306 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x61, 0x6c, 0x6d, 1307 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x12, 0x1a, 0x0a, 1308 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 1309 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 1310 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, 0x73, 1311 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x04, 0x61, 0x63, 0x6c, 0x73, 0x18, 0x05, 0x20, 1312 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 1313 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x63, 0x6c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 1314 0x61, 0x63, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x08, 0x61, 0x63, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x73, 1315 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x07, 0x61, 0x63, 0x6c, 0x53, 1316 0x65, 0x74, 0x73, 0x12, 0x4f, 0x0a, 0x11, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x69, 0x6e, 1317 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 1318 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 1319 0x67, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 1320 0x63, 0x79, 0x52, 0x10, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x6f, 1321 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2e, 0x0a, 0x04, 0x6e, 0x6f, 0x6f, 0x70, 0x18, 0x64, 0x20, 0x01, 1322 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x63, 1323 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x6f, 0x6f, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 1324 0x6e, 0x6f, 0x6f, 0x70, 0x12, 0x3b, 0x0a, 0x09, 0x75, 0x72, 0x6c, 0x5f, 0x66, 0x65, 0x74, 0x63, 1325 0x68, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 1326 0x6c, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x55, 0x72, 0x6c, 0x46, 0x65, 1327 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x75, 0x72, 0x6c, 0x46, 0x65, 0x74, 0x63, 1328 0x68, 0x12, 0x43, 0x0a, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 1329 0x18, 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 1330 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x62, 1331 0x75, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 1332 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x66, 1333 0x10, 0x67, 0x22, 0x8c, 0x03, 0x0a, 0x07, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x12, 0x0e, 1334 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 1335 0x0a, 0x05, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 1336 0x65, 0x61, 0x6c, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 1337 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 1338 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 1339 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2d, 0x0a, 0x04, 1340 0x61, 0x63, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x63, 0x68, 1341 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x63, 1342 0x6c, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x61, 0x63, 0x6c, 0x73, 0x12, 0x1d, 0x0a, 0x08, 0x61, 1343 0x63, 0x6c, 0x5f, 0x73, 0x65, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x02, 0x18, 1344 0x01, 0x52, 0x07, 0x61, 0x63, 0x6c, 0x53, 0x65, 0x74, 0x73, 0x12, 0x4f, 0x0a, 0x11, 0x74, 0x72, 1345 0x69, 0x67, 0x67, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 1346 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 1347 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 1348 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x10, 0x74, 0x72, 0x69, 0x67, 0x67, 1349 0x65, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x1b, 0x0a, 0x08, 0x74, 1350 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x18, 0xc8, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 1351 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x12, 0x2e, 0x0a, 0x04, 0x6e, 0x6f, 0x6f, 0x70, 1352 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 1353 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x6f, 0x6f, 0x70, 0x54, 0x61, 1354 0x73, 0x6b, 0x52, 0x04, 0x6e, 0x6f, 0x6f, 0x70, 0x12, 0x37, 0x0a, 0x07, 0x67, 0x69, 0x74, 0x69, 1355 0x6c, 0x65, 0x73, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x63, 0x68, 0x65, 1356 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 1357 0x69, 0x6c, 0x65, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x07, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 1358 0x73, 0x22, 0x4c, 0x0a, 0x08, 0x4e, 0x6f, 0x6f, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x19, 0x0a, 1359 0x08, 0x73, 0x6c, 0x65, 0x65, 0x70, 0x5f, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 1360 0x07, 0x73, 0x6c, 0x65, 0x65, 0x70, 0x4d, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x72, 0x69, 0x67, 1361 0x67, 0x65, 0x72, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 1362 0x52, 0x0d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 1363 0x8a, 0x01, 0x0a, 0x0b, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x12, 1364 0x12, 0x0a, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 1365 0x65, 0x70, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x65, 0x66, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 1366 0x09, 0x52, 0x04, 0x72, 0x65, 0x66, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x74, 0x68, 0x5f, 1367 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x70, 1368 0x61, 0x74, 0x68, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x73, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x61, 1369 0x74, 0x68, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x73, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 1370 0x64, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x70, 0x61, 0x74, 0x68, 0x52, 0x65, 1371 0x67, 0x65, 0x78, 0x70, 0x73, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x22, 0x59, 0x0a, 0x0c, 1372 0x55, 0x72, 0x6c, 0x46, 0x65, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x16, 0x0a, 0x06, 1373 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 1374 0x74, 0x68, 0x6f, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 1375 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 1376 0x74, 0x5f, 0x73, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x69, 0x6d, 1377 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x22, 0x8f, 0x01, 0x0a, 0x0f, 0x42, 0x75, 0x69, 0x6c, 1378 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x73, 1379 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x72, 1380 0x76, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 1381 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x62, 1382 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x75, 1383 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 1384 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 1385 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x05, 0x20, 1386 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x81, 0x02, 0x0a, 0x0e, 0x54, 0x61, 1387 0x73, 0x6b, 0x44, 0x65, 0x66, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x04, 1388 0x6e, 0x6f, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x63, 0x68, 1389 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x6f, 1390 0x6f, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x6e, 0x6f, 0x6f, 0x70, 0x12, 0x3b, 0x0a, 0x09, 1391 0x75, 0x72, 0x6c, 0x5f, 0x66, 0x65, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 1392 0x1e, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 1393 0x69, 0x67, 0x2e, 0x55, 0x72, 0x6c, 0x46, 0x65, 0x74, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x52, 1394 0x08, 0x75, 0x72, 0x6c, 0x46, 0x65, 0x74, 0x63, 0x68, 0x12, 0x43, 0x0a, 0x0b, 0x62, 0x75, 0x69, 1395 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 1396 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 1397 0x67, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x54, 0x61, 0x73, 1398 0x6b, 0x52, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x37, 1399 0x0a, 0x07, 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 1400 0x1d, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 1401 0x69, 0x67, 0x2e, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x07, 1402 0x67, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x42, 0x74, 0xa2, 1403 0xfe, 0x23, 0x3d, 0x0a, 0x3b, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x6f, 0x6e, 1404 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x61, 0x70, 0x70, 0x2f, 0x73, 0x63, 0x68, 1405 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x3a, 0x6c, 0x75, 1406 0x63, 0x69, 0x2d, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x63, 0x66, 0x67, 1407 0x5a, 0x31, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 1408 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 1409 0x2f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 1410 0x67, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1411 } 1412 1413 var ( 1414 file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDescOnce sync.Once 1415 file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDescData = file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDesc 1416 ) 1417 1418 func file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDescGZIP() []byte { 1419 file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDescOnce.Do(func() { 1420 file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDescData) 1421 }) 1422 return file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDescData 1423 } 1424 1425 var file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_enumTypes = make([]protoimpl.EnumInfo, 2) 1426 var file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes = make([]protoimpl.MessageInfo, 11) 1427 var file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_goTypes = []interface{}{ 1428 (Acl_Role)(0), // 0: scheduler.config.Acl.Role 1429 (TriggeringPolicy_Kind)(0), // 1: scheduler.config.TriggeringPolicy.Kind 1430 (*ProjectConfig)(nil), // 2: scheduler.config.ProjectConfig 1431 (*Acl)(nil), // 3: scheduler.config.Acl 1432 (*AclSet)(nil), // 4: scheduler.config.AclSet 1433 (*TriggeringPolicy)(nil), // 5: scheduler.config.TriggeringPolicy 1434 (*Job)(nil), // 6: scheduler.config.Job 1435 (*Trigger)(nil), // 7: scheduler.config.Trigger 1436 (*NoopTask)(nil), // 8: scheduler.config.NoopTask 1437 (*GitilesTask)(nil), // 9: scheduler.config.GitilesTask 1438 (*UrlFetchTask)(nil), // 10: scheduler.config.UrlFetchTask 1439 (*BuildbucketTask)(nil), // 11: scheduler.config.BuildbucketTask 1440 (*TaskDefWrapper)(nil), // 12: scheduler.config.TaskDefWrapper 1441 (*durationpb.Duration)(nil), // 13: google.protobuf.Duration 1442 } 1443 var file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_depIdxs = []int32{ 1444 6, // 0: scheduler.config.ProjectConfig.job:type_name -> scheduler.config.Job 1445 7, // 1: scheduler.config.ProjectConfig.trigger:type_name -> scheduler.config.Trigger 1446 4, // 2: scheduler.config.ProjectConfig.acl_sets:type_name -> scheduler.config.AclSet 1447 0, // 3: scheduler.config.Acl.role:type_name -> scheduler.config.Acl.Role 1448 3, // 4: scheduler.config.AclSet.acls:type_name -> scheduler.config.Acl 1449 1, // 5: scheduler.config.TriggeringPolicy.kind:type_name -> scheduler.config.TriggeringPolicy.Kind 1450 13, // 6: scheduler.config.TriggeringPolicy.pending_timeout:type_name -> google.protobuf.Duration 1451 3, // 7: scheduler.config.Job.acls:type_name -> scheduler.config.Acl 1452 5, // 8: scheduler.config.Job.triggering_policy:type_name -> scheduler.config.TriggeringPolicy 1453 8, // 9: scheduler.config.Job.noop:type_name -> scheduler.config.NoopTask 1454 10, // 10: scheduler.config.Job.url_fetch:type_name -> scheduler.config.UrlFetchTask 1455 11, // 11: scheduler.config.Job.buildbucket:type_name -> scheduler.config.BuildbucketTask 1456 3, // 12: scheduler.config.Trigger.acls:type_name -> scheduler.config.Acl 1457 5, // 13: scheduler.config.Trigger.triggering_policy:type_name -> scheduler.config.TriggeringPolicy 1458 8, // 14: scheduler.config.Trigger.noop:type_name -> scheduler.config.NoopTask 1459 9, // 15: scheduler.config.Trigger.gitiles:type_name -> scheduler.config.GitilesTask 1460 8, // 16: scheduler.config.TaskDefWrapper.noop:type_name -> scheduler.config.NoopTask 1461 10, // 17: scheduler.config.TaskDefWrapper.url_fetch:type_name -> scheduler.config.UrlFetchTask 1462 11, // 18: scheduler.config.TaskDefWrapper.buildbucket:type_name -> scheduler.config.BuildbucketTask 1463 9, // 19: scheduler.config.TaskDefWrapper.gitiles:type_name -> scheduler.config.GitilesTask 1464 20, // [20:20] is the sub-list for method output_type 1465 20, // [20:20] is the sub-list for method input_type 1466 20, // [20:20] is the sub-list for extension type_name 1467 20, // [20:20] is the sub-list for extension extendee 1468 0, // [0:20] is the sub-list for field type_name 1469 } 1470 1471 func init() { file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_init() } 1472 func file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_init() { 1473 if File_go_chromium_org_luci_scheduler_appengine_messages_config_proto != nil { 1474 return 1475 } 1476 if !protoimpl.UnsafeEnabled { 1477 file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1478 switch v := v.(*ProjectConfig); i { 1479 case 0: 1480 return &v.state 1481 case 1: 1482 return &v.sizeCache 1483 case 2: 1484 return &v.unknownFields 1485 default: 1486 return nil 1487 } 1488 } 1489 file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1490 switch v := v.(*Acl); i { 1491 case 0: 1492 return &v.state 1493 case 1: 1494 return &v.sizeCache 1495 case 2: 1496 return &v.unknownFields 1497 default: 1498 return nil 1499 } 1500 } 1501 file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1502 switch v := v.(*AclSet); i { 1503 case 0: 1504 return &v.state 1505 case 1: 1506 return &v.sizeCache 1507 case 2: 1508 return &v.unknownFields 1509 default: 1510 return nil 1511 } 1512 } 1513 file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1514 switch v := v.(*TriggeringPolicy); i { 1515 case 0: 1516 return &v.state 1517 case 1: 1518 return &v.sizeCache 1519 case 2: 1520 return &v.unknownFields 1521 default: 1522 return nil 1523 } 1524 } 1525 file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1526 switch v := v.(*Job); i { 1527 case 0: 1528 return &v.state 1529 case 1: 1530 return &v.sizeCache 1531 case 2: 1532 return &v.unknownFields 1533 default: 1534 return nil 1535 } 1536 } 1537 file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1538 switch v := v.(*Trigger); i { 1539 case 0: 1540 return &v.state 1541 case 1: 1542 return &v.sizeCache 1543 case 2: 1544 return &v.unknownFields 1545 default: 1546 return nil 1547 } 1548 } 1549 file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1550 switch v := v.(*NoopTask); i { 1551 case 0: 1552 return &v.state 1553 case 1: 1554 return &v.sizeCache 1555 case 2: 1556 return &v.unknownFields 1557 default: 1558 return nil 1559 } 1560 } 1561 file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1562 switch v := v.(*GitilesTask); i { 1563 case 0: 1564 return &v.state 1565 case 1: 1566 return &v.sizeCache 1567 case 2: 1568 return &v.unknownFields 1569 default: 1570 return nil 1571 } 1572 } 1573 file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 1574 switch v := v.(*UrlFetchTask); i { 1575 case 0: 1576 return &v.state 1577 case 1: 1578 return &v.sizeCache 1579 case 2: 1580 return &v.unknownFields 1581 default: 1582 return nil 1583 } 1584 } 1585 file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 1586 switch v := v.(*BuildbucketTask); i { 1587 case 0: 1588 return &v.state 1589 case 1: 1590 return &v.sizeCache 1591 case 2: 1592 return &v.unknownFields 1593 default: 1594 return nil 1595 } 1596 } 1597 file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 1598 switch v := v.(*TaskDefWrapper); i { 1599 case 0: 1600 return &v.state 1601 case 1: 1602 return &v.sizeCache 1603 case 2: 1604 return &v.unknownFields 1605 default: 1606 return nil 1607 } 1608 } 1609 } 1610 type x struct{} 1611 out := protoimpl.TypeBuilder{ 1612 File: protoimpl.DescBuilder{ 1613 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1614 RawDescriptor: file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDesc, 1615 NumEnums: 2, 1616 NumMessages: 11, 1617 NumExtensions: 0, 1618 NumServices: 0, 1619 }, 1620 GoTypes: file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_goTypes, 1621 DependencyIndexes: file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_depIdxs, 1622 EnumInfos: file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_enumTypes, 1623 MessageInfos: file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_msgTypes, 1624 }.Build() 1625 File_go_chromium_org_luci_scheduler_appengine_messages_config_proto = out.File 1626 file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_rawDesc = nil 1627 file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_goTypes = nil 1628 file_go_chromium_org_luci_scheduler_appengine_messages_config_proto_depIdxs = nil 1629 }