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

     1  // Copyright 2022 The LUCI Authors. All rights reserved.
     2  // Use of this source code is governed under the Apache License, Version 2.0
     3  // that can be found in the LICENSE file.
     4  
     5  // Code generated by protoc-gen-go. DO NOT EDIT.
     6  // versions:
     7  // 	protoc-gen-go v1.31.0
     8  // 	protoc        v3.21.7
     9  // source: go.chromium.org/luci/swarming/proto/internals/rbe.proto
    10  
    11  package internalspb
    12  
    13  import (
    14  	config "go.chromium.org/luci/swarming/proto/config"
    15  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    16  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    17  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    18  	emptypb "google.golang.org/protobuf/types/known/emptypb"
    19  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    20  	reflect "reflect"
    21  	sync "sync"
    22  )
    23  
    24  const (
    25  	// Verify that this generated code is sufficiently up-to-date.
    26  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    27  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    28  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    29  )
    30  
    31  type TaggedMessage_PayloadType int32
    32  
    33  const (
    34  	TaggedMessage_PAYLOAD_TYPE_UNSPECIFIED TaggedMessage_PayloadType = 0
    35  	TaggedMessage_POLL_STATE               TaggedMessage_PayloadType = 1 // payload is wirepb-serialized PollState
    36  	TaggedMessage_BOT_SESSION              TaggedMessage_PayloadType = 2 // payload is wirepb-serialized BotSession
    37  )
    38  
    39  // Enum value maps for TaggedMessage_PayloadType.
    40  var (
    41  	TaggedMessage_PayloadType_name = map[int32]string{
    42  		0: "PAYLOAD_TYPE_UNSPECIFIED",
    43  		1: "POLL_STATE",
    44  		2: "BOT_SESSION",
    45  	}
    46  	TaggedMessage_PayloadType_value = map[string]int32{
    47  		"PAYLOAD_TYPE_UNSPECIFIED": 0,
    48  		"POLL_STATE":               1,
    49  		"BOT_SESSION":              2,
    50  	}
    51  )
    52  
    53  func (x TaggedMessage_PayloadType) Enum() *TaggedMessage_PayloadType {
    54  	p := new(TaggedMessage_PayloadType)
    55  	*p = x
    56  	return p
    57  }
    58  
    59  func (x TaggedMessage_PayloadType) String() string {
    60  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    61  }
    62  
    63  func (TaggedMessage_PayloadType) Descriptor() protoreflect.EnumDescriptor {
    64  	return file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_enumTypes[0].Descriptor()
    65  }
    66  
    67  func (TaggedMessage_PayloadType) Type() protoreflect.EnumType {
    68  	return &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_enumTypes[0]
    69  }
    70  
    71  func (x TaggedMessage_PayloadType) Number() protoreflect.EnumNumber {
    72  	return protoreflect.EnumNumber(x)
    73  }
    74  
    75  // Deprecated: Use TaggedMessage_PayloadType.Descriptor instead.
    76  func (TaggedMessage_PayloadType) EnumDescriptor() ([]byte, []int) {
    77  	return file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescGZIP(), []int{0, 0}
    78  }
    79  
    80  // The reason the slice is marked as expired.
    81  type ExpireSliceRequest_Reason int32
    82  
    83  const (
    84  	ExpireSliceRequest_REASON_UNSPECIFIED ExpireSliceRequest_Reason = 0
    85  	ExpireSliceRequest_NO_RESOURCE        ExpireSliceRequest_Reason = 1 // no bots alive that match the requested dimensions
    86  	ExpireSliceRequest_PERMISSION_DENIED  ExpireSliceRequest_Reason = 2 // no access to the RBE instance
    87  	ExpireSliceRequest_INVALID_ARGUMENT   ExpireSliceRequest_Reason = 3 // RBE didn't like something about the reservation
    88  	ExpireSliceRequest_BOT_INTERNAL_ERROR ExpireSliceRequest_Reason = 4 // the bot picked up the reservation and then died
    89  	ExpireSliceRequest_EXPIRED            ExpireSliceRequest_Reason = 5 // the scheduling deadline exceeded
    90  )
    91  
    92  // Enum value maps for ExpireSliceRequest_Reason.
    93  var (
    94  	ExpireSliceRequest_Reason_name = map[int32]string{
    95  		0: "REASON_UNSPECIFIED",
    96  		1: "NO_RESOURCE",
    97  		2: "PERMISSION_DENIED",
    98  		3: "INVALID_ARGUMENT",
    99  		4: "BOT_INTERNAL_ERROR",
   100  		5: "EXPIRED",
   101  	}
   102  	ExpireSliceRequest_Reason_value = map[string]int32{
   103  		"REASON_UNSPECIFIED": 0,
   104  		"NO_RESOURCE":        1,
   105  		"PERMISSION_DENIED":  2,
   106  		"INVALID_ARGUMENT":   3,
   107  		"BOT_INTERNAL_ERROR": 4,
   108  		"EXPIRED":            5,
   109  	}
   110  )
   111  
   112  func (x ExpireSliceRequest_Reason) Enum() *ExpireSliceRequest_Reason {
   113  	p := new(ExpireSliceRequest_Reason)
   114  	*p = x
   115  	return p
   116  }
   117  
   118  func (x ExpireSliceRequest_Reason) String() string {
   119  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   120  }
   121  
   122  func (ExpireSliceRequest_Reason) Descriptor() protoreflect.EnumDescriptor {
   123  	return file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_enumTypes[1].Descriptor()
   124  }
   125  
   126  func (ExpireSliceRequest_Reason) Type() protoreflect.EnumType {
   127  	return &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_enumTypes[1]
   128  }
   129  
   130  func (x ExpireSliceRequest_Reason) Number() protoreflect.EnumNumber {
   131  	return protoreflect.EnumNumber(x)
   132  }
   133  
   134  // Deprecated: Use ExpireSliceRequest_Reason.Descriptor instead.
   135  func (ExpireSliceRequest_Reason) EnumDescriptor() ([]byte, []int) {
   136  	return file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescGZIP(), []int{7, 0}
   137  }
   138  
   139  // TaggedMessage is an envelope for an HMAC-tagged protobuf message.
   140  //
   141  // A secret key that was used for tagging should be communicated off band (e.g.
   142  // stored in some pre-agreed Google Secret Manager secret).
   143  //
   144  // hmac_sha256 is calculated as:
   145  //
   146  //	hmac_sha256("%d" % payload_type + "\n" + payload, secret_key).
   147  type TaggedMessage struct {
   148  	state         protoimpl.MessageState
   149  	sizeCache     protoimpl.SizeCache
   150  	unknownFields protoimpl.UnknownFields
   151  
   152  	PayloadType TaggedMessage_PayloadType `protobuf:"varint,1,opt,name=payload_type,json=payloadType,proto3,enum=swarming.internals.rbe.TaggedMessage_PayloadType" json:"payload_type,omitempty"` // identifies the payload proto message type
   153  	Payload     []byte                    `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`                                                                                   // the serialized payload proto message
   154  	HmacSha256  []byte                    `protobuf:"bytes,3,opt,name=hmac_sha256,json=hmacSha256,proto3" json:"hmac_sha256,omitempty"`                                                           // HMAC of the payload, see the comment above
   155  }
   156  
   157  func (x *TaggedMessage) Reset() {
   158  	*x = TaggedMessage{}
   159  	if protoimpl.UnsafeEnabled {
   160  		mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[0]
   161  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   162  		ms.StoreMessageInfo(mi)
   163  	}
   164  }
   165  
   166  func (x *TaggedMessage) String() string {
   167  	return protoimpl.X.MessageStringOf(x)
   168  }
   169  
   170  func (*TaggedMessage) ProtoMessage() {}
   171  
   172  func (x *TaggedMessage) ProtoReflect() protoreflect.Message {
   173  	mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[0]
   174  	if protoimpl.UnsafeEnabled && x != nil {
   175  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   176  		if ms.LoadMessageInfo() == nil {
   177  			ms.StoreMessageInfo(mi)
   178  		}
   179  		return ms
   180  	}
   181  	return mi.MessageOf(x)
   182  }
   183  
   184  // Deprecated: Use TaggedMessage.ProtoReflect.Descriptor instead.
   185  func (*TaggedMessage) Descriptor() ([]byte, []int) {
   186  	return file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescGZIP(), []int{0}
   187  }
   188  
   189  func (x *TaggedMessage) GetPayloadType() TaggedMessage_PayloadType {
   190  	if x != nil {
   191  		return x.PayloadType
   192  	}
   193  	return TaggedMessage_PAYLOAD_TYPE_UNSPECIFIED
   194  }
   195  
   196  func (x *TaggedMessage) GetPayload() []byte {
   197  	if x != nil {
   198  		return x.Payload
   199  	}
   200  	return nil
   201  }
   202  
   203  func (x *TaggedMessage) GetHmacSha256() []byte {
   204  	if x != nil {
   205  		return x.HmacSha256
   206  	}
   207  	return nil
   208  }
   209  
   210  // PollState is produced by the Python server and passed to the Go server.
   211  //
   212  // It travels wrapped in a TaggedMessage. Once the HMAC tag is verified, the Go
   213  // server can trust that this message was generated by the Python server and was
   214  // not tampered with.
   215  //
   216  // It is generated by "/bot/poll" endpoint for bots in the RBE mode. Such bots
   217  // then pass it to the "/bot/rbe/..." endpoints. It contains RBE-related
   218  // parameters for this particular bot produced based on the bot credentials and
   219  // Python server configs.
   220  //
   221  // It also contains instructions how to authenticate the bot on the Go side.
   222  // They are derived based on how the Python server authenticated this particular
   223  // bot. They are tightly coupled to swarming.config.BotAuth message.
   224  //
   225  // Once the Go server verifies the HMAC tag, and checks that the bot presented
   226  // the exact same credentials as used by the Python side, the Go side can trust
   227  // that this message was not tampered with and was not "substituted" (i.e.
   228  // taken from one bot and replayed on another).
   229  type PollState struct {
   230  	state         protoimpl.MessageState
   231  	sizeCache     protoimpl.SizeCache
   232  	unknownFields protoimpl.UnknownFields
   233  
   234  	// Unique ID of this message (primary to correlate logs that use it).
   235  	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   236  	// Expiration time of this message. It should not be used once it expires.
   237  	Expiry *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=expiry,proto3" json:"expiry,omitempty"`
   238  	// Full RBE instance name to use.
   239  	RbeInstance        string                 `protobuf:"bytes,3,opt,name=rbe_instance,json=rbeInstance,proto3" json:"rbe_instance,omitempty"`
   240  	EnforcedDimensions []*PollState_Dimension `protobuf:"bytes,4,rep,name=enforced_dimensions,json=enforcedDimensions,proto3" json:"enforced_dimensions,omitempty"`
   241  	DebugInfo          *PollState_DebugInfo   `protobuf:"bytes,5,opt,name=debug_info,json=debugInfo,proto3" json:"debug_info,omitempty"`
   242  	// If set, the bot should be in the corresponding IP allowlist (in addition
   243  	// to the primary auth check described by auth_method). Always set if
   244  	// auth_method is IPAllowlistAuth.
   245  	IpAllowlist string `protobuf:"bytes,10,opt,name=ip_allowlist,json=ipAllowlist,proto3" json:"ip_allowlist,omitempty"`
   246  	// Describes how to authenticate the bot. See swarming.config.BotAuth.
   247  	//
   248  	// Must be set.
   249  	//
   250  	// Types that are assignable to AuthMethod:
   251  	//
   252  	//	*PollState_GceAuth
   253  	//	*PollState_ServiceAccountAuth_
   254  	//	*PollState_LuciMachineTokenAuth
   255  	//	*PollState_IpAllowlistAuth
   256  	AuthMethod isPollState_AuthMethod `protobuf_oneof:"auth_method"`
   257  }
   258  
   259  func (x *PollState) Reset() {
   260  	*x = PollState{}
   261  	if protoimpl.UnsafeEnabled {
   262  		mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[1]
   263  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   264  		ms.StoreMessageInfo(mi)
   265  	}
   266  }
   267  
   268  func (x *PollState) String() string {
   269  	return protoimpl.X.MessageStringOf(x)
   270  }
   271  
   272  func (*PollState) ProtoMessage() {}
   273  
   274  func (x *PollState) ProtoReflect() protoreflect.Message {
   275  	mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[1]
   276  	if protoimpl.UnsafeEnabled && x != nil {
   277  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   278  		if ms.LoadMessageInfo() == nil {
   279  			ms.StoreMessageInfo(mi)
   280  		}
   281  		return ms
   282  	}
   283  	return mi.MessageOf(x)
   284  }
   285  
   286  // Deprecated: Use PollState.ProtoReflect.Descriptor instead.
   287  func (*PollState) Descriptor() ([]byte, []int) {
   288  	return file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescGZIP(), []int{1}
   289  }
   290  
   291  func (x *PollState) GetId() string {
   292  	if x != nil {
   293  		return x.Id
   294  	}
   295  	return ""
   296  }
   297  
   298  func (x *PollState) GetExpiry() *timestamppb.Timestamp {
   299  	if x != nil {
   300  		return x.Expiry
   301  	}
   302  	return nil
   303  }
   304  
   305  func (x *PollState) GetRbeInstance() string {
   306  	if x != nil {
   307  		return x.RbeInstance
   308  	}
   309  	return ""
   310  }
   311  
   312  func (x *PollState) GetEnforcedDimensions() []*PollState_Dimension {
   313  	if x != nil {
   314  		return x.EnforcedDimensions
   315  	}
   316  	return nil
   317  }
   318  
   319  func (x *PollState) GetDebugInfo() *PollState_DebugInfo {
   320  	if x != nil {
   321  		return x.DebugInfo
   322  	}
   323  	return nil
   324  }
   325  
   326  func (x *PollState) GetIpAllowlist() string {
   327  	if x != nil {
   328  		return x.IpAllowlist
   329  	}
   330  	return ""
   331  }
   332  
   333  func (m *PollState) GetAuthMethod() isPollState_AuthMethod {
   334  	if m != nil {
   335  		return m.AuthMethod
   336  	}
   337  	return nil
   338  }
   339  
   340  func (x *PollState) GetGceAuth() *PollState_GCEAuth {
   341  	if x, ok := x.GetAuthMethod().(*PollState_GceAuth); ok {
   342  		return x.GceAuth
   343  	}
   344  	return nil
   345  }
   346  
   347  func (x *PollState) GetServiceAccountAuth() *PollState_ServiceAccountAuth {
   348  	if x, ok := x.GetAuthMethod().(*PollState_ServiceAccountAuth_); ok {
   349  		return x.ServiceAccountAuth
   350  	}
   351  	return nil
   352  }
   353  
   354  func (x *PollState) GetLuciMachineTokenAuth() *PollState_LUCIMachineTokenAuth {
   355  	if x, ok := x.GetAuthMethod().(*PollState_LuciMachineTokenAuth); ok {
   356  		return x.LuciMachineTokenAuth
   357  	}
   358  	return nil
   359  }
   360  
   361  func (x *PollState) GetIpAllowlistAuth() *PollState_IPAllowlistAuth {
   362  	if x, ok := x.GetAuthMethod().(*PollState_IpAllowlistAuth); ok {
   363  		return x.IpAllowlistAuth
   364  	}
   365  	return nil
   366  }
   367  
   368  type isPollState_AuthMethod interface {
   369  	isPollState_AuthMethod()
   370  }
   371  
   372  type PollState_GceAuth struct {
   373  	GceAuth *PollState_GCEAuth `protobuf:"bytes,11,opt,name=gce_auth,json=gceAuth,proto3,oneof"`
   374  }
   375  
   376  type PollState_ServiceAccountAuth_ struct {
   377  	ServiceAccountAuth *PollState_ServiceAccountAuth `protobuf:"bytes,12,opt,name=service_account_auth,json=serviceAccountAuth,proto3,oneof"`
   378  }
   379  
   380  type PollState_LuciMachineTokenAuth struct {
   381  	LuciMachineTokenAuth *PollState_LUCIMachineTokenAuth `protobuf:"bytes,13,opt,name=luci_machine_token_auth,json=luciMachineTokenAuth,proto3,oneof"`
   382  }
   383  
   384  type PollState_IpAllowlistAuth struct {
   385  	IpAllowlistAuth *PollState_IPAllowlistAuth `protobuf:"bytes,14,opt,name=ip_allowlist_auth,json=ipAllowlistAuth,proto3,oneof"`
   386  }
   387  
   388  func (*PollState_GceAuth) isPollState_AuthMethod() {}
   389  
   390  func (*PollState_ServiceAccountAuth_) isPollState_AuthMethod() {}
   391  
   392  func (*PollState_LuciMachineTokenAuth) isPollState_AuthMethod() {}
   393  
   394  func (*PollState_IpAllowlistAuth) isPollState_AuthMethod() {}
   395  
   396  // BotSession carries an RBE bot session ID and the latest validated PollState.
   397  //
   398  // It travels wrapped in a TaggedMessage. It is produced and verified by the
   399  // Go server whenever the bot calls CreateBotSession or UpdateBotSession.
   400  //
   401  // It serves two purposes:
   402  //  1. Protect the RBE bot session ID from tampering by the bot (e.g. prevents
   403  //     the bot from using a different bot session ID of a bot in another pool).
   404  //  2. Preserve parameters of the last known PollState (in particular auth
   405  //     ones) and bind the session ID to them, so even if the bot has a valid
   406  //     BotSession token from another bot, it won't be able to use them (because
   407  //     it will fail the auth check encoded in the PollState).
   408  //
   409  // The original PollState token has limited expiration time and it expires if
   410  // the bot doesn't refresh it by calling the polling endpoint served by the
   411  // Python server. When running a long task, the bot is not polling anything and
   412  // can't refresh the PollState token. But it still periodically calls
   413  // UpdateBotSession to send heartbeats to RBE. This is where PollState stored in
   414  // BotSession token is verified and where BotSession token is occasionally
   415  // refreshed.
   416  //
   417  // If a call to UpdateBotSession has both the PollState token and BotSession
   418  // token (happens when a bot is polling new tasks from RBE), the information in
   419  // the PollState token is used as authoritative since PollState tokens are
   420  // generated by Python code based on the freshest state of bot configs.
   421  // Fields pulled from such PollState token is used to update BotSession token.
   422  type BotSession struct {
   423  	state         protoimpl.MessageState
   424  	sizeCache     protoimpl.SizeCache
   425  	unknownFields protoimpl.UnknownFields
   426  
   427  	// ID of the RBE's BotSession.
   428  	RbeBotSessionId string `protobuf:"bytes,1,opt,name=rbe_bot_session_id,json=rbeBotSessionId,proto3" json:"rbe_bot_session_id,omitempty"`
   429  	// Poll state extracted from the last seen validated PollState token.
   430  	//
   431  	// Its `expiry` should be ignored in favor of `expiry` field in BotSession.
   432  	PollState *PollState `protobuf:"bytes,2,opt,name=poll_state,json=pollState,proto3" json:"poll_state,omitempty"`
   433  	// Expiration time of this message. It should not be used once it expires.
   434  	Expiry *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=expiry,proto3" json:"expiry,omitempty"`
   435  }
   436  
   437  func (x *BotSession) Reset() {
   438  	*x = BotSession{}
   439  	if protoimpl.UnsafeEnabled {
   440  		mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[2]
   441  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   442  		ms.StoreMessageInfo(mi)
   443  	}
   444  }
   445  
   446  func (x *BotSession) String() string {
   447  	return protoimpl.X.MessageStringOf(x)
   448  }
   449  
   450  func (*BotSession) ProtoMessage() {}
   451  
   452  func (x *BotSession) ProtoReflect() protoreflect.Message {
   453  	mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[2]
   454  	if protoimpl.UnsafeEnabled && x != nil {
   455  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   456  		if ms.LoadMessageInfo() == nil {
   457  			ms.StoreMessageInfo(mi)
   458  		}
   459  		return ms
   460  	}
   461  	return mi.MessageOf(x)
   462  }
   463  
   464  // Deprecated: Use BotSession.ProtoReflect.Descriptor instead.
   465  func (*BotSession) Descriptor() ([]byte, []int) {
   466  	return file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescGZIP(), []int{2}
   467  }
   468  
   469  func (x *BotSession) GetRbeBotSessionId() string {
   470  	if x != nil {
   471  		return x.RbeBotSessionId
   472  	}
   473  	return ""
   474  }
   475  
   476  func (x *BotSession) GetPollState() *PollState {
   477  	if x != nil {
   478  		return x.PollState
   479  	}
   480  	return nil
   481  }
   482  
   483  func (x *BotSession) GetExpiry() *timestamppb.Timestamp {
   484  	if x != nil {
   485  		return x.Expiry
   486  	}
   487  	return nil
   488  }
   489  
   490  // EnqueueRBETask describes payload of `rbe-enqueue` TQ tasks.
   491  //
   492  // It is submitted into `rbe-enqueue` Cloud Tasks queue by the Python side and
   493  // processed by the Go side (resulting in a new RBE reservation on success).
   494  type EnqueueRBETask struct {
   495  	state         protoimpl.MessageState
   496  	sizeCache     protoimpl.SizeCache
   497  	unknownFields protoimpl.UnknownFields
   498  
   499  	// Payload of the new RBE reservation. It will eventually be routed to a bot.
   500  	Payload *TaskPayload `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
   501  	// Full RBE instance ID to submit this task to, extracted from TaskRequest.
   502  	RbeInstance string `protobuf:"bytes,2,opt,name=rbe_instance,json=rbeInstance,proto3" json:"rbe_instance,omitempty"`
   503  	// When this particular slice expires, extracted from TaskToRunShard.
   504  	Expiry *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=expiry,proto3" json:"expiry,omitempty"`
   505  	// A bot that should execute this slice (if any), extracted from TaskSlice.
   506  	RequestedBotId string                       `protobuf:"bytes,4,opt,name=requested_bot_id,json=requestedBotId,proto3" json:"requested_bot_id,omitempty"`
   507  	Constraints    []*EnqueueRBETask_Constraint `protobuf:"bytes,5,rep,name=constraints,proto3" json:"constraints,omitempty"`
   508  	// Swarming task priority, as submitted by the client.
   509  	Priority int32 `protobuf:"varint,6,opt,name=priority,proto3" json:"priority,omitempty"`
   510  	// Swarming scheduling algorithm, as specified in pools.cfg.
   511  	SchedulingAlgorithm config.Pool_SchedulingAlgorithm `protobuf:"varint,7,opt,name=scheduling_algorithm,json=schedulingAlgorithm,proto3,enum=swarming.config.Pool_SchedulingAlgorithm" json:"scheduling_algorithm,omitempty"`
   512  	// How long the task is allowed to run once it starts on the bot.
   513  	ExecutionTimeout *durationpb.Duration `protobuf:"bytes,8,opt,name=execution_timeout,json=executionTimeout,proto3" json:"execution_timeout,omitempty"`
   514  }
   515  
   516  func (x *EnqueueRBETask) Reset() {
   517  	*x = EnqueueRBETask{}
   518  	if protoimpl.UnsafeEnabled {
   519  		mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[3]
   520  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   521  		ms.StoreMessageInfo(mi)
   522  	}
   523  }
   524  
   525  func (x *EnqueueRBETask) String() string {
   526  	return protoimpl.X.MessageStringOf(x)
   527  }
   528  
   529  func (*EnqueueRBETask) ProtoMessage() {}
   530  
   531  func (x *EnqueueRBETask) ProtoReflect() protoreflect.Message {
   532  	mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[3]
   533  	if protoimpl.UnsafeEnabled && x != nil {
   534  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   535  		if ms.LoadMessageInfo() == nil {
   536  			ms.StoreMessageInfo(mi)
   537  		}
   538  		return ms
   539  	}
   540  	return mi.MessageOf(x)
   541  }
   542  
   543  // Deprecated: Use EnqueueRBETask.ProtoReflect.Descriptor instead.
   544  func (*EnqueueRBETask) Descriptor() ([]byte, []int) {
   545  	return file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescGZIP(), []int{3}
   546  }
   547  
   548  func (x *EnqueueRBETask) GetPayload() *TaskPayload {
   549  	if x != nil {
   550  		return x.Payload
   551  	}
   552  	return nil
   553  }
   554  
   555  func (x *EnqueueRBETask) GetRbeInstance() string {
   556  	if x != nil {
   557  		return x.RbeInstance
   558  	}
   559  	return ""
   560  }
   561  
   562  func (x *EnqueueRBETask) GetExpiry() *timestamppb.Timestamp {
   563  	if x != nil {
   564  		return x.Expiry
   565  	}
   566  	return nil
   567  }
   568  
   569  func (x *EnqueueRBETask) GetRequestedBotId() string {
   570  	if x != nil {
   571  		return x.RequestedBotId
   572  	}
   573  	return ""
   574  }
   575  
   576  func (x *EnqueueRBETask) GetConstraints() []*EnqueueRBETask_Constraint {
   577  	if x != nil {
   578  		return x.Constraints
   579  	}
   580  	return nil
   581  }
   582  
   583  func (x *EnqueueRBETask) GetPriority() int32 {
   584  	if x != nil {
   585  		return x.Priority
   586  	}
   587  	return 0
   588  }
   589  
   590  func (x *EnqueueRBETask) GetSchedulingAlgorithm() config.Pool_SchedulingAlgorithm {
   591  	if x != nil {
   592  		return x.SchedulingAlgorithm
   593  	}
   594  	return config.Pool_SchedulingAlgorithm(0)
   595  }
   596  
   597  func (x *EnqueueRBETask) GetExecutionTimeout() *durationpb.Duration {
   598  	if x != nil {
   599  		return x.ExecutionTimeout
   600  	}
   601  	return nil
   602  }
   603  
   604  // CancelRBETask describes payload of `rbe-cancel` TQ tasks.
   605  //
   606  // It is submitted into `rbe-cancel` Cloud Tasks queue by the Python side and
   607  // processed by the Go side (resulting in cancellation of an RBE reservation).
   608  type CancelRBETask struct {
   609  	state         protoimpl.MessageState
   610  	sizeCache     protoimpl.SizeCache
   611  	unknownFields protoimpl.UnknownFields
   612  
   613  	// Full RBE instance ID with the reservation, extracted from TaskRequest.
   614  	RbeInstance string `protobuf:"bytes,1,opt,name=rbe_instance,json=rbeInstance,proto3" json:"rbe_instance,omitempty"`
   615  	// Reservation to cancel (scoped to the instance).
   616  	ReservationId string                   `protobuf:"bytes,2,opt,name=reservation_id,json=reservationId,proto3" json:"reservation_id,omitempty"`
   617  	DebugInfo     *CancelRBETask_DebugInfo `protobuf:"bytes,3,opt,name=debug_info,json=debugInfo,proto3" json:"debug_info,omitempty"`
   618  }
   619  
   620  func (x *CancelRBETask) Reset() {
   621  	*x = CancelRBETask{}
   622  	if protoimpl.UnsafeEnabled {
   623  		mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[4]
   624  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   625  		ms.StoreMessageInfo(mi)
   626  	}
   627  }
   628  
   629  func (x *CancelRBETask) String() string {
   630  	return protoimpl.X.MessageStringOf(x)
   631  }
   632  
   633  func (*CancelRBETask) ProtoMessage() {}
   634  
   635  func (x *CancelRBETask) ProtoReflect() protoreflect.Message {
   636  	mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[4]
   637  	if protoimpl.UnsafeEnabled && x != nil {
   638  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   639  		if ms.LoadMessageInfo() == nil {
   640  			ms.StoreMessageInfo(mi)
   641  		}
   642  		return ms
   643  	}
   644  	return mi.MessageOf(x)
   645  }
   646  
   647  // Deprecated: Use CancelRBETask.ProtoReflect.Descriptor instead.
   648  func (*CancelRBETask) Descriptor() ([]byte, []int) {
   649  	return file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescGZIP(), []int{4}
   650  }
   651  
   652  func (x *CancelRBETask) GetRbeInstance() string {
   653  	if x != nil {
   654  		return x.RbeInstance
   655  	}
   656  	return ""
   657  }
   658  
   659  func (x *CancelRBETask) GetReservationId() string {
   660  	if x != nil {
   661  		return x.ReservationId
   662  	}
   663  	return ""
   664  }
   665  
   666  func (x *CancelRBETask) GetDebugInfo() *CancelRBETask_DebugInfo {
   667  	if x != nil {
   668  		return x.DebugInfo
   669  	}
   670  	return nil
   671  }
   672  
   673  // TaskPayload is used as an RBE task payload.
   674  //
   675  // It is serialized as anypb.Any when passed to RBE, and its full proto name
   676  // is thus sensitive.
   677  //
   678  // It points to an existing TaskToRunShardXXX entity representing the pending
   679  // request to execute a single task slice plus some extra information useful
   680  // for debugging.
   681  //
   682  // It also contains the name of the RBE reservation that will be created to
   683  // represent this task.
   684  type TaskPayload struct {
   685  	state         protoimpl.MessageState
   686  	sizeCache     protoimpl.SizeCache
   687  	unknownFields protoimpl.UnknownFields
   688  
   689  	// Unique (within the RBE instance) ID of the reservation, for idempotency.
   690  	ReservationId string `protobuf:"bytes,1,opt,name=reservation_id,json=reservationId,proto3" json:"reservation_id,omitempty"`
   691  	// Swarming task ID (aka TaskResultSummary packed id), identifies TaskRequest.
   692  	TaskId string `protobuf:"bytes,2,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
   693  	// Task slice index (mostly FYI).
   694  	SliceIndex int32 `protobuf:"varint,3,opt,name=slice_index,json=sliceIndex,proto3" json:"slice_index,omitempty"`
   695  	// Shard index of TaskToRunShardXXX entity class.
   696  	TaskToRunShard int32 `protobuf:"varint,4,opt,name=task_to_run_shard,json=taskToRunShard,proto3" json:"task_to_run_shard,omitempty"`
   697  	// Datastore ID of TaskToRunShardXXX entity (a child of the TaskRequest).
   698  	TaskToRunId int64                  `protobuf:"varint,5,opt,name=task_to_run_id,json=taskToRunId,proto3" json:"task_to_run_id,omitempty"`
   699  	DebugInfo   *TaskPayload_DebugInfo `protobuf:"bytes,6,opt,name=debug_info,json=debugInfo,proto3" json:"debug_info,omitempty"`
   700  	// If true, the bot should not contact Python Swarming, don't execute
   701  	// anything, just immediately move the reservation into COMPLETED state.
   702  	//
   703  	// This is useful during initial development to test RBE task distribution
   704  	// mechanism in isolation from other Swarming guts.
   705  	Noop bool `protobuf:"varint,7,opt,name=noop,proto3" json:"noop,omitempty"`
   706  }
   707  
   708  func (x *TaskPayload) Reset() {
   709  	*x = TaskPayload{}
   710  	if protoimpl.UnsafeEnabled {
   711  		mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[5]
   712  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   713  		ms.StoreMessageInfo(mi)
   714  	}
   715  }
   716  
   717  func (x *TaskPayload) String() string {
   718  	return protoimpl.X.MessageStringOf(x)
   719  }
   720  
   721  func (*TaskPayload) ProtoMessage() {}
   722  
   723  func (x *TaskPayload) ProtoReflect() protoreflect.Message {
   724  	mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[5]
   725  	if protoimpl.UnsafeEnabled && x != nil {
   726  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   727  		if ms.LoadMessageInfo() == nil {
   728  			ms.StoreMessageInfo(mi)
   729  		}
   730  		return ms
   731  	}
   732  	return mi.MessageOf(x)
   733  }
   734  
   735  // Deprecated: Use TaskPayload.ProtoReflect.Descriptor instead.
   736  func (*TaskPayload) Descriptor() ([]byte, []int) {
   737  	return file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescGZIP(), []int{5}
   738  }
   739  
   740  func (x *TaskPayload) GetReservationId() string {
   741  	if x != nil {
   742  		return x.ReservationId
   743  	}
   744  	return ""
   745  }
   746  
   747  func (x *TaskPayload) GetTaskId() string {
   748  	if x != nil {
   749  		return x.TaskId
   750  	}
   751  	return ""
   752  }
   753  
   754  func (x *TaskPayload) GetSliceIndex() int32 {
   755  	if x != nil {
   756  		return x.SliceIndex
   757  	}
   758  	return 0
   759  }
   760  
   761  func (x *TaskPayload) GetTaskToRunShard() int32 {
   762  	if x != nil {
   763  		return x.TaskToRunShard
   764  	}
   765  	return 0
   766  }
   767  
   768  func (x *TaskPayload) GetTaskToRunId() int64 {
   769  	if x != nil {
   770  		return x.TaskToRunId
   771  	}
   772  	return 0
   773  }
   774  
   775  func (x *TaskPayload) GetDebugInfo() *TaskPayload_DebugInfo {
   776  	if x != nil {
   777  		return x.DebugInfo
   778  	}
   779  	return nil
   780  }
   781  
   782  func (x *TaskPayload) GetNoop() bool {
   783  	if x != nil {
   784  		return x.Noop
   785  	}
   786  	return false
   787  }
   788  
   789  // TaskResult is used as an RBE task result.
   790  //
   791  // TaskResult represents an outcome of a reservation that was processed by a bot
   792  // (successfully or not). If a bot never saw the reservation, or crashed midway,
   793  // TaskResult is not available. There's more generic Reservation.status field
   794  // for these cases in the RBE API.
   795  //
   796  // TaskResult is serialized into anypb.Any when passed to RBE, and its full
   797  // proto name is thus sensitive.
   798  //
   799  // Note that the corresponding TaskPayload is available in the same RBE
   800  // Reservation proto that contains TaskResult, so TaskPayload fields are not
   801  // duplicated in the TaskResult.
   802  type TaskResult struct {
   803  	state         protoimpl.MessageState
   804  	sizeCache     protoimpl.SizeCache
   805  	unknownFields protoimpl.UnknownFields
   806  
   807  	// Set to a human readable string if the bot legitimately skipped executing
   808  	// the reservation e.g. because it was already claimed. Used for debugging
   809  	// only.
   810  	SkipReason string `protobuf:"bytes,1,opt,name=skip_reason,json=skipReason,proto3" json:"skip_reason,omitempty"`
   811  	// Set if the bot picked up the reservation, but could not work on it and
   812  	// gave up. This usually happens if the bot can't claim the TaskToRun after
   813  	// many attempts. This is an internal Swarming error and it results in the
   814  	// task failing with BOT_DIED error.
   815  	BotInternalError string `protobuf:"bytes,2,opt,name=bot_internal_error,json=botInternalError,proto3" json:"bot_internal_error,omitempty"`
   816  }
   817  
   818  func (x *TaskResult) Reset() {
   819  	*x = TaskResult{}
   820  	if protoimpl.UnsafeEnabled {
   821  		mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[6]
   822  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   823  		ms.StoreMessageInfo(mi)
   824  	}
   825  }
   826  
   827  func (x *TaskResult) String() string {
   828  	return protoimpl.X.MessageStringOf(x)
   829  }
   830  
   831  func (*TaskResult) ProtoMessage() {}
   832  
   833  func (x *TaskResult) ProtoReflect() protoreflect.Message {
   834  	mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[6]
   835  	if protoimpl.UnsafeEnabled && x != nil {
   836  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   837  		if ms.LoadMessageInfo() == nil {
   838  			ms.StoreMessageInfo(mi)
   839  		}
   840  		return ms
   841  	}
   842  	return mi.MessageOf(x)
   843  }
   844  
   845  // Deprecated: Use TaskResult.ProtoReflect.Descriptor instead.
   846  func (*TaskResult) Descriptor() ([]byte, []int) {
   847  	return file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescGZIP(), []int{6}
   848  }
   849  
   850  func (x *TaskResult) GetSkipReason() string {
   851  	if x != nil {
   852  		return x.SkipReason
   853  	}
   854  	return ""
   855  }
   856  
   857  func (x *TaskResult) GetBotInternalError() string {
   858  	if x != nil {
   859  		return x.BotInternalError
   860  	}
   861  	return ""
   862  }
   863  
   864  // Body of ExpireSlice internal RPC call.
   865  //
   866  // It identifies a concrete TaskToRunShardXXX entity and the reason it has
   867  // expired.
   868  type ExpireSliceRequest struct {
   869  	state         protoimpl.MessageState
   870  	sizeCache     protoimpl.SizeCache
   871  	unknownFields protoimpl.UnknownFields
   872  
   873  	// Swarming task ID (aka TaskResultSummary packed id), identifies TaskRequest.
   874  	TaskId string `protobuf:"bytes,1,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
   875  	// Shard index of TaskToRunShardXXX entity class.
   876  	TaskToRunShard int32 `protobuf:"varint,2,opt,name=task_to_run_shard,json=taskToRunShard,proto3" json:"task_to_run_shard,omitempty"`
   877  	// Datastore ID of TaskToRunShardXXX entity (a child of the TaskRequest).
   878  	TaskToRunId int64                     `protobuf:"varint,3,opt,name=task_to_run_id,json=taskToRunId,proto3" json:"task_to_run_id,omitempty"`
   879  	Reason      ExpireSliceRequest_Reason `protobuf:"varint,4,opt,name=reason,proto3,enum=swarming.internals.rbe.ExpireSliceRequest_Reason" json:"reason,omitempty"`
   880  	Details     string                    `protobuf:"bytes,5,opt,name=details,proto3" json:"details,omitempty"`
   881  }
   882  
   883  func (x *ExpireSliceRequest) Reset() {
   884  	*x = ExpireSliceRequest{}
   885  	if protoimpl.UnsafeEnabled {
   886  		mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[7]
   887  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   888  		ms.StoreMessageInfo(mi)
   889  	}
   890  }
   891  
   892  func (x *ExpireSliceRequest) String() string {
   893  	return protoimpl.X.MessageStringOf(x)
   894  }
   895  
   896  func (*ExpireSliceRequest) ProtoMessage() {}
   897  
   898  func (x *ExpireSliceRequest) ProtoReflect() protoreflect.Message {
   899  	mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[7]
   900  	if protoimpl.UnsafeEnabled && x != nil {
   901  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   902  		if ms.LoadMessageInfo() == nil {
   903  			ms.StoreMessageInfo(mi)
   904  		}
   905  		return ms
   906  	}
   907  	return mi.MessageOf(x)
   908  }
   909  
   910  // Deprecated: Use ExpireSliceRequest.ProtoReflect.Descriptor instead.
   911  func (*ExpireSliceRequest) Descriptor() ([]byte, []int) {
   912  	return file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescGZIP(), []int{7}
   913  }
   914  
   915  func (x *ExpireSliceRequest) GetTaskId() string {
   916  	if x != nil {
   917  		return x.TaskId
   918  	}
   919  	return ""
   920  }
   921  
   922  func (x *ExpireSliceRequest) GetTaskToRunShard() int32 {
   923  	if x != nil {
   924  		return x.TaskToRunShard
   925  	}
   926  	return 0
   927  }
   928  
   929  func (x *ExpireSliceRequest) GetTaskToRunId() int64 {
   930  	if x != nil {
   931  		return x.TaskToRunId
   932  	}
   933  	return 0
   934  }
   935  
   936  func (x *ExpireSliceRequest) GetReason() ExpireSliceRequest_Reason {
   937  	if x != nil {
   938  		return x.Reason
   939  	}
   940  	return ExpireSliceRequest_REASON_UNSPECIFIED
   941  }
   942  
   943  func (x *ExpireSliceRequest) GetDetails() string {
   944  	if x != nil {
   945  		return x.Details
   946  	}
   947  	return ""
   948  }
   949  
   950  // Override these particular dimensions when contacting RBE.
   951  //
   952  // These values will be used instead of whatever the bot is reporting. This is
   953  // used for security-sensitive dimensions like `id` and `pool`.
   954  //
   955  // `id` is always populated and has a single value matching the bot ID.
   956  type PollState_Dimension struct {
   957  	state         protoimpl.MessageState
   958  	sizeCache     protoimpl.SizeCache
   959  	unknownFields protoimpl.UnknownFields
   960  
   961  	Key    string   `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
   962  	Values []string `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"`
   963  }
   964  
   965  func (x *PollState_Dimension) Reset() {
   966  	*x = PollState_Dimension{}
   967  	if protoimpl.UnsafeEnabled {
   968  		mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[8]
   969  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   970  		ms.StoreMessageInfo(mi)
   971  	}
   972  }
   973  
   974  func (x *PollState_Dimension) String() string {
   975  	return protoimpl.X.MessageStringOf(x)
   976  }
   977  
   978  func (*PollState_Dimension) ProtoMessage() {}
   979  
   980  func (x *PollState_Dimension) ProtoReflect() protoreflect.Message {
   981  	mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[8]
   982  	if protoimpl.UnsafeEnabled && x != nil {
   983  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   984  		if ms.LoadMessageInfo() == nil {
   985  			ms.StoreMessageInfo(mi)
   986  		}
   987  		return ms
   988  	}
   989  	return mi.MessageOf(x)
   990  }
   991  
   992  // Deprecated: Use PollState_Dimension.ProtoReflect.Descriptor instead.
   993  func (*PollState_Dimension) Descriptor() ([]byte, []int) {
   994  	return file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescGZIP(), []int{1, 0}
   995  }
   996  
   997  func (x *PollState_Dimension) GetKey() string {
   998  	if x != nil {
   999  		return x.Key
  1000  	}
  1001  	return ""
  1002  }
  1003  
  1004  func (x *PollState_Dimension) GetValues() []string {
  1005  	if x != nil {
  1006  		return x.Values
  1007  	}
  1008  	return nil
  1009  }
  1010  
  1011  // Information for logs and debugging (not passed to RBE).
  1012  type PollState_DebugInfo struct {
  1013  	state         protoimpl.MessageState
  1014  	sizeCache     protoimpl.SizeCache
  1015  	unknownFields protoimpl.UnknownFields
  1016  
  1017  	Created         *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=created,proto3" json:"created,omitempty"`                                        // when this message was created
  1018  	SwarmingVersion string                 `protobuf:"bytes,2,opt,name=swarming_version,json=swarmingVersion,proto3" json:"swarming_version,omitempty"` // version of the Swarming code
  1019  	RequestId       string                 `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`                   // ID of the "/bot/poll" request
  1020  }
  1021  
  1022  func (x *PollState_DebugInfo) Reset() {
  1023  	*x = PollState_DebugInfo{}
  1024  	if protoimpl.UnsafeEnabled {
  1025  		mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[9]
  1026  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1027  		ms.StoreMessageInfo(mi)
  1028  	}
  1029  }
  1030  
  1031  func (x *PollState_DebugInfo) String() string {
  1032  	return protoimpl.X.MessageStringOf(x)
  1033  }
  1034  
  1035  func (*PollState_DebugInfo) ProtoMessage() {}
  1036  
  1037  func (x *PollState_DebugInfo) ProtoReflect() protoreflect.Message {
  1038  	mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[9]
  1039  	if protoimpl.UnsafeEnabled && x != nil {
  1040  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1041  		if ms.LoadMessageInfo() == nil {
  1042  			ms.StoreMessageInfo(mi)
  1043  		}
  1044  		return ms
  1045  	}
  1046  	return mi.MessageOf(x)
  1047  }
  1048  
  1049  // Deprecated: Use PollState_DebugInfo.ProtoReflect.Descriptor instead.
  1050  func (*PollState_DebugInfo) Descriptor() ([]byte, []int) {
  1051  	return file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescGZIP(), []int{1, 1}
  1052  }
  1053  
  1054  func (x *PollState_DebugInfo) GetCreated() *timestamppb.Timestamp {
  1055  	if x != nil {
  1056  		return x.Created
  1057  	}
  1058  	return nil
  1059  }
  1060  
  1061  func (x *PollState_DebugInfo) GetSwarmingVersion() string {
  1062  	if x != nil {
  1063  		return x.SwarmingVersion
  1064  	}
  1065  	return ""
  1066  }
  1067  
  1068  func (x *PollState_DebugInfo) GetRequestId() string {
  1069  	if x != nil {
  1070  		return x.RequestId
  1071  	}
  1072  	return ""
  1073  }
  1074  
  1075  // If set, use `X-Luci-Gce-Vm-Token` header for auth.
  1076  //
  1077  // This header should contain JWT with signed VM metadata with the following
  1078  // expectations:
  1079  //   - Audience matches https://[*-dot-]<app>.appspot.com
  1080  //   - google.compute_engine.project_id field matches `gce_project`.
  1081  //   - google.compute_engine.instance_name matches `gce_instance`.
  1082  type PollState_GCEAuth struct {
  1083  	state         protoimpl.MessageState
  1084  	sizeCache     protoimpl.SizeCache
  1085  	unknownFields protoimpl.UnknownFields
  1086  
  1087  	GceProject  string `protobuf:"bytes,1,opt,name=gce_project,json=gceProject,proto3" json:"gce_project,omitempty"`
  1088  	GceInstance string `protobuf:"bytes,2,opt,name=gce_instance,json=gceInstance,proto3" json:"gce_instance,omitempty"`
  1089  }
  1090  
  1091  func (x *PollState_GCEAuth) Reset() {
  1092  	*x = PollState_GCEAuth{}
  1093  	if protoimpl.UnsafeEnabled {
  1094  		mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[10]
  1095  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1096  		ms.StoreMessageInfo(mi)
  1097  	}
  1098  }
  1099  
  1100  func (x *PollState_GCEAuth) String() string {
  1101  	return protoimpl.X.MessageStringOf(x)
  1102  }
  1103  
  1104  func (*PollState_GCEAuth) ProtoMessage() {}
  1105  
  1106  func (x *PollState_GCEAuth) ProtoReflect() protoreflect.Message {
  1107  	mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[10]
  1108  	if protoimpl.UnsafeEnabled && x != nil {
  1109  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1110  		if ms.LoadMessageInfo() == nil {
  1111  			ms.StoreMessageInfo(mi)
  1112  		}
  1113  		return ms
  1114  	}
  1115  	return mi.MessageOf(x)
  1116  }
  1117  
  1118  // Deprecated: Use PollState_GCEAuth.ProtoReflect.Descriptor instead.
  1119  func (*PollState_GCEAuth) Descriptor() ([]byte, []int) {
  1120  	return file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescGZIP(), []int{1, 2}
  1121  }
  1122  
  1123  func (x *PollState_GCEAuth) GetGceProject() string {
  1124  	if x != nil {
  1125  		return x.GceProject
  1126  	}
  1127  	return ""
  1128  }
  1129  
  1130  func (x *PollState_GCEAuth) GetGceInstance() string {
  1131  	if x != nil {
  1132  		return x.GceInstance
  1133  	}
  1134  	return ""
  1135  }
  1136  
  1137  // If set, use `Authorization` header with OAuth2 access tokens for auth.
  1138  //
  1139  // The token should have "https://www.googleapis.com/auth/userinfo.email"
  1140  // scope and belong to the given service account.
  1141  type PollState_ServiceAccountAuth struct {
  1142  	state         protoimpl.MessageState
  1143  	sizeCache     protoimpl.SizeCache
  1144  	unknownFields protoimpl.UnknownFields
  1145  
  1146  	ServiceAccount string `protobuf:"bytes,1,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
  1147  }
  1148  
  1149  func (x *PollState_ServiceAccountAuth) Reset() {
  1150  	*x = PollState_ServiceAccountAuth{}
  1151  	if protoimpl.UnsafeEnabled {
  1152  		mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[11]
  1153  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1154  		ms.StoreMessageInfo(mi)
  1155  	}
  1156  }
  1157  
  1158  func (x *PollState_ServiceAccountAuth) String() string {
  1159  	return protoimpl.X.MessageStringOf(x)
  1160  }
  1161  
  1162  func (*PollState_ServiceAccountAuth) ProtoMessage() {}
  1163  
  1164  func (x *PollState_ServiceAccountAuth) ProtoReflect() protoreflect.Message {
  1165  	mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[11]
  1166  	if protoimpl.UnsafeEnabled && x != nil {
  1167  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1168  		if ms.LoadMessageInfo() == nil {
  1169  			ms.StoreMessageInfo(mi)
  1170  		}
  1171  		return ms
  1172  	}
  1173  	return mi.MessageOf(x)
  1174  }
  1175  
  1176  // Deprecated: Use PollState_ServiceAccountAuth.ProtoReflect.Descriptor instead.
  1177  func (*PollState_ServiceAccountAuth) Descriptor() ([]byte, []int) {
  1178  	return file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescGZIP(), []int{1, 3}
  1179  }
  1180  
  1181  func (x *PollState_ServiceAccountAuth) GetServiceAccount() string {
  1182  	if x != nil {
  1183  		return x.ServiceAccount
  1184  	}
  1185  	return ""
  1186  }
  1187  
  1188  // If set, use `X-Luci-Machine-Token` header with LUCI machine token.
  1189  //
  1190  // The token should have the corresponding FQDN in it.
  1191  type PollState_LUCIMachineTokenAuth struct {
  1192  	state         protoimpl.MessageState
  1193  	sizeCache     protoimpl.SizeCache
  1194  	unknownFields protoimpl.UnknownFields
  1195  
  1196  	MachineFqdn string `protobuf:"bytes,1,opt,name=machine_fqdn,json=machineFqdn,proto3" json:"machine_fqdn,omitempty"`
  1197  }
  1198  
  1199  func (x *PollState_LUCIMachineTokenAuth) Reset() {
  1200  	*x = PollState_LUCIMachineTokenAuth{}
  1201  	if protoimpl.UnsafeEnabled {
  1202  		mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[12]
  1203  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1204  		ms.StoreMessageInfo(mi)
  1205  	}
  1206  }
  1207  
  1208  func (x *PollState_LUCIMachineTokenAuth) String() string {
  1209  	return protoimpl.X.MessageStringOf(x)
  1210  }
  1211  
  1212  func (*PollState_LUCIMachineTokenAuth) ProtoMessage() {}
  1213  
  1214  func (x *PollState_LUCIMachineTokenAuth) ProtoReflect() protoreflect.Message {
  1215  	mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[12]
  1216  	if protoimpl.UnsafeEnabled && x != nil {
  1217  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1218  		if ms.LoadMessageInfo() == nil {
  1219  			ms.StoreMessageInfo(mi)
  1220  		}
  1221  		return ms
  1222  	}
  1223  	return mi.MessageOf(x)
  1224  }
  1225  
  1226  // Deprecated: Use PollState_LUCIMachineTokenAuth.ProtoReflect.Descriptor instead.
  1227  func (*PollState_LUCIMachineTokenAuth) Descriptor() ([]byte, []int) {
  1228  	return file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescGZIP(), []int{1, 4}
  1229  }
  1230  
  1231  func (x *PollState_LUCIMachineTokenAuth) GetMachineFqdn() string {
  1232  	if x != nil {
  1233  		return x.MachineFqdn
  1234  	}
  1235  	return ""
  1236  }
  1237  
  1238  // If set, use only `ip_allowlist` field for auth (see below).
  1239  type PollState_IPAllowlistAuth struct {
  1240  	state         protoimpl.MessageState
  1241  	sizeCache     protoimpl.SizeCache
  1242  	unknownFields protoimpl.UnknownFields
  1243  }
  1244  
  1245  func (x *PollState_IPAllowlistAuth) Reset() {
  1246  	*x = PollState_IPAllowlistAuth{}
  1247  	if protoimpl.UnsafeEnabled {
  1248  		mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[13]
  1249  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1250  		ms.StoreMessageInfo(mi)
  1251  	}
  1252  }
  1253  
  1254  func (x *PollState_IPAllowlistAuth) String() string {
  1255  	return protoimpl.X.MessageStringOf(x)
  1256  }
  1257  
  1258  func (*PollState_IPAllowlistAuth) ProtoMessage() {}
  1259  
  1260  func (x *PollState_IPAllowlistAuth) ProtoReflect() protoreflect.Message {
  1261  	mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[13]
  1262  	if protoimpl.UnsafeEnabled && x != nil {
  1263  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1264  		if ms.LoadMessageInfo() == nil {
  1265  			ms.StoreMessageInfo(mi)
  1266  		}
  1267  		return ms
  1268  	}
  1269  	return mi.MessageOf(x)
  1270  }
  1271  
  1272  // Deprecated: Use PollState_IPAllowlistAuth.ProtoReflect.Descriptor instead.
  1273  func (*PollState_IPAllowlistAuth) Descriptor() ([]byte, []int) {
  1274  	return file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescGZIP(), []int{1, 5}
  1275  }
  1276  
  1277  // Constraints on dimensions reported by a matching bot (ANDed together).
  1278  type EnqueueRBETask_Constraint struct {
  1279  	state         protoimpl.MessageState
  1280  	sizeCache     protoimpl.SizeCache
  1281  	unknownFields protoimpl.UnknownFields
  1282  
  1283  	// The dimension key e.g. "python_version".
  1284  	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
  1285  	// Allowed dimension values to satisfy the constraint, e.g. ["3.8", "3.9"].
  1286  	AllowedValues []string `protobuf:"bytes,2,rep,name=allowed_values,json=allowedValues,proto3" json:"allowed_values,omitempty"`
  1287  }
  1288  
  1289  func (x *EnqueueRBETask_Constraint) Reset() {
  1290  	*x = EnqueueRBETask_Constraint{}
  1291  	if protoimpl.UnsafeEnabled {
  1292  		mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[14]
  1293  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1294  		ms.StoreMessageInfo(mi)
  1295  	}
  1296  }
  1297  
  1298  func (x *EnqueueRBETask_Constraint) String() string {
  1299  	return protoimpl.X.MessageStringOf(x)
  1300  }
  1301  
  1302  func (*EnqueueRBETask_Constraint) ProtoMessage() {}
  1303  
  1304  func (x *EnqueueRBETask_Constraint) ProtoReflect() protoreflect.Message {
  1305  	mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[14]
  1306  	if protoimpl.UnsafeEnabled && x != nil {
  1307  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1308  		if ms.LoadMessageInfo() == nil {
  1309  			ms.StoreMessageInfo(mi)
  1310  		}
  1311  		return ms
  1312  	}
  1313  	return mi.MessageOf(x)
  1314  }
  1315  
  1316  // Deprecated: Use EnqueueRBETask_Constraint.ProtoReflect.Descriptor instead.
  1317  func (*EnqueueRBETask_Constraint) Descriptor() ([]byte, []int) {
  1318  	return file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescGZIP(), []int{3, 0}
  1319  }
  1320  
  1321  func (x *EnqueueRBETask_Constraint) GetKey() string {
  1322  	if x != nil {
  1323  		return x.Key
  1324  	}
  1325  	return ""
  1326  }
  1327  
  1328  func (x *EnqueueRBETask_Constraint) GetAllowedValues() []string {
  1329  	if x != nil {
  1330  		return x.AllowedValues
  1331  	}
  1332  	return nil
  1333  }
  1334  
  1335  // Optional information used for debugging and tracing purposes.
  1336  type CancelRBETask_DebugInfo struct {
  1337  	state         protoimpl.MessageState
  1338  	sizeCache     protoimpl.SizeCache
  1339  	unknownFields protoimpl.UnknownFields
  1340  
  1341  	Created           *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=created,proto3" json:"created,omitempty"`                                                // when this message was created
  1342  	PySwarmingVersion string                 `protobuf:"bytes,2,opt,name=py_swarming_version,json=pySwarmingVersion,proto3" json:"py_swarming_version,omitempty"` // version of the Python Swarming
  1343  	TaskName          string                 `protobuf:"bytes,3,opt,name=task_name,json=taskName,proto3" json:"task_name,omitempty"`                              // the user-supplied task name FYI
  1344  }
  1345  
  1346  func (x *CancelRBETask_DebugInfo) Reset() {
  1347  	*x = CancelRBETask_DebugInfo{}
  1348  	if protoimpl.UnsafeEnabled {
  1349  		mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[15]
  1350  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1351  		ms.StoreMessageInfo(mi)
  1352  	}
  1353  }
  1354  
  1355  func (x *CancelRBETask_DebugInfo) String() string {
  1356  	return protoimpl.X.MessageStringOf(x)
  1357  }
  1358  
  1359  func (*CancelRBETask_DebugInfo) ProtoMessage() {}
  1360  
  1361  func (x *CancelRBETask_DebugInfo) ProtoReflect() protoreflect.Message {
  1362  	mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[15]
  1363  	if protoimpl.UnsafeEnabled && x != nil {
  1364  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1365  		if ms.LoadMessageInfo() == nil {
  1366  			ms.StoreMessageInfo(mi)
  1367  		}
  1368  		return ms
  1369  	}
  1370  	return mi.MessageOf(x)
  1371  }
  1372  
  1373  // Deprecated: Use CancelRBETask_DebugInfo.ProtoReflect.Descriptor instead.
  1374  func (*CancelRBETask_DebugInfo) Descriptor() ([]byte, []int) {
  1375  	return file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescGZIP(), []int{4, 0}
  1376  }
  1377  
  1378  func (x *CancelRBETask_DebugInfo) GetCreated() *timestamppb.Timestamp {
  1379  	if x != nil {
  1380  		return x.Created
  1381  	}
  1382  	return nil
  1383  }
  1384  
  1385  func (x *CancelRBETask_DebugInfo) GetPySwarmingVersion() string {
  1386  	if x != nil {
  1387  		return x.PySwarmingVersion
  1388  	}
  1389  	return ""
  1390  }
  1391  
  1392  func (x *CancelRBETask_DebugInfo) GetTaskName() string {
  1393  	if x != nil {
  1394  		return x.TaskName
  1395  	}
  1396  	return ""
  1397  }
  1398  
  1399  // Optional information used for debugging and tracing purposes.
  1400  type TaskPayload_DebugInfo struct {
  1401  	state         protoimpl.MessageState
  1402  	sizeCache     protoimpl.SizeCache
  1403  	unknownFields protoimpl.UnknownFields
  1404  
  1405  	Created           *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=created,proto3" json:"created,omitempty"`                                                // when this message was created
  1406  	PySwarmingVersion string                 `protobuf:"bytes,2,opt,name=py_swarming_version,json=pySwarmingVersion,proto3" json:"py_swarming_version,omitempty"` // version of the Python Swarming
  1407  	GoSwarmingVersion string                 `protobuf:"bytes,3,opt,name=go_swarming_version,json=goSwarmingVersion,proto3" json:"go_swarming_version,omitempty"` // version of the Go Swarming
  1408  	TaskName          string                 `protobuf:"bytes,4,opt,name=task_name,json=taskName,proto3" json:"task_name,omitempty"`                              // the user-supplied task name FYI
  1409  }
  1410  
  1411  func (x *TaskPayload_DebugInfo) Reset() {
  1412  	*x = TaskPayload_DebugInfo{}
  1413  	if protoimpl.UnsafeEnabled {
  1414  		mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[16]
  1415  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1416  		ms.StoreMessageInfo(mi)
  1417  	}
  1418  }
  1419  
  1420  func (x *TaskPayload_DebugInfo) String() string {
  1421  	return protoimpl.X.MessageStringOf(x)
  1422  }
  1423  
  1424  func (*TaskPayload_DebugInfo) ProtoMessage() {}
  1425  
  1426  func (x *TaskPayload_DebugInfo) ProtoReflect() protoreflect.Message {
  1427  	mi := &file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[16]
  1428  	if protoimpl.UnsafeEnabled && x != nil {
  1429  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1430  		if ms.LoadMessageInfo() == nil {
  1431  			ms.StoreMessageInfo(mi)
  1432  		}
  1433  		return ms
  1434  	}
  1435  	return mi.MessageOf(x)
  1436  }
  1437  
  1438  // Deprecated: Use TaskPayload_DebugInfo.ProtoReflect.Descriptor instead.
  1439  func (*TaskPayload_DebugInfo) Descriptor() ([]byte, []int) {
  1440  	return file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescGZIP(), []int{5, 0}
  1441  }
  1442  
  1443  func (x *TaskPayload_DebugInfo) GetCreated() *timestamppb.Timestamp {
  1444  	if x != nil {
  1445  		return x.Created
  1446  	}
  1447  	return nil
  1448  }
  1449  
  1450  func (x *TaskPayload_DebugInfo) GetPySwarmingVersion() string {
  1451  	if x != nil {
  1452  		return x.PySwarmingVersion
  1453  	}
  1454  	return ""
  1455  }
  1456  
  1457  func (x *TaskPayload_DebugInfo) GetGoSwarmingVersion() string {
  1458  	if x != nil {
  1459  		return x.GoSwarmingVersion
  1460  	}
  1461  	return ""
  1462  }
  1463  
  1464  func (x *TaskPayload_DebugInfo) GetTaskName() string {
  1465  	if x != nil {
  1466  		return x.TaskName
  1467  	}
  1468  	return ""
  1469  }
  1470  
  1471  var File_go_chromium_org_luci_swarming_proto_internals_rbe_proto protoreflect.FileDescriptor
  1472  
  1473  var file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDesc = []byte{
  1474  	0x0a, 0x37, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
  1475  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2f,
  1476  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x73, 0x2f,
  1477  	0x72, 0x62, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x73, 0x77, 0x61, 0x72, 0x6d,
  1478  	0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x73, 0x2e, 0x72, 0x62,
  1479  	0x65, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  1480  	0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  1481  	0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  1482  	0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f,
  1483  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
  1484  	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
  1485  	0x36, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67,
  1486  	0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x70,
  1487  	0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x70, 0x6f, 0x6f, 0x6c,
  1488  	0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xee, 0x01, 0x0a, 0x0d, 0x54, 0x61, 0x67, 0x67,
  1489  	0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x54, 0x0a, 0x0c, 0x70, 0x61, 0x79,
  1490  	0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
  1491  	0x31, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72,
  1492  	0x6e, 0x61, 0x6c, 0x73, 0x2e, 0x72, 0x62, 0x65, 0x2e, 0x54, 0x61, 0x67, 0x67, 0x65, 0x64, 0x4d,
  1493  	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x79,
  1494  	0x70, 0x65, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12,
  1495  	0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c,
  1496  	0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x68, 0x6d, 0x61,
  1497  	0x63, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a,
  1498  	0x68, 0x6d, 0x61, 0x63, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x22, 0x4c, 0x0a, 0x0b, 0x50, 0x61,
  1499  	0x79, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x41, 0x59,
  1500  	0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
  1501  	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x4f, 0x4c, 0x4c, 0x5f,
  1502  	0x53, 0x54, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x42, 0x4f, 0x54, 0x5f, 0x53,
  1503  	0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x22, 0xf3, 0x08, 0x0a, 0x09, 0x50, 0x6f, 0x6c,
  1504  	0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
  1505  	0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x32, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79,
  1506  	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1507  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
  1508  	0x6d, 0x70, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x62,
  1509  	0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
  1510  	0x52, 0x0b, 0x72, 0x62, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x5c, 0x0a,
  1511  	0x13, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x5f, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73,
  1512  	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x77, 0x61,
  1513  	0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x73, 0x2e,
  1514  	0x72, 0x62, 0x65, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x44, 0x69,
  1515  	0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65,
  1516  	0x64, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4a, 0x0a, 0x0a, 0x64,
  1517  	0x65, 0x62, 0x75, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1518  	0x2b, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72,
  1519  	0x6e, 0x61, 0x6c, 0x73, 0x2e, 0x72, 0x62, 0x65, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x61,
  1520  	0x74, 0x65, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x09, 0x64, 0x65,
  1521  	0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x70, 0x5f, 0x61, 0x6c,
  1522  	0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69,
  1523  	0x70, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x08, 0x67, 0x63,
  1524  	0x65, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73,
  1525  	0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c,
  1526  	0x73, 0x2e, 0x72, 0x62, 0x65, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e,
  1527  	0x47, 0x43, 0x45, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x07, 0x67, 0x63, 0x65, 0x41, 0x75,
  1528  	0x74, 0x68, 0x12, 0x68, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63,
  1529  	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b,
  1530  	0x32, 0x34, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x74, 0x65,
  1531  	0x72, 0x6e, 0x61, 0x6c, 0x73, 0x2e, 0x72, 0x62, 0x65, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x53, 0x74,
  1532  	0x61, 0x74, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75,
  1533  	0x6e, 0x74, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x12, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
  1534  	0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x75, 0x74, 0x68, 0x12, 0x6f, 0x0a, 0x17,
  1535  	0x6c, 0x75, 0x63, 0x69, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x6f, 0x6b,
  1536  	0x65, 0x6e, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e,
  1537  	0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61,
  1538  	0x6c, 0x73, 0x2e, 0x72, 0x62, 0x65, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65,
  1539  	0x2e, 0x4c, 0x55, 0x43, 0x49, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x6f, 0x6b, 0x65,
  1540  	0x6e, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x14, 0x6c, 0x75, 0x63, 0x69, 0x4d, 0x61, 0x63,
  1541  	0x68, 0x69, 0x6e, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x75, 0x74, 0x68, 0x12, 0x5f, 0x0a,
  1542  	0x11, 0x69, 0x70, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x61, 0x75,
  1543  	0x74, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d,
  1544  	0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x73, 0x2e, 0x72, 0x62,
  1545  	0x65, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x49, 0x50, 0x41, 0x6c,
  1546  	0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x48, 0x00, 0x52, 0x0f, 0x69,
  1547  	0x70, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x1a, 0x35,
  1548  	0x0a, 0x09, 0x44, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6b,
  1549  	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a,
  1550  	0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76,
  1551  	0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x8b, 0x01, 0x0a, 0x09, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49,
  1552  	0x6e, 0x66, 0x6f, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01,
  1553  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  1554  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  1555  	0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x77, 0x61,
  1556  	0x72, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20,
  1557  	0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x56, 0x65, 0x72,
  1558  	0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f,
  1559  	0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
  1560  	0x74, 0x49, 0x64, 0x1a, 0x4d, 0x0a, 0x07, 0x47, 0x43, 0x45, 0x41, 0x75, 0x74, 0x68, 0x12, 0x1f,
  1561  	0x0a, 0x0b, 0x67, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20,
  1562  	0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12,
  1563  	0x21, 0x0a, 0x0c, 0x67, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18,
  1564  	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x67, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e,
  1565  	0x63, 0x65, 0x1a, 0x3d, 0x0a, 0x12, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63,
  1566  	0x6f, 0x75, 0x6e, 0x74, 0x41, 0x75, 0x74, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76,
  1567  	0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
  1568  	0x09, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
  1569  	0x74, 0x1a, 0x39, 0x0a, 0x14, 0x4c, 0x55, 0x43, 0x49, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65,
  1570  	0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x41, 0x75, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x63,
  1571  	0x68, 0x69, 0x6e, 0x65, 0x5f, 0x66, 0x71, 0x64, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  1572  	0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x46, 0x71, 0x64, 0x6e, 0x1a, 0x11, 0x0a, 0x0f,
  1573  	0x49, 0x50, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x42,
  1574  	0x0d, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x22, 0xaf,
  1575  	0x01, 0x0a, 0x0a, 0x42, 0x6f, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a,
  1576  	0x12, 0x72, 0x62, 0x65, 0x5f, 0x62, 0x6f, 0x74, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
  1577  	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x62, 0x65, 0x42, 0x6f,
  1578  	0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x0a, 0x70, 0x6f,
  1579  	0x6c, 0x6c, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21,
  1580  	0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e,
  1581  	0x61, 0x6c, 0x73, 0x2e, 0x72, 0x62, 0x65, 0x2e, 0x50, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74,
  1582  	0x65, 0x52, 0x09, 0x70, 0x6f, 0x6c, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x06,
  1583  	0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  1584  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
  1585  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79,
  1586  	0x22, 0xae, 0x04, 0x0a, 0x0e, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x52, 0x42, 0x45, 0x54,
  1587  	0x61, 0x73, 0x6b, 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01,
  1588  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e,
  1589  	0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x73, 0x2e, 0x72, 0x62, 0x65, 0x2e, 0x54, 0x61,
  1590  	0x73, 0x6b, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f,
  1591  	0x61, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x62, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e,
  1592  	0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x62, 0x65, 0x49, 0x6e, 0x73,
  1593  	0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18,
  1594  	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
  1595  	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
  1596  	0x70, 0x52, 0x06, 0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x12, 0x28, 0x0a, 0x10, 0x72, 0x65, 0x71,
  1597  	0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20,
  1598  	0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x42, 0x6f,
  1599  	0x74, 0x49, 0x64, 0x12, 0x53, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e,
  1600  	0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d,
  1601  	0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x73, 0x2e, 0x72, 0x62,
  1602  	0x65, 0x2e, 0x45, 0x6e, 0x71, 0x75, 0x65, 0x75, 0x65, 0x52, 0x42, 0x45, 0x54, 0x61, 0x73, 0x6b,
  1603  	0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x52, 0x0b, 0x63, 0x6f, 0x6e,
  1604  	0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f,
  1605  	0x72, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f,
  1606  	0x72, 0x69, 0x74, 0x79, 0x12, 0x5c, 0x0a, 0x14, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69,
  1607  	0x6e, 0x67, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x07, 0x20, 0x01,
  1608  	0x28, 0x0e, 0x32, 0x29, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f,
  1609  	0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x6f, 0x6f, 0x6c, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75,
  1610  	0x6c, 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x52, 0x13, 0x73,
  1611  	0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74,
  1612  	0x68, 0x6d, 0x12, 0x46, 0x0a, 0x11, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
  1613  	0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
  1614  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
  1615  	0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74,
  1616  	0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x1a, 0x45, 0x0a, 0x0a, 0x43, 0x6f,
  1617  	0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
  1618  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x6c,
  1619  	0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03,
  1620  	0x28, 0x09, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65,
  1621  	0x73, 0x22, 0xba, 0x02, 0x0a, 0x0d, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x52, 0x42, 0x45, 0x54,
  1622  	0x61, 0x73, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x62, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61,
  1623  	0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x62, 0x65, 0x49, 0x6e,
  1624  	0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76,
  1625  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
  1626  	0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x4e, 0x0a,
  1627  	0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28,
  1628  	0x0b, 0x32, 0x2f, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x74,
  1629  	0x65, 0x72, 0x6e, 0x61, 0x6c, 0x73, 0x2e, 0x72, 0x62, 0x65, 0x2e, 0x43, 0x61, 0x6e, 0x63, 0x65,
  1630  	0x6c, 0x52, 0x42, 0x45, 0x54, 0x61, 0x73, 0x6b, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e,
  1631  	0x66, 0x6f, 0x52, 0x09, 0x64, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x8e, 0x01,
  1632  	0x0a, 0x09, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x34, 0x0a, 0x07, 0x63,
  1633  	0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
  1634  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
  1635  	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
  1636  	0x64, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x79, 0x5f, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67,
  1637  	0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11,
  1638  	0x70, 0x79, 0x53, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
  1639  	0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03,
  1640  	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xe1,
  1641  	0x03, 0x0a, 0x0b, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x25,
  1642  	0x0a, 0x0e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
  1643  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74,
  1644  	0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69, 0x64,
  1645  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12, 0x1f,
  1646  	0x0a, 0x0b, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20,
  1647  	0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12,
  1648  	0x29, 0x0a, 0x11, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x73,
  1649  	0x68, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x73, 0x6b,
  1650  	0x54, 0x6f, 0x52, 0x75, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x23, 0x0a, 0x0e, 0x74, 0x61,
  1651  	0x73, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01,
  1652  	0x28, 0x03, 0x52, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x6f, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x12,
  1653  	0x4c, 0x0a, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20,
  1654  	0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x69,
  1655  	0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x73, 0x2e, 0x72, 0x62, 0x65, 0x2e, 0x54, 0x61, 0x73,
  1656  	0x6b, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e,
  1657  	0x66, 0x6f, 0x52, 0x09, 0x64, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a,
  1658  	0x04, 0x6e, 0x6f, 0x6f, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6e, 0x6f, 0x6f,
  1659  	0x70, 0x1a, 0xbe, 0x01, 0x0a, 0x09, 0x44, 0x65, 0x62, 0x75, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12,
  1660  	0x34, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
  1661  	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
  1662  	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72,
  1663  	0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x79, 0x5f, 0x73, 0x77, 0x61, 0x72,
  1664  	0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
  1665  	0x28, 0x09, 0x52, 0x11, 0x70, 0x79, 0x53, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x56, 0x65,
  1666  	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x67, 0x6f, 0x5f, 0x73, 0x77, 0x61, 0x72,
  1667  	0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01,
  1668  	0x28, 0x09, 0x52, 0x11, 0x67, 0x6f, 0x53, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x56, 0x65,
  1669  	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x6e, 0x61,
  1670  	0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x61, 0x73, 0x6b, 0x4e, 0x61,
  1671  	0x6d, 0x65, 0x22, 0x5b, 0x0a, 0x0a, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
  1672  	0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18,
  1673  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x69, 0x70, 0x52, 0x65, 0x61, 0x73, 0x6f,
  1674  	0x6e, 0x12, 0x2c, 0x0a, 0x12, 0x62, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61,
  1675  	0x6c, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x62,
  1676  	0x6f, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22,
  1677  	0xe8, 0x02, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x52,
  1678  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x69,
  1679  	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x73, 0x6b, 0x49, 0x64, 0x12,
  1680  	0x29, 0x0a, 0x11, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x73,
  1681  	0x68, 0x61, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x74, 0x61, 0x73, 0x6b,
  1682  	0x54, 0x6f, 0x52, 0x75, 0x6e, 0x53, 0x68, 0x61, 0x72, 0x64, 0x12, 0x23, 0x0a, 0x0e, 0x74, 0x61,
  1683  	0x73, 0x6b, 0x5f, 0x74, 0x6f, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
  1684  	0x28, 0x03, 0x52, 0x0b, 0x74, 0x61, 0x73, 0x6b, 0x54, 0x6f, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x12,
  1685  	0x49, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32,
  1686  	0x31, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72,
  1687  	0x6e, 0x61, 0x6c, 0x73, 0x2e, 0x72, 0x62, 0x65, 0x2e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x53,
  1688  	0x6c, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x52, 0x65, 0x61, 0x73,
  1689  	0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65,
  1690  	0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74,
  1691  	0x61, 0x69, 0x6c, 0x73, 0x22, 0x83, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12,
  1692  	0x16, 0x0a, 0x12, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
  1693  	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x4f, 0x5f, 0x52, 0x45,
  1694  	0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x45, 0x52, 0x4d,
  1695  	0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x4e, 0x49, 0x45, 0x44, 0x10, 0x02, 0x12,
  1696  	0x14, 0x0a, 0x10, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d,
  1697  	0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x42, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x54,
  1698  	0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x12, 0x0b, 0x0a,
  1699  	0x07, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x44, 0x10, 0x05, 0x32, 0x5e, 0x0a, 0x09, 0x49, 0x6e,
  1700  	0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x73, 0x12, 0x51, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x69, 0x72,
  1701  	0x65, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x12, 0x2a, 0x2e, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e,
  1702  	0x67, 0x2e, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x73, 0x2e, 0x72, 0x62, 0x65, 0x2e,
  1703  	0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x53, 0x6c, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
  1704  	0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
  1705  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x3b, 0x5a, 0x39, 0x67, 0x6f,
  1706  	0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75,
  1707  	0x63, 0x69, 0x2f, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74,
  1708  	0x6f, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x73, 0x3b, 0x69, 0x6e, 0x74, 0x65,
  1709  	0x72, 0x6e, 0x61, 0x6c, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1710  }
  1711  
  1712  var (
  1713  	file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescOnce sync.Once
  1714  	file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescData = file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDesc
  1715  )
  1716  
  1717  func file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescGZIP() []byte {
  1718  	file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescOnce.Do(func() {
  1719  		file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescData)
  1720  	})
  1721  	return file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDescData
  1722  }
  1723  
  1724  var file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
  1725  var file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes = make([]protoimpl.MessageInfo, 17)
  1726  var file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_goTypes = []interface{}{
  1727  	(TaggedMessage_PayloadType)(0),         // 0: swarming.internals.rbe.TaggedMessage.PayloadType
  1728  	(ExpireSliceRequest_Reason)(0),         // 1: swarming.internals.rbe.ExpireSliceRequest.Reason
  1729  	(*TaggedMessage)(nil),                  // 2: swarming.internals.rbe.TaggedMessage
  1730  	(*PollState)(nil),                      // 3: swarming.internals.rbe.PollState
  1731  	(*BotSession)(nil),                     // 4: swarming.internals.rbe.BotSession
  1732  	(*EnqueueRBETask)(nil),                 // 5: swarming.internals.rbe.EnqueueRBETask
  1733  	(*CancelRBETask)(nil),                  // 6: swarming.internals.rbe.CancelRBETask
  1734  	(*TaskPayload)(nil),                    // 7: swarming.internals.rbe.TaskPayload
  1735  	(*TaskResult)(nil),                     // 8: swarming.internals.rbe.TaskResult
  1736  	(*ExpireSliceRequest)(nil),             // 9: swarming.internals.rbe.ExpireSliceRequest
  1737  	(*PollState_Dimension)(nil),            // 10: swarming.internals.rbe.PollState.Dimension
  1738  	(*PollState_DebugInfo)(nil),            // 11: swarming.internals.rbe.PollState.DebugInfo
  1739  	(*PollState_GCEAuth)(nil),              // 12: swarming.internals.rbe.PollState.GCEAuth
  1740  	(*PollState_ServiceAccountAuth)(nil),   // 13: swarming.internals.rbe.PollState.ServiceAccountAuth
  1741  	(*PollState_LUCIMachineTokenAuth)(nil), // 14: swarming.internals.rbe.PollState.LUCIMachineTokenAuth
  1742  	(*PollState_IPAllowlistAuth)(nil),      // 15: swarming.internals.rbe.PollState.IPAllowlistAuth
  1743  	(*EnqueueRBETask_Constraint)(nil),      // 16: swarming.internals.rbe.EnqueueRBETask.Constraint
  1744  	(*CancelRBETask_DebugInfo)(nil),        // 17: swarming.internals.rbe.CancelRBETask.DebugInfo
  1745  	(*TaskPayload_DebugInfo)(nil),          // 18: swarming.internals.rbe.TaskPayload.DebugInfo
  1746  	(*timestamppb.Timestamp)(nil),          // 19: google.protobuf.Timestamp
  1747  	(config.Pool_SchedulingAlgorithm)(0),   // 20: swarming.config.Pool.SchedulingAlgorithm
  1748  	(*durationpb.Duration)(nil),            // 21: google.protobuf.Duration
  1749  	(*emptypb.Empty)(nil),                  // 22: google.protobuf.Empty
  1750  }
  1751  var file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_depIdxs = []int32{
  1752  	0,  // 0: swarming.internals.rbe.TaggedMessage.payload_type:type_name -> swarming.internals.rbe.TaggedMessage.PayloadType
  1753  	19, // 1: swarming.internals.rbe.PollState.expiry:type_name -> google.protobuf.Timestamp
  1754  	10, // 2: swarming.internals.rbe.PollState.enforced_dimensions:type_name -> swarming.internals.rbe.PollState.Dimension
  1755  	11, // 3: swarming.internals.rbe.PollState.debug_info:type_name -> swarming.internals.rbe.PollState.DebugInfo
  1756  	12, // 4: swarming.internals.rbe.PollState.gce_auth:type_name -> swarming.internals.rbe.PollState.GCEAuth
  1757  	13, // 5: swarming.internals.rbe.PollState.service_account_auth:type_name -> swarming.internals.rbe.PollState.ServiceAccountAuth
  1758  	14, // 6: swarming.internals.rbe.PollState.luci_machine_token_auth:type_name -> swarming.internals.rbe.PollState.LUCIMachineTokenAuth
  1759  	15, // 7: swarming.internals.rbe.PollState.ip_allowlist_auth:type_name -> swarming.internals.rbe.PollState.IPAllowlistAuth
  1760  	3,  // 8: swarming.internals.rbe.BotSession.poll_state:type_name -> swarming.internals.rbe.PollState
  1761  	19, // 9: swarming.internals.rbe.BotSession.expiry:type_name -> google.protobuf.Timestamp
  1762  	7,  // 10: swarming.internals.rbe.EnqueueRBETask.payload:type_name -> swarming.internals.rbe.TaskPayload
  1763  	19, // 11: swarming.internals.rbe.EnqueueRBETask.expiry:type_name -> google.protobuf.Timestamp
  1764  	16, // 12: swarming.internals.rbe.EnqueueRBETask.constraints:type_name -> swarming.internals.rbe.EnqueueRBETask.Constraint
  1765  	20, // 13: swarming.internals.rbe.EnqueueRBETask.scheduling_algorithm:type_name -> swarming.config.Pool.SchedulingAlgorithm
  1766  	21, // 14: swarming.internals.rbe.EnqueueRBETask.execution_timeout:type_name -> google.protobuf.Duration
  1767  	17, // 15: swarming.internals.rbe.CancelRBETask.debug_info:type_name -> swarming.internals.rbe.CancelRBETask.DebugInfo
  1768  	18, // 16: swarming.internals.rbe.TaskPayload.debug_info:type_name -> swarming.internals.rbe.TaskPayload.DebugInfo
  1769  	1,  // 17: swarming.internals.rbe.ExpireSliceRequest.reason:type_name -> swarming.internals.rbe.ExpireSliceRequest.Reason
  1770  	19, // 18: swarming.internals.rbe.PollState.DebugInfo.created:type_name -> google.protobuf.Timestamp
  1771  	19, // 19: swarming.internals.rbe.CancelRBETask.DebugInfo.created:type_name -> google.protobuf.Timestamp
  1772  	19, // 20: swarming.internals.rbe.TaskPayload.DebugInfo.created:type_name -> google.protobuf.Timestamp
  1773  	9,  // 21: swarming.internals.rbe.Internals.ExpireSlice:input_type -> swarming.internals.rbe.ExpireSliceRequest
  1774  	22, // 22: swarming.internals.rbe.Internals.ExpireSlice:output_type -> google.protobuf.Empty
  1775  	22, // [22:23] is the sub-list for method output_type
  1776  	21, // [21:22] is the sub-list for method input_type
  1777  	21, // [21:21] is the sub-list for extension type_name
  1778  	21, // [21:21] is the sub-list for extension extendee
  1779  	0,  // [0:21] is the sub-list for field type_name
  1780  }
  1781  
  1782  func init() { file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_init() }
  1783  func file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_init() {
  1784  	if File_go_chromium_org_luci_swarming_proto_internals_rbe_proto != nil {
  1785  		return
  1786  	}
  1787  	if !protoimpl.UnsafeEnabled {
  1788  		file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1789  			switch v := v.(*TaggedMessage); i {
  1790  			case 0:
  1791  				return &v.state
  1792  			case 1:
  1793  				return &v.sizeCache
  1794  			case 2:
  1795  				return &v.unknownFields
  1796  			default:
  1797  				return nil
  1798  			}
  1799  		}
  1800  		file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1801  			switch v := v.(*PollState); i {
  1802  			case 0:
  1803  				return &v.state
  1804  			case 1:
  1805  				return &v.sizeCache
  1806  			case 2:
  1807  				return &v.unknownFields
  1808  			default:
  1809  				return nil
  1810  			}
  1811  		}
  1812  		file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1813  			switch v := v.(*BotSession); i {
  1814  			case 0:
  1815  				return &v.state
  1816  			case 1:
  1817  				return &v.sizeCache
  1818  			case 2:
  1819  				return &v.unknownFields
  1820  			default:
  1821  				return nil
  1822  			}
  1823  		}
  1824  		file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1825  			switch v := v.(*EnqueueRBETask); i {
  1826  			case 0:
  1827  				return &v.state
  1828  			case 1:
  1829  				return &v.sizeCache
  1830  			case 2:
  1831  				return &v.unknownFields
  1832  			default:
  1833  				return nil
  1834  			}
  1835  		}
  1836  		file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1837  			switch v := v.(*CancelRBETask); i {
  1838  			case 0:
  1839  				return &v.state
  1840  			case 1:
  1841  				return &v.sizeCache
  1842  			case 2:
  1843  				return &v.unknownFields
  1844  			default:
  1845  				return nil
  1846  			}
  1847  		}
  1848  		file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1849  			switch v := v.(*TaskPayload); i {
  1850  			case 0:
  1851  				return &v.state
  1852  			case 1:
  1853  				return &v.sizeCache
  1854  			case 2:
  1855  				return &v.unknownFields
  1856  			default:
  1857  				return nil
  1858  			}
  1859  		}
  1860  		file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1861  			switch v := v.(*TaskResult); i {
  1862  			case 0:
  1863  				return &v.state
  1864  			case 1:
  1865  				return &v.sizeCache
  1866  			case 2:
  1867  				return &v.unknownFields
  1868  			default:
  1869  				return nil
  1870  			}
  1871  		}
  1872  		file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1873  			switch v := v.(*ExpireSliceRequest); i {
  1874  			case 0:
  1875  				return &v.state
  1876  			case 1:
  1877  				return &v.sizeCache
  1878  			case 2:
  1879  				return &v.unknownFields
  1880  			default:
  1881  				return nil
  1882  			}
  1883  		}
  1884  		file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1885  			switch v := v.(*PollState_Dimension); i {
  1886  			case 0:
  1887  				return &v.state
  1888  			case 1:
  1889  				return &v.sizeCache
  1890  			case 2:
  1891  				return &v.unknownFields
  1892  			default:
  1893  				return nil
  1894  			}
  1895  		}
  1896  		file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  1897  			switch v := v.(*PollState_DebugInfo); i {
  1898  			case 0:
  1899  				return &v.state
  1900  			case 1:
  1901  				return &v.sizeCache
  1902  			case 2:
  1903  				return &v.unknownFields
  1904  			default:
  1905  				return nil
  1906  			}
  1907  		}
  1908  		file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  1909  			switch v := v.(*PollState_GCEAuth); i {
  1910  			case 0:
  1911  				return &v.state
  1912  			case 1:
  1913  				return &v.sizeCache
  1914  			case 2:
  1915  				return &v.unknownFields
  1916  			default:
  1917  				return nil
  1918  			}
  1919  		}
  1920  		file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  1921  			switch v := v.(*PollState_ServiceAccountAuth); i {
  1922  			case 0:
  1923  				return &v.state
  1924  			case 1:
  1925  				return &v.sizeCache
  1926  			case 2:
  1927  				return &v.unknownFields
  1928  			default:
  1929  				return nil
  1930  			}
  1931  		}
  1932  		file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  1933  			switch v := v.(*PollState_LUCIMachineTokenAuth); i {
  1934  			case 0:
  1935  				return &v.state
  1936  			case 1:
  1937  				return &v.sizeCache
  1938  			case 2:
  1939  				return &v.unknownFields
  1940  			default:
  1941  				return nil
  1942  			}
  1943  		}
  1944  		file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  1945  			switch v := v.(*PollState_IPAllowlistAuth); i {
  1946  			case 0:
  1947  				return &v.state
  1948  			case 1:
  1949  				return &v.sizeCache
  1950  			case 2:
  1951  				return &v.unknownFields
  1952  			default:
  1953  				return nil
  1954  			}
  1955  		}
  1956  		file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  1957  			switch v := v.(*EnqueueRBETask_Constraint); i {
  1958  			case 0:
  1959  				return &v.state
  1960  			case 1:
  1961  				return &v.sizeCache
  1962  			case 2:
  1963  				return &v.unknownFields
  1964  			default:
  1965  				return nil
  1966  			}
  1967  		}
  1968  		file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  1969  			switch v := v.(*CancelRBETask_DebugInfo); i {
  1970  			case 0:
  1971  				return &v.state
  1972  			case 1:
  1973  				return &v.sizeCache
  1974  			case 2:
  1975  				return &v.unknownFields
  1976  			default:
  1977  				return nil
  1978  			}
  1979  		}
  1980  		file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  1981  			switch v := v.(*TaskPayload_DebugInfo); i {
  1982  			case 0:
  1983  				return &v.state
  1984  			case 1:
  1985  				return &v.sizeCache
  1986  			case 2:
  1987  				return &v.unknownFields
  1988  			default:
  1989  				return nil
  1990  			}
  1991  		}
  1992  	}
  1993  	file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes[1].OneofWrappers = []interface{}{
  1994  		(*PollState_GceAuth)(nil),
  1995  		(*PollState_ServiceAccountAuth_)(nil),
  1996  		(*PollState_LuciMachineTokenAuth)(nil),
  1997  		(*PollState_IpAllowlistAuth)(nil),
  1998  	}
  1999  	type x struct{}
  2000  	out := protoimpl.TypeBuilder{
  2001  		File: protoimpl.DescBuilder{
  2002  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  2003  			RawDescriptor: file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDesc,
  2004  			NumEnums:      2,
  2005  			NumMessages:   17,
  2006  			NumExtensions: 0,
  2007  			NumServices:   1,
  2008  		},
  2009  		GoTypes:           file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_goTypes,
  2010  		DependencyIndexes: file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_depIdxs,
  2011  		EnumInfos:         file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_enumTypes,
  2012  		MessageInfos:      file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_msgTypes,
  2013  	}.Build()
  2014  	File_go_chromium_org_luci_swarming_proto_internals_rbe_proto = out.File
  2015  	file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_rawDesc = nil
  2016  	file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_goTypes = nil
  2017  	file_go_chromium_org_luci_swarming_proto_internals_rbe_proto_depIdxs = nil
  2018  }