go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/logdog/api/endpoints/coordinator/logs/v1/logs.pb.go (about)

     1  // Copyright 2016 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/logdog/api/endpoints/coordinator/logs/v1/logs.proto
    10  
    11  package logdog
    12  
    13  import prpc "go.chromium.org/luci/grpc/prpc"
    14  
    15  import (
    16  	context "context"
    17  	logpb "go.chromium.org/luci/logdog/api/logpb"
    18  	grpc "google.golang.org/grpc"
    19  	codes "google.golang.org/grpc/codes"
    20  	status "google.golang.org/grpc/status"
    21  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    22  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    23  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    24  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    25  	reflect "reflect"
    26  	sync "sync"
    27  )
    28  
    29  const (
    30  	// Verify that this generated code is sufficiently up-to-date.
    31  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    32  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    33  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    34  )
    35  
    36  // Trinary represents a trinary value.
    37  type QueryRequest_Trinary int32
    38  
    39  const (
    40  	// Both positive and negative results will be returned.
    41  	QueryRequest_BOTH QueryRequest_Trinary = 0
    42  	// Only positive results will be returned.
    43  	QueryRequest_YES QueryRequest_Trinary = 1
    44  	// Only negative results will be returned.
    45  	QueryRequest_NO QueryRequest_Trinary = 2
    46  )
    47  
    48  // Enum value maps for QueryRequest_Trinary.
    49  var (
    50  	QueryRequest_Trinary_name = map[int32]string{
    51  		0: "BOTH",
    52  		1: "YES",
    53  		2: "NO",
    54  	}
    55  	QueryRequest_Trinary_value = map[string]int32{
    56  		"BOTH": 0,
    57  		"YES":  1,
    58  		"NO":   2,
    59  	}
    60  )
    61  
    62  func (x QueryRequest_Trinary) Enum() *QueryRequest_Trinary {
    63  	p := new(QueryRequest_Trinary)
    64  	*p = x
    65  	return p
    66  }
    67  
    68  func (x QueryRequest_Trinary) String() string {
    69  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    70  }
    71  
    72  func (QueryRequest_Trinary) Descriptor() protoreflect.EnumDescriptor {
    73  	return file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_enumTypes[0].Descriptor()
    74  }
    75  
    76  func (QueryRequest_Trinary) Type() protoreflect.EnumType {
    77  	return &file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_enumTypes[0]
    78  }
    79  
    80  func (x QueryRequest_Trinary) Number() protoreflect.EnumNumber {
    81  	return protoreflect.EnumNumber(x)
    82  }
    83  
    84  // Deprecated: Use QueryRequest_Trinary.Descriptor instead.
    85  func (QueryRequest_Trinary) EnumDescriptor() ([]byte, []int) {
    86  	return file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_rawDescGZIP(), []int{3, 0}
    87  }
    88  
    89  // GetRequest is the request structure for the user Get endpoint.
    90  //
    91  // If the requested log stream exists, a valid GetRequest will succeed
    92  // regardless of whether the requested log range was available.
    93  //
    94  // Note that this endpoint may return fewer logs than requested due to either
    95  // availability or internal constraints.
    96  type GetRequest struct {
    97  	state         protoimpl.MessageState
    98  	sizeCache     protoimpl.SizeCache
    99  	unknownFields protoimpl.UnknownFields
   100  
   101  	// The request project to request.
   102  	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
   103  	// The path of the log stream to get.
   104  	//
   105  	// This can either be a LogDog stream path or the SHA256 hash of a LogDog
   106  	// stream path.
   107  	//
   108  	// Some utilities may find passing around a full LogDog path to be cumbersome
   109  	// due to its length. They can opt to pass around the hash instead and
   110  	// retrieve logs using it.
   111  	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
   112  	// If true, requests that the log stream's state is returned.
   113  	State bool `protobuf:"varint,3,opt,name=state,proto3" json:"state,omitempty"`
   114  	// The initial log stream index to retrieve.
   115  	Index int64 `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"`
   116  	// The maximum number of bytes to return. If non-zero, it is applied as a
   117  	// constraint to limit the number of logs that are returned.
   118  	//
   119  	// This only returns complete logs. Assuming logs are available, it will
   120  	// return at least one log (even if it violates the size constraint) and as
   121  	// many additional logs as it can without exceeding this constraint.
   122  	ByteCount int32 `protobuf:"varint,5,opt,name=byte_count,json=byteCount,proto3" json:"byte_count,omitempty"`
   123  	// The maximum number of log records to request.
   124  	//
   125  	// If this value is zero, no count constraint will be applied. If this value
   126  	// is less than zero, no log entries will be returned. This can be used to
   127  	// fetch log stream descriptors without fetching any log records.
   128  	LogCount int32 `protobuf:"varint,6,opt,name=log_count,json=logCount,proto3" json:"log_count,omitempty"`
   129  	// If true, allows the range request to return non-contiguous records.
   130  	//
   131  	// A contiguous request (default) will iterate forwards from the supplied
   132  	// Index and stop if either the end of stream is encountered or there is a
   133  	// missing stream index. A NonContiguous request will remove the latter
   134  	// condition.
   135  	//
   136  	// For example, say the log stream consists of:
   137  	// [3, 4, 6, 7]
   138  	//
   139  	// A contiguous request with Index 3 will return: [3, 4], stopping because
   140  	// 5 is missing. A non-contiguous request will return [3, 4, 6, 7].
   141  	NonContiguous bool                       `protobuf:"varint,7,opt,name=non_contiguous,json=nonContiguous,proto3" json:"non_contiguous,omitempty"`
   142  	GetSignedUrls *GetRequest_SignURLRequest `protobuf:"bytes,8,opt,name=get_signed_urls,json=getSignedUrls,proto3" json:"get_signed_urls,omitempty"`
   143  }
   144  
   145  func (x *GetRequest) Reset() {
   146  	*x = GetRequest{}
   147  	if protoimpl.UnsafeEnabled {
   148  		mi := &file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[0]
   149  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   150  		ms.StoreMessageInfo(mi)
   151  	}
   152  }
   153  
   154  func (x *GetRequest) String() string {
   155  	return protoimpl.X.MessageStringOf(x)
   156  }
   157  
   158  func (*GetRequest) ProtoMessage() {}
   159  
   160  func (x *GetRequest) ProtoReflect() protoreflect.Message {
   161  	mi := &file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[0]
   162  	if protoimpl.UnsafeEnabled && x != nil {
   163  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   164  		if ms.LoadMessageInfo() == nil {
   165  			ms.StoreMessageInfo(mi)
   166  		}
   167  		return ms
   168  	}
   169  	return mi.MessageOf(x)
   170  }
   171  
   172  // Deprecated: Use GetRequest.ProtoReflect.Descriptor instead.
   173  func (*GetRequest) Descriptor() ([]byte, []int) {
   174  	return file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_rawDescGZIP(), []int{0}
   175  }
   176  
   177  func (x *GetRequest) GetProject() string {
   178  	if x != nil {
   179  		return x.Project
   180  	}
   181  	return ""
   182  }
   183  
   184  func (x *GetRequest) GetPath() string {
   185  	if x != nil {
   186  		return x.Path
   187  	}
   188  	return ""
   189  }
   190  
   191  func (x *GetRequest) GetState() bool {
   192  	if x != nil {
   193  		return x.State
   194  	}
   195  	return false
   196  }
   197  
   198  func (x *GetRequest) GetIndex() int64 {
   199  	if x != nil {
   200  		return x.Index
   201  	}
   202  	return 0
   203  }
   204  
   205  func (x *GetRequest) GetByteCount() int32 {
   206  	if x != nil {
   207  		return x.ByteCount
   208  	}
   209  	return 0
   210  }
   211  
   212  func (x *GetRequest) GetLogCount() int32 {
   213  	if x != nil {
   214  		return x.LogCount
   215  	}
   216  	return 0
   217  }
   218  
   219  func (x *GetRequest) GetNonContiguous() bool {
   220  	if x != nil {
   221  		return x.NonContiguous
   222  	}
   223  	return false
   224  }
   225  
   226  func (x *GetRequest) GetGetSignedUrls() *GetRequest_SignURLRequest {
   227  	if x != nil {
   228  		return x.GetSignedUrls
   229  	}
   230  	return nil
   231  }
   232  
   233  // TailRequest is the request structure for the user Tail endpoint. It returns
   234  // the last log in a given log stream at the time of the request.
   235  type TailRequest struct {
   236  	state         protoimpl.MessageState
   237  	sizeCache     protoimpl.SizeCache
   238  	unknownFields protoimpl.UnknownFields
   239  
   240  	// The request project to request.
   241  	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
   242  	// The path of the log stream to get.
   243  	//
   244  	// This can either be a LogDog stream path or the SHA256 hash of a LogDog
   245  	// stream path.
   246  	//
   247  	// Some utilities may find passing around a full LogDog path to be cumbersome
   248  	// due to its length. They can opt to pass around the hash instead and
   249  	// retrieve logs using it.
   250  	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
   251  	// If true, requests that the log stream's state is returned.
   252  	State bool `protobuf:"varint,3,opt,name=state,proto3" json:"state,omitempty"`
   253  }
   254  
   255  func (x *TailRequest) Reset() {
   256  	*x = TailRequest{}
   257  	if protoimpl.UnsafeEnabled {
   258  		mi := &file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[1]
   259  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   260  		ms.StoreMessageInfo(mi)
   261  	}
   262  }
   263  
   264  func (x *TailRequest) String() string {
   265  	return protoimpl.X.MessageStringOf(x)
   266  }
   267  
   268  func (*TailRequest) ProtoMessage() {}
   269  
   270  func (x *TailRequest) ProtoReflect() protoreflect.Message {
   271  	mi := &file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[1]
   272  	if protoimpl.UnsafeEnabled && x != nil {
   273  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   274  		if ms.LoadMessageInfo() == nil {
   275  			ms.StoreMessageInfo(mi)
   276  		}
   277  		return ms
   278  	}
   279  	return mi.MessageOf(x)
   280  }
   281  
   282  // Deprecated: Use TailRequest.ProtoReflect.Descriptor instead.
   283  func (*TailRequest) Descriptor() ([]byte, []int) {
   284  	return file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_rawDescGZIP(), []int{1}
   285  }
   286  
   287  func (x *TailRequest) GetProject() string {
   288  	if x != nil {
   289  		return x.Project
   290  	}
   291  	return ""
   292  }
   293  
   294  func (x *TailRequest) GetPath() string {
   295  	if x != nil {
   296  		return x.Path
   297  	}
   298  	return ""
   299  }
   300  
   301  func (x *TailRequest) GetState() bool {
   302  	if x != nil {
   303  		return x.State
   304  	}
   305  	return false
   306  }
   307  
   308  // GetResponse is the response structure for the user Get endpoint.
   309  type GetResponse struct {
   310  	state         protoimpl.MessageState
   311  	sizeCache     protoimpl.SizeCache
   312  	unknownFields protoimpl.UnknownFields
   313  
   314  	// Project is the project name that these logs belong to.
   315  	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
   316  	// Realm is the realm (within the project) the stream is associated with.
   317  	Realm string `protobuf:"bytes,6,opt,name=realm,proto3" json:"realm,omitempty"`
   318  	// The log stream descriptor and state for this stream.
   319  	//
   320  	// It can be requested by setting the request's State field to true. If the
   321  	// Proto field is true, the State's Descriptor field will not be included.
   322  	State *LogStreamState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
   323  	// The expanded LogStreamDescriptor protobuf. It is intended for JSON
   324  	// consumption.
   325  	//
   326  	// If the GetRequest's Proto field is false, this will be populated;
   327  	// otherwise, the serialized protobuf will be written to the DescriptorProto
   328  	// field.
   329  	Desc *logpb.LogStreamDescriptor `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"`
   330  	// Log represents the set of retrieved log records.
   331  	Logs []*logpb.LogEntry `protobuf:"bytes,4,rep,name=logs,proto3" json:"logs,omitempty"`
   332  	// An optional signed log entry RecordIO protobuf URL, if requested via
   333  	// "sign_entry_url_lifetime".
   334  	SignedUrls *GetResponse_SignedUrls `protobuf:"bytes,5,opt,name=signed_urls,json=signedUrls,proto3" json:"signed_urls,omitempty"`
   335  }
   336  
   337  func (x *GetResponse) Reset() {
   338  	*x = GetResponse{}
   339  	if protoimpl.UnsafeEnabled {
   340  		mi := &file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[2]
   341  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   342  		ms.StoreMessageInfo(mi)
   343  	}
   344  }
   345  
   346  func (x *GetResponse) String() string {
   347  	return protoimpl.X.MessageStringOf(x)
   348  }
   349  
   350  func (*GetResponse) ProtoMessage() {}
   351  
   352  func (x *GetResponse) ProtoReflect() protoreflect.Message {
   353  	mi := &file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[2]
   354  	if protoimpl.UnsafeEnabled && x != nil {
   355  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   356  		if ms.LoadMessageInfo() == nil {
   357  			ms.StoreMessageInfo(mi)
   358  		}
   359  		return ms
   360  	}
   361  	return mi.MessageOf(x)
   362  }
   363  
   364  // Deprecated: Use GetResponse.ProtoReflect.Descriptor instead.
   365  func (*GetResponse) Descriptor() ([]byte, []int) {
   366  	return file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_rawDescGZIP(), []int{2}
   367  }
   368  
   369  func (x *GetResponse) GetProject() string {
   370  	if x != nil {
   371  		return x.Project
   372  	}
   373  	return ""
   374  }
   375  
   376  func (x *GetResponse) GetRealm() string {
   377  	if x != nil {
   378  		return x.Realm
   379  	}
   380  	return ""
   381  }
   382  
   383  func (x *GetResponse) GetState() *LogStreamState {
   384  	if x != nil {
   385  		return x.State
   386  	}
   387  	return nil
   388  }
   389  
   390  func (x *GetResponse) GetDesc() *logpb.LogStreamDescriptor {
   391  	if x != nil {
   392  		return x.Desc
   393  	}
   394  	return nil
   395  }
   396  
   397  func (x *GetResponse) GetLogs() []*logpb.LogEntry {
   398  	if x != nil {
   399  		return x.Logs
   400  	}
   401  	return nil
   402  }
   403  
   404  func (x *GetResponse) GetSignedUrls() *GetResponse_SignedUrls {
   405  	if x != nil {
   406  		return x.SignedUrls
   407  	}
   408  	return nil
   409  }
   410  
   411  // QueryRequest is the request structure for the user Query endpoint.
   412  type QueryRequest struct {
   413  	state         protoimpl.MessageState
   414  	sizeCache     protoimpl.SizeCache
   415  	unknownFields protoimpl.UnknownFields
   416  
   417  	// (required) The project to query from.
   418  	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
   419  	// (required) The stream query parameter.
   420  	//
   421  	// Paths are of the form "full/path/prefix/+/stream/name", where the
   422  	// "stream/name" portion can contain glob-style "*" and "**" operators.
   423  	//
   424  	// If this is just "full/path/prefix", then the stream/name is assumed to be
   425  	// "**" (meaning all streams).
   426  	//
   427  	// Omitting the full path prefix is an error (no wildcards are permitted).
   428  	Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
   429  	// If true, returns that the streams' full state is returned instead of just
   430  	// its Path.
   431  	State bool `protobuf:"varint,3,opt,name=state,proto3" json:"state,omitempty"`
   432  	// If true, causes the requested state to be returned as serialized protobuf
   433  	// data instead of deserialized JSON structures.
   434  	Proto bool `protobuf:"varint,4,opt,name=proto,proto3" json:"proto,omitempty"`
   435  	// Next, if not empty, indicates that this query should continue at the point
   436  	// where the previous query left off.
   437  	Next string `protobuf:"bytes,5,opt,name=next,proto3" json:"next,omitempty"`
   438  	// MaxResults is the maximum number of query results to return.
   439  	//
   440  	// If MaxResults is zero, no upper bound will be indicated. However, the
   441  	// returned result count is still be subject to internal constraints.
   442  	MaxResults int32 `protobuf:"varint,6,opt,name=max_results,json=maxResults,proto3" json:"max_results,omitempty"`
   443  	// ContentType, if not empty, restricts results to streams with the supplied
   444  	// content type.
   445  	ContentType string                         `protobuf:"bytes,10,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"`
   446  	StreamType  *QueryRequest_StreamTypeFilter `protobuf:"bytes,11,opt,name=stream_type,json=streamType,proto3" json:"stream_type,omitempty"`
   447  	// Tags is the set of tags to constrain the query with.
   448  	//
   449  	// A Tag entry may either be:
   450  	//   - A key/value query, in which case the results are constrained by logs
   451  	//     whose tag includes that key/value pair.
   452  	//   - A key with an missing (nil) value, in which case the results are
   453  	//     constraints by logs that have that tag key, regardless of its value.
   454  	Tags map[string]string `protobuf:"bytes,15,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   455  	// Purged restricts the query to streams that have or haven't been purged.
   456  	Purged QueryRequest_Trinary `protobuf:"varint,16,opt,name=purged,proto3,enum=logdog.QueryRequest_Trinary" json:"purged,omitempty"`
   457  }
   458  
   459  func (x *QueryRequest) Reset() {
   460  	*x = QueryRequest{}
   461  	if protoimpl.UnsafeEnabled {
   462  		mi := &file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[3]
   463  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   464  		ms.StoreMessageInfo(mi)
   465  	}
   466  }
   467  
   468  func (x *QueryRequest) String() string {
   469  	return protoimpl.X.MessageStringOf(x)
   470  }
   471  
   472  func (*QueryRequest) ProtoMessage() {}
   473  
   474  func (x *QueryRequest) ProtoReflect() protoreflect.Message {
   475  	mi := &file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[3]
   476  	if protoimpl.UnsafeEnabled && x != nil {
   477  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   478  		if ms.LoadMessageInfo() == nil {
   479  			ms.StoreMessageInfo(mi)
   480  		}
   481  		return ms
   482  	}
   483  	return mi.MessageOf(x)
   484  }
   485  
   486  // Deprecated: Use QueryRequest.ProtoReflect.Descriptor instead.
   487  func (*QueryRequest) Descriptor() ([]byte, []int) {
   488  	return file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_rawDescGZIP(), []int{3}
   489  }
   490  
   491  func (x *QueryRequest) GetProject() string {
   492  	if x != nil {
   493  		return x.Project
   494  	}
   495  	return ""
   496  }
   497  
   498  func (x *QueryRequest) GetPath() string {
   499  	if x != nil {
   500  		return x.Path
   501  	}
   502  	return ""
   503  }
   504  
   505  func (x *QueryRequest) GetState() bool {
   506  	if x != nil {
   507  		return x.State
   508  	}
   509  	return false
   510  }
   511  
   512  func (x *QueryRequest) GetProto() bool {
   513  	if x != nil {
   514  		return x.Proto
   515  	}
   516  	return false
   517  }
   518  
   519  func (x *QueryRequest) GetNext() string {
   520  	if x != nil {
   521  		return x.Next
   522  	}
   523  	return ""
   524  }
   525  
   526  func (x *QueryRequest) GetMaxResults() int32 {
   527  	if x != nil {
   528  		return x.MaxResults
   529  	}
   530  	return 0
   531  }
   532  
   533  func (x *QueryRequest) GetContentType() string {
   534  	if x != nil {
   535  		return x.ContentType
   536  	}
   537  	return ""
   538  }
   539  
   540  func (x *QueryRequest) GetStreamType() *QueryRequest_StreamTypeFilter {
   541  	if x != nil {
   542  		return x.StreamType
   543  	}
   544  	return nil
   545  }
   546  
   547  func (x *QueryRequest) GetTags() map[string]string {
   548  	if x != nil {
   549  		return x.Tags
   550  	}
   551  	return nil
   552  }
   553  
   554  func (x *QueryRequest) GetPurged() QueryRequest_Trinary {
   555  	if x != nil {
   556  		return x.Purged
   557  	}
   558  	return QueryRequest_BOTH
   559  }
   560  
   561  // QueryResponse is the response structure for the user Query endpoint.
   562  type QueryResponse struct {
   563  	state         protoimpl.MessageState
   564  	sizeCache     protoimpl.SizeCache
   565  	unknownFields protoimpl.UnknownFields
   566  
   567  	// Project is the project name that all responses belong to.
   568  	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
   569  	// Realm is the realm (within the project) all streams are associated with.
   570  	Realm string `protobuf:"bytes,4,opt,name=realm,proto3" json:"realm,omitempty"`
   571  	// The list of streams that were identified as the result of the query.
   572  	Streams []*QueryResponse_Stream `protobuf:"bytes,2,rep,name=streams,proto3" json:"streams,omitempty"`
   573  	// If not empty, indicates that there are more query results available.
   574  	// These results can be requested by repeating the Query request with the
   575  	// same Path field and supplying this value in the Next field.
   576  	Next string `protobuf:"bytes,3,opt,name=next,proto3" json:"next,omitempty"`
   577  }
   578  
   579  func (x *QueryResponse) Reset() {
   580  	*x = QueryResponse{}
   581  	if protoimpl.UnsafeEnabled {
   582  		mi := &file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[4]
   583  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   584  		ms.StoreMessageInfo(mi)
   585  	}
   586  }
   587  
   588  func (x *QueryResponse) String() string {
   589  	return protoimpl.X.MessageStringOf(x)
   590  }
   591  
   592  func (*QueryResponse) ProtoMessage() {}
   593  
   594  func (x *QueryResponse) ProtoReflect() protoreflect.Message {
   595  	mi := &file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[4]
   596  	if protoimpl.UnsafeEnabled && x != nil {
   597  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   598  		if ms.LoadMessageInfo() == nil {
   599  			ms.StoreMessageInfo(mi)
   600  		}
   601  		return ms
   602  	}
   603  	return mi.MessageOf(x)
   604  }
   605  
   606  // Deprecated: Use QueryResponse.ProtoReflect.Descriptor instead.
   607  func (*QueryResponse) Descriptor() ([]byte, []int) {
   608  	return file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_rawDescGZIP(), []int{4}
   609  }
   610  
   611  func (x *QueryResponse) GetProject() string {
   612  	if x != nil {
   613  		return x.Project
   614  	}
   615  	return ""
   616  }
   617  
   618  func (x *QueryResponse) GetRealm() string {
   619  	if x != nil {
   620  		return x.Realm
   621  	}
   622  	return ""
   623  }
   624  
   625  func (x *QueryResponse) GetStreams() []*QueryResponse_Stream {
   626  	if x != nil {
   627  		return x.Streams
   628  	}
   629  	return nil
   630  }
   631  
   632  func (x *QueryResponse) GetNext() string {
   633  	if x != nil {
   634  		return x.Next
   635  	}
   636  	return ""
   637  }
   638  
   639  // If supplied, the response will contain a SignedUrls message with the
   640  // requested signed URLs. If signed URLs are not supported by the log's
   641  // current storage system, the response message will be empty.
   642  type GetRequest_SignURLRequest struct {
   643  	state         protoimpl.MessageState
   644  	sizeCache     protoimpl.SizeCache
   645  	unknownFields protoimpl.UnknownFields
   646  
   647  	// The lifetime that the signed URL will be bound to.. The
   648  	Lifetime *durationpb.Duration `protobuf:"bytes,1,opt,name=lifetime,proto3" json:"lifetime,omitempty"`
   649  	// Return a signed URL for the log's RecordIO protobuf data.
   650  	Stream bool `protobuf:"varint,2,opt,name=stream,proto3" json:"stream,omitempty"`
   651  	// Return a signed URL for the log's LogIndex protobuf.
   652  	Index bool `protobuf:"varint,3,opt,name=index,proto3" json:"index,omitempty"`
   653  }
   654  
   655  func (x *GetRequest_SignURLRequest) Reset() {
   656  	*x = GetRequest_SignURLRequest{}
   657  	if protoimpl.UnsafeEnabled {
   658  		mi := &file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[5]
   659  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   660  		ms.StoreMessageInfo(mi)
   661  	}
   662  }
   663  
   664  func (x *GetRequest_SignURLRequest) String() string {
   665  	return protoimpl.X.MessageStringOf(x)
   666  }
   667  
   668  func (*GetRequest_SignURLRequest) ProtoMessage() {}
   669  
   670  func (x *GetRequest_SignURLRequest) ProtoReflect() protoreflect.Message {
   671  	mi := &file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[5]
   672  	if protoimpl.UnsafeEnabled && x != nil {
   673  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   674  		if ms.LoadMessageInfo() == nil {
   675  			ms.StoreMessageInfo(mi)
   676  		}
   677  		return ms
   678  	}
   679  	return mi.MessageOf(x)
   680  }
   681  
   682  // Deprecated: Use GetRequest_SignURLRequest.ProtoReflect.Descriptor instead.
   683  func (*GetRequest_SignURLRequest) Descriptor() ([]byte, []int) {
   684  	return file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_rawDescGZIP(), []int{0, 0}
   685  }
   686  
   687  func (x *GetRequest_SignURLRequest) GetLifetime() *durationpb.Duration {
   688  	if x != nil {
   689  		return x.Lifetime
   690  	}
   691  	return nil
   692  }
   693  
   694  func (x *GetRequest_SignURLRequest) GetStream() bool {
   695  	if x != nil {
   696  		return x.Stream
   697  	}
   698  	return false
   699  }
   700  
   701  func (x *GetRequest_SignURLRequest) GetIndex() bool {
   702  	if x != nil {
   703  		return x.Index
   704  	}
   705  	return false
   706  }
   707  
   708  // Holds information about the log stream's signed entry URL.
   709  type GetResponse_SignedUrls struct {
   710  	state         protoimpl.MessageState
   711  	sizeCache     protoimpl.SizeCache
   712  	unknownFields protoimpl.UnknownFields
   713  
   714  	// The time when this signed URL will expire.
   715  	Expiration *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=expiration,proto3" json:"expiration,omitempty"`
   716  	// The signed log stream URL, if requested.
   717  	Stream string `protobuf:"bytes,2,opt,name=stream,proto3" json:"stream,omitempty"`
   718  	// The signed log index URL, if requested.
   719  	Index string `protobuf:"bytes,3,opt,name=index,proto3" json:"index,omitempty"`
   720  }
   721  
   722  func (x *GetResponse_SignedUrls) Reset() {
   723  	*x = GetResponse_SignedUrls{}
   724  	if protoimpl.UnsafeEnabled {
   725  		mi := &file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[6]
   726  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   727  		ms.StoreMessageInfo(mi)
   728  	}
   729  }
   730  
   731  func (x *GetResponse_SignedUrls) String() string {
   732  	return protoimpl.X.MessageStringOf(x)
   733  }
   734  
   735  func (*GetResponse_SignedUrls) ProtoMessage() {}
   736  
   737  func (x *GetResponse_SignedUrls) ProtoReflect() protoreflect.Message {
   738  	mi := &file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[6]
   739  	if protoimpl.UnsafeEnabled && x != nil {
   740  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   741  		if ms.LoadMessageInfo() == nil {
   742  			ms.StoreMessageInfo(mi)
   743  		}
   744  		return ms
   745  	}
   746  	return mi.MessageOf(x)
   747  }
   748  
   749  // Deprecated: Use GetResponse_SignedUrls.ProtoReflect.Descriptor instead.
   750  func (*GetResponse_SignedUrls) Descriptor() ([]byte, []int) {
   751  	return file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_rawDescGZIP(), []int{2, 0}
   752  }
   753  
   754  func (x *GetResponse_SignedUrls) GetExpiration() *timestamppb.Timestamp {
   755  	if x != nil {
   756  		return x.Expiration
   757  	}
   758  	return nil
   759  }
   760  
   761  func (x *GetResponse_SignedUrls) GetStream() string {
   762  	if x != nil {
   763  		return x.Stream
   764  	}
   765  	return ""
   766  }
   767  
   768  func (x *GetResponse_SignedUrls) GetIndex() string {
   769  	if x != nil {
   770  		return x.Index
   771  	}
   772  	return ""
   773  }
   774  
   775  // The stream type to filter on.
   776  type QueryRequest_StreamTypeFilter struct {
   777  	state         protoimpl.MessageState
   778  	sizeCache     protoimpl.SizeCache
   779  	unknownFields protoimpl.UnknownFields
   780  
   781  	// The StreamType value to filter on.
   782  	Value logpb.StreamType `protobuf:"varint,1,opt,name=value,proto3,enum=logpb.StreamType" json:"value,omitempty"`
   783  }
   784  
   785  func (x *QueryRequest_StreamTypeFilter) Reset() {
   786  	*x = QueryRequest_StreamTypeFilter{}
   787  	if protoimpl.UnsafeEnabled {
   788  		mi := &file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[7]
   789  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   790  		ms.StoreMessageInfo(mi)
   791  	}
   792  }
   793  
   794  func (x *QueryRequest_StreamTypeFilter) String() string {
   795  	return protoimpl.X.MessageStringOf(x)
   796  }
   797  
   798  func (*QueryRequest_StreamTypeFilter) ProtoMessage() {}
   799  
   800  func (x *QueryRequest_StreamTypeFilter) ProtoReflect() protoreflect.Message {
   801  	mi := &file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[7]
   802  	if protoimpl.UnsafeEnabled && x != nil {
   803  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   804  		if ms.LoadMessageInfo() == nil {
   805  			ms.StoreMessageInfo(mi)
   806  		}
   807  		return ms
   808  	}
   809  	return mi.MessageOf(x)
   810  }
   811  
   812  // Deprecated: Use QueryRequest_StreamTypeFilter.ProtoReflect.Descriptor instead.
   813  func (*QueryRequest_StreamTypeFilter) Descriptor() ([]byte, []int) {
   814  	return file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_rawDescGZIP(), []int{3, 0}
   815  }
   816  
   817  func (x *QueryRequest_StreamTypeFilter) GetValue() logpb.StreamType {
   818  	if x != nil {
   819  		return x.Value
   820  	}
   821  	return logpb.StreamType(0)
   822  }
   823  
   824  // Stream represents a single query response stream.
   825  type QueryResponse_Stream struct {
   826  	state         protoimpl.MessageState
   827  	sizeCache     protoimpl.SizeCache
   828  	unknownFields protoimpl.UnknownFields
   829  
   830  	// Path is the log stream path.
   831  	Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
   832  	// State is the log stream descriptor and state for this stream.
   833  	//
   834  	// It can be requested by setting the request's State field to true. If the
   835  	// Proto field is true, the State's Descriptor field will not be included.
   836  	State *LogStreamState `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
   837  	// The JSON-packed log stream descriptor protobuf.
   838  	//
   839  	// A Descriptor entry corresponds to the Path with the same index.
   840  	//
   841  	// If the query request's State field is set, the descriptor will be
   842  	// populated. If the Proto field is false, Descriptor will be populated;
   843  	// otherwise, DescriptorProto will be populated with the serialized descriptor
   844  	// protobuf.
   845  	Desc *logpb.LogStreamDescriptor `protobuf:"bytes,3,opt,name=desc,proto3" json:"desc,omitempty"`
   846  	// The serialized log stream Descriptor protobuf.
   847  	DescProto []byte `protobuf:"bytes,4,opt,name=desc_proto,json=descProto,proto3" json:"desc_proto,omitempty"`
   848  }
   849  
   850  func (x *QueryResponse_Stream) Reset() {
   851  	*x = QueryResponse_Stream{}
   852  	if protoimpl.UnsafeEnabled {
   853  		mi := &file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[9]
   854  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   855  		ms.StoreMessageInfo(mi)
   856  	}
   857  }
   858  
   859  func (x *QueryResponse_Stream) String() string {
   860  	return protoimpl.X.MessageStringOf(x)
   861  }
   862  
   863  func (*QueryResponse_Stream) ProtoMessage() {}
   864  
   865  func (x *QueryResponse_Stream) ProtoReflect() protoreflect.Message {
   866  	mi := &file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[9]
   867  	if protoimpl.UnsafeEnabled && x != nil {
   868  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   869  		if ms.LoadMessageInfo() == nil {
   870  			ms.StoreMessageInfo(mi)
   871  		}
   872  		return ms
   873  	}
   874  	return mi.MessageOf(x)
   875  }
   876  
   877  // Deprecated: Use QueryResponse_Stream.ProtoReflect.Descriptor instead.
   878  func (*QueryResponse_Stream) Descriptor() ([]byte, []int) {
   879  	return file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_rawDescGZIP(), []int{4, 0}
   880  }
   881  
   882  func (x *QueryResponse_Stream) GetPath() string {
   883  	if x != nil {
   884  		return x.Path
   885  	}
   886  	return ""
   887  }
   888  
   889  func (x *QueryResponse_Stream) GetState() *LogStreamState {
   890  	if x != nil {
   891  		return x.State
   892  	}
   893  	return nil
   894  }
   895  
   896  func (x *QueryResponse_Stream) GetDesc() *logpb.LogStreamDescriptor {
   897  	if x != nil {
   898  		return x.Desc
   899  	}
   900  	return nil
   901  }
   902  
   903  func (x *QueryResponse_Stream) GetDescProto() []byte {
   904  	if x != nil {
   905  		return x.DescProto
   906  	}
   907  	return nil
   908  }
   909  
   910  var File_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto protoreflect.FileDescriptor
   911  
   912  var file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_rawDesc = []byte{
   913  	0x0a, 0x48, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
   914  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x6c, 0x6f, 0x67, 0x64, 0x6f, 0x67, 0x2f, 0x61, 0x70,
   915  	0x69, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6f, 0x72,
   916  	0x64, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x76, 0x31, 0x2f,
   917  	0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x6c, 0x6f, 0x67, 0x64,
   918  	0x6f, 0x67, 0x1a, 0x49, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e,
   919  	0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x6c, 0x6f, 0x67, 0x64, 0x6f, 0x67, 0x2f,
   920  	0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f,
   921  	0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x2f, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x76,
   922  	0x31, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x67,
   923  	0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c,
   924  	0x75, 0x63, 0x69, 0x2f, 0x6c, 0x6f, 0x67, 0x64, 0x6f, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6c,
   925  	0x6f, 0x67, 0x70, 0x62, 0x2f, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f,
   926  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
   927  	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
   928  	0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
   929  	0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
   930  	0x8b, 0x03, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18,
   931  	0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
   932  	0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68,
   933  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05,
   934  	0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x74, 0x61,
   935  	0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28,
   936  	0x03, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x79, 0x74, 0x65,
   937  	0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x62, 0x79,
   938  	0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x63,
   939  	0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x43,
   940  	0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x74,
   941  	0x69, 0x67, 0x75, 0x6f, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6e, 0x6f,
   942  	0x6e, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x67, 0x75, 0x6f, 0x75, 0x73, 0x12, 0x49, 0x0a, 0x0f, 0x67,
   943  	0x65, 0x74, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x08,
   944  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x6f, 0x67, 0x64, 0x6f, 0x67, 0x2e, 0x47, 0x65,
   945  	0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x55, 0x52, 0x4c,
   946  	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0d, 0x67, 0x65, 0x74, 0x53, 0x69, 0x67, 0x6e,
   947  	0x65, 0x64, 0x55, 0x72, 0x6c, 0x73, 0x1a, 0x75, 0x0a, 0x0e, 0x53, 0x69, 0x67, 0x6e, 0x55, 0x52,
   948  	0x4c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x6c, 0x69, 0x66, 0x65,
   949  	0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f,
   950  	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72,
   951  	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12,
   952  	0x16, 0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52,
   953  	0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78,
   954  	0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x51, 0x0a,
   955  	0x0b, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07,
   956  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70,
   957  	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02,
   958  	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74,
   959  	0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65,
   960  	0x22, 0xf9, 0x02, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
   961  	0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
   962  	0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65,
   963  	0x61, 0x6c, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x61, 0x6c, 0x6d,
   964  	0x12, 0x2c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
   965  	0x16, 0x2e, 0x6c, 0x6f, 0x67, 0x64, 0x6f, 0x67, 0x2e, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x72, 0x65,
   966  	0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2e,
   967  	0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c,
   968  	0x6f, 0x67, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65,
   969  	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x23,
   970  	0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x6c,
   971  	0x6f, 0x67, 0x70, 0x62, 0x2e, 0x4c, 0x6f, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x6c,
   972  	0x6f, 0x67, 0x73, 0x12, 0x3f, 0x0a, 0x0b, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72,
   973  	0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x6f, 0x67, 0x64, 0x6f,
   974  	0x67, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x69,
   975  	0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x73, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64,
   976  	0x55, 0x72, 0x6c, 0x73, 0x1a, 0x76, 0x0a, 0x0a, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72,
   977  	0x6c, 0x73, 0x12, 0x3a, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
   978  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
   979  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
   980  	0x6d, 0x70, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16,
   981  	0x0a, 0x06, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
   982  	0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18,
   983  	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xbd, 0x04, 0x0a,
   984  	0x0c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a,
   985  	0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
   986  	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18,
   987  	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x73,
   988  	0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74,
   989  	0x65, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
   990  	0x52, 0x05, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18,
   991  	0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6d,
   992  	0x61, 0x78, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05,
   993  	0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x21, 0x0a, 0x0c,
   994  	0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01,
   995  	0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12,
   996  	0x46, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b,
   997  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6c, 0x6f, 0x67, 0x64, 0x6f, 0x67, 0x2e, 0x51, 0x75,
   998  	0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61,
   999  	0x6d, 0x54, 0x79, 0x70, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x0a, 0x73, 0x74, 0x72,
  1000  	0x65, 0x61, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18,
  1001  	0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x6f, 0x67, 0x64, 0x6f, 0x67, 0x2e, 0x51,
  1002  	0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x61, 0x67, 0x73,
  1003  	0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x34, 0x0a, 0x06, 0x70,
  1004  	0x75, 0x72, 0x67, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6c, 0x6f,
  1005  	0x67, 0x64, 0x6f, 0x67, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  1006  	0x74, 0x2e, 0x54, 0x72, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x52, 0x06, 0x70, 0x75, 0x72, 0x67, 0x65,
  1007  	0x64, 0x1a, 0x3b, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x46,
  1008  	0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01,
  1009  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x11, 0x2e, 0x6c, 0x6f, 0x67, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x72,
  1010  	0x65, 0x61, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x37,
  1011  	0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
  1012  	0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
  1013  	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
  1014  	0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x24, 0x0a, 0x07, 0x54, 0x72, 0x69, 0x6e, 0x61,
  1015  	0x72, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4f, 0x54, 0x48, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03,
  1016  	0x59, 0x45, 0x53, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x4e, 0x4f, 0x10, 0x02, 0x4a, 0x04, 0x08,
  1017  	0x0c, 0x10, 0x0d, 0x4a, 0x04, 0x08, 0x0d, 0x10, 0x0e, 0x4a, 0x04, 0x08, 0x0e, 0x10, 0x0f, 0x52,
  1018  	0x05, 0x6e, 0x65, 0x77, 0x65, 0x72, 0x52, 0x05, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x0d, 0x70,
  1019  	0x72, 0x6f, 0x74, 0x6f, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xa7, 0x02, 0x0a,
  1020  	0x0d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18,
  1021  	0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  1022  	0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x72, 0x65, 0x61, 0x6c,
  1023  	0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x61, 0x6c, 0x6d, 0x12, 0x36,
  1024  	0x0a, 0x07, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
  1025  	0x1c, 0x2e, 0x6c, 0x6f, 0x67, 0x64, 0x6f, 0x67, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65,
  1026  	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x52, 0x07, 0x73,
  1027  	0x74, 0x72, 0x65, 0x61, 0x6d, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x18, 0x03,
  1028  	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x65, 0x78, 0x74, 0x1a, 0x99, 0x01, 0x0a, 0x06, 0x53,
  1029  	0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20,
  1030  	0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x2c, 0x0a, 0x05, 0x73, 0x74, 0x61,
  1031  	0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6c, 0x6f, 0x67, 0x64, 0x6f,
  1032  	0x67, 0x2e, 0x4c, 0x6f, 0x67, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65,
  1033  	0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x65, 0x73, 0x63, 0x18,
  1034  	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x6f, 0x67, 0x70, 0x62, 0x2e, 0x4c, 0x6f,
  1035  	0x67, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f,
  1036  	0x72, 0x52, 0x04, 0x64, 0x65, 0x73, 0x63, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x73, 0x63, 0x5f,
  1037  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x64, 0x65, 0x73,
  1038  	0x63, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x9e, 0x01, 0x0a, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x12,
  1039  	0x2e, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x12, 0x2e, 0x6c, 0x6f, 0x67, 0x64, 0x6f, 0x67, 0x2e,
  1040  	0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x6c, 0x6f, 0x67,
  1041  	0x64, 0x6f, 0x67, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
  1042  	0x30, 0x0a, 0x04, 0x54, 0x61, 0x69, 0x6c, 0x12, 0x13, 0x2e, 0x6c, 0x6f, 0x67, 0x64, 0x6f, 0x67,
  1043  	0x2e, 0x54, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x6c,
  1044  	0x6f, 0x67, 0x64, 0x6f, 0x67, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
  1045  	0x65, 0x12, 0x34, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x14, 0x2e, 0x6c, 0x6f, 0x67,
  1046  	0x64, 0x6f, 0x67, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
  1047  	0x1a, 0x15, 0x2e, 0x6c, 0x6f, 0x67, 0x64, 0x6f, 0x67, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52,
  1048  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x46, 0x5a, 0x44, 0x67, 0x6f, 0x2e, 0x63, 0x68,
  1049  	0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f,
  1050  	0x6c, 0x6f, 0x67, 0x64, 0x6f, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f,
  1051  	0x69, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72,
  1052  	0x2f, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x6c, 0x6f, 0x67, 0x64, 0x6f, 0x67, 0x62,
  1053  	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1054  }
  1055  
  1056  var (
  1057  	file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_rawDescOnce sync.Once
  1058  	file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_rawDescData = file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_rawDesc
  1059  )
  1060  
  1061  func file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_rawDescGZIP() []byte {
  1062  	file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_rawDescOnce.Do(func() {
  1063  		file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_rawDescData)
  1064  	})
  1065  	return file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_rawDescData
  1066  }
  1067  
  1068  var file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
  1069  var file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
  1070  var file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_goTypes = []interface{}{
  1071  	(QueryRequest_Trinary)(0),             // 0: logdog.QueryRequest.Trinary
  1072  	(*GetRequest)(nil),                    // 1: logdog.GetRequest
  1073  	(*TailRequest)(nil),                   // 2: logdog.TailRequest
  1074  	(*GetResponse)(nil),                   // 3: logdog.GetResponse
  1075  	(*QueryRequest)(nil),                  // 4: logdog.QueryRequest
  1076  	(*QueryResponse)(nil),                 // 5: logdog.QueryResponse
  1077  	(*GetRequest_SignURLRequest)(nil),     // 6: logdog.GetRequest.SignURLRequest
  1078  	(*GetResponse_SignedUrls)(nil),        // 7: logdog.GetResponse.SignedUrls
  1079  	(*QueryRequest_StreamTypeFilter)(nil), // 8: logdog.QueryRequest.StreamTypeFilter
  1080  	nil,                                   // 9: logdog.QueryRequest.TagsEntry
  1081  	(*QueryResponse_Stream)(nil),          // 10: logdog.QueryResponse.Stream
  1082  	(*LogStreamState)(nil),                // 11: logdog.LogStreamState
  1083  	(*logpb.LogStreamDescriptor)(nil),     // 12: logpb.LogStreamDescriptor
  1084  	(*logpb.LogEntry)(nil),                // 13: logpb.LogEntry
  1085  	(*durationpb.Duration)(nil),           // 14: google.protobuf.Duration
  1086  	(*timestamppb.Timestamp)(nil),         // 15: google.protobuf.Timestamp
  1087  	(logpb.StreamType)(0),                 // 16: logpb.StreamType
  1088  }
  1089  var file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_depIdxs = []int32{
  1090  	6,  // 0: logdog.GetRequest.get_signed_urls:type_name -> logdog.GetRequest.SignURLRequest
  1091  	11, // 1: logdog.GetResponse.state:type_name -> logdog.LogStreamState
  1092  	12, // 2: logdog.GetResponse.desc:type_name -> logpb.LogStreamDescriptor
  1093  	13, // 3: logdog.GetResponse.logs:type_name -> logpb.LogEntry
  1094  	7,  // 4: logdog.GetResponse.signed_urls:type_name -> logdog.GetResponse.SignedUrls
  1095  	8,  // 5: logdog.QueryRequest.stream_type:type_name -> logdog.QueryRequest.StreamTypeFilter
  1096  	9,  // 6: logdog.QueryRequest.tags:type_name -> logdog.QueryRequest.TagsEntry
  1097  	0,  // 7: logdog.QueryRequest.purged:type_name -> logdog.QueryRequest.Trinary
  1098  	10, // 8: logdog.QueryResponse.streams:type_name -> logdog.QueryResponse.Stream
  1099  	14, // 9: logdog.GetRequest.SignURLRequest.lifetime:type_name -> google.protobuf.Duration
  1100  	15, // 10: logdog.GetResponse.SignedUrls.expiration:type_name -> google.protobuf.Timestamp
  1101  	16, // 11: logdog.QueryRequest.StreamTypeFilter.value:type_name -> logpb.StreamType
  1102  	11, // 12: logdog.QueryResponse.Stream.state:type_name -> logdog.LogStreamState
  1103  	12, // 13: logdog.QueryResponse.Stream.desc:type_name -> logpb.LogStreamDescriptor
  1104  	1,  // 14: logdog.Logs.Get:input_type -> logdog.GetRequest
  1105  	2,  // 15: logdog.Logs.Tail:input_type -> logdog.TailRequest
  1106  	4,  // 16: logdog.Logs.Query:input_type -> logdog.QueryRequest
  1107  	3,  // 17: logdog.Logs.Get:output_type -> logdog.GetResponse
  1108  	3,  // 18: logdog.Logs.Tail:output_type -> logdog.GetResponse
  1109  	5,  // 19: logdog.Logs.Query:output_type -> logdog.QueryResponse
  1110  	17, // [17:20] is the sub-list for method output_type
  1111  	14, // [14:17] is the sub-list for method input_type
  1112  	14, // [14:14] is the sub-list for extension type_name
  1113  	14, // [14:14] is the sub-list for extension extendee
  1114  	0,  // [0:14] is the sub-list for field type_name
  1115  }
  1116  
  1117  func init() { file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_init() }
  1118  func file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_init() {
  1119  	if File_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto != nil {
  1120  		return
  1121  	}
  1122  	file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_state_proto_init()
  1123  	if !protoimpl.UnsafeEnabled {
  1124  		file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1125  			switch v := v.(*GetRequest); i {
  1126  			case 0:
  1127  				return &v.state
  1128  			case 1:
  1129  				return &v.sizeCache
  1130  			case 2:
  1131  				return &v.unknownFields
  1132  			default:
  1133  				return nil
  1134  			}
  1135  		}
  1136  		file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1137  			switch v := v.(*TailRequest); i {
  1138  			case 0:
  1139  				return &v.state
  1140  			case 1:
  1141  				return &v.sizeCache
  1142  			case 2:
  1143  				return &v.unknownFields
  1144  			default:
  1145  				return nil
  1146  			}
  1147  		}
  1148  		file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1149  			switch v := v.(*GetResponse); i {
  1150  			case 0:
  1151  				return &v.state
  1152  			case 1:
  1153  				return &v.sizeCache
  1154  			case 2:
  1155  				return &v.unknownFields
  1156  			default:
  1157  				return nil
  1158  			}
  1159  		}
  1160  		file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1161  			switch v := v.(*QueryRequest); i {
  1162  			case 0:
  1163  				return &v.state
  1164  			case 1:
  1165  				return &v.sizeCache
  1166  			case 2:
  1167  				return &v.unknownFields
  1168  			default:
  1169  				return nil
  1170  			}
  1171  		}
  1172  		file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1173  			switch v := v.(*QueryResponse); i {
  1174  			case 0:
  1175  				return &v.state
  1176  			case 1:
  1177  				return &v.sizeCache
  1178  			case 2:
  1179  				return &v.unknownFields
  1180  			default:
  1181  				return nil
  1182  			}
  1183  		}
  1184  		file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1185  			switch v := v.(*GetRequest_SignURLRequest); i {
  1186  			case 0:
  1187  				return &v.state
  1188  			case 1:
  1189  				return &v.sizeCache
  1190  			case 2:
  1191  				return &v.unknownFields
  1192  			default:
  1193  				return nil
  1194  			}
  1195  		}
  1196  		file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1197  			switch v := v.(*GetResponse_SignedUrls); i {
  1198  			case 0:
  1199  				return &v.state
  1200  			case 1:
  1201  				return &v.sizeCache
  1202  			case 2:
  1203  				return &v.unknownFields
  1204  			default:
  1205  				return nil
  1206  			}
  1207  		}
  1208  		file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1209  			switch v := v.(*QueryRequest_StreamTypeFilter); i {
  1210  			case 0:
  1211  				return &v.state
  1212  			case 1:
  1213  				return &v.sizeCache
  1214  			case 2:
  1215  				return &v.unknownFields
  1216  			default:
  1217  				return nil
  1218  			}
  1219  		}
  1220  		file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  1221  			switch v := v.(*QueryResponse_Stream); i {
  1222  			case 0:
  1223  				return &v.state
  1224  			case 1:
  1225  				return &v.sizeCache
  1226  			case 2:
  1227  				return &v.unknownFields
  1228  			default:
  1229  				return nil
  1230  			}
  1231  		}
  1232  	}
  1233  	type x struct{}
  1234  	out := protoimpl.TypeBuilder{
  1235  		File: protoimpl.DescBuilder{
  1236  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1237  			RawDescriptor: file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_rawDesc,
  1238  			NumEnums:      1,
  1239  			NumMessages:   10,
  1240  			NumExtensions: 0,
  1241  			NumServices:   1,
  1242  		},
  1243  		GoTypes:           file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_goTypes,
  1244  		DependencyIndexes: file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_depIdxs,
  1245  		EnumInfos:         file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_enumTypes,
  1246  		MessageInfos:      file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_msgTypes,
  1247  	}.Build()
  1248  	File_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto = out.File
  1249  	file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_rawDesc = nil
  1250  	file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_goTypes = nil
  1251  	file_go_chromium_org_luci_logdog_api_endpoints_coordinator_logs_v1_logs_proto_depIdxs = nil
  1252  }
  1253  
  1254  // Reference imports to suppress errors if they are not otherwise used.
  1255  var _ context.Context
  1256  var _ grpc.ClientConnInterface
  1257  
  1258  // This is a compile-time assertion to ensure that this generated file
  1259  // is compatible with the grpc package it is being compiled against.
  1260  const _ = grpc.SupportPackageIsVersion6
  1261  
  1262  // LogsClient is the client API for Logs service.
  1263  //
  1264  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  1265  type LogsClient interface {
  1266  	// Get returns state and log data for a single log stream.
  1267  	Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*GetResponse, error)
  1268  	// Tail returns the last log in the log stream at the time of the request.
  1269  	Tail(ctx context.Context, in *TailRequest, opts ...grpc.CallOption) (*GetResponse, error)
  1270  	// Query returns log stream paths that match the requested query.
  1271  	Query(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResponse, error)
  1272  }
  1273  type logsPRPCClient struct {
  1274  	client *prpc.Client
  1275  }
  1276  
  1277  func NewLogsPRPCClient(client *prpc.Client) LogsClient {
  1278  	return &logsPRPCClient{client}
  1279  }
  1280  
  1281  func (c *logsPRPCClient) Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*GetResponse, error) {
  1282  	out := new(GetResponse)
  1283  	err := c.client.Call(ctx, "logdog.Logs", "Get", in, out, opts...)
  1284  	if err != nil {
  1285  		return nil, err
  1286  	}
  1287  	return out, nil
  1288  }
  1289  
  1290  func (c *logsPRPCClient) Tail(ctx context.Context, in *TailRequest, opts ...grpc.CallOption) (*GetResponse, error) {
  1291  	out := new(GetResponse)
  1292  	err := c.client.Call(ctx, "logdog.Logs", "Tail", in, out, opts...)
  1293  	if err != nil {
  1294  		return nil, err
  1295  	}
  1296  	return out, nil
  1297  }
  1298  
  1299  func (c *logsPRPCClient) Query(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResponse, error) {
  1300  	out := new(QueryResponse)
  1301  	err := c.client.Call(ctx, "logdog.Logs", "Query", in, out, opts...)
  1302  	if err != nil {
  1303  		return nil, err
  1304  	}
  1305  	return out, nil
  1306  }
  1307  
  1308  type logsClient struct {
  1309  	cc grpc.ClientConnInterface
  1310  }
  1311  
  1312  func NewLogsClient(cc grpc.ClientConnInterface) LogsClient {
  1313  	return &logsClient{cc}
  1314  }
  1315  
  1316  func (c *logsClient) Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*GetResponse, error) {
  1317  	out := new(GetResponse)
  1318  	err := c.cc.Invoke(ctx, "/logdog.Logs/Get", in, out, opts...)
  1319  	if err != nil {
  1320  		return nil, err
  1321  	}
  1322  	return out, nil
  1323  }
  1324  
  1325  func (c *logsClient) Tail(ctx context.Context, in *TailRequest, opts ...grpc.CallOption) (*GetResponse, error) {
  1326  	out := new(GetResponse)
  1327  	err := c.cc.Invoke(ctx, "/logdog.Logs/Tail", in, out, opts...)
  1328  	if err != nil {
  1329  		return nil, err
  1330  	}
  1331  	return out, nil
  1332  }
  1333  
  1334  func (c *logsClient) Query(ctx context.Context, in *QueryRequest, opts ...grpc.CallOption) (*QueryResponse, error) {
  1335  	out := new(QueryResponse)
  1336  	err := c.cc.Invoke(ctx, "/logdog.Logs/Query", in, out, opts...)
  1337  	if err != nil {
  1338  		return nil, err
  1339  	}
  1340  	return out, nil
  1341  }
  1342  
  1343  // LogsServer is the server API for Logs service.
  1344  type LogsServer interface {
  1345  	// Get returns state and log data for a single log stream.
  1346  	Get(context.Context, *GetRequest) (*GetResponse, error)
  1347  	// Tail returns the last log in the log stream at the time of the request.
  1348  	Tail(context.Context, *TailRequest) (*GetResponse, error)
  1349  	// Query returns log stream paths that match the requested query.
  1350  	Query(context.Context, *QueryRequest) (*QueryResponse, error)
  1351  }
  1352  
  1353  // UnimplementedLogsServer can be embedded to have forward compatible implementations.
  1354  type UnimplementedLogsServer struct {
  1355  }
  1356  
  1357  func (*UnimplementedLogsServer) Get(context.Context, *GetRequest) (*GetResponse, error) {
  1358  	return nil, status.Errorf(codes.Unimplemented, "method Get not implemented")
  1359  }
  1360  func (*UnimplementedLogsServer) Tail(context.Context, *TailRequest) (*GetResponse, error) {
  1361  	return nil, status.Errorf(codes.Unimplemented, "method Tail not implemented")
  1362  }
  1363  func (*UnimplementedLogsServer) Query(context.Context, *QueryRequest) (*QueryResponse, error) {
  1364  	return nil, status.Errorf(codes.Unimplemented, "method Query not implemented")
  1365  }
  1366  
  1367  func RegisterLogsServer(s prpc.Registrar, srv LogsServer) {
  1368  	s.RegisterService(&_Logs_serviceDesc, srv)
  1369  }
  1370  
  1371  func _Logs_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1372  	in := new(GetRequest)
  1373  	if err := dec(in); err != nil {
  1374  		return nil, err
  1375  	}
  1376  	if interceptor == nil {
  1377  		return srv.(LogsServer).Get(ctx, in)
  1378  	}
  1379  	info := &grpc.UnaryServerInfo{
  1380  		Server:     srv,
  1381  		FullMethod: "/logdog.Logs/Get",
  1382  	}
  1383  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1384  		return srv.(LogsServer).Get(ctx, req.(*GetRequest))
  1385  	}
  1386  	return interceptor(ctx, in, info, handler)
  1387  }
  1388  
  1389  func _Logs_Tail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1390  	in := new(TailRequest)
  1391  	if err := dec(in); err != nil {
  1392  		return nil, err
  1393  	}
  1394  	if interceptor == nil {
  1395  		return srv.(LogsServer).Tail(ctx, in)
  1396  	}
  1397  	info := &grpc.UnaryServerInfo{
  1398  		Server:     srv,
  1399  		FullMethod: "/logdog.Logs/Tail",
  1400  	}
  1401  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1402  		return srv.(LogsServer).Tail(ctx, req.(*TailRequest))
  1403  	}
  1404  	return interceptor(ctx, in, info, handler)
  1405  }
  1406  
  1407  func _Logs_Query_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1408  	in := new(QueryRequest)
  1409  	if err := dec(in); err != nil {
  1410  		return nil, err
  1411  	}
  1412  	if interceptor == nil {
  1413  		return srv.(LogsServer).Query(ctx, in)
  1414  	}
  1415  	info := &grpc.UnaryServerInfo{
  1416  		Server:     srv,
  1417  		FullMethod: "/logdog.Logs/Query",
  1418  	}
  1419  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1420  		return srv.(LogsServer).Query(ctx, req.(*QueryRequest))
  1421  	}
  1422  	return interceptor(ctx, in, info, handler)
  1423  }
  1424  
  1425  var _Logs_serviceDesc = grpc.ServiceDesc{
  1426  	ServiceName: "logdog.Logs",
  1427  	HandlerType: (*LogsServer)(nil),
  1428  	Methods: []grpc.MethodDesc{
  1429  		{
  1430  			MethodName: "Get",
  1431  			Handler:    _Logs_Get_Handler,
  1432  		},
  1433  		{
  1434  			MethodName: "Tail",
  1435  			Handler:    _Logs_Tail_Handler,
  1436  		},
  1437  		{
  1438  			MethodName: "Query",
  1439  			Handler:    _Logs_Query_Handler,
  1440  		},
  1441  	},
  1442  	Streams:  []grpc.StreamDesc{},
  1443  	Metadata: "go.chromium.org/luci/logdog/api/endpoints/coordinator/logs/v1/logs.proto",
  1444  }