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

     1  // Copyright 2022 The LUCI Authors.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //      http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.32.0
    18  // 	protoc        v3.21.7
    19  // source: go.chromium.org/luci/analysis/proto/v1/common.proto
    20  
    21  package analysispb
    22  
    23  import (
    24  	_ "google.golang.org/genproto/googleapis/api/annotations"
    25  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    26  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    27  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    28  	reflect "reflect"
    29  	sync "sync"
    30  )
    31  
    32  const (
    33  	// Verify that this generated code is sufficiently up-to-date.
    34  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    35  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    36  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    37  )
    38  
    39  // BuildStatus the result of the build in which the test verdict was produced.
    40  // This can be used to detect if the test verdict is incomplete (e.g. because
    41  // an infra failure or cancellation occurred), and whether the unexpected
    42  // test verdict was also followed by a failing build.
    43  //
    44  // Note: All values prefixed with BUILD_STATUS_ as the names are generic
    45  // and likely to conflict with other/future enumerations otherwise.
    46  // See https://google.aip.dev/126.
    47  type BuildStatus int32
    48  
    49  const (
    50  	// A build must not have this status.
    51  	BuildStatus_BUILD_STATUS_UNSPECIFIED BuildStatus = 0
    52  	// The build succeeded.
    53  	BuildStatus_BUILD_STATUS_SUCCESS BuildStatus = 1
    54  	// The build failed.
    55  	BuildStatus_BUILD_STATUS_FAILURE BuildStatus = 2
    56  	// The build encountered an infrastructure failure.
    57  	BuildStatus_BUILD_STATUS_INFRA_FAILURE BuildStatus = 3
    58  	// The build was canceled.
    59  	BuildStatus_BUILD_STATUS_CANCELED BuildStatus = 4
    60  )
    61  
    62  // Enum value maps for BuildStatus.
    63  var (
    64  	BuildStatus_name = map[int32]string{
    65  		0: "BUILD_STATUS_UNSPECIFIED",
    66  		1: "BUILD_STATUS_SUCCESS",
    67  		2: "BUILD_STATUS_FAILURE",
    68  		3: "BUILD_STATUS_INFRA_FAILURE",
    69  		4: "BUILD_STATUS_CANCELED",
    70  	}
    71  	BuildStatus_value = map[string]int32{
    72  		"BUILD_STATUS_UNSPECIFIED":   0,
    73  		"BUILD_STATUS_SUCCESS":       1,
    74  		"BUILD_STATUS_FAILURE":       2,
    75  		"BUILD_STATUS_INFRA_FAILURE": 3,
    76  		"BUILD_STATUS_CANCELED":      4,
    77  	}
    78  )
    79  
    80  func (x BuildStatus) Enum() *BuildStatus {
    81  	p := new(BuildStatus)
    82  	*p = x
    83  	return p
    84  }
    85  
    86  func (x BuildStatus) String() string {
    87  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    88  }
    89  
    90  func (BuildStatus) Descriptor() protoreflect.EnumDescriptor {
    91  	return file_go_chromium_org_luci_analysis_proto_v1_common_proto_enumTypes[0].Descriptor()
    92  }
    93  
    94  func (BuildStatus) Type() protoreflect.EnumType {
    95  	return &file_go_chromium_org_luci_analysis_proto_v1_common_proto_enumTypes[0]
    96  }
    97  
    98  func (x BuildStatus) Number() protoreflect.EnumNumber {
    99  	return protoreflect.EnumNumber(x)
   100  }
   101  
   102  // Deprecated: Use BuildStatus.Descriptor instead.
   103  func (BuildStatus) EnumDescriptor() ([]byte, []int) {
   104  	return file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDescGZIP(), []int{0}
   105  }
   106  
   107  // ExonerationReason captures a reason why a test failure was
   108  // exonerated. Exonerated means the failure was ignored and did not
   109  // have further impact, in terms of causing the build to fail or
   110  // rejecting the CL being tested in a presubmit run.
   111  //
   112  // Based on https://source.chromium.org/chromium/infra/infra/+/main:go/src/go.chromium.org/luci/resultdb/proto/v1/test_result.proto?q=ExonerationReason&type=cs.
   113  type ExonerationReason int32
   114  
   115  const (
   116  	// A test failure must not have this status.
   117  	ExonerationReason_EXONERATION_REASON_UNSPECIFIED ExonerationReason = 0
   118  	// Similar unexpected results were observed on a mainline branch
   119  	// (i.e. against a build without unsubmitted changes applied).
   120  	// (For avoidance of doubt, this includes both flakily and
   121  	// deterministically occurring unexpected results.)
   122  	// Applies to unexpected results in presubmit/CQ runs only.
   123  	ExonerationReason_OCCURS_ON_MAINLINE ExonerationReason = 1
   124  	// Similar unexpected results were observed in presubmit run(s) for other,
   125  	// unrelated CL(s). (This is suggestive of the issue being present
   126  	// on mainline but is not confirmed as there are possible confounding
   127  	// factors, like how tests are run on CLs vs how tests are run on
   128  	// mainline branches.)
   129  	// Applies to unexpected results in presubmit/CQ runs only.
   130  	ExonerationReason_OCCURS_ON_OTHER_CLS ExonerationReason = 2
   131  	// The tests are not critical to the test subject (e.g. CL) passing.
   132  	// This could be because more data is being collected to determine if
   133  	// the tests are stable enough to be made critical (as is often the
   134  	// case for experimental test suites).
   135  	ExonerationReason_NOT_CRITICAL ExonerationReason = 3
   136  	// The test result was an unexpected pass. (Note that such an exoneration is
   137  	// not automatically created for unexpected passes, unless the option is
   138  	// specified to ResultSink or the project manually creates one).
   139  	ExonerationReason_UNEXPECTED_PASS ExonerationReason = 4
   140  )
   141  
   142  // Enum value maps for ExonerationReason.
   143  var (
   144  	ExonerationReason_name = map[int32]string{
   145  		0: "EXONERATION_REASON_UNSPECIFIED",
   146  		1: "OCCURS_ON_MAINLINE",
   147  		2: "OCCURS_ON_OTHER_CLS",
   148  		3: "NOT_CRITICAL",
   149  		4: "UNEXPECTED_PASS",
   150  	}
   151  	ExonerationReason_value = map[string]int32{
   152  		"EXONERATION_REASON_UNSPECIFIED": 0,
   153  		"OCCURS_ON_MAINLINE":             1,
   154  		"OCCURS_ON_OTHER_CLS":            2,
   155  		"NOT_CRITICAL":                   3,
   156  		"UNEXPECTED_PASS":                4,
   157  	}
   158  )
   159  
   160  func (x ExonerationReason) Enum() *ExonerationReason {
   161  	p := new(ExonerationReason)
   162  	*p = x
   163  	return p
   164  }
   165  
   166  func (x ExonerationReason) String() string {
   167  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   168  }
   169  
   170  func (ExonerationReason) Descriptor() protoreflect.EnumDescriptor {
   171  	return file_go_chromium_org_luci_analysis_proto_v1_common_proto_enumTypes[1].Descriptor()
   172  }
   173  
   174  func (ExonerationReason) Type() protoreflect.EnumType {
   175  	return &file_go_chromium_org_luci_analysis_proto_v1_common_proto_enumTypes[1]
   176  }
   177  
   178  func (x ExonerationReason) Number() protoreflect.EnumNumber {
   179  	return protoreflect.EnumNumber(x)
   180  }
   181  
   182  // Deprecated: Use ExonerationReason.Descriptor instead.
   183  func (ExonerationReason) EnumDescriptor() ([]byte, []int) {
   184  	return file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDescGZIP(), []int{1}
   185  }
   186  
   187  // SubmittedFilter filters test verdicts based on whether they had unsubmitted
   188  // changes.
   189  type SubmittedFilter int32
   190  
   191  const (
   192  	// Default value. Include all test verdicts.
   193  	SubmittedFilter_SUBMITTED_FILTER_UNSPECIFIED SubmittedFilter = 0
   194  	// Only include test verdicts that don't have unsubmitted changes.
   195  	SubmittedFilter_ONLY_SUBMITTED SubmittedFilter = 1
   196  	// Only include test verdicts that have unsubmitted changes.
   197  	SubmittedFilter_ONLY_UNSUBMITTED SubmittedFilter = 2
   198  )
   199  
   200  // Enum value maps for SubmittedFilter.
   201  var (
   202  	SubmittedFilter_name = map[int32]string{
   203  		0: "SUBMITTED_FILTER_UNSPECIFIED",
   204  		1: "ONLY_SUBMITTED",
   205  		2: "ONLY_UNSUBMITTED",
   206  	}
   207  	SubmittedFilter_value = map[string]int32{
   208  		"SUBMITTED_FILTER_UNSPECIFIED": 0,
   209  		"ONLY_SUBMITTED":               1,
   210  		"ONLY_UNSUBMITTED":             2,
   211  	}
   212  )
   213  
   214  func (x SubmittedFilter) Enum() *SubmittedFilter {
   215  	p := new(SubmittedFilter)
   216  	*p = x
   217  	return p
   218  }
   219  
   220  func (x SubmittedFilter) String() string {
   221  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   222  }
   223  
   224  func (SubmittedFilter) Descriptor() protoreflect.EnumDescriptor {
   225  	return file_go_chromium_org_luci_analysis_proto_v1_common_proto_enumTypes[2].Descriptor()
   226  }
   227  
   228  func (SubmittedFilter) Type() protoreflect.EnumType {
   229  	return &file_go_chromium_org_luci_analysis_proto_v1_common_proto_enumTypes[2]
   230  }
   231  
   232  func (x SubmittedFilter) Number() protoreflect.EnumNumber {
   233  	return protoreflect.EnumNumber(x)
   234  }
   235  
   236  // Deprecated: Use SubmittedFilter.Descriptor instead.
   237  func (SubmittedFilter) EnumDescriptor() ([]byte, []int) {
   238  	return file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDescGZIP(), []int{2}
   239  }
   240  
   241  // PresubmitRunMode describes the mode of a presubmit run. Currently
   242  // based on LUCI CV run mode enumeration at
   243  // https://source.chromium.org/chromium/infra/infra/+/main:go/src/go.chromium.org/luci/cv/api/bigquery/v1/attempt.proto?q=QUICK_DRY_RUN&type=cs.
   244  type PresubmitRunMode int32
   245  
   246  const (
   247  	// A presubmit run must not have this status.
   248  	PresubmitRunMode_PRESUBMIT_RUN_MODE_UNSPECIFIED PresubmitRunMode = 0
   249  	// Run all tests but do not submit.
   250  	PresubmitRunMode_DRY_RUN PresubmitRunMode = 1
   251  	// Run all tests and potentially submit.
   252  	PresubmitRunMode_FULL_RUN PresubmitRunMode = 2
   253  	// Run some tests but do not submit.
   254  	PresubmitRunMode_QUICK_DRY_RUN PresubmitRunMode = 3
   255  	// Runs some tests on patchset upload but do not submit.
   256  	PresubmitRunMode_NEW_PATCHSET_RUN PresubmitRunMode = 4
   257  )
   258  
   259  // Enum value maps for PresubmitRunMode.
   260  var (
   261  	PresubmitRunMode_name = map[int32]string{
   262  		0: "PRESUBMIT_RUN_MODE_UNSPECIFIED",
   263  		1: "DRY_RUN",
   264  		2: "FULL_RUN",
   265  		3: "QUICK_DRY_RUN",
   266  		4: "NEW_PATCHSET_RUN",
   267  	}
   268  	PresubmitRunMode_value = map[string]int32{
   269  		"PRESUBMIT_RUN_MODE_UNSPECIFIED": 0,
   270  		"DRY_RUN":                        1,
   271  		"FULL_RUN":                       2,
   272  		"QUICK_DRY_RUN":                  3,
   273  		"NEW_PATCHSET_RUN":               4,
   274  	}
   275  )
   276  
   277  func (x PresubmitRunMode) Enum() *PresubmitRunMode {
   278  	p := new(PresubmitRunMode)
   279  	*p = x
   280  	return p
   281  }
   282  
   283  func (x PresubmitRunMode) String() string {
   284  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   285  }
   286  
   287  func (PresubmitRunMode) Descriptor() protoreflect.EnumDescriptor {
   288  	return file_go_chromium_org_luci_analysis_proto_v1_common_proto_enumTypes[3].Descriptor()
   289  }
   290  
   291  func (PresubmitRunMode) Type() protoreflect.EnumType {
   292  	return &file_go_chromium_org_luci_analysis_proto_v1_common_proto_enumTypes[3]
   293  }
   294  
   295  func (x PresubmitRunMode) Number() protoreflect.EnumNumber {
   296  	return protoreflect.EnumNumber(x)
   297  }
   298  
   299  // Deprecated: Use PresubmitRunMode.Descriptor instead.
   300  func (PresubmitRunMode) EnumDescriptor() ([]byte, []int) {
   301  	return file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDescGZIP(), []int{3}
   302  }
   303  
   304  // PresubmitRunStatus is the ending status of a presubmit run.
   305  //
   306  // Note: All values prefixed with PRESUBMIT_RUN_STATUS_ as the names are
   307  // generic and likely to conflict with other/future enumerations otherwise.
   308  // See https://google.aip.dev/126.
   309  //
   310  // Based on https://source.chromium.org/chromium/infra/infra/+/main:go/src/go.chromium.org/luci/cv/internal/run/storage.proto;l=28?q=LUCI%20CV%20status%20lang:proto.
   311  type PresubmitRunStatus int32
   312  
   313  const (
   314  	// A build must not have this status.
   315  	PresubmitRunStatus_PRESUBMIT_RUN_STATUS_UNSPECIFIED PresubmitRunStatus = 0
   316  	// The run succeeded.
   317  	PresubmitRunStatus_PRESUBMIT_RUN_STATUS_SUCCEEDED PresubmitRunStatus = 1
   318  	// The run failed.
   319  	PresubmitRunStatus_PRESUBMIT_RUN_STATUS_FAILED PresubmitRunStatus = 2
   320  	// The run was canceled.
   321  	PresubmitRunStatus_PRESUBMIT_RUN_STATUS_CANCELED PresubmitRunStatus = 3
   322  )
   323  
   324  // Enum value maps for PresubmitRunStatus.
   325  var (
   326  	PresubmitRunStatus_name = map[int32]string{
   327  		0: "PRESUBMIT_RUN_STATUS_UNSPECIFIED",
   328  		1: "PRESUBMIT_RUN_STATUS_SUCCEEDED",
   329  		2: "PRESUBMIT_RUN_STATUS_FAILED",
   330  		3: "PRESUBMIT_RUN_STATUS_CANCELED",
   331  	}
   332  	PresubmitRunStatus_value = map[string]int32{
   333  		"PRESUBMIT_RUN_STATUS_UNSPECIFIED": 0,
   334  		"PRESUBMIT_RUN_STATUS_SUCCEEDED":   1,
   335  		"PRESUBMIT_RUN_STATUS_FAILED":      2,
   336  		"PRESUBMIT_RUN_STATUS_CANCELED":    3,
   337  	}
   338  )
   339  
   340  func (x PresubmitRunStatus) Enum() *PresubmitRunStatus {
   341  	p := new(PresubmitRunStatus)
   342  	*p = x
   343  	return p
   344  }
   345  
   346  func (x PresubmitRunStatus) String() string {
   347  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   348  }
   349  
   350  func (PresubmitRunStatus) Descriptor() protoreflect.EnumDescriptor {
   351  	return file_go_chromium_org_luci_analysis_proto_v1_common_proto_enumTypes[4].Descriptor()
   352  }
   353  
   354  func (PresubmitRunStatus) Type() protoreflect.EnumType {
   355  	return &file_go_chromium_org_luci_analysis_proto_v1_common_proto_enumTypes[4]
   356  }
   357  
   358  func (x PresubmitRunStatus) Number() protoreflect.EnumNumber {
   359  	return protoreflect.EnumNumber(x)
   360  }
   361  
   362  // Deprecated: Use PresubmitRunStatus.Descriptor instead.
   363  func (PresubmitRunStatus) EnumDescriptor() ([]byte, []int) {
   364  	return file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDescGZIP(), []int{4}
   365  }
   366  
   367  // A range of timestamps.
   368  type TimeRange struct {
   369  	state         protoimpl.MessageState
   370  	sizeCache     protoimpl.SizeCache
   371  	unknownFields protoimpl.UnknownFields
   372  
   373  	// The oldest timestamp to include in the range.
   374  	Earliest *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=earliest,proto3" json:"earliest,omitempty"`
   375  	// Include only timestamps that are strictly older than this.
   376  	Latest *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=latest,proto3" json:"latest,omitempty"`
   377  }
   378  
   379  func (x *TimeRange) Reset() {
   380  	*x = TimeRange{}
   381  	if protoimpl.UnsafeEnabled {
   382  		mi := &file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[0]
   383  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   384  		ms.StoreMessageInfo(mi)
   385  	}
   386  }
   387  
   388  func (x *TimeRange) String() string {
   389  	return protoimpl.X.MessageStringOf(x)
   390  }
   391  
   392  func (*TimeRange) ProtoMessage() {}
   393  
   394  func (x *TimeRange) ProtoReflect() protoreflect.Message {
   395  	mi := &file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[0]
   396  	if protoimpl.UnsafeEnabled && x != nil {
   397  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   398  		if ms.LoadMessageInfo() == nil {
   399  			ms.StoreMessageInfo(mi)
   400  		}
   401  		return ms
   402  	}
   403  	return mi.MessageOf(x)
   404  }
   405  
   406  // Deprecated: Use TimeRange.ProtoReflect.Descriptor instead.
   407  func (*TimeRange) Descriptor() ([]byte, []int) {
   408  	return file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDescGZIP(), []int{0}
   409  }
   410  
   411  func (x *TimeRange) GetEarliest() *timestamppb.Timestamp {
   412  	if x != nil {
   413  		return x.Earliest
   414  	}
   415  	return nil
   416  }
   417  
   418  func (x *TimeRange) GetLatest() *timestamppb.Timestamp {
   419  	if x != nil {
   420  		return x.Latest
   421  	}
   422  	return nil
   423  }
   424  
   425  // Identity of a test result.
   426  type TestResultId struct {
   427  	state         protoimpl.MessageState
   428  	sizeCache     protoimpl.SizeCache
   429  	unknownFields protoimpl.UnknownFields
   430  
   431  	// The test results system.
   432  	// Currently, the only valid value is "resultdb".
   433  	System string `protobuf:"bytes,1,opt,name=system,proto3" json:"system,omitempty"`
   434  	// ID for the test result in the test results system.
   435  	// For test results in ResultDB, the format is:
   436  	// "invocations/{INVOCATION_ID}/tests/{URL_ESCAPED_TEST_ID}/results/{RESULT_ID}"
   437  	// Where INVOCATION_ID, URL_ESCAPED_TEST_ID and RESULT_ID are values defined
   438  	// in ResultDB.
   439  	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
   440  }
   441  
   442  func (x *TestResultId) Reset() {
   443  	*x = TestResultId{}
   444  	if protoimpl.UnsafeEnabled {
   445  		mi := &file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[1]
   446  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   447  		ms.StoreMessageInfo(mi)
   448  	}
   449  }
   450  
   451  func (x *TestResultId) String() string {
   452  	return protoimpl.X.MessageStringOf(x)
   453  }
   454  
   455  func (*TestResultId) ProtoMessage() {}
   456  
   457  func (x *TestResultId) ProtoReflect() protoreflect.Message {
   458  	mi := &file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[1]
   459  	if protoimpl.UnsafeEnabled && x != nil {
   460  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   461  		if ms.LoadMessageInfo() == nil {
   462  			ms.StoreMessageInfo(mi)
   463  		}
   464  		return ms
   465  	}
   466  	return mi.MessageOf(x)
   467  }
   468  
   469  // Deprecated: Use TestResultId.ProtoReflect.Descriptor instead.
   470  func (*TestResultId) Descriptor() ([]byte, []int) {
   471  	return file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDescGZIP(), []int{1}
   472  }
   473  
   474  func (x *TestResultId) GetSystem() string {
   475  	if x != nil {
   476  		return x.System
   477  	}
   478  	return ""
   479  }
   480  
   481  func (x *TestResultId) GetId() string {
   482  	if x != nil {
   483  		return x.Id
   484  	}
   485  	return ""
   486  }
   487  
   488  // Variant represents a way of running a test case.
   489  //
   490  // The same test case can be executed in different ways, for example on
   491  // different OS, GPUs, with different compile options or runtime flags.
   492  type Variant struct {
   493  	state         protoimpl.MessageState
   494  	sizeCache     protoimpl.SizeCache
   495  	unknownFields protoimpl.UnknownFields
   496  
   497  	// The definition of the variant. Each key-value pair represents a
   498  	// parameter describing how the test was run (e.g. OS, GPU, etc.).
   499  	Def map[string]string `protobuf:"bytes,1,rep,name=def,proto3" json:"def,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   500  }
   501  
   502  func (x *Variant) Reset() {
   503  	*x = Variant{}
   504  	if protoimpl.UnsafeEnabled {
   505  		mi := &file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[2]
   506  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   507  		ms.StoreMessageInfo(mi)
   508  	}
   509  }
   510  
   511  func (x *Variant) String() string {
   512  	return protoimpl.X.MessageStringOf(x)
   513  }
   514  
   515  func (*Variant) ProtoMessage() {}
   516  
   517  func (x *Variant) ProtoReflect() protoreflect.Message {
   518  	mi := &file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[2]
   519  	if protoimpl.UnsafeEnabled && x != nil {
   520  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   521  		if ms.LoadMessageInfo() == nil {
   522  			ms.StoreMessageInfo(mi)
   523  		}
   524  		return ms
   525  	}
   526  	return mi.MessageOf(x)
   527  }
   528  
   529  // Deprecated: Use Variant.ProtoReflect.Descriptor instead.
   530  func (*Variant) Descriptor() ([]byte, []int) {
   531  	return file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDescGZIP(), []int{2}
   532  }
   533  
   534  func (x *Variant) GetDef() map[string]string {
   535  	if x != nil {
   536  		return x.Def
   537  	}
   538  	return nil
   539  }
   540  
   541  type StringPair struct {
   542  	state         protoimpl.MessageState
   543  	sizeCache     protoimpl.SizeCache
   544  	unknownFields protoimpl.UnknownFields
   545  
   546  	// Regex: ^[a-z][a-z0-9_]*(/[a-z][a-z0-9_]*)*$
   547  	// Max length: 64.
   548  	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
   549  	// Max length: 256.
   550  	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
   551  }
   552  
   553  func (x *StringPair) Reset() {
   554  	*x = StringPair{}
   555  	if protoimpl.UnsafeEnabled {
   556  		mi := &file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[3]
   557  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   558  		ms.StoreMessageInfo(mi)
   559  	}
   560  }
   561  
   562  func (x *StringPair) String() string {
   563  	return protoimpl.X.MessageStringOf(x)
   564  }
   565  
   566  func (*StringPair) ProtoMessage() {}
   567  
   568  func (x *StringPair) ProtoReflect() protoreflect.Message {
   569  	mi := &file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[3]
   570  	if protoimpl.UnsafeEnabled && x != nil {
   571  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   572  		if ms.LoadMessageInfo() == nil {
   573  			ms.StoreMessageInfo(mi)
   574  		}
   575  		return ms
   576  	}
   577  	return mi.MessageOf(x)
   578  }
   579  
   580  // Deprecated: Use StringPair.ProtoReflect.Descriptor instead.
   581  func (*StringPair) Descriptor() ([]byte, []int) {
   582  	return file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDescGZIP(), []int{3}
   583  }
   584  
   585  func (x *StringPair) GetKey() string {
   586  	if x != nil {
   587  		return x.Key
   588  	}
   589  	return ""
   590  }
   591  
   592  func (x *StringPair) GetValue() string {
   593  	if x != nil {
   594  		return x.Value
   595  	}
   596  	return ""
   597  }
   598  
   599  // Identity of a bug tracking component in a bug tracking system.
   600  type BugTrackingComponent struct {
   601  	state         protoimpl.MessageState
   602  	sizeCache     protoimpl.SizeCache
   603  	unknownFields protoimpl.UnknownFields
   604  
   605  	// The bug tracking system corresponding to this test case, as identified
   606  	// by the test results system.
   607  	// Currently, the valid values are "monorail" or "buganizer".
   608  	System string `protobuf:"bytes,1,opt,name=system,proto3" json:"system,omitempty"`
   609  	// The bug tracking component corresponding to this test case, as identified
   610  	// by the test results system.
   611  	// If the bug tracking system is monorail, this is the component as the
   612  	// user would see it, e.g. "Infra>Test>Flakiness". For monorail, the bug
   613  	// tracking project (e.g. "chromium") is not encoded, but assumed to be
   614  	// specified in the project's LUCI Analysis configuration.
   615  	Component string `protobuf:"bytes,2,opt,name=component,proto3" json:"component,omitempty"`
   616  }
   617  
   618  func (x *BugTrackingComponent) Reset() {
   619  	*x = BugTrackingComponent{}
   620  	if protoimpl.UnsafeEnabled {
   621  		mi := &file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[4]
   622  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   623  		ms.StoreMessageInfo(mi)
   624  	}
   625  }
   626  
   627  func (x *BugTrackingComponent) String() string {
   628  	return protoimpl.X.MessageStringOf(x)
   629  }
   630  
   631  func (*BugTrackingComponent) ProtoMessage() {}
   632  
   633  func (x *BugTrackingComponent) ProtoReflect() protoreflect.Message {
   634  	mi := &file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[4]
   635  	if protoimpl.UnsafeEnabled && x != nil {
   636  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   637  		if ms.LoadMessageInfo() == nil {
   638  			ms.StoreMessageInfo(mi)
   639  		}
   640  		return ms
   641  	}
   642  	return mi.MessageOf(x)
   643  }
   644  
   645  // Deprecated: Use BugTrackingComponent.ProtoReflect.Descriptor instead.
   646  func (*BugTrackingComponent) Descriptor() ([]byte, []int) {
   647  	return file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDescGZIP(), []int{4}
   648  }
   649  
   650  func (x *BugTrackingComponent) GetSystem() string {
   651  	if x != nil {
   652  		return x.System
   653  	}
   654  	return ""
   655  }
   656  
   657  func (x *BugTrackingComponent) GetComponent() string {
   658  	if x != nil {
   659  		return x.Component
   660  	}
   661  	return ""
   662  }
   663  
   664  // Identity of a presubmit run (also known as a "CQ Run" or "CV Run").
   665  type PresubmitRunId struct {
   666  	state         protoimpl.MessageState
   667  	sizeCache     protoimpl.SizeCache
   668  	unknownFields protoimpl.UnknownFields
   669  
   670  	// The system that was used to process the presubmit run.
   671  	// Currently, the only valid value is "luci-cv" for LUCI Commit Verifier
   672  	// (LUCI CV).
   673  	System string `protobuf:"bytes,1,opt,name=system,proto3" json:"system,omitempty"`
   674  	// Identity of the presubmit run.
   675  	// If the presubmit system is LUCI CV, the format of this value is:
   676  	//
   677  	//	"{LUCI_PROJECT}/{LUCI_CV_ID}", e.g.
   678  	//	"infra/8988819463854-1-f94732fe20056fd1".
   679  	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
   680  }
   681  
   682  func (x *PresubmitRunId) Reset() {
   683  	*x = PresubmitRunId{}
   684  	if protoimpl.UnsafeEnabled {
   685  		mi := &file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[5]
   686  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   687  		ms.StoreMessageInfo(mi)
   688  	}
   689  }
   690  
   691  func (x *PresubmitRunId) String() string {
   692  	return protoimpl.X.MessageStringOf(x)
   693  }
   694  
   695  func (*PresubmitRunId) ProtoMessage() {}
   696  
   697  func (x *PresubmitRunId) ProtoReflect() protoreflect.Message {
   698  	mi := &file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[5]
   699  	if protoimpl.UnsafeEnabled && x != nil {
   700  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   701  		if ms.LoadMessageInfo() == nil {
   702  			ms.StoreMessageInfo(mi)
   703  		}
   704  		return ms
   705  	}
   706  	return mi.MessageOf(x)
   707  }
   708  
   709  // Deprecated: Use PresubmitRunId.ProtoReflect.Descriptor instead.
   710  func (*PresubmitRunId) Descriptor() ([]byte, []int) {
   711  	return file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDescGZIP(), []int{5}
   712  }
   713  
   714  func (x *PresubmitRunId) GetSystem() string {
   715  	if x != nil {
   716  		return x.System
   717  	}
   718  	return ""
   719  }
   720  
   721  func (x *PresubmitRunId) GetId() string {
   722  	if x != nil {
   723  		return x.Id
   724  	}
   725  	return ""
   726  }
   727  
   728  // Identity of a bug in a bug-tracking system.
   729  type AssociatedBug struct {
   730  	state         protoimpl.MessageState
   731  	sizeCache     protoimpl.SizeCache
   732  	unknownFields protoimpl.UnknownFields
   733  
   734  	// System is the bug tracking system of the bug. This is either
   735  	// "monorail" or "buganizer".
   736  	System string `protobuf:"bytes,1,opt,name=system,proto3" json:"system,omitempty"`
   737  	// Id is the bug tracking system-specific identity of the bug.
   738  	// For monorail, the scheme is {project}/{numeric_id}, for
   739  	// buganizer the scheme is {numeric_id}.
   740  	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
   741  	// A human-readable name for the bug. This is typically the
   742  	// bug shortlink (e.g. "crbug.com/1234567").
   743  	LinkText string `protobuf:"bytes,3,opt,name=link_text,json=linkText,proto3" json:"link_text,omitempty"`
   744  	// The resolved bug URL, e.g.
   745  	// E.g. "https://bugs.chromium.org/p/chromium/issues/detail?id=123456".
   746  	Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"`
   747  }
   748  
   749  func (x *AssociatedBug) Reset() {
   750  	*x = AssociatedBug{}
   751  	if protoimpl.UnsafeEnabled {
   752  		mi := &file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[6]
   753  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   754  		ms.StoreMessageInfo(mi)
   755  	}
   756  }
   757  
   758  func (x *AssociatedBug) String() string {
   759  	return protoimpl.X.MessageStringOf(x)
   760  }
   761  
   762  func (*AssociatedBug) ProtoMessage() {}
   763  
   764  func (x *AssociatedBug) ProtoReflect() protoreflect.Message {
   765  	mi := &file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[6]
   766  	if protoimpl.UnsafeEnabled && x != nil {
   767  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   768  		if ms.LoadMessageInfo() == nil {
   769  			ms.StoreMessageInfo(mi)
   770  		}
   771  		return ms
   772  	}
   773  	return mi.MessageOf(x)
   774  }
   775  
   776  // Deprecated: Use AssociatedBug.ProtoReflect.Descriptor instead.
   777  func (*AssociatedBug) Descriptor() ([]byte, []int) {
   778  	return file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDescGZIP(), []int{6}
   779  }
   780  
   781  func (x *AssociatedBug) GetSystem() string {
   782  	if x != nil {
   783  		return x.System
   784  	}
   785  	return ""
   786  }
   787  
   788  func (x *AssociatedBug) GetId() string {
   789  	if x != nil {
   790  		return x.Id
   791  	}
   792  	return ""
   793  }
   794  
   795  func (x *AssociatedBug) GetLinkText() string {
   796  	if x != nil {
   797  		return x.LinkText
   798  	}
   799  	return ""
   800  }
   801  
   802  func (x *AssociatedBug) GetUrl() string {
   803  	if x != nil {
   804  		return x.Url
   805  	}
   806  	return ""
   807  }
   808  
   809  // ClusterId represents the identity of a cluster. The LUCI Project is
   810  // omitted as it is assumed to be implicit from the context.
   811  //
   812  // This is often used in place of the resource name of the cluster
   813  // (in the sense of https://google.aip.dev/122) as clients may need
   814  // to access individual parts of the resource name (e.g. to determine
   815  // the algorithm used) and it is not desirable to make clients parse
   816  // the resource name.
   817  type ClusterId struct {
   818  	state         protoimpl.MessageState
   819  	sizeCache     protoimpl.SizeCache
   820  	unknownFields protoimpl.UnknownFields
   821  
   822  	// Algorithm is the name of the clustering algorithm that identified
   823  	// the cluster.
   824  	Algorithm string `protobuf:"bytes,1,opt,name=algorithm,proto3" json:"algorithm,omitempty"`
   825  	// Id is the cluster identifier returned by the algorithm. The underlying
   826  	// identifier is at most 16 bytes, but is represented here as a hexadecimal
   827  	// string of up to 32 lowercase hexadecimal characters.
   828  	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
   829  }
   830  
   831  func (x *ClusterId) Reset() {
   832  	*x = ClusterId{}
   833  	if protoimpl.UnsafeEnabled {
   834  		mi := &file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[7]
   835  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   836  		ms.StoreMessageInfo(mi)
   837  	}
   838  }
   839  
   840  func (x *ClusterId) String() string {
   841  	return protoimpl.X.MessageStringOf(x)
   842  }
   843  
   844  func (*ClusterId) ProtoMessage() {}
   845  
   846  func (x *ClusterId) ProtoReflect() protoreflect.Message {
   847  	mi := &file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[7]
   848  	if protoimpl.UnsafeEnabled && x != nil {
   849  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   850  		if ms.LoadMessageInfo() == nil {
   851  			ms.StoreMessageInfo(mi)
   852  		}
   853  		return ms
   854  	}
   855  	return mi.MessageOf(x)
   856  }
   857  
   858  // Deprecated: Use ClusterId.ProtoReflect.Descriptor instead.
   859  func (*ClusterId) Descriptor() ([]byte, []int) {
   860  	return file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDescGZIP(), []int{7}
   861  }
   862  
   863  func (x *ClusterId) GetAlgorithm() string {
   864  	if x != nil {
   865  		return x.Algorithm
   866  	}
   867  	return ""
   868  }
   869  
   870  func (x *ClusterId) GetId() string {
   871  	if x != nil {
   872  		return x.Id
   873  	}
   874  	return ""
   875  }
   876  
   877  // Represents a range of numeric values, e.g. unexpected verdict rates.
   878  type NumericRange struct {
   879  	state         protoimpl.MessageState
   880  	sizeCache     protoimpl.SizeCache
   881  	unknownFields protoimpl.UnknownFields
   882  
   883  	// The inclusive lower bound included in the range.
   884  	LowerBound float32 `protobuf:"fixed32,1,opt,name=lower_bound,json=lowerBound,proto3" json:"lower_bound,omitempty"`
   885  	// The inclusive upper bound included in the range.
   886  	UpperBound float32 `protobuf:"fixed32,2,opt,name=upper_bound,json=upperBound,proto3" json:"upper_bound,omitempty"`
   887  }
   888  
   889  func (x *NumericRange) Reset() {
   890  	*x = NumericRange{}
   891  	if protoimpl.UnsafeEnabled {
   892  		mi := &file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[8]
   893  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   894  		ms.StoreMessageInfo(mi)
   895  	}
   896  }
   897  
   898  func (x *NumericRange) String() string {
   899  	return protoimpl.X.MessageStringOf(x)
   900  }
   901  
   902  func (*NumericRange) ProtoMessage() {}
   903  
   904  func (x *NumericRange) ProtoReflect() protoreflect.Message {
   905  	mi := &file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[8]
   906  	if protoimpl.UnsafeEnabled && x != nil {
   907  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   908  		if ms.LoadMessageInfo() == nil {
   909  			ms.StoreMessageInfo(mi)
   910  		}
   911  		return ms
   912  	}
   913  	return mi.MessageOf(x)
   914  }
   915  
   916  // Deprecated: Use NumericRange.ProtoReflect.Descriptor instead.
   917  func (*NumericRange) Descriptor() ([]byte, []int) {
   918  	return file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDescGZIP(), []int{8}
   919  }
   920  
   921  func (x *NumericRange) GetLowerBound() float32 {
   922  	if x != nil {
   923  		return x.LowerBound
   924  	}
   925  	return 0
   926  }
   927  
   928  func (x *NumericRange) GetUpperBound() float32 {
   929  	if x != nil {
   930  		return x.UpperBound
   931  	}
   932  	return 0
   933  }
   934  
   935  var File_go_chromium_org_luci_analysis_proto_v1_common_proto protoreflect.FileDescriptor
   936  
   937  var file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDesc = []byte{
   938  	0x0a, 0x33, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
   939  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2f,
   940  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
   941  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x61, 0x6e, 0x61, 0x6c,
   942  	0x79, 0x73, 0x69, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
   943  	0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69,
   944  	0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
   945  	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74,
   946  	0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x77, 0x0a, 0x09, 0x54, 0x69, 0x6d,
   947  	0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x36, 0x0a, 0x08, 0x65, 0x61, 0x72, 0x6c, 0x69, 0x65,
   948  	0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
   949  	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
   950  	0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x65, 0x61, 0x72, 0x6c, 0x69, 0x65, 0x73, 0x74, 0x12, 0x32,
   951  	0x0a, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
   952  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
   953  	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x06, 0x6c, 0x61, 0x74, 0x65,
   954  	0x73, 0x74, 0x22, 0x36, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
   955  	0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01,
   956  	0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
   957  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x77, 0x0a, 0x07, 0x56, 0x61,
   958  	0x72, 0x69, 0x61, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x03, 0x64, 0x65, 0x66, 0x18, 0x01, 0x20, 0x03,
   959  	0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73,
   960  	0x69, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x2e, 0x44, 0x65,
   961  	0x66, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x03, 0x64, 0x65, 0x66, 0x1a, 0x36, 0x0a, 0x08, 0x44,
   962  	0x65, 0x66, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01,
   963  	0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c,
   964  	0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
   965  	0x02, 0x38, 0x01, 0x22, 0x34, 0x0a, 0x0a, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x69,
   966  	0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03,
   967  	0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01,
   968  	0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x4c, 0x0a, 0x14, 0x42, 0x75, 0x67,
   969  	0x54, 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e,
   970  	0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28,
   971  	0x09, 0x52, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d,
   972  	0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f,
   973  	0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x22, 0x38, 0x0a, 0x0e, 0x50, 0x72, 0x65, 0x73, 0x75,
   974  	0x62, 0x6d, 0x69, 0x74, 0x52, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x73,
   975  	0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65,
   976  	0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
   977  	0x64, 0x22, 0x70, 0x0a, 0x0d, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x42,
   978  	0x75, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01,
   979  	0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
   980  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x6c, 0x69,
   981  	0x6e, 0x6b, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
   982  	0x41, 0x03, 0x52, 0x08, 0x6c, 0x69, 0x6e, 0x6b, 0x54, 0x65, 0x78, 0x74, 0x12, 0x15, 0x0a, 0x03,
   983  	0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x03,
   984  	0x75, 0x72, 0x6c, 0x22, 0x39, 0x0a, 0x09, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
   985  	0x12, 0x1c, 0x0a, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20,
   986  	0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x0e,
   987  	0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x50,
   988  	0x0a, 0x0c, 0x4e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1f,
   989  	0x0a, 0x0b, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20,
   990  	0x01, 0x28, 0x02, 0x52, 0x0a, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x12,
   991  	0x1f, 0x0a, 0x0b, 0x75, 0x70, 0x70, 0x65, 0x72, 0x5f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x02,
   992  	0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x70, 0x65, 0x72, 0x42, 0x6f, 0x75, 0x6e, 0x64,
   993  	0x2a, 0x9a, 0x01, 0x0a, 0x0b, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
   994  	0x12, 0x1c, 0x0a, 0x18, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53,
   995  	0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18,
   996  	0x0a, 0x14, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53,
   997  	0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x42, 0x55, 0x49, 0x4c,
   998  	0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45,
   999  	0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54,
  1000  	0x55, 0x53, 0x5f, 0x49, 0x4e, 0x46, 0x52, 0x41, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45,
  1001  	0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x42, 0x55, 0x49, 0x4c, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54,
  1002  	0x55, 0x53, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x2a, 0x8f, 0x01,
  1003  	0x0a, 0x11, 0x45, 0x78, 0x6f, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x61,
  1004  	0x73, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x1e, 0x45, 0x58, 0x4f, 0x4e, 0x45, 0x52, 0x41, 0x54, 0x49,
  1005  	0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
  1006  	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x43, 0x43, 0x55, 0x52,
  1007  	0x53, 0x5f, 0x4f, 0x4e, 0x5f, 0x4d, 0x41, 0x49, 0x4e, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x12,
  1008  	0x17, 0x0a, 0x13, 0x4f, 0x43, 0x43, 0x55, 0x52, 0x53, 0x5f, 0x4f, 0x4e, 0x5f, 0x4f, 0x54, 0x48,
  1009  	0x45, 0x52, 0x5f, 0x43, 0x4c, 0x53, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x4f, 0x54, 0x5f,
  1010  	0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x4e,
  1011  	0x45, 0x58, 0x50, 0x45, 0x43, 0x54, 0x45, 0x44, 0x5f, 0x50, 0x41, 0x53, 0x53, 0x10, 0x04, 0x2a,
  1012  	0x5d, 0x0a, 0x0f, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x46, 0x69, 0x6c, 0x74,
  1013  	0x65, 0x72, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x5f,
  1014  	0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
  1015  	0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x4e, 0x4c, 0x59, 0x5f, 0x53, 0x55, 0x42,
  1016  	0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x4f, 0x4e, 0x4c, 0x59,
  1017  	0x5f, 0x55, 0x4e, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, 0x54, 0x45, 0x44, 0x10, 0x02, 0x2a, 0x7a,
  1018  	0x0a, 0x10, 0x50, 0x72, 0x65, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x75, 0x6e, 0x4d, 0x6f,
  1019  	0x64, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x52, 0x45, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, 0x5f,
  1020  	0x52, 0x55, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
  1021  	0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x44, 0x52, 0x59, 0x5f, 0x52, 0x55,
  1022  	0x4e, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x52, 0x55, 0x4e, 0x10,
  1023  	0x02, 0x12, 0x11, 0x0a, 0x0d, 0x51, 0x55, 0x49, 0x43, 0x4b, 0x5f, 0x44, 0x52, 0x59, 0x5f, 0x52,
  1024  	0x55, 0x4e, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x45, 0x57, 0x5f, 0x50, 0x41, 0x54, 0x43,
  1025  	0x48, 0x53, 0x45, 0x54, 0x5f, 0x52, 0x55, 0x4e, 0x10, 0x04, 0x2a, 0xa2, 0x01, 0x0a, 0x12, 0x50,
  1026  	0x72, 0x65, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x52, 0x75, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75,
  1027  	0x73, 0x12, 0x24, 0x0a, 0x20, 0x50, 0x52, 0x45, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, 0x5f, 0x52,
  1028  	0x55, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
  1029  	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x52, 0x45, 0x53, 0x55,
  1030  	0x42, 0x4d, 0x49, 0x54, 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f,
  1031  	0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x50,
  1032  	0x52, 0x45, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x54, 0x41,
  1033  	0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x21, 0x0a, 0x1d,
  1034  	0x50, 0x52, 0x45, 0x53, 0x55, 0x42, 0x4d, 0x49, 0x54, 0x5f, 0x52, 0x55, 0x4e, 0x5f, 0x53, 0x54,
  1035  	0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x42,
  1036  	0x33, 0x5a, 0x31, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f,
  1037  	0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73,
  1038  	0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73,
  1039  	0x69, 0x73, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1040  }
  1041  
  1042  var (
  1043  	file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDescOnce sync.Once
  1044  	file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDescData = file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDesc
  1045  )
  1046  
  1047  func file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDescGZIP() []byte {
  1048  	file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDescOnce.Do(func() {
  1049  		file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDescData)
  1050  	})
  1051  	return file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDescData
  1052  }
  1053  
  1054  var file_go_chromium_org_luci_analysis_proto_v1_common_proto_enumTypes = make([]protoimpl.EnumInfo, 5)
  1055  var file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
  1056  var file_go_chromium_org_luci_analysis_proto_v1_common_proto_goTypes = []interface{}{
  1057  	(BuildStatus)(0),              // 0: luci.analysis.v1.BuildStatus
  1058  	(ExonerationReason)(0),        // 1: luci.analysis.v1.ExonerationReason
  1059  	(SubmittedFilter)(0),          // 2: luci.analysis.v1.SubmittedFilter
  1060  	(PresubmitRunMode)(0),         // 3: luci.analysis.v1.PresubmitRunMode
  1061  	(PresubmitRunStatus)(0),       // 4: luci.analysis.v1.PresubmitRunStatus
  1062  	(*TimeRange)(nil),             // 5: luci.analysis.v1.TimeRange
  1063  	(*TestResultId)(nil),          // 6: luci.analysis.v1.TestResultId
  1064  	(*Variant)(nil),               // 7: luci.analysis.v1.Variant
  1065  	(*StringPair)(nil),            // 8: luci.analysis.v1.StringPair
  1066  	(*BugTrackingComponent)(nil),  // 9: luci.analysis.v1.BugTrackingComponent
  1067  	(*PresubmitRunId)(nil),        // 10: luci.analysis.v1.PresubmitRunId
  1068  	(*AssociatedBug)(nil),         // 11: luci.analysis.v1.AssociatedBug
  1069  	(*ClusterId)(nil),             // 12: luci.analysis.v1.ClusterId
  1070  	(*NumericRange)(nil),          // 13: luci.analysis.v1.NumericRange
  1071  	nil,                           // 14: luci.analysis.v1.Variant.DefEntry
  1072  	(*timestamppb.Timestamp)(nil), // 15: google.protobuf.Timestamp
  1073  }
  1074  var file_go_chromium_org_luci_analysis_proto_v1_common_proto_depIdxs = []int32{
  1075  	15, // 0: luci.analysis.v1.TimeRange.earliest:type_name -> google.protobuf.Timestamp
  1076  	15, // 1: luci.analysis.v1.TimeRange.latest:type_name -> google.protobuf.Timestamp
  1077  	14, // 2: luci.analysis.v1.Variant.def:type_name -> luci.analysis.v1.Variant.DefEntry
  1078  	3,  // [3:3] is the sub-list for method output_type
  1079  	3,  // [3:3] is the sub-list for method input_type
  1080  	3,  // [3:3] is the sub-list for extension type_name
  1081  	3,  // [3:3] is the sub-list for extension extendee
  1082  	0,  // [0:3] is the sub-list for field type_name
  1083  }
  1084  
  1085  func init() { file_go_chromium_org_luci_analysis_proto_v1_common_proto_init() }
  1086  func file_go_chromium_org_luci_analysis_proto_v1_common_proto_init() {
  1087  	if File_go_chromium_org_luci_analysis_proto_v1_common_proto != nil {
  1088  		return
  1089  	}
  1090  	if !protoimpl.UnsafeEnabled {
  1091  		file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1092  			switch v := v.(*TimeRange); i {
  1093  			case 0:
  1094  				return &v.state
  1095  			case 1:
  1096  				return &v.sizeCache
  1097  			case 2:
  1098  				return &v.unknownFields
  1099  			default:
  1100  				return nil
  1101  			}
  1102  		}
  1103  		file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1104  			switch v := v.(*TestResultId); i {
  1105  			case 0:
  1106  				return &v.state
  1107  			case 1:
  1108  				return &v.sizeCache
  1109  			case 2:
  1110  				return &v.unknownFields
  1111  			default:
  1112  				return nil
  1113  			}
  1114  		}
  1115  		file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1116  			switch v := v.(*Variant); i {
  1117  			case 0:
  1118  				return &v.state
  1119  			case 1:
  1120  				return &v.sizeCache
  1121  			case 2:
  1122  				return &v.unknownFields
  1123  			default:
  1124  				return nil
  1125  			}
  1126  		}
  1127  		file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1128  			switch v := v.(*StringPair); i {
  1129  			case 0:
  1130  				return &v.state
  1131  			case 1:
  1132  				return &v.sizeCache
  1133  			case 2:
  1134  				return &v.unknownFields
  1135  			default:
  1136  				return nil
  1137  			}
  1138  		}
  1139  		file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1140  			switch v := v.(*BugTrackingComponent); i {
  1141  			case 0:
  1142  				return &v.state
  1143  			case 1:
  1144  				return &v.sizeCache
  1145  			case 2:
  1146  				return &v.unknownFields
  1147  			default:
  1148  				return nil
  1149  			}
  1150  		}
  1151  		file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1152  			switch v := v.(*PresubmitRunId); i {
  1153  			case 0:
  1154  				return &v.state
  1155  			case 1:
  1156  				return &v.sizeCache
  1157  			case 2:
  1158  				return &v.unknownFields
  1159  			default:
  1160  				return nil
  1161  			}
  1162  		}
  1163  		file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1164  			switch v := v.(*AssociatedBug); i {
  1165  			case 0:
  1166  				return &v.state
  1167  			case 1:
  1168  				return &v.sizeCache
  1169  			case 2:
  1170  				return &v.unknownFields
  1171  			default:
  1172  				return nil
  1173  			}
  1174  		}
  1175  		file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1176  			switch v := v.(*ClusterId); i {
  1177  			case 0:
  1178  				return &v.state
  1179  			case 1:
  1180  				return &v.sizeCache
  1181  			case 2:
  1182  				return &v.unknownFields
  1183  			default:
  1184  				return nil
  1185  			}
  1186  		}
  1187  		file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1188  			switch v := v.(*NumericRange); i {
  1189  			case 0:
  1190  				return &v.state
  1191  			case 1:
  1192  				return &v.sizeCache
  1193  			case 2:
  1194  				return &v.unknownFields
  1195  			default:
  1196  				return nil
  1197  			}
  1198  		}
  1199  	}
  1200  	type x struct{}
  1201  	out := protoimpl.TypeBuilder{
  1202  		File: protoimpl.DescBuilder{
  1203  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1204  			RawDescriptor: file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDesc,
  1205  			NumEnums:      5,
  1206  			NumMessages:   10,
  1207  			NumExtensions: 0,
  1208  			NumServices:   0,
  1209  		},
  1210  		GoTypes:           file_go_chromium_org_luci_analysis_proto_v1_common_proto_goTypes,
  1211  		DependencyIndexes: file_go_chromium_org_luci_analysis_proto_v1_common_proto_depIdxs,
  1212  		EnumInfos:         file_go_chromium_org_luci_analysis_proto_v1_common_proto_enumTypes,
  1213  		MessageInfos:      file_go_chromium_org_luci_analysis_proto_v1_common_proto_msgTypes,
  1214  	}.Build()
  1215  	File_go_chromium_org_luci_analysis_proto_v1_common_proto = out.File
  1216  	file_go_chromium_org_luci_analysis_proto_v1_common_proto_rawDesc = nil
  1217  	file_go_chromium_org_luci_analysis_proto_v1_common_proto_goTypes = nil
  1218  	file_go_chromium_org_luci_analysis_proto_v1_common_proto_depIdxs = nil
  1219  }