| // Code generated by protoc-gen-go. DO NOT EDIT. |
| // versions: |
| // protoc-gen-go v1.32.0 |
| // protoc v3.21.12 |
| // source: rpc.proto |
| |
| package rpc |
| |
| import ( |
| reflect "reflect" |
| sync "sync" |
| |
| protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
| protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
| timestamppb "google.golang.org/protobuf/types/known/timestamppb" |
| ) |
| |
| const ( |
| // Verify that this generated code is sufficiently up-to-date. |
| _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) |
| // Verify that runtime/protoimpl is sufficiently up-to-date. |
| _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) |
| ) |
| |
| // TaskStatus indicates the status of a given task. Must be kept in sync with |
| // types.TaskStatus. |
| type TaskStatus int32 |
| |
| const ( |
| // TASK_STATUS_PENDING indicates the task has not started. It is the empty |
| // string so that it is the zero value of TaskStatus. |
| TaskStatus_TASK_STATUS_PENDING TaskStatus = 0 |
| // TASK_STATUS_RUNNING indicates the task is in progress. |
| TaskStatus_TASK_STATUS_RUNNING TaskStatus = 1 |
| // TASK_STATUS_SUCCESS indicates the task completed successfully. |
| TaskStatus_TASK_STATUS_SUCCESS TaskStatus = 2 |
| // TASK_STATUS_FAILURE indicates the task completed with failures. |
| TaskStatus_TASK_STATUS_FAILURE TaskStatus = 3 |
| // TASK_STATUS_MISHAP indicates the task exited early with an error, died |
| // while in progress, was manually canceled, expired while waiting on the |
| // queue, or timed out before completing. |
| TaskStatus_TASK_STATUS_MISHAP TaskStatus = 4 |
| ) |
| |
| // Enum value maps for TaskStatus. |
| var ( |
| TaskStatus_name = map[int32]string{ |
| 0: "TASK_STATUS_PENDING", |
| 1: "TASK_STATUS_RUNNING", |
| 2: "TASK_STATUS_SUCCESS", |
| 3: "TASK_STATUS_FAILURE", |
| 4: "TASK_STATUS_MISHAP", |
| } |
| TaskStatus_value = map[string]int32{ |
| "TASK_STATUS_PENDING": 0, |
| "TASK_STATUS_RUNNING": 1, |
| "TASK_STATUS_SUCCESS": 2, |
| "TASK_STATUS_FAILURE": 3, |
| "TASK_STATUS_MISHAP": 4, |
| } |
| ) |
| |
| func (x TaskStatus) Enum() *TaskStatus { |
| p := new(TaskStatus) |
| *p = x |
| return p |
| } |
| |
| func (x TaskStatus) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (TaskStatus) Descriptor() protoreflect.EnumDescriptor { |
| return file_rpc_proto_enumTypes[0].Descriptor() |
| } |
| |
| func (TaskStatus) Type() protoreflect.EnumType { |
| return &file_rpc_proto_enumTypes[0] |
| } |
| |
| func (x TaskStatus) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use TaskStatus.Descriptor instead. |
| func (TaskStatus) EnumDescriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{0} |
| } |
| |
| type JobStatus int32 |
| |
| const ( |
| JobStatus_JOB_STATUS_IN_PROGRESS JobStatus = 0 |
| JobStatus_JOB_STATUS_SUCCESS JobStatus = 1 |
| JobStatus_JOB_STATUS_FAILURE JobStatus = 2 |
| JobStatus_JOB_STATUS_MISHAP JobStatus = 3 |
| JobStatus_JOB_STATUS_CANCELED JobStatus = 4 |
| JobStatus_JOB_STATUS_REQUESTED JobStatus = 5 |
| ) |
| |
| // Enum value maps for JobStatus. |
| var ( |
| JobStatus_name = map[int32]string{ |
| 0: "JOB_STATUS_IN_PROGRESS", |
| 1: "JOB_STATUS_SUCCESS", |
| 2: "JOB_STATUS_FAILURE", |
| 3: "JOB_STATUS_MISHAP", |
| 4: "JOB_STATUS_CANCELED", |
| 5: "JOB_STATUS_REQUESTED", |
| } |
| JobStatus_value = map[string]int32{ |
| "JOB_STATUS_IN_PROGRESS": 0, |
| "JOB_STATUS_SUCCESS": 1, |
| "JOB_STATUS_FAILURE": 2, |
| "JOB_STATUS_MISHAP": 3, |
| "JOB_STATUS_CANCELED": 4, |
| "JOB_STATUS_REQUESTED": 5, |
| } |
| ) |
| |
| func (x JobStatus) Enum() *JobStatus { |
| p := new(JobStatus) |
| *p = x |
| return p |
| } |
| |
| func (x JobStatus) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (JobStatus) Descriptor() protoreflect.EnumDescriptor { |
| return file_rpc_proto_enumTypes[1].Descriptor() |
| } |
| |
| func (JobStatus) Type() protoreflect.EnumType { |
| return &file_rpc_proto_enumTypes[1] |
| } |
| |
| func (x JobStatus) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use JobStatus.Descriptor instead. |
| func (JobStatus) EnumDescriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{1} |
| } |
| |
| // TriggerJob represents a single job to trigger. |
| type TriggerJob struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // job_name is the name of the job to trigger. |
| JobName string `protobuf:"bytes,1,opt,name=job_name,json=jobName,proto3" json:"job_name,omitempty"` |
| // commit_hash is the hash of the commit at which the job should run. |
| CommitHash string `protobuf:"bytes,2,opt,name=commit_hash,json=commitHash,proto3" json:"commit_hash,omitempty"` |
| } |
| |
| func (x *TriggerJob) Reset() { |
| *x = TriggerJob{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[0] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TriggerJob) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TriggerJob) ProtoMessage() {} |
| |
| func (x *TriggerJob) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[0] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use TriggerJob.ProtoReflect.Descriptor instead. |
| func (*TriggerJob) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{0} |
| } |
| |
| func (x *TriggerJob) GetJobName() string { |
| if x != nil { |
| return x.JobName |
| } |
| return "" |
| } |
| |
| func (x *TriggerJob) GetCommitHash() string { |
| if x != nil { |
| return x.CommitHash |
| } |
| return "" |
| } |
| |
| // TriggerJobsRequest is a request to TriggerJobs. |
| type TriggerJobsRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // jobs specifies which jobs to trigger. |
| Jobs []*TriggerJob `protobuf:"bytes,1,rep,name=jobs,proto3" json:"jobs,omitempty"` |
| } |
| |
| func (x *TriggerJobsRequest) Reset() { |
| *x = TriggerJobsRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[1] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TriggerJobsRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TriggerJobsRequest) ProtoMessage() {} |
| |
| func (x *TriggerJobsRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[1] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use TriggerJobsRequest.ProtoReflect.Descriptor instead. |
| func (*TriggerJobsRequest) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{1} |
| } |
| |
| func (x *TriggerJobsRequest) GetJobs() []*TriggerJob { |
| if x != nil { |
| return x.Jobs |
| } |
| return nil |
| } |
| |
| // TriggerJobsResponse is a response returned by TriggerJobs. |
| type TriggerJobsResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // job_ids are the IDs of the jobs which were triggered, in the same order |
| // as they were requested. |
| JobIds []string `protobuf:"bytes,1,rep,name=job_ids,json=jobIds,proto3" json:"job_ids,omitempty"` |
| } |
| |
| func (x *TriggerJobsResponse) Reset() { |
| *x = TriggerJobsResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[2] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TriggerJobsResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TriggerJobsResponse) ProtoMessage() {} |
| |
| func (x *TriggerJobsResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[2] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use TriggerJobsResponse.ProtoReflect.Descriptor instead. |
| func (*TriggerJobsResponse) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{2} |
| } |
| |
| func (x *TriggerJobsResponse) GetJobIds() []string { |
| if x != nil { |
| return x.JobIds |
| } |
| return nil |
| } |
| |
| // GetJobRequest is a request to GetJob. |
| type GetJobRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // ID of the job to retrieve. |
| Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` |
| } |
| |
| func (x *GetJobRequest) Reset() { |
| *x = GetJobRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[3] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *GetJobRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*GetJobRequest) ProtoMessage() {} |
| |
| func (x *GetJobRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[3] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use GetJobRequest.ProtoReflect.Descriptor instead. |
| func (*GetJobRequest) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{3} |
| } |
| |
| func (x *GetJobRequest) GetId() string { |
| if x != nil { |
| return x.Id |
| } |
| return "" |
| } |
| |
| // GetJobResponse is a response returned from GetJob. |
| type GetJobResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // job contains the core information about the job. |
| Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` |
| } |
| |
| func (x *GetJobResponse) Reset() { |
| *x = GetJobResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[4] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *GetJobResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*GetJobResponse) ProtoMessage() {} |
| |
| func (x *GetJobResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[4] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use GetJobResponse.ProtoReflect.Descriptor instead. |
| func (*GetJobResponse) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{4} |
| } |
| |
| func (x *GetJobResponse) GetJob() *Job { |
| if x != nil { |
| return x.Job |
| } |
| return nil |
| } |
| |
| // CancelJobRequest is a request to CancelJob. |
| type CancelJobRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // ID of the job to cancel. |
| Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` |
| } |
| |
| func (x *CancelJobRequest) Reset() { |
| *x = CancelJobRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[5] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CancelJobRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CancelJobRequest) ProtoMessage() {} |
| |
| func (x *CancelJobRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[5] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use CancelJobRequest.ProtoReflect.Descriptor instead. |
| func (*CancelJobRequest) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{5} |
| } |
| |
| func (x *CancelJobRequest) GetId() string { |
| if x != nil { |
| return x.Id |
| } |
| return "" |
| } |
| |
| // CancelJobResponse is a response returned by CancelJob. |
| type CancelJobResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // job is the updated job after cancellation. |
| Job *Job `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"` |
| } |
| |
| func (x *CancelJobResponse) Reset() { |
| *x = CancelJobResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[6] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CancelJobResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CancelJobResponse) ProtoMessage() {} |
| |
| func (x *CancelJobResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[6] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use CancelJobResponse.ProtoReflect.Descriptor instead. |
| func (*CancelJobResponse) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{6} |
| } |
| |
| func (x *CancelJobResponse) GetJob() *Job { |
| if x != nil { |
| return x.Job |
| } |
| return nil |
| } |
| |
| // SearchJobsRequest is a request to SearchJobs. |
| type SearchJobsRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| BuildbucketBuildId string `protobuf:"bytes,1,opt,name=buildbucket_build_id,json=buildbucketBuildId,proto3" json:"buildbucket_build_id,omitempty"` |
| HasBuildbucketBuildId bool `protobuf:"varint,2,opt,name=has_buildbucket_build_id,json=hasBuildbucketBuildId,proto3" json:"has_buildbucket_build_id,omitempty"` |
| IsForce bool `protobuf:"varint,3,opt,name=is_force,json=isForce,proto3" json:"is_force,omitempty"` |
| HasIsForce bool `protobuf:"varint,4,opt,name=has_is_force,json=hasIsForce,proto3" json:"has_is_force,omitempty"` |
| Issue string `protobuf:"bytes,5,opt,name=issue,proto3" json:"issue,omitempty"` |
| HasIssue bool `protobuf:"varint,6,opt,name=has_issue,json=hasIssue,proto3" json:"has_issue,omitempty"` |
| Name string `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"` |
| HasName bool `protobuf:"varint,8,opt,name=has_name,json=hasName,proto3" json:"has_name,omitempty"` |
| Patchset string `protobuf:"bytes,9,opt,name=patchset,proto3" json:"patchset,omitempty"` |
| HasPatchset bool `protobuf:"varint,10,opt,name=has_patchset,json=hasPatchset,proto3" json:"has_patchset,omitempty"` |
| Repo string `protobuf:"bytes,11,opt,name=repo,proto3" json:"repo,omitempty"` |
| HasRepo bool `protobuf:"varint,12,opt,name=has_repo,json=hasRepo,proto3" json:"has_repo,omitempty"` |
| Revision string `protobuf:"bytes,13,opt,name=revision,proto3" json:"revision,omitempty"` |
| HasRevision bool `protobuf:"varint,14,opt,name=has_revision,json=hasRevision,proto3" json:"has_revision,omitempty"` |
| Status JobStatus `protobuf:"varint,15,opt,name=status,proto3,enum=task_scheduler.rpc.JobStatus" json:"status,omitempty"` |
| HasStatus bool `protobuf:"varint,16,opt,name=has_status,json=hasStatus,proto3" json:"has_status,omitempty"` |
| TimeStart *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=time_start,json=timeStart,proto3" json:"time_start,omitempty"` |
| HasTimeStart bool `protobuf:"varint,18,opt,name=has_time_start,json=hasTimeStart,proto3" json:"has_time_start,omitempty"` |
| TimeEnd *timestamppb.Timestamp `protobuf:"bytes,19,opt,name=time_end,json=timeEnd,proto3" json:"time_end,omitempty"` |
| HasTimeEnd bool `protobuf:"varint,20,opt,name=has_time_end,json=hasTimeEnd,proto3" json:"has_time_end,omitempty"` |
| } |
| |
| func (x *SearchJobsRequest) Reset() { |
| *x = SearchJobsRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[7] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SearchJobsRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SearchJobsRequest) ProtoMessage() {} |
| |
| func (x *SearchJobsRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[7] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use SearchJobsRequest.ProtoReflect.Descriptor instead. |
| func (*SearchJobsRequest) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{7} |
| } |
| |
| func (x *SearchJobsRequest) GetBuildbucketBuildId() string { |
| if x != nil { |
| return x.BuildbucketBuildId |
| } |
| return "" |
| } |
| |
| func (x *SearchJobsRequest) GetHasBuildbucketBuildId() bool { |
| if x != nil { |
| return x.HasBuildbucketBuildId |
| } |
| return false |
| } |
| |
| func (x *SearchJobsRequest) GetIsForce() bool { |
| if x != nil { |
| return x.IsForce |
| } |
| return false |
| } |
| |
| func (x *SearchJobsRequest) GetHasIsForce() bool { |
| if x != nil { |
| return x.HasIsForce |
| } |
| return false |
| } |
| |
| func (x *SearchJobsRequest) GetIssue() string { |
| if x != nil { |
| return x.Issue |
| } |
| return "" |
| } |
| |
| func (x *SearchJobsRequest) GetHasIssue() bool { |
| if x != nil { |
| return x.HasIssue |
| } |
| return false |
| } |
| |
| func (x *SearchJobsRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *SearchJobsRequest) GetHasName() bool { |
| if x != nil { |
| return x.HasName |
| } |
| return false |
| } |
| |
| func (x *SearchJobsRequest) GetPatchset() string { |
| if x != nil { |
| return x.Patchset |
| } |
| return "" |
| } |
| |
| func (x *SearchJobsRequest) GetHasPatchset() bool { |
| if x != nil { |
| return x.HasPatchset |
| } |
| return false |
| } |
| |
| func (x *SearchJobsRequest) GetRepo() string { |
| if x != nil { |
| return x.Repo |
| } |
| return "" |
| } |
| |
| func (x *SearchJobsRequest) GetHasRepo() bool { |
| if x != nil { |
| return x.HasRepo |
| } |
| return false |
| } |
| |
| func (x *SearchJobsRequest) GetRevision() string { |
| if x != nil { |
| return x.Revision |
| } |
| return "" |
| } |
| |
| func (x *SearchJobsRequest) GetHasRevision() bool { |
| if x != nil { |
| return x.HasRevision |
| } |
| return false |
| } |
| |
| func (x *SearchJobsRequest) GetStatus() JobStatus { |
| if x != nil { |
| return x.Status |
| } |
| return JobStatus_JOB_STATUS_IN_PROGRESS |
| } |
| |
| func (x *SearchJobsRequest) GetHasStatus() bool { |
| if x != nil { |
| return x.HasStatus |
| } |
| return false |
| } |
| |
| func (x *SearchJobsRequest) GetTimeStart() *timestamppb.Timestamp { |
| if x != nil { |
| return x.TimeStart |
| } |
| return nil |
| } |
| |
| func (x *SearchJobsRequest) GetHasTimeStart() bool { |
| if x != nil { |
| return x.HasTimeStart |
| } |
| return false |
| } |
| |
| func (x *SearchJobsRequest) GetTimeEnd() *timestamppb.Timestamp { |
| if x != nil { |
| return x.TimeEnd |
| } |
| return nil |
| } |
| |
| func (x *SearchJobsRequest) GetHasTimeEnd() bool { |
| if x != nil { |
| return x.HasTimeEnd |
| } |
| return false |
| } |
| |
| // SearchJobsRequest is a response returned by SearchJobs. |
| type SearchJobsResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Jobs []*Job `protobuf:"bytes,1,rep,name=jobs,proto3" json:"jobs,omitempty"` |
| } |
| |
| func (x *SearchJobsResponse) Reset() { |
| *x = SearchJobsResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[8] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SearchJobsResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SearchJobsResponse) ProtoMessage() {} |
| |
| func (x *SearchJobsResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[8] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use SearchJobsResponse.ProtoReflect.Descriptor instead. |
| func (*SearchJobsResponse) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{8} |
| } |
| |
| func (x *SearchJobsResponse) GetJobs() []*Job { |
| if x != nil { |
| return x.Jobs |
| } |
| return nil |
| } |
| |
| // GetTaskRequest is a request to GetTask. |
| type GetTaskRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // ID of the task to retrieve. |
| Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` |
| // Whether or not to include statistics. This is expensive and should only |
| // be set when needed. |
| IncludeStats bool `protobuf:"varint,2,opt,name=include_stats,json=includeStats,proto3" json:"include_stats,omitempty"` |
| } |
| |
| func (x *GetTaskRequest) Reset() { |
| *x = GetTaskRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[9] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *GetTaskRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*GetTaskRequest) ProtoMessage() {} |
| |
| func (x *GetTaskRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[9] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use GetTaskRequest.ProtoReflect.Descriptor instead. |
| func (*GetTaskRequest) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{9} |
| } |
| |
| func (x *GetTaskRequest) GetId() string { |
| if x != nil { |
| return x.Id |
| } |
| return "" |
| } |
| |
| func (x *GetTaskRequest) GetIncludeStats() bool { |
| if x != nil { |
| return x.IncludeStats |
| } |
| return false |
| } |
| |
| // GetTaskResponse is a response returned from GetTask. |
| type GetTaskResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // task is the requested task. |
| Task *Task `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"` |
| } |
| |
| func (x *GetTaskResponse) Reset() { |
| *x = GetTaskResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[10] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *GetTaskResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*GetTaskResponse) ProtoMessage() {} |
| |
| func (x *GetTaskResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[10] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use GetTaskResponse.ProtoReflect.Descriptor instead. |
| func (*GetTaskResponse) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{10} |
| } |
| |
| func (x *GetTaskResponse) GetTask() *Task { |
| if x != nil { |
| return x.Task |
| } |
| return nil |
| } |
| |
| // SearchTasksRequest is a request to SearchTasks. |
| type SearchTasksRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Attempt int32 `protobuf:"varint,1,opt,name=attempt,proto3" json:"attempt,omitempty"` |
| HasAttempt bool `protobuf:"varint,2,opt,name=has_attempt,json=hasAttempt,proto3" json:"has_attempt,omitempty"` |
| Issue string `protobuf:"bytes,3,opt,name=issue,proto3" json:"issue,omitempty"` |
| HasIssue bool `protobuf:"varint,4,opt,name=has_issue,json=hasIssue,proto3" json:"has_issue,omitempty"` |
| Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` |
| HasName bool `protobuf:"varint,6,opt,name=has_name,json=hasName,proto3" json:"has_name,omitempty"` |
| Patchset string `protobuf:"bytes,7,opt,name=patchset,proto3" json:"patchset,omitempty"` |
| HasPatchset bool `protobuf:"varint,8,opt,name=has_patchset,json=hasPatchset,proto3" json:"has_patchset,omitempty"` |
| Repo string `protobuf:"bytes,9,opt,name=repo,proto3" json:"repo,omitempty"` |
| HasRepo bool `protobuf:"varint,10,opt,name=has_repo,json=hasRepo,proto3" json:"has_repo,omitempty"` |
| Revision string `protobuf:"bytes,11,opt,name=revision,proto3" json:"revision,omitempty"` |
| HasRevision bool `protobuf:"varint,12,opt,name=has_revision,json=hasRevision,proto3" json:"has_revision,omitempty"` |
| Status TaskStatus `protobuf:"varint,13,opt,name=status,proto3,enum=task_scheduler.rpc.TaskStatus" json:"status,omitempty"` |
| HasStatus bool `protobuf:"varint,14,opt,name=has_status,json=hasStatus,proto3" json:"has_status,omitempty"` |
| TimeStart *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=time_start,json=timeStart,proto3" json:"time_start,omitempty"` |
| HasTimeStart bool `protobuf:"varint,16,opt,name=has_time_start,json=hasTimeStart,proto3" json:"has_time_start,omitempty"` |
| TimeEnd *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=time_end,json=timeEnd,proto3" json:"time_end,omitempty"` |
| HasTimeEnd bool `protobuf:"varint,18,opt,name=has_time_end,json=hasTimeEnd,proto3" json:"has_time_end,omitempty"` |
| } |
| |
| func (x *SearchTasksRequest) Reset() { |
| *x = SearchTasksRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[11] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SearchTasksRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SearchTasksRequest) ProtoMessage() {} |
| |
| func (x *SearchTasksRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[11] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use SearchTasksRequest.ProtoReflect.Descriptor instead. |
| func (*SearchTasksRequest) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{11} |
| } |
| |
| func (x *SearchTasksRequest) GetAttempt() int32 { |
| if x != nil { |
| return x.Attempt |
| } |
| return 0 |
| } |
| |
| func (x *SearchTasksRequest) GetHasAttempt() bool { |
| if x != nil { |
| return x.HasAttempt |
| } |
| return false |
| } |
| |
| func (x *SearchTasksRequest) GetIssue() string { |
| if x != nil { |
| return x.Issue |
| } |
| return "" |
| } |
| |
| func (x *SearchTasksRequest) GetHasIssue() bool { |
| if x != nil { |
| return x.HasIssue |
| } |
| return false |
| } |
| |
| func (x *SearchTasksRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *SearchTasksRequest) GetHasName() bool { |
| if x != nil { |
| return x.HasName |
| } |
| return false |
| } |
| |
| func (x *SearchTasksRequest) GetPatchset() string { |
| if x != nil { |
| return x.Patchset |
| } |
| return "" |
| } |
| |
| func (x *SearchTasksRequest) GetHasPatchset() bool { |
| if x != nil { |
| return x.HasPatchset |
| } |
| return false |
| } |
| |
| func (x *SearchTasksRequest) GetRepo() string { |
| if x != nil { |
| return x.Repo |
| } |
| return "" |
| } |
| |
| func (x *SearchTasksRequest) GetHasRepo() bool { |
| if x != nil { |
| return x.HasRepo |
| } |
| return false |
| } |
| |
| func (x *SearchTasksRequest) GetRevision() string { |
| if x != nil { |
| return x.Revision |
| } |
| return "" |
| } |
| |
| func (x *SearchTasksRequest) GetHasRevision() bool { |
| if x != nil { |
| return x.HasRevision |
| } |
| return false |
| } |
| |
| func (x *SearchTasksRequest) GetStatus() TaskStatus { |
| if x != nil { |
| return x.Status |
| } |
| return TaskStatus_TASK_STATUS_PENDING |
| } |
| |
| func (x *SearchTasksRequest) GetHasStatus() bool { |
| if x != nil { |
| return x.HasStatus |
| } |
| return false |
| } |
| |
| func (x *SearchTasksRequest) GetTimeStart() *timestamppb.Timestamp { |
| if x != nil { |
| return x.TimeStart |
| } |
| return nil |
| } |
| |
| func (x *SearchTasksRequest) GetHasTimeStart() bool { |
| if x != nil { |
| return x.HasTimeStart |
| } |
| return false |
| } |
| |
| func (x *SearchTasksRequest) GetTimeEnd() *timestamppb.Timestamp { |
| if x != nil { |
| return x.TimeEnd |
| } |
| return nil |
| } |
| |
| func (x *SearchTasksRequest) GetHasTimeEnd() bool { |
| if x != nil { |
| return x.HasTimeEnd |
| } |
| return false |
| } |
| |
| // SearchTasksResponse is a response returned from SearchTasks. |
| type SearchTasksResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Tasks []*Task `protobuf:"bytes,1,rep,name=tasks,proto3" json:"tasks,omitempty"` |
| } |
| |
| func (x *SearchTasksResponse) Reset() { |
| *x = SearchTasksResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[12] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SearchTasksResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SearchTasksResponse) ProtoMessage() {} |
| |
| func (x *SearchTasksResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[12] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use SearchTasksResponse.ProtoReflect.Descriptor instead. |
| func (*SearchTasksResponse) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{12} |
| } |
| |
| func (x *SearchTasksResponse) GetTasks() []*Task { |
| if x != nil { |
| return x.Tasks |
| } |
| return nil |
| } |
| |
| // GetSkipTaskRulesRequest is a request to GetSkipTaskRules. |
| type GetSkipTaskRulesRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| } |
| |
| func (x *GetSkipTaskRulesRequest) Reset() { |
| *x = GetSkipTaskRulesRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[13] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *GetSkipTaskRulesRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*GetSkipTaskRulesRequest) ProtoMessage() {} |
| |
| func (x *GetSkipTaskRulesRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[13] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use GetSkipTaskRulesRequest.ProtoReflect.Descriptor instead. |
| func (*GetSkipTaskRulesRequest) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{13} |
| } |
| |
| // SkipTaskRule is a rule which dictates when to skip scheduling a task. |
| type SkipTaskRule struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // added_by is the email address of the user who added this rule. |
| AddedBy string `protobuf:"bytes,1,opt,name=added_by,json=addedBy,proto3" json:"added_by,omitempty"` |
| // task_spec_patterns determines which tasks the rule applies to. |
| TaskSpecPatterns []string `protobuf:"bytes,2,rep,name=task_spec_patterns,json=taskSpecPatterns,proto3" json:"task_spec_patterns,omitempty"` |
| // commits determines which commits the rule applies to. |
| Commits []string `protobuf:"bytes,3,rep,name=commits,proto3" json:"commits,omitempty"` |
| // description provides a human-readable description of the rule, eg. to |
| // provide a reason for skipping the task(s) and to indicate when the rule |
| // may be removed. |
| Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` |
| // name is a brief descriptive name for the rule. |
| Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *SkipTaskRule) Reset() { |
| *x = SkipTaskRule{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[14] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SkipTaskRule) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SkipTaskRule) ProtoMessage() {} |
| |
| func (x *SkipTaskRule) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[14] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use SkipTaskRule.ProtoReflect.Descriptor instead. |
| func (*SkipTaskRule) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{14} |
| } |
| |
| func (x *SkipTaskRule) GetAddedBy() string { |
| if x != nil { |
| return x.AddedBy |
| } |
| return "" |
| } |
| |
| func (x *SkipTaskRule) GetTaskSpecPatterns() []string { |
| if x != nil { |
| return x.TaskSpecPatterns |
| } |
| return nil |
| } |
| |
| func (x *SkipTaskRule) GetCommits() []string { |
| if x != nil { |
| return x.Commits |
| } |
| return nil |
| } |
| |
| func (x *SkipTaskRule) GetDescription() string { |
| if x != nil { |
| return x.Description |
| } |
| return "" |
| } |
| |
| func (x *SkipTaskRule) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // GetSkipTaskRulesResponse is a response returned from GetSkipTaskRules. |
| type GetSkipTaskRulesResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Rules []*SkipTaskRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` |
| } |
| |
| func (x *GetSkipTaskRulesResponse) Reset() { |
| *x = GetSkipTaskRulesResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[15] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *GetSkipTaskRulesResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*GetSkipTaskRulesResponse) ProtoMessage() {} |
| |
| func (x *GetSkipTaskRulesResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[15] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use GetSkipTaskRulesResponse.ProtoReflect.Descriptor instead. |
| func (*GetSkipTaskRulesResponse) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{15} |
| } |
| |
| func (x *GetSkipTaskRulesResponse) GetRules() []*SkipTaskRule { |
| if x != nil { |
| return x.Rules |
| } |
| return nil |
| } |
| |
| // AddSkipTaskRuleRequest is a request to AddSkipTaskRule. |
| type AddSkipTaskRuleRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // task_spec_patterns determines which tasks the rule applies to. |
| TaskSpecPatterns []string `protobuf:"bytes,2,rep,name=task_spec_patterns,json=taskSpecPatterns,proto3" json:"task_spec_patterns,omitempty"` |
| // commits determines which commits the rule applies to. |
| Commits []string `protobuf:"bytes,3,rep,name=commits,proto3" json:"commits,omitempty"` |
| // description provides a human-readable description of the rule, eg. to |
| // provide a reason for skipping the task(s) and to indicate when the rule |
| // may be removed. |
| Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` |
| // name is a brief descriptive name for the rule. |
| Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` |
| } |
| |
| func (x *AddSkipTaskRuleRequest) Reset() { |
| *x = AddSkipTaskRuleRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[16] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *AddSkipTaskRuleRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*AddSkipTaskRuleRequest) ProtoMessage() {} |
| |
| func (x *AddSkipTaskRuleRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[16] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use AddSkipTaskRuleRequest.ProtoReflect.Descriptor instead. |
| func (*AddSkipTaskRuleRequest) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{16} |
| } |
| |
| func (x *AddSkipTaskRuleRequest) GetTaskSpecPatterns() []string { |
| if x != nil { |
| return x.TaskSpecPatterns |
| } |
| return nil |
| } |
| |
| func (x *AddSkipTaskRuleRequest) GetCommits() []string { |
| if x != nil { |
| return x.Commits |
| } |
| return nil |
| } |
| |
| func (x *AddSkipTaskRuleRequest) GetDescription() string { |
| if x != nil { |
| return x.Description |
| } |
| return "" |
| } |
| |
| func (x *AddSkipTaskRuleRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| // AddSkipTaskRuleResponse is a response returned from AddSkipTaskRule. |
| type AddSkipTaskRuleResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Rules []*SkipTaskRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` |
| } |
| |
| func (x *AddSkipTaskRuleResponse) Reset() { |
| *x = AddSkipTaskRuleResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[17] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *AddSkipTaskRuleResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*AddSkipTaskRuleResponse) ProtoMessage() {} |
| |
| func (x *AddSkipTaskRuleResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[17] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use AddSkipTaskRuleResponse.ProtoReflect.Descriptor instead. |
| func (*AddSkipTaskRuleResponse) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{17} |
| } |
| |
| func (x *AddSkipTaskRuleResponse) GetRules() []*SkipTaskRule { |
| if x != nil { |
| return x.Rules |
| } |
| return nil |
| } |
| |
| // DeleteSkipTaskRuleRequest is a request to DeleteSkipTaskRule. |
| type DeleteSkipTaskRuleRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // ID of the rule to delete. |
| Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // TODO(borenet): Where does this come from? |
| } |
| |
| func (x *DeleteSkipTaskRuleRequest) Reset() { |
| *x = DeleteSkipTaskRuleRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[18] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DeleteSkipTaskRuleRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DeleteSkipTaskRuleRequest) ProtoMessage() {} |
| |
| func (x *DeleteSkipTaskRuleRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[18] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use DeleteSkipTaskRuleRequest.ProtoReflect.Descriptor instead. |
| func (*DeleteSkipTaskRuleRequest) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{18} |
| } |
| |
| func (x *DeleteSkipTaskRuleRequest) GetId() string { |
| if x != nil { |
| return x.Id |
| } |
| return "" |
| } |
| |
| // DeleteSkipTaskRuleResponse is a response returned from |
| // DeleteSkipTaskRule. |
| type DeleteSkipTaskRuleResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Rules []*SkipTaskRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` |
| } |
| |
| func (x *DeleteSkipTaskRuleResponse) Reset() { |
| *x = DeleteSkipTaskRuleResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[19] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DeleteSkipTaskRuleResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DeleteSkipTaskRuleResponse) ProtoMessage() {} |
| |
| func (x *DeleteSkipTaskRuleResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[19] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use DeleteSkipTaskRuleResponse.ProtoReflect.Descriptor instead. |
| func (*DeleteSkipTaskRuleResponse) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{19} |
| } |
| |
| func (x *DeleteSkipTaskRuleResponse) GetRules() []*SkipTaskRule { |
| if x != nil { |
| return x.Rules |
| } |
| return nil |
| } |
| |
| // encapsulates all of the parameters which define the state of a |
| // |
| // repo. |
| type RepoState struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Patch information, optional. |
| Patch *RepoState_Patch `protobuf:"bytes,1,opt,name=patch,proto3" json:"patch,omitempty"` |
| // Repository URL. |
| Repo string `protobuf:"bytes,2,opt,name=repo,proto3" json:"repo,omitempty"` |
| // Revision ID, ie. commit hash. |
| Revision string `protobuf:"bytes,3,opt,name=revision,proto3" json:"revision,omitempty"` |
| } |
| |
| func (x *RepoState) Reset() { |
| *x = RepoState{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[20] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *RepoState) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*RepoState) ProtoMessage() {} |
| |
| func (x *RepoState) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[20] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use RepoState.ProtoReflect.Descriptor instead. |
| func (*RepoState) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{20} |
| } |
| |
| func (x *RepoState) GetPatch() *RepoState_Patch { |
| if x != nil { |
| return x.Patch |
| } |
| return nil |
| } |
| |
| func (x *RepoState) GetRepo() string { |
| if x != nil { |
| return x.Repo |
| } |
| return "" |
| } |
| |
| func (x *RepoState) GetRevision() string { |
| if x != nil { |
| return x.Revision |
| } |
| return "" |
| } |
| |
| // TaskKey is a struct used for identifying a Task instance. Note that more |
| // than one Task may have the same TaskKey, eg. in the case of retries. |
| type TaskKey struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // State of the repository for this task. |
| RepoState *RepoState `protobuf:"bytes,1,opt,name=repo_state,json=repoState,proto3" json:"repo_state,omitempty"` |
| // Name of the task. |
| Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` |
| // If this task is part of a force-triggered job, ID of the job. |
| ForcedJobId string `protobuf:"bytes,3,opt,name=forced_job_id,json=forcedJobId,proto3" json:"forced_job_id,omitempty"` |
| } |
| |
| func (x *TaskKey) Reset() { |
| *x = TaskKey{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[21] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TaskKey) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TaskKey) ProtoMessage() {} |
| |
| func (x *TaskKey) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[21] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use TaskKey.ProtoReflect.Descriptor instead. |
| func (*TaskKey) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{21} |
| } |
| |
| func (x *TaskKey) GetRepoState() *RepoState { |
| if x != nil { |
| return x.RepoState |
| } |
| return nil |
| } |
| |
| func (x *TaskKey) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *TaskKey) GetForcedJobId() string { |
| if x != nil { |
| return x.ForcedJobId |
| } |
| return "" |
| } |
| |
| // Task describes a single task. This must be kept in sync with types.Task. |
| type Task struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // attempt is the attempt number of this task, starting with zero. |
| Attempt int32 `protobuf:"varint,1,opt,name=attempt,proto3" json:"attempt,omitempty"` |
| // commits are the commits which were tested in this Task. The list may |
| // change due to backfilling/bisecting. |
| Commits []string `protobuf:"bytes,2,rep,name=commits,proto3" json:"commits,omitempty"` |
| // created is the creation timestamp. |
| CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` |
| // db_modified is the time of the last successful call to TaskDB.PutTask/s |
| // for this Task, or zero if the task is new. It is not related to the |
| // ModifiedTs time of the associated Swarming task. |
| DbModifiedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=db_modified_at,json=dbModifiedAt,proto3" json:"db_modified_at,omitempty"` |
| // finished is the time the task stopped running or expired from the queue, or |
| // zero if the task is pending or running. |
| FinishedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=finished_at,json=finishedAt,proto3" json:"finished_at,omitempty"` |
| // id is a generated unique identifier for this Task instance. Must be |
| // URL-safe. |
| Id string `protobuf:"bytes,6,opt,name=id,proto3" json:"id,omitempty"` |
| // isolated_output is the isolated hash of any outputs produced by this Task. |
| // Filled in when the task is completed. This field will not be set if the |
| // Task does not correspond to a Swarming task. |
| IsolatedOutput string `protobuf:"bytes,7,opt,name=isolated_output,json=isolatedOutput,proto3" json:"isolated_output,omitempty"` |
| // jobs are the IDs of all Jobs which utilized this Task. |
| Jobs []string `protobuf:"bytes,8,rep,name=jobs,proto3" json:"jobs,omitempty"` |
| // max_attempts is the maximum number of attempts for this TaskSpec. |
| MaxAttempts int32 `protobuf:"varint,9,opt,name=max_attempts,json=maxAttempts,proto3" json:"max_attempts,omitempty"` |
| // parent_task_ids are IDs of tasks which satisfied this task's dependencies. |
| ParentTaskIds []string `protobuf:"bytes,10,rep,name=parent_task_ids,json=parentTaskIds,proto3" json:"parent_task_ids,omitempty"` |
| // properties contains key-value pairs from external sources. Both key and |
| // value must be UTF-8 strings. Prefer a JavaScript identifier for key. Use |
| // base64 encoding for binary data. |
| Properties map[string]string `protobuf:"bytes,11,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` |
| // retry_of is the ID of the task which this task is a retry of, if any. |
| RetryOf string `protobuf:"bytes,12,opt,name=retry_of,json=retryOf,proto3" json:"retry_of,omitempty"` |
| // started is the time the task started running, or zero if the task is |
| // pending, or the same as Finished if the task never ran. |
| StartedAt *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` |
| // status is the current task status, default TASK_STATUS_PENDING. |
| Status TaskStatus `protobuf:"varint,14,opt,name=status,proto3,enum=task_scheduler.rpc.TaskStatus" json:"status,omitempty"` |
| // swarming_bot_id is the ID of the Swarming bot that ran this task. This |
| // field will not be set if the Task does not correspond to a Swarming task or |
| // if the task is still pending. |
| SwarmingBotId string `protobuf:"bytes,15,opt,name=swarming_bot_id,json=swarmingBotId,proto3" json:"swarming_bot_id,omitempty"` |
| // swarming_task_id is the Swarming task ID. This field will not be set if the |
| // Task does not correspond to a Swarming task. |
| SwarmingTaskId string `protobuf:"bytes,16,opt,name=swarming_task_id,json=swarmingTaskId,proto3" json:"swarming_task_id,omitempty"` |
| // task_key is a struct which describes aspects of the Task related |
| // to the current state of the repo when it ran, and about the Task |
| // itself. |
| TaskKey *TaskKey `protobuf:"bytes,17,opt,name=task_key,json=taskKey,proto3" json:"task_key,omitempty"` |
| // stats provides statistics about the task. |
| Stats *TaskStats `protobuf:"bytes,18,opt,name=stats,proto3" json:"stats,omitempty"` |
| } |
| |
| func (x *Task) Reset() { |
| *x = Task{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[22] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Task) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Task) ProtoMessage() {} |
| |
| func (x *Task) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[22] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Task.ProtoReflect.Descriptor instead. |
| func (*Task) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{22} |
| } |
| |
| func (x *Task) GetAttempt() int32 { |
| if x != nil { |
| return x.Attempt |
| } |
| return 0 |
| } |
| |
| func (x *Task) GetCommits() []string { |
| if x != nil { |
| return x.Commits |
| } |
| return nil |
| } |
| |
| func (x *Task) GetCreatedAt() *timestamppb.Timestamp { |
| if x != nil { |
| return x.CreatedAt |
| } |
| return nil |
| } |
| |
| func (x *Task) GetDbModifiedAt() *timestamppb.Timestamp { |
| if x != nil { |
| return x.DbModifiedAt |
| } |
| return nil |
| } |
| |
| func (x *Task) GetFinishedAt() *timestamppb.Timestamp { |
| if x != nil { |
| return x.FinishedAt |
| } |
| return nil |
| } |
| |
| func (x *Task) GetId() string { |
| if x != nil { |
| return x.Id |
| } |
| return "" |
| } |
| |
| func (x *Task) GetIsolatedOutput() string { |
| if x != nil { |
| return x.IsolatedOutput |
| } |
| return "" |
| } |
| |
| func (x *Task) GetJobs() []string { |
| if x != nil { |
| return x.Jobs |
| } |
| return nil |
| } |
| |
| func (x *Task) GetMaxAttempts() int32 { |
| if x != nil { |
| return x.MaxAttempts |
| } |
| return 0 |
| } |
| |
| func (x *Task) GetParentTaskIds() []string { |
| if x != nil { |
| return x.ParentTaskIds |
| } |
| return nil |
| } |
| |
| func (x *Task) GetProperties() map[string]string { |
| if x != nil { |
| return x.Properties |
| } |
| return nil |
| } |
| |
| func (x *Task) GetRetryOf() string { |
| if x != nil { |
| return x.RetryOf |
| } |
| return "" |
| } |
| |
| func (x *Task) GetStartedAt() *timestamppb.Timestamp { |
| if x != nil { |
| return x.StartedAt |
| } |
| return nil |
| } |
| |
| func (x *Task) GetStatus() TaskStatus { |
| if x != nil { |
| return x.Status |
| } |
| return TaskStatus_TASK_STATUS_PENDING |
| } |
| |
| func (x *Task) GetSwarmingBotId() string { |
| if x != nil { |
| return x.SwarmingBotId |
| } |
| return "" |
| } |
| |
| func (x *Task) GetSwarmingTaskId() string { |
| if x != nil { |
| return x.SwarmingTaskId |
| } |
| return "" |
| } |
| |
| func (x *Task) GetTaskKey() *TaskKey { |
| if x != nil { |
| return x.TaskKey |
| } |
| return nil |
| } |
| |
| func (x *Task) GetStats() *TaskStats { |
| if x != nil { |
| return x.Stats |
| } |
| return nil |
| } |
| |
| // TaskDependencies represents dependencies of a task. |
| type TaskDependencies struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Name of the task. |
| Task string `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"` |
| // Names of the tasks which this task depends on. |
| Dependencies []string `protobuf:"bytes,2,rep,name=dependencies,proto3" json:"dependencies,omitempty"` |
| } |
| |
| func (x *TaskDependencies) Reset() { |
| *x = TaskDependencies{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[23] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TaskDependencies) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TaskDependencies) ProtoMessage() {} |
| |
| func (x *TaskDependencies) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[23] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use TaskDependencies.ProtoReflect.Descriptor instead. |
| func (*TaskDependencies) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{23} |
| } |
| |
| func (x *TaskDependencies) GetTask() string { |
| if x != nil { |
| return x.Task |
| } |
| return "" |
| } |
| |
| func (x *TaskDependencies) GetDependencies() []string { |
| if x != nil { |
| return x.Dependencies |
| } |
| return nil |
| } |
| |
| // TaskSummary provides a subset of the information of a Task. |
| type TaskSummary struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` |
| Attempt int32 `protobuf:"varint,2,opt,name=attempt,proto3" json:"attempt,omitempty"` |
| MaxAttempts int32 `protobuf:"varint,3,opt,name=max_attempts,json=maxAttempts,proto3" json:"max_attempts,omitempty"` |
| Status TaskStatus `protobuf:"varint,4,opt,name=status,proto3,enum=task_scheduler.rpc.TaskStatus" json:"status,omitempty"` |
| SwarmingTaskId string `protobuf:"bytes,5,opt,name=swarming_task_id,json=swarmingTaskId,proto3" json:"swarming_task_id,omitempty"` |
| } |
| |
| func (x *TaskSummary) Reset() { |
| *x = TaskSummary{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[24] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TaskSummary) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TaskSummary) ProtoMessage() {} |
| |
| func (x *TaskSummary) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[24] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use TaskSummary.ProtoReflect.Descriptor instead. |
| func (*TaskSummary) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{24} |
| } |
| |
| func (x *TaskSummary) GetId() string { |
| if x != nil { |
| return x.Id |
| } |
| return "" |
| } |
| |
| func (x *TaskSummary) GetAttempt() int32 { |
| if x != nil { |
| return x.Attempt |
| } |
| return 0 |
| } |
| |
| func (x *TaskSummary) GetMaxAttempts() int32 { |
| if x != nil { |
| return x.MaxAttempts |
| } |
| return 0 |
| } |
| |
| func (x *TaskSummary) GetStatus() TaskStatus { |
| if x != nil { |
| return x.Status |
| } |
| return TaskStatus_TASK_STATUS_PENDING |
| } |
| |
| func (x *TaskSummary) GetSwarmingTaskId() string { |
| if x != nil { |
| return x.SwarmingTaskId |
| } |
| return "" |
| } |
| |
| // TODO: Make optional. |
| // TODO: Make optional. |
| // TaskSummaries groups TaskSummaries which have the same TaskSpec name. |
| type TaskSummaries struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| Tasks []*TaskSummary `protobuf:"bytes,2,rep,name=tasks,proto3" json:"tasks,omitempty"` |
| } |
| |
| func (x *TaskSummaries) Reset() { |
| *x = TaskSummaries{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[25] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TaskSummaries) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TaskSummaries) ProtoMessage() {} |
| |
| func (x *TaskSummaries) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[25] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use TaskSummaries.ProtoReflect.Descriptor instead. |
| func (*TaskSummaries) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{25} |
| } |
| |
| func (x *TaskSummaries) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *TaskSummaries) GetTasks() []*TaskSummary { |
| if x != nil { |
| return x.Tasks |
| } |
| return nil |
| } |
| |
| // TaskDimensions contains the dimensions required for a given task. |
| type TaskDimensions struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // task_name is the name of the task. |
| TaskName string `protobuf:"bytes,1,opt,name=task_name,json=taskName,proto3" json:"task_name,omitempty"` |
| // dimensions are the Swarming bot dimensions requested by the task. |
| Dimensions []string `protobuf:"bytes,2,rep,name=dimensions,proto3" json:"dimensions,omitempty"` |
| } |
| |
| func (x *TaskDimensions) Reset() { |
| *x = TaskDimensions{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[26] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TaskDimensions) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TaskDimensions) ProtoMessage() {} |
| |
| func (x *TaskDimensions) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[26] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use TaskDimensions.ProtoReflect.Descriptor instead. |
| func (*TaskDimensions) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{26} |
| } |
| |
| func (x *TaskDimensions) GetTaskName() string { |
| if x != nil { |
| return x.TaskName |
| } |
| return "" |
| } |
| |
| func (x *TaskDimensions) GetDimensions() []string { |
| if x != nil { |
| return x.Dimensions |
| } |
| return nil |
| } |
| |
| // TaskStats provides statistics about a task. |
| type TaskStats struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // total_overhead_s is the total amount of overhead for the task. |
| TotalOverheadS float32 `protobuf:"fixed32,1,opt,name=total_overhead_s,json=totalOverheadS,proto3" json:"total_overhead_s,omitempty"` |
| // download_overhead_s is the number of seconds spent downloading assets |
| // before running the task. |
| DownloadOverheadS float32 `protobuf:"fixed32,2,opt,name=download_overhead_s,json=downloadOverheadS,proto3" json:"download_overhead_s,omitempty"` |
| // upload_overhead_s is the number of seconds spent uploading assets |
| // before running the task. |
| UploadOverheadS float32 `protobuf:"fixed32,3,opt,name=upload_overhead_s,json=uploadOverheadS,proto3" json:"upload_overhead_s,omitempty"` |
| } |
| |
| func (x *TaskStats) Reset() { |
| *x = TaskStats{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[27] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TaskStats) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TaskStats) ProtoMessage() {} |
| |
| func (x *TaskStats) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[27] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use TaskStats.ProtoReflect.Descriptor instead. |
| func (*TaskStats) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{27} |
| } |
| |
| func (x *TaskStats) GetTotalOverheadS() float32 { |
| if x != nil { |
| return x.TotalOverheadS |
| } |
| return 0 |
| } |
| |
| func (x *TaskStats) GetDownloadOverheadS() float32 { |
| if x != nil { |
| return x.DownloadOverheadS |
| } |
| return 0 |
| } |
| |
| func (x *TaskStats) GetUploadOverheadS() float32 { |
| if x != nil { |
| return x.UploadOverheadS |
| } |
| return 0 |
| } |
| |
| // Job represents a set of Tasks which are executed as part of a larger effort. |
| // This must be kept in sync with types.Job. |
| type Job struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // buildbucket_build_id is the ID of the Buildbucket build with which this |
| // Job is associated, if one exists. |
| BuildbucketBuildId string `protobuf:"bytes,1,opt,name=buildbucket_build_id,json=buildbucketBuildId,proto3" json:"buildbucket_build_id,omitempty"` |
| // buildbucket_lease_key is the lease key for running a Buildbucket build. |
| // TODO(borenet): Maybe this doesn't belong in the DB. |
| BuildbucketLeaseKey string `protobuf:"bytes,2,opt,name=buildbucket_lease_key,json=buildbucketLeaseKey,proto3" json:"buildbucket_lease_key,omitempty"` |
| // created_at is the creation timestamp. This property should never change |
| // for a given Job instance. |
| CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` |
| // db_modified_at is the time of the last successful call to JobDB.PutJob/s |
| // for this Job, or zero if the job is new. |
| DbModifiedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=db_modified_at,json=dbModifiedAt,proto3" json:"db_modified_at,omitempty"` |
| // dependencies maps out the DAG of TaskSpec names upon which this Job |
| // depends. Keys are TaskSpec names and values are slices of TaskSpec |
| // names indicating which TaskSpecs that TaskSpec depends on. This |
| // property should never change for a given Job instance. |
| Dependencies []*TaskDependencies `protobuf:"bytes,5,rep,name=dependencies,proto3" json:"dependencies,omitempty"` |
| // finished_at is the time at which all of the Job's dependencies finished, |
| // successfully or not. |
| FinishedAt *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=finished_at,json=finishedAt,proto3" json:"finished_at,omitempty"` |
| // id is a unique identifier for the Job. This property should never |
| // change for a given Job instance, after its initial insertion into the |
| // DB. |
| Id string `protobuf:"bytes,7,opt,name=id,proto3" json:"id,omitempty"` |
| // is_force indicates whether this is a manually-triggered Job, as |
| // opposed to a normally scheduled one, or a try job. |
| IsForce bool `protobuf:"varint,8,opt,name=is_force,json=isForce,proto3" json:"is_force,omitempty"` |
| // name is a human-friendly descriptive name for the Job. All Jobs |
| // generated from the same JobSpec have the same name. This property |
| // should never change for a given Job instance. |
| Name string `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"` |
| // priority is an indicator of the relative priority of this Job. |
| Priority float32 `protobuf:"fixed32,10,opt,name=priority,proto3" json:"priority,omitempty"` |
| // is the current state of the repository for this Job. |
| RepoState *RepoState `protobuf:"bytes,11,opt,name=repo_state,json=repoState,proto3" json:"repo_state,omitempty"` |
| // requested is the time at which this Job was requested. This is a |
| // commit timestamp, tryjob request creation timestamp, time at which |
| // the server received a force trigger job request, etc. |
| RequestedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=requested_at,json=requestedAt,proto3" json:"requested_at,omitempty"` |
| // started_at is the timestamp at which the Job first entered |
| // JOB_STATUS_IN_PROGRESS. |
| StartedAt *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"` |
| // status is the current Job status, default JOB_STATUS_IN_PROGRESS. |
| Status JobStatus `protobuf:"varint,13,opt,name=status,proto3,enum=task_scheduler.rpc.JobStatus" json:"status,omitempty"` |
| // status_details provides additional details for the status of the Job, |
| // including reasons it might have failed. This may be truncated due to |
| // database storage limitations, so it should not include, for example, full |
| // logs. |
| StatusDetails string `protobuf:"bytes,16,opt,name=status_details,json=statusDetails,proto3" json:"status_details,omitempty"` |
| // tasks are the Task instances which satisfied the dependencies of |
| // the Job. Keys are TaskSpec names and values are slices of TaskSummary |
| // instances describing the Tasks. |
| Tasks []*TaskSummaries `protobuf:"bytes,14,rep,name=tasks,proto3" json:"tasks,omitempty"` |
| // taskDimensions are the dimensions of the tasks needed by this job. |
| TaskDimensions []*TaskDimensions `protobuf:"bytes,15,rep,name=task_dimensions,json=taskDimensions,proto3" json:"task_dimensions,omitempty"` |
| } |
| |
| func (x *Job) Reset() { |
| *x = Job{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[28] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Job) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Job) ProtoMessage() {} |
| |
| func (x *Job) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[28] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Job.ProtoReflect.Descriptor instead. |
| func (*Job) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{28} |
| } |
| |
| func (x *Job) GetBuildbucketBuildId() string { |
| if x != nil { |
| return x.BuildbucketBuildId |
| } |
| return "" |
| } |
| |
| func (x *Job) GetBuildbucketLeaseKey() string { |
| if x != nil { |
| return x.BuildbucketLeaseKey |
| } |
| return "" |
| } |
| |
| func (x *Job) GetCreatedAt() *timestamppb.Timestamp { |
| if x != nil { |
| return x.CreatedAt |
| } |
| return nil |
| } |
| |
| func (x *Job) GetDbModifiedAt() *timestamppb.Timestamp { |
| if x != nil { |
| return x.DbModifiedAt |
| } |
| return nil |
| } |
| |
| func (x *Job) GetDependencies() []*TaskDependencies { |
| if x != nil { |
| return x.Dependencies |
| } |
| return nil |
| } |
| |
| func (x *Job) GetFinishedAt() *timestamppb.Timestamp { |
| if x != nil { |
| return x.FinishedAt |
| } |
| return nil |
| } |
| |
| func (x *Job) GetId() string { |
| if x != nil { |
| return x.Id |
| } |
| return "" |
| } |
| |
| func (x *Job) GetIsForce() bool { |
| if x != nil { |
| return x.IsForce |
| } |
| return false |
| } |
| |
| func (x *Job) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *Job) GetPriority() float32 { |
| if x != nil { |
| return x.Priority |
| } |
| return 0 |
| } |
| |
| func (x *Job) GetRepoState() *RepoState { |
| if x != nil { |
| return x.RepoState |
| } |
| return nil |
| } |
| |
| func (x *Job) GetRequestedAt() *timestamppb.Timestamp { |
| if x != nil { |
| return x.RequestedAt |
| } |
| return nil |
| } |
| |
| func (x *Job) GetStartedAt() *timestamppb.Timestamp { |
| if x != nil { |
| return x.StartedAt |
| } |
| return nil |
| } |
| |
| func (x *Job) GetStatus() JobStatus { |
| if x != nil { |
| return x.Status |
| } |
| return JobStatus_JOB_STATUS_IN_PROGRESS |
| } |
| |
| func (x *Job) GetStatusDetails() string { |
| if x != nil { |
| return x.StatusDetails |
| } |
| return "" |
| } |
| |
| func (x *Job) GetTasks() []*TaskSummaries { |
| if x != nil { |
| return x.Tasks |
| } |
| return nil |
| } |
| |
| func (x *Job) GetTaskDimensions() []*TaskDimensions { |
| if x != nil { |
| return x.TaskDimensions |
| } |
| return nil |
| } |
| |
| // Patch describes a patch which may be applied to a code checkout. |
| type RepoState_Patch struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Issue ID of the Patch. |
| Issue string `protobuf:"bytes,1,opt,name=issue,proto3" json:"issue,omitempty"` |
| // URL of the repository where this patch may be applied. |
| PatchRepo string `protobuf:"bytes,2,opt,name=patch_repo,json=patchRepo,proto3" json:"patch_repo,omitempty"` |
| // Patch set ID. |
| Patchset string `protobuf:"bytes,3,opt,name=patchset,proto3" json:"patchset,omitempty"` |
| // URL of the code review server. |
| Server string `protobuf:"bytes,4,opt,name=server,proto3" json:"server,omitempty"` |
| } |
| |
| func (x *RepoState_Patch) Reset() { |
| *x = RepoState_Patch{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_rpc_proto_msgTypes[29] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *RepoState_Patch) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*RepoState_Patch) ProtoMessage() {} |
| |
| func (x *RepoState_Patch) ProtoReflect() protoreflect.Message { |
| mi := &file_rpc_proto_msgTypes[29] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use RepoState_Patch.ProtoReflect.Descriptor instead. |
| func (*RepoState_Patch) Descriptor() ([]byte, []int) { |
| return file_rpc_proto_rawDescGZIP(), []int{20, 0} |
| } |
| |
| func (x *RepoState_Patch) GetIssue() string { |
| if x != nil { |
| return x.Issue |
| } |
| return "" |
| } |
| |
| func (x *RepoState_Patch) GetPatchRepo() string { |
| if x != nil { |
| return x.PatchRepo |
| } |
| return "" |
| } |
| |
| func (x *RepoState_Patch) GetPatchset() string { |
| if x != nil { |
| return x.Patchset |
| } |
| return "" |
| } |
| |
| func (x *RepoState_Patch) GetServer() string { |
| if x != nil { |
| return x.Server |
| } |
| return "" |
| } |
| |
| var File_rpc_proto protoreflect.FileDescriptor |
| |
| var file_rpc_proto_rawDesc = []byte{ |
| 0x0a, 0x09, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x74, 0x61, 0x73, |
| 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x1a, |
| 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, |
| 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, |
| 0x22, 0x48, 0x0a, 0x0a, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x12, 0x19, |
| 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, |
| 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6f, 0x6d, |
| 0x6d, 0x69, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, |
| 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x48, 0x61, 0x73, 0x68, 0x22, 0x48, 0x0a, 0x12, 0x54, 0x72, |
| 0x69, 0x67, 0x67, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, |
| 0x12, 0x32, 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, |
| 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, |
| 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x52, 0x04, |
| 0x6a, 0x6f, 0x62, 0x73, 0x22, 0x2e, 0x0a, 0x13, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4a, |
| 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6a, |
| 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, |
| 0x62, 0x49, 0x64, 0x73, 0x22, 0x1f, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, |
| 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x3b, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x52, |
| 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x03, 0x6a, 0x6f, 0x62, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, |
| 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x03, 0x6a, |
| 0x6f, 0x62, 0x22, 0x22, 0x0a, 0x10, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x3e, 0x0a, 0x11, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, |
| 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x03, 0x6a, |
| 0x6f, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, |
| 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4a, 0x6f, |
| 0x62, 0x52, 0x03, 0x6a, 0x6f, 0x62, 0x22, 0xda, 0x05, 0x0a, 0x11, 0x53, 0x65, 0x61, 0x72, 0x63, |
| 0x68, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x30, 0x0a, 0x14, |
| 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x62, 0x75, 0x69, 0x6c, |
| 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x62, 0x75, 0x69, 0x6c, |
| 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x37, |
| 0x0a, 0x18, 0x68, 0x61, 0x73, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, |
| 0x74, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, |
| 0x52, 0x15, 0x68, 0x61, 0x73, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, |
| 0x42, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x66, 0x6f, |
| 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x46, 0x6f, 0x72, |
| 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x68, 0x61, 0x73, 0x5f, 0x69, 0x73, 0x5f, 0x66, 0x6f, 0x72, |
| 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x49, 0x73, 0x46, |
| 0x6f, 0x72, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x73, 0x75, 0x65, 0x18, 0x05, 0x20, |
| 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x73, 0x73, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x61, |
| 0x73, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x68, |
| 0x61, 0x73, 0x49, 0x73, 0x73, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, |
| 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x68, |
| 0x61, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, |
| 0x61, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x74, 0x63, 0x68, 0x73, |
| 0x65, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x74, 0x63, 0x68, 0x73, |
| 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x61, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x73, |
| 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x68, 0x61, 0x73, 0x50, 0x61, 0x74, |
| 0x63, 0x68, 0x73, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x0b, 0x20, |
| 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x61, 0x73, |
| 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, 0x61, 0x73, |
| 0x52, 0x65, 0x70, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, |
| 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, |
| 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, |
| 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x68, 0x61, 0x73, 0x52, 0x65, 0x76, 0x69, 0x73, |
| 0x69, 0x6f, 0x6e, 0x12, 0x35, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0f, 0x20, |
| 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, |
| 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, |
| 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x61, |
| 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, |
| 0x68, 0x61, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x74, 0x69, 0x6d, |
| 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, |
| 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, |
| 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, |
| 0x74, 0x61, 0x72, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x68, 0x61, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, |
| 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68, 0x61, |
| 0x73, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x74, 0x69, |
| 0x6d, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, |
| 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, |
| 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x68, 0x61, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x6e, |
| 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x54, 0x69, 0x6d, 0x65, |
| 0x45, 0x6e, 0x64, 0x22, 0x41, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4a, 0x6f, 0x62, |
| 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x04, 0x6a, 0x6f, 0x62, |
| 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, |
| 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4a, 0x6f, 0x62, |
| 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x22, 0x45, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, |
| 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x63, 0x6c, |
| 0x75, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, |
| 0x0c, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0x3f, 0x0a, |
| 0x0f, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, |
| 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, |
| 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, |
| 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x22, 0xef, |
| 0x04, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, |
| 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, |
| 0x1f, 0x0a, 0x0b, 0x68, 0x61, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x18, 0x02, |
| 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, |
| 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x73, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, |
| 0x05, 0x69, 0x73, 0x73, 0x75, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x61, 0x73, 0x5f, 0x69, 0x73, |
| 0x73, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x68, 0x61, 0x73, 0x49, 0x73, |
| 0x73, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, |
| 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x61, 0x73, 0x5f, 0x6e, |
| 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, 0x61, 0x73, 0x4e, 0x61, |
| 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x74, 0x63, 0x68, 0x73, 0x65, 0x74, 0x18, 0x07, |
| 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x74, 0x63, 0x68, 0x73, 0x65, 0x74, 0x12, 0x21, |
| 0x0a, 0x0c, 0x68, 0x61, 0x73, 0x5f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x73, 0x65, 0x74, 0x18, 0x08, |
| 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x68, 0x61, 0x73, 0x50, 0x61, 0x74, 0x63, 0x68, 0x73, 0x65, |
| 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, |
| 0x04, 0x72, 0x65, 0x70, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x70, |
| 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, 0x61, 0x73, 0x52, 0x65, 0x70, 0x6f, |
| 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, |
| 0x68, 0x61, 0x73, 0x5f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, |
| 0x28, 0x08, 0x52, 0x0b, 0x68, 0x61, 0x73, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, |
| 0x36, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, |
| 0x1e, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, |
| 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, |
| 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x61, 0x73, 0x5f, 0x73, |
| 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x68, 0x61, 0x73, |
| 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, |
| 0x74, 0x61, 0x72, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, |
| 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, |
| 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x68, 0x61, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, |
| 0x61, 0x72, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x54, 0x69, |
| 0x6d, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x5f, |
| 0x65, 0x6e, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, |
| 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, |
| 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, 0x12, 0x20, |
| 0x0a, 0x0c, 0x68, 0x61, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x12, |
| 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x68, 0x61, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x6e, 0x64, |
| 0x22, 0x45, 0x0a, 0x13, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, |
| 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, |
| 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, |
| 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, |
| 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x22, 0x19, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x53, 0x6b, |
| 0x69, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x22, 0xa7, 0x01, 0x0a, 0x0c, 0x53, 0x6b, 0x69, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, |
| 0x75, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x18, |
| 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x65, 0x64, 0x42, 0x79, 0x12, 0x2c, |
| 0x0a, 0x12, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x70, 0x61, 0x74, 0x74, |
| 0x65, 0x72, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x74, 0x61, 0x73, 0x6b, |
| 0x53, 0x70, 0x65, 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, |
| 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, |
| 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, |
| 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, |
| 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, |
| 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x52, 0x0a, 0x18, |
| 0x47, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6c, 0x65, 0x73, |
| 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, |
| 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, |
| 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6b, 0x69, |
| 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, |
| 0x22, 0x96, 0x01, 0x0a, 0x16, 0x41, 0x64, 0x64, 0x53, 0x6b, 0x69, 0x70, 0x54, 0x61, 0x73, 0x6b, |
| 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x74, |
| 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x5f, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, |
| 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, |
| 0x63, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, |
| 0x6d, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, |
| 0x69, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, |
| 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, |
| 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, |
| 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x51, 0x0a, 0x17, 0x41, 0x64, 0x64, |
| 0x53, 0x6b, 0x69, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, |
| 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, |
| 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, |
| 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6b, 0x69, 0x70, 0x54, 0x61, 0x73, |
| 0x6b, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x2b, 0x0a, 0x19, |
| 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x75, |
| 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, |
| 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x54, 0x0a, 0x1a, 0x44, 0x65, 0x6c, |
| 0x65, 0x74, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6c, 0x65, 0x52, |
| 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, |
| 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, |
| 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x6b, 0x69, 0x70, |
| 0x54, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, |
| 0xe8, 0x01, 0x0a, 0x09, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x39, 0x0a, |
| 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x74, |
| 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, |
| 0x63, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x50, 0x61, 0x74, 0x63, |
| 0x68, 0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x65, 0x70, 0x6f, |
| 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x12, 0x1a, 0x0a, 0x08, |
| 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, |
| 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x70, 0x0a, 0x05, 0x50, 0x61, 0x74, 0x63, |
| 0x68, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x73, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, |
| 0x52, 0x05, 0x69, 0x73, 0x73, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x74, 0x63, 0x68, |
| 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x74, |
| 0x63, 0x68, 0x52, 0x65, 0x70, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x74, 0x63, 0x68, 0x73, |
| 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x74, 0x63, 0x68, 0x73, |
| 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x7f, 0x0a, 0x07, 0x54, 0x61, |
| 0x73, 0x6b, 0x4b, 0x65, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x73, 0x74, |
| 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x61, 0x73, 0x6b, |
| 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x52, |
| 0x65, 0x70, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x09, 0x72, 0x65, 0x70, 0x6f, 0x53, 0x74, |
| 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, |
| 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x6f, 0x72, 0x63, 0x65, |
| 0x64, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, |
| 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x4a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0xe2, 0x06, 0x0a, 0x04, |
| 0x54, 0x61, 0x73, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x18, |
| 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x18, |
| 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, |
| 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, |
| 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, |
| 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, |
| 0x64, 0x41, 0x74, 0x12, 0x40, 0x0a, 0x0e, 0x64, 0x62, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, |
| 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, |
| 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x64, 0x62, 0x4d, 0x6f, 0x64, 0x69, 0x66, |
| 0x69, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3b, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, |
| 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, |
| 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, |
| 0x41, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, |
| 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, |
| 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x69, 0x73, 0x6f, |
| 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6a, |
| 0x6f, 0x62, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x12, |
| 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, |
| 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, |
| 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x61, 0x73, |
| 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x61, 0x72, |
| 0x65, 0x6e, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x48, 0x0a, 0x0a, 0x70, 0x72, |
| 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, |
| 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, |
| 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, |
| 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, |
| 0x74, 0x69, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x74, 0x72, 0x79, 0x5f, 0x6f, 0x66, |
| 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x74, 0x72, 0x79, 0x4f, 0x66, 0x12, |
| 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0d, 0x20, |
| 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, |
| 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, |
| 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x73, 0x74, |
| 0x61, 0x74, 0x75, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x74, 0x61, 0x73, |
| 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, |
| 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, |
| 0x75, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x62, |
| 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x77, 0x61, |
| 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x77, |
| 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x10, |
| 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x54, 0x61, |
| 0x73, 0x6b, 0x49, 0x64, 0x12, 0x36, 0x0a, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6b, 0x65, 0x79, |
| 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, |
| 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, |
| 0x4b, 0x65, 0x79, 0x52, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x4b, 0x65, 0x79, 0x12, 0x33, 0x0a, 0x05, |
| 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x61, |
| 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, |
| 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, |
| 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, |
| 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, |
| 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, |
| 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, |
| 0x22, 0x4a, 0x0a, 0x10, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, |
| 0x63, 0x69, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x73, 0x6b, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x65, |
| 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, |
| 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x22, 0xbc, 0x01, 0x0a, |
| 0x0b, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x0e, 0x0a, 0x02, |
| 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, |
| 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x61, |
| 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x74, |
| 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x61, |
| 0x78, 0x41, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x06, 0x73, 0x74, 0x61, |
| 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x74, 0x61, 0x73, 0x6b, |
| 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, |
| 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, |
| 0x73, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, |
| 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x77, 0x61, |
| 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x5a, 0x0a, 0x0d, 0x54, |
| 0x61, 0x73, 0x6b, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, |
| 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, |
| 0x12, 0x35, 0x0a, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, |
| 0x1f, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, |
| 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, |
| 0x52, 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x22, 0x4d, 0x0a, 0x0e, 0x54, 0x61, 0x73, 0x6b, 0x44, |
| 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x73, |
| 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, |
| 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, |
| 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, |
| 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x91, 0x01, 0x0a, 0x09, 0x54, 0x61, 0x73, 0x6b, 0x53, |
| 0x74, 0x61, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x6f, 0x76, |
| 0x65, 0x72, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, |
| 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x4f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x64, 0x53, 0x12, 0x2e, |
| 0x0a, 0x13, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x68, |
| 0x65, 0x61, 0x64, 0x5f, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x64, 0x6f, 0x77, |
| 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x64, 0x53, 0x12, 0x2a, |
| 0x0a, 0x11, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, |
| 0x64, 0x5f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x75, 0x70, 0x6c, 0x6f, 0x61, |
| 0x64, 0x4f, 0x76, 0x65, 0x72, 0x68, 0x65, 0x61, 0x64, 0x53, 0x22, 0xe6, 0x06, 0x0a, 0x03, 0x4a, |
| 0x6f, 0x62, 0x12, 0x30, 0x0a, 0x14, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, |
| 0x74, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, |
| 0x52, 0x12, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x75, 0x69, |
| 0x6c, 0x64, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x15, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, |
| 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, |
| 0x01, 0x28, 0x09, 0x52, 0x13, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, |
| 0x4c, 0x65, 0x61, 0x73, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, |
| 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, |
| 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, |
| 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, |
| 0x64, 0x41, 0x74, 0x12, 0x40, 0x0a, 0x0e, 0x64, 0x62, 0x5f, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, |
| 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, |
| 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x64, 0x62, 0x4d, 0x6f, 0x64, 0x69, 0x66, |
| 0x69, 0x65, 0x64, 0x41, 0x74, 0x12, 0x48, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, |
| 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x61, |
| 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, |
| 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, |
| 0x73, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, |
| 0x3b, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, |
| 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x41, 0x74, 0x12, 0x0e, 0x0a, 0x02, |
| 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, |
| 0x69, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, |
| 0x69, 0x73, 0x46, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, |
| 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, |
| 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x70, |
| 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x5f, |
| 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x61, |
| 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, |
| 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x09, 0x72, 0x65, 0x70, 0x6f, |
| 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, |
| 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, |
| 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, |
| 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, |
| 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, |
| 0x61, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, |
| 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, |
| 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, |
| 0x35, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, |
| 0x1d, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, |
| 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, |
| 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, |
| 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, |
| 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x37, 0x0a, |
| 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x74, |
| 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, |
| 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x69, 0x65, 0x73, 0x52, |
| 0x05, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x4b, 0x0a, 0x0f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x64, |
| 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, |
| 0x22, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, |
| 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, |
| 0x6f, 0x6e, 0x73, 0x52, 0x0e, 0x74, 0x61, 0x73, 0x6b, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, |
| 0x6f, 0x6e, 0x73, 0x2a, 0x88, 0x01, 0x0a, 0x0a, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, |
| 0x75, 0x73, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, |
| 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x54, |
| 0x41, 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, |
| 0x4e, 0x47, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, |
| 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x02, 0x12, 0x17, 0x0a, |
| 0x13, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, |
| 0x4c, 0x55, 0x52, 0x45, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x41, 0x53, 0x4b, 0x5f, 0x53, |
| 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4d, 0x49, 0x53, 0x48, 0x41, 0x50, 0x10, 0x04, 0x2a, 0xa1, |
| 0x01, 0x0a, 0x09, 0x4a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x16, |
| 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, |
| 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4a, 0x4f, 0x42, 0x5f, |
| 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, |
| 0x12, 0x16, 0x0a, 0x12, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, |
| 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x4a, 0x4f, 0x42, 0x5f, |
| 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x4d, 0x49, 0x53, 0x48, 0x41, 0x50, 0x10, 0x03, 0x12, |
| 0x17, 0x0a, 0x13, 0x4a, 0x4f, 0x42, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x41, |
| 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x12, 0x18, 0x0a, 0x14, 0x4a, 0x4f, 0x42, 0x5f, |
| 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x45, 0x44, |
| 0x10, 0x05, 0x32, 0x82, 0x07, 0x0a, 0x14, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x63, 0x68, 0x65, 0x64, |
| 0x75, 0x6c, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5e, 0x0a, 0x0b, 0x54, |
| 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x26, 0x2e, 0x74, 0x61, 0x73, |
| 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, |
| 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, |
| 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x4a, |
| 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x47, |
| 0x65, 0x74, 0x4a, 0x6f, 0x62, 0x12, 0x21, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, |
| 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4a, 0x6f, |
| 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, |
| 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, |
| 0x74, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x09, |
| 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x12, 0x24, 0x2e, 0x74, 0x61, 0x73, 0x6b, |
| 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, |
| 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, |
| 0x25, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, |
| 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x4a, 0x6f, 0x62, 0x52, 0x65, |
| 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x0a, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, |
| 0x4a, 0x6f, 0x62, 0x73, 0x12, 0x25, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, |
| 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, |
| 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x74, 0x61, |
| 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, |
| 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4a, 0x6f, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, |
| 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x22, |
| 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, |
| 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, |
| 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x52, |
| 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, |
| 0x68, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x26, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, |
| 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x61, 0x72, |
| 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, |
| 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, |
| 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, |
| 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6d, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x6b, |
| 0x69, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x2b, 0x2e, 0x74, 0x61, |
| 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, |
| 0x2e, 0x47, 0x65, 0x74, 0x53, 0x6b, 0x69, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6c, 0x65, |
| 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, |
| 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, |
| 0x74, 0x53, 0x6b, 0x69, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, |
| 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6a, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x53, 0x6b, 0x69, |
| 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x74, 0x61, 0x73, 0x6b, |
| 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x41, |
| 0x64, 0x64, 0x53, 0x6b, 0x69, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x63, 0x68, |
| 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x53, 0x6b, |
| 0x69, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, |
| 0x73, 0x65, 0x12, 0x73, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6b, 0x69, 0x70, |
| 0x54, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x2d, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, |
| 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, |
| 0x6c, 0x65, 0x74, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6c, 0x65, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, |
| 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x6c, |
| 0x65, 0x74, 0x65, 0x53, 0x6b, 0x69, 0x70, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6c, 0x65, 0x52, |
| 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x29, 0x5a, 0x27, 0x67, 0x6f, 0x2e, 0x73, 0x6b, |
| 0x69, 0x61, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2f, 0x74, 0x61, 0x73, |
| 0x6b, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2f, 0x67, 0x6f, 0x2f, 0x72, |
| 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, |
| } |
| |
| var ( |
| file_rpc_proto_rawDescOnce sync.Once |
| file_rpc_proto_rawDescData = file_rpc_proto_rawDesc |
| ) |
| |
| func file_rpc_proto_rawDescGZIP() []byte { |
| file_rpc_proto_rawDescOnce.Do(func() { |
| file_rpc_proto_rawDescData = protoimpl.X.CompressGZIP(file_rpc_proto_rawDescData) |
| }) |
| return file_rpc_proto_rawDescData |
| } |
| |
| var file_rpc_proto_enumTypes = make([]protoimpl.EnumInfo, 2) |
| var file_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 31) |
| var file_rpc_proto_goTypes = []interface{}{ |
| (TaskStatus)(0), // 0: task_scheduler.rpc.TaskStatus |
| (JobStatus)(0), // 1: task_scheduler.rpc.JobStatus |
| (*TriggerJob)(nil), // 2: task_scheduler.rpc.TriggerJob |
| (*TriggerJobsRequest)(nil), // 3: task_scheduler.rpc.TriggerJobsRequest |
| (*TriggerJobsResponse)(nil), // 4: task_scheduler.rpc.TriggerJobsResponse |
| (*GetJobRequest)(nil), // 5: task_scheduler.rpc.GetJobRequest |
| (*GetJobResponse)(nil), // 6: task_scheduler.rpc.GetJobResponse |
| (*CancelJobRequest)(nil), // 7: task_scheduler.rpc.CancelJobRequest |
| (*CancelJobResponse)(nil), // 8: task_scheduler.rpc.CancelJobResponse |
| (*SearchJobsRequest)(nil), // 9: task_scheduler.rpc.SearchJobsRequest |
| (*SearchJobsResponse)(nil), // 10: task_scheduler.rpc.SearchJobsResponse |
| (*GetTaskRequest)(nil), // 11: task_scheduler.rpc.GetTaskRequest |
| (*GetTaskResponse)(nil), // 12: task_scheduler.rpc.GetTaskResponse |
| (*SearchTasksRequest)(nil), // 13: task_scheduler.rpc.SearchTasksRequest |
| (*SearchTasksResponse)(nil), // 14: task_scheduler.rpc.SearchTasksResponse |
| (*GetSkipTaskRulesRequest)(nil), // 15: task_scheduler.rpc.GetSkipTaskRulesRequest |
| (*SkipTaskRule)(nil), // 16: task_scheduler.rpc.SkipTaskRule |
| (*GetSkipTaskRulesResponse)(nil), // 17: task_scheduler.rpc.GetSkipTaskRulesResponse |
| (*AddSkipTaskRuleRequest)(nil), // 18: task_scheduler.rpc.AddSkipTaskRuleRequest |
| (*AddSkipTaskRuleResponse)(nil), // 19: task_scheduler.rpc.AddSkipTaskRuleResponse |
| (*DeleteSkipTaskRuleRequest)(nil), // 20: task_scheduler.rpc.DeleteSkipTaskRuleRequest |
| (*DeleteSkipTaskRuleResponse)(nil), // 21: task_scheduler.rpc.DeleteSkipTaskRuleResponse |
| (*RepoState)(nil), // 22: task_scheduler.rpc.RepoState |
| (*TaskKey)(nil), // 23: task_scheduler.rpc.TaskKey |
| (*Task)(nil), // 24: task_scheduler.rpc.Task |
| (*TaskDependencies)(nil), // 25: task_scheduler.rpc.TaskDependencies |
| (*TaskSummary)(nil), // 26: task_scheduler.rpc.TaskSummary |
| (*TaskSummaries)(nil), // 27: task_scheduler.rpc.TaskSummaries |
| (*TaskDimensions)(nil), // 28: task_scheduler.rpc.TaskDimensions |
| (*TaskStats)(nil), // 29: task_scheduler.rpc.TaskStats |
| (*Job)(nil), // 30: task_scheduler.rpc.Job |
| (*RepoState_Patch)(nil), // 31: task_scheduler.rpc.RepoState.Patch |
| nil, // 32: task_scheduler.rpc.Task.PropertiesEntry |
| (*timestamppb.Timestamp)(nil), // 33: google.protobuf.Timestamp |
| } |
| var file_rpc_proto_depIdxs = []int32{ |
| 2, // 0: task_scheduler.rpc.TriggerJobsRequest.jobs:type_name -> task_scheduler.rpc.TriggerJob |
| 30, // 1: task_scheduler.rpc.GetJobResponse.job:type_name -> task_scheduler.rpc.Job |
| 30, // 2: task_scheduler.rpc.CancelJobResponse.job:type_name -> task_scheduler.rpc.Job |
| 1, // 3: task_scheduler.rpc.SearchJobsRequest.status:type_name -> task_scheduler.rpc.JobStatus |
| 33, // 4: task_scheduler.rpc.SearchJobsRequest.time_start:type_name -> google.protobuf.Timestamp |
| 33, // 5: task_scheduler.rpc.SearchJobsRequest.time_end:type_name -> google.protobuf.Timestamp |
| 30, // 6: task_scheduler.rpc.SearchJobsResponse.jobs:type_name -> task_scheduler.rpc.Job |
| 24, // 7: task_scheduler.rpc.GetTaskResponse.task:type_name -> task_scheduler.rpc.Task |
| 0, // 8: task_scheduler.rpc.SearchTasksRequest.status:type_name -> task_scheduler.rpc.TaskStatus |
| 33, // 9: task_scheduler.rpc.SearchTasksRequest.time_start:type_name -> google.protobuf.Timestamp |
| 33, // 10: task_scheduler.rpc.SearchTasksRequest.time_end:type_name -> google.protobuf.Timestamp |
| 24, // 11: task_scheduler.rpc.SearchTasksResponse.tasks:type_name -> task_scheduler.rpc.Task |
| 16, // 12: task_scheduler.rpc.GetSkipTaskRulesResponse.rules:type_name -> task_scheduler.rpc.SkipTaskRule |
| 16, // 13: task_scheduler.rpc.AddSkipTaskRuleResponse.rules:type_name -> task_scheduler.rpc.SkipTaskRule |
| 16, // 14: task_scheduler.rpc.DeleteSkipTaskRuleResponse.rules:type_name -> task_scheduler.rpc.SkipTaskRule |
| 31, // 15: task_scheduler.rpc.RepoState.patch:type_name -> task_scheduler.rpc.RepoState.Patch |
| 22, // 16: task_scheduler.rpc.TaskKey.repo_state:type_name -> task_scheduler.rpc.RepoState |
| 33, // 17: task_scheduler.rpc.Task.created_at:type_name -> google.protobuf.Timestamp |
| 33, // 18: task_scheduler.rpc.Task.db_modified_at:type_name -> google.protobuf.Timestamp |
| 33, // 19: task_scheduler.rpc.Task.finished_at:type_name -> google.protobuf.Timestamp |
| 32, // 20: task_scheduler.rpc.Task.properties:type_name -> task_scheduler.rpc.Task.PropertiesEntry |
| 33, // 21: task_scheduler.rpc.Task.started_at:type_name -> google.protobuf.Timestamp |
| 0, // 22: task_scheduler.rpc.Task.status:type_name -> task_scheduler.rpc.TaskStatus |
| 23, // 23: task_scheduler.rpc.Task.task_key:type_name -> task_scheduler.rpc.TaskKey |
| 29, // 24: task_scheduler.rpc.Task.stats:type_name -> task_scheduler.rpc.TaskStats |
| 0, // 25: task_scheduler.rpc.TaskSummary.status:type_name -> task_scheduler.rpc.TaskStatus |
| 26, // 26: task_scheduler.rpc.TaskSummaries.tasks:type_name -> task_scheduler.rpc.TaskSummary |
| 33, // 27: task_scheduler.rpc.Job.created_at:type_name -> google.protobuf.Timestamp |
| 33, // 28: task_scheduler.rpc.Job.db_modified_at:type_name -> google.protobuf.Timestamp |
| 25, // 29: task_scheduler.rpc.Job.dependencies:type_name -> task_scheduler.rpc.TaskDependencies |
| 33, // 30: task_scheduler.rpc.Job.finished_at:type_name -> google.protobuf.Timestamp |
| 22, // 31: task_scheduler.rpc.Job.repo_state:type_name -> task_scheduler.rpc.RepoState |
| 33, // 32: task_scheduler.rpc.Job.requested_at:type_name -> google.protobuf.Timestamp |
| 33, // 33: task_scheduler.rpc.Job.started_at:type_name -> google.protobuf.Timestamp |
| 1, // 34: task_scheduler.rpc.Job.status:type_name -> task_scheduler.rpc.JobStatus |
| 27, // 35: task_scheduler.rpc.Job.tasks:type_name -> task_scheduler.rpc.TaskSummaries |
| 28, // 36: task_scheduler.rpc.Job.task_dimensions:type_name -> task_scheduler.rpc.TaskDimensions |
| 3, // 37: task_scheduler.rpc.TaskSchedulerService.TriggerJobs:input_type -> task_scheduler.rpc.TriggerJobsRequest |
| 5, // 38: task_scheduler.rpc.TaskSchedulerService.GetJob:input_type -> task_scheduler.rpc.GetJobRequest |
| 7, // 39: task_scheduler.rpc.TaskSchedulerService.CancelJob:input_type -> task_scheduler.rpc.CancelJobRequest |
| 9, // 40: task_scheduler.rpc.TaskSchedulerService.SearchJobs:input_type -> task_scheduler.rpc.SearchJobsRequest |
| 11, // 41: task_scheduler.rpc.TaskSchedulerService.GetTask:input_type -> task_scheduler.rpc.GetTaskRequest |
| 13, // 42: task_scheduler.rpc.TaskSchedulerService.SearchTasks:input_type -> task_scheduler.rpc.SearchTasksRequest |
| 15, // 43: task_scheduler.rpc.TaskSchedulerService.GetSkipTaskRules:input_type -> task_scheduler.rpc.GetSkipTaskRulesRequest |
| 18, // 44: task_scheduler.rpc.TaskSchedulerService.AddSkipTaskRule:input_type -> task_scheduler.rpc.AddSkipTaskRuleRequest |
| 20, // 45: task_scheduler.rpc.TaskSchedulerService.DeleteSkipTaskRule:input_type -> task_scheduler.rpc.DeleteSkipTaskRuleRequest |
| 4, // 46: task_scheduler.rpc.TaskSchedulerService.TriggerJobs:output_type -> task_scheduler.rpc.TriggerJobsResponse |
| 6, // 47: task_scheduler.rpc.TaskSchedulerService.GetJob:output_type -> task_scheduler.rpc.GetJobResponse |
| 8, // 48: task_scheduler.rpc.TaskSchedulerService.CancelJob:output_type -> task_scheduler.rpc.CancelJobResponse |
| 10, // 49: task_scheduler.rpc.TaskSchedulerService.SearchJobs:output_type -> task_scheduler.rpc.SearchJobsResponse |
| 12, // 50: task_scheduler.rpc.TaskSchedulerService.GetTask:output_type -> task_scheduler.rpc.GetTaskResponse |
| 14, // 51: task_scheduler.rpc.TaskSchedulerService.SearchTasks:output_type -> task_scheduler.rpc.SearchTasksResponse |
| 17, // 52: task_scheduler.rpc.TaskSchedulerService.GetSkipTaskRules:output_type -> task_scheduler.rpc.GetSkipTaskRulesResponse |
| 19, // 53: task_scheduler.rpc.TaskSchedulerService.AddSkipTaskRule:output_type -> task_scheduler.rpc.AddSkipTaskRuleResponse |
| 21, // 54: task_scheduler.rpc.TaskSchedulerService.DeleteSkipTaskRule:output_type -> task_scheduler.rpc.DeleteSkipTaskRuleResponse |
| 46, // [46:55] is the sub-list for method output_type |
| 37, // [37:46] is the sub-list for method input_type |
| 37, // [37:37] is the sub-list for extension type_name |
| 37, // [37:37] is the sub-list for extension extendee |
| 0, // [0:37] is the sub-list for field type_name |
| } |
| |
| func init() { file_rpc_proto_init() } |
| func file_rpc_proto_init() { |
| if File_rpc_proto != nil { |
| return |
| } |
| if !protoimpl.UnsafeEnabled { |
| file_rpc_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TriggerJob); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TriggerJobsRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TriggerJobsResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*GetJobRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*GetJobResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CancelJobRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CancelJobResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SearchJobsRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SearchJobsResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*GetTaskRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*GetTaskResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SearchTasksRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SearchTasksResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*GetSkipTaskRulesRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SkipTaskRule); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*GetSkipTaskRulesResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*AddSkipTaskRuleRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*AddSkipTaskRuleResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DeleteSkipTaskRuleRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DeleteSkipTaskRuleResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*RepoState); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TaskKey); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Task); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TaskDependencies); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TaskSummary); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TaskSummaries); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TaskDimensions); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TaskStats); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Job); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_rpc_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*RepoState_Patch); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| } |
| type x struct{} |
| out := protoimpl.TypeBuilder{ |
| File: protoimpl.DescBuilder{ |
| GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
| RawDescriptor: file_rpc_proto_rawDesc, |
| NumEnums: 2, |
| NumMessages: 31, |
| NumExtensions: 0, |
| NumServices: 1, |
| }, |
| GoTypes: file_rpc_proto_goTypes, |
| DependencyIndexes: file_rpc_proto_depIdxs, |
| EnumInfos: file_rpc_proto_enumTypes, |
| MessageInfos: file_rpc_proto_msgTypes, |
| }.Build() |
| File_rpc_proto = out.File |
| file_rpc_proto_rawDesc = nil |
| file_rpc_proto_goTypes = nil |
| file_rpc_proto_depIdxs = nil |
| } |