blob: fe0ab9d686d87b156660fdf3a5100c4362827afb [file] [log] [blame]
// Copyright 2019 The LUCI Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0-devel
// protoc v3.12.1
// source: go.chromium.org/luci/resultdb/proto/v1/resultdb.proto
package resultpb
import prpc "go.chromium.org/luci/grpc/prpc"
import (
context "context"
_ "google.golang.org/genproto/googleapis/api/annotations"
field_mask "google.golang.org/genproto/protobuf/field_mask"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// A request message for GetInvocation RPC.
type GetInvocationRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The name of the invocation to request, see Invocation.name.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *GetInvocationRequest) Reset() {
*x = GetInvocationRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetInvocationRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetInvocationRequest) ProtoMessage() {}
func (x *GetInvocationRequest) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetInvocationRequest.ProtoReflect.Descriptor instead.
func (*GetInvocationRequest) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescGZIP(), []int{0}
}
func (x *GetInvocationRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// A request message for GetTestResult RPC.
type GetTestResultRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The name of the test result to request, see TestResult.name.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *GetTestResultRequest) Reset() {
*x = GetTestResultRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetTestResultRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetTestResultRequest) ProtoMessage() {}
func (x *GetTestResultRequest) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetTestResultRequest.ProtoReflect.Descriptor instead.
func (*GetTestResultRequest) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescGZIP(), []int{1}
}
func (x *GetTestResultRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// A request message for ListTestResults RPC.
type ListTestResultsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the invocation, e.g. "invocations/{id}".
Invocation string `protobuf:"bytes,1,opt,name=invocation,proto3" json:"invocation,omitempty"`
// The maximum number of test results to return.
//
// The service may return fewer than this value.
// If unspecified, at most 100 test results will be returned.
// The maximum value is 1000; values above 1000 will be coerced to 1000.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// A page token, received from a previous `ListTestResults` call.
// Provide this to retrieve the subsequent page.
//
// When paginating, all other parameters provided to `ListTestResults` MUST
// match the call that provided the page token.
PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
// Fields to include in the response.
// If not set, the default mask is used where summary_html and tags are
// excluded.
// Test result names will always be included even if "name" is not a part of
// the mask.
ReadMask *field_mask.FieldMask `protobuf:"bytes,4,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"`
}
func (x *ListTestResultsRequest) Reset() {
*x = ListTestResultsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListTestResultsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListTestResultsRequest) ProtoMessage() {}
func (x *ListTestResultsRequest) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListTestResultsRequest.ProtoReflect.Descriptor instead.
func (*ListTestResultsRequest) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescGZIP(), []int{2}
}
func (x *ListTestResultsRequest) GetInvocation() string {
if x != nil {
return x.Invocation
}
return ""
}
func (x *ListTestResultsRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListTestResultsRequest) GetPageToken() string {
if x != nil {
return x.PageToken
}
return ""
}
func (x *ListTestResultsRequest) GetReadMask() *field_mask.FieldMask {
if x != nil {
return x.ReadMask
}
return nil
}
// A response message for ListTestResults RPC.
type ListTestResultsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The test results from the specified invocation.
TestResults []*TestResult `protobuf:"bytes,1,rep,name=test_results,json=testResults,proto3" json:"test_results,omitempty"`
// A token, which can be sent as `page_token` to retrieve the next page.
// If this field is omitted, there were no subsequent pages at the time of
// request.
// If the invocation is not finalized, more results may appear later.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}
func (x *ListTestResultsResponse) Reset() {
*x = ListTestResultsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListTestResultsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListTestResultsResponse) ProtoMessage() {}
func (x *ListTestResultsResponse) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListTestResultsResponse.ProtoReflect.Descriptor instead.
func (*ListTestResultsResponse) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescGZIP(), []int{3}
}
func (x *ListTestResultsResponse) GetTestResults() []*TestResult {
if x != nil {
return x.TestResults
}
return nil
}
func (x *ListTestResultsResponse) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
// A request message for GetTestExoneration RPC.
type GetTestExonerationRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The name of the test exoneration to request, see TestExoneration.name.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *GetTestExonerationRequest) Reset() {
*x = GetTestExonerationRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetTestExonerationRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetTestExonerationRequest) ProtoMessage() {}
func (x *GetTestExonerationRequest) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetTestExonerationRequest.ProtoReflect.Descriptor instead.
func (*GetTestExonerationRequest) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescGZIP(), []int{4}
}
func (x *GetTestExonerationRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// A request message for ListTestExonerations RPC.
type ListTestExonerationsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the invocation, e.g. "invocations/{id}".
Invocation string `protobuf:"bytes,1,opt,name=invocation,proto3" json:"invocation,omitempty"`
// The maximum number of test exonerations to return.
//
// The service may return fewer than this value.
// If unspecified, at most 100 test exonerations will be returned.
// The maximum value is 1000; values above 1000 will be coerced to 1000.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// A page token, received from a previous `ListTestExonerations` call.
// Provide this to retrieve the subsequent page.
//
// When paginating, all other parameters provided to `ListTestExonerations`
// MUST match the call that provided the page token.
PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
}
func (x *ListTestExonerationsRequest) Reset() {
*x = ListTestExonerationsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListTestExonerationsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListTestExonerationsRequest) ProtoMessage() {}
func (x *ListTestExonerationsRequest) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListTestExonerationsRequest.ProtoReflect.Descriptor instead.
func (*ListTestExonerationsRequest) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescGZIP(), []int{5}
}
func (x *ListTestExonerationsRequest) GetInvocation() string {
if x != nil {
return x.Invocation
}
return ""
}
func (x *ListTestExonerationsRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListTestExonerationsRequest) GetPageToken() string {
if x != nil {
return x.PageToken
}
return ""
}
// A response message for ListTestExonerations RPC.
type ListTestExonerationsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The test exonerations from the specified invocation.
TestExonerations []*TestExoneration `protobuf:"bytes,1,rep,name=test_exonerations,json=testExonerations,proto3" json:"test_exonerations,omitempty"`
// A token, which can be sent as `page_token` to retrieve the next page.
// If this field is omitted, there were no subsequent pages at the time of
// request.
// If the invocation is not finalized, more results may appear later.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}
func (x *ListTestExonerationsResponse) Reset() {
*x = ListTestExonerationsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListTestExonerationsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListTestExonerationsResponse) ProtoMessage() {}
func (x *ListTestExonerationsResponse) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListTestExonerationsResponse.ProtoReflect.Descriptor instead.
func (*ListTestExonerationsResponse) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescGZIP(), []int{6}
}
func (x *ListTestExonerationsResponse) GetTestExonerations() []*TestExoneration {
if x != nil {
return x.TestExonerations
}
return nil
}
func (x *ListTestExonerationsResponse) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
// A request message for QueryTestResults RPC.
type QueryTestResultsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Retrieve test results included in these invocations, directly or indirectly
// (via Invocation.included_invocations).
//
// Specifying multiple invocations is equivalent to querying one invocation
// that includes these.
Invocations []string `protobuf:"bytes,1,rep,name=invocations,proto3" json:"invocations,omitempty"`
// A test result in the response must satisfy this predicate.
Predicate *TestResultPredicate `protobuf:"bytes,2,opt,name=predicate,proto3" json:"predicate,omitempty"`
// The maximum number of test results to return.
//
// The service may return fewer than this value.
// If unspecified, at most 100 test results will be returned.
// The maximum value is 1000; values above 1000 will be coerced to 1000.
PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// A page token, received from a previous `QueryTestResults` call.
// Provide this to retrieve the subsequent page.
//
// When paginating, all other parameters provided to `QueryTestResults` MUST
// match the call that provided the page token.
PageToken string `protobuf:"bytes,5,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
// Fields to include in the response.
// If not set, the default mask is used where summary_html and tags are
// excluded.
// Test result names will always be included even if "name" is not a part of
// the mask.
ReadMask *field_mask.FieldMask `protobuf:"bytes,6,opt,name=read_mask,json=readMask,proto3" json:"read_mask,omitempty"`
}
func (x *QueryTestResultsRequest) Reset() {
*x = QueryTestResultsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QueryTestResultsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QueryTestResultsRequest) ProtoMessage() {}
func (x *QueryTestResultsRequest) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use QueryTestResultsRequest.ProtoReflect.Descriptor instead.
func (*QueryTestResultsRequest) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescGZIP(), []int{7}
}
func (x *QueryTestResultsRequest) GetInvocations() []string {
if x != nil {
return x.Invocations
}
return nil
}
func (x *QueryTestResultsRequest) GetPredicate() *TestResultPredicate {
if x != nil {
return x.Predicate
}
return nil
}
func (x *QueryTestResultsRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *QueryTestResultsRequest) GetPageToken() string {
if x != nil {
return x.PageToken
}
return ""
}
func (x *QueryTestResultsRequest) GetReadMask() *field_mask.FieldMask {
if x != nil {
return x.ReadMask
}
return nil
}
// A response message for QueryTestResults RPC.
type QueryTestResultsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Matched test results.
// Ordered by parent invocation ID, test ID and result ID.
TestResults []*TestResult `protobuf:"bytes,1,rep,name=test_results,json=testResults,proto3" json:"test_results,omitempty"`
// A token, which can be sent as `page_token` to retrieve the next page.
// If this field is omitted, there were no subsequent pages at the time of
// request.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}
func (x *QueryTestResultsResponse) Reset() {
*x = QueryTestResultsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QueryTestResultsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QueryTestResultsResponse) ProtoMessage() {}
func (x *QueryTestResultsResponse) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use QueryTestResultsResponse.ProtoReflect.Descriptor instead.
func (*QueryTestResultsResponse) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescGZIP(), []int{8}
}
func (x *QueryTestResultsResponse) GetTestResults() []*TestResult {
if x != nil {
return x.TestResults
}
return nil
}
func (x *QueryTestResultsResponse) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
// A request message for QueryTestExonerations RPC.
type QueryTestExonerationsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Retrieve test exonerations included in these invocations, directly or
// indirectly (via Invocation.included_invocations).
//
// Specifying multiple invocations is equivalent to querying one invocation
// that includes these.
Invocations []string `protobuf:"bytes,1,rep,name=invocations,proto3" json:"invocations,omitempty"`
// A test exoneration in the response must satisfy this predicate.
Predicate *TestExonerationPredicate `protobuf:"bytes,2,opt,name=predicate,proto3" json:"predicate,omitempty"`
// The maximum number of test exonerations to return.
//
// The service may return fewer than this value.
// If unspecified, at most 100 test exonerations will be returned.
// The maximum value is 1000; values above 1000 will be coerced to 1000.
PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// A page token, received from a previous `QueryTestExonerations` call.
// Provide this to retrieve the subsequent page.
//
// When paginating, all other parameters provided to `QueryTestExonerations`
// MUST match the call that provided the page token.
PageToken string `protobuf:"bytes,5,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
}
func (x *QueryTestExonerationsRequest) Reset() {
*x = QueryTestExonerationsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QueryTestExonerationsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QueryTestExonerationsRequest) ProtoMessage() {}
func (x *QueryTestExonerationsRequest) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[9]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use QueryTestExonerationsRequest.ProtoReflect.Descriptor instead.
func (*QueryTestExonerationsRequest) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescGZIP(), []int{9}
}
func (x *QueryTestExonerationsRequest) GetInvocations() []string {
if x != nil {
return x.Invocations
}
return nil
}
func (x *QueryTestExonerationsRequest) GetPredicate() *TestExonerationPredicate {
if x != nil {
return x.Predicate
}
return nil
}
func (x *QueryTestExonerationsRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *QueryTestExonerationsRequest) GetPageToken() string {
if x != nil {
return x.PageToken
}
return ""
}
// A response message for QueryTestExonerations RPC.
type QueryTestExonerationsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The test exonerations matching the predicate.
// Ordered by parent invocation ID, test ID and exoneration ID.
TestExonerations []*TestExoneration `protobuf:"bytes,1,rep,name=test_exonerations,json=testExonerations,proto3" json:"test_exonerations,omitempty"`
// A token, which can be sent as `page_token` to retrieve the next page.
// If this field is omitted, there were no subsequent pages at the time of
// request.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}
func (x *QueryTestExonerationsResponse) Reset() {
*x = QueryTestExonerationsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QueryTestExonerationsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QueryTestExonerationsResponse) ProtoMessage() {}
func (x *QueryTestExonerationsResponse) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use QueryTestExonerationsResponse.ProtoReflect.Descriptor instead.
func (*QueryTestExonerationsResponse) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescGZIP(), []int{10}
}
func (x *QueryTestExonerationsResponse) GetTestExonerations() []*TestExoneration {
if x != nil {
return x.TestExonerations
}
return nil
}
func (x *QueryTestExonerationsResponse) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
// A request message for QueryTestResultStatistics RPC.
type QueryTestResultStatisticsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Retrieve statistics of test result belong to these invocations,
// directly or indirectly (via Invocation.included_invocations).
//
// Specifying multiple invocations is equivalent to requesting one invocation
// that includes these.
Invocations []string `protobuf:"bytes,1,rep,name=invocations,proto3" json:"invocations,omitempty"`
}
func (x *QueryTestResultStatisticsRequest) Reset() {
*x = QueryTestResultStatisticsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QueryTestResultStatisticsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QueryTestResultStatisticsRequest) ProtoMessage() {}
func (x *QueryTestResultStatisticsRequest) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use QueryTestResultStatisticsRequest.ProtoReflect.Descriptor instead.
func (*QueryTestResultStatisticsRequest) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescGZIP(), []int{11}
}
func (x *QueryTestResultStatisticsRequest) GetInvocations() []string {
if x != nil {
return x.Invocations
}
return nil
}
// A response message for QueryTestResultStatistics RPC.
type QueryTestResultStatisticsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Total number of test results.
TotalTestResults int64 `protobuf:"varint,1,opt,name=total_test_results,json=totalTestResults,proto3" json:"total_test_results,omitempty"`
}
func (x *QueryTestResultStatisticsResponse) Reset() {
*x = QueryTestResultStatisticsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QueryTestResultStatisticsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QueryTestResultStatisticsResponse) ProtoMessage() {}
func (x *QueryTestResultStatisticsResponse) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use QueryTestResultStatisticsResponse.ProtoReflect.Descriptor instead.
func (*QueryTestResultStatisticsResponse) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescGZIP(), []int{12}
}
func (x *QueryTestResultStatisticsResponse) GetTotalTestResults() int64 {
if x != nil {
return x.TotalTestResults
}
return 0
}
// A request message for GetArtifact RPC.
type GetArtifactRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The name of the artifact to request, see Artifact.name.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
func (x *GetArtifactRequest) Reset() {
*x = GetArtifactRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetArtifactRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetArtifactRequest) ProtoMessage() {}
func (x *GetArtifactRequest) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetArtifactRequest.ProtoReflect.Descriptor instead.
func (*GetArtifactRequest) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescGZIP(), []int{13}
}
func (x *GetArtifactRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
// A request message for ListArtifacts RPC.
type ListArtifactsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Name of the parent, e.g. an invocation (see Invocation.name) or
// a test result (see TestResult.name).
Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
// The maximum number of artifacts to return.
//
// The service may return fewer than this value.
// If unspecified, at most 100 artifacts will be returned.
// The maximum value is 1000; values above 1000 will be coerced to 1000.
PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// A page token, received from a previous `ListArtifacts` call.
// Provide this to retrieve the subsequent page.
//
// When paginating, all other parameters provided to `ListArtifacts` MUST
// match the call that provided the page token.
PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
}
func (x *ListArtifactsRequest) Reset() {
*x = ListArtifactsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListArtifactsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListArtifactsRequest) ProtoMessage() {}
func (x *ListArtifactsRequest) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListArtifactsRequest.ProtoReflect.Descriptor instead.
func (*ListArtifactsRequest) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescGZIP(), []int{14}
}
func (x *ListArtifactsRequest) GetParent() string {
if x != nil {
return x.Parent
}
return ""
}
func (x *ListArtifactsRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *ListArtifactsRequest) GetPageToken() string {
if x != nil {
return x.PageToken
}
return ""
}
// A response message for ListArtifacts RPC.
type ListArtifactsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The artifacts from the specified parent.
Artifacts []*Artifact `protobuf:"bytes,1,rep,name=artifacts,proto3" json:"artifacts,omitempty"`
// A token, which can be sent as `page_token` to retrieve the next page.
// If this field is omitted, there were no subsequent pages at the time of
// request.
// If the invocation is not finalized, more results may appear later.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}
func (x *ListArtifactsResponse) Reset() {
*x = ListArtifactsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListArtifactsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListArtifactsResponse) ProtoMessage() {}
func (x *ListArtifactsResponse) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListArtifactsResponse.ProtoReflect.Descriptor instead.
func (*ListArtifactsResponse) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescGZIP(), []int{15}
}
func (x *ListArtifactsResponse) GetArtifacts() []*Artifact {
if x != nil {
return x.Artifacts
}
return nil
}
func (x *ListArtifactsResponse) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
// A request message for QueryArtifacts RPC.
type QueryArtifactsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Retrieve artifacts included in these invocations, directly or indirectly
// (via Invocation.included_invocations and via contained test results).
//
// Specifying multiple invocations is equivalent to querying one invocation
// that includes these.
Invocations []string `protobuf:"bytes,1,rep,name=invocations,proto3" json:"invocations,omitempty"`
// An artifact in the response must satisfy this predicate.
Predicate *ArtifactPredicate `protobuf:"bytes,2,opt,name=predicate,proto3" json:"predicate,omitempty"`
// The maximum number of artifacts to return.
//
// The service may return fewer than this value.
// If unspecified, at most 100 artifacts will be returned.
// The maximum value is 1000; values above 1000 will be coerced to 1000.
PageSize int32 `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// A page token, received from a previous `QueryArtifacts` call.
// Provide this to retrieve the subsequent page.
//
// When paginating, all other parameters provided to `QueryArtifacts` MUST
// match the call that provided the page token.
PageToken string `protobuf:"bytes,5,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
}
func (x *QueryArtifactsRequest) Reset() {
*x = QueryArtifactsRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QueryArtifactsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QueryArtifactsRequest) ProtoMessage() {}
func (x *QueryArtifactsRequest) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use QueryArtifactsRequest.ProtoReflect.Descriptor instead.
func (*QueryArtifactsRequest) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescGZIP(), []int{16}
}
func (x *QueryArtifactsRequest) GetInvocations() []string {
if x != nil {
return x.Invocations
}
return nil
}
func (x *QueryArtifactsRequest) GetPredicate() *ArtifactPredicate {
if x != nil {
return x.Predicate
}
return nil
}
func (x *QueryArtifactsRequest) GetPageSize() int32 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *QueryArtifactsRequest) GetPageToken() string {
if x != nil {
return x.PageToken
}
return ""
}
// A response message for QueryArtifacts RPC.
type QueryArtifactsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Matched artifacts.
// First invocation-level artifacts, then test-result-level artifacts
// ordered by parent invocation ID, test ID and artifact ID.
Artifacts []*Artifact `protobuf:"bytes,1,rep,name=artifacts,proto3" json:"artifacts,omitempty"`
// A token, which can be sent as `page_token` to retrieve the next page.
// If this field is omitted, there were no subsequent pages at the time of
// request.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}
func (x *QueryArtifactsResponse) Reset() {
*x = QueryArtifactsResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *QueryArtifactsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*QueryArtifactsResponse) ProtoMessage() {}
func (x *QueryArtifactsResponse) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use QueryArtifactsResponse.ProtoReflect.Descriptor instead.
func (*QueryArtifactsResponse) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescGZIP(), []int{17}
}
func (x *QueryArtifactsResponse) GetArtifacts() []*Artifact {
if x != nil {
return x.Artifacts
}
return nil
}
func (x *QueryArtifactsResponse) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
// A request message for GetTestResultHistory RPC.
type GetTestResultHistoryRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Required. This needs to match the realm that the data being queried exists
// in.
// I.e. For a result to be part of the history, it needs to be contained
// transitively by an invocation in this realm.
Realm string `protobuf:"bytes,1,opt,name=realm,proto3" json:"realm,omitempty"`
// Specify the subset of test ids to request history for.
TestIdRegexp string `protobuf:"bytes,2,opt,name=test_id_regexp,json=testIdRegexp,proto3" json:"test_id_regexp,omitempty"`
// Specify the subset of test variants to request history for.
VariantPredicate *VariantPredicate `protobuf:"bytes,3,opt,name=variant_predicate,json=variantPredicate,proto3" json:"variant_predicate,omitempty"`
// Specify a range of commit positions or a range of timestamps.
// This is required for the service to know which index to query.
//
// Whether the test results are indexed by commit position and/or timestamp is
// determined according to invocation.history_options.
//
// Types that are assignable to Range:
// *GetTestResultHistoryRequest_CommitPositionRange
// *GetTestResultHistoryRequest_TimeRange
Range isGetTestResultHistoryRequest_Range `protobuf_oneof:"range"`
// Specifies the number of results per page.
PageSize int64 `protobuf:"varint,6,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// Populate this field to get subsequent pages if the original response
// contained a next page token.
// A request for the next page of the results must be identical to the
// original one except for this field.
PageToken string `protobuf:"bytes,101,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
}
func (x *GetTestResultHistoryRequest) Reset() {
*x = GetTestResultHistoryRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetTestResultHistoryRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetTestResultHistoryRequest) ProtoMessage() {}
func (x *GetTestResultHistoryRequest) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetTestResultHistoryRequest.ProtoReflect.Descriptor instead.
func (*GetTestResultHistoryRequest) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescGZIP(), []int{18}
}
func (x *GetTestResultHistoryRequest) GetRealm() string {
if x != nil {
return x.Realm
}
return ""
}
func (x *GetTestResultHistoryRequest) GetTestIdRegexp() string {
if x != nil {
return x.TestIdRegexp
}
return ""
}
func (x *GetTestResultHistoryRequest) GetVariantPredicate() *VariantPredicate {
if x != nil {
return x.VariantPredicate
}
return nil
}
func (m *GetTestResultHistoryRequest) GetRange() isGetTestResultHistoryRequest_Range {
if m != nil {
return m.Range
}
return nil
}
func (x *GetTestResultHistoryRequest) GetCommitPositionRange() *CommitPositionRange {
if x, ok := x.GetRange().(*GetTestResultHistoryRequest_CommitPositionRange); ok {
return x.CommitPositionRange
}
return nil
}
func (x *GetTestResultHistoryRequest) GetTimeRange() *TimeRange {
if x, ok := x.GetRange().(*GetTestResultHistoryRequest_TimeRange); ok {
return x.TimeRange
}
return nil
}
func (x *GetTestResultHistoryRequest) GetPageSize() int64 {
if x != nil {
return x.PageSize
}
return 0
}
func (x *GetTestResultHistoryRequest) GetPageToken() string {
if x != nil {
return x.PageToken
}
return ""
}
type isGetTestResultHistoryRequest_Range interface {
isGetTestResultHistoryRequest_Range()
}
type GetTestResultHistoryRequest_CommitPositionRange struct {
// A range of commit positions.
CommitPositionRange *CommitPositionRange `protobuf:"bytes,4,opt,name=commit_position_range,json=commitPositionRange,proto3,oneof"`
}
type GetTestResultHistoryRequest_TimeRange struct {
// A range of time.
TimeRange *TimeRange `protobuf:"bytes,5,opt,name=time_range,json=timeRange,proto3,oneof"`
}
func (*GetTestResultHistoryRequest_CommitPositionRange) isGetTestResultHistoryRequest_Range() {}
func (*GetTestResultHistoryRequest_TimeRange) isGetTestResultHistoryRequest_Range() {}
// A response message for GetTestResultHistory RPC.
type GetTestResultHistoryResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The actual results, the order will match the requested range.
// If multiple entries exist for the same commit position/timestamp they will
// be internally ordered by TestId, and then by VariantHash.
Entries []*GetTestResultHistoryResponse_Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"`
// This field will be set if there are more results to return.
// To get the next page of data, send the same request again, but include this
// token.
NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}
func (x *GetTestResultHistoryResponse) Reset() {
*x = GetTestResultHistoryResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetTestResultHistoryResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetTestResultHistoryResponse) ProtoMessage() {}
func (x *GetTestResultHistoryResponse) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetTestResultHistoryResponse.ProtoReflect.Descriptor instead.
func (*GetTestResultHistoryResponse) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescGZIP(), []int{19}
}
func (x *GetTestResultHistoryResponse) GetEntries() []*GetTestResultHistoryResponse_Entry {
if x != nil {
return x.Entries
}
return nil
}
func (x *GetTestResultHistoryResponse) GetNextPageToken() string {
if x != nil {
return x.NextPageToken
}
return ""
}
type GetTestResultHistoryResponse_Entry struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// Commit position of the invocation that contains the result, if available.
CommitPosition *CommitPosition `protobuf:"bytes,1,opt,name=commit_position,json=commitPosition,proto3" json:"commit_position,omitempty"`
// Creation time of the invocation that contains the result.
InvocationTimestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=invocation_timestamp,json=invocationTimestamp,proto3" json:"invocation_timestamp,omitempty"`
// The result itself. Masked by the `fields` field of
// `GetResultHistoryRequest`.
Result *TestResult `protobuf:"bytes,3,opt,name=result,proto3" json:"result,omitempty"`
}
func (x *GetTestResultHistoryResponse_Entry) Reset() {
*x = GetTestResultHistoryResponse_Entry{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetTestResultHistoryResponse_Entry) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetTestResultHistoryResponse_Entry) ProtoMessage() {}
func (x *GetTestResultHistoryResponse_Entry) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use GetTestResultHistoryResponse_Entry.ProtoReflect.Descriptor instead.
func (*GetTestResultHistoryResponse_Entry) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescGZIP(), []int{19, 0}
}
func (x *GetTestResultHistoryResponse_Entry) GetCommitPosition() *CommitPosition {
if x != nil {
return x.CommitPosition
}
return nil
}
func (x *GetTestResultHistoryResponse_Entry) GetInvocationTimestamp() *timestamppb.Timestamp {
if x != nil {
return x.InvocationTimestamp
}
return nil
}
func (x *GetTestResultHistoryResponse_Entry) GetResult() *TestResult {
if x != nil {
return x.Result
}
return nil
}
var File_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto protoreflect.FileDescriptor
var file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDesc = []byte{
0x0a, 0x35, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2f,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64,
0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61,
0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c,
0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x35, 0x67,
0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c,
0x75, 0x63, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2f, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75,
0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x64, 0x62, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x37, 0x67, 0x6f, 0x2e, 0x63, 0x68,
0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f,
0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76,
0x31, 0x2f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x1a, 0x36, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e,
0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64,
0x62, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x65, 0x64, 0x69,
0x63, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38, 0x67, 0x6f, 0x2e, 0x63,
0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69,
0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f,
0x76, 0x31, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2f, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x76, 0x6f, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04,
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2f, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74,
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02,
0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xb2, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x54,
0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x23, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x6f,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73,
0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53,
0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65,
0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b,
0x65, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18,
0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73,
0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x82, 0x01, 0x0a, 0x17,
0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0c, 0x74, 0x65, 0x73, 0x74, 0x5f,
0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0b, 0x74, 0x65, 0x73,
0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74,
0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
0x22, 0x2f, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x6f, 0x6e, 0x65,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
0x65, 0x22, 0x7e, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x6f,
0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x23, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01,
0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69,
0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69,
0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
0x6e, 0x22, 0x96, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78,
0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x4e, 0x0a, 0x11, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x78, 0x6f, 0x6e, 0x65,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e,
0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31,
0x2e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x52, 0x10, 0x74, 0x65, 0x73, 0x74, 0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f,
0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78,
0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf5, 0x01, 0x0a, 0x17, 0x51,
0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76,
0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x64,
0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6c, 0x75,
0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54,
0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61,
0x74, 0x65, 0x52, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a,
0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61,
0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x09, 0x72, 0x65, 0x61,
0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46,
0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61,
0x73, 0x6b, 0x22, 0x83, 0x01, 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x73, 0x74,
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
0x3f, 0x0a, 0x0c, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x52, 0x0b, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f,
0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50,
0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xcb, 0x01, 0x0a, 0x1c, 0x51, 0x75, 0x65,
0x72, 0x79, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x76,
0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b,
0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4d, 0x0a, 0x09, 0x70,
0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a,
0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76,
0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61,
0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70,
0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f,
0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67,
0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x97, 0x01, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79,
0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x11, 0x74, 0x65, 0x73, 0x74,
0x5f, 0x65, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20,
0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x6f, 0x6e, 0x65,
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x74, 0x65, 0x73, 0x74, 0x45, 0x78, 0x6f, 0x6e,
0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74,
0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
0x22, 0x44, 0x0a, 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x6f, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x51, 0x0a, 0x21, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54,
0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74,
0x69, 0x63, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x74,
0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x54, 0x65,
0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x2d, 0x0a, 0x12, 0x47, 0x65, 0x74,
0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x6f, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74,
0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x1b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a,
0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61,
0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09,
0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x79, 0x0a, 0x15, 0x4c, 0x69, 0x73,
0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18,
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63,
0x74, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f,
0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54,
0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xb8, 0x01, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x72,
0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20,
0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20,
0x03, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
0x12, 0x41, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20,
0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x50,
0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63,
0x61, 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65,
0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65,
0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05,
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22,
0x7a, 0x0a, 0x16, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74,
0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x09, 0x61, 0x72, 0x74,
0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6c,
0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e,
0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x09, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61,
0x63, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65,
0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65,
0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8a, 0x03, 0x0a, 0x1b,
0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x69, 0x73,
0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x72,
0x65, 0x61, 0x6c, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x65, 0x61, 0x6c,
0x6d, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x72, 0x65, 0x67,
0x65, 0x78, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x65, 0x73, 0x74, 0x49,
0x64, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x12, 0x4f, 0x0a, 0x11, 0x76, 0x61, 0x72, 0x69, 0x61,
0x6e, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x50, 0x72, 0x65,
0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x10, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x50,
0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x5b, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d,
0x69, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x6e, 0x67,
0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69,
0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00,
0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,
0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x61,
0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x75, 0x63, 0x69,
0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d,
0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x61,
0x6e, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65,
0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65,
0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x65,
0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42,
0x07, 0x0a, 0x05, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x22, 0xf0, 0x02, 0x0a, 0x1c, 0x47, 0x65, 0x74,
0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72,
0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x07, 0x65, 0x6e, 0x74,
0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6c, 0x75, 0x63,
0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65,
0x74, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f,
0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79,
0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78,
0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
0x6e, 0x1a, 0xd7, 0x01, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x49, 0x0a, 0x0f, 0x63,
0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x50, 0x6f,
0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x50, 0x6f,
0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x14, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02,
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
0x52, 0x13, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65,
0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x34, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18,
0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x32, 0x90, 0x0a, 0x0a, 0x08,
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x44, 0x42, 0x12, 0x57, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x49,
0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x2e, 0x6c, 0x75, 0x63, 0x69,
0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x1c, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64,
0x62, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
0x00, 0x12, 0x57, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x12, 0x26, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6c, 0x75, 0x63,
0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65,
0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x00, 0x12, 0x68, 0x0a, 0x0f, 0x4c, 0x69,
0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x28, 0x2e,
0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31,
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54,
0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
0x73, 0x65, 0x22, 0x00, 0x12, 0x66, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x45,
0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x2e, 0x6c, 0x75, 0x63,
0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65,
0x74, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x45,
0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x14,
0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2d, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74,
0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x45,
0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6b, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65,
0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x29, 0x2e, 0x6c, 0x75, 0x63, 0x69,
0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65,
0x72, 0x79, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x73,
0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x22, 0x00, 0x12, 0x7a, 0x0a, 0x15, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x73, 0x74, 0x45,
0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2e, 0x2e, 0x6c, 0x75,
0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x51,
0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x6c, 0x75,
0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x51,
0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x73, 0x74, 0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x86,
0x01, 0x0a, 0x19, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75,
0x6c, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x32, 0x2e, 0x6c,
0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e,
0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53,
0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x1a, 0x33, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62,
0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73,
0x75, 0x6c, 0x74, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x41, 0x72,
0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65,
0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74,
0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6c,
0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e,
0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x22, 0x00, 0x12, 0x62, 0x0a, 0x0d, 0x4c, 0x69,
0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x6c, 0x75,
0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66,
0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x65,
0x0a, 0x0e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73,
0x12, 0x27, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62,
0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63,
0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6c, 0x75, 0x63, 0x69,
0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e, 0x51, 0x75, 0x65,
0x72, 0x79, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74,
0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x2d, 0x2e,
0x6c, 0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31,
0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x69,
0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6c,
0x75, 0x63, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2e, 0x76, 0x31, 0x2e,
0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x69, 0x73,
0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x31,
0x5a, 0x2f, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x64, 0x62, 0x2f,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x3b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x70,
0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescOnce sync.Once
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescData = file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDesc
)
func file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescGZIP() []byte {
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescOnce.Do(func() {
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescData)
})
return file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDescData
}
var file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes = make([]protoimpl.MessageInfo, 21)
var file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_goTypes = []interface{}{
(*GetInvocationRequest)(nil), // 0: luci.resultdb.v1.GetInvocationRequest
(*GetTestResultRequest)(nil), // 1: luci.resultdb.v1.GetTestResultRequest
(*ListTestResultsRequest)(nil), // 2: luci.resultdb.v1.ListTestResultsRequest
(*ListTestResultsResponse)(nil), // 3: luci.resultdb.v1.ListTestResultsResponse
(*GetTestExonerationRequest)(nil), // 4: luci.resultdb.v1.GetTestExonerationRequest
(*ListTestExonerationsRequest)(nil), // 5: luci.resultdb.v1.ListTestExonerationsRequest
(*ListTestExonerationsResponse)(nil), // 6: luci.resultdb.v1.ListTestExonerationsResponse
(*QueryTestResultsRequest)(nil), // 7: luci.resultdb.v1.QueryTestResultsRequest
(*QueryTestResultsResponse)(nil), // 8: luci.resultdb.v1.QueryTestResultsResponse
(*QueryTestExonerationsRequest)(nil), // 9: luci.resultdb.v1.QueryTestExonerationsRequest
(*QueryTestExonerationsResponse)(nil), // 10: luci.resultdb.v1.QueryTestExonerationsResponse
(*QueryTestResultStatisticsRequest)(nil), // 11: luci.resultdb.v1.QueryTestResultStatisticsRequest
(*QueryTestResultStatisticsResponse)(nil), // 12: luci.resultdb.v1.QueryTestResultStatisticsResponse
(*GetArtifactRequest)(nil), // 13: luci.resultdb.v1.GetArtifactRequest
(*ListArtifactsRequest)(nil), // 14: luci.resultdb.v1.ListArtifactsRequest
(*ListArtifactsResponse)(nil), // 15: luci.resultdb.v1.ListArtifactsResponse
(*QueryArtifactsRequest)(nil), // 16: luci.resultdb.v1.QueryArtifactsRequest
(*QueryArtifactsResponse)(nil), // 17: luci.resultdb.v1.QueryArtifactsResponse
(*GetTestResultHistoryRequest)(nil), // 18: luci.resultdb.v1.GetTestResultHistoryRequest
(*GetTestResultHistoryResponse)(nil), // 19: luci.resultdb.v1.GetTestResultHistoryResponse
(*GetTestResultHistoryResponse_Entry)(nil), // 20: luci.resultdb.v1.GetTestResultHistoryResponse.Entry
(*field_mask.FieldMask)(nil), // 21: google.protobuf.FieldMask
(*TestResult)(nil), // 22: luci.resultdb.v1.TestResult
(*TestExoneration)(nil), // 23: luci.resultdb.v1.TestExoneration
(*TestResultPredicate)(nil), // 24: luci.resultdb.v1.TestResultPredicate
(*TestExonerationPredicate)(nil), // 25: luci.resultdb.v1.TestExonerationPredicate
(*Artifact)(nil), // 26: luci.resultdb.v1.Artifact
(*ArtifactPredicate)(nil), // 27: luci.resultdb.v1.ArtifactPredicate
(*VariantPredicate)(nil), // 28: luci.resultdb.v1.VariantPredicate
(*CommitPositionRange)(nil), // 29: luci.resultdb.v1.CommitPositionRange
(*TimeRange)(nil), // 30: luci.resultdb.v1.TimeRange
(*CommitPosition)(nil), // 31: luci.resultdb.v1.CommitPosition
(*timestamppb.Timestamp)(nil), // 32: google.protobuf.Timestamp
(*Invocation)(nil), // 33: luci.resultdb.v1.Invocation
}
var file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_depIdxs = []int32{
21, // 0: luci.resultdb.v1.ListTestResultsRequest.read_mask:type_name -> google.protobuf.FieldMask
22, // 1: luci.resultdb.v1.ListTestResultsResponse.test_results:type_name -> luci.resultdb.v1.TestResult
23, // 2: luci.resultdb.v1.ListTestExonerationsResponse.test_exonerations:type_name -> luci.resultdb.v1.TestExoneration
24, // 3: luci.resultdb.v1.QueryTestResultsRequest.predicate:type_name -> luci.resultdb.v1.TestResultPredicate
21, // 4: luci.resultdb.v1.QueryTestResultsRequest.read_mask:type_name -> google.protobuf.FieldMask
22, // 5: luci.resultdb.v1.QueryTestResultsResponse.test_results:type_name -> luci.resultdb.v1.TestResult
25, // 6: luci.resultdb.v1.QueryTestExonerationsRequest.predicate:type_name -> luci.resultdb.v1.TestExonerationPredicate
23, // 7: luci.resultdb.v1.QueryTestExonerationsResponse.test_exonerations:type_name -> luci.resultdb.v1.TestExoneration
26, // 8: luci.resultdb.v1.ListArtifactsResponse.artifacts:type_name -> luci.resultdb.v1.Artifact
27, // 9: luci.resultdb.v1.QueryArtifactsRequest.predicate:type_name -> luci.resultdb.v1.ArtifactPredicate
26, // 10: luci.resultdb.v1.QueryArtifactsResponse.artifacts:type_name -> luci.resultdb.v1.Artifact
28, // 11: luci.resultdb.v1.GetTestResultHistoryRequest.variant_predicate:type_name -> luci.resultdb.v1.VariantPredicate
29, // 12: luci.resultdb.v1.GetTestResultHistoryRequest.commit_position_range:type_name -> luci.resultdb.v1.CommitPositionRange
30, // 13: luci.resultdb.v1.GetTestResultHistoryRequest.time_range:type_name -> luci.resultdb.v1.TimeRange
20, // 14: luci.resultdb.v1.GetTestResultHistoryResponse.entries:type_name -> luci.resultdb.v1.GetTestResultHistoryResponse.Entry
31, // 15: luci.resultdb.v1.GetTestResultHistoryResponse.Entry.commit_position:type_name -> luci.resultdb.v1.CommitPosition
32, // 16: luci.resultdb.v1.GetTestResultHistoryResponse.Entry.invocation_timestamp:type_name -> google.protobuf.Timestamp
22, // 17: luci.resultdb.v1.GetTestResultHistoryResponse.Entry.result:type_name -> luci.resultdb.v1.TestResult
0, // 18: luci.resultdb.v1.ResultDB.GetInvocation:input_type -> luci.resultdb.v1.GetInvocationRequest
1, // 19: luci.resultdb.v1.ResultDB.GetTestResult:input_type -> luci.resultdb.v1.GetTestResultRequest
2, // 20: luci.resultdb.v1.ResultDB.ListTestResults:input_type -> luci.resultdb.v1.ListTestResultsRequest
4, // 21: luci.resultdb.v1.ResultDB.GetTestExoneration:input_type -> luci.resultdb.v1.GetTestExonerationRequest
5, // 22: luci.resultdb.v1.ResultDB.ListTestExonerations:input_type -> luci.resultdb.v1.ListTestExonerationsRequest
7, // 23: luci.resultdb.v1.ResultDB.QueryTestResults:input_type -> luci.resultdb.v1.QueryTestResultsRequest
9, // 24: luci.resultdb.v1.ResultDB.QueryTestExonerations:input_type -> luci.resultdb.v1.QueryTestExonerationsRequest
11, // 25: luci.resultdb.v1.ResultDB.QueryTestResultStatistics:input_type -> luci.resultdb.v1.QueryTestResultStatisticsRequest
13, // 26: luci.resultdb.v1.ResultDB.GetArtifact:input_type -> luci.resultdb.v1.GetArtifactRequest
14, // 27: luci.resultdb.v1.ResultDB.ListArtifacts:input_type -> luci.resultdb.v1.ListArtifactsRequest
16, // 28: luci.resultdb.v1.ResultDB.QueryArtifacts:input_type -> luci.resultdb.v1.QueryArtifactsRequest
18, // 29: luci.resultdb.v1.ResultDB.GetTestResultHistory:input_type -> luci.resultdb.v1.GetTestResultHistoryRequest
33, // 30: luci.resultdb.v1.ResultDB.GetInvocation:output_type -> luci.resultdb.v1.Invocation
22, // 31: luci.resultdb.v1.ResultDB.GetTestResult:output_type -> luci.resultdb.v1.TestResult
3, // 32: luci.resultdb.v1.ResultDB.ListTestResults:output_type -> luci.resultdb.v1.ListTestResultsResponse
23, // 33: luci.resultdb.v1.ResultDB.GetTestExoneration:output_type -> luci.resultdb.v1.TestExoneration
6, // 34: luci.resultdb.v1.ResultDB.ListTestExonerations:output_type -> luci.resultdb.v1.ListTestExonerationsResponse
8, // 35: luci.resultdb.v1.ResultDB.QueryTestResults:output_type -> luci.resultdb.v1.QueryTestResultsResponse
10, // 36: luci.resultdb.v1.ResultDB.QueryTestExonerations:output_type -> luci.resultdb.v1.QueryTestExonerationsResponse
12, // 37: luci.resultdb.v1.ResultDB.QueryTestResultStatistics:output_type -> luci.resultdb.v1.QueryTestResultStatisticsResponse
26, // 38: luci.resultdb.v1.ResultDB.GetArtifact:output_type -> luci.resultdb.v1.Artifact
15, // 39: luci.resultdb.v1.ResultDB.ListArtifacts:output_type -> luci.resultdb.v1.ListArtifactsResponse
17, // 40: luci.resultdb.v1.ResultDB.QueryArtifacts:output_type -> luci.resultdb.v1.QueryArtifactsResponse
19, // 41: luci.resultdb.v1.ResultDB.GetTestResultHistory:output_type -> luci.resultdb.v1.GetTestResultHistoryResponse
30, // [30:42] is the sub-list for method output_type
18, // [18:30] is the sub-list for method input_type
18, // [18:18] is the sub-list for extension type_name
18, // [18:18] is the sub-list for extension extendee
0, // [0:18] is the sub-list for field type_name
}
func init() { file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_init() }
func file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_init() {
if File_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto != nil {
return
}
file_go_chromium_org_luci_resultdb_proto_v1_artifact_proto_init()
file_go_chromium_org_luci_resultdb_proto_v1_common_proto_init()
file_go_chromium_org_luci_resultdb_proto_v1_invocation_proto_init()
file_go_chromium_org_luci_resultdb_proto_v1_predicate_proto_init()
file_go_chromium_org_luci_resultdb_proto_v1_test_result_proto_init()
if !protoimpl.UnsafeEnabled {
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetInvocationRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetTestResultRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListTestResultsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListTestResultsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetTestExonerationRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListTestExonerationsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListTestExonerationsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QueryTestResultsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QueryTestResultsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QueryTestExonerationsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QueryTestExonerationsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QueryTestResultStatisticsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QueryTestResultStatisticsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetArtifactRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListArtifactsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListArtifactsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QueryArtifactsRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*QueryArtifactsResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetTestResultHistoryRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetTestResultHistoryResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetTestResultHistoryResponse_Entry); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes[18].OneofWrappers = []interface{}{
(*GetTestResultHistoryRequest_CommitPositionRange)(nil),
(*GetTestResultHistoryRequest_TimeRange)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDesc,
NumEnums: 0,
NumMessages: 21,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_goTypes,
DependencyIndexes: file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_depIdxs,
MessageInfos: file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_msgTypes,
}.Build()
File_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto = out.File
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_rawDesc = nil
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_goTypes = nil
file_go_chromium_org_luci_resultdb_proto_v1_resultdb_proto_depIdxs = nil
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConnInterface
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6
// ResultDBClient is the client API for ResultDB service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type ResultDBClient interface {
// Retrieves an invocation.
GetInvocation(ctx context.Context, in *GetInvocationRequest, opts ...grpc.CallOption) (*Invocation, error)
// Retrieves a test result.
GetTestResult(ctx context.Context, in *GetTestResultRequest, opts ...grpc.CallOption) (*TestResult, error)
// Retrieves test results for a parent invocation.
//
// Note: response does not contain test results of included invocations.
// Use QueryTestResults instead.
ListTestResults(ctx context.Context, in *ListTestResultsRequest, opts ...grpc.CallOption) (*ListTestResultsResponse, error)
// Retrieves a test exoneration.
GetTestExoneration(ctx context.Context, in *GetTestExonerationRequest, opts ...grpc.CallOption) (*TestExoneration, error)
// Retrieves test exonerations for a parent invocation.
//
// Note: response does not contain test results of included invocations.
// Use QueryTestExonerations instead.
ListTestExonerations(ctx context.Context, in *ListTestExonerationsRequest, opts ...grpc.CallOption) (*ListTestExonerationsResponse, error)
// Retrieves test results from an invocation, recursively.
// Supports invocation inclusions.
// Supports advanced filtering.
QueryTestResults(ctx context.Context, in *QueryTestResultsRequest, opts ...grpc.CallOption) (*QueryTestResultsResponse, error)
// Retrieves test exonerations from an invocation.
// Supports invocation inclusions.
// Supports advanced filtering.
QueryTestExonerations(ctx context.Context, in *QueryTestExonerationsRequest, opts ...grpc.CallOption) (*QueryTestExonerationsResponse, error)
// Retrieves the test result statistics of an invocation.
// Currently supports total number of test results belong to the invocation,
// directly and indirectly.
QueryTestResultStatistics(ctx context.Context, in *QueryTestResultStatisticsRequest, opts ...grpc.CallOption) (*QueryTestResultStatisticsResponse, error)
// Retrieves an artifact.
GetArtifact(ctx context.Context, in *GetArtifactRequest, opts ...grpc.CallOption) (*Artifact, error)
// Retrieves artifacts for a parent invocation/testResult.
//
// Note: if the parent is an invocation, the response does not contain
// artifacts of included invocations. Use QueryArtifacts instead.
ListArtifacts(ctx context.Context, in *ListArtifactsRequest, opts ...grpc.CallOption) (*ListArtifactsResponse, error)
// Retrieves artifacts from an invocation, recursively.
// Can retrieve artifacts of test results included in the invocation
// directly or indirectly.
// Supports invocation inclusions.
QueryArtifacts(ctx context.Context, in *QueryArtifactsRequest, opts ...grpc.CallOption) (*QueryArtifactsResponse, error)
// Retrieves test results in a given range of either time or commit position.
// Accepts test variant predicate to filter the results.
GetTestResultHistory(ctx context.Context, in *GetTestResultHistoryRequest, opts ...grpc.CallOption) (*GetTestResultHistoryResponse, error)
}
type resultDBPRPCClient struct {
client *prpc.Client
}
func NewResultDBPRPCClient(client *prpc.Client) ResultDBClient {
return &resultDBPRPCClient{client}
}
func (c *resultDBPRPCClient) GetInvocation(ctx context.Context, in *GetInvocationRequest, opts ...grpc.CallOption) (*Invocation, error) {
out := new(Invocation)
err := c.client.Call(ctx, "luci.resultdb.v1.ResultDB", "GetInvocation", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *resultDBPRPCClient) GetTestResult(ctx context.Context, in *GetTestResultRequest, opts ...grpc.CallOption) (*TestResult, error) {
out := new(TestResult)
err := c.client.Call(ctx, "luci.resultdb.v1.ResultDB", "GetTestResult", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *resultDBPRPCClient) ListTestResults(ctx context.Context, in *ListTestResultsRequest, opts ...grpc.CallOption) (*ListTestResultsResponse, error) {
out := new(ListTestResultsResponse)
err := c.client.Call(ctx, "luci.resultdb.v1.ResultDB", "ListTestResults", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *resultDBPRPCClient) GetTestExoneration(ctx context.Context, in *GetTestExonerationRequest, opts ...grpc.CallOption) (*TestExoneration, error) {
out := new(TestExoneration)
err := c.client.Call(ctx, "luci.resultdb.v1.ResultDB", "GetTestExoneration", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *resultDBPRPCClient) ListTestExonerations(ctx context.Context, in *ListTestExonerationsRequest, opts ...grpc.CallOption) (*ListTestExonerationsResponse, error) {
out := new(ListTestExonerationsResponse)
err := c.client.Call(ctx, "luci.resultdb.v1.ResultDB", "ListTestExonerations", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *resultDBPRPCClient) QueryTestResults(ctx context.Context, in *QueryTestResultsRequest, opts ...grpc.CallOption) (*QueryTestResultsResponse, error) {
out := new(QueryTestResultsResponse)
err := c.client.Call(ctx, "luci.resultdb.v1.ResultDB", "QueryTestResults", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *resultDBPRPCClient) QueryTestExonerations(ctx context.Context, in *QueryTestExonerationsRequest, opts ...grpc.CallOption) (*QueryTestExonerationsResponse, error) {
out := new(QueryTestExonerationsResponse)
err := c.client.Call(ctx, "luci.resultdb.v1.ResultDB", "QueryTestExonerations", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *resultDBPRPCClient) QueryTestResultStatistics(ctx context.Context, in *QueryTestResultStatisticsRequest, opts ...grpc.CallOption) (*QueryTestResultStatisticsResponse, error) {
out := new(QueryTestResultStatisticsResponse)
err := c.client.Call(ctx, "luci.resultdb.v1.ResultDB", "QueryTestResultStatistics", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *resultDBPRPCClient) GetArtifact(ctx context.Context, in *GetArtifactRequest, opts ...grpc.CallOption) (*Artifact, error) {
out := new(Artifact)
err := c.client.Call(ctx, "luci.resultdb.v1.ResultDB", "GetArtifact", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *resultDBPRPCClient) ListArtifacts(ctx context.Context, in *ListArtifactsRequest, opts ...grpc.CallOption) (*ListArtifactsResponse, error) {
out := new(ListArtifactsResponse)
err := c.client.Call(ctx, "luci.resultdb.v1.ResultDB", "ListArtifacts", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *resultDBPRPCClient) QueryArtifacts(ctx context.Context, in *QueryArtifactsRequest, opts ...grpc.CallOption) (*QueryArtifactsResponse, error) {
out := new(QueryArtifactsResponse)
err := c.client.Call(ctx, "luci.resultdb.v1.ResultDB", "QueryArtifacts", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *resultDBPRPCClient) GetTestResultHistory(ctx context.Context, in *GetTestResultHistoryRequest, opts ...grpc.CallOption) (*GetTestResultHistoryResponse, error) {
out := new(GetTestResultHistoryResponse)
err := c.client.Call(ctx, "luci.resultdb.v1.ResultDB", "GetTestResultHistory", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
type resultDBClient struct {
cc grpc.ClientConnInterface
}
func NewResultDBClient(cc grpc.ClientConnInterface) ResultDBClient {
return &resultDBClient{cc}
}
func (c *resultDBClient) GetInvocation(ctx context.Context, in *GetInvocationRequest, opts ...grpc.CallOption) (*Invocation, error) {
out := new(Invocation)
err := c.cc.Invoke(ctx, "/luci.resultdb.v1.ResultDB/GetInvocation", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *resultDBClient) GetTestResult(ctx context.Context, in *GetTestResultRequest, opts ...grpc.CallOption) (*TestResult, error) {
out := new(TestResult)
err := c.cc.Invoke(ctx, "/luci.resultdb.v1.ResultDB/GetTestResult", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *resultDBClient) ListTestResults(ctx context.Context, in *ListTestResultsRequest, opts ...grpc.CallOption) (*ListTestResultsResponse, error) {
out := new(ListTestResultsResponse)
err := c.cc.Invoke(ctx, "/luci.resultdb.v1.ResultDB/ListTestResults", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *resultDBClient) GetTestExoneration(ctx context.Context, in *GetTestExonerationRequest, opts ...grpc.CallOption) (*TestExoneration, error) {
out := new(TestExoneration)
err := c.cc.Invoke(ctx, "/luci.resultdb.v1.ResultDB/GetTestExoneration", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *resultDBClient) ListTestExonerations(ctx context.Context, in *ListTestExonerationsRequest, opts ...grpc.CallOption) (*ListTestExonerationsResponse, error) {
out := new(ListTestExonerationsResponse)
err := c.cc.Invoke(ctx, "/luci.resultdb.v1.ResultDB/ListTestExonerations", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *resultDBClient) QueryTestResults(ctx context.Context, in *QueryTestResultsRequest, opts ...grpc.CallOption) (*QueryTestResultsResponse, error) {
out := new(QueryTestResultsResponse)
err := c.cc.Invoke(ctx, "/luci.resultdb.v1.ResultDB/QueryTestResults", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *resultDBClient) QueryTestExonerations(ctx context.Context, in *QueryTestExonerationsRequest, opts ...grpc.CallOption) (*QueryTestExonerationsResponse, error) {
out := new(QueryTestExonerationsResponse)
err := c.cc.Invoke(ctx, "/luci.resultdb.v1.ResultDB/QueryTestExonerations", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *resultDBClient) QueryTestResultStatistics(ctx context.Context, in *QueryTestResultStatisticsRequest, opts ...grpc.CallOption) (*QueryTestResultStatisticsResponse, error) {
out := new(QueryTestResultStatisticsResponse)
err := c.cc.Invoke(ctx, "/luci.resultdb.v1.ResultDB/QueryTestResultStatistics", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *resultDBClient) GetArtifact(ctx context.Context, in *GetArtifactRequest, opts ...grpc.CallOption) (*Artifact, error) {
out := new(Artifact)
err := c.cc.Invoke(ctx, "/luci.resultdb.v1.ResultDB/GetArtifact", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *resultDBClient) ListArtifacts(ctx context.Context, in *ListArtifactsRequest, opts ...grpc.CallOption) (*ListArtifactsResponse, error) {
out := new(ListArtifactsResponse)
err := c.cc.Invoke(ctx, "/luci.resultdb.v1.ResultDB/ListArtifacts", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *resultDBClient) QueryArtifacts(ctx context.Context, in *QueryArtifactsRequest, opts ...grpc.CallOption) (*QueryArtifactsResponse, error) {
out := new(QueryArtifactsResponse)
err := c.cc.Invoke(ctx, "/luci.resultdb.v1.ResultDB/QueryArtifacts", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *resultDBClient) GetTestResultHistory(ctx context.Context, in *GetTestResultHistoryRequest, opts ...grpc.CallOption) (*GetTestResultHistoryResponse, error) {
out := new(GetTestResultHistoryResponse)
err := c.cc.Invoke(ctx, "/luci.resultdb.v1.ResultDB/GetTestResultHistory", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// ResultDBServer is the server API for ResultDB service.
type ResultDBServer interface {
// Retrieves an invocation.
GetInvocation(context.Context, *GetInvocationRequest) (*Invocation, error)
// Retrieves a test result.
GetTestResult(context.Context, *GetTestResultRequest) (*TestResult, error)
// Retrieves test results for a parent invocation.
//
// Note: response does not contain test results of included invocations.
// Use QueryTestResults instead.
ListTestResults(context.Context, *ListTestResultsRequest) (*ListTestResultsResponse, error)
// Retrieves a test exoneration.
GetTestExoneration(context.Context, *GetTestExonerationRequest) (*TestExoneration, error)
// Retrieves test exonerations for a parent invocation.
//
// Note: response does not contain test results of included invocations.
// Use QueryTestExonerations instead.
ListTestExonerations(context.Context, *ListTestExonerationsRequest) (*ListTestExonerationsResponse, error)
// Retrieves test results from an invocation, recursively.
// Supports invocation inclusions.
// Supports advanced filtering.
QueryTestResults(context.Context, *QueryTestResultsRequest) (*QueryTestResultsResponse, error)
// Retrieves test exonerations from an invocation.
// Supports invocation inclusions.
// Supports advanced filtering.
QueryTestExonerations(context.Context, *QueryTestExonerationsRequest) (*QueryTestExonerationsResponse, error)
// Retrieves the test result statistics of an invocation.
// Currently supports total number of test results belong to the invocation,
// directly and indirectly.
QueryTestResultStatistics(context.Context, *QueryTestResultStatisticsRequest) (*QueryTestResultStatisticsResponse, error)
// Retrieves an artifact.
GetArtifact(context.Context, *GetArtifactRequest) (*Artifact, error)
// Retrieves artifacts for a parent invocation/testResult.
//
// Note: if the parent is an invocation, the response does not contain
// artifacts of included invocations. Use QueryArtifacts instead.
ListArtifacts(context.Context, *ListArtifactsRequest) (*ListArtifactsResponse, error)
// Retrieves artifacts from an invocation, recursively.
// Can retrieve artifacts of test results included in the invocation
// directly or indirectly.
// Supports invocation inclusions.
QueryArtifacts(context.Context, *QueryArtifactsRequest) (*QueryArtifactsResponse, error)
// Retrieves test results in a given range of either time or commit position.
// Accepts test variant predicate to filter the results.
GetTestResultHistory(context.Context, *GetTestResultHistoryRequest) (*GetTestResultHistoryResponse, error)
}
// UnimplementedResultDBServer can be embedded to have forward compatible implementations.
type UnimplementedResultDBServer struct {
}
func (*UnimplementedResultDBServer) GetInvocation(context.Context, *GetInvocationRequest) (*Invocation, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetInvocation not implemented")
}
func (*UnimplementedResultDBServer) GetTestResult(context.Context, *GetTestResultRequest) (*TestResult, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetTestResult not implemented")
}
func (*UnimplementedResultDBServer) ListTestResults(context.Context, *ListTestResultsRequest) (*ListTestResultsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListTestResults not implemented")
}
func (*UnimplementedResultDBServer) GetTestExoneration(context.Context, *GetTestExonerationRequest) (*TestExoneration, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetTestExoneration not implemented")
}
func (*UnimplementedResultDBServer) ListTestExonerations(context.Context, *ListTestExonerationsRequest) (*ListTestExonerationsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListTestExonerations not implemented")
}
func (*UnimplementedResultDBServer) QueryTestResults(context.Context, *QueryTestResultsRequest) (*QueryTestResultsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method QueryTestResults not implemented")
}
func (*UnimplementedResultDBServer) QueryTestExonerations(context.Context, *QueryTestExonerationsRequest) (*QueryTestExonerationsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method QueryTestExonerations not implemented")
}
func (*UnimplementedResultDBServer) QueryTestResultStatistics(context.Context, *QueryTestResultStatisticsRequest) (*QueryTestResultStatisticsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method QueryTestResultStatistics not implemented")
}
func (*UnimplementedResultDBServer) GetArtifact(context.Context, *GetArtifactRequest) (*Artifact, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetArtifact not implemented")
}
func (*UnimplementedResultDBServer) ListArtifacts(context.Context, *ListArtifactsRequest) (*ListArtifactsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method ListArtifacts not implemented")
}
func (*UnimplementedResultDBServer) QueryArtifacts(context.Context, *QueryArtifactsRequest) (*QueryArtifactsResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method QueryArtifacts not implemented")
}
func (*UnimplementedResultDBServer) GetTestResultHistory(context.Context, *GetTestResultHistoryRequest) (*GetTestResultHistoryResponse, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetTestResultHistory not implemented")
}
func RegisterResultDBServer(s prpc.Registrar, srv ResultDBServer) {
s.RegisterService(&_ResultDB_serviceDesc, srv)
}
func _ResultDB_GetInvocation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetInvocationRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ResultDBServer).GetInvocation(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/luci.resultdb.v1.ResultDB/GetInvocation",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ResultDBServer).GetInvocation(ctx, req.(*GetInvocationRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ResultDB_GetTestResult_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetTestResultRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ResultDBServer).GetTestResult(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/luci.resultdb.v1.ResultDB/GetTestResult",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ResultDBServer).GetTestResult(ctx, req.(*GetTestResultRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ResultDB_ListTestResults_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListTestResultsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ResultDBServer).ListTestResults(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/luci.resultdb.v1.ResultDB/ListTestResults",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ResultDBServer).ListTestResults(ctx, req.(*ListTestResultsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ResultDB_GetTestExoneration_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetTestExonerationRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ResultDBServer).GetTestExoneration(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/luci.resultdb.v1.ResultDB/GetTestExoneration",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ResultDBServer).GetTestExoneration(ctx, req.(*GetTestExonerationRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ResultDB_ListTestExonerations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListTestExonerationsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ResultDBServer).ListTestExonerations(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/luci.resultdb.v1.ResultDB/ListTestExonerations",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ResultDBServer).ListTestExonerations(ctx, req.(*ListTestExonerationsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ResultDB_QueryTestResults_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryTestResultsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ResultDBServer).QueryTestResults(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/luci.resultdb.v1.ResultDB/QueryTestResults",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ResultDBServer).QueryTestResults(ctx, req.(*QueryTestResultsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ResultDB_QueryTestExonerations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryTestExonerationsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ResultDBServer).QueryTestExonerations(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/luci.resultdb.v1.ResultDB/QueryTestExonerations",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ResultDBServer).QueryTestExonerations(ctx, req.(*QueryTestExonerationsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ResultDB_QueryTestResultStatistics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryTestResultStatisticsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ResultDBServer).QueryTestResultStatistics(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/luci.resultdb.v1.ResultDB/QueryTestResultStatistics",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ResultDBServer).QueryTestResultStatistics(ctx, req.(*QueryTestResultStatisticsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ResultDB_GetArtifact_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetArtifactRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ResultDBServer).GetArtifact(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/luci.resultdb.v1.ResultDB/GetArtifact",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ResultDBServer).GetArtifact(ctx, req.(*GetArtifactRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ResultDB_ListArtifacts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ListArtifactsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ResultDBServer).ListArtifacts(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/luci.resultdb.v1.ResultDB/ListArtifacts",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ResultDBServer).ListArtifacts(ctx, req.(*ListArtifactsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ResultDB_QueryArtifacts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(QueryArtifactsRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ResultDBServer).QueryArtifacts(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/luci.resultdb.v1.ResultDB/QueryArtifacts",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ResultDBServer).QueryArtifacts(ctx, req.(*QueryArtifactsRequest))
}
return interceptor(ctx, in, info, handler)
}
func _ResultDB_GetTestResultHistory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(GetTestResultHistoryRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ResultDBServer).GetTestResultHistory(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/luci.resultdb.v1.ResultDB/GetTestResultHistory",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ResultDBServer).GetTestResultHistory(ctx, req.(*GetTestResultHistoryRequest))
}
return interceptor(ctx, in, info, handler)
}
var _ResultDB_serviceDesc = grpc.ServiceDesc{
ServiceName: "luci.resultdb.v1.ResultDB",
HandlerType: (*ResultDBServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "GetInvocation",
Handler: _ResultDB_GetInvocation_Handler,
},
{
MethodName: "GetTestResult",
Handler: _ResultDB_GetTestResult_Handler,
},
{
MethodName: "ListTestResults",
Handler: _ResultDB_ListTestResults_Handler,
},
{
MethodName: "GetTestExoneration",
Handler: _ResultDB_GetTestExoneration_Handler,
},
{
MethodName: "ListTestExonerations",
Handler: _ResultDB_ListTestExonerations_Handler,
},
{
MethodName: "QueryTestResults",
Handler: _ResultDB_QueryTestResults_Handler,
},
{
MethodName: "QueryTestExonerations",
Handler: _ResultDB_QueryTestExonerations_Handler,
},
{
MethodName: "QueryTestResultStatistics",
Handler: _ResultDB_QueryTestResultStatistics_Handler,
},
{
MethodName: "GetArtifact",
Handler: _ResultDB_GetArtifact_Handler,
},
{
MethodName: "ListArtifacts",
Handler: _ResultDB_ListArtifacts_Handler,
},
{
MethodName: "QueryArtifacts",
Handler: _ResultDB_QueryArtifacts_Handler,
},
{
MethodName: "GetTestResultHistory",
Handler: _ResultDB_GetTestResultHistory_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "go.chromium.org/luci/resultdb/proto/v1/resultdb.proto",
}