go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/tree_status/proto/v1/tree_status.pb.go (about)

     1  // Copyright 2023 The LUCI Authors.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //      http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.31.0
    18  // 	protoc        v3.21.7
    19  // source: go.chromium.org/luci/tree_status/proto/v1/tree_status.proto
    20  
    21  package v1
    22  
    23  import prpc "go.chromium.org/luci/grpc/prpc"
    24  
    25  import (
    26  	context "context"
    27  	_ "google.golang.org/genproto/googleapis/api/annotations"
    28  	grpc "google.golang.org/grpc"
    29  	codes "google.golang.org/grpc/codes"
    30  	status "google.golang.org/grpc/status"
    31  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    32  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    33  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    34  	reflect "reflect"
    35  	sync "sync"
    36  )
    37  
    38  const (
    39  	// Verify that this generated code is sufficiently up-to-date.
    40  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    41  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    42  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    43  )
    44  
    45  // GeneralState are the possible states for a tree to be in.
    46  type GeneralState int32
    47  
    48  const (
    49  	// GeneralState was not specified.
    50  	// This should not be used, it is the default value for an unset field.
    51  	GeneralState_GENERAL_STATE_UNSPECIFIED GeneralState = 0
    52  	// The tree is open and accepting new commits.
    53  	GeneralState_OPEN GeneralState = 1
    54  	// The tree is closed, no new commits are currently being accepted.
    55  	GeneralState_CLOSED GeneralState = 2
    56  	// The tree is throttled.  The meaning of this state can vary by project,
    57  	// but generally it is between the open and closed states.
    58  	GeneralState_THROTTLED GeneralState = 3
    59  	// The tree is in maintenance.  Generally CLs will not be accepted while the
    60  	// tree is in this state.
    61  	GeneralState_MAINTENANCE GeneralState = 4
    62  )
    63  
    64  // Enum value maps for GeneralState.
    65  var (
    66  	GeneralState_name = map[int32]string{
    67  		0: "GENERAL_STATE_UNSPECIFIED",
    68  		1: "OPEN",
    69  		2: "CLOSED",
    70  		3: "THROTTLED",
    71  		4: "MAINTENANCE",
    72  	}
    73  	GeneralState_value = map[string]int32{
    74  		"GENERAL_STATE_UNSPECIFIED": 0,
    75  		"OPEN":                      1,
    76  		"CLOSED":                    2,
    77  		"THROTTLED":                 3,
    78  		"MAINTENANCE":               4,
    79  	}
    80  )
    81  
    82  func (x GeneralState) Enum() *GeneralState {
    83  	p := new(GeneralState)
    84  	*p = x
    85  	return p
    86  }
    87  
    88  func (x GeneralState) String() string {
    89  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    90  }
    91  
    92  func (GeneralState) Descriptor() protoreflect.EnumDescriptor {
    93  	return file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_enumTypes[0].Descriptor()
    94  }
    95  
    96  func (GeneralState) Type() protoreflect.EnumType {
    97  	return &file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_enumTypes[0]
    98  }
    99  
   100  func (x GeneralState) Number() protoreflect.EnumNumber {
   101  	return protoreflect.EnumNumber(x)
   102  }
   103  
   104  // Deprecated: Use GeneralState.Descriptor instead.
   105  func (GeneralState) EnumDescriptor() ([]byte, []int) {
   106  	return file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_rawDescGZIP(), []int{0}
   107  }
   108  
   109  type GetStatusRequest struct {
   110  	state         protoimpl.MessageState
   111  	sizeCache     protoimpl.SizeCache
   112  	unknownFields protoimpl.UnknownFields
   113  
   114  	// The status value to get.
   115  	//
   116  	// You can use 'latest' as the id to get the latest status for a tree,
   117  	// i.e. set the name to 'trees/{tree}/status/latest'.
   118  	//
   119  	// If you request the 'latest' status and no status updates are in the
   120  	// database (possibly due to the 140 day TTL), a fallback status will
   121  	// be returned with general_state OPEN.  You can tell that the fallback
   122  	// status was returned by checking the name which will be
   123  	// 'trees/{tree}/status/fallback', which is otherwise not a valid name.
   124  	//
   125  	// Format: trees/{tree}/status/{id}
   126  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   127  }
   128  
   129  func (x *GetStatusRequest) Reset() {
   130  	*x = GetStatusRequest{}
   131  	if protoimpl.UnsafeEnabled {
   132  		mi := &file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_msgTypes[0]
   133  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   134  		ms.StoreMessageInfo(mi)
   135  	}
   136  }
   137  
   138  func (x *GetStatusRequest) String() string {
   139  	return protoimpl.X.MessageStringOf(x)
   140  }
   141  
   142  func (*GetStatusRequest) ProtoMessage() {}
   143  
   144  func (x *GetStatusRequest) ProtoReflect() protoreflect.Message {
   145  	mi := &file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_msgTypes[0]
   146  	if protoimpl.UnsafeEnabled && x != nil {
   147  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   148  		if ms.LoadMessageInfo() == nil {
   149  			ms.StoreMessageInfo(mi)
   150  		}
   151  		return ms
   152  	}
   153  	return mi.MessageOf(x)
   154  }
   155  
   156  // Deprecated: Use GetStatusRequest.ProtoReflect.Descriptor instead.
   157  func (*GetStatusRequest) Descriptor() ([]byte, []int) {
   158  	return file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_rawDescGZIP(), []int{0}
   159  }
   160  
   161  func (x *GetStatusRequest) GetName() string {
   162  	if x != nil {
   163  		return x.Name
   164  	}
   165  	return ""
   166  }
   167  
   168  // The Status of a tree for an interval of time.
   169  type Status struct {
   170  	state         protoimpl.MessageState
   171  	sizeCache     protoimpl.SizeCache
   172  	unknownFields protoimpl.UnknownFields
   173  
   174  	// The name of this status.
   175  	// Format: trees/{tree}/status/{id}
   176  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   177  	// The general state of the tree.  Possible values are open, closed, throttled
   178  	// and maintenance.
   179  	GeneralState GeneralState `protobuf:"varint,2,opt,name=general_state,json=generalState,proto3,enum=luci.tree_status.v1.GeneralState" json:"general_state,omitempty"`
   180  	// The message explaining details about the status.  This may contain HTML,
   181  	// it is the responsibility of the caller to sanitize the HTML before display.
   182  	// Maximum length of 1024 bytes.  Must be a valid UTF-8 string in normalized form
   183  	// C without any non-printable runes.
   184  	Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
   185  	// The email address of the user who added this.  May be empty if
   186  	// the reader does not have permission to see personal data.  Will also be
   187  	// set to 'user' after the user data TTL (of 30 days).
   188  	CreateUser string `protobuf:"bytes,4,opt,name=create_user,json=createUser,proto3" json:"create_user,omitempty"`
   189  	// The time the status update was made.
   190  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
   191  }
   192  
   193  func (x *Status) Reset() {
   194  	*x = Status{}
   195  	if protoimpl.UnsafeEnabled {
   196  		mi := &file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_msgTypes[1]
   197  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   198  		ms.StoreMessageInfo(mi)
   199  	}
   200  }
   201  
   202  func (x *Status) String() string {
   203  	return protoimpl.X.MessageStringOf(x)
   204  }
   205  
   206  func (*Status) ProtoMessage() {}
   207  
   208  func (x *Status) ProtoReflect() protoreflect.Message {
   209  	mi := &file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_msgTypes[1]
   210  	if protoimpl.UnsafeEnabled && x != nil {
   211  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   212  		if ms.LoadMessageInfo() == nil {
   213  			ms.StoreMessageInfo(mi)
   214  		}
   215  		return ms
   216  	}
   217  	return mi.MessageOf(x)
   218  }
   219  
   220  // Deprecated: Use Status.ProtoReflect.Descriptor instead.
   221  func (*Status) Descriptor() ([]byte, []int) {
   222  	return file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_rawDescGZIP(), []int{1}
   223  }
   224  
   225  func (x *Status) GetName() string {
   226  	if x != nil {
   227  		return x.Name
   228  	}
   229  	return ""
   230  }
   231  
   232  func (x *Status) GetGeneralState() GeneralState {
   233  	if x != nil {
   234  		return x.GeneralState
   235  	}
   236  	return GeneralState_GENERAL_STATE_UNSPECIFIED
   237  }
   238  
   239  func (x *Status) GetMessage() string {
   240  	if x != nil {
   241  		return x.Message
   242  	}
   243  	return ""
   244  }
   245  
   246  func (x *Status) GetCreateUser() string {
   247  	if x != nil {
   248  		return x.CreateUser
   249  	}
   250  	return ""
   251  }
   252  
   253  func (x *Status) GetCreateTime() *timestamppb.Timestamp {
   254  	if x != nil {
   255  		return x.CreateTime
   256  	}
   257  	return nil
   258  }
   259  
   260  type ListStatusRequest struct {
   261  	state         protoimpl.MessageState
   262  	sizeCache     protoimpl.SizeCache
   263  	unknownFields protoimpl.UnknownFields
   264  
   265  	// The parent tree which the status values belongs to.
   266  	// Format: trees/{tree}/status
   267  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   268  	// The maximum number of status values to return. The service may return fewer
   269  	// than this value. If unspecified, at most 50 status values will be returned.
   270  	// The maximum value is 1000; values above 1000 will be coerced to 1000.
   271  	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
   272  	// A page token, received from a previous `ListStatus` call.
   273  	// Provide this to retrieve the subsequent page.
   274  	//
   275  	// When paginating, all other parameters provided to `ListStatus` must match
   276  	// the call that provided the page token.
   277  	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
   278  }
   279  
   280  func (x *ListStatusRequest) Reset() {
   281  	*x = ListStatusRequest{}
   282  	if protoimpl.UnsafeEnabled {
   283  		mi := &file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_msgTypes[2]
   284  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   285  		ms.StoreMessageInfo(mi)
   286  	}
   287  }
   288  
   289  func (x *ListStatusRequest) String() string {
   290  	return protoimpl.X.MessageStringOf(x)
   291  }
   292  
   293  func (*ListStatusRequest) ProtoMessage() {}
   294  
   295  func (x *ListStatusRequest) ProtoReflect() protoreflect.Message {
   296  	mi := &file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_msgTypes[2]
   297  	if protoimpl.UnsafeEnabled && x != nil {
   298  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   299  		if ms.LoadMessageInfo() == nil {
   300  			ms.StoreMessageInfo(mi)
   301  		}
   302  		return ms
   303  	}
   304  	return mi.MessageOf(x)
   305  }
   306  
   307  // Deprecated: Use ListStatusRequest.ProtoReflect.Descriptor instead.
   308  func (*ListStatusRequest) Descriptor() ([]byte, []int) {
   309  	return file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_rawDescGZIP(), []int{2}
   310  }
   311  
   312  func (x *ListStatusRequest) GetParent() string {
   313  	if x != nil {
   314  		return x.Parent
   315  	}
   316  	return ""
   317  }
   318  
   319  func (x *ListStatusRequest) GetPageSize() int32 {
   320  	if x != nil {
   321  		return x.PageSize
   322  	}
   323  	return 0
   324  }
   325  
   326  func (x *ListStatusRequest) GetPageToken() string {
   327  	if x != nil {
   328  		return x.PageToken
   329  	}
   330  	return ""
   331  }
   332  
   333  type ListStatusResponse struct {
   334  	state         protoimpl.MessageState
   335  	sizeCache     protoimpl.SizeCache
   336  	unknownFields protoimpl.UnknownFields
   337  
   338  	// The status values of the tree.
   339  	Status []*Status `protobuf:"bytes,1,rep,name=status,proto3" json:"status,omitempty"`
   340  	// A token, which can be sent as `page_token` to retrieve the next page.
   341  	// If this field is omitted, there are no subsequent pages.
   342  	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
   343  }
   344  
   345  func (x *ListStatusResponse) Reset() {
   346  	*x = ListStatusResponse{}
   347  	if protoimpl.UnsafeEnabled {
   348  		mi := &file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_msgTypes[3]
   349  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   350  		ms.StoreMessageInfo(mi)
   351  	}
   352  }
   353  
   354  func (x *ListStatusResponse) String() string {
   355  	return protoimpl.X.MessageStringOf(x)
   356  }
   357  
   358  func (*ListStatusResponse) ProtoMessage() {}
   359  
   360  func (x *ListStatusResponse) ProtoReflect() protoreflect.Message {
   361  	mi := &file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_msgTypes[3]
   362  	if protoimpl.UnsafeEnabled && x != nil {
   363  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   364  		if ms.LoadMessageInfo() == nil {
   365  			ms.StoreMessageInfo(mi)
   366  		}
   367  		return ms
   368  	}
   369  	return mi.MessageOf(x)
   370  }
   371  
   372  // Deprecated: Use ListStatusResponse.ProtoReflect.Descriptor instead.
   373  func (*ListStatusResponse) Descriptor() ([]byte, []int) {
   374  	return file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_rawDescGZIP(), []int{3}
   375  }
   376  
   377  func (x *ListStatusResponse) GetStatus() []*Status {
   378  	if x != nil {
   379  		return x.Status
   380  	}
   381  	return nil
   382  }
   383  
   384  func (x *ListStatusResponse) GetNextPageToken() string {
   385  	if x != nil {
   386  		return x.NextPageToken
   387  	}
   388  	return ""
   389  }
   390  
   391  type CreateStatusRequest struct {
   392  	state         protoimpl.MessageState
   393  	sizeCache     protoimpl.SizeCache
   394  	unknownFields protoimpl.UnknownFields
   395  
   396  	// The parent tree which the status values belongs to.
   397  	// Format: trees/{tree}/status
   398  	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
   399  	// The status to create.
   400  	// Only the general state and message fields can be provided, the current date
   401  	// will be used for the date and the RPC caller will be used for the username.
   402  	Status *Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
   403  }
   404  
   405  func (x *CreateStatusRequest) Reset() {
   406  	*x = CreateStatusRequest{}
   407  	if protoimpl.UnsafeEnabled {
   408  		mi := &file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_msgTypes[4]
   409  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   410  		ms.StoreMessageInfo(mi)
   411  	}
   412  }
   413  
   414  func (x *CreateStatusRequest) String() string {
   415  	return protoimpl.X.MessageStringOf(x)
   416  }
   417  
   418  func (*CreateStatusRequest) ProtoMessage() {}
   419  
   420  func (x *CreateStatusRequest) ProtoReflect() protoreflect.Message {
   421  	mi := &file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_msgTypes[4]
   422  	if protoimpl.UnsafeEnabled && x != nil {
   423  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   424  		if ms.LoadMessageInfo() == nil {
   425  			ms.StoreMessageInfo(mi)
   426  		}
   427  		return ms
   428  	}
   429  	return mi.MessageOf(x)
   430  }
   431  
   432  // Deprecated: Use CreateStatusRequest.ProtoReflect.Descriptor instead.
   433  func (*CreateStatusRequest) Descriptor() ([]byte, []int) {
   434  	return file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_rawDescGZIP(), []int{4}
   435  }
   436  
   437  func (x *CreateStatusRequest) GetParent() string {
   438  	if x != nil {
   439  		return x.Parent
   440  	}
   441  	return ""
   442  }
   443  
   444  func (x *CreateStatusRequest) GetStatus() *Status {
   445  	if x != nil {
   446  		return x.Status
   447  	}
   448  	return nil
   449  }
   450  
   451  var File_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto protoreflect.FileDescriptor
   452  
   453  var file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_rawDesc = []byte{
   454  	0x0a, 0x3b, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
   455  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74,
   456  	0x75, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x65, 0x65,
   457  	0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x6c,
   458  	0x75, 0x63, 0x69, 0x2e, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e,
   459  	0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66,
   460  	0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72,
   461  	0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
   462  	0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70,
   463  	0x72, 0x6f, 0x74, 0x6f, 0x22, 0x26, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75,
   464  	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
   465  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xee, 0x01, 0x0a,
   466  	0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
   467  	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e,
   468  	0x61, 0x6d, 0x65, 0x12, 0x46, 0x0a, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x5f, 0x73,
   469  	0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6c, 0x75, 0x63,
   470  	0x69, 0x2e, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x31,
   471  	0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0c, 0x67,
   472  	0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d,
   473  	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65,
   474  	0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f,
   475  	0x75, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
   476  	0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x40, 0x0a, 0x0b, 0x63,
   477  	0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
   478  	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
   479  	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41,
   480  	0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x67, 0x0a,
   481  	0x11, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
   482  	0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
   483  	0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61,
   484  	0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70,
   485  	0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f,
   486  	0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67,
   487  	0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x71, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74,
   488  	0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x06,
   489  	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c,
   490  	0x75, 0x63, 0x69, 0x2e, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e,
   491  	0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,
   492  	0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74,
   493  	0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74,
   494  	0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x62, 0x0a, 0x13, 0x43, 0x72, 0x65,
   495  	0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
   496  	0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
   497  	0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74,
   498  	0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e,
   499  	0x74, 0x72, 0x65, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53,
   500  	0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2a, 0x63, 0x0a,
   501  	0x0c, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1d, 0x0a,
   502  	0x19, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55,
   503  	0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04,
   504  	0x4f, 0x50, 0x45, 0x4e, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4c, 0x4f, 0x53, 0x45, 0x44,
   505  	0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x48, 0x52, 0x4f, 0x54, 0x54, 0x4c, 0x45, 0x44, 0x10,
   506  	0x03, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x41, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x41, 0x4e, 0x43, 0x45,
   507  	0x10, 0x04, 0x32, 0x99, 0x02, 0x0a, 0x0a, 0x54, 0x72, 0x65, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75,
   508  	0x73, 0x12, 0x5f, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
   509  	0x26, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74,
   510  	0x75, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
   511  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x74,
   512  	0x72, 0x65, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69,
   513  	0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
   514  	0x22, 0x00, 0x12, 0x51, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12,
   515  	0x25, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74,
   516  	0x75, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
   517  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x74, 0x72,
   518  	0x65, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61,
   519  	0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x57, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53,
   520  	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x74, 0x72, 0x65,
   521  	0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61,
   522  	0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
   523  	0x1b, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74,
   524  	0x75, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x00, 0x42, 0x2b,
   525  	0x5a, 0x29, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
   526  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74,
   527  	0x75, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f,
   528  	0x74, 0x6f, 0x33,
   529  }
   530  
   531  var (
   532  	file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_rawDescOnce sync.Once
   533  	file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_rawDescData = file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_rawDesc
   534  )
   535  
   536  func file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_rawDescGZIP() []byte {
   537  	file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_rawDescOnce.Do(func() {
   538  		file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_rawDescData)
   539  	})
   540  	return file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_rawDescData
   541  }
   542  
   543  var file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
   544  var file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
   545  var file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_goTypes = []interface{}{
   546  	(GeneralState)(0),             // 0: luci.tree_status.v1.GeneralState
   547  	(*GetStatusRequest)(nil),      // 1: luci.tree_status.v1.GetStatusRequest
   548  	(*Status)(nil),                // 2: luci.tree_status.v1.Status
   549  	(*ListStatusRequest)(nil),     // 3: luci.tree_status.v1.ListStatusRequest
   550  	(*ListStatusResponse)(nil),    // 4: luci.tree_status.v1.ListStatusResponse
   551  	(*CreateStatusRequest)(nil),   // 5: luci.tree_status.v1.CreateStatusRequest
   552  	(*timestamppb.Timestamp)(nil), // 6: google.protobuf.Timestamp
   553  }
   554  var file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_depIdxs = []int32{
   555  	0, // 0: luci.tree_status.v1.Status.general_state:type_name -> luci.tree_status.v1.GeneralState
   556  	6, // 1: luci.tree_status.v1.Status.create_time:type_name -> google.protobuf.Timestamp
   557  	2, // 2: luci.tree_status.v1.ListStatusResponse.status:type_name -> luci.tree_status.v1.Status
   558  	2, // 3: luci.tree_status.v1.CreateStatusRequest.status:type_name -> luci.tree_status.v1.Status
   559  	3, // 4: luci.tree_status.v1.TreeStatus.ListStatus:input_type -> luci.tree_status.v1.ListStatusRequest
   560  	1, // 5: luci.tree_status.v1.TreeStatus.GetStatus:input_type -> luci.tree_status.v1.GetStatusRequest
   561  	5, // 6: luci.tree_status.v1.TreeStatus.CreateStatus:input_type -> luci.tree_status.v1.CreateStatusRequest
   562  	4, // 7: luci.tree_status.v1.TreeStatus.ListStatus:output_type -> luci.tree_status.v1.ListStatusResponse
   563  	2, // 8: luci.tree_status.v1.TreeStatus.GetStatus:output_type -> luci.tree_status.v1.Status
   564  	2, // 9: luci.tree_status.v1.TreeStatus.CreateStatus:output_type -> luci.tree_status.v1.Status
   565  	7, // [7:10] is the sub-list for method output_type
   566  	4, // [4:7] is the sub-list for method input_type
   567  	4, // [4:4] is the sub-list for extension type_name
   568  	4, // [4:4] is the sub-list for extension extendee
   569  	0, // [0:4] is the sub-list for field type_name
   570  }
   571  
   572  func init() { file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_init() }
   573  func file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_init() {
   574  	if File_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto != nil {
   575  		return
   576  	}
   577  	if !protoimpl.UnsafeEnabled {
   578  		file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   579  			switch v := v.(*GetStatusRequest); i {
   580  			case 0:
   581  				return &v.state
   582  			case 1:
   583  				return &v.sizeCache
   584  			case 2:
   585  				return &v.unknownFields
   586  			default:
   587  				return nil
   588  			}
   589  		}
   590  		file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   591  			switch v := v.(*Status); i {
   592  			case 0:
   593  				return &v.state
   594  			case 1:
   595  				return &v.sizeCache
   596  			case 2:
   597  				return &v.unknownFields
   598  			default:
   599  				return nil
   600  			}
   601  		}
   602  		file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
   603  			switch v := v.(*ListStatusRequest); i {
   604  			case 0:
   605  				return &v.state
   606  			case 1:
   607  				return &v.sizeCache
   608  			case 2:
   609  				return &v.unknownFields
   610  			default:
   611  				return nil
   612  			}
   613  		}
   614  		file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
   615  			switch v := v.(*ListStatusResponse); i {
   616  			case 0:
   617  				return &v.state
   618  			case 1:
   619  				return &v.sizeCache
   620  			case 2:
   621  				return &v.unknownFields
   622  			default:
   623  				return nil
   624  			}
   625  		}
   626  		file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
   627  			switch v := v.(*CreateStatusRequest); i {
   628  			case 0:
   629  				return &v.state
   630  			case 1:
   631  				return &v.sizeCache
   632  			case 2:
   633  				return &v.unknownFields
   634  			default:
   635  				return nil
   636  			}
   637  		}
   638  	}
   639  	type x struct{}
   640  	out := protoimpl.TypeBuilder{
   641  		File: protoimpl.DescBuilder{
   642  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
   643  			RawDescriptor: file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_rawDesc,
   644  			NumEnums:      1,
   645  			NumMessages:   5,
   646  			NumExtensions: 0,
   647  			NumServices:   1,
   648  		},
   649  		GoTypes:           file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_goTypes,
   650  		DependencyIndexes: file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_depIdxs,
   651  		EnumInfos:         file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_enumTypes,
   652  		MessageInfos:      file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_msgTypes,
   653  	}.Build()
   654  	File_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto = out.File
   655  	file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_rawDesc = nil
   656  	file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_goTypes = nil
   657  	file_go_chromium_org_luci_tree_status_proto_v1_tree_status_proto_depIdxs = nil
   658  }
   659  
   660  // Reference imports to suppress errors if they are not otherwise used.
   661  var _ context.Context
   662  var _ grpc.ClientConnInterface
   663  
   664  // This is a compile-time assertion to ensure that this generated file
   665  // is compatible with the grpc package it is being compiled against.
   666  const _ = grpc.SupportPackageIsVersion6
   667  
   668  // TreeStatusClient is the client API for TreeStatus service.
   669  //
   670  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
   671  type TreeStatusClient interface {
   672  	// List all status values for a tree in reverse chronological order.
   673  	ListStatus(ctx context.Context, in *ListStatusRequest, opts ...grpc.CallOption) (*ListStatusResponse, error)
   674  	// Get a status for a tree.
   675  	// Use the resource alias 'latest' to get just the current status.
   676  	GetStatus(ctx context.Context, in *GetStatusRequest, opts ...grpc.CallOption) (*Status, error)
   677  	// Create a new status update for the tree.
   678  	CreateStatus(ctx context.Context, in *CreateStatusRequest, opts ...grpc.CallOption) (*Status, error)
   679  }
   680  type treeStatusPRPCClient struct {
   681  	client *prpc.Client
   682  }
   683  
   684  func NewTreeStatusPRPCClient(client *prpc.Client) TreeStatusClient {
   685  	return &treeStatusPRPCClient{client}
   686  }
   687  
   688  func (c *treeStatusPRPCClient) ListStatus(ctx context.Context, in *ListStatusRequest, opts ...grpc.CallOption) (*ListStatusResponse, error) {
   689  	out := new(ListStatusResponse)
   690  	err := c.client.Call(ctx, "luci.tree_status.v1.TreeStatus", "ListStatus", in, out, opts...)
   691  	if err != nil {
   692  		return nil, err
   693  	}
   694  	return out, nil
   695  }
   696  
   697  func (c *treeStatusPRPCClient) GetStatus(ctx context.Context, in *GetStatusRequest, opts ...grpc.CallOption) (*Status, error) {
   698  	out := new(Status)
   699  	err := c.client.Call(ctx, "luci.tree_status.v1.TreeStatus", "GetStatus", in, out, opts...)
   700  	if err != nil {
   701  		return nil, err
   702  	}
   703  	return out, nil
   704  }
   705  
   706  func (c *treeStatusPRPCClient) CreateStatus(ctx context.Context, in *CreateStatusRequest, opts ...grpc.CallOption) (*Status, error) {
   707  	out := new(Status)
   708  	err := c.client.Call(ctx, "luci.tree_status.v1.TreeStatus", "CreateStatus", in, out, opts...)
   709  	if err != nil {
   710  		return nil, err
   711  	}
   712  	return out, nil
   713  }
   714  
   715  type treeStatusClient struct {
   716  	cc grpc.ClientConnInterface
   717  }
   718  
   719  func NewTreeStatusClient(cc grpc.ClientConnInterface) TreeStatusClient {
   720  	return &treeStatusClient{cc}
   721  }
   722  
   723  func (c *treeStatusClient) ListStatus(ctx context.Context, in *ListStatusRequest, opts ...grpc.CallOption) (*ListStatusResponse, error) {
   724  	out := new(ListStatusResponse)
   725  	err := c.cc.Invoke(ctx, "/luci.tree_status.v1.TreeStatus/ListStatus", in, out, opts...)
   726  	if err != nil {
   727  		return nil, err
   728  	}
   729  	return out, nil
   730  }
   731  
   732  func (c *treeStatusClient) GetStatus(ctx context.Context, in *GetStatusRequest, opts ...grpc.CallOption) (*Status, error) {
   733  	out := new(Status)
   734  	err := c.cc.Invoke(ctx, "/luci.tree_status.v1.TreeStatus/GetStatus", in, out, opts...)
   735  	if err != nil {
   736  		return nil, err
   737  	}
   738  	return out, nil
   739  }
   740  
   741  func (c *treeStatusClient) CreateStatus(ctx context.Context, in *CreateStatusRequest, opts ...grpc.CallOption) (*Status, error) {
   742  	out := new(Status)
   743  	err := c.cc.Invoke(ctx, "/luci.tree_status.v1.TreeStatus/CreateStatus", in, out, opts...)
   744  	if err != nil {
   745  		return nil, err
   746  	}
   747  	return out, nil
   748  }
   749  
   750  // TreeStatusServer is the server API for TreeStatus service.
   751  type TreeStatusServer interface {
   752  	// List all status values for a tree in reverse chronological order.
   753  	ListStatus(context.Context, *ListStatusRequest) (*ListStatusResponse, error)
   754  	// Get a status for a tree.
   755  	// Use the resource alias 'latest' to get just the current status.
   756  	GetStatus(context.Context, *GetStatusRequest) (*Status, error)
   757  	// Create a new status update for the tree.
   758  	CreateStatus(context.Context, *CreateStatusRequest) (*Status, error)
   759  }
   760  
   761  // UnimplementedTreeStatusServer can be embedded to have forward compatible implementations.
   762  type UnimplementedTreeStatusServer struct {
   763  }
   764  
   765  func (*UnimplementedTreeStatusServer) ListStatus(context.Context, *ListStatusRequest) (*ListStatusResponse, error) {
   766  	return nil, status.Errorf(codes.Unimplemented, "method ListStatus not implemented")
   767  }
   768  func (*UnimplementedTreeStatusServer) GetStatus(context.Context, *GetStatusRequest) (*Status, error) {
   769  	return nil, status.Errorf(codes.Unimplemented, "method GetStatus not implemented")
   770  }
   771  func (*UnimplementedTreeStatusServer) CreateStatus(context.Context, *CreateStatusRequest) (*Status, error) {
   772  	return nil, status.Errorf(codes.Unimplemented, "method CreateStatus not implemented")
   773  }
   774  
   775  func RegisterTreeStatusServer(s prpc.Registrar, srv TreeStatusServer) {
   776  	s.RegisterService(&_TreeStatus_serviceDesc, srv)
   777  }
   778  
   779  func _TreeStatus_ListStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   780  	in := new(ListStatusRequest)
   781  	if err := dec(in); err != nil {
   782  		return nil, err
   783  	}
   784  	if interceptor == nil {
   785  		return srv.(TreeStatusServer).ListStatus(ctx, in)
   786  	}
   787  	info := &grpc.UnaryServerInfo{
   788  		Server:     srv,
   789  		FullMethod: "/luci.tree_status.v1.TreeStatus/ListStatus",
   790  	}
   791  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   792  		return srv.(TreeStatusServer).ListStatus(ctx, req.(*ListStatusRequest))
   793  	}
   794  	return interceptor(ctx, in, info, handler)
   795  }
   796  
   797  func _TreeStatus_GetStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   798  	in := new(GetStatusRequest)
   799  	if err := dec(in); err != nil {
   800  		return nil, err
   801  	}
   802  	if interceptor == nil {
   803  		return srv.(TreeStatusServer).GetStatus(ctx, in)
   804  	}
   805  	info := &grpc.UnaryServerInfo{
   806  		Server:     srv,
   807  		FullMethod: "/luci.tree_status.v1.TreeStatus/GetStatus",
   808  	}
   809  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   810  		return srv.(TreeStatusServer).GetStatus(ctx, req.(*GetStatusRequest))
   811  	}
   812  	return interceptor(ctx, in, info, handler)
   813  }
   814  
   815  func _TreeStatus_CreateStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   816  	in := new(CreateStatusRequest)
   817  	if err := dec(in); err != nil {
   818  		return nil, err
   819  	}
   820  	if interceptor == nil {
   821  		return srv.(TreeStatusServer).CreateStatus(ctx, in)
   822  	}
   823  	info := &grpc.UnaryServerInfo{
   824  		Server:     srv,
   825  		FullMethod: "/luci.tree_status.v1.TreeStatus/CreateStatus",
   826  	}
   827  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   828  		return srv.(TreeStatusServer).CreateStatus(ctx, req.(*CreateStatusRequest))
   829  	}
   830  	return interceptor(ctx, in, info, handler)
   831  }
   832  
   833  var _TreeStatus_serviceDesc = grpc.ServiceDesc{
   834  	ServiceName: "luci.tree_status.v1.TreeStatus",
   835  	HandlerType: (*TreeStatusServer)(nil),
   836  	Methods: []grpc.MethodDesc{
   837  		{
   838  			MethodName: "ListStatus",
   839  			Handler:    _TreeStatus_ListStatus_Handler,
   840  		},
   841  		{
   842  			MethodName: "GetStatus",
   843  			Handler:    _TreeStatus_GetStatus_Handler,
   844  		},
   845  		{
   846  			MethodName: "CreateStatus",
   847  			Handler:    _TreeStatus_CreateStatus_Handler,
   848  		},
   849  	},
   850  	Streams:  []grpc.StreamDesc{},
   851  	Metadata: "go.chromium.org/luci/tree_status/proto/v1/tree_status.proto",
   852  }