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  }