go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/swarming/proto/api/plugin.pb.go (about)

     1  // Copyright 2018 The LUCI Authors. All rights reserved.
     2  // Use of this source code is governed under the Apache License, Version 2.0
     3  // that can be found in the LICENSE file.
     4  
     5  // This proto file describes the external scheduler plugin API.
     6  
     7  // Code generated by protoc-gen-go. DO NOT EDIT.
     8  // versions:
     9  // 	protoc-gen-go v1.31.0
    10  // 	protoc        v3.21.7
    11  // source: go.chromium.org/luci/swarming/proto/api/plugin.proto
    12  
    13  package apipb
    14  
    15  import prpc "go.chromium.org/luci/grpc/prpc"
    16  
    17  import (
    18  	context "context"
    19  	grpc "google.golang.org/grpc"
    20  	codes "google.golang.org/grpc/codes"
    21  	status "google.golang.org/grpc/status"
    22  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    23  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    24  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    25  	reflect "reflect"
    26  	sync "sync"
    27  )
    28  
    29  const (
    30  	// Verify that this generated code is sufficiently up-to-date.
    31  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    32  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    33  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    34  )
    35  
    36  type GetCancellationsResponse_Cancellation_Reason int32
    37  
    38  const (
    39  	// Invalid reason, do not use.
    40  	GetCancellationsResponse_Cancellation_INVALID GetCancellationsResponse_Cancellation_Reason = 0
    41  	// Task was running on a worker, but was interrupted by another task.
    42  	// Task may be retried by swarming.
    43  	GetCancellationsResponse_Cancellation_PREEMPTED GetCancellationsResponse_Cancellation_Reason = 1
    44  	// Task had invalid or erroneous properties that make it not handleable
    45  	// by scheduler. Task should not be retried.
    46  	GetCancellationsResponse_Cancellation_ERROR GetCancellationsResponse_Cancellation_Reason = 2
    47  )
    48  
    49  // Enum value maps for GetCancellationsResponse_Cancellation_Reason.
    50  var (
    51  	GetCancellationsResponse_Cancellation_Reason_name = map[int32]string{
    52  		0: "INVALID",
    53  		1: "PREEMPTED",
    54  		2: "ERROR",
    55  	}
    56  	GetCancellationsResponse_Cancellation_Reason_value = map[string]int32{
    57  		"INVALID":   0,
    58  		"PREEMPTED": 1,
    59  		"ERROR":     2,
    60  	}
    61  )
    62  
    63  func (x GetCancellationsResponse_Cancellation_Reason) Enum() *GetCancellationsResponse_Cancellation_Reason {
    64  	p := new(GetCancellationsResponse_Cancellation_Reason)
    65  	*p = x
    66  	return p
    67  }
    68  
    69  func (x GetCancellationsResponse_Cancellation_Reason) String() string {
    70  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    71  }
    72  
    73  func (GetCancellationsResponse_Cancellation_Reason) Descriptor() protoreflect.EnumDescriptor {
    74  	return file_go_chromium_org_luci_swarming_proto_api_plugin_proto_enumTypes[0].Descriptor()
    75  }
    76  
    77  func (GetCancellationsResponse_Cancellation_Reason) Type() protoreflect.EnumType {
    78  	return &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_enumTypes[0]
    79  }
    80  
    81  func (x GetCancellationsResponse_Cancellation_Reason) Number() protoreflect.EnumNumber {
    82  	return protoreflect.EnumNumber(x)
    83  }
    84  
    85  // Deprecated: Use GetCancellationsResponse_Cancellation_Reason.Descriptor instead.
    86  func (GetCancellationsResponse_Cancellation_Reason) EnumDescriptor() ([]byte, []int) {
    87  	return file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDescGZIP(), []int{7, 0, 0}
    88  }
    89  
    90  // TaskSpec describes a task request and its state, for the purposes of the
    91  // external scheduler API.
    92  //
    93  // It intentionally elides aspects of a task request that are irrelevant
    94  // to scheduling decisions, to keep this proto small for performance reasons.
    95  //
    96  // This message format is in its early stages, and may be subject to frequent
    97  // or even breaking changes as the external scheduler API is rolled out.
    98  type TaskSpec struct {
    99  	state         protoimpl.MessageState
   100  	sizeCache     protoimpl.SizeCache
   101  	unknownFields protoimpl.UnknownFields
   102  
   103  	// Id is the swarming task request ID.
   104  	//
   105  	// Other than being a unique string to track the lifecycle of this request,
   106  	// it is opaque to external scheduler. By convention, swarming uses a task's
   107  	// summary ID (trailing '0') here, not the run ID.
   108  	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   109  	// Tags is the list of tags applied to this task request.
   110  	Tags []string `protobuf:"bytes,2,rep,name=tags,proto3" json:"tags,omitempty"`
   111  	// Slices is the set of task slices for this spec. A TaskSpec must contain
   112  	// at least 1 slice.
   113  	Slices []*SliceSpec `protobuf:"bytes,3,rep,name=slices,proto3" json:"slices,omitempty"`
   114  	// State is the current state of this task.
   115  	State TaskState `protobuf:"varint,4,opt,name=state,proto3,enum=swarming.v1.TaskState" json:"state,omitempty"`
   116  	// BotID is the id of the bot that this task is running on. It is only
   117  	// valid if state=RUNNING.
   118  	BotId string `protobuf:"bytes,5,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"`
   119  	// EnqueuedTime is the time at which a task was enqueued. It is only valid
   120  	// if state=PENDING.
   121  	EnqueuedTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=enqueued_time,json=enqueuedTime,proto3" json:"enqueued_time,omitempty"`
   122  }
   123  
   124  func (x *TaskSpec) Reset() {
   125  	*x = TaskSpec{}
   126  	if protoimpl.UnsafeEnabled {
   127  		mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[0]
   128  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   129  		ms.StoreMessageInfo(mi)
   130  	}
   131  }
   132  
   133  func (x *TaskSpec) String() string {
   134  	return protoimpl.X.MessageStringOf(x)
   135  }
   136  
   137  func (*TaskSpec) ProtoMessage() {}
   138  
   139  func (x *TaskSpec) ProtoReflect() protoreflect.Message {
   140  	mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[0]
   141  	if protoimpl.UnsafeEnabled && x != nil {
   142  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   143  		if ms.LoadMessageInfo() == nil {
   144  			ms.StoreMessageInfo(mi)
   145  		}
   146  		return ms
   147  	}
   148  	return mi.MessageOf(x)
   149  }
   150  
   151  // Deprecated: Use TaskSpec.ProtoReflect.Descriptor instead.
   152  func (*TaskSpec) Descriptor() ([]byte, []int) {
   153  	return file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDescGZIP(), []int{0}
   154  }
   155  
   156  func (x *TaskSpec) GetId() string {
   157  	if x != nil {
   158  		return x.Id
   159  	}
   160  	return ""
   161  }
   162  
   163  func (x *TaskSpec) GetTags() []string {
   164  	if x != nil {
   165  		return x.Tags
   166  	}
   167  	return nil
   168  }
   169  
   170  func (x *TaskSpec) GetSlices() []*SliceSpec {
   171  	if x != nil {
   172  		return x.Slices
   173  	}
   174  	return nil
   175  }
   176  
   177  func (x *TaskSpec) GetState() TaskState {
   178  	if x != nil {
   179  		return x.State
   180  	}
   181  	return TaskState_TASK_STATE_INVALID
   182  }
   183  
   184  func (x *TaskSpec) GetBotId() string {
   185  	if x != nil {
   186  		return x.BotId
   187  	}
   188  	return ""
   189  }
   190  
   191  func (x *TaskSpec) GetEnqueuedTime() *timestamppb.Timestamp {
   192  	if x != nil {
   193  		return x.EnqueuedTime
   194  	}
   195  	return nil
   196  }
   197  
   198  // SliceSpec describes a task request slice, for the purposes of TaskSpec.
   199  type SliceSpec struct {
   200  	state         protoimpl.MessageState
   201  	sizeCache     protoimpl.SizeCache
   202  	unknownFields protoimpl.UnknownFields
   203  
   204  	// Dimensions is set dimension strings for this slice.
   205  	Dimensions []string `protobuf:"bytes,1,rep,name=dimensions,proto3" json:"dimensions,omitempty"`
   206  }
   207  
   208  func (x *SliceSpec) Reset() {
   209  	*x = SliceSpec{}
   210  	if protoimpl.UnsafeEnabled {
   211  		mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[1]
   212  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   213  		ms.StoreMessageInfo(mi)
   214  	}
   215  }
   216  
   217  func (x *SliceSpec) String() string {
   218  	return protoimpl.X.MessageStringOf(x)
   219  }
   220  
   221  func (*SliceSpec) ProtoMessage() {}
   222  
   223  func (x *SliceSpec) ProtoReflect() protoreflect.Message {
   224  	mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[1]
   225  	if protoimpl.UnsafeEnabled && x != nil {
   226  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   227  		if ms.LoadMessageInfo() == nil {
   228  			ms.StoreMessageInfo(mi)
   229  		}
   230  		return ms
   231  	}
   232  	return mi.MessageOf(x)
   233  }
   234  
   235  // Deprecated: Use SliceSpec.ProtoReflect.Descriptor instead.
   236  func (*SliceSpec) Descriptor() ([]byte, []int) {
   237  	return file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDescGZIP(), []int{1}
   238  }
   239  
   240  func (x *SliceSpec) GetDimensions() []string {
   241  	if x != nil {
   242  		return x.Dimensions
   243  	}
   244  	return nil
   245  }
   246  
   247  type IdleBot struct {
   248  	state         protoimpl.MessageState
   249  	sizeCache     protoimpl.SizeCache
   250  	unknownFields protoimpl.UnknownFields
   251  
   252  	// BotId is the id of the bot that is idle.
   253  	BotId string `protobuf:"bytes,1,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"`
   254  	// Dimensions is the dimension set of the idle bot.
   255  	Dimensions []string `protobuf:"bytes,2,rep,name=dimensions,proto3" json:"dimensions,omitempty"`
   256  }
   257  
   258  func (x *IdleBot) Reset() {
   259  	*x = IdleBot{}
   260  	if protoimpl.UnsafeEnabled {
   261  		mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[2]
   262  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   263  		ms.StoreMessageInfo(mi)
   264  	}
   265  }
   266  
   267  func (x *IdleBot) String() string {
   268  	return protoimpl.X.MessageStringOf(x)
   269  }
   270  
   271  func (*IdleBot) ProtoMessage() {}
   272  
   273  func (x *IdleBot) ProtoReflect() protoreflect.Message {
   274  	mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[2]
   275  	if protoimpl.UnsafeEnabled && x != nil {
   276  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   277  		if ms.LoadMessageInfo() == nil {
   278  			ms.StoreMessageInfo(mi)
   279  		}
   280  		return ms
   281  	}
   282  	return mi.MessageOf(x)
   283  }
   284  
   285  // Deprecated: Use IdleBot.ProtoReflect.Descriptor instead.
   286  func (*IdleBot) Descriptor() ([]byte, []int) {
   287  	return file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDescGZIP(), []int{2}
   288  }
   289  
   290  func (x *IdleBot) GetBotId() string {
   291  	if x != nil {
   292  		return x.BotId
   293  	}
   294  	return ""
   295  }
   296  
   297  func (x *IdleBot) GetDimensions() []string {
   298  	if x != nil {
   299  		return x.Dimensions
   300  	}
   301  	return nil
   302  }
   303  
   304  type AssignTasksRequest struct {
   305  	state         protoimpl.MessageState
   306  	sizeCache     protoimpl.SizeCache
   307  	unknownFields protoimpl.UnknownFields
   308  
   309  	// SchedulerID is the id of the scheduler that this request should be run on.
   310  	SchedulerId string `protobuf:"bytes,1,opt,name=scheduler_id,json=schedulerId,proto3" json:"scheduler_id,omitempty"`
   311  	// IdleBots is the set of idle bots that are trying to get tasks assigned.
   312  	IdleBots []*IdleBot `protobuf:"bytes,2,rep,name=idle_bots,json=idleBots,proto3" json:"idle_bots,omitempty"`
   313  	// Time is the current time (according to swarming) at which these bots
   314  	// are attempting to have tasks assigned to them.
   315  	Time *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=time,proto3" json:"time,omitempty"`
   316  }
   317  
   318  func (x *AssignTasksRequest) Reset() {
   319  	*x = AssignTasksRequest{}
   320  	if protoimpl.UnsafeEnabled {
   321  		mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[3]
   322  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   323  		ms.StoreMessageInfo(mi)
   324  	}
   325  }
   326  
   327  func (x *AssignTasksRequest) String() string {
   328  	return protoimpl.X.MessageStringOf(x)
   329  }
   330  
   331  func (*AssignTasksRequest) ProtoMessage() {}
   332  
   333  func (x *AssignTasksRequest) ProtoReflect() protoreflect.Message {
   334  	mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[3]
   335  	if protoimpl.UnsafeEnabled && x != nil {
   336  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   337  		if ms.LoadMessageInfo() == nil {
   338  			ms.StoreMessageInfo(mi)
   339  		}
   340  		return ms
   341  	}
   342  	return mi.MessageOf(x)
   343  }
   344  
   345  // Deprecated: Use AssignTasksRequest.ProtoReflect.Descriptor instead.
   346  func (*AssignTasksRequest) Descriptor() ([]byte, []int) {
   347  	return file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDescGZIP(), []int{3}
   348  }
   349  
   350  func (x *AssignTasksRequest) GetSchedulerId() string {
   351  	if x != nil {
   352  		return x.SchedulerId
   353  	}
   354  	return ""
   355  }
   356  
   357  func (x *AssignTasksRequest) GetIdleBots() []*IdleBot {
   358  	if x != nil {
   359  		return x.IdleBots
   360  	}
   361  	return nil
   362  }
   363  
   364  func (x *AssignTasksRequest) GetTime() *timestamppb.Timestamp {
   365  	if x != nil {
   366  		return x.Time
   367  	}
   368  	return nil
   369  }
   370  
   371  type AssignTasksResponse struct {
   372  	state         protoimpl.MessageState
   373  	sizeCache     protoimpl.SizeCache
   374  	unknownFields protoimpl.UnknownFields
   375  
   376  	// Assignments is the set of (bot, task) assignments that the scheduler
   377  	// determined should be made.
   378  	Assignments []*TaskAssignment `protobuf:"bytes,1,rep,name=assignments,proto3" json:"assignments,omitempty"`
   379  }
   380  
   381  func (x *AssignTasksResponse) Reset() {
   382  	*x = AssignTasksResponse{}
   383  	if protoimpl.UnsafeEnabled {
   384  		mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[4]
   385  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   386  		ms.StoreMessageInfo(mi)
   387  	}
   388  }
   389  
   390  func (x *AssignTasksResponse) String() string {
   391  	return protoimpl.X.MessageStringOf(x)
   392  }
   393  
   394  func (*AssignTasksResponse) ProtoMessage() {}
   395  
   396  func (x *AssignTasksResponse) ProtoReflect() protoreflect.Message {
   397  	mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[4]
   398  	if protoimpl.UnsafeEnabled && x != nil {
   399  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   400  		if ms.LoadMessageInfo() == nil {
   401  			ms.StoreMessageInfo(mi)
   402  		}
   403  		return ms
   404  	}
   405  	return mi.MessageOf(x)
   406  }
   407  
   408  // Deprecated: Use AssignTasksResponse.ProtoReflect.Descriptor instead.
   409  func (*AssignTasksResponse) Descriptor() ([]byte, []int) {
   410  	return file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDescGZIP(), []int{4}
   411  }
   412  
   413  func (x *AssignTasksResponse) GetAssignments() []*TaskAssignment {
   414  	if x != nil {
   415  		return x.Assignments
   416  	}
   417  	return nil
   418  }
   419  
   420  type TaskAssignment struct {
   421  	state         protoimpl.MessageState
   422  	sizeCache     protoimpl.SizeCache
   423  	unknownFields protoimpl.UnknownFields
   424  
   425  	// BotID is the bot that should be assigned a task.
   426  	BotId string `protobuf:"bytes,1,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"`
   427  	// TaskID is the task that should be assigned to the bot.
   428  	TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
   429  	// SliceNumber is the slice within the task that should be assigned to the bot.
   430  	// If absent, slice 0 will be assumed.
   431  	SliceNumber int32 `protobuf:"varint,3,opt,name=slice_number,json=sliceNumber,proto3" json:"slice_number,omitempty"`
   432  }
   433  
   434  func (x *TaskAssignment) Reset() {
   435  	*x = TaskAssignment{}
   436  	if protoimpl.UnsafeEnabled {
   437  		mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[5]
   438  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   439  		ms.StoreMessageInfo(mi)
   440  	}
   441  }
   442  
   443  func (x *TaskAssignment) String() string {
   444  	return protoimpl.X.MessageStringOf(x)
   445  }
   446  
   447  func (*TaskAssignment) ProtoMessage() {}
   448  
   449  func (x *TaskAssignment) ProtoReflect() protoreflect.Message {
   450  	mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[5]
   451  	if protoimpl.UnsafeEnabled && x != nil {
   452  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   453  		if ms.LoadMessageInfo() == nil {
   454  			ms.StoreMessageInfo(mi)
   455  		}
   456  		return ms
   457  	}
   458  	return mi.MessageOf(x)
   459  }
   460  
   461  // Deprecated: Use TaskAssignment.ProtoReflect.Descriptor instead.
   462  func (*TaskAssignment) Descriptor() ([]byte, []int) {
   463  	return file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDescGZIP(), []int{5}
   464  }
   465  
   466  func (x *TaskAssignment) GetBotId() string {
   467  	if x != nil {
   468  		return x.BotId
   469  	}
   470  	return ""
   471  }
   472  
   473  func (x *TaskAssignment) GetTaskId() string {
   474  	if x != nil {
   475  		return x.TaskId
   476  	}
   477  	return ""
   478  }
   479  
   480  func (x *TaskAssignment) GetSliceNumber() int32 {
   481  	if x != nil {
   482  		return x.SliceNumber
   483  	}
   484  	return 0
   485  }
   486  
   487  type GetCancellationsRequest struct {
   488  	state         protoimpl.MessageState
   489  	sizeCache     protoimpl.SizeCache
   490  	unknownFields protoimpl.UnknownFields
   491  
   492  	// SchedulerID is the id of the scheduler that this request should be run on.
   493  	SchedulerId string `protobuf:"bytes,1,opt,name=scheduler_id,json=schedulerId,proto3" json:"scheduler_id,omitempty"`
   494  }
   495  
   496  func (x *GetCancellationsRequest) Reset() {
   497  	*x = GetCancellationsRequest{}
   498  	if protoimpl.UnsafeEnabled {
   499  		mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[6]
   500  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   501  		ms.StoreMessageInfo(mi)
   502  	}
   503  }
   504  
   505  func (x *GetCancellationsRequest) String() string {
   506  	return protoimpl.X.MessageStringOf(x)
   507  }
   508  
   509  func (*GetCancellationsRequest) ProtoMessage() {}
   510  
   511  func (x *GetCancellationsRequest) ProtoReflect() protoreflect.Message {
   512  	mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[6]
   513  	if protoimpl.UnsafeEnabled && x != nil {
   514  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   515  		if ms.LoadMessageInfo() == nil {
   516  			ms.StoreMessageInfo(mi)
   517  		}
   518  		return ms
   519  	}
   520  	return mi.MessageOf(x)
   521  }
   522  
   523  // Deprecated: Use GetCancellationsRequest.ProtoReflect.Descriptor instead.
   524  func (*GetCancellationsRequest) Descriptor() ([]byte, []int) {
   525  	return file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDescGZIP(), []int{6}
   526  }
   527  
   528  func (x *GetCancellationsRequest) GetSchedulerId() string {
   529  	if x != nil {
   530  		return x.SchedulerId
   531  	}
   532  	return ""
   533  }
   534  
   535  type GetCancellationsResponse struct {
   536  	state         protoimpl.MessageState
   537  	sizeCache     protoimpl.SizeCache
   538  	unknownFields protoimpl.UnknownFields
   539  
   540  	// Cancellations is the set of (bot, task) pairs for tasks that should be
   541  	// cancelled on bots.
   542  	Cancellations []*GetCancellationsResponse_Cancellation `protobuf:"bytes,1,rep,name=cancellations,proto3" json:"cancellations,omitempty"`
   543  }
   544  
   545  func (x *GetCancellationsResponse) Reset() {
   546  	*x = GetCancellationsResponse{}
   547  	if protoimpl.UnsafeEnabled {
   548  		mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[7]
   549  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   550  		ms.StoreMessageInfo(mi)
   551  	}
   552  }
   553  
   554  func (x *GetCancellationsResponse) String() string {
   555  	return protoimpl.X.MessageStringOf(x)
   556  }
   557  
   558  func (*GetCancellationsResponse) ProtoMessage() {}
   559  
   560  func (x *GetCancellationsResponse) ProtoReflect() protoreflect.Message {
   561  	mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[7]
   562  	if protoimpl.UnsafeEnabled && x != nil {
   563  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   564  		if ms.LoadMessageInfo() == nil {
   565  			ms.StoreMessageInfo(mi)
   566  		}
   567  		return ms
   568  	}
   569  	return mi.MessageOf(x)
   570  }
   571  
   572  // Deprecated: Use GetCancellationsResponse.ProtoReflect.Descriptor instead.
   573  func (*GetCancellationsResponse) Descriptor() ([]byte, []int) {
   574  	return file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDescGZIP(), []int{7}
   575  }
   576  
   577  func (x *GetCancellationsResponse) GetCancellations() []*GetCancellationsResponse_Cancellation {
   578  	if x != nil {
   579  		return x.Cancellations
   580  	}
   581  	return nil
   582  }
   583  
   584  type NotifyTasksItem struct {
   585  	state         protoimpl.MessageState
   586  	sizeCache     protoimpl.SizeCache
   587  	unknownFields protoimpl.UnknownFields
   588  
   589  	// Time is the time at which the given task was in the given state.
   590  	Time *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"`
   591  	// Task describes a task request and its current state.
   592  	Task *TaskSpec `protobuf:"bytes,2,opt,name=task,proto3" json:"task,omitempty"`
   593  }
   594  
   595  func (x *NotifyTasksItem) Reset() {
   596  	*x = NotifyTasksItem{}
   597  	if protoimpl.UnsafeEnabled {
   598  		mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[8]
   599  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   600  		ms.StoreMessageInfo(mi)
   601  	}
   602  }
   603  
   604  func (x *NotifyTasksItem) String() string {
   605  	return protoimpl.X.MessageStringOf(x)
   606  }
   607  
   608  func (*NotifyTasksItem) ProtoMessage() {}
   609  
   610  func (x *NotifyTasksItem) ProtoReflect() protoreflect.Message {
   611  	mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[8]
   612  	if protoimpl.UnsafeEnabled && x != nil {
   613  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   614  		if ms.LoadMessageInfo() == nil {
   615  			ms.StoreMessageInfo(mi)
   616  		}
   617  		return ms
   618  	}
   619  	return mi.MessageOf(x)
   620  }
   621  
   622  // Deprecated: Use NotifyTasksItem.ProtoReflect.Descriptor instead.
   623  func (*NotifyTasksItem) Descriptor() ([]byte, []int) {
   624  	return file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDescGZIP(), []int{8}
   625  }
   626  
   627  func (x *NotifyTasksItem) GetTime() *timestamppb.Timestamp {
   628  	if x != nil {
   629  		return x.Time
   630  	}
   631  	return nil
   632  }
   633  
   634  func (x *NotifyTasksItem) GetTask() *TaskSpec {
   635  	if x != nil {
   636  		return x.Task
   637  	}
   638  	return nil
   639  }
   640  
   641  type NotifyTasksRequest struct {
   642  	state         protoimpl.MessageState
   643  	sizeCache     protoimpl.SizeCache
   644  	unknownFields protoimpl.UnknownFields
   645  
   646  	// SchedulerID is the id of the scheduler that this request should be run on.
   647  	SchedulerId string `protobuf:"bytes,1,opt,name=scheduler_id,json=schedulerId,proto3" json:"scheduler_id,omitempty"`
   648  	// Notifications is the set of task notifications to send to the scheduler.
   649  	Notifications []*NotifyTasksItem `protobuf:"bytes,2,rep,name=notifications,proto3" json:"notifications,omitempty"`
   650  	// IsCallback specifies whether these notifications are in response to
   651  	// updates that were requested by a previous GetCallbacks call.
   652  	//
   653  	// This is for diagnostic purposes only.
   654  	IsCallback bool `protobuf:"varint,3,opt,name=is_callback,json=isCallback,proto3" json:"is_callback,omitempty"`
   655  }
   656  
   657  func (x *NotifyTasksRequest) Reset() {
   658  	*x = NotifyTasksRequest{}
   659  	if protoimpl.UnsafeEnabled {
   660  		mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[9]
   661  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   662  		ms.StoreMessageInfo(mi)
   663  	}
   664  }
   665  
   666  func (x *NotifyTasksRequest) String() string {
   667  	return protoimpl.X.MessageStringOf(x)
   668  }
   669  
   670  func (*NotifyTasksRequest) ProtoMessage() {}
   671  
   672  func (x *NotifyTasksRequest) ProtoReflect() protoreflect.Message {
   673  	mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[9]
   674  	if protoimpl.UnsafeEnabled && x != nil {
   675  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   676  		if ms.LoadMessageInfo() == nil {
   677  			ms.StoreMessageInfo(mi)
   678  		}
   679  		return ms
   680  	}
   681  	return mi.MessageOf(x)
   682  }
   683  
   684  // Deprecated: Use NotifyTasksRequest.ProtoReflect.Descriptor instead.
   685  func (*NotifyTasksRequest) Descriptor() ([]byte, []int) {
   686  	return file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDescGZIP(), []int{9}
   687  }
   688  
   689  func (x *NotifyTasksRequest) GetSchedulerId() string {
   690  	if x != nil {
   691  		return x.SchedulerId
   692  	}
   693  	return ""
   694  }
   695  
   696  func (x *NotifyTasksRequest) GetNotifications() []*NotifyTasksItem {
   697  	if x != nil {
   698  		return x.Notifications
   699  	}
   700  	return nil
   701  }
   702  
   703  func (x *NotifyTasksRequest) GetIsCallback() bool {
   704  	if x != nil {
   705  		return x.IsCallback
   706  	}
   707  	return false
   708  }
   709  
   710  type NotifyTasksResponse struct {
   711  	state         protoimpl.MessageState
   712  	sizeCache     protoimpl.SizeCache
   713  	unknownFields protoimpl.UnknownFields
   714  }
   715  
   716  func (x *NotifyTasksResponse) Reset() {
   717  	*x = NotifyTasksResponse{}
   718  	if protoimpl.UnsafeEnabled {
   719  		mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[10]
   720  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   721  		ms.StoreMessageInfo(mi)
   722  	}
   723  }
   724  
   725  func (x *NotifyTasksResponse) String() string {
   726  	return protoimpl.X.MessageStringOf(x)
   727  }
   728  
   729  func (*NotifyTasksResponse) ProtoMessage() {}
   730  
   731  func (x *NotifyTasksResponse) ProtoReflect() protoreflect.Message {
   732  	mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[10]
   733  	if protoimpl.UnsafeEnabled && x != nil {
   734  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   735  		if ms.LoadMessageInfo() == nil {
   736  			ms.StoreMessageInfo(mi)
   737  		}
   738  		return ms
   739  	}
   740  	return mi.MessageOf(x)
   741  }
   742  
   743  // Deprecated: Use NotifyTasksResponse.ProtoReflect.Descriptor instead.
   744  func (*NotifyTasksResponse) Descriptor() ([]byte, []int) {
   745  	return file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDescGZIP(), []int{10}
   746  }
   747  
   748  type GetCallbacksRequest struct {
   749  	state         protoimpl.MessageState
   750  	sizeCache     protoimpl.SizeCache
   751  	unknownFields protoimpl.UnknownFields
   752  
   753  	// SchedulerID is the id of the scheduler that this request should be run on.
   754  	SchedulerId string `protobuf:"bytes,1,opt,name=scheduler_id,json=schedulerId,proto3" json:"scheduler_id,omitempty"`
   755  }
   756  
   757  func (x *GetCallbacksRequest) Reset() {
   758  	*x = GetCallbacksRequest{}
   759  	if protoimpl.UnsafeEnabled {
   760  		mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[11]
   761  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   762  		ms.StoreMessageInfo(mi)
   763  	}
   764  }
   765  
   766  func (x *GetCallbacksRequest) String() string {
   767  	return protoimpl.X.MessageStringOf(x)
   768  }
   769  
   770  func (*GetCallbacksRequest) ProtoMessage() {}
   771  
   772  func (x *GetCallbacksRequest) ProtoReflect() protoreflect.Message {
   773  	mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[11]
   774  	if protoimpl.UnsafeEnabled && x != nil {
   775  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   776  		if ms.LoadMessageInfo() == nil {
   777  			ms.StoreMessageInfo(mi)
   778  		}
   779  		return ms
   780  	}
   781  	return mi.MessageOf(x)
   782  }
   783  
   784  // Deprecated: Use GetCallbacksRequest.ProtoReflect.Descriptor instead.
   785  func (*GetCallbacksRequest) Descriptor() ([]byte, []int) {
   786  	return file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDescGZIP(), []int{11}
   787  }
   788  
   789  func (x *GetCallbacksRequest) GetSchedulerId() string {
   790  	if x != nil {
   791  		return x.SchedulerId
   792  	}
   793  	return ""
   794  }
   795  
   796  type GetCallbacksResponse struct {
   797  	state         protoimpl.MessageState
   798  	sizeCache     protoimpl.SizeCache
   799  	unknownFields protoimpl.UnknownFields
   800  
   801  	// TaskIds is the list of tasks that the external scheduler would like
   802  	// callback notifications about.
   803  	TaskIds []string `protobuf:"bytes,1,rep,name=task_ids,json=taskIds,proto3" json:"task_ids,omitempty"`
   804  }
   805  
   806  func (x *GetCallbacksResponse) Reset() {
   807  	*x = GetCallbacksResponse{}
   808  	if protoimpl.UnsafeEnabled {
   809  		mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[12]
   810  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   811  		ms.StoreMessageInfo(mi)
   812  	}
   813  }
   814  
   815  func (x *GetCallbacksResponse) String() string {
   816  	return protoimpl.X.MessageStringOf(x)
   817  }
   818  
   819  func (*GetCallbacksResponse) ProtoMessage() {}
   820  
   821  func (x *GetCallbacksResponse) ProtoReflect() protoreflect.Message {
   822  	mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[12]
   823  	if protoimpl.UnsafeEnabled && x != nil {
   824  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   825  		if ms.LoadMessageInfo() == nil {
   826  			ms.StoreMessageInfo(mi)
   827  		}
   828  		return ms
   829  	}
   830  	return mi.MessageOf(x)
   831  }
   832  
   833  // Deprecated: Use GetCallbacksResponse.ProtoReflect.Descriptor instead.
   834  func (*GetCallbacksResponse) Descriptor() ([]byte, []int) {
   835  	return file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDescGZIP(), []int{12}
   836  }
   837  
   838  func (x *GetCallbacksResponse) GetTaskIds() []string {
   839  	if x != nil {
   840  		return x.TaskIds
   841  	}
   842  	return nil
   843  }
   844  
   845  type GetCancellationsResponse_Cancellation struct {
   846  	state         protoimpl.MessageState
   847  	sizeCache     protoimpl.SizeCache
   848  	unknownFields protoimpl.UnknownFields
   849  
   850  	// BotID is the bot that a task should be cancelled on.
   851  	BotId string `protobuf:"bytes,1,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"`
   852  	// TaskID is the task that should be cancelled on the bot.
   853  	TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
   854  	// Reason is the reason the task was cancelled.
   855  	Reason GetCancellationsResponse_Cancellation_Reason `protobuf:"varint,3,opt,name=reason,proto3,enum=swarming.v1.GetCancellationsResponse_Cancellation_Reason" json:"reason,omitempty"`
   856  	// ExtraInfo is optional, human readable extra information about why the
   857  	// task was cancelled.
   858  	ExtraInfo string `protobuf:"bytes,4,opt,name=extra_info,json=extraInfo,proto3" json:"extra_info,omitempty"`
   859  }
   860  
   861  func (x *GetCancellationsResponse_Cancellation) Reset() {
   862  	*x = GetCancellationsResponse_Cancellation{}
   863  	if protoimpl.UnsafeEnabled {
   864  		mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[13]
   865  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   866  		ms.StoreMessageInfo(mi)
   867  	}
   868  }
   869  
   870  func (x *GetCancellationsResponse_Cancellation) String() string {
   871  	return protoimpl.X.MessageStringOf(x)
   872  }
   873  
   874  func (*GetCancellationsResponse_Cancellation) ProtoMessage() {}
   875  
   876  func (x *GetCancellationsResponse_Cancellation) ProtoReflect() protoreflect.Message {
   877  	mi := &file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[13]
   878  	if protoimpl.UnsafeEnabled && x != nil {
   879  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   880  		if ms.LoadMessageInfo() == nil {
   881  			ms.StoreMessageInfo(mi)
   882  		}
   883  		return ms
   884  	}
   885  	return mi.MessageOf(x)
   886  }
   887  
   888  // Deprecated: Use GetCancellationsResponse_Cancellation.ProtoReflect.Descriptor instead.
   889  func (*GetCancellationsResponse_Cancellation) Descriptor() ([]byte, []int) {
   890  	return file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDescGZIP(), []int{7, 0}
   891  }
   892  
   893  func (x *GetCancellationsResponse_Cancellation) GetBotId() string {
   894  	if x != nil {
   895  		return x.BotId
   896  	}
   897  	return ""
   898  }
   899  
   900  func (x *GetCancellationsResponse_Cancellation) GetTaskId() string {
   901  	if x != nil {
   902  		return x.TaskId
   903  	}
   904  	return ""
   905  }
   906  
   907  func (x *GetCancellationsResponse_Cancellation) GetReason() GetCancellationsResponse_Cancellation_Reason {
   908  	if x != nil {
   909  		return x.Reason
   910  	}
   911  	return GetCancellationsResponse_Cancellation_INVALID
   912  }
   913  
   914  func (x *GetCancellationsResponse_Cancellation) GetExtraInfo() string {
   915  	if x != nil {
   916  		return x.ExtraInfo
   917  	}
   918  	return ""
   919  }
   920  
   921  var File_go_chromium_org_luci_swarming_proto_api_plugin_proto protoreflect.FileDescriptor
   922  
   923  var file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDesc = []byte{
   924  	0x0a, 0x34, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
   925  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2f,
   926  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e,
   927  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67,
   928  	0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
   929  	0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70,
   930  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75,
   931  	0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x73, 0x77, 0x61, 0x72, 0x6d,
   932  	0x69, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x77,
   933  	0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe4, 0x01, 0x0a,
   934  	0x08, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
   935  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67,
   936  	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x2e, 0x0a,
   937  	0x06, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e,
   938  	0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x69, 0x63,
   939  	0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x06, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x12, 0x2c, 0x0a,
   940  	0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73,
   941  	0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53,
   942  	0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x62,
   943  	0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6f, 0x74,
   944  	0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0d, 0x65, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x5f, 0x74,
   945  	0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   946  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
   947  	0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x65, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x54,
   948  	0x69, 0x6d, 0x65, 0x22, 0x2b, 0x0a, 0x09, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63,
   949  	0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01,
   950  	0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73,
   951  	0x22, 0x40, 0x0a, 0x07, 0x49, 0x64, 0x6c, 0x65, 0x42, 0x6f, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x62,
   952  	0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6f, 0x74,
   953  	0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73,
   954  	0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f,
   955  	0x6e, 0x73, 0x22, 0x9a, 0x01, 0x0a, 0x12, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x61, 0x73,
   956  	0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x63, 0x68,
   957  	0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
   958  	0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x31, 0x0a, 0x09,
   959  	0x69, 0x64, 0x6c, 0x65, 0x5f, 0x62, 0x6f, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
   960  	0x14, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64,
   961  	0x6c, 0x65, 0x42, 0x6f, 0x74, 0x52, 0x08, 0x69, 0x64, 0x6c, 0x65, 0x42, 0x6f, 0x74, 0x73, 0x12,
   962  	0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
   963  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
   964  	0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x22,
   965  	0x54, 0x0a, 0x13, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65,
   966  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e,
   967  	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x77,
   968  	0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x73,
   969  	0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e,
   970  	0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x63, 0x0a, 0x0e, 0x54, 0x61, 0x73, 0x6b, 0x41, 0x73, 0x73,
   971  	0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x6f, 0x74, 0x5f, 0x69,
   972  	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x17,
   973  	0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
   974  	0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x6c, 0x69, 0x63, 0x65,
   975  	0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73,
   976  	0x6c, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x3c, 0x0a, 0x17, 0x47, 0x65,
   977  	0x74, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
   978  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c,
   979  	0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x63, 0x68,
   980  	0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x22, 0xd8, 0x02, 0x0a, 0x18, 0x47, 0x65, 0x74,
   981  	0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73,
   982  	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0d, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c,
   983  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x73,
   984  	0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61,
   985  	0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
   986  	0x6e, 0x73, 0x65, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
   987  	0x52, 0x0d, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a,
   988  	0xe1, 0x01, 0x0a, 0x0c, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
   989  	0x12, 0x15, 0x0a, 0x06, 0x62, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
   990  	0x52, 0x05, 0x62, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f,
   991  	0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64,
   992  	0x12, 0x51, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e,
   993  	0x32, 0x39, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x47,
   994  	0x65, 0x74, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52,
   995  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61,
   996  	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61,
   997  	0x73, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x69, 0x6e, 0x66,
   998  	0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x74, 0x72, 0x61, 0x49, 0x6e,
   999  	0x66, 0x6f, 0x22, 0x2f, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x0b, 0x0a, 0x07,
  1000  	0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x52, 0x45,
  1001  	0x45, 0x4d, 0x50, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f,
  1002  	0x52, 0x10, 0x02, 0x22, 0x6c, 0x0a, 0x0f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x61, 0x73,
  1003  	0x6b, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01,
  1004  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  1005  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  1006  	0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x02,
  1007  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e,
  1008  	0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x74, 0x61, 0x73,
  1009  	0x6b, 0x22, 0x9c, 0x01, 0x0a, 0x12, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x61, 0x73, 0x6b,
  1010  	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x63, 0x68, 0x65,
  1011  	0x64, 0x75, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
  1012  	0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0d, 0x6e,
  1013  	0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03,
  1014  	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
  1015  	0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x49, 0x74, 0x65, 0x6d,
  1016  	0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12,
  1017  	0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x63, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x18, 0x03,
  1018  	0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b,
  1019  	0x22, 0x15, 0x0a, 0x13, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52,
  1020  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x61,
  1021  	0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21,
  1022  	0x0a, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01,
  1023  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x49,
  1024  	0x64, 0x22, 0x31, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b,
  1025  	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x73,
  1026  	0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x74, 0x61, 0x73,
  1027  	0x6b, 0x49, 0x64, 0x73, 0x32, 0xed, 0x02, 0x0a, 0x11, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61,
  1028  	0x6c, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x0b, 0x41, 0x73,
  1029  	0x73, 0x69, 0x67, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1f, 0x2e, 0x73, 0x77, 0x61, 0x72,
  1030  	0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x61,
  1031  	0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x73, 0x77, 0x61,
  1032  	0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x54,
  1033  	0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x10,
  1034  	0x47, 0x65, 0x74, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
  1035  	0x12, 0x24, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x47,
  1036  	0x65, 0x74, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52,
  1037  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e,
  1038  	0x67, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x61,
  1039  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a,
  1040  	0x0b, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1f, 0x2e, 0x73,
  1041  	0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66,
  1042  	0x79, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e,
  1043  	0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69,
  1044  	0x66, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
  1045  	0x53, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x12,
  1046  	0x20, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65,
  1047  	0x74, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  1048  	0x74, 0x1a, 0x21, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e,
  1049  	0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x6c, 0x62, 0x61, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70,
  1050  	0x6f, 0x6e, 0x73, 0x65, 0x42, 0x2f, 0x5a, 0x2d, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d,
  1051  	0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x73, 0x77, 0x61,
  1052  	0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x3b,
  1053  	0x61, 0x70, 0x69, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1054  }
  1055  
  1056  var (
  1057  	file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDescOnce sync.Once
  1058  	file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDescData = file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDesc
  1059  )
  1060  
  1061  func file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDescGZIP() []byte {
  1062  	file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDescOnce.Do(func() {
  1063  		file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDescData)
  1064  	})
  1065  	return file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDescData
  1066  }
  1067  
  1068  var file_go_chromium_org_luci_swarming_proto_api_plugin_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
  1069  var file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes = make([]protoimpl.MessageInfo, 14)
  1070  var file_go_chromium_org_luci_swarming_proto_api_plugin_proto_goTypes = []interface{}{
  1071  	(GetCancellationsResponse_Cancellation_Reason)(0), // 0: swarming.v1.GetCancellationsResponse.Cancellation.Reason
  1072  	(*TaskSpec)(nil),                              // 1: swarming.v1.TaskSpec
  1073  	(*SliceSpec)(nil),                             // 2: swarming.v1.SliceSpec
  1074  	(*IdleBot)(nil),                               // 3: swarming.v1.IdleBot
  1075  	(*AssignTasksRequest)(nil),                    // 4: swarming.v1.AssignTasksRequest
  1076  	(*AssignTasksResponse)(nil),                   // 5: swarming.v1.AssignTasksResponse
  1077  	(*TaskAssignment)(nil),                        // 6: swarming.v1.TaskAssignment
  1078  	(*GetCancellationsRequest)(nil),               // 7: swarming.v1.GetCancellationsRequest
  1079  	(*GetCancellationsResponse)(nil),              // 8: swarming.v1.GetCancellationsResponse
  1080  	(*NotifyTasksItem)(nil),                       // 9: swarming.v1.NotifyTasksItem
  1081  	(*NotifyTasksRequest)(nil),                    // 10: swarming.v1.NotifyTasksRequest
  1082  	(*NotifyTasksResponse)(nil),                   // 11: swarming.v1.NotifyTasksResponse
  1083  	(*GetCallbacksRequest)(nil),                   // 12: swarming.v1.GetCallbacksRequest
  1084  	(*GetCallbacksResponse)(nil),                  // 13: swarming.v1.GetCallbacksResponse
  1085  	(*GetCancellationsResponse_Cancellation)(nil), // 14: swarming.v1.GetCancellationsResponse.Cancellation
  1086  	(TaskState)(0),                                // 15: swarming.v1.TaskState
  1087  	(*timestamppb.Timestamp)(nil),                 // 16: google.protobuf.Timestamp
  1088  }
  1089  var file_go_chromium_org_luci_swarming_proto_api_plugin_proto_depIdxs = []int32{
  1090  	2,  // 0: swarming.v1.TaskSpec.slices:type_name -> swarming.v1.SliceSpec
  1091  	15, // 1: swarming.v1.TaskSpec.state:type_name -> swarming.v1.TaskState
  1092  	16, // 2: swarming.v1.TaskSpec.enqueued_time:type_name -> google.protobuf.Timestamp
  1093  	3,  // 3: swarming.v1.AssignTasksRequest.idle_bots:type_name -> swarming.v1.IdleBot
  1094  	16, // 4: swarming.v1.AssignTasksRequest.time:type_name -> google.protobuf.Timestamp
  1095  	6,  // 5: swarming.v1.AssignTasksResponse.assignments:type_name -> swarming.v1.TaskAssignment
  1096  	14, // 6: swarming.v1.GetCancellationsResponse.cancellations:type_name -> swarming.v1.GetCancellationsResponse.Cancellation
  1097  	16, // 7: swarming.v1.NotifyTasksItem.time:type_name -> google.protobuf.Timestamp
  1098  	1,  // 8: swarming.v1.NotifyTasksItem.task:type_name -> swarming.v1.TaskSpec
  1099  	9,  // 9: swarming.v1.NotifyTasksRequest.notifications:type_name -> swarming.v1.NotifyTasksItem
  1100  	0,  // 10: swarming.v1.GetCancellationsResponse.Cancellation.reason:type_name -> swarming.v1.GetCancellationsResponse.Cancellation.Reason
  1101  	4,  // 11: swarming.v1.ExternalScheduler.AssignTasks:input_type -> swarming.v1.AssignTasksRequest
  1102  	7,  // 12: swarming.v1.ExternalScheduler.GetCancellations:input_type -> swarming.v1.GetCancellationsRequest
  1103  	10, // 13: swarming.v1.ExternalScheduler.NotifyTasks:input_type -> swarming.v1.NotifyTasksRequest
  1104  	12, // 14: swarming.v1.ExternalScheduler.GetCallbacks:input_type -> swarming.v1.GetCallbacksRequest
  1105  	5,  // 15: swarming.v1.ExternalScheduler.AssignTasks:output_type -> swarming.v1.AssignTasksResponse
  1106  	8,  // 16: swarming.v1.ExternalScheduler.GetCancellations:output_type -> swarming.v1.GetCancellationsResponse
  1107  	11, // 17: swarming.v1.ExternalScheduler.NotifyTasks:output_type -> swarming.v1.NotifyTasksResponse
  1108  	13, // 18: swarming.v1.ExternalScheduler.GetCallbacks:output_type -> swarming.v1.GetCallbacksResponse
  1109  	15, // [15:19] is the sub-list for method output_type
  1110  	11, // [11:15] is the sub-list for method input_type
  1111  	11, // [11:11] is the sub-list for extension type_name
  1112  	11, // [11:11] is the sub-list for extension extendee
  1113  	0,  // [0:11] is the sub-list for field type_name
  1114  }
  1115  
  1116  func init() { file_go_chromium_org_luci_swarming_proto_api_plugin_proto_init() }
  1117  func file_go_chromium_org_luci_swarming_proto_api_plugin_proto_init() {
  1118  	if File_go_chromium_org_luci_swarming_proto_api_plugin_proto != nil {
  1119  		return
  1120  	}
  1121  	file_go_chromium_org_luci_swarming_proto_api_swarming_proto_init()
  1122  	if !protoimpl.UnsafeEnabled {
  1123  		file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1124  			switch v := v.(*TaskSpec); i {
  1125  			case 0:
  1126  				return &v.state
  1127  			case 1:
  1128  				return &v.sizeCache
  1129  			case 2:
  1130  				return &v.unknownFields
  1131  			default:
  1132  				return nil
  1133  			}
  1134  		}
  1135  		file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1136  			switch v := v.(*SliceSpec); i {
  1137  			case 0:
  1138  				return &v.state
  1139  			case 1:
  1140  				return &v.sizeCache
  1141  			case 2:
  1142  				return &v.unknownFields
  1143  			default:
  1144  				return nil
  1145  			}
  1146  		}
  1147  		file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1148  			switch v := v.(*IdleBot); i {
  1149  			case 0:
  1150  				return &v.state
  1151  			case 1:
  1152  				return &v.sizeCache
  1153  			case 2:
  1154  				return &v.unknownFields
  1155  			default:
  1156  				return nil
  1157  			}
  1158  		}
  1159  		file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1160  			switch v := v.(*AssignTasksRequest); i {
  1161  			case 0:
  1162  				return &v.state
  1163  			case 1:
  1164  				return &v.sizeCache
  1165  			case 2:
  1166  				return &v.unknownFields
  1167  			default:
  1168  				return nil
  1169  			}
  1170  		}
  1171  		file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1172  			switch v := v.(*AssignTasksResponse); i {
  1173  			case 0:
  1174  				return &v.state
  1175  			case 1:
  1176  				return &v.sizeCache
  1177  			case 2:
  1178  				return &v.unknownFields
  1179  			default:
  1180  				return nil
  1181  			}
  1182  		}
  1183  		file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1184  			switch v := v.(*TaskAssignment); i {
  1185  			case 0:
  1186  				return &v.state
  1187  			case 1:
  1188  				return &v.sizeCache
  1189  			case 2:
  1190  				return &v.unknownFields
  1191  			default:
  1192  				return nil
  1193  			}
  1194  		}
  1195  		file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1196  			switch v := v.(*GetCancellationsRequest); i {
  1197  			case 0:
  1198  				return &v.state
  1199  			case 1:
  1200  				return &v.sizeCache
  1201  			case 2:
  1202  				return &v.unknownFields
  1203  			default:
  1204  				return nil
  1205  			}
  1206  		}
  1207  		file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1208  			switch v := v.(*GetCancellationsResponse); i {
  1209  			case 0:
  1210  				return &v.state
  1211  			case 1:
  1212  				return &v.sizeCache
  1213  			case 2:
  1214  				return &v.unknownFields
  1215  			default:
  1216  				return nil
  1217  			}
  1218  		}
  1219  		file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1220  			switch v := v.(*NotifyTasksItem); i {
  1221  			case 0:
  1222  				return &v.state
  1223  			case 1:
  1224  				return &v.sizeCache
  1225  			case 2:
  1226  				return &v.unknownFields
  1227  			default:
  1228  				return nil
  1229  			}
  1230  		}
  1231  		file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  1232  			switch v := v.(*NotifyTasksRequest); i {
  1233  			case 0:
  1234  				return &v.state
  1235  			case 1:
  1236  				return &v.sizeCache
  1237  			case 2:
  1238  				return &v.unknownFields
  1239  			default:
  1240  				return nil
  1241  			}
  1242  		}
  1243  		file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  1244  			switch v := v.(*NotifyTasksResponse); i {
  1245  			case 0:
  1246  				return &v.state
  1247  			case 1:
  1248  				return &v.sizeCache
  1249  			case 2:
  1250  				return &v.unknownFields
  1251  			default:
  1252  				return nil
  1253  			}
  1254  		}
  1255  		file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  1256  			switch v := v.(*GetCallbacksRequest); i {
  1257  			case 0:
  1258  				return &v.state
  1259  			case 1:
  1260  				return &v.sizeCache
  1261  			case 2:
  1262  				return &v.unknownFields
  1263  			default:
  1264  				return nil
  1265  			}
  1266  		}
  1267  		file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  1268  			switch v := v.(*GetCallbacksResponse); i {
  1269  			case 0:
  1270  				return &v.state
  1271  			case 1:
  1272  				return &v.sizeCache
  1273  			case 2:
  1274  				return &v.unknownFields
  1275  			default:
  1276  				return nil
  1277  			}
  1278  		}
  1279  		file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  1280  			switch v := v.(*GetCancellationsResponse_Cancellation); i {
  1281  			case 0:
  1282  				return &v.state
  1283  			case 1:
  1284  				return &v.sizeCache
  1285  			case 2:
  1286  				return &v.unknownFields
  1287  			default:
  1288  				return nil
  1289  			}
  1290  		}
  1291  	}
  1292  	type x struct{}
  1293  	out := protoimpl.TypeBuilder{
  1294  		File: protoimpl.DescBuilder{
  1295  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1296  			RawDescriptor: file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDesc,
  1297  			NumEnums:      1,
  1298  			NumMessages:   14,
  1299  			NumExtensions: 0,
  1300  			NumServices:   1,
  1301  		},
  1302  		GoTypes:           file_go_chromium_org_luci_swarming_proto_api_plugin_proto_goTypes,
  1303  		DependencyIndexes: file_go_chromium_org_luci_swarming_proto_api_plugin_proto_depIdxs,
  1304  		EnumInfos:         file_go_chromium_org_luci_swarming_proto_api_plugin_proto_enumTypes,
  1305  		MessageInfos:      file_go_chromium_org_luci_swarming_proto_api_plugin_proto_msgTypes,
  1306  	}.Build()
  1307  	File_go_chromium_org_luci_swarming_proto_api_plugin_proto = out.File
  1308  	file_go_chromium_org_luci_swarming_proto_api_plugin_proto_rawDesc = nil
  1309  	file_go_chromium_org_luci_swarming_proto_api_plugin_proto_goTypes = nil
  1310  	file_go_chromium_org_luci_swarming_proto_api_plugin_proto_depIdxs = nil
  1311  }
  1312  
  1313  // Reference imports to suppress errors if they are not otherwise used.
  1314  var _ context.Context
  1315  var _ grpc.ClientConnInterface
  1316  
  1317  // This is a compile-time assertion to ensure that this generated file
  1318  // is compatible with the grpc package it is being compiled against.
  1319  const _ = grpc.SupportPackageIsVersion6
  1320  
  1321  // ExternalSchedulerClient is the client API for ExternalScheduler service.
  1322  //
  1323  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  1324  type ExternalSchedulerClient interface {
  1325  	// AssignTasks determines which tasks should be run on which of the supplied
  1326  	// idle bots.
  1327  	AssignTasks(ctx context.Context, in *AssignTasksRequest, opts ...grpc.CallOption) (*AssignTasksResponse, error)
  1328  	// GetCancellations determines which tasks should be cancelled on which bots.
  1329  	GetCancellations(ctx context.Context, in *GetCancellationsRequest, opts ...grpc.CallOption) (*GetCancellationsResponse, error)
  1330  	// NotifyTasks informs the scheduler about the state of tasks (either new
  1331  	// tasks, or states of existing tasks).
  1332  	NotifyTasks(ctx context.Context, in *NotifyTasksRequest, opts ...grpc.CallOption) (*NotifyTasksResponse, error)
  1333  	// GetCallbacks asks the scheduler for a set of request ids that the
  1334  	// external scheduler wants to receive callback NotifyTasks calls about.
  1335  	GetCallbacks(ctx context.Context, in *GetCallbacksRequest, opts ...grpc.CallOption) (*GetCallbacksResponse, error)
  1336  }
  1337  type externalSchedulerPRPCClient struct {
  1338  	client *prpc.Client
  1339  }
  1340  
  1341  func NewExternalSchedulerPRPCClient(client *prpc.Client) ExternalSchedulerClient {
  1342  	return &externalSchedulerPRPCClient{client}
  1343  }
  1344  
  1345  func (c *externalSchedulerPRPCClient) AssignTasks(ctx context.Context, in *AssignTasksRequest, opts ...grpc.CallOption) (*AssignTasksResponse, error) {
  1346  	out := new(AssignTasksResponse)
  1347  	err := c.client.Call(ctx, "swarming.v1.ExternalScheduler", "AssignTasks", in, out, opts...)
  1348  	if err != nil {
  1349  		return nil, err
  1350  	}
  1351  	return out, nil
  1352  }
  1353  
  1354  func (c *externalSchedulerPRPCClient) GetCancellations(ctx context.Context, in *GetCancellationsRequest, opts ...grpc.CallOption) (*GetCancellationsResponse, error) {
  1355  	out := new(GetCancellationsResponse)
  1356  	err := c.client.Call(ctx, "swarming.v1.ExternalScheduler", "GetCancellations", in, out, opts...)
  1357  	if err != nil {
  1358  		return nil, err
  1359  	}
  1360  	return out, nil
  1361  }
  1362  
  1363  func (c *externalSchedulerPRPCClient) NotifyTasks(ctx context.Context, in *NotifyTasksRequest, opts ...grpc.CallOption) (*NotifyTasksResponse, error) {
  1364  	out := new(NotifyTasksResponse)
  1365  	err := c.client.Call(ctx, "swarming.v1.ExternalScheduler", "NotifyTasks", in, out, opts...)
  1366  	if err != nil {
  1367  		return nil, err
  1368  	}
  1369  	return out, nil
  1370  }
  1371  
  1372  func (c *externalSchedulerPRPCClient) GetCallbacks(ctx context.Context, in *GetCallbacksRequest, opts ...grpc.CallOption) (*GetCallbacksResponse, error) {
  1373  	out := new(GetCallbacksResponse)
  1374  	err := c.client.Call(ctx, "swarming.v1.ExternalScheduler", "GetCallbacks", in, out, opts...)
  1375  	if err != nil {
  1376  		return nil, err
  1377  	}
  1378  	return out, nil
  1379  }
  1380  
  1381  type externalSchedulerClient struct {
  1382  	cc grpc.ClientConnInterface
  1383  }
  1384  
  1385  func NewExternalSchedulerClient(cc grpc.ClientConnInterface) ExternalSchedulerClient {
  1386  	return &externalSchedulerClient{cc}
  1387  }
  1388  
  1389  func (c *externalSchedulerClient) AssignTasks(ctx context.Context, in *AssignTasksRequest, opts ...grpc.CallOption) (*AssignTasksResponse, error) {
  1390  	out := new(AssignTasksResponse)
  1391  	err := c.cc.Invoke(ctx, "/swarming.v1.ExternalScheduler/AssignTasks", in, out, opts...)
  1392  	if err != nil {
  1393  		return nil, err
  1394  	}
  1395  	return out, nil
  1396  }
  1397  
  1398  func (c *externalSchedulerClient) GetCancellations(ctx context.Context, in *GetCancellationsRequest, opts ...grpc.CallOption) (*GetCancellationsResponse, error) {
  1399  	out := new(GetCancellationsResponse)
  1400  	err := c.cc.Invoke(ctx, "/swarming.v1.ExternalScheduler/GetCancellations", in, out, opts...)
  1401  	if err != nil {
  1402  		return nil, err
  1403  	}
  1404  	return out, nil
  1405  }
  1406  
  1407  func (c *externalSchedulerClient) NotifyTasks(ctx context.Context, in *NotifyTasksRequest, opts ...grpc.CallOption) (*NotifyTasksResponse, error) {
  1408  	out := new(NotifyTasksResponse)
  1409  	err := c.cc.Invoke(ctx, "/swarming.v1.ExternalScheduler/NotifyTasks", in, out, opts...)
  1410  	if err != nil {
  1411  		return nil, err
  1412  	}
  1413  	return out, nil
  1414  }
  1415  
  1416  func (c *externalSchedulerClient) GetCallbacks(ctx context.Context, in *GetCallbacksRequest, opts ...grpc.CallOption) (*GetCallbacksResponse, error) {
  1417  	out := new(GetCallbacksResponse)
  1418  	err := c.cc.Invoke(ctx, "/swarming.v1.ExternalScheduler/GetCallbacks", in, out, opts...)
  1419  	if err != nil {
  1420  		return nil, err
  1421  	}
  1422  	return out, nil
  1423  }
  1424  
  1425  // ExternalSchedulerServer is the server API for ExternalScheduler service.
  1426  type ExternalSchedulerServer interface {
  1427  	// AssignTasks determines which tasks should be run on which of the supplied
  1428  	// idle bots.
  1429  	AssignTasks(context.Context, *AssignTasksRequest) (*AssignTasksResponse, error)
  1430  	// GetCancellations determines which tasks should be cancelled on which bots.
  1431  	GetCancellations(context.Context, *GetCancellationsRequest) (*GetCancellationsResponse, error)
  1432  	// NotifyTasks informs the scheduler about the state of tasks (either new
  1433  	// tasks, or states of existing tasks).
  1434  	NotifyTasks(context.Context, *NotifyTasksRequest) (*NotifyTasksResponse, error)
  1435  	// GetCallbacks asks the scheduler for a set of request ids that the
  1436  	// external scheduler wants to receive callback NotifyTasks calls about.
  1437  	GetCallbacks(context.Context, *GetCallbacksRequest) (*GetCallbacksResponse, error)
  1438  }
  1439  
  1440  // UnimplementedExternalSchedulerServer can be embedded to have forward compatible implementations.
  1441  type UnimplementedExternalSchedulerServer struct {
  1442  }
  1443  
  1444  func (*UnimplementedExternalSchedulerServer) AssignTasks(context.Context, *AssignTasksRequest) (*AssignTasksResponse, error) {
  1445  	return nil, status.Errorf(codes.Unimplemented, "method AssignTasks not implemented")
  1446  }
  1447  func (*UnimplementedExternalSchedulerServer) GetCancellations(context.Context, *GetCancellationsRequest) (*GetCancellationsResponse, error) {
  1448  	return nil, status.Errorf(codes.Unimplemented, "method GetCancellations not implemented")
  1449  }
  1450  func (*UnimplementedExternalSchedulerServer) NotifyTasks(context.Context, *NotifyTasksRequest) (*NotifyTasksResponse, error) {
  1451  	return nil, status.Errorf(codes.Unimplemented, "method NotifyTasks not implemented")
  1452  }
  1453  func (*UnimplementedExternalSchedulerServer) GetCallbacks(context.Context, *GetCallbacksRequest) (*GetCallbacksResponse, error) {
  1454  	return nil, status.Errorf(codes.Unimplemented, "method GetCallbacks not implemented")
  1455  }
  1456  
  1457  func RegisterExternalSchedulerServer(s prpc.Registrar, srv ExternalSchedulerServer) {
  1458  	s.RegisterService(&_ExternalScheduler_serviceDesc, srv)
  1459  }
  1460  
  1461  func _ExternalScheduler_AssignTasks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1462  	in := new(AssignTasksRequest)
  1463  	if err := dec(in); err != nil {
  1464  		return nil, err
  1465  	}
  1466  	if interceptor == nil {
  1467  		return srv.(ExternalSchedulerServer).AssignTasks(ctx, in)
  1468  	}
  1469  	info := &grpc.UnaryServerInfo{
  1470  		Server:     srv,
  1471  		FullMethod: "/swarming.v1.ExternalScheduler/AssignTasks",
  1472  	}
  1473  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1474  		return srv.(ExternalSchedulerServer).AssignTasks(ctx, req.(*AssignTasksRequest))
  1475  	}
  1476  	return interceptor(ctx, in, info, handler)
  1477  }
  1478  
  1479  func _ExternalScheduler_GetCancellations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1480  	in := new(GetCancellationsRequest)
  1481  	if err := dec(in); err != nil {
  1482  		return nil, err
  1483  	}
  1484  	if interceptor == nil {
  1485  		return srv.(ExternalSchedulerServer).GetCancellations(ctx, in)
  1486  	}
  1487  	info := &grpc.UnaryServerInfo{
  1488  		Server:     srv,
  1489  		FullMethod: "/swarming.v1.ExternalScheduler/GetCancellations",
  1490  	}
  1491  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1492  		return srv.(ExternalSchedulerServer).GetCancellations(ctx, req.(*GetCancellationsRequest))
  1493  	}
  1494  	return interceptor(ctx, in, info, handler)
  1495  }
  1496  
  1497  func _ExternalScheduler_NotifyTasks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1498  	in := new(NotifyTasksRequest)
  1499  	if err := dec(in); err != nil {
  1500  		return nil, err
  1501  	}
  1502  	if interceptor == nil {
  1503  		return srv.(ExternalSchedulerServer).NotifyTasks(ctx, in)
  1504  	}
  1505  	info := &grpc.UnaryServerInfo{
  1506  		Server:     srv,
  1507  		FullMethod: "/swarming.v1.ExternalScheduler/NotifyTasks",
  1508  	}
  1509  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1510  		return srv.(ExternalSchedulerServer).NotifyTasks(ctx, req.(*NotifyTasksRequest))
  1511  	}
  1512  	return interceptor(ctx, in, info, handler)
  1513  }
  1514  
  1515  func _ExternalScheduler_GetCallbacks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1516  	in := new(GetCallbacksRequest)
  1517  	if err := dec(in); err != nil {
  1518  		return nil, err
  1519  	}
  1520  	if interceptor == nil {
  1521  		return srv.(ExternalSchedulerServer).GetCallbacks(ctx, in)
  1522  	}
  1523  	info := &grpc.UnaryServerInfo{
  1524  		Server:     srv,
  1525  		FullMethod: "/swarming.v1.ExternalScheduler/GetCallbacks",
  1526  	}
  1527  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1528  		return srv.(ExternalSchedulerServer).GetCallbacks(ctx, req.(*GetCallbacksRequest))
  1529  	}
  1530  	return interceptor(ctx, in, info, handler)
  1531  }
  1532  
  1533  var _ExternalScheduler_serviceDesc = grpc.ServiceDesc{
  1534  	ServiceName: "swarming.v1.ExternalScheduler",
  1535  	HandlerType: (*ExternalSchedulerServer)(nil),
  1536  	Methods: []grpc.MethodDesc{
  1537  		{
  1538  			MethodName: "AssignTasks",
  1539  			Handler:    _ExternalScheduler_AssignTasks_Handler,
  1540  		},
  1541  		{
  1542  			MethodName: "GetCancellations",
  1543  			Handler:    _ExternalScheduler_GetCancellations_Handler,
  1544  		},
  1545  		{
  1546  			MethodName: "NotifyTasks",
  1547  			Handler:    _ExternalScheduler_NotifyTasks_Handler,
  1548  		},
  1549  		{
  1550  			MethodName: "GetCallbacks",
  1551  			Handler:    _ExternalScheduler_GetCallbacks_Handler,
  1552  		},
  1553  	},
  1554  	Streams:  []grpc.StreamDesc{},
  1555  	Metadata: "go.chromium.org/luci/swarming/proto/api/plugin.proto",
  1556  }