go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/provenance/api/snooperpb/v1/report.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.31.0
    18  // 	protoc        v3.21.7
    19  // source: go.chromium.org/luci/provenance/api/snooperpb/v1/report.proto
    20  
    21  package snooperpb
    22  
    23  import (
    24  	v1 "go.chromium.org/luci/cipd/api/cipd/v1"
    25  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    26  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    27  	emptypb "google.golang.org/protobuf/types/known/emptypb"
    28  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    29  	reflect "reflect"
    30  	sync "sync"
    31  )
    32  
    33  const (
    34  	// Verify that this generated code is sufficiently up-to-date.
    35  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    36  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    37  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    38  )
    39  
    40  // Indicator to task status. This is used to annotate logs when a task starts
    41  // ends or reaches a certain "interesting" stage.
    42  //
    43  // This is crucial to enforce security policies based on current state of the
    44  // task. For example, more restrictive network connections can be applied when a
    45  // task reaches `compile` stage.
    46  //
    47  // Below is a brief rationale behind each steps:
    48  //   - STARTED: provenance of an artifact captures sources that goes into a
    49  //     build. A single compute resource typically outlives a task, in
    50  //     other words, a single machine can run multiple tasks in it's
    51  //     lifetime. Task start indicates the capturing time window began.
    52  //   - FETCH: typically a task depends on a bunch of dependencies that are
    53  //     fetched to set up the environment before compiling the artifact.
    54  //     Fetch indicates that the task is currently installing these deps.
    55  //   - COMPILE: ideally in compile step, there shouldn't be any new fetching.
    56  //   - UPLOAD: after finishing compilation, this step indicates built artifacts
    57  //     are being uploaded to its destination. A single task can have
    58  //     multiple produced artifacts.
    59  //   - UPLOAD_COMPLETE: it indicates all produced artifacts have been uploaded.
    60  //     This is crucial to closing the capturing time window for
    61  //     provenance generation.
    62  //   - TEST: often a task runs regression tests after an artifact has been
    63  //     produced. Some times requirements around this tests is an open
    64  //     environment which might not be safe for other task phases. To
    65  //     support effective tests, some policies can be lifted at this stage.
    66  //     (Although it is highly encouraged to schedule tests on a separate
    67  //     machine when possible to minimize risks of cross-contamination).
    68  //   - COMPLETE: complete indicates whether a task execution finished. This is
    69  //     crucial for server to set as this creates a clear boundary
    70  //     between subsequent tasks on a same machine.
    71  type TaskStage int32
    72  
    73  const (
    74  	TaskStage_STAGE_UNSPECIFIED TaskStage = 0
    75  	TaskStage_STARTED           TaskStage = 1
    76  	TaskStage_FETCH             TaskStage = 2
    77  	TaskStage_COMPILE           TaskStage = 3
    78  	TaskStage_UPLOAD            TaskStage = 4
    79  	TaskStage_UPLOAD_COMPLETE   TaskStage = 5
    80  	TaskStage_TEST              TaskStage = 6
    81  	TaskStage_COMPLETE          TaskStage = 7
    82  )
    83  
    84  // Enum value maps for TaskStage.
    85  var (
    86  	TaskStage_name = map[int32]string{
    87  		0: "STAGE_UNSPECIFIED",
    88  		1: "STARTED",
    89  		2: "FETCH",
    90  		3: "COMPILE",
    91  		4: "UPLOAD",
    92  		5: "UPLOAD_COMPLETE",
    93  		6: "TEST",
    94  		7: "COMPLETE",
    95  	}
    96  	TaskStage_value = map[string]int32{
    97  		"STAGE_UNSPECIFIED": 0,
    98  		"STARTED":           1,
    99  		"FETCH":             2,
   100  		"COMPILE":           3,
   101  		"UPLOAD":            4,
   102  		"UPLOAD_COMPLETE":   5,
   103  		"TEST":              6,
   104  		"COMPLETE":          7,
   105  	}
   106  )
   107  
   108  func (x TaskStage) Enum() *TaskStage {
   109  	p := new(TaskStage)
   110  	*p = x
   111  	return p
   112  }
   113  
   114  func (x TaskStage) String() string {
   115  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   116  }
   117  
   118  func (TaskStage) Descriptor() protoreflect.EnumDescriptor {
   119  	return file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_enumTypes[0].Descriptor()
   120  }
   121  
   122  func (TaskStage) Type() protoreflect.EnumType {
   123  	return &file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_enumTypes[0]
   124  }
   125  
   126  func (x TaskStage) Number() protoreflect.EnumNumber {
   127  	return protoreflect.EnumNumber(x)
   128  }
   129  
   130  // Deprecated: Use TaskStage.Descriptor instead.
   131  func (TaskStage) EnumDescriptor() ([]byte, []int) {
   132  	return file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_rawDescGZIP(), []int{0}
   133  }
   134  
   135  // Identifies storage location of a particular artifact. This will be used to
   136  // attach provenance:
   137  //   - GCS: provenance will be uploaded alongside the artifact.
   138  //   - CIPD: provenance will be added to package metadata.
   139  //
   140  // Currently we support provenance for two types of artifacts (gcs, cipd).
   141  type Artifact struct {
   142  	state         protoimpl.MessageState
   143  	sizeCache     protoimpl.SizeCache
   144  	unknownFields protoimpl.UnknownFields
   145  
   146  	// Types that are assignable to Kind:
   147  	//
   148  	//	*Artifact_Gcs
   149  	//	*Artifact_Cipd
   150  	Kind isArtifact_Kind `protobuf_oneof:"kind"`
   151  }
   152  
   153  func (x *Artifact) Reset() {
   154  	*x = Artifact{}
   155  	if protoimpl.UnsafeEnabled {
   156  		mi := &file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[0]
   157  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   158  		ms.StoreMessageInfo(mi)
   159  	}
   160  }
   161  
   162  func (x *Artifact) String() string {
   163  	return protoimpl.X.MessageStringOf(x)
   164  }
   165  
   166  func (*Artifact) ProtoMessage() {}
   167  
   168  func (x *Artifact) ProtoReflect() protoreflect.Message {
   169  	mi := &file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[0]
   170  	if protoimpl.UnsafeEnabled && x != nil {
   171  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   172  		if ms.LoadMessageInfo() == nil {
   173  			ms.StoreMessageInfo(mi)
   174  		}
   175  		return ms
   176  	}
   177  	return mi.MessageOf(x)
   178  }
   179  
   180  // Deprecated: Use Artifact.ProtoReflect.Descriptor instead.
   181  func (*Artifact) Descriptor() ([]byte, []int) {
   182  	return file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_rawDescGZIP(), []int{0}
   183  }
   184  
   185  func (m *Artifact) GetKind() isArtifact_Kind {
   186  	if m != nil {
   187  		return m.Kind
   188  	}
   189  	return nil
   190  }
   191  
   192  func (x *Artifact) GetGcs() string {
   193  	if x, ok := x.GetKind().(*Artifact_Gcs); ok {
   194  		return x.Gcs
   195  	}
   196  	return ""
   197  }
   198  
   199  func (x *Artifact) GetCipd() *Artifact_CIPD {
   200  	if x, ok := x.GetKind().(*Artifact_Cipd); ok {
   201  		return x.Cipd
   202  	}
   203  	return nil
   204  }
   205  
   206  type isArtifact_Kind interface {
   207  	isArtifact_Kind()
   208  }
   209  
   210  type Artifact_Gcs struct {
   211  	// Artifacts stored on Google Cloud Storage, e.g. Chrome binaries.
   212  	// Identifier of artifact's storage location, e.g.
   213  	// gs://example-bucket/app/1.2.3.4/mac64/bin.dmg
   214  	Gcs string `protobuf:"bytes,1,opt,name=gcs,proto3,oneof"`
   215  }
   216  
   217  type Artifact_Cipd struct {
   218  	Cipd *Artifact_CIPD `protobuf:"bytes,2,opt,name=cipd,proto3,oneof"`
   219  }
   220  
   221  func (*Artifact_Gcs) isArtifact_Kind() {}
   222  
   223  func (*Artifact_Cipd) isArtifact_Kind() {}
   224  
   225  type CipdReport struct {
   226  	state         protoimpl.MessageState
   227  	sizeCache     protoimpl.SizeCache
   228  	unknownFields protoimpl.UnknownFields
   229  
   230  	// An identifier to map multiple reports to a machine/task. This is
   231  	// going to be the hash(access_token) used by bots to make requests
   232  	// to luci services.
   233  	RequestorId string `protobuf:"bytes,1,opt,name=requestor_id,json=requestorId,proto3" json:"requestor_id,omitempty"`
   234  	// CIPD package name requested/installed on the machine.
   235  	PackageName string `protobuf:"bytes,2,opt,name=package_name,json=packageName,proto3" json:"package_name,omitempty"`
   236  	// Unique identifier of the package instance, a.k.a. instance_id.
   237  	Iid string `protobuf:"bytes,3,opt,name=iid,proto3" json:"iid,omitempty"`
   238  	// CIPD tags attached to the deployed package.
   239  	Tags []*v1.Tag `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty"`
   240  	// CIPD refs attached to the deployed package.
   241  	Refs []*v1.Ref `protobuf:"bytes,5,rep,name=refs,proto3" json:"refs,omitempty"`
   242  	// Event timestamp. This is local to the service, not necessarily same as
   243  	// the reflected recorded timestamp on the logs.
   244  	EventTs *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=event_ts,json=eventTs,proto3" json:"event_ts,omitempty"`
   245  }
   246  
   247  func (x *CipdReport) Reset() {
   248  	*x = CipdReport{}
   249  	if protoimpl.UnsafeEnabled {
   250  		mi := &file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[1]
   251  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   252  		ms.StoreMessageInfo(mi)
   253  	}
   254  }
   255  
   256  func (x *CipdReport) String() string {
   257  	return protoimpl.X.MessageStringOf(x)
   258  }
   259  
   260  func (*CipdReport) ProtoMessage() {}
   261  
   262  func (x *CipdReport) ProtoReflect() protoreflect.Message {
   263  	mi := &file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[1]
   264  	if protoimpl.UnsafeEnabled && x != nil {
   265  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   266  		if ms.LoadMessageInfo() == nil {
   267  			ms.StoreMessageInfo(mi)
   268  		}
   269  		return ms
   270  	}
   271  	return mi.MessageOf(x)
   272  }
   273  
   274  // Deprecated: Use CipdReport.ProtoReflect.Descriptor instead.
   275  func (*CipdReport) Descriptor() ([]byte, []int) {
   276  	return file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_rawDescGZIP(), []int{1}
   277  }
   278  
   279  func (x *CipdReport) GetRequestorId() string {
   280  	if x != nil {
   281  		return x.RequestorId
   282  	}
   283  	return ""
   284  }
   285  
   286  func (x *CipdReport) GetPackageName() string {
   287  	if x != nil {
   288  		return x.PackageName
   289  	}
   290  	return ""
   291  }
   292  
   293  func (x *CipdReport) GetIid() string {
   294  	if x != nil {
   295  		return x.Iid
   296  	}
   297  	return ""
   298  }
   299  
   300  func (x *CipdReport) GetTags() []*v1.Tag {
   301  	if x != nil {
   302  		return x.Tags
   303  	}
   304  	return nil
   305  }
   306  
   307  func (x *CipdReport) GetRefs() []*v1.Ref {
   308  	if x != nil {
   309  		return x.Refs
   310  	}
   311  	return nil
   312  }
   313  
   314  func (x *CipdReport) GetEventTs() *timestamppb.Timestamp {
   315  	if x != nil {
   316  		return x.EventTs
   317  	}
   318  	return nil
   319  }
   320  
   321  type GcsReport struct {
   322  	state         protoimpl.MessageState
   323  	sizeCache     protoimpl.SizeCache
   324  	unknownFields protoimpl.UnknownFields
   325  
   326  	// An identifier to map multiple reports to a machine/task. This is
   327  	// going to be a build identifier.
   328  	RequestorId string `protobuf:"bytes,1,opt,name=requestor_id,json=requestorId,proto3" json:"requestor_id,omitempty"`
   329  	// GCS URI for the artifact downloaded on the machine.
   330  	GcsUri string `protobuf:"bytes,2,opt,name=gcs_uri,json=gcsUri,proto3" json:"gcs_uri,omitempty"`
   331  	// Digest of the downloaded artifact.
   332  	Digest string `protobuf:"bytes,3,opt,name=digest,proto3" json:"digest,omitempty"`
   333  	// Event timestamp. This is local to the service, not necessarily same as
   334  	// the reflected recorded timestamp on the logs.
   335  	EventTs *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=event_ts,json=eventTs,proto3" json:"event_ts,omitempty"`
   336  }
   337  
   338  func (x *GcsReport) Reset() {
   339  	*x = GcsReport{}
   340  	if protoimpl.UnsafeEnabled {
   341  		mi := &file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[2]
   342  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   343  		ms.StoreMessageInfo(mi)
   344  	}
   345  }
   346  
   347  func (x *GcsReport) String() string {
   348  	return protoimpl.X.MessageStringOf(x)
   349  }
   350  
   351  func (*GcsReport) ProtoMessage() {}
   352  
   353  func (x *GcsReport) ProtoReflect() protoreflect.Message {
   354  	mi := &file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[2]
   355  	if protoimpl.UnsafeEnabled && x != nil {
   356  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   357  		if ms.LoadMessageInfo() == nil {
   358  			ms.StoreMessageInfo(mi)
   359  		}
   360  		return ms
   361  	}
   362  	return mi.MessageOf(x)
   363  }
   364  
   365  // Deprecated: Use GcsReport.ProtoReflect.Descriptor instead.
   366  func (*GcsReport) Descriptor() ([]byte, []int) {
   367  	return file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_rawDescGZIP(), []int{2}
   368  }
   369  
   370  func (x *GcsReport) GetRequestorId() string {
   371  	if x != nil {
   372  		return x.RequestorId
   373  	}
   374  	return ""
   375  }
   376  
   377  func (x *GcsReport) GetGcsUri() string {
   378  	if x != nil {
   379  		return x.GcsUri
   380  	}
   381  	return ""
   382  }
   383  
   384  func (x *GcsReport) GetDigest() string {
   385  	if x != nil {
   386  		return x.Digest
   387  	}
   388  	return ""
   389  }
   390  
   391  func (x *GcsReport) GetEventTs() *timestamppb.Timestamp {
   392  	if x != nil {
   393  		return x.EventTs
   394  	}
   395  	return nil
   396  }
   397  
   398  type GitReport struct {
   399  	state         protoimpl.MessageState
   400  	sizeCache     protoimpl.SizeCache
   401  	unknownFields protoimpl.UnknownFields
   402  
   403  	// An identifier to map multiple reports to a machine/task. Reporter do not
   404  	// need to set this. It is used by the server to group reports together and
   405  	// bind them to a single task.
   406  	RequestorId string `protobuf:"bytes,1,opt,name=requestor_id,json=requestorId,proto3" json:"requestor_id,omitempty"`
   407  	// Git repository URL.
   408  	Repo string `protobuf:"bytes,2,opt,name=repo,proto3" json:"repo,omitempty"`
   409  	// Commit that was fetched for this repo.
   410  	Commit string `protobuf:"bytes,3,opt,name=commit,proto3" json:"commit,omitempty"`
   411  	// This is coming from an upstream dependency, although a checkout can be
   412  	// uniquely attributed by a repo and a commit, they don't often produce
   413  	// measurable inputs for security policy.
   414  	// For example, a git repo may have multiple refs/branches and only some of
   415  	// them may have `Code Review` required.
   416  	//
   417  	// To make a security policy decision about a particular commit, sometimes
   418  	// it is useful to know which branch/ref the commit is associated with, note
   419  	// a single commit can be associated with multiple branches, but the highest
   420  	// security policy will always be enforced.
   421  	// Scenario:
   422  	// Git repo: "http://repo.git"
   423  	// Commit  : "deadbeef"
   424  	// Refs    : ["refs/heads/main", "refs/feature/experimental"]
   425  	// In this example, the particular commit belongs to two branches, one does
   426  	// not have mandatory code review (experimental) but the other does.
   427  	//
   428  	// Irrespective of the order of where the commit belonged first, it is
   429  	// certain that the change was reviewed as this was merged to main branch.
   430  	Refs string `protobuf:"bytes,4,opt,name=refs,proto3" json:"refs,omitempty"`
   431  	// Event timestamp. This is local to the service, not necessarily same as
   432  	// the reflected recorded timestamp on the logs.
   433  	EventTs *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=event_ts,json=eventTs,proto3" json:"event_ts,omitempty"`
   434  }
   435  
   436  func (x *GitReport) Reset() {
   437  	*x = GitReport{}
   438  	if protoimpl.UnsafeEnabled {
   439  		mi := &file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[3]
   440  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   441  		ms.StoreMessageInfo(mi)
   442  	}
   443  }
   444  
   445  func (x *GitReport) String() string {
   446  	return protoimpl.X.MessageStringOf(x)
   447  }
   448  
   449  func (*GitReport) ProtoMessage() {}
   450  
   451  func (x *GitReport) ProtoReflect() protoreflect.Message {
   452  	mi := &file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[3]
   453  	if protoimpl.UnsafeEnabled && x != nil {
   454  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   455  		if ms.LoadMessageInfo() == nil {
   456  			ms.StoreMessageInfo(mi)
   457  		}
   458  		return ms
   459  	}
   460  	return mi.MessageOf(x)
   461  }
   462  
   463  // Deprecated: Use GitReport.ProtoReflect.Descriptor instead.
   464  func (*GitReport) Descriptor() ([]byte, []int) {
   465  	return file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_rawDescGZIP(), []int{3}
   466  }
   467  
   468  func (x *GitReport) GetRequestorId() string {
   469  	if x != nil {
   470  		return x.RequestorId
   471  	}
   472  	return ""
   473  }
   474  
   475  func (x *GitReport) GetRepo() string {
   476  	if x != nil {
   477  		return x.Repo
   478  	}
   479  	return ""
   480  }
   481  
   482  func (x *GitReport) GetCommit() string {
   483  	if x != nil {
   484  		return x.Commit
   485  	}
   486  	return ""
   487  }
   488  
   489  func (x *GitReport) GetRefs() string {
   490  	if x != nil {
   491  		return x.Refs
   492  	}
   493  	return ""
   494  }
   495  
   496  func (x *GitReport) GetEventTs() *timestamppb.Timestamp {
   497  	if x != nil {
   498  		return x.EventTs
   499  	}
   500  	return nil
   501  }
   502  
   503  type ReportTaskStageRequest struct {
   504  	state         protoimpl.MessageState
   505  	sizeCache     protoimpl.SizeCache
   506  	unknownFields protoimpl.UnknownFields
   507  
   508  	TaskStage TaskStage              `protobuf:"varint,1,opt,name=task_stage,json=taskStage,proto3,enum=provenance.snooperpb.TaskStage" json:"task_stage,omitempty"`
   509  	Timestamp *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
   510  	// Recipe is essentially the entry point for the given task, it can be a
   511  	// `build_rule` or a custom executable (like `luci recipes`) that dictates
   512  	// workflow of a task.
   513  	//
   514  	// (Required) when reporting a task start.
   515  	Recipe string `protobuf:"bytes,3,opt,name=recipe,proto3" json:"recipe,omitempty"`
   516  	// Process ID of the task that self-reports task stages. It is used by the
   517  	// server to periodically check health of running task and assert a close
   518  	// approximation of task end time.
   519  	//
   520  	// Accuracy on task end time estimation can vary between implementations, it
   521  	// directly depends on frequency at which provenance server checks status of
   522  	// reported pid.
   523  	//
   524  	// (Required) when reported a task start.
   525  	Pid int64 `protobuf:"varint,4,opt,name=pid,proto3" json:"pid,omitempty"`
   526  }
   527  
   528  func (x *ReportTaskStageRequest) Reset() {
   529  	*x = ReportTaskStageRequest{}
   530  	if protoimpl.UnsafeEnabled {
   531  		mi := &file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[4]
   532  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   533  		ms.StoreMessageInfo(mi)
   534  	}
   535  }
   536  
   537  func (x *ReportTaskStageRequest) String() string {
   538  	return protoimpl.X.MessageStringOf(x)
   539  }
   540  
   541  func (*ReportTaskStageRequest) ProtoMessage() {}
   542  
   543  func (x *ReportTaskStageRequest) ProtoReflect() protoreflect.Message {
   544  	mi := &file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[4]
   545  	if protoimpl.UnsafeEnabled && x != nil {
   546  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   547  		if ms.LoadMessageInfo() == nil {
   548  			ms.StoreMessageInfo(mi)
   549  		}
   550  		return ms
   551  	}
   552  	return mi.MessageOf(x)
   553  }
   554  
   555  // Deprecated: Use ReportTaskStageRequest.ProtoReflect.Descriptor instead.
   556  func (*ReportTaskStageRequest) Descriptor() ([]byte, []int) {
   557  	return file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_rawDescGZIP(), []int{4}
   558  }
   559  
   560  func (x *ReportTaskStageRequest) GetTaskStage() TaskStage {
   561  	if x != nil {
   562  		return x.TaskStage
   563  	}
   564  	return TaskStage_STAGE_UNSPECIFIED
   565  }
   566  
   567  func (x *ReportTaskStageRequest) GetTimestamp() *timestamppb.Timestamp {
   568  	if x != nil {
   569  		return x.Timestamp
   570  	}
   571  	return nil
   572  }
   573  
   574  func (x *ReportTaskStageRequest) GetRecipe() string {
   575  	if x != nil {
   576  		return x.Recipe
   577  	}
   578  	return ""
   579  }
   580  
   581  func (x *ReportTaskStageRequest) GetPid() int64 {
   582  	if x != nil {
   583  		return x.Pid
   584  	}
   585  	return 0
   586  }
   587  
   588  type ReportArtifactDigestRequest struct {
   589  	state         protoimpl.MessageState
   590  	sizeCache     protoimpl.SizeCache
   591  	unknownFields protoimpl.UnknownFields
   592  
   593  	// SHA256 digest of artifact.
   594  	Digest string `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"`
   595  	// Identifies storage location of a particular artifact. This is used
   596  	// by Spike to attach provenance:
   597  	//   - GCS: provenance will be uploaded alongside the artifact.
   598  	//   - CIPD: provenance will be added to package metadata.
   599  	Artifact *Artifact `protobuf:"bytes,2,opt,name=artifact,proto3" json:"artifact,omitempty"`
   600  	// If set, identifies that the artifact is an SBOM for other artifacts,
   601  	// identified by SHA256 digest.
   602  	SbomSubjects []string `protobuf:"bytes,3,rep,name=sbom_subjects,json=sbomSubjects,proto3" json:"sbom_subjects,omitempty"`
   603  }
   604  
   605  func (x *ReportArtifactDigestRequest) Reset() {
   606  	*x = ReportArtifactDigestRequest{}
   607  	if protoimpl.UnsafeEnabled {
   608  		mi := &file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[5]
   609  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   610  		ms.StoreMessageInfo(mi)
   611  	}
   612  }
   613  
   614  func (x *ReportArtifactDigestRequest) String() string {
   615  	return protoimpl.X.MessageStringOf(x)
   616  }
   617  
   618  func (*ReportArtifactDigestRequest) ProtoMessage() {}
   619  
   620  func (x *ReportArtifactDigestRequest) ProtoReflect() protoreflect.Message {
   621  	mi := &file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[5]
   622  	if protoimpl.UnsafeEnabled && x != nil {
   623  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   624  		if ms.LoadMessageInfo() == nil {
   625  			ms.StoreMessageInfo(mi)
   626  		}
   627  		return ms
   628  	}
   629  	return mi.MessageOf(x)
   630  }
   631  
   632  // Deprecated: Use ReportArtifactDigestRequest.ProtoReflect.Descriptor instead.
   633  func (*ReportArtifactDigestRequest) Descriptor() ([]byte, []int) {
   634  	return file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_rawDescGZIP(), []int{5}
   635  }
   636  
   637  func (x *ReportArtifactDigestRequest) GetDigest() string {
   638  	if x != nil {
   639  		return x.Digest
   640  	}
   641  	return ""
   642  }
   643  
   644  func (x *ReportArtifactDigestRequest) GetArtifact() *Artifact {
   645  	if x != nil {
   646  		return x.Artifact
   647  	}
   648  	return nil
   649  }
   650  
   651  func (x *ReportArtifactDigestRequest) GetSbomSubjects() []string {
   652  	if x != nil {
   653  		return x.SbomSubjects
   654  	}
   655  	return nil
   656  }
   657  
   658  type ReportCipdRequest struct {
   659  	state         protoimpl.MessageState
   660  	sizeCache     protoimpl.SizeCache
   661  	unknownFields protoimpl.UnknownFields
   662  
   663  	// cipd_report will consist of package name, instance_id of a cipd package.
   664  	CipdReport *CipdReport `protobuf:"bytes,1,opt,name=cipd_report,json=cipdReport,proto3" json:"cipd_report,omitempty"`
   665  }
   666  
   667  func (x *ReportCipdRequest) Reset() {
   668  	*x = ReportCipdRequest{}
   669  	if protoimpl.UnsafeEnabled {
   670  		mi := &file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[6]
   671  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   672  		ms.StoreMessageInfo(mi)
   673  	}
   674  }
   675  
   676  func (x *ReportCipdRequest) String() string {
   677  	return protoimpl.X.MessageStringOf(x)
   678  }
   679  
   680  func (*ReportCipdRequest) ProtoMessage() {}
   681  
   682  func (x *ReportCipdRequest) ProtoReflect() protoreflect.Message {
   683  	mi := &file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[6]
   684  	if protoimpl.UnsafeEnabled && x != nil {
   685  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   686  		if ms.LoadMessageInfo() == nil {
   687  			ms.StoreMessageInfo(mi)
   688  		}
   689  		return ms
   690  	}
   691  	return mi.MessageOf(x)
   692  }
   693  
   694  // Deprecated: Use ReportCipdRequest.ProtoReflect.Descriptor instead.
   695  func (*ReportCipdRequest) Descriptor() ([]byte, []int) {
   696  	return file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_rawDescGZIP(), []int{6}
   697  }
   698  
   699  func (x *ReportCipdRequest) GetCipdReport() *CipdReport {
   700  	if x != nil {
   701  		return x.CipdReport
   702  	}
   703  	return nil
   704  }
   705  
   706  type ReportGitRequest struct {
   707  	state         protoimpl.MessageState
   708  	sizeCache     protoimpl.SizeCache
   709  	unknownFields protoimpl.UnknownFields
   710  
   711  	// git_report will consist of repo name, git hash of checked out repo.
   712  	GitReport *GitReport `protobuf:"bytes,1,opt,name=git_report,json=gitReport,proto3" json:"git_report,omitempty"`
   713  }
   714  
   715  func (x *ReportGitRequest) Reset() {
   716  	*x = ReportGitRequest{}
   717  	if protoimpl.UnsafeEnabled {
   718  		mi := &file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[7]
   719  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   720  		ms.StoreMessageInfo(mi)
   721  	}
   722  }
   723  
   724  func (x *ReportGitRequest) String() string {
   725  	return protoimpl.X.MessageStringOf(x)
   726  }
   727  
   728  func (*ReportGitRequest) ProtoMessage() {}
   729  
   730  func (x *ReportGitRequest) ProtoReflect() protoreflect.Message {
   731  	mi := &file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[7]
   732  	if protoimpl.UnsafeEnabled && x != nil {
   733  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   734  		if ms.LoadMessageInfo() == nil {
   735  			ms.StoreMessageInfo(mi)
   736  		}
   737  		return ms
   738  	}
   739  	return mi.MessageOf(x)
   740  }
   741  
   742  // Deprecated: Use ReportGitRequest.ProtoReflect.Descriptor instead.
   743  func (*ReportGitRequest) Descriptor() ([]byte, []int) {
   744  	return file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_rawDescGZIP(), []int{7}
   745  }
   746  
   747  func (x *ReportGitRequest) GetGitReport() *GitReport {
   748  	if x != nil {
   749  		return x.GitReport
   750  	}
   751  	return nil
   752  }
   753  
   754  type ReportGcsRequest struct {
   755  	state         protoimpl.MessageState
   756  	sizeCache     protoimpl.SizeCache
   757  	unknownFields protoimpl.UnknownFields
   758  
   759  	// gcs_report will consist of gcs uri, hash of downloaded artifact.
   760  	GcsReport *GcsReport `protobuf:"bytes,1,opt,name=gcs_report,json=gcsReport,proto3" json:"gcs_report,omitempty"`
   761  }
   762  
   763  func (x *ReportGcsRequest) Reset() {
   764  	*x = ReportGcsRequest{}
   765  	if protoimpl.UnsafeEnabled {
   766  		mi := &file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[8]
   767  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   768  		ms.StoreMessageInfo(mi)
   769  	}
   770  }
   771  
   772  func (x *ReportGcsRequest) String() string {
   773  	return protoimpl.X.MessageStringOf(x)
   774  }
   775  
   776  func (*ReportGcsRequest) ProtoMessage() {}
   777  
   778  func (x *ReportGcsRequest) ProtoReflect() protoreflect.Message {
   779  	mi := &file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[8]
   780  	if protoimpl.UnsafeEnabled && x != nil {
   781  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   782  		if ms.LoadMessageInfo() == nil {
   783  			ms.StoreMessageInfo(mi)
   784  		}
   785  		return ms
   786  	}
   787  	return mi.MessageOf(x)
   788  }
   789  
   790  // Deprecated: Use ReportGcsRequest.ProtoReflect.Descriptor instead.
   791  func (*ReportGcsRequest) Descriptor() ([]byte, []int) {
   792  	return file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_rawDescGZIP(), []int{8}
   793  }
   794  
   795  func (x *ReportGcsRequest) GetGcsReport() *GcsReport {
   796  	if x != nil {
   797  		return x.GcsReport
   798  	}
   799  	return nil
   800  }
   801  
   802  type ReportPIDRequest struct {
   803  	state         protoimpl.MessageState
   804  	sizeCache     protoimpl.SizeCache
   805  	unknownFields protoimpl.UnknownFields
   806  
   807  	// Process ID to track execution of a task running. It is used by the
   808  	// server to periodically check health of running task and assert a close
   809  	// approximation of task end time.
   810  	//
   811  	// Accuracy on task end time estimation can vary between implementations, it
   812  	// directly depends on frequency at which provenance server checks status of
   813  	// reported pid.
   814  	Pid int64 `protobuf:"varint,1,opt,name=pid,proto3" json:"pid,omitempty"`
   815  	// Reporter of the pid request. In the client of provenance server, this
   816  	// should be automatically assigned by something similar to Go lang's native
   817  	// os.Executable().
   818  	//
   819  	// This can be used to define an allowlist of reporters for this action.
   820  	Reporter string `protobuf:"bytes,2,opt,name=reporter,proto3" json:"reporter,omitempty"`
   821  }
   822  
   823  func (x *ReportPIDRequest) Reset() {
   824  	*x = ReportPIDRequest{}
   825  	if protoimpl.UnsafeEnabled {
   826  		mi := &file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[9]
   827  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   828  		ms.StoreMessageInfo(mi)
   829  	}
   830  }
   831  
   832  func (x *ReportPIDRequest) String() string {
   833  	return protoimpl.X.MessageStringOf(x)
   834  }
   835  
   836  func (*ReportPIDRequest) ProtoMessage() {}
   837  
   838  func (x *ReportPIDRequest) ProtoReflect() protoreflect.Message {
   839  	mi := &file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[9]
   840  	if protoimpl.UnsafeEnabled && x != nil {
   841  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   842  		if ms.LoadMessageInfo() == nil {
   843  			ms.StoreMessageInfo(mi)
   844  		}
   845  		return ms
   846  	}
   847  	return mi.MessageOf(x)
   848  }
   849  
   850  // Deprecated: Use ReportPIDRequest.ProtoReflect.Descriptor instead.
   851  func (*ReportPIDRequest) Descriptor() ([]byte, []int) {
   852  	return file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_rawDescGZIP(), []int{9}
   853  }
   854  
   855  func (x *ReportPIDRequest) GetPid() int64 {
   856  	if x != nil {
   857  		return x.Pid
   858  	}
   859  	return 0
   860  }
   861  
   862  func (x *ReportPIDRequest) GetReporter() string {
   863  	if x != nil {
   864  		return x.Reporter
   865  	}
   866  	return ""
   867  }
   868  
   869  // Artifacts stored on CIPD. This defaults to prod instance of CIPD.
   870  type Artifact_CIPD struct {
   871  	state         protoimpl.MessageState
   872  	sizeCache     protoimpl.SizeCache
   873  	unknownFields protoimpl.UnknownFields
   874  
   875  	// Identifies a hierarchical package. This will be the absolute name
   876  	// of a package (including path).
   877  	PackageName string `protobuf:"bytes,1,opt,name=package_name,json=packageName,proto3" json:"package_name,omitempty"`
   878  	// Unique identifier of an instance of a package.
   879  	InstanceId string `protobuf:"bytes,2,opt,name=instance_id,json=instanceId,proto3" json:"instance_id,omitempty"`
   880  	// CIPD backend host (dev/prod) where the artifact is stored.
   881  	// If not provided, default is CIPD prod host.
   882  	Host string `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"`
   883  }
   884  
   885  func (x *Artifact_CIPD) Reset() {
   886  	*x = Artifact_CIPD{}
   887  	if protoimpl.UnsafeEnabled {
   888  		mi := &file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[10]
   889  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   890  		ms.StoreMessageInfo(mi)
   891  	}
   892  }
   893  
   894  func (x *Artifact_CIPD) String() string {
   895  	return protoimpl.X.MessageStringOf(x)
   896  }
   897  
   898  func (*Artifact_CIPD) ProtoMessage() {}
   899  
   900  func (x *Artifact_CIPD) ProtoReflect() protoreflect.Message {
   901  	mi := &file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[10]
   902  	if protoimpl.UnsafeEnabled && x != nil {
   903  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   904  		if ms.LoadMessageInfo() == nil {
   905  			ms.StoreMessageInfo(mi)
   906  		}
   907  		return ms
   908  	}
   909  	return mi.MessageOf(x)
   910  }
   911  
   912  // Deprecated: Use Artifact_CIPD.ProtoReflect.Descriptor instead.
   913  func (*Artifact_CIPD) Descriptor() ([]byte, []int) {
   914  	return file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_rawDescGZIP(), []int{0, 0}
   915  }
   916  
   917  func (x *Artifact_CIPD) GetPackageName() string {
   918  	if x != nil {
   919  		return x.PackageName
   920  	}
   921  	return ""
   922  }
   923  
   924  func (x *Artifact_CIPD) GetInstanceId() string {
   925  	if x != nil {
   926  		return x.InstanceId
   927  	}
   928  	return ""
   929  }
   930  
   931  func (x *Artifact_CIPD) GetHost() string {
   932  	if x != nil {
   933  		return x.Host
   934  	}
   935  	return ""
   936  }
   937  
   938  var File_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto protoreflect.FileDescriptor
   939  
   940  var file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_rawDesc = []byte{
   941  	0x0a, 0x3d, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
   942  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63,
   943  	0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x6e, 0x6f, 0x6f, 0x70, 0x65, 0x72, 0x70, 0x62, 0x2f,
   944  	0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
   945  	0x14, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x73, 0x6e, 0x6f, 0x6f,
   946  	0x70, 0x65, 0x72, 0x70, 0x62, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
   947  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f,
   948  	0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   949  	0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72,
   950  	0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d,
   951  	0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x63, 0x69, 0x70, 0x64, 0x2f, 0x61,
   952  	0x70, 0x69, 0x2f, 0x63, 0x69, 0x70, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x2e,
   953  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc1, 0x01, 0x0a, 0x08, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61,
   954  	0x63, 0x74, 0x12, 0x12, 0x0a, 0x03, 0x67, 0x63, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48,
   955  	0x00, 0x52, 0x03, 0x67, 0x63, 0x73, 0x12, 0x39, 0x0a, 0x04, 0x63, 0x69, 0x70, 0x64, 0x18, 0x02,
   956  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63,
   957  	0x65, 0x2e, 0x73, 0x6e, 0x6f, 0x6f, 0x70, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x41, 0x72, 0x74, 0x69,
   958  	0x66, 0x61, 0x63, 0x74, 0x2e, 0x43, 0x49, 0x50, 0x44, 0x48, 0x00, 0x52, 0x04, 0x63, 0x69, 0x70,
   959  	0x64, 0x1a, 0x5e, 0x0a, 0x04, 0x43, 0x49, 0x50, 0x44, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63,
   960  	0x6b, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
   961  	0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b,
   962  	0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
   963  	0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a,
   964  	0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73,
   965  	0x74, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x22, 0xd9, 0x01, 0x0a, 0x0a, 0x43, 0x69,
   966  	0x70, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75,
   967  	0x65, 0x73, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
   968  	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70,
   969  	0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
   970  	0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x10,
   971  	0x0a, 0x03, 0x69, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x69, 0x69, 0x64,
   972  	0x12, 0x1d, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09,
   973  	0x2e, 0x63, 0x69, 0x70, 0x64, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12,
   974  	0x1d, 0x0a, 0x04, 0x72, 0x65, 0x66, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x09, 0x2e,
   975  	0x63, 0x69, 0x70, 0x64, 0x2e, 0x52, 0x65, 0x66, 0x52, 0x04, 0x72, 0x65, 0x66, 0x73, 0x12, 0x35,
   976  	0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
   977  	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
   978  	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x76,
   979  	0x65, 0x6e, 0x74, 0x54, 0x73, 0x22, 0x96, 0x01, 0x0a, 0x09, 0x47, 0x63, 0x73, 0x52, 0x65, 0x70,
   980  	0x6f, 0x72, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x6f, 0x72,
   981  	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65,
   982  	0x73, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x67, 0x63, 0x73, 0x5f, 0x75, 0x72,
   983  	0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x67, 0x63, 0x73, 0x55, 0x72, 0x69, 0x12,
   984  	0x16, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
   985  	0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74,
   986  	0x5f, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   987  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
   988  	0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x73, 0x22, 0xa5,
   989  	0x01, 0x0a, 0x09, 0x47, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x21, 0x0a, 0x0c,
   990  	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
   991  	0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12,
   992  	0x12, 0x0a, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72,
   993  	0x65, 0x70, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20,
   994  	0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x72,
   995  	0x65, 0x66, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x65, 0x66, 0x73, 0x12,
   996  	0x35, 0x0a, 0x08, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
   997  	0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   998  	0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65,
   999  	0x76, 0x65, 0x6e, 0x74, 0x54, 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x70, 0x6f, 0x72,
  1000  	0x74, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
  1001  	0x74, 0x12, 0x3e, 0x0a, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18,
  1002  	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e,
  1003  	0x63, 0x65, 0x2e, 0x73, 0x6e, 0x6f, 0x6f, 0x70, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x54, 0x61, 0x73,
  1004  	0x6b, 0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x67,
  1005  	0x65, 0x12, 0x38, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02,
  1006  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
  1007  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
  1008  	0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x72,
  1009  	0x65, 0x63, 0x69, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x63,
  1010  	0x69, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03,
  1011  	0x52, 0x03, 0x70, 0x69, 0x64, 0x22, 0x96, 0x01, 0x0a, 0x1b, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74,
  1012  	0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x52, 0x65,
  1013  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18,
  1014  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x3a, 0x0a,
  1015  	0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  1016  	0x1e, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x73, 0x6e, 0x6f,
  1017  	0x6f, 0x70, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52,
  1018  	0x08, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x62, 0x6f,
  1019  	0x6d, 0x5f, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09,
  1020  	0x52, 0x0c, 0x73, 0x62, 0x6f, 0x6d, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0x56,
  1021  	0x0a, 0x11, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x69, 0x70, 0x64, 0x52, 0x65, 0x71, 0x75,
  1022  	0x65, 0x73, 0x74, 0x12, 0x41, 0x0a, 0x0b, 0x63, 0x69, 0x70, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6f,
  1023  	0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x65,
  1024  	0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x73, 0x6e, 0x6f, 0x6f, 0x70, 0x65, 0x72, 0x70, 0x62, 0x2e,
  1025  	0x43, 0x69, 0x70, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0a, 0x63, 0x69, 0x70, 0x64,
  1026  	0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x52, 0x0a, 0x10, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74,
  1027  	0x47, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x0a, 0x67, 0x69,
  1028  	0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f,
  1029  	0x2e, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x73, 0x6e, 0x6f, 0x6f,
  1030  	0x70, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x47, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52,
  1031  	0x09, 0x67, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x52, 0x0a, 0x10, 0x52, 0x65,
  1032  	0x70, 0x6f, 0x72, 0x74, 0x47, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e,
  1033  	0x0a, 0x0a, 0x67, 0x63, 0x73, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01,
  1034  	0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e,
  1035  	0x73, 0x6e, 0x6f, 0x6f, 0x70, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x47, 0x63, 0x73, 0x52, 0x65, 0x70,
  1036  	0x6f, 0x72, 0x74, 0x52, 0x09, 0x67, 0x63, 0x73, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x40,
  1037  	0x0a, 0x10, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65,
  1038  	0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
  1039  	0x03, 0x70, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72,
  1040  	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72,
  1041  	0x2a, 0x80, 0x01, 0x0a, 0x09, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x15,
  1042  	0x0a, 0x11, 0x53, 0x54, 0x41, 0x47, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46,
  1043  	0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x41, 0x52, 0x54, 0x45, 0x44,
  1044  	0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x45, 0x54, 0x43, 0x48, 0x10, 0x02, 0x12, 0x0b, 0x0a,
  1045  	0x07, 0x43, 0x4f, 0x4d, 0x50, 0x49, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x50,
  1046  	0x4c, 0x4f, 0x41, 0x44, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x55, 0x50, 0x4c, 0x4f, 0x41, 0x44,
  1047  	0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x05, 0x12, 0x08, 0x0a, 0x04, 0x54,
  1048  	0x45, 0x53, 0x54, 0x10, 0x06, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54,
  1049  	0x45, 0x10, 0x07, 0x32, 0xfe, 0x03, 0x0a, 0x0a, 0x53, 0x65, 0x6c, 0x66, 0x52, 0x65, 0x70, 0x6f,
  1050  	0x72, 0x74, 0x12, 0x4d, 0x0a, 0x0a, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x69, 0x70, 0x64,
  1051  	0x12, 0x27, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x73, 0x6e,
  1052  	0x6f, 0x6f, 0x70, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x69,
  1053  	0x70, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1054  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74,
  1055  	0x79, 0x12, 0x4b, 0x0a, 0x09, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x47, 0x69, 0x74, 0x12, 0x26,
  1056  	0x2e, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x73, 0x6e, 0x6f, 0x6f,
  1057  	0x70, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x47, 0x69, 0x74, 0x52,
  1058  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  1059  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x4b,
  1060  	0x0a, 0x09, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x47, 0x63, 0x73, 0x12, 0x26, 0x2e, 0x70, 0x72,
  1061  	0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x73, 0x6e, 0x6f, 0x6f, 0x70, 0x65, 0x72,
  1062  	0x70, 0x62, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x47, 0x63, 0x73, 0x52, 0x65, 0x71, 0x75,
  1063  	0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
  1064  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x57, 0x0a, 0x0f, 0x52,
  1065  	0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x67, 0x65, 0x12, 0x2c,
  1066  	0x2e, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x73, 0x6e, 0x6f, 0x6f,
  1067  	0x70, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x61, 0x73, 0x6b,
  1068  	0x53, 0x74, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67,
  1069  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
  1070  	0x6d, 0x70, 0x74, 0x79, 0x12, 0x4b, 0x0a, 0x09, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x49,
  1071  	0x44, 0x12, 0x26, 0x2e, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x73,
  1072  	0x6e, 0x6f, 0x6f, 0x70, 0x65, 0x72, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x50,
  1073  	0x49, 0x44, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  1074  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74,
  1075  	0x79, 0x12, 0x61, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66,
  1076  	0x61, 0x63, 0x74, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x31, 0x2e, 0x70, 0x72, 0x6f, 0x76,
  1077  	0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x73, 0x6e, 0x6f, 0x6f, 0x70, 0x65, 0x72, 0x70, 0x62,
  1078  	0x2e, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x44,
  1079  	0x69, 0x67, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67,
  1080  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45,
  1081  	0x6d, 0x70, 0x74, 0x79, 0x42, 0x3c, 0x5a, 0x3a, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d,
  1082  	0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x70, 0x72, 0x6f,
  1083  	0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x6e, 0x6f, 0x6f,
  1084  	0x70, 0x65, 0x72, 0x70, 0x62, 0x2f, 0x76, 0x31, 0x3b, 0x73, 0x6e, 0x6f, 0x6f, 0x70, 0x65, 0x72,
  1085  	0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  1086  }
  1087  
  1088  var (
  1089  	file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_rawDescOnce sync.Once
  1090  	file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_rawDescData = file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_rawDesc
  1091  )
  1092  
  1093  func file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_rawDescGZIP() []byte {
  1094  	file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_rawDescOnce.Do(func() {
  1095  		file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_rawDescData)
  1096  	})
  1097  	return file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_rawDescData
  1098  }
  1099  
  1100  var file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
  1101  var file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
  1102  var file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_goTypes = []interface{}{
  1103  	(TaskStage)(0),                      // 0: provenance.snooperpb.TaskStage
  1104  	(*Artifact)(nil),                    // 1: provenance.snooperpb.Artifact
  1105  	(*CipdReport)(nil),                  // 2: provenance.snooperpb.CipdReport
  1106  	(*GcsReport)(nil),                   // 3: provenance.snooperpb.GcsReport
  1107  	(*GitReport)(nil),                   // 4: provenance.snooperpb.GitReport
  1108  	(*ReportTaskStageRequest)(nil),      // 5: provenance.snooperpb.ReportTaskStageRequest
  1109  	(*ReportArtifactDigestRequest)(nil), // 6: provenance.snooperpb.ReportArtifactDigestRequest
  1110  	(*ReportCipdRequest)(nil),           // 7: provenance.snooperpb.ReportCipdRequest
  1111  	(*ReportGitRequest)(nil),            // 8: provenance.snooperpb.ReportGitRequest
  1112  	(*ReportGcsRequest)(nil),            // 9: provenance.snooperpb.ReportGcsRequest
  1113  	(*ReportPIDRequest)(nil),            // 10: provenance.snooperpb.ReportPIDRequest
  1114  	(*Artifact_CIPD)(nil),               // 11: provenance.snooperpb.Artifact.CIPD
  1115  	(*v1.Tag)(nil),                      // 12: cipd.Tag
  1116  	(*v1.Ref)(nil),                      // 13: cipd.Ref
  1117  	(*timestamppb.Timestamp)(nil),       // 14: google.protobuf.Timestamp
  1118  	(*emptypb.Empty)(nil),               // 15: google.protobuf.Empty
  1119  }
  1120  var file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_depIdxs = []int32{
  1121  	11, // 0: provenance.snooperpb.Artifact.cipd:type_name -> provenance.snooperpb.Artifact.CIPD
  1122  	12, // 1: provenance.snooperpb.CipdReport.tags:type_name -> cipd.Tag
  1123  	13, // 2: provenance.snooperpb.CipdReport.refs:type_name -> cipd.Ref
  1124  	14, // 3: provenance.snooperpb.CipdReport.event_ts:type_name -> google.protobuf.Timestamp
  1125  	14, // 4: provenance.snooperpb.GcsReport.event_ts:type_name -> google.protobuf.Timestamp
  1126  	14, // 5: provenance.snooperpb.GitReport.event_ts:type_name -> google.protobuf.Timestamp
  1127  	0,  // 6: provenance.snooperpb.ReportTaskStageRequest.task_stage:type_name -> provenance.snooperpb.TaskStage
  1128  	14, // 7: provenance.snooperpb.ReportTaskStageRequest.timestamp:type_name -> google.protobuf.Timestamp
  1129  	1,  // 8: provenance.snooperpb.ReportArtifactDigestRequest.artifact:type_name -> provenance.snooperpb.Artifact
  1130  	2,  // 9: provenance.snooperpb.ReportCipdRequest.cipd_report:type_name -> provenance.snooperpb.CipdReport
  1131  	4,  // 10: provenance.snooperpb.ReportGitRequest.git_report:type_name -> provenance.snooperpb.GitReport
  1132  	3,  // 11: provenance.snooperpb.ReportGcsRequest.gcs_report:type_name -> provenance.snooperpb.GcsReport
  1133  	7,  // 12: provenance.snooperpb.SelfReport.ReportCipd:input_type -> provenance.snooperpb.ReportCipdRequest
  1134  	8,  // 13: provenance.snooperpb.SelfReport.ReportGit:input_type -> provenance.snooperpb.ReportGitRequest
  1135  	9,  // 14: provenance.snooperpb.SelfReport.ReportGcs:input_type -> provenance.snooperpb.ReportGcsRequest
  1136  	5,  // 15: provenance.snooperpb.SelfReport.ReportTaskStage:input_type -> provenance.snooperpb.ReportTaskStageRequest
  1137  	10, // 16: provenance.snooperpb.SelfReport.ReportPID:input_type -> provenance.snooperpb.ReportPIDRequest
  1138  	6,  // 17: provenance.snooperpb.SelfReport.ReportArtifactDigest:input_type -> provenance.snooperpb.ReportArtifactDigestRequest
  1139  	15, // 18: provenance.snooperpb.SelfReport.ReportCipd:output_type -> google.protobuf.Empty
  1140  	15, // 19: provenance.snooperpb.SelfReport.ReportGit:output_type -> google.protobuf.Empty
  1141  	15, // 20: provenance.snooperpb.SelfReport.ReportGcs:output_type -> google.protobuf.Empty
  1142  	15, // 21: provenance.snooperpb.SelfReport.ReportTaskStage:output_type -> google.protobuf.Empty
  1143  	15, // 22: provenance.snooperpb.SelfReport.ReportPID:output_type -> google.protobuf.Empty
  1144  	15, // 23: provenance.snooperpb.SelfReport.ReportArtifactDigest:output_type -> google.protobuf.Empty
  1145  	18, // [18:24] is the sub-list for method output_type
  1146  	12, // [12:18] is the sub-list for method input_type
  1147  	12, // [12:12] is the sub-list for extension type_name
  1148  	12, // [12:12] is the sub-list for extension extendee
  1149  	0,  // [0:12] is the sub-list for field type_name
  1150  }
  1151  
  1152  func init() { file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_init() }
  1153  func file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_init() {
  1154  	if File_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto != nil {
  1155  		return
  1156  	}
  1157  	if !protoimpl.UnsafeEnabled {
  1158  		file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1159  			switch v := v.(*Artifact); i {
  1160  			case 0:
  1161  				return &v.state
  1162  			case 1:
  1163  				return &v.sizeCache
  1164  			case 2:
  1165  				return &v.unknownFields
  1166  			default:
  1167  				return nil
  1168  			}
  1169  		}
  1170  		file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1171  			switch v := v.(*CipdReport); i {
  1172  			case 0:
  1173  				return &v.state
  1174  			case 1:
  1175  				return &v.sizeCache
  1176  			case 2:
  1177  				return &v.unknownFields
  1178  			default:
  1179  				return nil
  1180  			}
  1181  		}
  1182  		file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1183  			switch v := v.(*GcsReport); i {
  1184  			case 0:
  1185  				return &v.state
  1186  			case 1:
  1187  				return &v.sizeCache
  1188  			case 2:
  1189  				return &v.unknownFields
  1190  			default:
  1191  				return nil
  1192  			}
  1193  		}
  1194  		file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1195  			switch v := v.(*GitReport); i {
  1196  			case 0:
  1197  				return &v.state
  1198  			case 1:
  1199  				return &v.sizeCache
  1200  			case 2:
  1201  				return &v.unknownFields
  1202  			default:
  1203  				return nil
  1204  			}
  1205  		}
  1206  		file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1207  			switch v := v.(*ReportTaskStageRequest); i {
  1208  			case 0:
  1209  				return &v.state
  1210  			case 1:
  1211  				return &v.sizeCache
  1212  			case 2:
  1213  				return &v.unknownFields
  1214  			default:
  1215  				return nil
  1216  			}
  1217  		}
  1218  		file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1219  			switch v := v.(*ReportArtifactDigestRequest); i {
  1220  			case 0:
  1221  				return &v.state
  1222  			case 1:
  1223  				return &v.sizeCache
  1224  			case 2:
  1225  				return &v.unknownFields
  1226  			default:
  1227  				return nil
  1228  			}
  1229  		}
  1230  		file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1231  			switch v := v.(*ReportCipdRequest); i {
  1232  			case 0:
  1233  				return &v.state
  1234  			case 1:
  1235  				return &v.sizeCache
  1236  			case 2:
  1237  				return &v.unknownFields
  1238  			default:
  1239  				return nil
  1240  			}
  1241  		}
  1242  		file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1243  			switch v := v.(*ReportGitRequest); i {
  1244  			case 0:
  1245  				return &v.state
  1246  			case 1:
  1247  				return &v.sizeCache
  1248  			case 2:
  1249  				return &v.unknownFields
  1250  			default:
  1251  				return nil
  1252  			}
  1253  		}
  1254  		file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1255  			switch v := v.(*ReportGcsRequest); i {
  1256  			case 0:
  1257  				return &v.state
  1258  			case 1:
  1259  				return &v.sizeCache
  1260  			case 2:
  1261  				return &v.unknownFields
  1262  			default:
  1263  				return nil
  1264  			}
  1265  		}
  1266  		file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  1267  			switch v := v.(*ReportPIDRequest); i {
  1268  			case 0:
  1269  				return &v.state
  1270  			case 1:
  1271  				return &v.sizeCache
  1272  			case 2:
  1273  				return &v.unknownFields
  1274  			default:
  1275  				return nil
  1276  			}
  1277  		}
  1278  		file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  1279  			switch v := v.(*Artifact_CIPD); i {
  1280  			case 0:
  1281  				return &v.state
  1282  			case 1:
  1283  				return &v.sizeCache
  1284  			case 2:
  1285  				return &v.unknownFields
  1286  			default:
  1287  				return nil
  1288  			}
  1289  		}
  1290  	}
  1291  	file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes[0].OneofWrappers = []interface{}{
  1292  		(*Artifact_Gcs)(nil),
  1293  		(*Artifact_Cipd)(nil),
  1294  	}
  1295  	type x struct{}
  1296  	out := protoimpl.TypeBuilder{
  1297  		File: protoimpl.DescBuilder{
  1298  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1299  			RawDescriptor: file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_rawDesc,
  1300  			NumEnums:      1,
  1301  			NumMessages:   11,
  1302  			NumExtensions: 0,
  1303  			NumServices:   1,
  1304  		},
  1305  		GoTypes:           file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_goTypes,
  1306  		DependencyIndexes: file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_depIdxs,
  1307  		EnumInfos:         file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_enumTypes,
  1308  		MessageInfos:      file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_msgTypes,
  1309  	}.Build()
  1310  	File_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto = out.File
  1311  	file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_rawDesc = nil
  1312  	file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_goTypes = nil
  1313  	file_go_chromium_org_luci_provenance_api_snooperpb_v1_report_proto_depIdxs = nil
  1314  }