| // Copyright 2022 The LUCI Authors. All rights reserved. |
| // Use of this source code is governed under the Apache License, Version 2.0 |
| // that can be found in the LICENSE file. |
| |
| // Code generated by protoc-gen-go. DO NOT EDIT. |
| // versions: |
| // protoc-gen-go v1.33.0 |
| // protoc v3.21.7 |
| // source: go.chromium.org/luci/swarming/proto/api_v2/swarming.proto |
| |
| package apipb |
| |
| import ( |
| status "google.golang.org/genproto/googleapis/rpc/status" |
| protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
| protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
| emptypb "google.golang.org/protobuf/types/known/emptypb" |
| timestamppb "google.golang.org/protobuf/types/known/timestamppb" |
| reflect "reflect" |
| sync "sync" |
| ) |
| |
| 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) |
| ) |
| |
| // Use one of the values in this enum to query for tasks in one of the |
| // specified state. |
| // |
| // Use 'ALL' to not use any filtering based on task state. |
| // |
| // As an example, this enum enables querying for all tasks with state COMPLETED |
| // but non-zero exit code via COMPLETED_FAILURE. |
| // |
| // Do not confuse StateQuery and TaskState. StateQuery is to query tasks |
| // via the API. TaskState is the current task state. |
| type StateQuery int32 |
| |
| const ( |
| // Query for all tasks currently TaskState.PENDING. |
| StateQuery_QUERY_PENDING StateQuery = 0 |
| // Query for all tasks currently TaskState.RUNNING. This includes tasks |
| // currently in the overhead phase; mapping input files or archiving outputs |
| // back to the server. |
| StateQuery_QUERY_RUNNING StateQuery = 1 |
| // Query for all tasks currently TaskState.PENDING or TaskState.RUNNING. This |
| // is the query for the 'active' tasks. |
| StateQuery_QUERY_PENDING_RUNNING StateQuery = 2 |
| // Query for all tasks that completed normally as TaskState.COMPLETED, |
| // independent of the process exit code. |
| StateQuery_QUERY_COMPLETED StateQuery = 3 |
| // Query for all tasks that completed normally as TaskState.COMPLETED and that |
| // had exit code 0. |
| StateQuery_QUERY_COMPLETED_SUCCESS StateQuery = 4 |
| // Query for all tasks that completed normally as TaskState.COMPLETED and that |
| // had exit code not 0. |
| StateQuery_QUERY_COMPLETED_FAILURE StateQuery = 5 |
| // Query for all tasks that are TaskState.EXPIRED. |
| StateQuery_QUERY_EXPIRED StateQuery = 6 |
| // Query for all tasks that are TaskState.TIMED_OUT. |
| StateQuery_QUERY_TIMED_OUT StateQuery = 7 |
| // Query for all tasks that are TaskState.BOT_DIED. |
| StateQuery_QUERY_BOT_DIED StateQuery = 8 |
| // Query for all tasks that are TaskState.CANCELED. |
| StateQuery_QUERY_CANCELED StateQuery = 9 |
| // Query for all tasks, independent of the task state. |
| // |
| // In hindsight, this constant should have been the value 0. Sorry, the |
| // original author was young and foolish. |
| StateQuery_QUERY_ALL StateQuery = 10 |
| // Query for all tasks that are TaskState.COMPLETED but that actually didn't |
| // run due to TaskProperties.idempotent being True *and* that a previous task |
| // with the exact same TaskProperties had successfully run before, aka |
| // COMPLETED_SUCCESS. |
| StateQuery_QUERY_DEDUPED StateQuery = 11 |
| // Query for all tasks that are TaskState.KILLED. |
| StateQuery_QUERY_KILLED StateQuery = 12 |
| // Query for all tasks that are TaskState.NO_RESOURCE. |
| StateQuery_QUERY_NO_RESOURCE StateQuery = 13 |
| // Query for all tasks that are TaskState.CLIENT_ERROR. |
| StateQuery_QUERY_CLIENT_ERROR StateQuery = 14 |
| ) |
| |
| // Enum value maps for StateQuery. |
| var ( |
| StateQuery_name = map[int32]string{ |
| 0: "QUERY_PENDING", |
| 1: "QUERY_RUNNING", |
| 2: "QUERY_PENDING_RUNNING", |
| 3: "QUERY_COMPLETED", |
| 4: "QUERY_COMPLETED_SUCCESS", |
| 5: "QUERY_COMPLETED_FAILURE", |
| 6: "QUERY_EXPIRED", |
| 7: "QUERY_TIMED_OUT", |
| 8: "QUERY_BOT_DIED", |
| 9: "QUERY_CANCELED", |
| 10: "QUERY_ALL", |
| 11: "QUERY_DEDUPED", |
| 12: "QUERY_KILLED", |
| 13: "QUERY_NO_RESOURCE", |
| 14: "QUERY_CLIENT_ERROR", |
| } |
| StateQuery_value = map[string]int32{ |
| "QUERY_PENDING": 0, |
| "QUERY_RUNNING": 1, |
| "QUERY_PENDING_RUNNING": 2, |
| "QUERY_COMPLETED": 3, |
| "QUERY_COMPLETED_SUCCESS": 4, |
| "QUERY_COMPLETED_FAILURE": 5, |
| "QUERY_EXPIRED": 6, |
| "QUERY_TIMED_OUT": 7, |
| "QUERY_BOT_DIED": 8, |
| "QUERY_CANCELED": 9, |
| "QUERY_ALL": 10, |
| "QUERY_DEDUPED": 11, |
| "QUERY_KILLED": 12, |
| "QUERY_NO_RESOURCE": 13, |
| "QUERY_CLIENT_ERROR": 14, |
| } |
| ) |
| |
| func (x StateQuery) Enum() *StateQuery { |
| p := new(StateQuery) |
| *p = x |
| return p |
| } |
| |
| func (x StateQuery) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (StateQuery) Descriptor() protoreflect.EnumDescriptor { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[0].Descriptor() |
| } |
| |
| func (StateQuery) Type() protoreflect.EnumType { |
| return &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[0] |
| } |
| |
| func (x StateQuery) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use StateQuery.Descriptor instead. |
| func (StateQuery) EnumDescriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{0} |
| } |
| |
| // Flag to sort returned tasks. The natural sort is CREATED_TS. |
| type SortQuery int32 |
| |
| const ( |
| SortQuery_QUERY_CREATED_TS SortQuery = 0 |
| SortQuery_QUERY_COMPLETED_TS SortQuery = 2 |
| SortQuery_QUERY_ABANDONED_TS SortQuery = 3 |
| SortQuery_QUERY_STARTED_TS SortQuery = 4 |
| ) |
| |
| // Enum value maps for SortQuery. |
| var ( |
| SortQuery_name = map[int32]string{ |
| 0: "QUERY_CREATED_TS", |
| 2: "QUERY_COMPLETED_TS", |
| 3: "QUERY_ABANDONED_TS", |
| 4: "QUERY_STARTED_TS", |
| } |
| SortQuery_value = map[string]int32{ |
| "QUERY_CREATED_TS": 0, |
| "QUERY_COMPLETED_TS": 2, |
| "QUERY_ABANDONED_TS": 3, |
| "QUERY_STARTED_TS": 4, |
| } |
| ) |
| |
| func (x SortQuery) Enum() *SortQuery { |
| p := new(SortQuery) |
| *p = x |
| return p |
| } |
| |
| func (x SortQuery) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (SortQuery) Descriptor() protoreflect.EnumDescriptor { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[1].Descriptor() |
| } |
| |
| func (SortQuery) Type() protoreflect.EnumType { |
| return &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[1] |
| } |
| |
| func (x SortQuery) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use SortQuery.Descriptor instead. |
| func (SortQuery) EnumDescriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{1} |
| } |
| |
| type NullableBool int32 |
| |
| const ( |
| NullableBool_NULL NullableBool = 0 |
| NullableBool_FALSE NullableBool = 1 |
| NullableBool_TRUE NullableBool = 2 |
| ) |
| |
| // Enum value maps for NullableBool. |
| var ( |
| NullableBool_name = map[int32]string{ |
| 0: "NULL", |
| 1: "FALSE", |
| 2: "TRUE", |
| } |
| NullableBool_value = map[string]int32{ |
| "NULL": 0, |
| "FALSE": 1, |
| "TRUE": 2, |
| } |
| ) |
| |
| func (x NullableBool) Enum() *NullableBool { |
| p := new(NullableBool) |
| *p = x |
| return p |
| } |
| |
| func (x NullableBool) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (NullableBool) Descriptor() protoreflect.EnumDescriptor { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[2].Descriptor() |
| } |
| |
| func (NullableBool) Type() protoreflect.EnumType { |
| return &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[2] |
| } |
| |
| func (x NullableBool) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use NullableBool.Descriptor instead. |
| func (NullableBool) EnumDescriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{2} |
| } |
| |
| // Represents the current task state. |
| // |
| // Some states are still mutable: PENDING and RUNNING. The others are final and |
| // will not change afterward. |
| // |
| // A task is guaranteed to be in exactly one state at any point of time. |
| // |
| // Do not confuse StateQuery and TaskState. StateQuery is to query tasks |
| // via the API. TaskState is the current task state. |
| // |
| // As you read the following constants, astute readers may wonder why these |
| // constants look like a bitmask. This is because of historical reasons and this |
| // is effectively an enum, not a bitmask. |
| type TaskState int32 |
| |
| const ( |
| // Invalid state, do not use. |
| TaskState_INVALID TaskState = 0 |
| // The task is currently running. This is in fact 3 phases: the initial |
| // overhead to fetch input files, the actual task running, and the tear down |
| // overhead to archive output files to the server. |
| TaskState_RUNNING TaskState = 16 |
| // The task is currently pending. This means that no bot reaped the task. It |
| // will stay in this state until either a task reaps it or the expiration |
| // elapsed. The task pending expiration is specified as |
| // TaskSlice.expiration_secs, one per task slice. |
| TaskState_PENDING TaskState = 32 |
| // The task is not pending anymore, and never ran due to lack of capacity. This |
| // means that other higher priority tasks ran instead and that not enough bots |
| // were available to run this task for TaskSlice.expiration_secs seconds. |
| TaskState_EXPIRED TaskState = 48 |
| // The task ran for longer than the allowed time in |
| // TaskProperties.execution_timeout_secs or TaskProperties.io_timeout_secs. |
| // This means the bot forcefully killed the task process as described in the |
| // graceful termination dance in the documentation. |
| TaskState_TIMED_OUT TaskState = 64 |
| // The task ran but the bot had an internal failure, unrelated to the task |
| // itself. It can be due to the server being unavailable to get task update, |
| // the host on which the bot is running crashing or rebooting, etc. |
| TaskState_BOT_DIED TaskState = 80 |
| // The task never ran, and was manually cancelled via the 'cancel' API before |
| // it was reaped. |
| TaskState_CANCELED TaskState = 96 |
| // The task ran and completed normally. The task process exit code may be 0 or |
| // another value. |
| TaskState_COMPLETED TaskState = 112 |
| // The task ran but was manually killed via the 'cancel' API. This means the |
| // bot forcefully killed the task process as described in the graceful |
| // termination dance in the documentation. |
| TaskState_KILLED TaskState = 128 |
| // The task was never set to PENDING and was immediately refused, as the server |
| // determined that there is no bot capacity to run this task. This happens |
| // because no bot exposes a superset of the requested task dimensions. |
| // |
| // Set TaskSlice.wait_for_capacity to True to force the server to keep the task |
| // slice pending even in this case. Generally speaking, the task will |
| // eventually switch to EXPIRED, as there's no bot to run it. That said, there |
| // are situations where it is known that in some not-too-distant future a wild |
| // bot will appear that will be able to run this task. |
| TaskState_NO_RESOURCE TaskState = 256 |
| // The task run into an issue that was caused by the client. It can be due to |
| // a bad CIPD or CAS package. Retrying the task with the same parameters will |
| // not change the result. |
| TaskState_CLIENT_ERROR TaskState = 512 |
| ) |
| |
| // Enum value maps for TaskState. |
| var ( |
| TaskState_name = map[int32]string{ |
| 0: "INVALID", |
| 16: "RUNNING", |
| 32: "PENDING", |
| 48: "EXPIRED", |
| 64: "TIMED_OUT", |
| 80: "BOT_DIED", |
| 96: "CANCELED", |
| 112: "COMPLETED", |
| 128: "KILLED", |
| 256: "NO_RESOURCE", |
| 512: "CLIENT_ERROR", |
| } |
| TaskState_value = map[string]int32{ |
| "INVALID": 0, |
| "RUNNING": 16, |
| "PENDING": 32, |
| "EXPIRED": 48, |
| "TIMED_OUT": 64, |
| "BOT_DIED": 80, |
| "CANCELED": 96, |
| "COMPLETED": 112, |
| "KILLED": 128, |
| "NO_RESOURCE": 256, |
| "CLIENT_ERROR": 512, |
| } |
| ) |
| |
| func (x TaskState) Enum() *TaskState { |
| p := new(TaskState) |
| *p = x |
| return p |
| } |
| |
| func (x TaskState) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (TaskState) Descriptor() protoreflect.EnumDescriptor { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[3].Descriptor() |
| } |
| |
| func (TaskState) Type() protoreflect.EnumType { |
| return &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[3] |
| } |
| |
| func (x TaskState) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use TaskState.Descriptor instead. |
| func (TaskState) EnumDescriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{3} |
| } |
| |
| type Containment_ContainmentType int32 |
| |
| const ( |
| // Historical value, not specified. Containment may or may not be used. |
| Containment_NOT_SPECIFIED Containment_ContainmentType = 0 |
| // No containment, the default for now. |
| Containment_NONE Containment_ContainmentType = 1 |
| // Use the containment appropriate on the platform. |
| Containment_AUTO Containment_ContainmentType = 2 |
| // Use Job Object on Windows. Will fail if used on other platforms. |
| Containment_JOB_OBJECT Containment_ContainmentType = 3 |
| ) |
| |
| // Enum value maps for Containment_ContainmentType. |
| var ( |
| Containment_ContainmentType_name = map[int32]string{ |
| 0: "NOT_SPECIFIED", |
| 1: "NONE", |
| 2: "AUTO", |
| 3: "JOB_OBJECT", |
| } |
| Containment_ContainmentType_value = map[string]int32{ |
| "NOT_SPECIFIED": 0, |
| "NONE": 1, |
| "AUTO": 2, |
| "JOB_OBJECT": 3, |
| } |
| ) |
| |
| func (x Containment_ContainmentType) Enum() *Containment_ContainmentType { |
| p := new(Containment_ContainmentType) |
| *p = x |
| return p |
| } |
| |
| func (x Containment_ContainmentType) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (Containment_ContainmentType) Descriptor() protoreflect.EnumDescriptor { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[4].Descriptor() |
| } |
| |
| func (Containment_ContainmentType) Type() protoreflect.EnumType { |
| return &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[4] |
| } |
| |
| func (x Containment_ContainmentType) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use Containment_ContainmentType.Descriptor instead. |
| func (Containment_ContainmentType) EnumDescriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{11, 0} |
| } |
| |
| // Controls the application of the pool's TaskTemplate to the creation of this |
| // task. By default this will automatically select the pool's preference for |
| // template, but you can also instruct swarming to prefer/prevent the |
| // application of canary templates, as well as skipping the template |
| // altogether. |
| type NewTaskRequest_PoolTaskTemplateField int32 |
| |
| const ( |
| NewTaskRequest_AUTO NewTaskRequest_PoolTaskTemplateField = 0 |
| NewTaskRequest_CANARY_PREFER NewTaskRequest_PoolTaskTemplateField = 1 |
| NewTaskRequest_CANARY_NEVER NewTaskRequest_PoolTaskTemplateField = 2 |
| NewTaskRequest_SKIP NewTaskRequest_PoolTaskTemplateField = 3 |
| ) |
| |
| // Enum value maps for NewTaskRequest_PoolTaskTemplateField. |
| var ( |
| NewTaskRequest_PoolTaskTemplateField_name = map[int32]string{ |
| 0: "AUTO", |
| 1: "CANARY_PREFER", |
| 2: "CANARY_NEVER", |
| 3: "SKIP", |
| } |
| NewTaskRequest_PoolTaskTemplateField_value = map[string]int32{ |
| "AUTO": 0, |
| "CANARY_PREFER": 1, |
| "CANARY_NEVER": 2, |
| "SKIP": 3, |
| } |
| ) |
| |
| func (x NewTaskRequest_PoolTaskTemplateField) Enum() *NewTaskRequest_PoolTaskTemplateField { |
| p := new(NewTaskRequest_PoolTaskTemplateField) |
| *p = x |
| return p |
| } |
| |
| func (x NewTaskRequest_PoolTaskTemplateField) String() string { |
| return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) |
| } |
| |
| func (NewTaskRequest_PoolTaskTemplateField) Descriptor() protoreflect.EnumDescriptor { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[5].Descriptor() |
| } |
| |
| func (NewTaskRequest_PoolTaskTemplateField) Type() protoreflect.EnumType { |
| return &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes[5] |
| } |
| |
| func (x NewTaskRequest_PoolTaskTemplateField) Number() protoreflect.EnumNumber { |
| return protoreflect.EnumNumber(x) |
| } |
| |
| // Deprecated: Use NewTaskRequest_PoolTaskTemplateField.Descriptor instead. |
| func (NewTaskRequest_PoolTaskTemplateField) EnumDescriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{16, 0} |
| } |
| |
| // Represents a mapping of string to a string. |
| // |
| // If the StringPair is itself repeated inside another message, the list |
| // must be sorted by key and the keys must be unique. |
| type StringPair struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` |
| Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` |
| } |
| |
| func (x *StringPair) Reset() { |
| *x = StringPair{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[0] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *StringPair) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*StringPair) ProtoMessage() {} |
| |
| func (x *StringPair) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 StringPair.ProtoReflect.Descriptor instead. |
| func (*StringPair) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{0} |
| } |
| |
| func (x *StringPair) GetKey() string { |
| if x != nil { |
| return x.Key |
| } |
| return "" |
| } |
| |
| func (x *StringPair) GetValue() string { |
| if x != nil { |
| return x.Value |
| } |
| return "" |
| } |
| |
| // Represents a mapping of string to a list of strings. |
| // |
| // If the StringListPair is itself repeated inside another message, the list |
| // must be sorted by key and the keys must be unique. |
| type StringListPair struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` |
| // All the values for this key. values must be sorted. Human readable. |
| // |
| // This string should make sense to a user in the context of 'key'. |
| Value []string `protobuf:"bytes,2,rep,name=value,proto3" json:"value,omitempty"` |
| } |
| |
| func (x *StringListPair) Reset() { |
| *x = StringListPair{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[1] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *StringListPair) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*StringListPair) ProtoMessage() {} |
| |
| func (x *StringListPair) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 StringListPair.ProtoReflect.Descriptor instead. |
| func (*StringListPair) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{1} |
| } |
| |
| func (x *StringListPair) GetKey() string { |
| if x != nil { |
| return x.Key |
| } |
| return "" |
| } |
| |
| func (x *StringListPair) GetValue() []string { |
| if x != nil { |
| return x.Value |
| } |
| return nil |
| } |
| |
| // Public details about the server. |
| type ServerDetails struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| ServerVersion string `protobuf:"bytes,1,opt,name=server_version,json=serverVersion,proto3" json:"server_version,omitempty"` |
| BotVersion string `protobuf:"bytes,2,opt,name=bot_version,json=botVersion,proto3" json:"bot_version,omitempty"` |
| // Deprecated: Marked as deprecated in go.chromium.org/luci/swarming/proto/api_v2/swarming.proto. |
| MachineProviderTemplate string `protobuf:"bytes,3,opt,name=machine_provider_template,json=machineProviderTemplate,proto3" json:"machine_provider_template,omitempty"` |
| DisplayServerUrlTemplate string `protobuf:"bytes,4,opt,name=display_server_url_template,json=displayServerUrlTemplate,proto3" json:"display_server_url_template,omitempty"` |
| // Deprecated: Marked as deprecated in go.chromium.org/luci/swarming/proto/api_v2/swarming.proto. |
| LuciConfig string `protobuf:"bytes,5,opt,name=luci_config,json=luciConfig,proto3" json:"luci_config,omitempty"` |
| CasViewerServer string `protobuf:"bytes,6,opt,name=cas_viewer_server,json=casViewerServer,proto3" json:"cas_viewer_server,omitempty"` |
| } |
| |
| func (x *ServerDetails) Reset() { |
| *x = ServerDetails{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[2] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ServerDetails) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ServerDetails) ProtoMessage() {} |
| |
| func (x *ServerDetails) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 ServerDetails.ProtoReflect.Descriptor instead. |
| func (*ServerDetails) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{2} |
| } |
| |
| func (x *ServerDetails) GetServerVersion() string { |
| if x != nil { |
| return x.ServerVersion |
| } |
| return "" |
| } |
| |
| func (x *ServerDetails) GetBotVersion() string { |
| if x != nil { |
| return x.BotVersion |
| } |
| return "" |
| } |
| |
| // Deprecated: Marked as deprecated in go.chromium.org/luci/swarming/proto/api_v2/swarming.proto. |
| func (x *ServerDetails) GetMachineProviderTemplate() string { |
| if x != nil { |
| return x.MachineProviderTemplate |
| } |
| return "" |
| } |
| |
| func (x *ServerDetails) GetDisplayServerUrlTemplate() string { |
| if x != nil { |
| return x.DisplayServerUrlTemplate |
| } |
| return "" |
| } |
| |
| // Deprecated: Marked as deprecated in go.chromium.org/luci/swarming/proto/api_v2/swarming.proto. |
| func (x *ServerDetails) GetLuciConfig() string { |
| if x != nil { |
| return x.LuciConfig |
| } |
| return "" |
| } |
| |
| func (x *ServerDetails) GetCasViewerServer() string { |
| if x != nil { |
| return x.CasViewerServer |
| } |
| return "" |
| } |
| |
| // An opaque token that can be used to bootstrap a new bot. |
| type BootstrapToken struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| BootstrapToken string `protobuf:"bytes,1,opt,name=bootstrap_token,json=bootstrapToken,proto3" json:"bootstrap_token,omitempty"` |
| } |
| |
| func (x *BootstrapToken) Reset() { |
| *x = BootstrapToken{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[3] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BootstrapToken) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BootstrapToken) ProtoMessage() {} |
| |
| func (x *BootstrapToken) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 BootstrapToken.ProtoReflect.Descriptor instead. |
| func (*BootstrapToken) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{3} |
| } |
| |
| func (x *BootstrapToken) GetBootstrapToken() string { |
| if x != nil { |
| return x.BootstrapToken |
| } |
| return "" |
| } |
| |
| // Actions the caller is permitted to perform over a resource. |
| // |
| // The subject of an action is either a bot, a task or a bunch of pools, as |
| // specified in the PermissionsRequest message. Pools as specified indirectly |
| // via "pool:<name>" tags. |
| // |
| // This methods exists primarily to be used by the Web UI e.g. to hide |
| // inaccessible elements. |
| type ClientPermissions struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // True if allowed to delete the specified bot. |
| DeleteBot bool `protobuf:"varint,1,opt,name=delete_bot,json=deleteBot,proto3" json:"delete_bot,omitempty"` |
| // True if allowed to delete bots in all specified pools. |
| DeleteBots bool `protobuf:"varint,2,opt,name=delete_bots,json=deleteBots,proto3" json:"delete_bots,omitempty"` |
| // True if allowed to terminate the specified bot. |
| TerminateBot bool `protobuf:"varint,3,opt,name=terminate_bot,json=terminateBot,proto3" json:"terminate_bot,omitempty"` |
| // Not used, always false. |
| // |
| // Deprecated: Marked as deprecated in go.chromium.org/luci/swarming/proto/api_v2/swarming.proto. |
| GetConfigs bool `protobuf:"varint,4,opt,name=get_configs,json=getConfigs,proto3" json:"get_configs,omitempty"` |
| // Not used, always false. |
| // |
| // Deprecated: Marked as deprecated in go.chromium.org/luci/swarming/proto/api_v2/swarming.proto. |
| PutConfigs bool `protobuf:"varint,5,opt,name=put_configs,json=putConfigs,proto3" json:"put_configs,omitempty"` |
| // True if allowed to cancel the specified task. |
| CancelTask bool `protobuf:"varint,6,opt,name=cancel_task,json=cancelTask,proto3" json:"cancel_task,omitempty"` |
| // True if allowed to request a bot bootstrap token. |
| GetBootstrapToken bool `protobuf:"varint,7,opt,name=get_bootstrap_token,json=getBootstrapToken,proto3" json:"get_bootstrap_token,omitempty"` |
| // True if allowed to cancel tasks in all specified pools. |
| CancelTasks bool `protobuf:"varint,8,opt,name=cancel_tasks,json=cancelTasks,proto3" json:"cancel_tasks,omitempty"` |
| // All known pools in which the caller is permitted to list all bots. |
| ListBots []string `protobuf:"bytes,9,rep,name=list_bots,json=listBots,proto3" json:"list_bots,omitempty"` |
| // All known pools in which the caller is permitted to list all tasks. |
| ListTasks []string `protobuf:"bytes,10,rep,name=list_tasks,json=listTasks,proto3" json:"list_tasks,omitempty"` |
| } |
| |
| func (x *ClientPermissions) Reset() { |
| *x = ClientPermissions{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[4] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ClientPermissions) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ClientPermissions) ProtoMessage() {} |
| |
| func (x *ClientPermissions) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 ClientPermissions.ProtoReflect.Descriptor instead. |
| func (*ClientPermissions) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{4} |
| } |
| |
| func (x *ClientPermissions) GetDeleteBot() bool { |
| if x != nil { |
| return x.DeleteBot |
| } |
| return false |
| } |
| |
| func (x *ClientPermissions) GetDeleteBots() bool { |
| if x != nil { |
| return x.DeleteBots |
| } |
| return false |
| } |
| |
| func (x *ClientPermissions) GetTerminateBot() bool { |
| if x != nil { |
| return x.TerminateBot |
| } |
| return false |
| } |
| |
| // Deprecated: Marked as deprecated in go.chromium.org/luci/swarming/proto/api_v2/swarming.proto. |
| func (x *ClientPermissions) GetGetConfigs() bool { |
| if x != nil { |
| return x.GetConfigs |
| } |
| return false |
| } |
| |
| // Deprecated: Marked as deprecated in go.chromium.org/luci/swarming/proto/api_v2/swarming.proto. |
| func (x *ClientPermissions) GetPutConfigs() bool { |
| if x != nil { |
| return x.PutConfigs |
| } |
| return false |
| } |
| |
| func (x *ClientPermissions) GetCancelTask() bool { |
| if x != nil { |
| return x.CancelTask |
| } |
| return false |
| } |
| |
| func (x *ClientPermissions) GetGetBootstrapToken() bool { |
| if x != nil { |
| return x.GetBootstrapToken |
| } |
| return false |
| } |
| |
| func (x *ClientPermissions) GetCancelTasks() bool { |
| if x != nil { |
| return x.CancelTasks |
| } |
| return false |
| } |
| |
| func (x *ClientPermissions) GetListBots() []string { |
| if x != nil { |
| return x.ListBots |
| } |
| return nil |
| } |
| |
| func (x *ClientPermissions) GetListTasks() []string { |
| if x != nil { |
| return x.ListTasks |
| } |
| return nil |
| } |
| |
| // This is a [Digest][build.bazel.remote.execution.v2.Digest] of a blob on |
| // RBE-CAS. See the explanations at the original definition. |
| // pylint: disable=line-too-long |
| // https://github.com/bazelbuild/remote-apis/blob/77cfb44a88577a7ade5dd2400425f6d50469ec6d/build/bazel/remote/execution/v2/remote_execution.proto#L753-L791 |
| type Digest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Hash string `protobuf:"bytes,1,opt,name=hash,proto3" json:"hash,omitempty"` |
| SizeBytes int64 `protobuf:"varint,2,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"` |
| } |
| |
| func (x *Digest) Reset() { |
| *x = Digest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[5] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Digest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Digest) ProtoMessage() {} |
| |
| func (x *Digest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 Digest.ProtoReflect.Descriptor instead. |
| func (*Digest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{5} |
| } |
| |
| func (x *Digest) GetHash() string { |
| if x != nil { |
| return x.Hash |
| } |
| return "" |
| } |
| |
| func (x *Digest) GetSizeBytes() int64 { |
| if x != nil { |
| return x.SizeBytes |
| } |
| return 0 |
| } |
| |
| type CASReference struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Full name of RBE-CAS instance. `projects/{project_id}/instances/{instance}`. |
| // e.g. projects/chromium-swarm/instances/default_instance |
| CasInstance string `protobuf:"bytes,1,opt,name=cas_instance,json=casInstance,proto3" json:"cas_instance,omitempty"` |
| // CAS Digest consists of hash and size bytes. |
| Digest *Digest `protobuf:"bytes,2,opt,name=digest,proto3" json:"digest,omitempty"` |
| } |
| |
| func (x *CASReference) Reset() { |
| *x = CASReference{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[6] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CASReference) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CASReference) ProtoMessage() {} |
| |
| func (x *CASReference) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 CASReference.ProtoReflect.Descriptor instead. |
| func (*CASReference) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{6} |
| } |
| |
| func (x *CASReference) GetCasInstance() string { |
| if x != nil { |
| return x.CasInstance |
| } |
| return "" |
| } |
| |
| func (x *CASReference) GetDigest() *Digest { |
| if x != nil { |
| return x.Digest |
| } |
| return nil |
| } |
| |
| type CipdPackage struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // A CIPD package to install in the run dir before task execution.""" |
| // A template of a full CIPD package name, e.g. |
| // "infra/tools/authutil/${platform}" |
| // See also cipd.ALL_PARAMS. |
| PackageName string `protobuf:"bytes,1,opt,name=package_name,json=packageName,proto3" json:"package_name,omitempty"` |
| // Valid package version for all packages matched by package name. |
| Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` |
| // Path to dir, relative to the root dir, where to install the package. |
| // If empty, the package will be installed a the root of the mapped directory. |
| // If file names in the package and in the isolate clash, it will cause a |
| // failure. |
| Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` |
| } |
| |
| func (x *CipdPackage) Reset() { |
| *x = CipdPackage{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[7] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CipdPackage) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CipdPackage) ProtoMessage() {} |
| |
| func (x *CipdPackage) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 CipdPackage.ProtoReflect.Descriptor instead. |
| func (*CipdPackage) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{7} |
| } |
| |
| func (x *CipdPackage) GetPackageName() string { |
| if x != nil { |
| return x.PackageName |
| } |
| return "" |
| } |
| |
| func (x *CipdPackage) GetVersion() string { |
| if x != nil { |
| return x.Version |
| } |
| return "" |
| } |
| |
| func (x *CipdPackage) GetPath() string { |
| if x != nil { |
| return x.Path |
| } |
| return "" |
| } |
| |
| // Defines CIPD packages to install in task run directory. |
| type CipdInput struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // URL of the CIPD server. Must start with "https://" or "http://". |
| // This field or its subfields are optional if default cipd client is defined |
| // in the server config. |
| Server string `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"` |
| // CIPD package of CIPD client to use. |
| // client_package.version is required. |
| // This field is optional is default value is defined in the server config. |
| // client_package.path must be empty. |
| ClientPackage *CipdPackage `protobuf:"bytes,2,opt,name=client_package,json=clientPackage,proto3" json:"client_package,omitempty"` |
| // List of CIPD packages to install. |
| Packages []*CipdPackage `protobuf:"bytes,3,rep,name=packages,proto3" json:"packages,omitempty"` |
| } |
| |
| func (x *CipdInput) Reset() { |
| *x = CipdInput{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[8] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CipdInput) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CipdInput) ProtoMessage() {} |
| |
| func (x *CipdInput) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 CipdInput.ProtoReflect.Descriptor instead. |
| func (*CipdInput) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{8} |
| } |
| |
| func (x *CipdInput) GetServer() string { |
| if x != nil { |
| return x.Server |
| } |
| return "" |
| } |
| |
| func (x *CipdInput) GetClientPackage() *CipdPackage { |
| if x != nil { |
| return x.ClientPackage |
| } |
| return nil |
| } |
| |
| func (x *CipdInput) GetPackages() []*CipdPackage { |
| if x != nil { |
| return x.Packages |
| } |
| return nil |
| } |
| |
| // Defines pinned CIPD packages that were installed during the task. |
| type CipdPins struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The pinned package + version of the CIPD client that was actually used. |
| ClientPackage *CipdPackage `protobuf:"bytes,1,opt,name=client_package,json=clientPackage,proto3" json:"client_package,omitempty"` |
| // List of CIPD packages that were installed in the task with fully resolved |
| // package names and versions. |
| Packages []*CipdPackage `protobuf:"bytes,2,rep,name=packages,proto3" json:"packages,omitempty"` |
| } |
| |
| func (x *CipdPins) Reset() { |
| *x = CipdPins{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[9] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CipdPins) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CipdPins) ProtoMessage() {} |
| |
| func (x *CipdPins) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 CipdPins.ProtoReflect.Descriptor instead. |
| func (*CipdPins) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{9} |
| } |
| |
| func (x *CipdPins) GetClientPackage() *CipdPackage { |
| if x != nil { |
| return x.ClientPackage |
| } |
| return nil |
| } |
| |
| func (x *CipdPins) GetPackages() []*CipdPackage { |
| if x != nil { |
| return x.Packages |
| } |
| return nil |
| } |
| |
| // Describes a named cache that should be present on the bot. |
| // |
| // A CacheEntry in a task specified that the task prefers the cache to be present |
| // on the bot. A symlink to the cache directory is created at <run_dir>/|path|. |
| // If cache is not present on the machine, the directory is empty. |
| // If the tasks makes any changes to the contents of the cache directory, they |
| // are persisted on the machine. If another task runs on the same machine and |
| // requests the same named cache, even if mapped to a different path, it will see |
| // the changes. |
| type CacheEntry struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Unique name of the cache. Required. Length is limited to 4096. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Relative path to the directory that will be linked to the named cache. |
| // Required. |
| // A path cannot be shared among multiple caches or CIPD installations. |
| // A task will fail if a file/dir with the same name already exists. |
| Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` |
| } |
| |
| func (x *CacheEntry) Reset() { |
| *x = CacheEntry{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[10] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CacheEntry) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CacheEntry) ProtoMessage() {} |
| |
| func (x *CacheEntry) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 CacheEntry.ProtoReflect.Descriptor instead. |
| func (*CacheEntry) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{10} |
| } |
| |
| func (x *CacheEntry) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *CacheEntry) GetPath() string { |
| if x != nil { |
| return x.Path |
| } |
| return "" |
| } |
| |
| // Defines the type of "sandbox" to run the task process in. |
| // |
| // Unimplemented. |
| type Containment struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Lowers the priority of the task process when started. Doesn't require |
| // containment. This gives the bot a chance to survive when the task starts an |
| // overwhelming number of children processes. |
| LowerPriority bool `protobuf:"varint,1,opt,name=lower_priority,json=lowerPriority,proto3" json:"lower_priority,omitempty"` |
| // Defines the type of containment used. |
| ContainmentType Containment_ContainmentType `protobuf:"varint,2,opt,name=containment_type,json=containmentType,proto3,enum=swarming.v2.Containment_ContainmentType" json:"containment_type,omitempty"` |
| // Limits the number of concurrent active processes. |
| LimitProcesses int64 `protobuf:"varint,3,opt,name=limit_processes,json=limitProcesses,proto3" json:"limit_processes,omitempty"` |
| // Limits the total amount of memory allocated by processes. |
| LimitTotalCommittedMemory int64 `protobuf:"varint,4,opt,name=limit_total_committed_memory,json=limitTotalCommittedMemory,proto3" json:"limit_total_committed_memory,omitempty"` |
| } |
| |
| func (x *Containment) Reset() { |
| *x = Containment{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[11] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Containment) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Containment) ProtoMessage() {} |
| |
| func (x *Containment) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 Containment.ProtoReflect.Descriptor instead. |
| func (*Containment) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{11} |
| } |
| |
| func (x *Containment) GetLowerPriority() bool { |
| if x != nil { |
| return x.LowerPriority |
| } |
| return false |
| } |
| |
| func (x *Containment) GetContainmentType() Containment_ContainmentType { |
| if x != nil { |
| return x.ContainmentType |
| } |
| return Containment_NOT_SPECIFIED |
| } |
| |
| func (x *Containment) GetLimitProcesses() int64 { |
| if x != nil { |
| return x.LimitProcesses |
| } |
| return 0 |
| } |
| |
| func (x *Containment) GetLimitTotalCommittedMemory() int64 { |
| if x != nil { |
| return x.LimitTotalCommittedMemory |
| } |
| return 0 |
| } |
| |
| // Important metadata about a particular task. |
| type TaskProperties struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Specifies named caches to map into the working directory. These caches |
| // outlives the task, which can then be reused by tasks later used on this bot |
| // that request the same named cache. |
| Caches []*CacheEntry `protobuf:"bytes,1,rep,name=caches,proto3" json:"caches,omitempty"` |
| // CIPD packages to install. These packages are meant to be software that is |
| // needed (a dependency) to the task being run. Unlike isolated files, the CIPD |
| // packages do not expire from the server. |
| CipdInput *CipdInput `protobuf:"bytes,2,opt,name=cipd_input,json=cipdInput,proto3" json:"cipd_input,omitempty"` |
| // Command to run. This has priority over a command specified in the isolated |
| // files. |
| Command []string `protobuf:"bytes,3,rep,name=command,proto3" json:"command,omitempty"` |
| // Relative working directory to start the 'command' in, defaults to the root |
| // mapped directory or what is provided in the isolated file, if any. |
| RelativeCwd string `protobuf:"bytes,4,opt,name=relative_cwd,json=relativeCwd,proto3" json:"relative_cwd,omitempty"` |
| // Dimensions are what is used to determine which bot can run the task. The |
| // bot must have all the matching dimensions, even for repeated keys with |
| // multiple different values. It is a logical AND, all values must match. |
| // |
| // It should have been a StringListPair but this would be a breaking change. |
| Dimensions []*StringPair `protobuf:"bytes,5,rep,name=dimensions,proto3" json:"dimensions,omitempty"` |
| // Environment variables to set when running the task. |
| Env []*StringPair `protobuf:"bytes,6,rep,name=env,proto3" json:"env,omitempty"` |
| // Swarming-root relative paths to prepend to a given environment variable. |
| // |
| // These allow you to put certain subdirectories of the task into PATH, |
| // PYTHONPATH, or other PATH-like environment variables. The order of |
| // operations is: |
| // - Turn slashes into native-platform slashes. |
| // - Make the path absolute |
| // - Prepend it to the current value of the envvar using the os-native list |
| // separator (i.e. `;` on windows, `:` on POSIX). |
| // |
| // Each envvar can have multiple paths to prepend. They will be prepended in |
| // the order seen here. |
| // |
| // For example, if env_prefixes was: |
| // |
| // [("PATH", ["foo", "bar"]), |
| // ("CUSTOMPATH", ["custom"])] |
| // |
| // The task would see: |
| // |
| // PATH=/path/to/swarming/rundir/foo:/path/to/swarming/rundir/bar:$PATH |
| // CUSTOMPATH=/path/to/swarming/rundir/custom |
| // |
| // The path should always be specified here with forward-slashes, and it must |
| // not attempt to escape the swarming root (i.e. must not contain `..`). |
| // |
| // These are applied AFTER evaluating `env` entries. |
| EnvPrefixes []*StringListPair `protobuf:"bytes,7,rep,name=env_prefixes,json=envPrefixes,proto3" json:"env_prefixes,omitempty"` |
| // Maximum number of seconds the task can run before its process is forcibly |
| // terminated and the task results in TIMED_OUT. |
| ExecutionTimeoutSecs int32 `protobuf:"varint,8,opt,name=execution_timeout_secs,json=executionTimeoutSecs,proto3" json:"execution_timeout_secs,omitempty"` |
| // Number of second to give the child process after a SIGTERM before sending a |
| // SIGKILL. See doc/Bot.md#timeout-handling |
| GracePeriodSecs int32 `protobuf:"varint,9,opt,name=grace_period_secs,json=gracePeriodSecs,proto3" json:"grace_period_secs,omitempty"` |
| // True if the task does not access any service through the network and is |
| // believed to be 100% reproducible with the same outcome. In the case of a |
| // successful task, previous results will be reused if possible. |
| Idempotent bool `protobuf:"varint,10,opt,name=idempotent,proto3" json:"idempotent,omitempty"` |
| // Digest of the input root uploaded to RBE-CAS. |
| // This MUST be digest of [build.bazel.remote.execution.v2.Directory]. |
| CasInputRoot *CASReference `protobuf:"bytes,11,opt,name=cas_input_root,json=casInputRoot,proto3" json:"cas_input_root,omitempty"` |
| // Maximum number of seconds the task may be silent (no output to stdout nor |
| // stderr) before it is considered hung and it forcibly terminated early and |
| // the task results in TIMED_OUT. |
| IoTimeoutSecs int32 `protobuf:"varint,12,opt,name=io_timeout_secs,json=ioTimeoutSecs,proto3" json:"io_timeout_secs,omitempty"` |
| // Paths in the working directory to archive back. |
| Outputs []string `protobuf:"bytes,13,rep,name=outputs,proto3" json:"outputs,omitempty"` |
| // Secret bytes to provide to the task. Cannot be retrieved back. |
| SecretBytes []byte `protobuf:"bytes,14,opt,name=secret_bytes,json=secretBytes,proto3" json:"secret_bytes,omitempty"` |
| // Containment of the task processes. |
| Containment *Containment `protobuf:"bytes,15,opt,name=containment,proto3" json:"containment,omitempty"` |
| } |
| |
| func (x *TaskProperties) Reset() { |
| *x = TaskProperties{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[12] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TaskProperties) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TaskProperties) ProtoMessage() {} |
| |
| func (x *TaskProperties) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 TaskProperties.ProtoReflect.Descriptor instead. |
| func (*TaskProperties) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{12} |
| } |
| |
| func (x *TaskProperties) GetCaches() []*CacheEntry { |
| if x != nil { |
| return x.Caches |
| } |
| return nil |
| } |
| |
| func (x *TaskProperties) GetCipdInput() *CipdInput { |
| if x != nil { |
| return x.CipdInput |
| } |
| return nil |
| } |
| |
| func (x *TaskProperties) GetCommand() []string { |
| if x != nil { |
| return x.Command |
| } |
| return nil |
| } |
| |
| func (x *TaskProperties) GetRelativeCwd() string { |
| if x != nil { |
| return x.RelativeCwd |
| } |
| return "" |
| } |
| |
| func (x *TaskProperties) GetDimensions() []*StringPair { |
| if x != nil { |
| return x.Dimensions |
| } |
| return nil |
| } |
| |
| func (x *TaskProperties) GetEnv() []*StringPair { |
| if x != nil { |
| return x.Env |
| } |
| return nil |
| } |
| |
| func (x *TaskProperties) GetEnvPrefixes() []*StringListPair { |
| if x != nil { |
| return x.EnvPrefixes |
| } |
| return nil |
| } |
| |
| func (x *TaskProperties) GetExecutionTimeoutSecs() int32 { |
| if x != nil { |
| return x.ExecutionTimeoutSecs |
| } |
| return 0 |
| } |
| |
| func (x *TaskProperties) GetGracePeriodSecs() int32 { |
| if x != nil { |
| return x.GracePeriodSecs |
| } |
| return 0 |
| } |
| |
| func (x *TaskProperties) GetIdempotent() bool { |
| if x != nil { |
| return x.Idempotent |
| } |
| return false |
| } |
| |
| func (x *TaskProperties) GetCasInputRoot() *CASReference { |
| if x != nil { |
| return x.CasInputRoot |
| } |
| return nil |
| } |
| |
| func (x *TaskProperties) GetIoTimeoutSecs() int32 { |
| if x != nil { |
| return x.IoTimeoutSecs |
| } |
| return 0 |
| } |
| |
| func (x *TaskProperties) GetOutputs() []string { |
| if x != nil { |
| return x.Outputs |
| } |
| return nil |
| } |
| |
| func (x *TaskProperties) GetSecretBytes() []byte { |
| if x != nil { |
| return x.SecretBytes |
| } |
| return nil |
| } |
| |
| func (x *TaskProperties) GetContainment() *Containment { |
| if x != nil { |
| return x.Containment |
| } |
| return nil |
| } |
| |
| // Defines a possible task execution for a task request to be run on the |
| // Swarming infrastructure. |
| // |
| // This is one of the possible fallback on a task request. |
| type TaskSlice struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The property of the task to try to run. |
| // |
| // If there is no bot that can serve this properties.dimensions when this task |
| // slice is enqueued, it is immediately denied. This can trigger if: |
| // - There is no bot with these dimensions currently known. |
| // - Bots that could run this task are either all dead or quarantined. |
| // Swarming considers a bot dead if it hasn't pinged in the last N minutes |
| // (currently 10 minutes). |
| Properties *TaskProperties `protobuf:"bytes,1,opt,name=properties,proto3" json:"properties,omitempty"` |
| // Maximum of seconds the task slice may stay PENDING. |
| // |
| // If this task request slice is not scheduled after waiting this long, the |
| // next one will be processed. If this slice is the last one, the task state |
| // will be set to EXPIRED. |
| ExpirationSecs int32 `protobuf:"varint,2,opt,name=expiration_secs,json=expirationSecs,proto3" json:"expiration_secs,omitempty"` |
| // When a task is scheduled and there are currently no bots available to run |
| // the task, the TaskSlice can either be PENDING, or be denied immediately. |
| // When denied, the next TaskSlice is enqueued, and if there's no following |
| // TaskSlice, the task state is set to NO_RESOURCE. This should normally be |
| // set to False to avoid unnecessary waiting. |
| WaitForCapacity bool `protobuf:"varint,3,opt,name=wait_for_capacity,json=waitForCapacity,proto3" json:"wait_for_capacity,omitempty"` |
| } |
| |
| func (x *TaskSlice) Reset() { |
| *x = TaskSlice{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[13] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TaskSlice) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TaskSlice) ProtoMessage() {} |
| |
| func (x *TaskSlice) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 TaskSlice.ProtoReflect.Descriptor instead. |
| func (*TaskSlice) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{13} |
| } |
| |
| func (x *TaskSlice) GetProperties() *TaskProperties { |
| if x != nil { |
| return x.Properties |
| } |
| return nil |
| } |
| |
| func (x *TaskSlice) GetExpirationSecs() int32 { |
| if x != nil { |
| return x.ExpirationSecs |
| } |
| return 0 |
| } |
| |
| func (x *TaskSlice) GetWaitForCapacity() bool { |
| if x != nil { |
| return x.WaitForCapacity |
| } |
| return false |
| } |
| |
| type SwarmingTaskBackendConfig struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Task priority, the lower the more important. |
| // |
| // Valid values are between 1 and 255. |
| Priority int32 `protobuf:"varint,1,opt,name=priority,proto3" json:"priority,omitempty"` |
| // Maximum delay (in seconds) between bot pings before the bot is considered |
| // dead while running a task. |
| // |
| // When a task is running, the bot sends update to the server every |
| // few seconds. In some cases, like when the system is overloaded, |
| // the bot may be preempted and delayed in sending its updates. |
| // After the delay specified here, the server will claim the bot to |
| // be dead and will forcibly abort the task as BOT_DIED. This is to |
| // catch system wide issues like a BSOD. |
| BotPingTolerance int64 `protobuf:"varint,2,opt,name=bot_ping_tolerance,json=botPingTolerance,proto3" json:"bot_ping_tolerance,omitempty"` |
| // Parent Swarming task run ID of the process requesting this task. |
| // |
| // This field is set on the children tasks when a Swarming task creates |
| // children Swarming tasks. |
| // |
| // This points to the TaskResult.run_id (ending with '1', '2' or more). |
| ParentRunId string `protobuf:"bytes,3,opt,name=parent_run_id,json=parentRunId,proto3" json:"parent_run_id,omitempty"` |
| // Defines what OAuth2 credentials the task uses when calling other services. |
| // |
| // Possible values are: |
| // - 'none': do not use a task service account at all, this is the default. |
| // - 'bot': use bot's own account, works only if bots authenticate with |
| // OAuth2. |
| // - <some email>: use this specific service account if it is allowed in the |
| // pool (via 'allowed_service_account' pools.cfg setting) and configured |
| // in the token server's service_accounts.cfg. |
| // |
| // Note that the service account name is specified outside of task properties, |
| // and thus it is possible to have two tasks with different service accounts, |
| // but identical properties hash (so one can be deduped). If this is |
| // unsuitable use 'idempotent=False' or include a service account name in |
| // properties separately. |
| ServiceAccount string `protobuf:"bytes,4,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` |
| // When a task is scheduled and there are currently no bots available to run |
| // the task, the TaskSlice can either be PENDING, or be denied immediately. |
| // When denied, the next TaskSlice is enqueued, and if there's no following |
| // TaskSlice, the task state is set to NO_RESOURCE. This should normally be |
| // set to False to avoid unnecessary waiting. |
| WaitForCapacity bool `protobuf:"varint,5,opt,name=wait_for_capacity,json=waitForCapacity,proto3" json:"wait_for_capacity,omitempty"` |
| // CIPD package of the agent binary that should be called to run the task |
| // command. Note that it will end with "${platform}" |
| AgentBinaryCipdPkg string `protobuf:"bytes,6,opt,name=agent_binary_cipd_pkg,json=agentBinaryCipdPkg,proto3" json:"agent_binary_cipd_pkg,omitempty"` |
| // CIPD package tag or ref of the agent binary. |
| AgentBinaryCipdVers string `protobuf:"bytes,7,opt,name=agent_binary_cipd_vers,json=agentBinaryCipdVers,proto3" json:"agent_binary_cipd_vers,omitempty"` |
| // Name of the file within the CIPD package and should be used to construct |
| // the task command line. |
| AgentBinaryCipdFilename string `protobuf:"bytes,8,opt,name=agent_binary_cipd_filename,json=agentBinaryCipdFilename,proto3" json:"agent_binary_cipd_filename,omitempty"` |
| // Name of the CIPD server. |
| AgentBinaryCipdServer string `protobuf:"bytes,9,opt,name=agent_binary_cipd_server,json=agentBinaryCipdServer,proto3" json:"agent_binary_cipd_server,omitempty"` |
| // Tags are 'key:value' strings that describes what the task is about. |
| // This can later be leveraged to search for kinds of tasks per tag. |
| Tags []string `protobuf:"bytes,10,rep,name=tags,proto3" json:"tags,omitempty"` |
| // Customized name of the task. |
| TaskName string `protobuf:"bytes,11,opt,name=task_name,json=taskName,proto3" json:"task_name,omitempty"` |
| } |
| |
| func (x *SwarmingTaskBackendConfig) Reset() { |
| *x = SwarmingTaskBackendConfig{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[14] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *SwarmingTaskBackendConfig) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*SwarmingTaskBackendConfig) ProtoMessage() {} |
| |
| func (x *SwarmingTaskBackendConfig) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 SwarmingTaskBackendConfig.ProtoReflect.Descriptor instead. |
| func (*SwarmingTaskBackendConfig) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{14} |
| } |
| |
| func (x *SwarmingTaskBackendConfig) GetPriority() int32 { |
| if x != nil { |
| return x.Priority |
| } |
| return 0 |
| } |
| |
| func (x *SwarmingTaskBackendConfig) GetBotPingTolerance() int64 { |
| if x != nil { |
| return x.BotPingTolerance |
| } |
| return 0 |
| } |
| |
| func (x *SwarmingTaskBackendConfig) GetParentRunId() string { |
| if x != nil { |
| return x.ParentRunId |
| } |
| return "" |
| } |
| |
| func (x *SwarmingTaskBackendConfig) GetServiceAccount() string { |
| if x != nil { |
| return x.ServiceAccount |
| } |
| return "" |
| } |
| |
| func (x *SwarmingTaskBackendConfig) GetWaitForCapacity() bool { |
| if x != nil { |
| return x.WaitForCapacity |
| } |
| return false |
| } |
| |
| func (x *SwarmingTaskBackendConfig) GetAgentBinaryCipdPkg() string { |
| if x != nil { |
| return x.AgentBinaryCipdPkg |
| } |
| return "" |
| } |
| |
| func (x *SwarmingTaskBackendConfig) GetAgentBinaryCipdVers() string { |
| if x != nil { |
| return x.AgentBinaryCipdVers |
| } |
| return "" |
| } |
| |
| func (x *SwarmingTaskBackendConfig) GetAgentBinaryCipdFilename() string { |
| if x != nil { |
| return x.AgentBinaryCipdFilename |
| } |
| return "" |
| } |
| |
| func (x *SwarmingTaskBackendConfig) GetAgentBinaryCipdServer() string { |
| if x != nil { |
| return x.AgentBinaryCipdServer |
| } |
| return "" |
| } |
| |
| func (x *SwarmingTaskBackendConfig) GetTags() []string { |
| if x != nil { |
| return x.Tags |
| } |
| return nil |
| } |
| |
| func (x *SwarmingTaskBackendConfig) GetTaskName() string { |
| if x != nil { |
| return x.TaskName |
| } |
| return "" |
| } |
| |
| // Swarming:ResultDB integration configuration for a task. |
| // See NewTaskRequest.resultdb for more details. |
| type ResultDBCfg struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // If True and this task is not deduplicated, create |
| // "task-{swarming_hostname}-{run_id}" invocation for this task, |
| // provide its update token to the task subprocess via LUCI_CONTEXT |
| // and finalize the invocation when the task is done. |
| // If the task is deduplicated, then TaskResult.invocation_name will be the |
| // invocation name of the original task. |
| // Swarming:ResultDB integration is off by default, but it may change in the |
| // future. |
| Enable bool `protobuf:"varint,1,opt,name=enable,proto3" json:"enable,omitempty"` |
| } |
| |
| func (x *ResultDBCfg) Reset() { |
| *x = ResultDBCfg{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[15] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ResultDBCfg) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ResultDBCfg) ProtoMessage() {} |
| |
| func (x *ResultDBCfg) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 ResultDBCfg.ProtoReflect.Descriptor instead. |
| func (*ResultDBCfg) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{15} |
| } |
| |
| func (x *ResultDBCfg) GetEnable() bool { |
| if x != nil { |
| return x.Enable |
| } |
| return false |
| } |
| |
| // Description of a new task request as described by the client. |
| // This message is used to create a new task. |
| type NewTaskRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // DEPRECATED. Use task_slices[0].expiration_secs. |
| ExpirationSecs int32 `protobuf:"varint,1,opt,name=expiration_secs,json=expirationSecs,proto3" json:"expiration_secs,omitempty"` |
| // Task name for display purpose. |
| Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` |
| // Parent Swarming run ID of the process requesting this task. This is to tell |
| // the server about reentrancy: when a task creates children Swarming tasks, so |
| // that the tree of tasks can be presented in the UI; the parent task will list |
| // all the children tasks that were triggered. |
| ParentTaskId string `protobuf:"bytes,3,opt,name=parent_task_id,json=parentTaskId,proto3" json:"parent_task_id,omitempty"` |
| // Task priority, the lower the more important. |
| Priority int32 `protobuf:"varint,4,opt,name=priority,proto3" json:"priority,omitempty"` |
| // DEPRECATED. Use task_slices[0].properties. |
| Properties *TaskProperties `protobuf:"bytes,5,opt,name=properties,proto3" json:"properties,omitempty"` |
| // Slice of TaskSlice, along their scheduling parameters. Cannot be used at the |
| // same time as properties and expiration_secs. |
| // |
| // This defines all the various possible task execution for a task request to |
| // be run on the Swarming infrastructure. They are processed in order, and it |
| // is guaranteed that at most one of these will be processed. |
| TaskSlices []*TaskSlice `protobuf:"bytes,6,rep,name=task_slices,json=taskSlices,proto3" json:"task_slices,omitempty"` |
| // Tags are 'key:value' strings that describes what the task is about. This can |
| // later be leveraged to search for kinds of tasks per tag. |
| Tags []string `protobuf:"bytes,7,rep,name=tags,proto3" json:"tags,omitempty"` |
| // User on which behalf this task is run, if relevant. Not validated. |
| User string `protobuf:"bytes,8,opt,name=user,proto3" json:"user,omitempty"` |
| // Defines what OAuth2 credentials the task uses when calling other services. |
| // |
| // Possible values are: |
| // - 'none': do not use a task service account at all, this is the default. |
| // - 'bot': use bot's own account, works only if bots authenticate with |
| // OAuth2. |
| // - <some email>: use this specific service account if it is allowed in the |
| // pool (via 'allowed_service_account' pools.cfg setting) and configured |
| // in the token server's service_accounts.cfg. |
| // |
| // Note that the service account name is specified outside of task properties, |
| // and thus it is possible to have two tasks with different service accounts, |
| // but identical properties hash (so one can be deduped). If this is unsuitable |
| // use 'idempotent=False' or include a service account name in properties |
| // separately. |
| ServiceAccount string `protobuf:"bytes,9,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` |
| // Full topic name to post task state updates to, e.g. |
| // "projects/<id>/topics/<id>". |
| PubsubTopic string `protobuf:"bytes,10,opt,name=pubsub_topic,json=pubsubTopic,proto3" json:"pubsub_topic,omitempty"` |
| // Secret string to put into "auth_token" attribute of PubSub message. |
| PubsubAuthToken string `protobuf:"bytes,11,opt,name=pubsub_auth_token,json=pubsubAuthToken,proto3" json:"pubsub_auth_token,omitempty"` |
| // Will be but into "userdata" fields of PubSub message. |
| PubsubUserdata string `protobuf:"bytes,12,opt,name=pubsub_userdata,json=pubsubUserdata,proto3" json:"pubsub_userdata,omitempty"` |
| // Only evaluate the task, as if we were going to schedule it, but don't |
| // actually schedule it. This will return the TaskRequest, but without |
| // a task_id. |
| EvaluateOnly bool `protobuf:"varint,13,opt,name=evaluate_only,json=evaluateOnly,proto3" json:"evaluate_only,omitempty"` |
| PoolTaskTemplate NewTaskRequest_PoolTaskTemplateField `protobuf:"varint,14,opt,name=pool_task_template,json=poolTaskTemplate,proto3,enum=swarming.v2.NewTaskRequest_PoolTaskTemplateField" json:"pool_task_template,omitempty"` |
| // Maximum delay between bot pings before the bot is considered dead |
| // while running a task. |
| BotPingToleranceSecs int32 `protobuf:"varint,15,opt,name=bot_ping_tolerance_secs,json=botPingToleranceSecs,proto3" json:"bot_ping_tolerance_secs,omitempty"` |
| // This is used to make new task request idempotent in best effort. |
| // If new request has request_uuid field, it checks memcache before scheduling |
| // actual task to check there is already the task triggered by same request |
| // previously. |
| RequestUuid string `protobuf:"bytes,16,opt,name=request_uuid,json=requestUuid,proto3" json:"request_uuid,omitempty"` |
| // Configuration of Swarming:ResultDB integration. |
| Resultdb *ResultDBCfg `protobuf:"bytes,17,opt,name=resultdb,proto3" json:"resultdb,omitempty"` |
| // Task realm. |
| // See api/swarming.proto for more details. |
| Realm string `protobuf:"bytes,18,opt,name=realm,proto3" json:"realm,omitempty"` |
| } |
| |
| func (x *NewTaskRequest) Reset() { |
| *x = NewTaskRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[16] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *NewTaskRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*NewTaskRequest) ProtoMessage() {} |
| |
| func (x *NewTaskRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 NewTaskRequest.ProtoReflect.Descriptor instead. |
| func (*NewTaskRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{16} |
| } |
| |
| func (x *NewTaskRequest) GetExpirationSecs() int32 { |
| if x != nil { |
| return x.ExpirationSecs |
| } |
| return 0 |
| } |
| |
| func (x *NewTaskRequest) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *NewTaskRequest) GetParentTaskId() string { |
| if x != nil { |
| return x.ParentTaskId |
| } |
| return "" |
| } |
| |
| func (x *NewTaskRequest) GetPriority() int32 { |
| if x != nil { |
| return x.Priority |
| } |
| return 0 |
| } |
| |
| func (x *NewTaskRequest) GetProperties() *TaskProperties { |
| if x != nil { |
| return x.Properties |
| } |
| return nil |
| } |
| |
| func (x *NewTaskRequest) GetTaskSlices() []*TaskSlice { |
| if x != nil { |
| return x.TaskSlices |
| } |
| return nil |
| } |
| |
| func (x *NewTaskRequest) GetTags() []string { |
| if x != nil { |
| return x.Tags |
| } |
| return nil |
| } |
| |
| func (x *NewTaskRequest) GetUser() string { |
| if x != nil { |
| return x.User |
| } |
| return "" |
| } |
| |
| func (x *NewTaskRequest) GetServiceAccount() string { |
| if x != nil { |
| return x.ServiceAccount |
| } |
| return "" |
| } |
| |
| func (x *NewTaskRequest) GetPubsubTopic() string { |
| if x != nil { |
| return x.PubsubTopic |
| } |
| return "" |
| } |
| |
| func (x *NewTaskRequest) GetPubsubAuthToken() string { |
| if x != nil { |
| return x.PubsubAuthToken |
| } |
| return "" |
| } |
| |
| func (x *NewTaskRequest) GetPubsubUserdata() string { |
| if x != nil { |
| return x.PubsubUserdata |
| } |
| return "" |
| } |
| |
| func (x *NewTaskRequest) GetEvaluateOnly() bool { |
| if x != nil { |
| return x.EvaluateOnly |
| } |
| return false |
| } |
| |
| func (x *NewTaskRequest) GetPoolTaskTemplate() NewTaskRequest_PoolTaskTemplateField { |
| if x != nil { |
| return x.PoolTaskTemplate |
| } |
| return NewTaskRequest_AUTO |
| } |
| |
| func (x *NewTaskRequest) GetBotPingToleranceSecs() int32 { |
| if x != nil { |
| return x.BotPingToleranceSecs |
| } |
| return 0 |
| } |
| |
| func (x *NewTaskRequest) GetRequestUuid() string { |
| if x != nil { |
| return x.RequestUuid |
| } |
| return "" |
| } |
| |
| func (x *NewTaskRequest) GetResultdb() *ResultDBCfg { |
| if x != nil { |
| return x.Resultdb |
| } |
| return nil |
| } |
| |
| func (x *NewTaskRequest) GetRealm() string { |
| if x != nil { |
| return x.Realm |
| } |
| return "" |
| } |
| |
| // Description of a task request as registered by the server. |
| // This message is used when retrieving information about an existing task. |
| // See NewTaskRequest for more details. |
| type TaskRequestResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` |
| ExpirationSecs int32 `protobuf:"varint,2,opt,name=expiration_secs,json=expirationSecs,proto3" json:"expiration_secs,omitempty"` |
| Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` |
| ParentTaskId string `protobuf:"bytes,4,opt,name=parent_task_id,json=parentTaskId,proto3" json:"parent_task_id,omitempty"` |
| Priority int32 `protobuf:"varint,5,opt,name=priority,proto3" json:"priority,omitempty"` |
| // For some amount of time, the properties will be copied into the |
| // task_slices and vice-versa, to give time to the clients to update. |
| // Eventually, only task_slices will be supported. |
| Properties *TaskProperties `protobuf:"bytes,6,opt,name=properties,proto3" json:"properties,omitempty"` |
| Tags []string `protobuf:"bytes,7,rep,name=tags,proto3" json:"tags,omitempty"` |
| CreatedTs *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=created_ts,json=createdTs,proto3" json:"created_ts,omitempty"` |
| User string `protobuf:"bytes,9,opt,name=user,proto3" json:"user,omitempty"` |
| // User name of whoever posted this task, extracted from the credentials. |
| Authenticated string `protobuf:"bytes,10,opt,name=authenticated,proto3" json:"authenticated,omitempty"` |
| TaskSlices []*TaskSlice `protobuf:"bytes,11,rep,name=task_slices,json=taskSlices,proto3" json:"task_slices,omitempty"` |
| // Indicates what OAuth2 credentials the task uses when calling other services. |
| ServiceAccount string `protobuf:"bytes,12,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` |
| Realm string `protobuf:"bytes,13,opt,name=realm,proto3" json:"realm,omitempty"` |
| // Configuration of Swarming:ResultDB integration. |
| Resultdb *ResultDBCfg `protobuf:"bytes,14,opt,name=resultdb,proto3" json:"resultdb,omitempty"` |
| PubsubTopic string `protobuf:"bytes,15,opt,name=pubsub_topic,json=pubsubTopic,proto3" json:"pubsub_topic,omitempty"` |
| PubsubUserdata string `protobuf:"bytes,16,opt,name=pubsub_userdata,json=pubsubUserdata,proto3" json:"pubsub_userdata,omitempty"` |
| BotPingToleranceSecs int32 `protobuf:"varint,17,opt,name=bot_ping_tolerance_secs,json=botPingToleranceSecs,proto3" json:"bot_ping_tolerance_secs,omitempty"` |
| RbeInstance string `protobuf:"bytes,18,opt,name=rbe_instance,json=rbeInstance,proto3" json:"rbe_instance,omitempty"` |
| } |
| |
| func (x *TaskRequestResponse) Reset() { |
| *x = TaskRequestResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[17] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TaskRequestResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TaskRequestResponse) ProtoMessage() {} |
| |
| func (x *TaskRequestResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 TaskRequestResponse.ProtoReflect.Descriptor instead. |
| func (*TaskRequestResponse) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{17} |
| } |
| |
| func (x *TaskRequestResponse) GetTaskId() string { |
| if x != nil { |
| return x.TaskId |
| } |
| return "" |
| } |
| |
| func (x *TaskRequestResponse) GetExpirationSecs() int32 { |
| if x != nil { |
| return x.ExpirationSecs |
| } |
| return 0 |
| } |
| |
| func (x *TaskRequestResponse) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *TaskRequestResponse) GetParentTaskId() string { |
| if x != nil { |
| return x.ParentTaskId |
| } |
| return "" |
| } |
| |
| func (x *TaskRequestResponse) GetPriority() int32 { |
| if x != nil { |
| return x.Priority |
| } |
| return 0 |
| } |
| |
| func (x *TaskRequestResponse) GetProperties() *TaskProperties { |
| if x != nil { |
| return x.Properties |
| } |
| return nil |
| } |
| |
| func (x *TaskRequestResponse) GetTags() []string { |
| if x != nil { |
| return x.Tags |
| } |
| return nil |
| } |
| |
| func (x *TaskRequestResponse) GetCreatedTs() *timestamppb.Timestamp { |
| if x != nil { |
| return x.CreatedTs |
| } |
| return nil |
| } |
| |
| func (x *TaskRequestResponse) GetUser() string { |
| if x != nil { |
| return x.User |
| } |
| return "" |
| } |
| |
| func (x *TaskRequestResponse) GetAuthenticated() string { |
| if x != nil { |
| return x.Authenticated |
| } |
| return "" |
| } |
| |
| func (x *TaskRequestResponse) GetTaskSlices() []*TaskSlice { |
| if x != nil { |
| return x.TaskSlices |
| } |
| return nil |
| } |
| |
| func (x *TaskRequestResponse) GetServiceAccount() string { |
| if x != nil { |
| return x.ServiceAccount |
| } |
| return "" |
| } |
| |
| func (x *TaskRequestResponse) GetRealm() string { |
| if x != nil { |
| return x.Realm |
| } |
| return "" |
| } |
| |
| func (x *TaskRequestResponse) GetResultdb() *ResultDBCfg { |
| if x != nil { |
| return x.Resultdb |
| } |
| return nil |
| } |
| |
| func (x *TaskRequestResponse) GetPubsubTopic() string { |
| if x != nil { |
| return x.PubsubTopic |
| } |
| return "" |
| } |
| |
| func (x *TaskRequestResponse) GetPubsubUserdata() string { |
| if x != nil { |
| return x.PubsubUserdata |
| } |
| return "" |
| } |
| |
| func (x *TaskRequestResponse) GetBotPingToleranceSecs() int32 { |
| if x != nil { |
| return x.BotPingToleranceSecs |
| } |
| return 0 |
| } |
| |
| func (x *TaskRequestResponse) GetRbeInstance() string { |
| if x != nil { |
| return x.RbeInstance |
| } |
| return "" |
| } |
| |
| // Request to cancel one task. |
| type TaskCancelRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` |
| KillRunning bool `protobuf:"varint,2,opt,name=kill_running,json=killRunning,proto3" json:"kill_running,omitempty"` |
| } |
| |
| func (x *TaskCancelRequest) Reset() { |
| *x = TaskCancelRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[18] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TaskCancelRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TaskCancelRequest) ProtoMessage() {} |
| |
| func (x *TaskCancelRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 TaskCancelRequest.ProtoReflect.Descriptor instead. |
| func (*TaskCancelRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{18} |
| } |
| |
| func (x *TaskCancelRequest) GetTaskId() string { |
| if x != nil { |
| return x.TaskId |
| } |
| return "" |
| } |
| |
| func (x *TaskCancelRequest) GetKillRunning() bool { |
| if x != nil { |
| return x.KillRunning |
| } |
| return false |
| } |
| |
| // Request to cancel some subset of pending/running tasks. |
| type TasksCancelRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Number of items to cancel per request. limit must be in [1..1000]. |
| Limit int32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` |
| // Previous call would have returned a cursor if there were more tasks to kill. |
| Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` |
| // Any task which contains one or more of tags will be cancelled. |
| Tags []string `protobuf:"bytes,3,rep,name=tags,proto3" json:"tags,omitempty"` |
| // Kill running tasks if set. Otherwise running tasks will be ignored. |
| KillRunning bool `protobuf:"varint,4,opt,name=kill_running,json=killRunning,proto3" json:"kill_running,omitempty"` |
| // Only tasks later or equal to start will be cancelled. No effect if unset. |
| Start *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=start,proto3" json:"start,omitempty"` |
| // Only tasks earlier or equal to end will be cancelled. No effect if unset. |
| End *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=end,proto3" json:"end,omitempty"` |
| } |
| |
| func (x *TasksCancelRequest) Reset() { |
| *x = TasksCancelRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[19] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TasksCancelRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TasksCancelRequest) ProtoMessage() {} |
| |
| func (x *TasksCancelRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 TasksCancelRequest.ProtoReflect.Descriptor instead. |
| func (*TasksCancelRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{19} |
| } |
| |
| func (x *TasksCancelRequest) GetLimit() int32 { |
| if x != nil { |
| return x.Limit |
| } |
| return 0 |
| } |
| |
| func (x *TasksCancelRequest) GetCursor() string { |
| if x != nil { |
| return x.Cursor |
| } |
| return "" |
| } |
| |
| func (x *TasksCancelRequest) GetTags() []string { |
| if x != nil { |
| return x.Tags |
| } |
| return nil |
| } |
| |
| func (x *TasksCancelRequest) GetKillRunning() bool { |
| if x != nil { |
| return x.KillRunning |
| } |
| return false |
| } |
| |
| func (x *TasksCancelRequest) GetStart() *timestamppb.Timestamp { |
| if x != nil { |
| return x.Start |
| } |
| return nil |
| } |
| |
| func (x *TasksCancelRequest) GetEnd() *timestamppb.Timestamp { |
| if x != nil { |
| return x.End |
| } |
| return nil |
| } |
| |
| type OperationStats struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Duration in seconds. |
| Duration float32 `protobuf:"fixed32,1,opt,name=duration,proto3" json:"duration,omitempty"` |
| } |
| |
| func (x *OperationStats) Reset() { |
| *x = OperationStats{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[20] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *OperationStats) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*OperationStats) ProtoMessage() {} |
| |
| func (x *OperationStats) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 OperationStats.ProtoReflect.Descriptor instead. |
| func (*OperationStats) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{20} |
| } |
| |
| func (x *OperationStats) GetDuration() float32 { |
| if x != nil { |
| return x.Duration |
| } |
| return 0 |
| } |
| |
| type CASOperationStats struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Duration in seconds. |
| Duration float32 `protobuf:"fixed32,1,opt,name=duration,proto3" json:"duration,omitempty"` |
| InitialNumberItems int32 `protobuf:"varint,2,opt,name=initial_number_items,json=initialNumberItems,proto3" json:"initial_number_items,omitempty"` |
| InitialSize int64 `protobuf:"varint,3,opt,name=initial_size,json=initialSize,proto3" json:"initial_size,omitempty"` |
| // These buffers are compressed as deflate'd delta-encoded varints. They are |
| // all the items for an isolated operation, which can scale in the 100k range. |
| // So can be large! See //client/utils/large.py for the code to handle these. |
| ItemsCold []byte `protobuf:"bytes,4,opt,name=items_cold,json=itemsCold,proto3" json:"items_cold,omitempty"` |
| ItemsHot []byte `protobuf:"bytes,5,opt,name=items_hot,json=itemsHot,proto3" json:"items_hot,omitempty"` |
| // Corresponding summaries; for each list above, sum of the number of files |
| // and the sum bytes of the files. |
| NumItemsCold int64 `protobuf:"varint,6,opt,name=num_items_cold,json=numItemsCold,proto3" json:"num_items_cold,omitempty"` |
| TotalBytesItemsCold int64 `protobuf:"varint,7,opt,name=total_bytes_items_cold,json=totalBytesItemsCold,proto3" json:"total_bytes_items_cold,omitempty"` |
| NumItemsHot int64 `protobuf:"varint,8,opt,name=num_items_hot,json=numItemsHot,proto3" json:"num_items_hot,omitempty"` |
| TotalBytesItemsHot int64 `protobuf:"varint,9,opt,name=total_bytes_items_hot,json=totalBytesItemsHot,proto3" json:"total_bytes_items_hot,omitempty"` |
| } |
| |
| func (x *CASOperationStats) Reset() { |
| *x = CASOperationStats{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[21] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CASOperationStats) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CASOperationStats) ProtoMessage() {} |
| |
| func (x *CASOperationStats) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 CASOperationStats.ProtoReflect.Descriptor instead. |
| func (*CASOperationStats) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{21} |
| } |
| |
| func (x *CASOperationStats) GetDuration() float32 { |
| if x != nil { |
| return x.Duration |
| } |
| return 0 |
| } |
| |
| func (x *CASOperationStats) GetInitialNumberItems() int32 { |
| if x != nil { |
| return x.InitialNumberItems |
| } |
| return 0 |
| } |
| |
| func (x *CASOperationStats) GetInitialSize() int64 { |
| if x != nil { |
| return x.InitialSize |
| } |
| return 0 |
| } |
| |
| func (x *CASOperationStats) GetItemsCold() []byte { |
| if x != nil { |
| return x.ItemsCold |
| } |
| return nil |
| } |
| |
| func (x *CASOperationStats) GetItemsHot() []byte { |
| if x != nil { |
| return x.ItemsHot |
| } |
| return nil |
| } |
| |
| func (x *CASOperationStats) GetNumItemsCold() int64 { |
| if x != nil { |
| return x.NumItemsCold |
| } |
| return 0 |
| } |
| |
| func (x *CASOperationStats) GetTotalBytesItemsCold() int64 { |
| if x != nil { |
| return x.TotalBytesItemsCold |
| } |
| return 0 |
| } |
| |
| func (x *CASOperationStats) GetNumItemsHot() int64 { |
| if x != nil { |
| return x.NumItemsHot |
| } |
| return 0 |
| } |
| |
| func (x *CASOperationStats) GetTotalBytesItemsHot() int64 { |
| if x != nil { |
| return x.TotalBytesItemsHot |
| } |
| return 0 |
| } |
| |
| // Performance stats of task execution. |
| // See task_result.PerformanceStats for details. |
| type PerformanceStats struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| BotOverhead float32 `protobuf:"fixed32,1,opt,name=bot_overhead,json=botOverhead,proto3" json:"bot_overhead,omitempty"` |
| IsolatedDownload *CASOperationStats `protobuf:"bytes,2,opt,name=isolated_download,json=isolatedDownload,proto3" json:"isolated_download,omitempty"` |
| IsolatedUpload *CASOperationStats `protobuf:"bytes,3,opt,name=isolated_upload,json=isolatedUpload,proto3" json:"isolated_upload,omitempty"` |
| PackageInstallation *OperationStats `protobuf:"bytes,4,opt,name=package_installation,json=packageInstallation,proto3" json:"package_installation,omitempty"` |
| CacheTrim *OperationStats `protobuf:"bytes,5,opt,name=cache_trim,json=cacheTrim,proto3" json:"cache_trim,omitempty"` |
| NamedCachesInstall *OperationStats `protobuf:"bytes,6,opt,name=named_caches_install,json=namedCachesInstall,proto3" json:"named_caches_install,omitempty"` |
| NamedCachesUninstall *OperationStats `protobuf:"bytes,7,opt,name=named_caches_uninstall,json=namedCachesUninstall,proto3" json:"named_caches_uninstall,omitempty"` |
| Cleanup *OperationStats `protobuf:"bytes,8,opt,name=cleanup,proto3" json:"cleanup,omitempty"` |
| } |
| |
| func (x *PerformanceStats) Reset() { |
| *x = PerformanceStats{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[22] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *PerformanceStats) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*PerformanceStats) ProtoMessage() {} |
| |
| func (x *PerformanceStats) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 PerformanceStats.ProtoReflect.Descriptor instead. |
| func (*PerformanceStats) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{22} |
| } |
| |
| func (x *PerformanceStats) GetBotOverhead() float32 { |
| if x != nil { |
| return x.BotOverhead |
| } |
| return 0 |
| } |
| |
| func (x *PerformanceStats) GetIsolatedDownload() *CASOperationStats { |
| if x != nil { |
| return x.IsolatedDownload |
| } |
| return nil |
| } |
| |
| func (x *PerformanceStats) GetIsolatedUpload() *CASOperationStats { |
| if x != nil { |
| return x.IsolatedUpload |
| } |
| return nil |
| } |
| |
| func (x *PerformanceStats) GetPackageInstallation() *OperationStats { |
| if x != nil { |
| return x.PackageInstallation |
| } |
| return nil |
| } |
| |
| func (x *PerformanceStats) GetCacheTrim() *OperationStats { |
| if x != nil { |
| return x.CacheTrim |
| } |
| return nil |
| } |
| |
| func (x *PerformanceStats) GetNamedCachesInstall() *OperationStats { |
| if x != nil { |
| return x.NamedCachesInstall |
| } |
| return nil |
| } |
| |
| func (x *PerformanceStats) GetNamedCachesUninstall() *OperationStats { |
| if x != nil { |
| return x.NamedCachesUninstall |
| } |
| return nil |
| } |
| |
| func (x *PerformanceStats) GetCleanup() *OperationStats { |
| if x != nil { |
| return x.Cleanup |
| } |
| return nil |
| } |
| |
| // Result of a request to cancel a task. |
| type CancelResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // True if the cancellation succeeded. Either the task atomically changed |
| // from PENDING to CANCELED or it was RUNNING and killing bit has been set. |
| Canceled bool `protobuf:"varint,1,opt,name=canceled,proto3" json:"canceled,omitempty"` |
| // True if the task was running while it was canceled. |
| WasRunning bool `protobuf:"varint,2,opt,name=was_running,json=wasRunning,proto3" json:"was_running,omitempty"` |
| } |
| |
| func (x *CancelResponse) Reset() { |
| *x = CancelResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[23] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *CancelResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*CancelResponse) ProtoMessage() {} |
| |
| func (x *CancelResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 CancelResponse.ProtoReflect.Descriptor instead. |
| func (*CancelResponse) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{23} |
| } |
| |
| func (x *CancelResponse) GetCanceled() bool { |
| if x != nil { |
| return x.Canceled |
| } |
| return false |
| } |
| |
| func (x *CancelResponse) GetWasRunning() bool { |
| if x != nil { |
| return x.WasRunning |
| } |
| return false |
| } |
| |
| // Result of canceling some subset of pending tasks. |
| type TasksCancelResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Cursor string `protobuf:"bytes,1,opt,name=cursor,proto3" json:"cursor,omitempty"` |
| Now *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=now,proto3" json:"now,omitempty"` |
| Matched int32 `protobuf:"varint,3,opt,name=matched,proto3" json:"matched,omitempty"` |
| } |
| |
| func (x *TasksCancelResponse) Reset() { |
| *x = TasksCancelResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[24] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TasksCancelResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TasksCancelResponse) ProtoMessage() {} |
| |
| func (x *TasksCancelResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 TasksCancelResponse.ProtoReflect.Descriptor instead. |
| func (*TasksCancelResponse) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{24} |
| } |
| |
| func (x *TasksCancelResponse) GetCursor() string { |
| if x != nil { |
| return x.Cursor |
| } |
| return "" |
| } |
| |
| func (x *TasksCancelResponse) GetNow() *timestamppb.Timestamp { |
| if x != nil { |
| return x.Now |
| } |
| return nil |
| } |
| |
| func (x *TasksCancelResponse) GetMatched() int32 { |
| if x != nil { |
| return x.Matched |
| } |
| return 0 |
| } |
| |
| // A task's output as a bytestring |
| type TaskOutputResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Output []byte `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"` |
| // Current state of the task (e.g. PENDING, RUNNING, COMPLETED, EXPIRED, etc). |
| State TaskState `protobuf:"varint,2,opt,name=state,proto3,enum=swarming.v2.TaskState" json:"state,omitempty"` |
| } |
| |
| func (x *TaskOutputResponse) Reset() { |
| *x = TaskOutputResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[25] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TaskOutputResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TaskOutputResponse) ProtoMessage() {} |
| |
| func (x *TaskOutputResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 TaskOutputResponse.ProtoReflect.Descriptor instead. |
| func (*TaskOutputResponse) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{25} |
| } |
| |
| func (x *TaskOutputResponse) GetOutput() []byte { |
| if x != nil { |
| return x.Output |
| } |
| return nil |
| } |
| |
| func (x *TaskOutputResponse) GetState() TaskState { |
| if x != nil { |
| return x.State |
| } |
| return TaskState_INVALID |
| } |
| |
| // ResultDB properties of a completed task. |
| type ResultDBInfo struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // ResultDB hostname, e.g. "results.api.cr.dev" |
| Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"` |
| // Name of the task's ResultDB invocation. |
| // |
| // For example "invocations/task-chromium-swarm.appspot.com-deadbeef1". |
| // Unset if Swarming:ResultDB integration was not enabled for this task. |
| // |
| // If the task was deduplicated, this equals invocation name of the original |
| // task. |
| Invocation string `protobuf:"bytes,2,opt,name=invocation,proto3" json:"invocation,omitempty"` |
| } |
| |
| func (x *ResultDBInfo) Reset() { |
| *x = ResultDBInfo{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[26] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ResultDBInfo) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ResultDBInfo) ProtoMessage() {} |
| |
| func (x *ResultDBInfo) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 ResultDBInfo.ProtoReflect.Descriptor instead. |
| func (*ResultDBInfo) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{26} |
| } |
| |
| func (x *ResultDBInfo) GetHostname() string { |
| if x != nil { |
| return x.Hostname |
| } |
| return "" |
| } |
| |
| func (x *ResultDBInfo) GetInvocation() string { |
| if x != nil { |
| return x.Invocation |
| } |
| return "" |
| } |
| |
| // Representation of the TaskResultSummary or TaskRunResult ndb model. |
| type TaskResultResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Summary task ID (ending with '0') when creating a new task. |
| TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` |
| // Time when the task was abandoned instead of normal completion (e.g. |
| // EXPIRED, BOT_DIED, KILLED). |
| // |
| // The same key cannot be repeated. |
| BotDimensions []*StringListPair `protobuf:"bytes,2,rep,name=bot_dimensions,json=botDimensions,proto3" json:"bot_dimensions,omitempty"` |
| // Unique ID of the bot. |
| BotId string `protobuf:"bytes,3,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"` |
| // Time the bot became ready for a next task. |
| BotIdleSinceTs *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=bot_idle_since_ts,json=botIdleSinceTs,proto3" json:"bot_idle_since_ts,omitempty"` |
| // Hash of the bot code which ran the task. |
| BotVersion string `protobuf:"bytes,5,opt,name=bot_version,json=botVersion,proto3" json:"bot_version,omitempty"` |
| // The cloud project id where the bot saves its logs. |
| BotLogsCloudProject string `protobuf:"bytes,6,opt,name=bot_logs_cloud_project,json=botLogsCloudProject,proto3" json:"bot_logs_cloud_project,omitempty"` |
| // Time the task completed normally. Only one of abandoned_ts or completed_ts |
| // can be set except for state == KILLED. |
| // |
| // In case of KILLED, completed_ts is the time the task completed. |
| CompletedTs *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=completed_ts,json=completedTs,proto3" json:"completed_ts,omitempty"` |
| // $ saved for task with state DEDUPED. |
| CostSavedUsd float32 `protobuf:"fixed32,9,opt,name=cost_saved_usd,json=costSavedUsd,proto3" json:"cost_saved_usd,omitempty"` |
| // Time the task was requested. |
| CreatedTs *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=created_ts,json=createdTs,proto3" json:"created_ts,omitempty"` |
| // Task ID which results was reused for state DEDUPED. |
| DedupedFrom string `protobuf:"bytes,11,opt,name=deduped_from,json=dedupedFrom,proto3" json:"deduped_from,omitempty"` |
| // Duration of the task in seconds. This excludes overheads. |
| Duration float32 `protobuf:"fixed32,12,opt,name=duration,proto3" json:"duration,omitempty"` |
| // Process exit code if relevant. May be forcibly set to -1 in exceptional |
| // cases. |
| ExitCode int64 `protobuf:"varint,13,opt,name=exit_code,json=exitCode,proto3" json:"exit_code,omitempty"` |
| // True if exit_code != 0. |
| Failure bool `protobuf:"varint,14,opt,name=failure,proto3" json:"failure,omitempty"` |
| // True if state is BOT_DIED. |
| InternalFailure bool `protobuf:"varint,15,opt,name=internal_failure,json=internalFailure,proto3" json:"internal_failure,omitempty"` |
| // Time the results was last updated in the DB. |
| ModifiedTs *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=modified_ts,json=modifiedTs,proto3" json:"modified_ts,omitempty"` |
| // CAS Digest of the output root uploaded to RBE-CAS. |
| // This MUST be digest of [build.bazel.remote.execution.v2.Directory]. |
| CasOutputRoot *CASReference `protobuf:"bytes,17,opt,name=cas_output_root,json=casOutputRoot,proto3" json:"cas_output_root,omitempty"` |
| // Server versions that touched this task. |
| ServerVersions []string `protobuf:"bytes,18,rep,name=server_versions,json=serverVersions,proto3" json:"server_versions,omitempty"` |
| // Time the task started being run by a bot. |
| StartedTs *timestamppb.Timestamp `protobuf:"bytes,19,opt,name=started_ts,json=startedTs,proto3" json:"started_ts,omitempty"` |
| // Current state of the task (e.g. PENDING, RUNNING, COMPLETED, EXPIRED, etc). |
| State TaskState `protobuf:"varint,20,opt,name=state,proto3,enum=swarming.v2.TaskState" json:"state,omitempty"` |
| // In the case of KILLED, this records the time the user requested the task to |
| // stop. |
| AbandonedTs *timestamppb.Timestamp `protobuf:"bytes,21,opt,name=abandoned_ts,json=abandonedTs,proto3" json:"abandoned_ts,omitempty"` |
| // Can be multiple values only in TaskResultSummary. |
| CostsUsd []float32 `protobuf:"fixed32,22,rep,packed,name=costs_usd,json=costsUsd,proto3" json:"costs_usd,omitempty"` |
| // Name of the task. Only set when requesting task ID summary, ending with '0'. |
| Name string `protobuf:"bytes,23,opt,name=name,proto3" json:"name,omitempty"` |
| // Tags associated with the task when it was requested. Only set when |
| // requesting task ID summary, ending with '0'. |
| Tags []string `protobuf:"bytes,24,rep,name=tags,proto3" json:"tags,omitempty"` |
| // User on behalf this task was requested. Only set when requesting task ID |
| // summary, ending with '0'. |
| User string `protobuf:"bytes,25,opt,name=user,proto3" json:"user,omitempty"` |
| // Statistics about overhead for an isolated task. Only sent when requested. |
| PerformanceStats *PerformanceStats `protobuf:"bytes,26,opt,name=performance_stats,json=performanceStats,proto3" json:"performance_stats,omitempty"` |
| // Listing of the ACTUAL pinned CipdPackages that the task used. These can vary |
| // from the input packages if the inputs included non-identity versions (e.g. a |
| // ref like "latest"). |
| CipdPins *CipdPins `protobuf:"bytes,27,opt,name=cipd_pins,json=cipdPins,proto3" json:"cipd_pins,omitempty"` |
| // Actual executed task id that this task represents. For deduped tasks, it is |
| // the same value as deduped_from. This value can be empty if there is no |
| // execution, for example the task was cancelled. |
| RunId string `protobuf:"bytes,28,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` |
| // Index in the TaskRequest.task_slices (TaskSlice instance) that this result |
| // represents. This is updated when a TaskSlice is enqueued to run. |
| // |
| // The TaskSlice contains a TaskProperties, which defines what is run. |
| CurrentTaskSlice int32 `protobuf:"varint,29,opt,name=current_task_slice,json=currentTaskSlice,proto3" json:"current_task_slice,omitempty"` |
| // ResultDB related information. |
| // None if the integration was not enabled for this task. |
| ResultdbInfo *ResultDBInfo `protobuf:"bytes,30,opt,name=resultdb_info,json=resultdbInfo,proto3" json:"resultdb_info,omitempty"` |
| // Reported missing CAS packages on CLIENT_ERROR state |
| MissingCas []*CASReference `protobuf:"bytes,31,rep,name=missing_cas,json=missingCas,proto3" json:"missing_cas,omitempty"` |
| // Reported missing CIPD packages on CLIENT_ERROR state |
| MissingCipd []*CipdPackage `protobuf:"bytes,32,rep,name=missing_cipd,json=missingCipd,proto3" json:"missing_cipd,omitempty"` |
| } |
| |
| func (x *TaskResultResponse) Reset() { |
| *x = TaskResultResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[27] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TaskResultResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TaskResultResponse) ProtoMessage() {} |
| |
| func (x *TaskResultResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 TaskResultResponse.ProtoReflect.Descriptor instead. |
| func (*TaskResultResponse) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{27} |
| } |
| |
| func (x *TaskResultResponse) GetTaskId() string { |
| if x != nil { |
| return x.TaskId |
| } |
| return "" |
| } |
| |
| func (x *TaskResultResponse) GetBotDimensions() []*StringListPair { |
| if x != nil { |
| return x.BotDimensions |
| } |
| return nil |
| } |
| |
| func (x *TaskResultResponse) GetBotId() string { |
| if x != nil { |
| return x.BotId |
| } |
| return "" |
| } |
| |
| func (x *TaskResultResponse) GetBotIdleSinceTs() *timestamppb.Timestamp { |
| if x != nil { |
| return x.BotIdleSinceTs |
| } |
| return nil |
| } |
| |
| func (x *TaskResultResponse) GetBotVersion() string { |
| if x != nil { |
| return x.BotVersion |
| } |
| return "" |
| } |
| |
| func (x *TaskResultResponse) GetBotLogsCloudProject() string { |
| if x != nil { |
| return x.BotLogsCloudProject |
| } |
| return "" |
| } |
| |
| func (x *TaskResultResponse) GetCompletedTs() *timestamppb.Timestamp { |
| if x != nil { |
| return x.CompletedTs |
| } |
| return nil |
| } |
| |
| func (x *TaskResultResponse) GetCostSavedUsd() float32 { |
| if x != nil { |
| return x.CostSavedUsd |
| } |
| return 0 |
| } |
| |
| func (x *TaskResultResponse) GetCreatedTs() *timestamppb.Timestamp { |
| if x != nil { |
| return x.CreatedTs |
| } |
| return nil |
| } |
| |
| func (x *TaskResultResponse) GetDedupedFrom() string { |
| if x != nil { |
| return x.DedupedFrom |
| } |
| return "" |
| } |
| |
| func (x *TaskResultResponse) GetDuration() float32 { |
| if x != nil { |
| return x.Duration |
| } |
| return 0 |
| } |
| |
| func (x *TaskResultResponse) GetExitCode() int64 { |
| if x != nil { |
| return x.ExitCode |
| } |
| return 0 |
| } |
| |
| func (x *TaskResultResponse) GetFailure() bool { |
| if x != nil { |
| return x.Failure |
| } |
| return false |
| } |
| |
| func (x *TaskResultResponse) GetInternalFailure() bool { |
| if x != nil { |
| return x.InternalFailure |
| } |
| return false |
| } |
| |
| func (x *TaskResultResponse) GetModifiedTs() *timestamppb.Timestamp { |
| if x != nil { |
| return x.ModifiedTs |
| } |
| return nil |
| } |
| |
| func (x *TaskResultResponse) GetCasOutputRoot() *CASReference { |
| if x != nil { |
| return x.CasOutputRoot |
| } |
| return nil |
| } |
| |
| func (x *TaskResultResponse) GetServerVersions() []string { |
| if x != nil { |
| return x.ServerVersions |
| } |
| return nil |
| } |
| |
| func (x *TaskResultResponse) GetStartedTs() *timestamppb.Timestamp { |
| if x != nil { |
| return x.StartedTs |
| } |
| return nil |
| } |
| |
| func (x *TaskResultResponse) GetState() TaskState { |
| if x != nil { |
| return x.State |
| } |
| return TaskState_INVALID |
| } |
| |
| func (x *TaskResultResponse) GetAbandonedTs() *timestamppb.Timestamp { |
| if x != nil { |
| return x.AbandonedTs |
| } |
| return nil |
| } |
| |
| func (x *TaskResultResponse) GetCostsUsd() []float32 { |
| if x != nil { |
| return x.CostsUsd |
| } |
| return nil |
| } |
| |
| func (x *TaskResultResponse) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *TaskResultResponse) GetTags() []string { |
| if x != nil { |
| return x.Tags |
| } |
| return nil |
| } |
| |
| func (x *TaskResultResponse) GetUser() string { |
| if x != nil { |
| return x.User |
| } |
| return "" |
| } |
| |
| func (x *TaskResultResponse) GetPerformanceStats() *PerformanceStats { |
| if x != nil { |
| return x.PerformanceStats |
| } |
| return nil |
| } |
| |
| func (x *TaskResultResponse) GetCipdPins() *CipdPins { |
| if x != nil { |
| return x.CipdPins |
| } |
| return nil |
| } |
| |
| func (x *TaskResultResponse) GetRunId() string { |
| if x != nil { |
| return x.RunId |
| } |
| return "" |
| } |
| |
| func (x *TaskResultResponse) GetCurrentTaskSlice() int32 { |
| if x != nil { |
| return x.CurrentTaskSlice |
| } |
| return 0 |
| } |
| |
| func (x *TaskResultResponse) GetResultdbInfo() *ResultDBInfo { |
| if x != nil { |
| return x.ResultdbInfo |
| } |
| return nil |
| } |
| |
| func (x *TaskResultResponse) GetMissingCas() []*CASReference { |
| if x != nil { |
| return x.MissingCas |
| } |
| return nil |
| } |
| |
| func (x *TaskResultResponse) GetMissingCipd() []*CipdPackage { |
| if x != nil { |
| return x.MissingCipd |
| } |
| return nil |
| } |
| |
| // Only holds states. Used in the 'get_states' RPC. |
| type TaskStates struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| States []TaskState `protobuf:"varint,1,rep,packed,name=states,proto3,enum=swarming.v2.TaskState" json:"states,omitempty"` |
| } |
| |
| func (x *TaskStates) Reset() { |
| *x = TaskStates{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[28] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TaskStates) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TaskStates) ProtoMessage() {} |
| |
| func (x *TaskStates) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 TaskStates.ProtoReflect.Descriptor instead. |
| func (*TaskStates) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{28} |
| } |
| |
| func (x *TaskStates) GetStates() []TaskState { |
| if x != nil { |
| return x.States |
| } |
| return nil |
| } |
| |
| // Wraps a list of TaskResult. |
| type TaskListResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Cursor string `protobuf:"bytes,1,opt,name=cursor,proto3" json:"cursor,omitempty"` |
| Items []*TaskResultResponse `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"` |
| Now *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=now,proto3" json:"now,omitempty"` |
| } |
| |
| func (x *TaskListResponse) Reset() { |
| *x = TaskListResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[29] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TaskListResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TaskListResponse) ProtoMessage() {} |
| |
| func (x *TaskListResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_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 TaskListResponse.ProtoReflect.Descriptor instead. |
| func (*TaskListResponse) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{29} |
| } |
| |
| func (x *TaskListResponse) GetCursor() string { |
| if x != nil { |
| return x.Cursor |
| } |
| return "" |
| } |
| |
| func (x *TaskListResponse) GetItems() []*TaskResultResponse { |
| if x != nil { |
| return x.Items |
| } |
| return nil |
| } |
| |
| func (x *TaskListResponse) GetNow() *timestamppb.Timestamp { |
| if x != nil { |
| return x.Now |
| } |
| return nil |
| } |
| |
| // Wraps a list of TaskRequest. |
| type TaskRequestsResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Cursor string `protobuf:"bytes,1,opt,name=cursor,proto3" json:"cursor,omitempty"` |
| Items []*TaskRequestResponse `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"` |
| Now *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=now,proto3" json:"now,omitempty"` |
| } |
| |
| func (x *TaskRequestsResponse) Reset() { |
| *x = TaskRequestsResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[30] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TaskRequestsResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TaskRequestsResponse) ProtoMessage() {} |
| |
| func (x *TaskRequestsResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[30] |
| 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 TaskRequestsResponse.ProtoReflect.Descriptor instead. |
| func (*TaskRequestsResponse) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{30} |
| } |
| |
| func (x *TaskRequestsResponse) GetCursor() string { |
| if x != nil { |
| return x.Cursor |
| } |
| return "" |
| } |
| |
| func (x *TaskRequestsResponse) GetItems() []*TaskRequestResponse { |
| if x != nil { |
| return x.Items |
| } |
| return nil |
| } |
| |
| func (x *TaskRequestsResponse) GetNow() *timestamppb.Timestamp { |
| if x != nil { |
| return x.Now |
| } |
| return nil |
| } |
| |
| // Returns the count, as requested. |
| type TasksCount struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Count int32 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` |
| Now *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=now,proto3" json:"now,omitempty"` |
| } |
| |
| func (x *TasksCount) Reset() { |
| *x = TasksCount{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[31] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TasksCount) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TasksCount) ProtoMessage() {} |
| |
| func (x *TasksCount) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[31] |
| 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 TasksCount.ProtoReflect.Descriptor instead. |
| func (*TasksCount) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{31} |
| } |
| |
| func (x *TasksCount) GetCount() int32 { |
| if x != nil { |
| return x.Count |
| } |
| return 0 |
| } |
| |
| func (x *TasksCount) GetNow() *timestamppb.Timestamp { |
| if x != nil { |
| return x.Now |
| } |
| return nil |
| } |
| |
| // Provides the ID of the requested TaskRequest. |
| type TaskRequestMetadataResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` |
| Request *TaskRequestResponse `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"` |
| // Set to finished task result in case task was deduplicated. |
| TaskResult *TaskResultResponse `protobuf:"bytes,3,opt,name=task_result,json=taskResult,proto3" json:"task_result,omitempty"` |
| } |
| |
| func (x *TaskRequestMetadataResponse) Reset() { |
| *x = TaskRequestMetadataResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[32] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TaskRequestMetadataResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TaskRequestMetadataResponse) ProtoMessage() {} |
| |
| func (x *TaskRequestMetadataResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[32] |
| 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 TaskRequestMetadataResponse.ProtoReflect.Descriptor instead. |
| func (*TaskRequestMetadataResponse) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{32} |
| } |
| |
| func (x *TaskRequestMetadataResponse) GetTaskId() string { |
| if x != nil { |
| return x.TaskId |
| } |
| return "" |
| } |
| |
| func (x *TaskRequestMetadataResponse) GetRequest() *TaskRequestResponse { |
| if x != nil { |
| return x.Request |
| } |
| return nil |
| } |
| |
| func (x *TaskRequestMetadataResponse) GetTaskResult() *TaskResultResponse { |
| if x != nil { |
| return x.TaskResult |
| } |
| return nil |
| } |
| |
| // Representation of the BotInfo ndb model. |
| type BotInfo struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| BotId string `protobuf:"bytes,1,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"` |
| TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` |
| ExternalIp string `protobuf:"bytes,3,opt,name=external_ip,json=externalIp,proto3" json:"external_ip,omitempty"` |
| AuthenticatedAs string `protobuf:"bytes,4,opt,name=authenticated_as,json=authenticatedAs,proto3" json:"authenticated_as,omitempty"` |
| FirstSeenTs *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=first_seen_ts,json=firstSeenTs,proto3" json:"first_seen_ts,omitempty"` |
| IsDead bool `protobuf:"varint,6,opt,name=is_dead,json=isDead,proto3" json:"is_dead,omitempty"` |
| LastSeenTs *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=last_seen_ts,json=lastSeenTs,proto3" json:"last_seen_ts,omitempty"` |
| Quarantined bool `protobuf:"varint,8,opt,name=quarantined,proto3" json:"quarantined,omitempty"` |
| MaintenanceMsg string `protobuf:"bytes,9,opt,name=maintenance_msg,json=maintenanceMsg,proto3" json:"maintenance_msg,omitempty"` |
| Dimensions []*StringListPair `protobuf:"bytes,10,rep,name=dimensions,proto3" json:"dimensions,omitempty"` |
| TaskName string `protobuf:"bytes,11,opt,name=task_name,json=taskName,proto3" json:"task_name,omitempty"` |
| Version string `protobuf:"bytes,12,opt,name=version,proto3" json:"version,omitempty"` |
| // Encoded as json since it's an arbitrary dict. |
| State string `protobuf:"bytes,13,opt,name=state,proto3" json:"state,omitempty"` |
| Deleted bool `protobuf:"varint,14,opt,name=deleted,proto3" json:"deleted,omitempty"` |
| } |
| |
| func (x *BotInfo) Reset() { |
| *x = BotInfo{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[33] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BotInfo) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BotInfo) ProtoMessage() {} |
| |
| func (x *BotInfo) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[33] |
| 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 BotInfo.ProtoReflect.Descriptor instead. |
| func (*BotInfo) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{33} |
| } |
| |
| func (x *BotInfo) GetBotId() string { |
| if x != nil { |
| return x.BotId |
| } |
| return "" |
| } |
| |
| func (x *BotInfo) GetTaskId() string { |
| if x != nil { |
| return x.TaskId |
| } |
| return "" |
| } |
| |
| func (x *BotInfo) GetExternalIp() string { |
| if x != nil { |
| return x.ExternalIp |
| } |
| return "" |
| } |
| |
| func (x *BotInfo) GetAuthenticatedAs() string { |
| if x != nil { |
| return x.AuthenticatedAs |
| } |
| return "" |
| } |
| |
| func (x *BotInfo) GetFirstSeenTs() *timestamppb.Timestamp { |
| if x != nil { |
| return x.FirstSeenTs |
| } |
| return nil |
| } |
| |
| func (x *BotInfo) GetIsDead() bool { |
| if x != nil { |
| return x.IsDead |
| } |
| return false |
| } |
| |
| func (x *BotInfo) GetLastSeenTs() *timestamppb.Timestamp { |
| if x != nil { |
| return x.LastSeenTs |
| } |
| return nil |
| } |
| |
| func (x *BotInfo) GetQuarantined() bool { |
| if x != nil { |
| return x.Quarantined |
| } |
| return false |
| } |
| |
| func (x *BotInfo) GetMaintenanceMsg() string { |
| if x != nil { |
| return x.MaintenanceMsg |
| } |
| return "" |
| } |
| |
| func (x *BotInfo) GetDimensions() []*StringListPair { |
| if x != nil { |
| return x.Dimensions |
| } |
| return nil |
| } |
| |
| func (x *BotInfo) GetTaskName() string { |
| if x != nil { |
| return x.TaskName |
| } |
| return "" |
| } |
| |
| func (x *BotInfo) GetVersion() string { |
| if x != nil { |
| return x.Version |
| } |
| return "" |
| } |
| |
| func (x *BotInfo) GetState() string { |
| if x != nil { |
| return x.State |
| } |
| return "" |
| } |
| |
| func (x *BotInfo) GetDeleted() bool { |
| if x != nil { |
| return x.Deleted |
| } |
| return false |
| } |
| |
| // Wraps a list of BotInfo. |
| type BotInfoListResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Cursor string `protobuf:"bytes,1,opt,name=cursor,proto3" json:"cursor,omitempty"` |
| Items []*BotInfo `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"` |
| Now *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=now,proto3" json:"now,omitempty"` |
| DeathTimeout int32 `protobuf:"varint,4,opt,name=death_timeout,json=deathTimeout,proto3" json:"death_timeout,omitempty"` |
| } |
| |
| func (x *BotInfoListResponse) Reset() { |
| *x = BotInfoListResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[34] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BotInfoListResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BotInfoListResponse) ProtoMessage() {} |
| |
| func (x *BotInfoListResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[34] |
| 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 BotInfoListResponse.ProtoReflect.Descriptor instead. |
| func (*BotInfoListResponse) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{34} |
| } |
| |
| func (x *BotInfoListResponse) GetCursor() string { |
| if x != nil { |
| return x.Cursor |
| } |
| return "" |
| } |
| |
| func (x *BotInfoListResponse) GetItems() []*BotInfo { |
| if x != nil { |
| return x.Items |
| } |
| return nil |
| } |
| |
| func (x *BotInfoListResponse) GetNow() *timestamppb.Timestamp { |
| if x != nil { |
| return x.Now |
| } |
| return nil |
| } |
| |
| func (x *BotInfoListResponse) GetDeathTimeout() int32 { |
| if x != nil { |
| return x.DeathTimeout |
| } |
| return 0 |
| } |
| |
| // Returns the count, as requested. |
| type BotsCount struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Now *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=now,proto3" json:"now,omitempty"` |
| Count int32 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` |
| Quarantined int32 `protobuf:"varint,3,opt,name=quarantined,proto3" json:"quarantined,omitempty"` |
| Maintenance int32 `protobuf:"varint,4,opt,name=maintenance,proto3" json:"maintenance,omitempty"` |
| Dead int32 `protobuf:"varint,5,opt,name=dead,proto3" json:"dead,omitempty"` |
| Busy int32 `protobuf:"varint,6,opt,name=busy,proto3" json:"busy,omitempty"` |
| } |
| |
| func (x *BotsCount) Reset() { |
| *x = BotsCount{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[35] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BotsCount) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BotsCount) ProtoMessage() {} |
| |
| func (x *BotsCount) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[35] |
| 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 BotsCount.ProtoReflect.Descriptor instead. |
| func (*BotsCount) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{35} |
| } |
| |
| func (x *BotsCount) GetNow() *timestamppb.Timestamp { |
| if x != nil { |
| return x.Now |
| } |
| return nil |
| } |
| |
| func (x *BotsCount) GetCount() int32 { |
| if x != nil { |
| return x.Count |
| } |
| return 0 |
| } |
| |
| func (x *BotsCount) GetQuarantined() int32 { |
| if x != nil { |
| return x.Quarantined |
| } |
| return 0 |
| } |
| |
| func (x *BotsCount) GetMaintenance() int32 { |
| if x != nil { |
| return x.Maintenance |
| } |
| return 0 |
| } |
| |
| func (x *BotsCount) GetDead() int32 { |
| if x != nil { |
| return x.Dead |
| } |
| return 0 |
| } |
| |
| func (x *BotsCount) GetBusy() int32 { |
| if x != nil { |
| return x.Busy |
| } |
| return 0 |
| } |
| |
| // Returns all the dimensions and dimension possibilities in the fleet. |
| type BotsDimensions struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| BotsDimensions []*StringListPair `protobuf:"bytes,1,rep,name=bots_dimensions,json=botsDimensions,proto3" json:"bots_dimensions,omitempty"` |
| // Time at which this summary was calculated. |
| Ts *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=ts,proto3" json:"ts,omitempty"` |
| } |
| |
| func (x *BotsDimensions) Reset() { |
| *x = BotsDimensions{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[36] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BotsDimensions) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BotsDimensions) ProtoMessage() {} |
| |
| func (x *BotsDimensions) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[36] |
| 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 BotsDimensions.ProtoReflect.Descriptor instead. |
| func (*BotsDimensions) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{36} |
| } |
| |
| func (x *BotsDimensions) GetBotsDimensions() []*StringListPair { |
| if x != nil { |
| return x.BotsDimensions |
| } |
| return nil |
| } |
| |
| func (x *BotsDimensions) GetTs() *timestamppb.Timestamp { |
| if x != nil { |
| return x.Ts |
| } |
| return nil |
| } |
| |
| type BotEventResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // google.protobuf.Timestamp of this event. |
| Ts *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=ts,proto3" json:"ts,omitempty"` |
| // Type of event. |
| EventType string `protobuf:"bytes,2,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` |
| // Message included in the event. |
| Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` |
| // Bot dimensions at that moment. |
| Dimensions []*StringListPair `protobuf:"bytes,4,rep,name=dimensions,proto3" json:"dimensions,omitempty"` |
| // Bot state at that moment, encoded as json. |
| State string `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"` |
| // IP address as seen by the HTTP handler. |
| ExternalIp string `protobuf:"bytes,6,opt,name=external_ip,json=externalIp,proto3" json:"external_ip,omitempty"` |
| // Bot identity as seen by the HTTP handler. |
| AuthenticatedAs string `protobuf:"bytes,7,opt,name=authenticated_as,json=authenticatedAs,proto3" json:"authenticated_as,omitempty"` |
| // Version of swarming_bot.zip the bot is currently running. |
| Version string `protobuf:"bytes,8,opt,name=version,proto3" json:"version,omitempty"` |
| // If True, the bot is not accepting task due to being quarantined. |
| Quarantined bool `protobuf:"varint,9,opt,name=quarantined,proto3" json:"quarantined,omitempty"` |
| // If set, the bot is rejecting tasks due to maintenance. |
| MaintenanceMsg string `protobuf:"bytes,10,opt,name=maintenance_msg,json=maintenanceMsg,proto3" json:"maintenance_msg,omitempty"` |
| // Affected by event_type == 'request_task', 'task_completed', 'task_error'. |
| TaskId string `protobuf:"bytes,11,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` |
| } |
| |
| func (x *BotEventResponse) Reset() { |
| *x = BotEventResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[37] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BotEventResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BotEventResponse) ProtoMessage() {} |
| |
| func (x *BotEventResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[37] |
| 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 BotEventResponse.ProtoReflect.Descriptor instead. |
| func (*BotEventResponse) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{37} |
| } |
| |
| func (x *BotEventResponse) GetTs() *timestamppb.Timestamp { |
| if x != nil { |
| return x.Ts |
| } |
| return nil |
| } |
| |
| func (x *BotEventResponse) GetEventType() string { |
| if x != nil { |
| return x.EventType |
| } |
| return "" |
| } |
| |
| func (x *BotEventResponse) GetMessage() string { |
| if x != nil { |
| return x.Message |
| } |
| return "" |
| } |
| |
| func (x *BotEventResponse) GetDimensions() []*StringListPair { |
| if x != nil { |
| return x.Dimensions |
| } |
| return nil |
| } |
| |
| func (x *BotEventResponse) GetState() string { |
| if x != nil { |
| return x.State |
| } |
| return "" |
| } |
| |
| func (x *BotEventResponse) GetExternalIp() string { |
| if x != nil { |
| return x.ExternalIp |
| } |
| return "" |
| } |
| |
| func (x *BotEventResponse) GetAuthenticatedAs() string { |
| if x != nil { |
| return x.AuthenticatedAs |
| } |
| return "" |
| } |
| |
| func (x *BotEventResponse) GetVersion() string { |
| if x != nil { |
| return x.Version |
| } |
| return "" |
| } |
| |
| func (x *BotEventResponse) GetQuarantined() bool { |
| if x != nil { |
| return x.Quarantined |
| } |
| return false |
| } |
| |
| func (x *BotEventResponse) GetMaintenanceMsg() string { |
| if x != nil { |
| return x.MaintenanceMsg |
| } |
| return "" |
| } |
| |
| func (x *BotEventResponse) GetTaskId() string { |
| if x != nil { |
| return x.TaskId |
| } |
| return "" |
| } |
| |
| type BotEventsResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Cursor string `protobuf:"bytes,1,opt,name=cursor,proto3" json:"cursor,omitempty"` |
| Items []*BotEventResponse `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"` |
| Now *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=now,proto3" json:"now,omitempty"` |
| } |
| |
| func (x *BotEventsResponse) Reset() { |
| *x = BotEventsResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[38] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BotEventsResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BotEventsResponse) ProtoMessage() {} |
| |
| func (x *BotEventsResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[38] |
| 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 BotEventsResponse.ProtoReflect.Descriptor instead. |
| func (*BotEventsResponse) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{38} |
| } |
| |
| func (x *BotEventsResponse) GetCursor() string { |
| if x != nil { |
| return x.Cursor |
| } |
| return "" |
| } |
| |
| func (x *BotEventsResponse) GetItems() []*BotEventResponse { |
| if x != nil { |
| return x.Items |
| } |
| return nil |
| } |
| |
| func (x *BotEventsResponse) GetNow() *timestamppb.Timestamp { |
| if x != nil { |
| return x.Now |
| } |
| return nil |
| } |
| |
| // Indicates whether a bot was deleted. |
| type DeleteResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Deleted bool `protobuf:"varint,1,opt,name=deleted,proto3" json:"deleted,omitempty"` |
| } |
| |
| func (x *DeleteResponse) Reset() { |
| *x = DeleteResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[39] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *DeleteResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*DeleteResponse) ProtoMessage() {} |
| |
| func (x *DeleteResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[39] |
| 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 DeleteResponse.ProtoReflect.Descriptor instead. |
| func (*DeleteResponse) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{39} |
| } |
| |
| func (x *DeleteResponse) GetDeleted() bool { |
| if x != nil { |
| return x.Deleted |
| } |
| return false |
| } |
| |
| // Returns the pseudo taskid to wait for the bot to shut down. |
| type TerminateResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` |
| } |
| |
| func (x *TerminateResponse) Reset() { |
| *x = TerminateResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[40] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TerminateResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TerminateResponse) ProtoMessage() {} |
| |
| func (x *TerminateResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[40] |
| 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 TerminateResponse.ProtoReflect.Descriptor instead. |
| func (*TerminateResponse) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{40} |
| } |
| |
| func (x *TerminateResponse) GetTaskId() string { |
| if x != nil { |
| return x.TaskId |
| } |
| return "" |
| } |
| |
| type BotRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| BotId string `protobuf:"bytes,1,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"` |
| } |
| |
| func (x *BotRequest) Reset() { |
| *x = BotRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[41] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BotRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BotRequest) ProtoMessage() {} |
| |
| func (x *BotRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[41] |
| 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 BotRequest.ProtoReflect.Descriptor instead. |
| func (*BotRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{41} |
| } |
| |
| func (x *BotRequest) GetBotId() string { |
| if x != nil { |
| return x.BotId |
| } |
| return "" |
| } |
| |
| type TerminateRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Id of bot to terminate. |
| BotId string `protobuf:"bytes,1,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"` |
| // Reason why the termination was created. |
| Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` |
| } |
| |
| func (x *TerminateRequest) Reset() { |
| *x = TerminateRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[42] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TerminateRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TerminateRequest) ProtoMessage() {} |
| |
| func (x *TerminateRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[42] |
| 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 TerminateRequest.ProtoReflect.Descriptor instead. |
| func (*TerminateRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{42} |
| } |
| |
| func (x *TerminateRequest) GetBotId() string { |
| if x != nil { |
| return x.BotId |
| } |
| return "" |
| } |
| |
| func (x *TerminateRequest) GetReason() string { |
| if x != nil { |
| return x.Reason |
| } |
| return "" |
| } |
| |
| type BotEventsRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| BotId string `protobuf:"bytes,1,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"` |
| Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` |
| Cursor string `protobuf:"bytes,3,opt,name=cursor,proto3" json:"cursor,omitempty"` |
| Start *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=start,proto3" json:"start,omitempty"` |
| End *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=end,proto3" json:"end,omitempty"` |
| } |
| |
| func (x *BotEventsRequest) Reset() { |
| *x = BotEventsRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[43] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BotEventsRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BotEventsRequest) ProtoMessage() {} |
| |
| func (x *BotEventsRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[43] |
| 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 BotEventsRequest.ProtoReflect.Descriptor instead. |
| func (*BotEventsRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{43} |
| } |
| |
| func (x *BotEventsRequest) GetBotId() string { |
| if x != nil { |
| return x.BotId |
| } |
| return "" |
| } |
| |
| func (x *BotEventsRequest) GetLimit() int32 { |
| if x != nil { |
| return x.Limit |
| } |
| return 0 |
| } |
| |
| func (x *BotEventsRequest) GetCursor() string { |
| if x != nil { |
| return x.Cursor |
| } |
| return "" |
| } |
| |
| func (x *BotEventsRequest) GetStart() *timestamppb.Timestamp { |
| if x != nil { |
| return x.Start |
| } |
| return nil |
| } |
| |
| func (x *BotEventsRequest) GetEnd() *timestamppb.Timestamp { |
| if x != nil { |
| return x.End |
| } |
| return nil |
| } |
| |
| type BotTasksRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| BotId string `protobuf:"bytes,1,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"` |
| Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"` |
| Cursor string `protobuf:"bytes,3,opt,name=cursor,proto3" json:"cursor,omitempty"` |
| Start *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=start,proto3" json:"start,omitempty"` |
| End *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=end,proto3" json:"end,omitempty"` |
| State StateQuery `protobuf:"varint,6,opt,name=state,proto3,enum=swarming.v2.StateQuery" json:"state,omitempty"` |
| Sort SortQuery `protobuf:"varint,7,opt,name=sort,proto3,enum=swarming.v2.SortQuery" json:"sort,omitempty"` |
| IncludePerformanceStats bool `protobuf:"varint,8,opt,name=include_performance_stats,json=includePerformanceStats,proto3" json:"include_performance_stats,omitempty"` |
| } |
| |
| func (x *BotTasksRequest) Reset() { |
| *x = BotTasksRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[44] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BotTasksRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BotTasksRequest) ProtoMessage() {} |
| |
| func (x *BotTasksRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[44] |
| 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 BotTasksRequest.ProtoReflect.Descriptor instead. |
| func (*BotTasksRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{44} |
| } |
| |
| func (x *BotTasksRequest) GetBotId() string { |
| if x != nil { |
| return x.BotId |
| } |
| return "" |
| } |
| |
| func (x *BotTasksRequest) GetLimit() int32 { |
| if x != nil { |
| return x.Limit |
| } |
| return 0 |
| } |
| |
| func (x *BotTasksRequest) GetCursor() string { |
| if x != nil { |
| return x.Cursor |
| } |
| return "" |
| } |
| |
| func (x *BotTasksRequest) GetStart() *timestamppb.Timestamp { |
| if x != nil { |
| return x.Start |
| } |
| return nil |
| } |
| |
| func (x *BotTasksRequest) GetEnd() *timestamppb.Timestamp { |
| if x != nil { |
| return x.End |
| } |
| return nil |
| } |
| |
| func (x *BotTasksRequest) GetState() StateQuery { |
| if x != nil { |
| return x.State |
| } |
| return StateQuery_QUERY_PENDING |
| } |
| |
| func (x *BotTasksRequest) GetSort() SortQuery { |
| if x != nil { |
| return x.Sort |
| } |
| return SortQuery_QUERY_CREATED_TS |
| } |
| |
| func (x *BotTasksRequest) GetIncludePerformanceStats() bool { |
| if x != nil { |
| return x.IncludePerformanceStats |
| } |
| return false |
| } |
| |
| type BotsRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Limit int32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` |
| Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` |
| Dimensions []*StringPair `protobuf:"bytes,3,rep,name=dimensions,proto3" json:"dimensions,omitempty"` |
| Quarantined NullableBool `protobuf:"varint,4,opt,name=quarantined,proto3,enum=swarming.v2.NullableBool" json:"quarantined,omitempty"` |
| InMaintenance NullableBool `protobuf:"varint,5,opt,name=in_maintenance,json=inMaintenance,proto3,enum=swarming.v2.NullableBool" json:"in_maintenance,omitempty"` |
| IsDead NullableBool `protobuf:"varint,6,opt,name=is_dead,json=isDead,proto3,enum=swarming.v2.NullableBool" json:"is_dead,omitempty"` |
| IsBusy NullableBool `protobuf:"varint,7,opt,name=is_busy,json=isBusy,proto3,enum=swarming.v2.NullableBool" json:"is_busy,omitempty"` |
| } |
| |
| func (x *BotsRequest) Reset() { |
| *x = BotsRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[45] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BotsRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BotsRequest) ProtoMessage() {} |
| |
| func (x *BotsRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[45] |
| 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 BotsRequest.ProtoReflect.Descriptor instead. |
| func (*BotsRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{45} |
| } |
| |
| func (x *BotsRequest) GetLimit() int32 { |
| if x != nil { |
| return x.Limit |
| } |
| return 0 |
| } |
| |
| func (x *BotsRequest) GetCursor() string { |
| if x != nil { |
| return x.Cursor |
| } |
| return "" |
| } |
| |
| func (x *BotsRequest) GetDimensions() []*StringPair { |
| if x != nil { |
| return x.Dimensions |
| } |
| return nil |
| } |
| |
| func (x *BotsRequest) GetQuarantined() NullableBool { |
| if x != nil { |
| return x.Quarantined |
| } |
| return NullableBool_NULL |
| } |
| |
| func (x *BotsRequest) GetInMaintenance() NullableBool { |
| if x != nil { |
| return x.InMaintenance |
| } |
| return NullableBool_NULL |
| } |
| |
| func (x *BotsRequest) GetIsDead() NullableBool { |
| if x != nil { |
| return x.IsDead |
| } |
| return NullableBool_NULL |
| } |
| |
| func (x *BotsRequest) GetIsBusy() NullableBool { |
| if x != nil { |
| return x.IsBusy |
| } |
| return NullableBool_NULL |
| } |
| |
| type BotsCountRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Dimensions []*StringPair `protobuf:"bytes,1,rep,name=dimensions,proto3" json:"dimensions,omitempty"` |
| } |
| |
| func (x *BotsCountRequest) Reset() { |
| *x = BotsCountRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[46] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BotsCountRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BotsCountRequest) ProtoMessage() {} |
| |
| func (x *BotsCountRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[46] |
| 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 BotsCountRequest.ProtoReflect.Descriptor instead. |
| func (*BotsCountRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{46} |
| } |
| |
| func (x *BotsCountRequest) GetDimensions() []*StringPair { |
| if x != nil { |
| return x.Dimensions |
| } |
| return nil |
| } |
| |
| type BotsDimensionsRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Pool string `protobuf:"bytes,1,opt,name=pool,proto3" json:"pool,omitempty"` |
| } |
| |
| func (x *BotsDimensionsRequest) Reset() { |
| *x = BotsDimensionsRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[47] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BotsDimensionsRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BotsDimensionsRequest) ProtoMessage() {} |
| |
| func (x *BotsDimensionsRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[47] |
| 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 BotsDimensionsRequest.ProtoReflect.Descriptor instead. |
| func (*BotsDimensionsRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{47} |
| } |
| |
| func (x *BotsDimensionsRequest) GetPool() string { |
| if x != nil { |
| return x.Pool |
| } |
| return "" |
| } |
| |
| type PermissionsRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| BotId string `protobuf:"bytes,1,opt,name=bot_id,json=botId,proto3" json:"bot_id,omitempty"` |
| TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` |
| Tags []string `protobuf:"bytes,3,rep,name=tags,proto3" json:"tags,omitempty"` |
| } |
| |
| func (x *PermissionsRequest) Reset() { |
| *x = PermissionsRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[48] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *PermissionsRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*PermissionsRequest) ProtoMessage() {} |
| |
| func (x *PermissionsRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[48] |
| 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 PermissionsRequest.ProtoReflect.Descriptor instead. |
| func (*PermissionsRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{48} |
| } |
| |
| func (x *PermissionsRequest) GetBotId() string { |
| if x != nil { |
| return x.BotId |
| } |
| return "" |
| } |
| |
| func (x *PermissionsRequest) GetTaskId() string { |
| if x != nil { |
| return x.TaskId |
| } |
| return "" |
| } |
| |
| func (x *PermissionsRequest) GetTags() []string { |
| if x != nil { |
| return x.Tags |
| } |
| return nil |
| } |
| |
| type TaskStatesRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| TaskId []string `protobuf:"bytes,1,rep,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` |
| } |
| |
| func (x *TaskStatesRequest) Reset() { |
| *x = TaskStatesRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[49] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TaskStatesRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TaskStatesRequest) ProtoMessage() {} |
| |
| func (x *TaskStatesRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[49] |
| 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 TaskStatesRequest.ProtoReflect.Descriptor instead. |
| func (*TaskStatesRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{49} |
| } |
| |
| func (x *TaskStatesRequest) GetTaskId() []string { |
| if x != nil { |
| return x.TaskId |
| } |
| return nil |
| } |
| |
| type TasksWithPerfRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Limit int32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` |
| Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` |
| // These were floats in the legacy protorpc api |
| Start *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=start,proto3" json:"start,omitempty"` |
| End *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=end,proto3" json:"end,omitempty"` |
| State StateQuery `protobuf:"varint,5,opt,name=state,proto3,enum=swarming.v2.StateQuery" json:"state,omitempty"` |
| Sort SortQuery `protobuf:"varint,6,opt,name=sort,proto3,enum=swarming.v2.SortQuery" json:"sort,omitempty"` |
| Tags []string `protobuf:"bytes,7,rep,name=tags,proto3" json:"tags,omitempty"` |
| IncludePerformanceStats bool `protobuf:"varint,8,opt,name=include_performance_stats,json=includePerformanceStats,proto3" json:"include_performance_stats,omitempty"` |
| } |
| |
| func (x *TasksWithPerfRequest) Reset() { |
| *x = TasksWithPerfRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[50] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TasksWithPerfRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TasksWithPerfRequest) ProtoMessage() {} |
| |
| func (x *TasksWithPerfRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[50] |
| 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 TasksWithPerfRequest.ProtoReflect.Descriptor instead. |
| func (*TasksWithPerfRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{50} |
| } |
| |
| func (x *TasksWithPerfRequest) GetLimit() int32 { |
| if x != nil { |
| return x.Limit |
| } |
| return 0 |
| } |
| |
| func (x *TasksWithPerfRequest) GetCursor() string { |
| if x != nil { |
| return x.Cursor |
| } |
| return "" |
| } |
| |
| func (x *TasksWithPerfRequest) GetStart() *timestamppb.Timestamp { |
| if x != nil { |
| return x.Start |
| } |
| return nil |
| } |
| |
| func (x *TasksWithPerfRequest) GetEnd() *timestamppb.Timestamp { |
| if x != nil { |
| return x.End |
| } |
| return nil |
| } |
| |
| func (x *TasksWithPerfRequest) GetState() StateQuery { |
| if x != nil { |
| return x.State |
| } |
| return StateQuery_QUERY_PENDING |
| } |
| |
| func (x *TasksWithPerfRequest) GetSort() SortQuery { |
| if x != nil { |
| return x.Sort |
| } |
| return SortQuery_QUERY_CREATED_TS |
| } |
| |
| func (x *TasksWithPerfRequest) GetTags() []string { |
| if x != nil { |
| return x.Tags |
| } |
| return nil |
| } |
| |
| func (x *TasksWithPerfRequest) GetIncludePerformanceStats() bool { |
| if x != nil { |
| return x.IncludePerformanceStats |
| } |
| return false |
| } |
| |
| type TasksRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Limit int32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` |
| Cursor string `protobuf:"bytes,2,opt,name=cursor,proto3" json:"cursor,omitempty"` |
| // These were floats in the legacy protorpc api |
| Start *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=start,proto3" json:"start,omitempty"` |
| End *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=end,proto3" json:"end,omitempty"` |
| State StateQuery `protobuf:"varint,5,opt,name=state,proto3,enum=swarming.v2.StateQuery" json:"state,omitempty"` |
| Sort SortQuery `protobuf:"varint,6,opt,name=sort,proto3,enum=swarming.v2.SortQuery" json:"sort,omitempty"` |
| Tags []string `protobuf:"bytes,7,rep,name=tags,proto3" json:"tags,omitempty"` |
| } |
| |
| func (x *TasksRequest) Reset() { |
| *x = TasksRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[51] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TasksRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TasksRequest) ProtoMessage() {} |
| |
| func (x *TasksRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[51] |
| 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 TasksRequest.ProtoReflect.Descriptor instead. |
| func (*TasksRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{51} |
| } |
| |
| func (x *TasksRequest) GetLimit() int32 { |
| if x != nil { |
| return x.Limit |
| } |
| return 0 |
| } |
| |
| func (x *TasksRequest) GetCursor() string { |
| if x != nil { |
| return x.Cursor |
| } |
| return "" |
| } |
| |
| func (x *TasksRequest) GetStart() *timestamppb.Timestamp { |
| if x != nil { |
| return x.Start |
| } |
| return nil |
| } |
| |
| func (x *TasksRequest) GetEnd() *timestamppb.Timestamp { |
| if x != nil { |
| return x.End |
| } |
| return nil |
| } |
| |
| func (x *TasksRequest) GetState() StateQuery { |
| if x != nil { |
| return x.State |
| } |
| return StateQuery_QUERY_PENDING |
| } |
| |
| func (x *TasksRequest) GetSort() SortQuery { |
| if x != nil { |
| return x.Sort |
| } |
| return SortQuery_QUERY_CREATED_TS |
| } |
| |
| func (x *TasksRequest) GetTags() []string { |
| if x != nil { |
| return x.Tags |
| } |
| return nil |
| } |
| |
| type TasksCountRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| Start *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"` |
| End *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"` |
| State StateQuery `protobuf:"varint,3,opt,name=state,proto3,enum=swarming.v2.StateQuery" json:"state,omitempty"` |
| Tags []string `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty"` |
| } |
| |
| func (x *TasksCountRequest) Reset() { |
| *x = TasksCountRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[52] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TasksCountRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TasksCountRequest) ProtoMessage() {} |
| |
| func (x *TasksCountRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[52] |
| 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 TasksCountRequest.ProtoReflect.Descriptor instead. |
| func (*TasksCountRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{52} |
| } |
| |
| func (x *TasksCountRequest) GetStart() *timestamppb.Timestamp { |
| if x != nil { |
| return x.Start |
| } |
| return nil |
| } |
| |
| func (x *TasksCountRequest) GetEnd() *timestamppb.Timestamp { |
| if x != nil { |
| return x.End |
| } |
| return nil |
| } |
| |
| func (x *TasksCountRequest) GetState() StateQuery { |
| if x != nil { |
| return x.State |
| } |
| return StateQuery_QUERY_PENDING |
| } |
| |
| func (x *TasksCountRequest) GetTags() []string { |
| if x != nil { |
| return x.Tags |
| } |
| return nil |
| } |
| |
| type TaskIdRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` |
| } |
| |
| func (x *TaskIdRequest) Reset() { |
| *x = TaskIdRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[53] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TaskIdRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TaskIdRequest) ProtoMessage() {} |
| |
| func (x *TaskIdRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[53] |
| 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 TaskIdRequest.ProtoReflect.Descriptor instead. |
| func (*TaskIdRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{53} |
| } |
| |
| func (x *TaskIdRequest) GetTaskId() string { |
| if x != nil { |
| return x.TaskId |
| } |
| return "" |
| } |
| |
| type TaskIdWithOffsetRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` |
| Offset int64 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` |
| Length int64 `protobuf:"varint,3,opt,name=length,proto3" json:"length,omitempty"` |
| } |
| |
| func (x *TaskIdWithOffsetRequest) Reset() { |
| *x = TaskIdWithOffsetRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[54] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TaskIdWithOffsetRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TaskIdWithOffsetRequest) ProtoMessage() {} |
| |
| func (x *TaskIdWithOffsetRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[54] |
| 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 TaskIdWithOffsetRequest.ProtoReflect.Descriptor instead. |
| func (*TaskIdWithOffsetRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{54} |
| } |
| |
| func (x *TaskIdWithOffsetRequest) GetTaskId() string { |
| if x != nil { |
| return x.TaskId |
| } |
| return "" |
| } |
| |
| func (x *TaskIdWithOffsetRequest) GetOffset() int64 { |
| if x != nil { |
| return x.Offset |
| } |
| return 0 |
| } |
| |
| func (x *TaskIdWithOffsetRequest) GetLength() int64 { |
| if x != nil { |
| return x.Length |
| } |
| return 0 |
| } |
| |
| type TaskIdWithPerfRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` |
| IncludePerformanceStats bool `protobuf:"varint,2,opt,name=include_performance_stats,json=includePerformanceStats,proto3" json:"include_performance_stats,omitempty"` |
| } |
| |
| func (x *TaskIdWithPerfRequest) Reset() { |
| *x = TaskIdWithPerfRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[55] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TaskIdWithPerfRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TaskIdWithPerfRequest) ProtoMessage() {} |
| |
| func (x *TaskIdWithPerfRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[55] |
| 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 TaskIdWithPerfRequest.ProtoReflect.Descriptor instead. |
| func (*TaskIdWithPerfRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{55} |
| } |
| |
| func (x *TaskIdWithPerfRequest) GetTaskId() string { |
| if x != nil { |
| return x.TaskId |
| } |
| return "" |
| } |
| |
| func (x *TaskIdWithPerfRequest) GetIncludePerformanceStats() bool { |
| if x != nil { |
| return x.IncludePerformanceStats |
| } |
| return false |
| } |
| |
| type BatchGetResultRequest struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // One or more task IDs (ending with '0'), must have no duplicates. |
| TaskIds []string `protobuf:"bytes,1,rep,name=task_ids,json=taskIds,proto3" json:"task_ids,omitempty"` |
| // If true, populate `performance_stats` in the output. |
| IncludePerformanceStats bool `protobuf:"varint,2,opt,name=include_performance_stats,json=includePerformanceStats,proto3" json:"include_performance_stats,omitempty"` |
| } |
| |
| func (x *BatchGetResultRequest) Reset() { |
| *x = BatchGetResultRequest{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[56] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BatchGetResultRequest) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BatchGetResultRequest) ProtoMessage() {} |
| |
| func (x *BatchGetResultRequest) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[56] |
| 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 BatchGetResultRequest.ProtoReflect.Descriptor instead. |
| func (*BatchGetResultRequest) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{56} |
| } |
| |
| func (x *BatchGetResultRequest) GetTaskIds() []string { |
| if x != nil { |
| return x.TaskIds |
| } |
| return nil |
| } |
| |
| func (x *BatchGetResultRequest) GetIncludePerformanceStats() bool { |
| if x != nil { |
| return x.IncludePerformanceStats |
| } |
| return false |
| } |
| |
| type BatchGetResultResponse struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Task results or errors, in the same order as `task_ids` in the request. |
| Results []*BatchGetResultResponse_ResultOrError `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` |
| } |
| |
| func (x *BatchGetResultResponse) Reset() { |
| *x = BatchGetResultResponse{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[57] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BatchGetResultResponse) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BatchGetResultResponse) ProtoMessage() {} |
| |
| func (x *BatchGetResultResponse) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[57] |
| 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 BatchGetResultResponse.ProtoReflect.Descriptor instead. |
| func (*BatchGetResultResponse) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{57} |
| } |
| |
| func (x *BatchGetResultResponse) GetResults() []*BatchGetResultResponse_ResultOrError { |
| if x != nil { |
| return x.Results |
| } |
| return nil |
| } |
| |
| // Outcome of fetching one task's result. |
| type BatchGetResultResponse_ResultOrError struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` |
| // Types that are assignable to Outcome: |
| // |
| // *BatchGetResultResponse_ResultOrError_Result |
| // *BatchGetResultResponse_ResultOrError_Error |
| Outcome isBatchGetResultResponse_ResultOrError_Outcome `protobuf_oneof:"outcome"` |
| } |
| |
| func (x *BatchGetResultResponse_ResultOrError) Reset() { |
| *x = BatchGetResultResponse_ResultOrError{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[58] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *BatchGetResultResponse_ResultOrError) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*BatchGetResultResponse_ResultOrError) ProtoMessage() {} |
| |
| func (x *BatchGetResultResponse_ResultOrError) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[58] |
| 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 BatchGetResultResponse_ResultOrError.ProtoReflect.Descriptor instead. |
| func (*BatchGetResultResponse_ResultOrError) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP(), []int{57, 0} |
| } |
| |
| func (x *BatchGetResultResponse_ResultOrError) GetTaskId() string { |
| if x != nil { |
| return x.TaskId |
| } |
| return "" |
| } |
| |
| func (m *BatchGetResultResponse_ResultOrError) GetOutcome() isBatchGetResultResponse_ResultOrError_Outcome { |
| if m != nil { |
| return m.Outcome |
| } |
| return nil |
| } |
| |
| func (x *BatchGetResultResponse_ResultOrError) GetResult() *TaskResultResponse { |
| if x, ok := x.GetOutcome().(*BatchGetResultResponse_ResultOrError_Result); ok { |
| return x.Result |
| } |
| return nil |
| } |
| |
| func (x *BatchGetResultResponse_ResultOrError) GetError() *status.Status { |
| if x, ok := x.GetOutcome().(*BatchGetResultResponse_ResultOrError_Error); ok { |
| return x.Error |
| } |
| return nil |
| } |
| |
| type isBatchGetResultResponse_ResultOrError_Outcome interface { |
| isBatchGetResultResponse_ResultOrError_Outcome() |
| } |
| |
| type BatchGetResultResponse_ResultOrError_Result struct { |
| Result *TaskResultResponse `protobuf:"bytes,2,opt,name=result,proto3,oneof"` |
| } |
| |
| type BatchGetResultResponse_ResultOrError_Error struct { |
| Error *status.Status `protobuf:"bytes,3,opt,name=error,proto3,oneof"` |
| } |
| |
| func (*BatchGetResultResponse_ResultOrError_Result) isBatchGetResultResponse_ResultOrError_Outcome() { |
| } |
| |
| func (*BatchGetResultResponse_ResultOrError_Error) isBatchGetResultResponse_ResultOrError_Outcome() {} |
| |
| var File_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto protoreflect.FileDescriptor |
| |
| var file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDesc = []byte{ |
| 0x0a, 0x39, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, |
| 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2f, |
| 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x32, 0x2f, 0x73, 0x77, 0x61, |
| 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0b, 0x73, 0x77, 0x61, |
| 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, |
| 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, |
| 0x70, 0x72, 0x6f, 0x74, 0x6f, 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, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, |
| 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, |
| 0x34, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 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, 0x22, 0x38, 0x0a, 0x0e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, |
| 0x69, 0x73, 0x74, 0x50, 0x61, 0x69, 0x72, 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, 0x03, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, |
| 0xa7, 0x02, 0x0a, 0x0d, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, |
| 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, |
| 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x65, |
| 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x6f, 0x74, 0x5f, |
| 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, |
| 0x6f, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x19, 0x6d, 0x61, 0x63, |
| 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x65, |
| 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, |
| 0x52, 0x17, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, |
| 0x72, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x64, 0x69, 0x73, |
| 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x75, 0x72, 0x6c, 0x5f, |
| 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, |
| 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x55, 0x72, 0x6c, |
| 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0b, 0x6c, 0x75, 0x63, 0x69, |
| 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, |
| 0x01, 0x52, 0x0a, 0x6c, 0x75, 0x63, 0x69, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2a, 0x0a, |
| 0x11, 0x63, 0x61, 0x73, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x72, 0x76, |
| 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x61, 0x73, 0x56, 0x69, 0x65, |
| 0x77, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x22, 0x39, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, |
| 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x27, 0x0a, 0x0f, 0x62, |
| 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x54, |
| 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf2, 0x02, 0x0a, 0x11, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, |
| 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, |
| 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x62, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, |
| 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x6c, |
| 0x65, 0x74, 0x65, 0x5f, 0x62, 0x6f, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, |
| 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x65, |
| 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, |
| 0x08, 0x52, 0x0c, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x74, 0x12, |
| 0x23, 0x0a, 0x0b, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x04, |
| 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x67, 0x65, 0x74, 0x43, 0x6f, 0x6e, |
| 0x66, 0x69, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0b, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, |
| 0x69, 0x67, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x70, |
| 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6e, |
| 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, |
| 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x2e, 0x0a, 0x13, 0x67, 0x65, |
| 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x5f, 0x74, 0x6f, 0x6b, 0x65, |
| 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x67, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x74, |
| 0x73, 0x74, 0x72, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x61, |
| 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, |
| 0x52, 0x0b, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1b, 0x0a, |
| 0x09, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x74, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, |
| 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x42, 0x6f, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x69, |
| 0x73, 0x74, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, |
| 0x6c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x22, 0x3b, 0x0a, 0x06, 0x44, 0x69, 0x67, |
| 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, |
| 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x69, 0x7a, 0x65, 0x5f, |
| 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x69, 0x7a, |
| 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x5e, 0x0a, 0x0c, 0x43, 0x41, 0x53, 0x52, 0x65, 0x66, |
| 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x61, 0x73, 0x5f, 0x69, 0x6e, |
| 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, |
| 0x73, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x64, 0x69, 0x67, |
| 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x77, 0x61, 0x72, |
| 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x52, 0x06, |
| 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x22, 0x5e, 0x0a, 0x0b, 0x43, 0x69, 0x70, 0x64, 0x50, 0x61, |
| 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, |
| 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, |
| 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, |
| 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, |
| 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, |
| 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0x9a, 0x01, 0x0a, 0x09, 0x43, 0x69, 0x70, 0x64, 0x49, |
| 0x6e, 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x0e, |
| 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, |
| 0x76, 0x32, 0x2e, 0x43, 0x69, 0x70, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x0d, |
| 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x34, 0x0a, |
| 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, |
| 0x18, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x69, |
| 0x70, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, |
| 0x67, 0x65, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x08, 0x43, 0x69, 0x70, 0x64, 0x50, 0x69, 0x6e, 0x73, |
| 0x12, 0x3f, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, |
| 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, |
| 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x69, 0x70, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, |
| 0x67, 0x65, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, |
| 0x65, 0x12, 0x34, 0x0a, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x18, 0x02, 0x20, |
| 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, |
| 0x32, 0x2e, 0x43, 0x69, 0x70, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x52, 0x08, 0x70, |
| 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x73, 0x22, 0x34, 0x0a, 0x0a, 0x43, 0x61, 0x63, 0x68, 0x65, |
| 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, |
| 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, |
| 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0xbd, 0x02, |
| 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x25, 0x0a, |
| 0x0e, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, |
| 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x50, 0x72, 0x69, 0x6f, |
| 0x72, 0x69, 0x74, 0x79, 0x12, 0x53, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x6d, |
| 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, |
| 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, |
| 0x74, 0x61, 0x69, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, |
| 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, |
| 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x6c, 0x69, 0x6d, |
| 0x69, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, |
| 0x28, 0x03, 0x52, 0x0e, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, |
| 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x1c, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x74, 0x6f, 0x74, 0x61, |
| 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, |
| 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x19, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x54, |
| 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x6d, |
| 0x6f, 0x72, 0x79, 0x22, 0x48, 0x0a, 0x0f, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x6d, 0x65, |
| 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x4f, 0x54, 0x5f, 0x53, 0x50, |
| 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, |
| 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x02, 0x12, 0x0e, 0x0a, |
| 0x0a, 0x4a, 0x4f, 0x42, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x10, 0x03, 0x22, 0xbd, 0x05, |
| 0x0a, 0x0e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, |
| 0x12, 0x2f, 0x0a, 0x06, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, |
| 0x32, 0x17, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, |
| 0x61, 0x63, 0x68, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x63, 0x61, 0x63, 0x68, 0x65, |
| 0x73, 0x12, 0x35, 0x0a, 0x0a, 0x63, 0x69, 0x70, 0x64, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, |
| 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, |
| 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x69, 0x70, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x09, 0x63, |
| 0x69, 0x70, 0x64, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, |
| 0x61, 0x6e, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, |
| 0x6e, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x63, |
| 0x77, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, |
| 0x76, 0x65, 0x43, 0x77, 0x64, 0x12, 0x37, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, |
| 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x77, 0x61, 0x72, |
| 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, |
| 0x69, 0x72, 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x29, |
| 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x77, |
| 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, |
| 0x50, 0x61, 0x69, 0x72, 0x52, 0x03, 0x65, 0x6e, 0x76, 0x12, 0x3e, 0x0a, 0x0c, 0x65, 0x6e, 0x76, |
| 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, |
| 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, |
| 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0b, 0x65, 0x6e, |
| 0x76, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73, 0x12, 0x34, 0x0a, 0x16, 0x65, 0x78, 0x65, |
| 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, |
| 0x65, 0x63, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x65, 0x78, 0x65, 0x63, 0x75, |
| 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x63, 0x73, 0x12, |
| 0x2a, 0x0a, 0x11, 0x67, 0x72, 0x61, 0x63, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, |
| 0x73, 0x65, 0x63, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x67, 0x72, 0x61, 0x63, |
| 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x53, 0x65, 0x63, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x69, |
| 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, |
| 0x0a, 0x69, 0x64, 0x65, 0x6d, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x0e, 0x63, |
| 0x61, 0x73, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x0b, 0x20, |
| 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, |
| 0x32, 0x2e, 0x43, 0x41, 0x53, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0c, |
| 0x63, 0x61, 0x73, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x26, 0x0a, 0x0f, |
| 0x69, 0x6f, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x65, 0x63, 0x73, 0x18, |
| 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x69, 0x6f, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, |
| 0x53, 0x65, 0x63, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x18, |
| 0x0d, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73, 0x12, 0x21, |
| 0x0a, 0x0c, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0e, |
| 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x42, 0x79, 0x74, 0x65, |
| 0x73, 0x12, 0x3a, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x6d, 0x65, 0x6e, 0x74, |
| 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, |
| 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x6d, 0x65, 0x6e, 0x74, |
| 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x9d, 0x01, |
| 0x0a, 0x09, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x70, |
| 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, |
| 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, |
| 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0a, 0x70, 0x72, |
| 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, |
| 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, |
| 0x05, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, |
| 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x63, 0x61, |
| 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x77, 0x61, |
| 0x69, 0x74, 0x46, 0x6f, 0x72, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x22, 0xed, 0x03, |
| 0x0a, 0x19, 0x53, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x61, |
| 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, 0x70, |
| 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, |
| 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x6f, 0x74, 0x5f, 0x70, |
| 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, |
| 0x01, 0x28, 0x03, 0x52, 0x10, 0x62, 0x6f, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6c, 0x65, |
| 0x72, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, |
| 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, |
| 0x72, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, |
| 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, |
| 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x63, |
| 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x77, |
| 0x61, 0x69, 0x74, 0x46, 0x6f, 0x72, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x31, |
| 0x0a, 0x15, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x63, |
| 0x69, 0x70, 0x64, 0x5f, 0x70, 0x6b, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x61, |
| 0x67, 0x65, 0x6e, 0x74, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x69, 0x70, 0x64, 0x50, 0x6b, |
| 0x67, 0x12, 0x33, 0x0a, 0x16, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, |
| 0x79, 0x5f, 0x63, 0x69, 0x70, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, |
| 0x09, 0x52, 0x13, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x69, |
| 0x70, 0x64, 0x56, 0x65, 0x72, 0x73, 0x12, 0x3b, 0x0a, 0x1a, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, |
| 0x62, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x69, 0x70, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, |
| 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x61, 0x67, 0x65, 0x6e, |
| 0x74, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x43, 0x69, 0x70, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x6e, |
| 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x69, 0x6e, |
| 0x61, 0x72, 0x79, 0x5f, 0x63, 0x69, 0x70, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, |
| 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x69, 0x6e, 0x61, |
| 0x72, 0x79, 0x43, 0x69, 0x70, 0x64, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, |
| 0x74, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, |
| 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, |
| 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x25, 0x0a, |
| 0x0b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x44, 0x42, 0x43, 0x66, 0x67, 0x12, 0x16, 0x0a, 0x06, |
| 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x65, 0x6e, |
| 0x61, 0x62, 0x6c, 0x65, 0x22, 0xcc, 0x06, 0x0a, 0x0e, 0x4e, 0x65, 0x77, 0x54, 0x61, 0x73, 0x6b, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, |
| 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x73, |
| 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, |
| 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, |
| 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x61, |
| 0x72, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, |
| 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, |
| 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x3b, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, |
| 0x74, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x77, 0x61, |
| 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, |
| 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, |
| 0x69, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x6c, 0x69, 0x63, |
| 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, |
| 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x6c, 0x69, 0x63, 0x65, |
| 0x52, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, |
| 0x74, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, |
| 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, |
| 0x75, 0x73, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, |
| 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, |
| 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, |
| 0x0c, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x0a, 0x20, |
| 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x54, 0x6f, 0x70, 0x69, 0x63, |
| 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, |
| 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x75, 0x62, |
| 0x73, 0x75, 0x62, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x27, 0x0a, 0x0f, |
| 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x18, |
| 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x55, 0x73, 0x65, |
| 0x72, 0x64, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, |
| 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x65, 0x76, |
| 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x5f, 0x0a, 0x12, 0x70, 0x6f, |
| 0x6f, 0x6c, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, |
| 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, |
| 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x65, 0x77, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, |
| 0x65, 0x73, 0x74, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x65, 0x6d, 0x70, |
| 0x6c, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x10, 0x70, 0x6f, 0x6f, 0x6c, 0x54, |
| 0x61, 0x73, 0x6b, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, 0x17, 0x62, |
| 0x6f, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x6e, 0x63, |
| 0x65, 0x5f, 0x73, 0x65, 0x63, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x62, 0x6f, |
| 0x74, 0x50, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x65, |
| 0x63, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x75, 0x75, |
| 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x55, 0x75, 0x69, 0x64, 0x12, 0x34, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, |
| 0x62, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, |
| 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x44, 0x42, 0x43, 0x66, |
| 0x67, 0x52, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x12, 0x14, 0x0a, 0x05, 0x72, |
| 0x65, 0x61, 0x6c, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x61, 0x6c, |
| 0x6d, 0x22, 0x50, 0x0a, 0x15, 0x50, 0x6f, 0x6f, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x65, 0x6d, |
| 0x70, 0x6c, 0x61, 0x74, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, |
| 0x54, 0x4f, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x41, 0x4e, 0x41, 0x52, 0x59, 0x5f, 0x50, |
| 0x52, 0x45, 0x46, 0x45, 0x52, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x41, 0x4e, 0x41, 0x52, |
| 0x59, 0x5f, 0x4e, 0x45, 0x56, 0x45, 0x52, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x4b, 0x49, |
| 0x50, 0x10, 0x03, 0x22, 0xc7, 0x05, 0x0a, 0x13, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, |
| 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, |
| 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, |
| 0x73, 0x6b, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, |
| 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x65, |
| 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x73, 0x12, 0x12, 0x0a, |
| 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, |
| 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x61, 0x73, 0x6b, |
| 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, |
| 0x74, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, |
| 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, |
| 0x69, 0x74, 0x79, 0x12, 0x3b, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, |
| 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, |
| 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, |
| 0x74, 0x69, 0x65, 0x73, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, |
| 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, |
| 0x74, 0x61, 0x67, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, |
| 0x74, 0x73, 0x18, 0x08, 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, 0x54, 0x73, 0x12, |
| 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, |
| 0x73, 0x65, 0x72, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, |
| 0x61, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x75, 0x74, 0x68, |
| 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x0b, 0x74, 0x61, 0x73, |
| 0x6b, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, |
| 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, |
| 0x6b, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x6c, 0x69, 0x63, |
| 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, |
| 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, |
| 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x72, |
| 0x65, 0x61, 0x6c, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x61, 0x6c, |
| 0x6d, 0x12, 0x34, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x18, 0x0e, 0x20, |
| 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, |
| 0x32, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x44, 0x42, 0x43, 0x66, 0x67, 0x52, 0x08, 0x72, |
| 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x73, 0x75, |
| 0x62, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, |
| 0x75, 0x62, 0x73, 0x75, 0x62, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x75, |
| 0x62, 0x73, 0x75, 0x62, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x64, 0x61, 0x74, 0x61, 0x18, 0x10, 0x20, |
| 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x55, 0x73, 0x65, 0x72, 0x64, |
| 0x61, 0x74, 0x61, 0x12, 0x35, 0x0a, 0x17, 0x62, 0x6f, 0x74, 0x5f, 0x70, 0x69, 0x6e, 0x67, 0x5f, |
| 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x73, 0x18, 0x11, |
| 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x62, 0x6f, 0x74, 0x50, 0x69, 0x6e, 0x67, 0x54, 0x6f, 0x6c, |
| 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x65, 0x63, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x62, |
| 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, |
| 0x52, 0x0b, 0x72, 0x62, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x4f, 0x0a, |
| 0x11, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, |
| 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x6b, |
| 0x69, 0x6c, 0x6c, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, |
| 0x08, 0x52, 0x0b, 0x6b, 0x69, 0x6c, 0x6c, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x22, 0xd9, |
| 0x01, 0x0a, 0x12, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, |
| 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, |
| 0x73, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, |
| 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, |
| 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6b, |
| 0x69, 0x6c, 0x6c, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, |
| 0x61, 0x72, 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, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, |
| 0x65, 0x6e, 0x64, 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, 0x03, 0x65, 0x6e, 0x64, 0x22, 0x2c, 0x0a, 0x0e, 0x4f, 0x70, |
| 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, |
| 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, |
| 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf2, 0x02, 0x0a, 0x11, 0x43, 0x41, 0x53, |
| 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1a, |
| 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, |
| 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x6e, |
| 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x69, 0x74, 0x65, |
| 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, |
| 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x21, 0x0a, 0x0c, |
| 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, |
| 0x28, 0x03, 0x52, 0x0b, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, |
| 0x1d, 0x0a, 0x0a, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x64, 0x18, 0x04, 0x20, |
| 0x01, 0x28, 0x0c, 0x52, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x43, 0x6f, 0x6c, 0x64, 0x12, 0x1b, |
| 0x0a, 0x09, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x5f, 0x68, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, |
| 0x0c, 0x52, 0x08, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x48, 0x6f, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x6e, |
| 0x75, 0x6d, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x64, 0x18, 0x06, 0x20, |
| 0x01, 0x28, 0x03, 0x52, 0x0c, 0x6e, 0x75, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x43, 0x6f, 0x6c, |
| 0x64, 0x12, 0x33, 0x0a, 0x16, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, |
| 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x5f, 0x63, 0x6f, 0x6c, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, |
| 0x03, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x49, 0x74, 0x65, |
| 0x6d, 0x73, 0x43, 0x6f, 0x6c, 0x64, 0x12, 0x22, 0x0a, 0x0d, 0x6e, 0x75, 0x6d, 0x5f, 0x69, 0x74, |
| 0x65, 0x6d, 0x73, 0x5f, 0x68, 0x6f, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6e, |
| 0x75, 0x6d, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x48, 0x6f, 0x74, 0x12, 0x31, 0x0a, 0x15, 0x74, 0x6f, |
| 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x5f, |
| 0x68, 0x6f, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, |
| 0x42, 0x79, 0x74, 0x65, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x48, 0x6f, 0x74, 0x22, 0xb0, 0x04, |
| 0x0a, 0x10, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, |
| 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6f, 0x74, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x68, 0x65, |
| 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x62, 0x6f, 0x74, 0x4f, 0x76, 0x65, |
| 0x72, 0x68, 0x65, 0x61, 0x64, 0x12, 0x4b, 0x0a, 0x11, 0x69, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x65, |
| 0x64, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x1e, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, |
| 0x41, 0x53, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, |
| 0x52, 0x10, 0x69, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, |
| 0x61, 0x64, 0x12, 0x47, 0x0a, 0x0f, 0x69, 0x73, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, |
| 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x77, |
| 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x41, 0x53, 0x4f, 0x70, 0x65, |
| 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x0e, 0x69, 0x73, 0x6f, |
| 0x6c, 0x61, 0x74, 0x65, 0x64, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x4e, 0x0a, 0x14, 0x70, |
| 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, |
| 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, |
| 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, |
| 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x13, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, |
| 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x0a, 0x63, |
| 0x61, 0x63, 0x68, 0x65, 0x5f, 0x74, 0x72, 0x69, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, |
| 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x70, |
| 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x09, 0x63, 0x61, |
| 0x63, 0x68, 0x65, 0x54, 0x72, 0x69, 0x6d, 0x12, 0x4d, 0x0a, 0x14, 0x6e, 0x61, 0x6d, 0x65, 0x64, |
| 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x18, |
| 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, |
| 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, |
| 0x74, 0x73, 0x52, 0x12, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x73, 0x49, |
| 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x51, 0x0a, 0x16, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, |
| 0x63, 0x61, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x75, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, |
| 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, |
| 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, |
| 0x61, 0x74, 0x73, 0x52, 0x14, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x73, |
| 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x35, 0x0a, 0x07, 0x63, 0x6c, 0x65, |
| 0x61, 0x6e, 0x75, 0x70, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x77, 0x61, |
| 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, |
| 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x07, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x75, 0x70, |
| 0x22, 0x4d, 0x0a, 0x0e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, |
| 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x65, 0x64, 0x12, 0x1f, |
| 0x0a, 0x0b, 0x77, 0x61, 0x73, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, |
| 0x01, 0x28, 0x08, 0x52, 0x0a, 0x77, 0x61, 0x73, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x22, |
| 0x75, 0x0a, 0x13, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, |
| 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, |
| 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x2c, |
| 0x0a, 0x03, 0x6e, 0x6f, 0x77, 0x18, 0x02, 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, 0x03, 0x6e, 0x6f, 0x77, 0x12, 0x18, 0x0a, 0x07, |
| 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, |
| 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x22, 0x5a, 0x0a, 0x12, 0x54, 0x61, 0x73, 0x6b, 0x4f, 0x75, |
| 0x74, 0x70, 0x75, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, |
| 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x6f, 0x75, |
| 0x74, 0x70, 0x75, 0x74, 0x12, 0x2c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, |
| 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, |
| 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, |
| 0x74, 0x65, 0x22, 0x4a, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x44, 0x42, 0x49, 0x6e, |
| 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, |
| 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa7, |
| 0x0b, 0x0a, 0x12, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, |
| 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, |
| 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x42, |
| 0x0a, 0x0e, 0x62, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, |
| 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, |
| 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x50, |
| 0x61, 0x69, 0x72, 0x52, 0x0d, 0x62, 0x6f, 0x74, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, |
| 0x6e, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x05, 0x62, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x45, 0x0a, 0x11, 0x62, 0x6f, 0x74, |
| 0x5f, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x73, 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, 0x0e, 0x62, 0x6f, 0x74, 0x49, 0x64, 0x6c, 0x65, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x54, 0x73, |
| 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x6f, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, |
| 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x62, 0x6f, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, |
| 0x6e, 0x12, 0x33, 0x0a, 0x16, 0x62, 0x6f, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x63, 0x6c, |
| 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, |
| 0x09, 0x52, 0x13, 0x62, 0x6f, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, |
| 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x3d, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, |
| 0x74, 0x65, 0x64, 0x5f, 0x74, 0x73, 0x18, 0x08, 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, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, |
| 0x74, 0x65, 0x64, 0x54, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x61, |
| 0x76, 0x65, 0x64, 0x5f, 0x75, 0x73, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x63, |
| 0x6f, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x55, 0x73, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x63, |
| 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x73, 0x18, 0x0a, 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, 0x54, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x64, 0x75, 0x70, 0x65, |
| 0x64, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, |
| 0x64, 0x75, 0x70, 0x65, 0x64, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x64, 0x75, 0x72, |
| 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x78, 0x69, 0x74, 0x5f, 0x63, 0x6f, |
| 0x64, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x65, 0x78, 0x69, 0x74, 0x43, 0x6f, |
| 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x0e, 0x20, |
| 0x01, 0x28, 0x08, 0x52, 0x07, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x29, 0x0a, 0x10, |
| 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, |
| 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, |
| 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x69, 0x66, |
| 0x69, 0x65, 0x64, 0x5f, 0x74, 0x73, 0x18, 0x10, 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, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, |
| 0x65, 0x64, 0x54, 0x73, 0x12, 0x41, 0x0a, 0x0f, 0x63, 0x61, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x70, |
| 0x75, 0x74, 0x5f, 0x72, 0x6f, 0x6f, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, |
| 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x41, 0x53, 0x52, |
| 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x63, 0x61, 0x73, 0x4f, 0x75, 0x74, |
| 0x70, 0x75, 0x74, 0x52, 0x6f, 0x6f, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x65, |
| 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x09, |
| 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, |
| 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x73, 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, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x54, 0x73, 0x12, 0x2c, 0x0a, 0x05, 0x73, |
| 0x74, 0x61, 0x74, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x77, 0x61, |
| 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, |
| 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x61, 0x62, 0x61, |
| 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x73, 0x18, 0x15, 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, 0x61, 0x62, 0x61, |
| 0x6e, 0x64, 0x6f, 0x6e, 0x65, 0x64, 0x54, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x73, 0x74, |
| 0x73, 0x5f, 0x75, 0x73, 0x64, 0x18, 0x16, 0x20, 0x03, 0x28, 0x02, 0x52, 0x08, 0x63, 0x6f, 0x73, |
| 0x74, 0x73, 0x55, 0x73, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x17, 0x20, |
| 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, |
| 0x73, 0x18, 0x18, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x12, 0x0a, |
| 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, |
| 0x72, 0x12, 0x4a, 0x0a, 0x11, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, |
| 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, |
| 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x65, 0x72, 0x66, 0x6f, |
| 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x10, 0x70, 0x65, 0x72, |
| 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x32, 0x0a, |
| 0x09, 0x63, 0x69, 0x70, 0x64, 0x5f, 0x70, 0x69, 0x6e, 0x73, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x0b, |
| 0x32, 0x15, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, |
| 0x69, 0x70, 0x64, 0x50, 0x69, 0x6e, 0x73, 0x52, 0x08, 0x63, 0x69, 0x70, 0x64, 0x50, 0x69, 0x6e, |
| 0x73, 0x12, 0x15, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x1c, 0x20, 0x01, 0x28, |
| 0x09, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x12, 0x63, 0x75, 0x72, 0x72, |
| 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x18, 0x1d, |
| 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x61, 0x73, |
| 0x6b, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x12, 0x3e, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, |
| 0x64, 0x62, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, |
| 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x75, |
| 0x6c, 0x74, 0x44, 0x42, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, |
| 0x64, 0x62, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3a, 0x0a, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, |
| 0x67, 0x5f, 0x63, 0x61, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x77, |
| 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x41, 0x53, 0x52, 0x65, 0x66, |
| 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0a, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, |
| 0x61, 0x73, 0x12, 0x3b, 0x0a, 0x0c, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x69, |
| 0x70, 0x64, 0x18, 0x20, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, |
| 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x69, 0x70, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, |
| 0x67, 0x65, 0x52, 0x0b, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x69, 0x70, 0x64, 0x4a, |
| 0x04, 0x08, 0x07, 0x10, 0x08, 0x52, 0x11, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x72, 0x65, 0x6e, 0x5f, |
| 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x22, 0x3c, 0x0a, 0x0a, 0x54, 0x61, 0x73, 0x6b, |
| 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, |
| 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, |
| 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x06, |
| 0x73, 0x74, 0x61, 0x74, 0x65, 0x73, 0x22, 0x8f, 0x01, 0x0a, 0x10, 0x54, 0x61, 0x73, 0x6b, 0x4c, |
| 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, |
| 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, |
| 0x73, 0x6f, 0x72, 0x12, 0x35, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, |
| 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, |
| 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, |
| 0x6e, 0x73, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x2c, 0x0a, 0x03, 0x6e, 0x6f, |
| 0x77, 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, 0x03, 0x6e, 0x6f, 0x77, 0x22, 0x94, 0x01, 0x0a, 0x14, 0x54, 0x61, 0x73, |
| 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, |
| 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, |
| 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x36, 0x0a, 0x05, 0x69, 0x74, 0x65, |
| 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, |
| 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, |
| 0x73, 0x12, 0x2c, 0x0a, 0x03, 0x6e, 0x6f, 0x77, 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, 0x03, 0x6e, 0x6f, 0x77, 0x22, |
| 0x50, 0x0a, 0x0a, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, |
| 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, |
| 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x6e, 0x6f, 0x77, 0x18, 0x02, 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, 0x03, 0x6e, 0x6f, |
| 0x77, 0x22, 0xb4, 0x01, 0x0a, 0x1b, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, |
| 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x07, 0x72, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x77, |
| 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x72, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x72, |
| 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x77, |
| 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, |
| 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x74, 0x61, |
| 0x73, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x8b, 0x04, 0x0a, 0x07, 0x42, 0x6f, 0x74, |
| 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, |
| 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, |
| 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, |
| 0x5f, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, |
| 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, |
| 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, |
| 0x0f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x41, 0x73, |
| 0x12, 0x3e, 0x0a, 0x0d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x74, |
| 0x73, 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, 0x0b, 0x66, 0x69, 0x72, 0x73, 0x74, 0x53, 0x65, 0x65, 0x6e, 0x54, 0x73, |
| 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, |
| 0x08, 0x52, 0x06, 0x69, 0x73, 0x44, 0x65, 0x61, 0x64, 0x12, 0x3c, 0x0a, 0x0c, 0x6c, 0x61, 0x73, |
| 0x74, 0x5f, 0x73, 0x65, 0x65, 0x6e, 0x5f, 0x74, 0x73, 0x18, 0x07, 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, 0x6c, 0x61, 0x73, |
| 0x74, 0x53, 0x65, 0x65, 0x6e, 0x54, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x61, 0x72, 0x61, |
| 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x71, 0x75, |
| 0x61, 0x72, 0x61, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x61, 0x69, |
| 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x09, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x4d, |
| 0x73, 0x67, 0x12, 0x3b, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, |
| 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, |
| 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x50, |
| 0x61, 0x69, 0x72, 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, |
| 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, |
| 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, |
| 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, |
| 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, |
| 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, |
| 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0xac, 0x01, 0x0a, 0x13, 0x42, 0x6f, 0x74, 0x49, 0x6e, |
| 0x66, 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, |
| 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, |
| 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x2a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, |
| 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, |
| 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, 0x74, 0x65, |
| 0x6d, 0x73, 0x12, 0x2c, 0x0a, 0x03, 0x6e, 0x6f, 0x77, 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, 0x03, 0x6e, 0x6f, 0x77, |
| 0x12, 0x23, 0x0a, 0x0d, 0x64, 0x65, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, |
| 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x65, 0x61, 0x74, 0x68, 0x54, 0x69, |
| 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0xbb, 0x01, 0x0a, 0x09, 0x42, 0x6f, 0x74, 0x73, 0x43, 0x6f, |
| 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x6e, 0x6f, 0x77, 0x18, 0x01, 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, 0x03, 0x6e, 0x6f, |
| 0x77, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, |
| 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x71, 0x75, 0x61, 0x72, 0x61, |
| 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x71, 0x75, |
| 0x61, 0x72, 0x61, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, |
| 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, |
| 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, |
| 0x65, 0x61, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x64, 0x65, 0x61, 0x64, 0x12, |
| 0x12, 0x0a, 0x04, 0x62, 0x75, 0x73, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x62, |
| 0x75, 0x73, 0x79, 0x22, 0x82, 0x01, 0x0a, 0x0e, 0x42, 0x6f, 0x74, 0x73, 0x44, 0x69, 0x6d, 0x65, |
| 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x44, 0x0a, 0x0f, 0x62, 0x6f, 0x74, 0x73, 0x5f, 0x64, |
| 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, |
| 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, |
| 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0e, 0x62, 0x6f, |
| 0x74, 0x73, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x0a, 0x02, |
| 0x74, 0x73, 0x18, 0x02, 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, 0x02, 0x74, 0x73, 0x22, 0x94, 0x03, 0x0a, 0x10, 0x42, 0x6f, 0x74, |
| 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, |
| 0x02, 0x74, 0x73, 0x18, 0x01, 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, 0x02, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, |
| 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, |
| 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, |
| 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, |
| 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, |
| 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, |
| 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x50, |
| 0x61, 0x69, 0x72, 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, |
| 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, |
| 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, |
| 0x6c, 0x5f, 0x69, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, |
| 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, |
| 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, |
| 0x52, 0x0f, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x41, |
| 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x71, |
| 0x75, 0x61, 0x72, 0x61, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, |
| 0x52, 0x0b, 0x71, 0x75, 0x61, 0x72, 0x61, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x64, 0x12, 0x27, 0x0a, |
| 0x0f, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x73, 0x67, |
| 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, |
| 0x6e, 0x63, 0x65, 0x4d, 0x73, 0x67, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, |
| 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, |
| 0x8e, 0x01, 0x0a, 0x11, 0x42, 0x6f, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, |
| 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, |
| 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x33, 0x0a, |
| 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, |
| 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x74, 0x45, 0x76, |
| 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, |
| 0x6d, 0x73, 0x12, 0x2c, 0x0a, 0x03, 0x6e, 0x6f, 0x77, 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, 0x03, 0x6e, 0x6f, 0x77, |
| 0x22, 0x2a, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, |
| 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, |
| 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x2c, 0x0a, 0x11, |
| 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, |
| 0x65, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0x23, 0x0a, 0x0a, 0x42, 0x6f, |
| 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x6f, 0x74, 0x5f, |
| 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6f, 0x74, 0x49, 0x64, 0x22, |
| 0x41, 0x0a, 0x10, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, |
| 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, |
| 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, |
| 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, |
| 0x6f, 0x6e, 0x22, 0xb7, 0x01, 0x0a, 0x10, 0x42, 0x6f, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x6f, 0x74, 0x5f, 0x69, |
| 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x14, |
| 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, |
| 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, |
| 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x05, |
| 0x73, 0x74, 0x61, 0x72, 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, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, |
| 0x0a, 0x03, 0x65, 0x6e, 0x64, 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, 0x03, 0x65, 0x6e, 0x64, 0x22, 0xcd, 0x02, 0x0a, |
| 0x0f, 0x42, 0x6f, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, |
| 0x12, 0x15, 0x0a, 0x06, 0x62, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, |
| 0x52, 0x05, 0x62, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, |
| 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, |
| 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, |
| 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 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, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 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, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x2d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, |
| 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, |
| 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x73, |
| 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, |
| 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, |
| 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, |
| 0x12, 0x3a, 0x0a, 0x19, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x66, |
| 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x08, 0x20, |
| 0x01, 0x28, 0x08, 0x52, 0x17, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x65, 0x72, 0x66, |
| 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0xdb, 0x02, 0x0a, |
| 0x0b, 0x42, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, |
| 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, |
| 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x37, 0x0a, 0x0a, 0x64, 0x69, |
| 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, |
| 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, |
| 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, |
| 0x6f, 0x6e, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x71, 0x75, 0x61, 0x72, 0x61, 0x6e, 0x74, 0x69, 0x6e, |
| 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, |
| 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, |
| 0x6f, 0x6f, 0x6c, 0x52, 0x0b, 0x71, 0x75, 0x61, 0x72, 0x61, 0x6e, 0x74, 0x69, 0x6e, 0x65, 0x64, |
| 0x12, 0x40, 0x0a, 0x0e, 0x69, 0x6e, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, |
| 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, |
| 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, |
| 0x6f, 0x6f, 0x6c, 0x52, 0x0d, 0x69, 0x6e, 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, |
| 0x63, 0x65, 0x12, 0x32, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x61, 0x64, 0x18, 0x06, 0x20, |
| 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, |
| 0x32, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x06, |
| 0x69, 0x73, 0x44, 0x65, 0x61, 0x64, 0x12, 0x32, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x62, 0x75, 0x73, |
| 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, |
| 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x42, 0x6f, |
| 0x6f, 0x6c, 0x52, 0x06, 0x69, 0x73, 0x42, 0x75, 0x73, 0x79, 0x22, 0x4b, 0x0a, 0x10, 0x42, 0x6f, |
| 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, |
| 0x0a, 0x0a, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, |
| 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, |
| 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69, 0x72, 0x52, 0x0a, 0x64, 0x69, 0x6d, |
| 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x2b, 0x0a, 0x15, 0x42, 0x6f, 0x74, 0x73, 0x44, |
| 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, |
| 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, |
| 0x70, 0x6f, 0x6f, 0x6c, 0x22, 0x58, 0x0a, 0x12, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, |
| 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x62, 0x6f, |
| 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6f, 0x74, 0x49, |
| 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, |
| 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, |
| 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x2c, |
| 0x0a, 0x11, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, |
| 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, |
| 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, 0xcf, 0x02, 0x0a, |
| 0x14, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x57, 0x69, 0x74, 0x68, 0x50, 0x65, 0x72, 0x66, 0x52, 0x65, |
| 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, |
| 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, |
| 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, |
| 0x73, 0x6f, 0x72, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 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, 0x05, |
| 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 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, 0x03, |
| 0x65, 0x6e, 0x64, 0x12, 0x2d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, |
| 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, |
| 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x73, 0x74, 0x61, |
| 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, |
| 0x32, 0x16, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, |
| 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x12, |
| 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, |
| 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x70, 0x65, |
| 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, |
| 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x50, 0x65, |
| 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x22, 0x8b, |
| 0x02, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, |
| 0x14, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, |
| 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x18, |
| 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x75, 0x72, 0x73, 0x6f, 0x72, 0x12, 0x30, 0x0a, |
| 0x05, 0x73, 0x74, 0x61, 0x72, 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, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, |
| 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 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, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x2d, 0x0a, |
| 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x73, |
| 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, |
| 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x04, |
| 0x73, 0x6f, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x73, 0x77, 0x61, |
| 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x6f, 0x72, 0x74, 0x51, 0x75, 0x65, |
| 0x72, 0x79, 0x52, 0x04, 0x73, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, |
| 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0xb6, 0x01, 0x0a, |
| 0x11, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 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, 0x05, 0x73, |
| 0x74, 0x61, 0x72, 0x74, 0x12, 0x2c, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 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, 0x03, 0x65, |
| 0x6e, 0x64, 0x12, 0x2d, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, |
| 0x0e, 0x32, 0x17, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, |
| 0x53, 0x74, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, |
| 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, |
| 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x28, 0x0a, 0x0d, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x52, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, |
| 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x22, |
| 0x62, 0x0a, 0x17, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x66, 0x66, |
| 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, |
| 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, |
| 0x6b, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, |
| 0x01, 0x28, 0x03, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6c, |
| 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6c, 0x65, 0x6e, |
| 0x67, 0x74, 0x68, 0x22, 0x6c, 0x0a, 0x15, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x57, 0x69, 0x74, |
| 0x68, 0x50, 0x65, 0x72, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, |
| 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, |
| 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x19, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, |
| 0x5f, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, |
| 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, |
| 0x65, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, |
| 0x73, 0x22, 0x6e, 0x0a, 0x15, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, |
| 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, |
| 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x74, 0x61, |
| 0x73, 0x6b, 0x49, 0x64, 0x73, 0x12, 0x3a, 0x0a, 0x19, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, |
| 0x5f, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x73, 0x74, 0x61, |
| 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x17, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, |
| 0x65, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, |
| 0x73, 0x22, 0x82, 0x02, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x65, |
| 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x07, |
| 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, |
| 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, |
| 0x68, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, |
| 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4f, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, |
| 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x1a, 0x9a, 0x01, 0x0a, 0x0d, 0x52, 0x65, |
| 0x73, 0x75, 0x6c, 0x74, 0x4f, 0x72, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x74, |
| 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, |
| 0x73, 0x6b, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, |
| 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, |
| 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, |
| 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, |
| 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, |
| 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, |
| 0x75, 0x73, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x09, 0x0a, 0x07, 0x6f, |
| 0x75, 0x74, 0x63, 0x6f, 0x6d, 0x65, 0x2a, 0xcf, 0x02, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x74, 0x65, |
| 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x11, 0x0a, 0x0d, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, |
| 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x51, 0x55, 0x45, 0x52, |
| 0x59, 0x5f, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x51, |
| 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x5f, 0x52, 0x55, 0x4e, |
| 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, |
| 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1b, 0x0a, 0x17, 0x51, |
| 0x55, 0x45, 0x52, 0x59, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x5f, 0x53, |
| 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x04, 0x12, 0x1b, 0x0a, 0x17, 0x51, 0x55, 0x45, 0x52, |
| 0x59, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, |
| 0x55, 0x52, 0x45, 0x10, 0x05, 0x12, 0x11, 0x0a, 0x0d, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x45, |
| 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x06, 0x12, 0x13, 0x0a, 0x0f, 0x51, 0x55, 0x45, 0x52, |
| 0x59, 0x5f, 0x54, 0x49, 0x4d, 0x45, 0x44, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0x07, 0x12, 0x12, 0x0a, |
| 0x0e, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x42, 0x4f, 0x54, 0x5f, 0x44, 0x49, 0x45, 0x44, 0x10, |
| 0x08, 0x12, 0x12, 0x0a, 0x0e, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, |
| 0x4c, 0x45, 0x44, 0x10, 0x09, 0x12, 0x0d, 0x0a, 0x09, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x41, |
| 0x4c, 0x4c, 0x10, 0x0a, 0x12, 0x11, 0x0a, 0x0d, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x44, 0x45, |
| 0x44, 0x55, 0x50, 0x45, 0x44, 0x10, 0x0b, 0x12, 0x10, 0x0a, 0x0c, 0x51, 0x55, 0x45, 0x52, 0x59, |
| 0x5f, 0x4b, 0x49, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x0c, 0x12, 0x15, 0x0a, 0x11, 0x51, 0x55, 0x45, |
| 0x52, 0x59, 0x5f, 0x4e, 0x4f, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x0d, |
| 0x12, 0x16, 0x0a, 0x12, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, |
| 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x0e, 0x2a, 0x6d, 0x0a, 0x09, 0x53, 0x6f, 0x72, 0x74, |
| 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x14, 0x0a, 0x10, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x43, |
| 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x53, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x51, |
| 0x55, 0x45, 0x52, 0x59, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x5f, 0x54, |
| 0x53, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x41, 0x42, 0x41, |
| 0x4e, 0x44, 0x4f, 0x4e, 0x45, 0x44, 0x5f, 0x54, 0x53, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x51, |
| 0x55, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44, 0x5f, 0x54, 0x53, 0x10, |
| 0x04, 0x22, 0x04, 0x08, 0x01, 0x10, 0x01, 0x2a, 0x2d, 0x0a, 0x0c, 0x4e, 0x75, 0x6c, 0x6c, 0x61, |
| 0x62, 0x6c, 0x65, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x55, 0x4c, 0x4c, 0x10, |
| 0x00, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, |
| 0x54, 0x52, 0x55, 0x45, 0x10, 0x02, 0x2a, 0xab, 0x01, 0x0a, 0x09, 0x54, 0x61, 0x73, 0x6b, 0x53, |
| 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, |
| 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x10, 0x12, 0x0b, |
| 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x20, 0x12, 0x0b, 0x0a, 0x07, 0x45, |
| 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x30, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x49, 0x4d, 0x45, |
| 0x44, 0x5f, 0x4f, 0x55, 0x54, 0x10, 0x40, 0x12, 0x0c, 0x0a, 0x08, 0x42, 0x4f, 0x54, 0x5f, 0x44, |
| 0x49, 0x45, 0x44, 0x10, 0x50, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, |
| 0x44, 0x10, 0x60, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, |
| 0x10, 0x70, 0x12, 0x0b, 0x0a, 0x06, 0x4b, 0x49, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x80, 0x01, 0x12, |
| 0x10, 0x0a, 0x0b, 0x4e, 0x4f, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x80, |
| 0x02, 0x12, 0x11, 0x0a, 0x0c, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x45, 0x52, 0x52, 0x4f, |
| 0x52, 0x10, 0x80, 0x04, 0x32, 0xcf, 0x04, 0x0a, 0x04, 0x42, 0x6f, 0x74, 0x73, 0x12, 0x37, 0x0a, |
| 0x06, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x74, 0x12, 0x17, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, |
| 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, |
| 0x1a, 0x14, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, |
| 0x6f, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x41, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, |
| 0x42, 0x6f, 0x74, 0x12, 0x17, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, |
| 0x32, 0x2e, 0x42, 0x6f, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x73, |
| 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, |
| 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x0d, 0x4c, 0x69, 0x73, |
| 0x74, 0x42, 0x6f, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x2e, 0x73, 0x77, 0x61, |
| 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x74, 0x45, 0x76, 0x65, 0x6e, |
| 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x73, 0x77, 0x61, 0x72, |
| 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, |
| 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0c, 0x54, 0x65, 0x72, |
| 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x74, 0x12, 0x1d, 0x2e, 0x73, 0x77, 0x61, 0x72, |
| 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, |
| 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, |
| 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, |
| 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, |
| 0x42, 0x6f, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1c, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, |
| 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, |
| 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, |
| 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x6f, 0x74, |
| 0x73, 0x12, 0x18, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, |
| 0x42, 0x6f, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x73, 0x77, |
| 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x74, 0x49, 0x6e, 0x66, |
| 0x6f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, |
| 0x09, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x6f, 0x74, 0x73, 0x12, 0x1d, 0x2e, 0x73, 0x77, 0x61, |
| 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x74, 0x73, 0x43, 0x6f, 0x75, |
| 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x73, 0x77, 0x61, 0x72, |
| 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, |
| 0x74, 0x12, 0x53, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x74, 0x44, 0x69, 0x6d, 0x65, 0x6e, |
| 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x22, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, |
| 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x74, 0x73, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, |
| 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, |
| 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x74, 0x73, 0x44, 0x69, 0x6d, 0x65, |
| 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x32, 0xf6, 0x06, 0x0a, 0x05, 0x54, 0x61, 0x73, 0x6b, 0x73, |
| 0x12, 0x50, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x22, 0x2e, |
| 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, |
| 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x50, 0x65, 0x72, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, |
| 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, |
| 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x65, |
| 0x73, 0x75, 0x6c, 0x74, 0x12, 0x22, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, |
| 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, |
| 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, |
| 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, |
| 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, |
| 0x0a, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x2e, 0x73, 0x77, |
| 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, |
| 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, |
| 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0a, 0x43, 0x61, 0x6e, |
| 0x63, 0x65, 0x6c, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x1e, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, |
| 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, |
| 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, |
| 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x52, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74, 0x64, 0x6f, 0x75, |
| 0x74, 0x12, 0x24, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, |
| 0x54, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x57, 0x69, 0x74, 0x68, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, |
| 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, |
| 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x07, 0x4e, 0x65, 0x77, 0x54, |
| 0x61, 0x73, 0x6b, 0x12, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, |
| 0x32, 0x2e, 0x4e, 0x65, 0x77, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, |
| 0x1a, 0x28, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, |
| 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, |
| 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x09, 0x4c, 0x69, |
| 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x21, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, |
| 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x57, 0x69, 0x74, 0x68, 0x50, |
| 0x65, 0x72, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x73, 0x77, 0x61, |
| 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, |
| 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0e, 0x4c, 0x69, 0x73, |
| 0x74, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x2e, 0x73, 0x77, |
| 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, |
| 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x73, 0x77, |
| 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, |
| 0x61, 0x74, 0x65, 0x73, 0x12, 0x50, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x73, 0x6b, |
| 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x19, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, |
| 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, |
| 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, |
| 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x52, 0x65, |
| 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0b, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, |
| 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1f, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, |
| 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, |
| 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, |
| 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0a, 0x43, 0x6f, 0x75, 0x6e, |
| 0x74, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x12, 0x1e, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, |
| 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x52, |
| 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, |
| 0x67, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x32, |
| 0xe0, 0x01, 0x0a, 0x08, 0x53, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x40, 0x0a, 0x0a, |
| 0x47, 0x65, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, |
| 0x74, 0x79, 0x1a, 0x1a, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, |
| 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x3f, |
| 0x0a, 0x08, 0x47, 0x65, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, |
| 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, |
| 0x74, 0x79, 0x1a, 0x1b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, |
| 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, |
| 0x51, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, |
| 0x73, 0x12, 0x1f, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, 0x2e, |
| 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, |
| 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x32, |
| 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, |
| 0x6e, 0x73, 0x42, 0x32, 0x5a, 0x30, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, |
| 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x73, 0x77, 0x61, 0x72, 0x6d, |
| 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x32, |
| 0x3b, 0x61, 0x70, 0x69, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, |
| } |
| |
| var ( |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescOnce sync.Once |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescData = file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDesc |
| ) |
| |
| func file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescGZIP() []byte { |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescOnce.Do(func() { |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescData) |
| }) |
| return file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDescData |
| } |
| |
| var file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes = make([]protoimpl.EnumInfo, 6) |
| var file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes = make([]protoimpl.MessageInfo, 59) |
| var file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_goTypes = []interface{}{ |
| (StateQuery)(0), // 0: swarming.v2.StateQuery |
| (SortQuery)(0), // 1: swarming.v2.SortQuery |
| (NullableBool)(0), // 2: swarming.v2.NullableBool |
| (TaskState)(0), // 3: swarming.v2.TaskState |
| (Containment_ContainmentType)(0), // 4: swarming.v2.Containment.ContainmentType |
| (NewTaskRequest_PoolTaskTemplateField)(0), // 5: swarming.v2.NewTaskRequest.PoolTaskTemplateField |
| (*StringPair)(nil), // 6: swarming.v2.StringPair |
| (*StringListPair)(nil), // 7: swarming.v2.StringListPair |
| (*ServerDetails)(nil), // 8: swarming.v2.ServerDetails |
| (*BootstrapToken)(nil), // 9: swarming.v2.BootstrapToken |
| (*ClientPermissions)(nil), // 10: swarming.v2.ClientPermissions |
| (*Digest)(nil), // 11: swarming.v2.Digest |
| (*CASReference)(nil), // 12: swarming.v2.CASReference |
| (*CipdPackage)(nil), // 13: swarming.v2.CipdPackage |
| (*CipdInput)(nil), // 14: swarming.v2.CipdInput |
| (*CipdPins)(nil), // 15: swarming.v2.CipdPins |
| (*CacheEntry)(nil), // 16: swarming.v2.CacheEntry |
| (*Containment)(nil), // 17: swarming.v2.Containment |
| (*TaskProperties)(nil), // 18: swarming.v2.TaskProperties |
| (*TaskSlice)(nil), // 19: swarming.v2.TaskSlice |
| (*SwarmingTaskBackendConfig)(nil), // 20: swarming.v2.SwarmingTaskBackendConfig |
| (*ResultDBCfg)(nil), // 21: swarming.v2.ResultDBCfg |
| (*NewTaskRequest)(nil), // 22: swarming.v2.NewTaskRequest |
| (*TaskRequestResponse)(nil), // 23: swarming.v2.TaskRequestResponse |
| (*TaskCancelRequest)(nil), // 24: swarming.v2.TaskCancelRequest |
| (*TasksCancelRequest)(nil), // 25: swarming.v2.TasksCancelRequest |
| (*OperationStats)(nil), // 26: swarming.v2.OperationStats |
| (*CASOperationStats)(nil), // 27: swarming.v2.CASOperationStats |
| (*PerformanceStats)(nil), // 28: swarming.v2.PerformanceStats |
| (*CancelResponse)(nil), // 29: swarming.v2.CancelResponse |
| (*TasksCancelResponse)(nil), // 30: swarming.v2.TasksCancelResponse |
| (*TaskOutputResponse)(nil), // 31: swarming.v2.TaskOutputResponse |
| (*ResultDBInfo)(nil), // 32: swarming.v2.ResultDBInfo |
| (*TaskResultResponse)(nil), // 33: swarming.v2.TaskResultResponse |
| (*TaskStates)(nil), // 34: swarming.v2.TaskStates |
| (*TaskListResponse)(nil), // 35: swarming.v2.TaskListResponse |
| (*TaskRequestsResponse)(nil), // 36: swarming.v2.TaskRequestsResponse |
| (*TasksCount)(nil), // 37: swarming.v2.TasksCount |
| (*TaskRequestMetadataResponse)(nil), // 38: swarming.v2.TaskRequestMetadataResponse |
| (*BotInfo)(nil), // 39: swarming.v2.BotInfo |
| (*BotInfoListResponse)(nil), // 40: swarming.v2.BotInfoListResponse |
| (*BotsCount)(nil), // 41: swarming.v2.BotsCount |
| (*BotsDimensions)(nil), // 42: swarming.v2.BotsDimensions |
| (*BotEventResponse)(nil), // 43: swarming.v2.BotEventResponse |
| (*BotEventsResponse)(nil), // 44: swarming.v2.BotEventsResponse |
| (*DeleteResponse)(nil), // 45: swarming.v2.DeleteResponse |
| (*TerminateResponse)(nil), // 46: swarming.v2.TerminateResponse |
| (*BotRequest)(nil), // 47: swarming.v2.BotRequest |
| (*TerminateRequest)(nil), // 48: swarming.v2.TerminateRequest |
| (*BotEventsRequest)(nil), // 49: swarming.v2.BotEventsRequest |
| (*BotTasksRequest)(nil), // 50: swarming.v2.BotTasksRequest |
| (*BotsRequest)(nil), // 51: swarming.v2.BotsRequest |
| (*BotsCountRequest)(nil), // 52: swarming.v2.BotsCountRequest |
| (*BotsDimensionsRequest)(nil), // 53: swarming.v2.BotsDimensionsRequest |
| (*PermissionsRequest)(nil), // 54: swarming.v2.PermissionsRequest |
| (*TaskStatesRequest)(nil), // 55: swarming.v2.TaskStatesRequest |
| (*TasksWithPerfRequest)(nil), // 56: swarming.v2.TasksWithPerfRequest |
| (*TasksRequest)(nil), // 57: swarming.v2.TasksRequest |
| (*TasksCountRequest)(nil), // 58: swarming.v2.TasksCountRequest |
| (*TaskIdRequest)(nil), // 59: swarming.v2.TaskIdRequest |
| (*TaskIdWithOffsetRequest)(nil), // 60: swarming.v2.TaskIdWithOffsetRequest |
| (*TaskIdWithPerfRequest)(nil), // 61: swarming.v2.TaskIdWithPerfRequest |
| (*BatchGetResultRequest)(nil), // 62: swarming.v2.BatchGetResultRequest |
| (*BatchGetResultResponse)(nil), // 63: swarming.v2.BatchGetResultResponse |
| (*BatchGetResultResponse_ResultOrError)(nil), // 64: swarming.v2.BatchGetResultResponse.ResultOrError |
| (*timestamppb.Timestamp)(nil), // 65: google.protobuf.Timestamp |
| (*status.Status)(nil), // 66: google.rpc.Status |
| (*emptypb.Empty)(nil), // 67: google.protobuf.Empty |
| } |
| var file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_depIdxs = []int32{ |
| 11, // 0: swarming.v2.CASReference.digest:type_name -> swarming.v2.Digest |
| 13, // 1: swarming.v2.CipdInput.client_package:type_name -> swarming.v2.CipdPackage |
| 13, // 2: swarming.v2.CipdInput.packages:type_name -> swarming.v2.CipdPackage |
| 13, // 3: swarming.v2.CipdPins.client_package:type_name -> swarming.v2.CipdPackage |
| 13, // 4: swarming.v2.CipdPins.packages:type_name -> swarming.v2.CipdPackage |
| 4, // 5: swarming.v2.Containment.containment_type:type_name -> swarming.v2.Containment.ContainmentType |
| 16, // 6: swarming.v2.TaskProperties.caches:type_name -> swarming.v2.CacheEntry |
| 14, // 7: swarming.v2.TaskProperties.cipd_input:type_name -> swarming.v2.CipdInput |
| 6, // 8: swarming.v2.TaskProperties.dimensions:type_name -> swarming.v2.StringPair |
| 6, // 9: swarming.v2.TaskProperties.env:type_name -> swarming.v2.StringPair |
| 7, // 10: swarming.v2.TaskProperties.env_prefixes:type_name -> swarming.v2.StringListPair |
| 12, // 11: swarming.v2.TaskProperties.cas_input_root:type_name -> swarming.v2.CASReference |
| 17, // 12: swarming.v2.TaskProperties.containment:type_name -> swarming.v2.Containment |
| 18, // 13: swarming.v2.TaskSlice.properties:type_name -> swarming.v2.TaskProperties |
| 18, // 14: swarming.v2.NewTaskRequest.properties:type_name -> swarming.v2.TaskProperties |
| 19, // 15: swarming.v2.NewTaskRequest.task_slices:type_name -> swarming.v2.TaskSlice |
| 5, // 16: swarming.v2.NewTaskRequest.pool_task_template:type_name -> swarming.v2.NewTaskRequest.PoolTaskTemplateField |
| 21, // 17: swarming.v2.NewTaskRequest.resultdb:type_name -> swarming.v2.ResultDBCfg |
| 18, // 18: swarming.v2.TaskRequestResponse.properties:type_name -> swarming.v2.TaskProperties |
| 65, // 19: swarming.v2.TaskRequestResponse.created_ts:type_name -> google.protobuf.Timestamp |
| 19, // 20: swarming.v2.TaskRequestResponse.task_slices:type_name -> swarming.v2.TaskSlice |
| 21, // 21: swarming.v2.TaskRequestResponse.resultdb:type_name -> swarming.v2.ResultDBCfg |
| 65, // 22: swarming.v2.TasksCancelRequest.start:type_name -> google.protobuf.Timestamp |
| 65, // 23: swarming.v2.TasksCancelRequest.end:type_name -> google.protobuf.Timestamp |
| 27, // 24: swarming.v2.PerformanceStats.isolated_download:type_name -> swarming.v2.CASOperationStats |
| 27, // 25: swarming.v2.PerformanceStats.isolated_upload:type_name -> swarming.v2.CASOperationStats |
| 26, // 26: swarming.v2.PerformanceStats.package_installation:type_name -> swarming.v2.OperationStats |
| 26, // 27: swarming.v2.PerformanceStats.cache_trim:type_name -> swarming.v2.OperationStats |
| 26, // 28: swarming.v2.PerformanceStats.named_caches_install:type_name -> swarming.v2.OperationStats |
| 26, // 29: swarming.v2.PerformanceStats.named_caches_uninstall:type_name -> swarming.v2.OperationStats |
| 26, // 30: swarming.v2.PerformanceStats.cleanup:type_name -> swarming.v2.OperationStats |
| 65, // 31: swarming.v2.TasksCancelResponse.now:type_name -> google.protobuf.Timestamp |
| 3, // 32: swarming.v2.TaskOutputResponse.state:type_name -> swarming.v2.TaskState |
| 7, // 33: swarming.v2.TaskResultResponse.bot_dimensions:type_name -> swarming.v2.StringListPair |
| 65, // 34: swarming.v2.TaskResultResponse.bot_idle_since_ts:type_name -> google.protobuf.Timestamp |
| 65, // 35: swarming.v2.TaskResultResponse.completed_ts:type_name -> google.protobuf.Timestamp |
| 65, // 36: swarming.v2.TaskResultResponse.created_ts:type_name -> google.protobuf.Timestamp |
| 65, // 37: swarming.v2.TaskResultResponse.modified_ts:type_name -> google.protobuf.Timestamp |
| 12, // 38: swarming.v2.TaskResultResponse.cas_output_root:type_name -> swarming.v2.CASReference |
| 65, // 39: swarming.v2.TaskResultResponse.started_ts:type_name -> google.protobuf.Timestamp |
| 3, // 40: swarming.v2.TaskResultResponse.state:type_name -> swarming.v2.TaskState |
| 65, // 41: swarming.v2.TaskResultResponse.abandoned_ts:type_name -> google.protobuf.Timestamp |
| 28, // 42: swarming.v2.TaskResultResponse.performance_stats:type_name -> swarming.v2.PerformanceStats |
| 15, // 43: swarming.v2.TaskResultResponse.cipd_pins:type_name -> swarming.v2.CipdPins |
| 32, // 44: swarming.v2.TaskResultResponse.resultdb_info:type_name -> swarming.v2.ResultDBInfo |
| 12, // 45: swarming.v2.TaskResultResponse.missing_cas:type_name -> swarming.v2.CASReference |
| 13, // 46: swarming.v2.TaskResultResponse.missing_cipd:type_name -> swarming.v2.CipdPackage |
| 3, // 47: swarming.v2.TaskStates.states:type_name -> swarming.v2.TaskState |
| 33, // 48: swarming.v2.TaskListResponse.items:type_name -> swarming.v2.TaskResultResponse |
| 65, // 49: swarming.v2.TaskListResponse.now:type_name -> google.protobuf.Timestamp |
| 23, // 50: swarming.v2.TaskRequestsResponse.items:type_name -> swarming.v2.TaskRequestResponse |
| 65, // 51: swarming.v2.TaskRequestsResponse.now:type_name -> google.protobuf.Timestamp |
| 65, // 52: swarming.v2.TasksCount.now:type_name -> google.protobuf.Timestamp |
| 23, // 53: swarming.v2.TaskRequestMetadataResponse.request:type_name -> swarming.v2.TaskRequestResponse |
| 33, // 54: swarming.v2.TaskRequestMetadataResponse.task_result:type_name -> swarming.v2.TaskResultResponse |
| 65, // 55: swarming.v2.BotInfo.first_seen_ts:type_name -> google.protobuf.Timestamp |
| 65, // 56: swarming.v2.BotInfo.last_seen_ts:type_name -> google.protobuf.Timestamp |
| 7, // 57: swarming.v2.BotInfo.dimensions:type_name -> swarming.v2.StringListPair |
| 39, // 58: swarming.v2.BotInfoListResponse.items:type_name -> swarming.v2.BotInfo |
| 65, // 59: swarming.v2.BotInfoListResponse.now:type_name -> google.protobuf.Timestamp |
| 65, // 60: swarming.v2.BotsCount.now:type_name -> google.protobuf.Timestamp |
| 7, // 61: swarming.v2.BotsDimensions.bots_dimensions:type_name -> swarming.v2.StringListPair |
| 65, // 62: swarming.v2.BotsDimensions.ts:type_name -> google.protobuf.Timestamp |
| 65, // 63: swarming.v2.BotEventResponse.ts:type_name -> google.protobuf.Timestamp |
| 7, // 64: swarming.v2.BotEventResponse.dimensions:type_name -> swarming.v2.StringListPair |
| 43, // 65: swarming.v2.BotEventsResponse.items:type_name -> swarming.v2.BotEventResponse |
| 65, // 66: swarming.v2.BotEventsResponse.now:type_name -> google.protobuf.Timestamp |
| 65, // 67: swarming.v2.BotEventsRequest.start:type_name -> google.protobuf.Timestamp |
| 65, // 68: swarming.v2.BotEventsRequest.end:type_name -> google.protobuf.Timestamp |
| 65, // 69: swarming.v2.BotTasksRequest.start:type_name -> google.protobuf.Timestamp |
| 65, // 70: swarming.v2.BotTasksRequest.end:type_name -> google.protobuf.Timestamp |
| 0, // 71: swarming.v2.BotTasksRequest.state:type_name -> swarming.v2.StateQuery |
| 1, // 72: swarming.v2.BotTasksRequest.sort:type_name -> swarming.v2.SortQuery |
| 6, // 73: swarming.v2.BotsRequest.dimensions:type_name -> swarming.v2.StringPair |
| 2, // 74: swarming.v2.BotsRequest.quarantined:type_name -> swarming.v2.NullableBool |
| 2, // 75: swarming.v2.BotsRequest.in_maintenance:type_name -> swarming.v2.NullableBool |
| 2, // 76: swarming.v2.BotsRequest.is_dead:type_name -> swarming.v2.NullableBool |
| 2, // 77: swarming.v2.BotsRequest.is_busy:type_name -> swarming.v2.NullableBool |
| 6, // 78: swarming.v2.BotsCountRequest.dimensions:type_name -> swarming.v2.StringPair |
| 65, // 79: swarming.v2.TasksWithPerfRequest.start:type_name -> google.protobuf.Timestamp |
| 65, // 80: swarming.v2.TasksWithPerfRequest.end:type_name -> google.protobuf.Timestamp |
| 0, // 81: swarming.v2.TasksWithPerfRequest.state:type_name -> swarming.v2.StateQuery |
| 1, // 82: swarming.v2.TasksWithPerfRequest.sort:type_name -> swarming.v2.SortQuery |
| 65, // 83: swarming.v2.TasksRequest.start:type_name -> google.protobuf.Timestamp |
| 65, // 84: swarming.v2.TasksRequest.end:type_name -> google.protobuf.Timestamp |
| 0, // 85: swarming.v2.TasksRequest.state:type_name -> swarming.v2.StateQuery |
| 1, // 86: swarming.v2.TasksRequest.sort:type_name -> swarming.v2.SortQuery |
| 65, // 87: swarming.v2.TasksCountRequest.start:type_name -> google.protobuf.Timestamp |
| 65, // 88: swarming.v2.TasksCountRequest.end:type_name -> google.protobuf.Timestamp |
| 0, // 89: swarming.v2.TasksCountRequest.state:type_name -> swarming.v2.StateQuery |
| 64, // 90: swarming.v2.BatchGetResultResponse.results:type_name -> swarming.v2.BatchGetResultResponse.ResultOrError |
| 33, // 91: swarming.v2.BatchGetResultResponse.ResultOrError.result:type_name -> swarming.v2.TaskResultResponse |
| 66, // 92: swarming.v2.BatchGetResultResponse.ResultOrError.error:type_name -> google.rpc.Status |
| 47, // 93: swarming.v2.Bots.GetBot:input_type -> swarming.v2.BotRequest |
| 47, // 94: swarming.v2.Bots.DeleteBot:input_type -> swarming.v2.BotRequest |
| 49, // 95: swarming.v2.Bots.ListBotEvents:input_type -> swarming.v2.BotEventsRequest |
| 48, // 96: swarming.v2.Bots.TerminateBot:input_type -> swarming.v2.TerminateRequest |
| 50, // 97: swarming.v2.Bots.ListBotTasks:input_type -> swarming.v2.BotTasksRequest |
| 51, // 98: swarming.v2.Bots.ListBots:input_type -> swarming.v2.BotsRequest |
| 52, // 99: swarming.v2.Bots.CountBots:input_type -> swarming.v2.BotsCountRequest |
| 53, // 100: swarming.v2.Bots.GetBotDimensions:input_type -> swarming.v2.BotsDimensionsRequest |
| 61, // 101: swarming.v2.Tasks.GetResult:input_type -> swarming.v2.TaskIdWithPerfRequest |
| 62, // 102: swarming.v2.Tasks.BatchGetResult:input_type -> swarming.v2.BatchGetResultRequest |
| 59, // 103: swarming.v2.Tasks.GetRequest:input_type -> swarming.v2.TaskIdRequest |
| 24, // 104: swarming.v2.Tasks.CancelTask:input_type -> swarming.v2.TaskCancelRequest |
| 60, // 105: swarming.v2.Tasks.GetStdout:input_type -> swarming.v2.TaskIdWithOffsetRequest |
| 22, // 106: swarming.v2.Tasks.NewTask:input_type -> swarming.v2.NewTaskRequest |
| 56, // 107: swarming.v2.Tasks.ListTasks:input_type -> swarming.v2.TasksWithPerfRequest |
| 55, // 108: swarming.v2.Tasks.ListTaskStates:input_type -> swarming.v2.TaskStatesRequest |
| 57, // 109: swarming.v2.Tasks.ListTaskRequests:input_type -> swarming.v2.TasksRequest |
| 25, // 110: swarming.v2.Tasks.CancelTasks:input_type -> swarming.v2.TasksCancelRequest |
| 58, // 111: swarming.v2.Tasks.CountTasks:input_type -> swarming.v2.TasksCountRequest |
| 67, // 112: swarming.v2.Swarming.GetDetails:input_type -> google.protobuf.Empty |
| 67, // 113: swarming.v2.Swarming.GetToken:input_type -> google.protobuf.Empty |
| 54, // 114: swarming.v2.Swarming.GetPermissions:input_type -> swarming.v2.PermissionsRequest |
| 39, // 115: swarming.v2.Bots.GetBot:output_type -> swarming.v2.BotInfo |
| 45, // 116: swarming.v2.Bots.DeleteBot:output_type -> swarming.v2.DeleteResponse |
| 44, // 117: swarming.v2.Bots.ListBotEvents:output_type -> swarming.v2.BotEventsResponse |
| 46, // 118: swarming.v2.Bots.TerminateBot:output_type -> swarming.v2.TerminateResponse |
| 35, // 119: swarming.v2.Bots.ListBotTasks:output_type -> swarming.v2.TaskListResponse |
| 40, // 120: swarming.v2.Bots.ListBots:output_type -> swarming.v2.BotInfoListResponse |
| 41, // 121: swarming.v2.Bots.CountBots:output_type -> swarming.v2.BotsCount |
| 42, // 122: swarming.v2.Bots.GetBotDimensions:output_type -> swarming.v2.BotsDimensions |
| 33, // 123: swarming.v2.Tasks.GetResult:output_type -> swarming.v2.TaskResultResponse |
| 63, // 124: swarming.v2.Tasks.BatchGetResult:output_type -> swarming.v2.BatchGetResultResponse |
| 23, // 125: swarming.v2.Tasks.GetRequest:output_type -> swarming.v2.TaskRequestResponse |
| 29, // 126: swarming.v2.Tasks.CancelTask:output_type -> swarming.v2.CancelResponse |
| 31, // 127: swarming.v2.Tasks.GetStdout:output_type -> swarming.v2.TaskOutputResponse |
| 38, // 128: swarming.v2.Tasks.NewTask:output_type -> swarming.v2.TaskRequestMetadataResponse |
| 35, // 129: swarming.v2.Tasks.ListTasks:output_type -> swarming.v2.TaskListResponse |
| 34, // 130: swarming.v2.Tasks.ListTaskStates:output_type -> swarming.v2.TaskStates |
| 36, // 131: swarming.v2.Tasks.ListTaskRequests:output_type -> swarming.v2.TaskRequestsResponse |
| 30, // 132: swarming.v2.Tasks.CancelTasks:output_type -> swarming.v2.TasksCancelResponse |
| 37, // 133: swarming.v2.Tasks.CountTasks:output_type -> swarming.v2.TasksCount |
| 8, // 134: swarming.v2.Swarming.GetDetails:output_type -> swarming.v2.ServerDetails |
| 9, // 135: swarming.v2.Swarming.GetToken:output_type -> swarming.v2.BootstrapToken |
| 10, // 136: swarming.v2.Swarming.GetPermissions:output_type -> swarming.v2.ClientPermissions |
| 115, // [115:137] is the sub-list for method output_type |
| 93, // [93:115] is the sub-list for method input_type |
| 93, // [93:93] is the sub-list for extension type_name |
| 93, // [93:93] is the sub-list for extension extendee |
| 0, // [0:93] is the sub-list for field type_name |
| } |
| |
| func init() { file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_init() } |
| func file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_init() { |
| if File_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto != nil { |
| return |
| } |
| if !protoimpl.UnsafeEnabled { |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*StringPair); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*StringListPair); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ServerDetails); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BootstrapToken); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ClientPermissions); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Digest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CASReference); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CipdPackage); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CipdInput); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CipdPins); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CacheEntry); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Containment); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TaskProperties); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TaskSlice); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*SwarmingTaskBackendConfig); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ResultDBCfg); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*NewTaskRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TaskRequestResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TaskCancelRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TasksCancelRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*OperationStats); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CASOperationStats); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*PerformanceStats); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*CancelResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TasksCancelResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TaskOutputResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ResultDBInfo); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TaskResultResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TaskStates); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TaskListResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TaskRequestsResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TasksCount); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TaskRequestMetadataResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BotInfo); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BotInfoListResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BotsCount); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BotsDimensions); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BotEventResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BotEventsResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*DeleteResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TerminateResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BotRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TerminateRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BotEventsRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BotTasksRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BotsRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BotsCountRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BotsDimensionsRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*PermissionsRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TaskStatesRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TasksWithPerfRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TasksRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TasksCountRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TaskIdRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TaskIdWithOffsetRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TaskIdWithPerfRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BatchGetResultRequest); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BatchGetResultResponse); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*BatchGetResultResponse_ResultOrError); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| } |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes[58].OneofWrappers = []interface{}{ |
| (*BatchGetResultResponse_ResultOrError_Result)(nil), |
| (*BatchGetResultResponse_ResultOrError_Error)(nil), |
| } |
| type x struct{} |
| out := protoimpl.TypeBuilder{ |
| File: protoimpl.DescBuilder{ |
| GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
| RawDescriptor: file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDesc, |
| NumEnums: 6, |
| NumMessages: 59, |
| NumExtensions: 0, |
| NumServices: 3, |
| }, |
| GoTypes: file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_goTypes, |
| DependencyIndexes: file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_depIdxs, |
| EnumInfos: file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_enumTypes, |
| MessageInfos: file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_msgTypes, |
| }.Build() |
| File_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto = out.File |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_rawDesc = nil |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_goTypes = nil |
| file_go_chromium_org_luci_swarming_proto_api_v2_swarming_proto_depIdxs = nil |
| } |