From 5ad80ee372faba15b17e4de1f555dd4a92cd51e1 Mon Sep 17 00:00:00 2001 From: Gemma Hou Date: Mon, 20 May 2024 18:20:41 +0000 Subject: [PATCH] mock containeranalysisnote --- config/tests/samples/create/harness.go | 2 + mockgcp/Makefile | 3 +- mockgcp/fixup-third-party.sh | 11 +- .../mockgrafeas/v1/attestation.pb.go | 428 +++ mockgcp/generated/mockgrafeas/v1/build.pb.go | 323 ++ mockgcp/generated/mockgrafeas/v1/common.pb.go | 785 +++++ .../generated/mockgrafeas/v1/compliance.pb.go | 634 ++++ mockgcp/generated/mockgrafeas/v1/cvss.pb.go | 1359 ++++++++ .../generated/mockgrafeas/v1/deployment.pb.go | 375 +++ .../generated/mockgrafeas/v1/discovery.pb.go | 721 +++++ .../mockgrafeas/v1/dsse_attestation.pb.go | 356 +++ .../generated/mockgrafeas/v1/grafeas.pb.go | 2796 +++++++++++++++++ .../generated/mockgrafeas/v1/grafeas.pb.gw.go | 2432 ++++++++++++++ .../mockgrafeas/v1/grafeas_grpc.pb.go | 612 ++++ mockgcp/generated/mockgrafeas/v1/image.pb.go | 463 +++ .../mockgrafeas/v1/intoto_provenance.pb.go | 628 ++++ .../mockgrafeas/v1/intoto_statement.pb.go | 1101 +++++++ .../generated/mockgrafeas/v1/package.pb.go | 917 ++++++ .../generated/mockgrafeas/v1/provenance.pb.go | 1639 ++++++++++ mockgcp/generated/mockgrafeas/v1/sbom.pb.go | 501 +++ .../generated/mockgrafeas/v1/severity.pb.go | 170 + .../mockgrafeas/v1/slsa_provenance.pb.go | 716 +++++ .../v1/slsa_provenance_zero_two.pb.go | 781 +++++ .../generated/mockgrafeas/v1/upgrade.pb.go | 733 +++++ mockgcp/generated/mockgrafeas/v1/vex.pb.go | 1069 +++++++ .../mockgrafeas/v1/vulnerability.pb.go | 1339 ++++++++ mockgcp/mock_http_roundtrip.go | 2 + mockgcp/mockcontaineranalysis/note.go | 163 + mockgcp/mockcontaineranalysis/service.go | 73 + ...d_object_containeranalysisnote.golden.yaml | 35 + .../v1beta1/containeranalysisnote/_http.log | 259 ++ 31 files changed, 21424 insertions(+), 2 deletions(-) create mode 100644 mockgcp/generated/mockgrafeas/v1/attestation.pb.go create mode 100644 mockgcp/generated/mockgrafeas/v1/build.pb.go create mode 100644 mockgcp/generated/mockgrafeas/v1/common.pb.go create mode 100644 mockgcp/generated/mockgrafeas/v1/compliance.pb.go create mode 100644 mockgcp/generated/mockgrafeas/v1/cvss.pb.go create mode 100644 mockgcp/generated/mockgrafeas/v1/deployment.pb.go create mode 100644 mockgcp/generated/mockgrafeas/v1/discovery.pb.go create mode 100644 mockgcp/generated/mockgrafeas/v1/dsse_attestation.pb.go create mode 100644 mockgcp/generated/mockgrafeas/v1/grafeas.pb.go create mode 100644 mockgcp/generated/mockgrafeas/v1/grafeas.pb.gw.go create mode 100644 mockgcp/generated/mockgrafeas/v1/grafeas_grpc.pb.go create mode 100644 mockgcp/generated/mockgrafeas/v1/image.pb.go create mode 100644 mockgcp/generated/mockgrafeas/v1/intoto_provenance.pb.go create mode 100644 mockgcp/generated/mockgrafeas/v1/intoto_statement.pb.go create mode 100644 mockgcp/generated/mockgrafeas/v1/package.pb.go create mode 100644 mockgcp/generated/mockgrafeas/v1/provenance.pb.go create mode 100644 mockgcp/generated/mockgrafeas/v1/sbom.pb.go create mode 100644 mockgcp/generated/mockgrafeas/v1/severity.pb.go create mode 100644 mockgcp/generated/mockgrafeas/v1/slsa_provenance.pb.go create mode 100644 mockgcp/generated/mockgrafeas/v1/slsa_provenance_zero_two.pb.go create mode 100644 mockgcp/generated/mockgrafeas/v1/upgrade.pb.go create mode 100644 mockgcp/generated/mockgrafeas/v1/vex.pb.go create mode 100644 mockgcp/generated/mockgrafeas/v1/vulnerability.pb.go create mode 100644 mockgcp/mockcontaineranalysis/note.go create mode 100644 mockgcp/mockcontaineranalysis/service.go create mode 100644 pkg/test/resourcefixture/testdata/basic/containeranalysis/v1beta1/containeranalysisnote/_generated_object_containeranalysisnote.golden.yaml create mode 100644 pkg/test/resourcefixture/testdata/basic/containeranalysis/v1beta1/containeranalysisnote/_http.log diff --git a/config/tests/samples/create/harness.go b/config/tests/samples/create/harness.go index 933222f39f..31fa738a46 100644 --- a/config/tests/samples/create/harness.go +++ b/config/tests/samples/create/harness.go @@ -656,6 +656,8 @@ func MaybeSkip(t *testing.T, name string, resources []*unstructured.Unstructured case schema.GroupKind{Group: "container.cnrm.cloud.google.com", Kind: "ContainerCluster"}: case schema.GroupKind{Group: "container.cnrm.cloud.google.com", Kind: "ContainerNodePool"}: + case schema.GroupKind{Group: "containeranalysis.cnrm.cloud.google.com", Kind: "ContainerAnalysisNote"}: + case schema.GroupKind{Group: "iam.cnrm.cloud.google.com", Kind: "IAMPartialPolicy"}: case schema.GroupKind{Group: "iam.cnrm.cloud.google.com", Kind: "IAMPolicy"}: case schema.GroupKind{Group: "iam.cnrm.cloud.google.com", Kind: "IAMPolicyMember"}: diff --git a/mockgcp/Makefile b/mockgcp/Makefile index 3601ce080d..10de29ffcb 100644 --- a/mockgcp/Makefile +++ b/mockgcp/Makefile @@ -71,7 +71,8 @@ gen-proto: generate-protos-from-openapi ./third_party/googleapis/mockgcp/cloud/gkehub/v1beta/*.proto \ ./third_party/googleapis/mockgcp/cloud/gkehub/v1beta/configmanagement/*.proto \ ./third_party/googleapis/mockgcp/cloud/gkehub/v1beta/metering/*.proto \ - ./third_party/googleapis/mockgcp/cloud/gkehub/v1beta/multiclusteringress/*.proto + ./third_party/googleapis/mockgcp/cloud/gkehub/v1beta/multiclusteringress/*.proto \ + ./third_party/googleapis/mockgrafeas/v1/*.proto .PHONY: generate-protos-from-openapi generate-protos-from-openapi: diff --git a/mockgcp/fixup-third-party.sh b/mockgcp/fixup-third-party.sh index ca7fe0bfe5..69f4fce694 100755 --- a/mockgcp/fixup-third-party.sh +++ b/mockgcp/fixup-third-party.sh @@ -37,6 +37,9 @@ mv google/api/serviceusage/ mockgcp/api/ mv google/devtools/artifactregistry mockgcp/devtools mv google/devtools/cloudbuild mockgcp/devtools +rm -rf mockgrafeas/ +mv grafeas mockgrafeas + cd mockgcp # Rewrite import paths. @@ -74,4 +77,10 @@ find . -type f -print0 | xargs -0 sed -i -e "s@google/devtools/artifactregistry/ find . -type f -print0 | xargs -0 sed -i -e "s@google\.devtools\.artifactregistry@mockgcp.devtools.artifactregistry@g" find . -type f -print0 | xargs -0 sed -i -e "s@google/devtools/cloudbuild/@mockgcp/devtools/cloudbuild/@g" -find . -type f -print0 | xargs -0 sed -i -e "s@google\.devtools\.cloudbuild@mockgcp.devtools.cloudbuild@g" \ No newline at end of file +find . -type f -print0 | xargs -0 sed -i -e "s@google\.devtools\.cloudbuild@mockgcp.devtools.cloudbuild@g" + +cd .. +cd mockgrafeas + +find . -type f -print0 | xargs -0 sed -i -e "s@grafeas/@mockgrafeas/@g" +find . -type f -print0 | xargs -0 sed -i -e "s@grafeas\.@mockgrafeas.@g" diff --git a/mockgcp/generated/mockgrafeas/v1/attestation.pb.go b/mockgcp/generated/mockgrafeas/v1/attestation.pb.go new file mode 100644 index 0000000000..122a589bb4 --- /dev/null +++ b/mockgcp/generated/mockgrafeas/v1/attestation.pb.go @@ -0,0 +1,428 @@ +// Copyright 2019 The Grafeas Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgrafeas/v1/attestation.proto + +package grafeas + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Note kind that represents a logical attestation "role" or "authority". For +// example, an organization might have one `Authority` for "QA" and one for +// "build". This note is intended to act strictly as a grouping mechanism for +// the attached occurrences (Attestations). This grouping mechanism also +// provides a security boundary, since IAM ACLs gate the ability for a principle +// to attach an occurrence to a given note. It also provides a single point of +// lookup to find all attached attestation occurrences, even if they don't all +// live in the same project. +type AttestationNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hint hints at the purpose of the attestation authority. + Hint *AttestationNote_Hint `protobuf:"bytes,1,opt,name=hint,proto3" json:"hint,omitempty"` +} + +func (x *AttestationNote) Reset() { + *x = AttestationNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_attestation_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AttestationNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AttestationNote) ProtoMessage() {} + +func (x *AttestationNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_attestation_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AttestationNote.ProtoReflect.Descriptor instead. +func (*AttestationNote) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_attestation_proto_rawDescGZIP(), []int{0} +} + +func (x *AttestationNote) GetHint() *AttestationNote_Hint { + if x != nil { + return x.Hint + } + return nil +} + +type Jwt struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The compact encoding of a JWS, which is always three base64 encoded strings + // joined by periods. For details, see: + // https://tools.ietf.org/html/rfc7515.html#section-3.1 + CompactJwt string `protobuf:"bytes,1,opt,name=compact_jwt,json=compactJwt,proto3" json:"compact_jwt,omitempty"` +} + +func (x *Jwt) Reset() { + *x = Jwt{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_attestation_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Jwt) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Jwt) ProtoMessage() {} + +func (x *Jwt) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_attestation_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Jwt.ProtoReflect.Descriptor instead. +func (*Jwt) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_attestation_proto_rawDescGZIP(), []int{1} +} + +func (x *Jwt) GetCompactJwt() string { + if x != nil { + return x.CompactJwt + } + return "" +} + +// Occurrence that represents a single "attestation". The authenticity of an +// attestation can be verified using the attached signature. If the verifier +// trusts the public key of the signer, then verifying the signature is +// sufficient to establish trust. In this circumstance, the authority to which +// this attestation is attached is primarily useful for lookup (how to find +// this attestation if you already know the authority and artifact to be +// verified) and intent (for which authority this attestation was intended to +// sign. +type AttestationOccurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The serialized payload that is verified by one or more + // `signatures`. + SerializedPayload []byte `protobuf:"bytes,1,opt,name=serialized_payload,json=serializedPayload,proto3" json:"serialized_payload,omitempty"` + // One or more signatures over `serialized_payload`. Verifier implementations + // should consider this attestation message verified if at least one + // `signature` verifies `serialized_payload`. See `Signature` in common.proto + // for more details on signature structure and verification. + Signatures []*Signature `protobuf:"bytes,2,rep,name=signatures,proto3" json:"signatures,omitempty"` + // One or more JWTs encoding a self-contained attestation. + // Each JWT encodes the payload that it verifies within the JWT itself. + // Verifier implementation SHOULD ignore the `serialized_payload` field + // when verifying these JWTs. + // If only JWTs are present on this AttestationOccurrence, then the + // `serialized_payload` SHOULD be left empty. + // Each JWT SHOULD encode a claim specific to the `resource_uri` of this + // Occurrence, but this is not validated by Grafeas metadata API + // implementations. The JWT itself is opaque to Grafeas. + Jwts []*Jwt `protobuf:"bytes,3,rep,name=jwts,proto3" json:"jwts,omitempty"` +} + +func (x *AttestationOccurrence) Reset() { + *x = AttestationOccurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_attestation_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AttestationOccurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AttestationOccurrence) ProtoMessage() {} + +func (x *AttestationOccurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_attestation_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AttestationOccurrence.ProtoReflect.Descriptor instead. +func (*AttestationOccurrence) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_attestation_proto_rawDescGZIP(), []int{2} +} + +func (x *AttestationOccurrence) GetSerializedPayload() []byte { + if x != nil { + return x.SerializedPayload + } + return nil +} + +func (x *AttestationOccurrence) GetSignatures() []*Signature { + if x != nil { + return x.Signatures + } + return nil +} + +func (x *AttestationOccurrence) GetJwts() []*Jwt { + if x != nil { + return x.Jwts + } + return nil +} + +// This submessage provides human-readable hints about the purpose of the +// authority. Because the name of a note acts as its resource reference, it is +// important to disambiguate the canonical name of the Note (which might be a +// UUID for security purposes) from "readable" names more suitable for debug +// output. Note that these hints should not be used to look up authorities in +// security sensitive contexts, such as when looking up attestations to +// verify. +type AttestationNote_Hint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The human readable name of this attestation authority, for + // example "qa". + HumanReadableName string `protobuf:"bytes,1,opt,name=human_readable_name,json=humanReadableName,proto3" json:"human_readable_name,omitempty"` +} + +func (x *AttestationNote_Hint) Reset() { + *x = AttestationNote_Hint{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_attestation_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AttestationNote_Hint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AttestationNote_Hint) ProtoMessage() {} + +func (x *AttestationNote_Hint) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_attestation_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AttestationNote_Hint.ProtoReflect.Descriptor instead. +func (*AttestationNote_Hint) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_attestation_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *AttestationNote_Hint) GetHumanReadableName() string { + if x != nil { + return x.HumanReadableName + } + return "" +} + +var File_mockgrafeas_v1_attestation_proto protoreflect.FileDescriptor + +var file_mockgrafeas_v1_attestation_proto_rawDesc = []byte{ + 0x0a, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, + 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x0e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, + 0x76, 0x31, 0x1a, 0x1b, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, + 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0x83, 0x01, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, + 0x6f, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x04, 0x68, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, + 0x74, 0x65, 0x2e, 0x48, 0x69, 0x6e, 0x74, 0x52, 0x04, 0x68, 0x69, 0x6e, 0x74, 0x1a, 0x36, 0x0a, + 0x04, 0x48, 0x69, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x5f, 0x72, + 0x65, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x11, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x52, 0x65, 0x61, 0x64, 0x61, 0x62, 0x6c, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x26, 0x0a, 0x03, 0x4a, 0x77, 0x74, 0x12, 0x1f, 0x0a, 0x0b, + 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x5f, 0x6a, 0x77, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x4a, 0x77, 0x74, 0x22, 0xaa, 0x01, + 0x0a, 0x15, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x63, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x69, 0x61, + 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x11, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x69, 0x67, 0x6e, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x12, 0x27, 0x0a, 0x04, 0x6a, 0x77, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x4a, 0x77, 0x74, 0x52, 0x04, 0x6a, 0x77, 0x74, 0x73, 0x42, 0x59, 0x0a, 0x11, 0x69, 0x6f, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x50, + 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, + 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, + 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0xa2, + 0x02, 0x03, 0x47, 0x52, 0x41, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgrafeas_v1_attestation_proto_rawDescOnce sync.Once + file_mockgrafeas_v1_attestation_proto_rawDescData = file_mockgrafeas_v1_attestation_proto_rawDesc +) + +func file_mockgrafeas_v1_attestation_proto_rawDescGZIP() []byte { + file_mockgrafeas_v1_attestation_proto_rawDescOnce.Do(func() { + file_mockgrafeas_v1_attestation_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgrafeas_v1_attestation_proto_rawDescData) + }) + return file_mockgrafeas_v1_attestation_proto_rawDescData +} + +var file_mockgrafeas_v1_attestation_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_mockgrafeas_v1_attestation_proto_goTypes = []interface{}{ + (*AttestationNote)(nil), // 0: mockgrafeas.v1.AttestationNote + (*Jwt)(nil), // 1: mockgrafeas.v1.Jwt + (*AttestationOccurrence)(nil), // 2: mockgrafeas.v1.AttestationOccurrence + (*AttestationNote_Hint)(nil), // 3: mockgrafeas.v1.AttestationNote.Hint + (*Signature)(nil), // 4: mockgrafeas.v1.Signature +} +var file_mockgrafeas_v1_attestation_proto_depIdxs = []int32{ + 3, // 0: mockgrafeas.v1.AttestationNote.hint:type_name -> mockgrafeas.v1.AttestationNote.Hint + 4, // 1: mockgrafeas.v1.AttestationOccurrence.signatures:type_name -> mockgrafeas.v1.Signature + 1, // 2: mockgrafeas.v1.AttestationOccurrence.jwts:type_name -> mockgrafeas.v1.Jwt + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_mockgrafeas_v1_attestation_proto_init() } +func file_mockgrafeas_v1_attestation_proto_init() { + if File_mockgrafeas_v1_attestation_proto != nil { + return + } + file_mockgrafeas_v1_common_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgrafeas_v1_attestation_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AttestationNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_attestation_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Jwt); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_attestation_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AttestationOccurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_attestation_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AttestationNote_Hint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgrafeas_v1_attestation_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgrafeas_v1_attestation_proto_goTypes, + DependencyIndexes: file_mockgrafeas_v1_attestation_proto_depIdxs, + MessageInfos: file_mockgrafeas_v1_attestation_proto_msgTypes, + }.Build() + File_mockgrafeas_v1_attestation_proto = out.File + file_mockgrafeas_v1_attestation_proto_rawDesc = nil + file_mockgrafeas_v1_attestation_proto_goTypes = nil + file_mockgrafeas_v1_attestation_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgrafeas/v1/build.pb.go b/mockgcp/generated/mockgrafeas/v1/build.pb.go new file mode 100644 index 0000000000..624bc381cd --- /dev/null +++ b/mockgcp/generated/mockgrafeas/v1/build.pb.go @@ -0,0 +1,323 @@ +// Copyright 2019 The Grafeas Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgrafeas/v1/build.proto + +package grafeas + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Note holding the version of the provider's builder and the signature of the +// provenance message in the build details occurrence. +type BuildNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Immutable. Version of the builder which produced this build. + BuilderVersion string `protobuf:"bytes,1,opt,name=builder_version,json=builderVersion,proto3" json:"builder_version,omitempty"` +} + +func (x *BuildNote) Reset() { + *x = BuildNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_build_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BuildNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BuildNote) ProtoMessage() {} + +func (x *BuildNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_build_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BuildNote.ProtoReflect.Descriptor instead. +func (*BuildNote) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_build_proto_rawDescGZIP(), []int{0} +} + +func (x *BuildNote) GetBuilderVersion() string { + if x != nil { + return x.BuilderVersion + } + return "" +} + +// Details of a build occurrence. +type BuildOccurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The actual provenance for the build. + Provenance *BuildProvenance `protobuf:"bytes,1,opt,name=provenance,proto3" json:"provenance,omitempty"` + // Serialized JSON representation of the provenance, used in generating the + // build signature in the corresponding build note. After verifying the + // signature, `provenance_bytes` can be unmarshalled and compared to the + // provenance to confirm that it is unchanged. A base64-encoded string + // representation of the provenance bytes is used for the signature in order + // to interoperate with openssl which expects this format for signature + // verification. + // + // The serialized form is captured both to avoid ambiguity in how the + // provenance is marshalled to json as well to prevent incompatibilities with + // future changes. + ProvenanceBytes string `protobuf:"bytes,2,opt,name=provenance_bytes,json=provenanceBytes,proto3" json:"provenance_bytes,omitempty"` + // Deprecated. See InTotoStatement for the replacement. + // In-toto Provenance representation as defined in spec. + IntotoProvenance *InTotoProvenance `protobuf:"bytes,3,opt,name=intoto_provenance,json=intotoProvenance,proto3" json:"intoto_provenance,omitempty"` + // In-toto Statement representation as defined in spec. + // The intoto_statement can contain any type of provenance. The serialized + // payload of the statement can be stored and signed in the Occurrence's + // envelope. + IntotoStatement *InTotoStatement `protobuf:"bytes,4,opt,name=intoto_statement,json=intotoStatement,proto3" json:"intoto_statement,omitempty"` + // In-Toto Slsa Provenance V1 represents a slsa provenance meeting the slsa + // spec, wrapped in an in-toto statement. This allows for direct + // jsonification of a to-spec in-toto slsa statement with a to-spec + // slsa provenance. + InTotoSlsaProvenanceV1 *InTotoSlsaProvenanceV1 `protobuf:"bytes,5,opt,name=in_toto_slsa_provenance_v1,json=inTotoSlsaProvenanceV1,proto3" json:"in_toto_slsa_provenance_v1,omitempty"` +} + +func (x *BuildOccurrence) Reset() { + *x = BuildOccurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_build_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BuildOccurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BuildOccurrence) ProtoMessage() {} + +func (x *BuildOccurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_build_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BuildOccurrence.ProtoReflect.Descriptor instead. +func (*BuildOccurrence) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_build_proto_rawDescGZIP(), []int{1} +} + +func (x *BuildOccurrence) GetProvenance() *BuildProvenance { + if x != nil { + return x.Provenance + } + return nil +} + +func (x *BuildOccurrence) GetProvenanceBytes() string { + if x != nil { + return x.ProvenanceBytes + } + return "" +} + +func (x *BuildOccurrence) GetIntotoProvenance() *InTotoProvenance { + if x != nil { + return x.IntotoProvenance + } + return nil +} + +func (x *BuildOccurrence) GetIntotoStatement() *InTotoStatement { + if x != nil { + return x.IntotoStatement + } + return nil +} + +func (x *BuildOccurrence) GetInTotoSlsaProvenanceV1() *InTotoSlsaProvenanceV1 { + if x != nil { + return x.InTotoSlsaProvenanceV1 + } + return nil +} + +var File_mockgrafeas_v1_build_proto protoreflect.FileDescriptor + +var file_mockgrafeas_v1_build_proto_rawDesc = []byte{ + 0x0a, 0x1a, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, + 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x26, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6e, 0x74, + 0x6f, 0x74, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6e, 0x74, 0x6f, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, + 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, 0x09, + 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x22, 0xfc, 0x02, 0x0a, 0x0f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4f, 0x63, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, + 0x64, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x0a, 0x70, 0x72, 0x6f, + 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x76, 0x65, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x79, 0x74, + 0x65, 0x73, 0x12, 0x4d, 0x0a, 0x11, 0x69, 0x6e, 0x74, 0x6f, 0x74, 0x6f, 0x5f, 0x70, 0x72, 0x6f, + 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x6e, 0x54, 0x6f, 0x74, 0x6f, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x52, + 0x10, 0x69, 0x6e, 0x74, 0x6f, 0x74, 0x6f, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, + 0x65, 0x12, 0x4a, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x6f, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x54, + 0x6f, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x69, 0x6e, + 0x74, 0x6f, 0x74, 0x6f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x62, 0x0a, + 0x1a, 0x69, 0x6e, 0x5f, 0x74, 0x6f, 0x74, 0x6f, 0x5f, 0x73, 0x6c, 0x73, 0x61, 0x5f, 0x70, 0x72, + 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x76, 0x31, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x54, 0x6f, 0x74, 0x6f, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, + 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x31, 0x52, 0x16, 0x69, 0x6e, 0x54, 0x6f, 0x74, + 0x6f, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x56, + 0x31, 0x42, 0x59, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, + 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0xa2, 0x02, 0x03, 0x47, 0x52, 0x41, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgrafeas_v1_build_proto_rawDescOnce sync.Once + file_mockgrafeas_v1_build_proto_rawDescData = file_mockgrafeas_v1_build_proto_rawDesc +) + +func file_mockgrafeas_v1_build_proto_rawDescGZIP() []byte { + file_mockgrafeas_v1_build_proto_rawDescOnce.Do(func() { + file_mockgrafeas_v1_build_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgrafeas_v1_build_proto_rawDescData) + }) + return file_mockgrafeas_v1_build_proto_rawDescData +} + +var file_mockgrafeas_v1_build_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mockgrafeas_v1_build_proto_goTypes = []interface{}{ + (*BuildNote)(nil), // 0: mockgrafeas.v1.BuildNote + (*BuildOccurrence)(nil), // 1: mockgrafeas.v1.BuildOccurrence + (*BuildProvenance)(nil), // 2: mockgrafeas.v1.BuildProvenance + (*InTotoProvenance)(nil), // 3: mockgrafeas.v1.InTotoProvenance + (*InTotoStatement)(nil), // 4: mockgrafeas.v1.InTotoStatement + (*InTotoSlsaProvenanceV1)(nil), // 5: mockgrafeas.v1.InTotoSlsaProvenanceV1 +} +var file_mockgrafeas_v1_build_proto_depIdxs = []int32{ + 2, // 0: mockgrafeas.v1.BuildOccurrence.provenance:type_name -> mockgrafeas.v1.BuildProvenance + 3, // 1: mockgrafeas.v1.BuildOccurrence.intoto_provenance:type_name -> mockgrafeas.v1.InTotoProvenance + 4, // 2: mockgrafeas.v1.BuildOccurrence.intoto_statement:type_name -> mockgrafeas.v1.InTotoStatement + 5, // 3: mockgrafeas.v1.BuildOccurrence.in_toto_slsa_provenance_v1:type_name -> mockgrafeas.v1.InTotoSlsaProvenanceV1 + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_mockgrafeas_v1_build_proto_init() } +func file_mockgrafeas_v1_build_proto_init() { + if File_mockgrafeas_v1_build_proto != nil { + return + } + file_mockgrafeas_v1_intoto_provenance_proto_init() + file_mockgrafeas_v1_intoto_statement_proto_init() + file_mockgrafeas_v1_provenance_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgrafeas_v1_build_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BuildNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_build_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BuildOccurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgrafeas_v1_build_proto_rawDesc, + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgrafeas_v1_build_proto_goTypes, + DependencyIndexes: file_mockgrafeas_v1_build_proto_depIdxs, + MessageInfos: file_mockgrafeas_v1_build_proto_msgTypes, + }.Build() + File_mockgrafeas_v1_build_proto = out.File + file_mockgrafeas_v1_build_proto_rawDesc = nil + file_mockgrafeas_v1_build_proto_goTypes = nil + file_mockgrafeas_v1_build_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgrafeas/v1/common.pb.go b/mockgcp/generated/mockgrafeas/v1/common.pb.go new file mode 100644 index 0000000000..5acdb5a980 --- /dev/null +++ b/mockgcp/generated/mockgrafeas/v1/common.pb.go @@ -0,0 +1,785 @@ +// Copyright 2019 The Grafeas Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgrafeas/v1/common.proto + +package grafeas + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Kind represents the kinds of notes supported. +type NoteKind int32 + +const ( + // Default value. This value is unused. + NoteKind_NOTE_KIND_UNSPECIFIED NoteKind = 0 + // The note and occurrence represent a package vulnerability. + NoteKind_VULNERABILITY NoteKind = 1 + // The note and occurrence assert build provenance. + NoteKind_BUILD NoteKind = 2 + // This represents an image basis relationship. + NoteKind_IMAGE NoteKind = 3 + // This represents a package installed via a package manager. + NoteKind_PACKAGE NoteKind = 4 + // The note and occurrence track deployment events. + NoteKind_DEPLOYMENT NoteKind = 5 + // The note and occurrence track the initial discovery status of a resource. + NoteKind_DISCOVERY NoteKind = 6 + // This represents a logical "role" that can attest to artifacts. + NoteKind_ATTESTATION NoteKind = 7 + // This represents an available package upgrade. + NoteKind_UPGRADE NoteKind = 8 + // This represents a Compliance Note + NoteKind_COMPLIANCE NoteKind = 9 + // This represents a DSSE attestation Note + NoteKind_DSSE_ATTESTATION NoteKind = 10 + // This represents a Vulnerability Assessment. + NoteKind_VULNERABILITY_ASSESSMENT NoteKind = 11 + // This represents an SBOM Reference. + NoteKind_SBOM_REFERENCE NoteKind = 12 +) + +// Enum value maps for NoteKind. +var ( + NoteKind_name = map[int32]string{ + 0: "NOTE_KIND_UNSPECIFIED", + 1: "VULNERABILITY", + 2: "BUILD", + 3: "IMAGE", + 4: "PACKAGE", + 5: "DEPLOYMENT", + 6: "DISCOVERY", + 7: "ATTESTATION", + 8: "UPGRADE", + 9: "COMPLIANCE", + 10: "DSSE_ATTESTATION", + 11: "VULNERABILITY_ASSESSMENT", + 12: "SBOM_REFERENCE", + } + NoteKind_value = map[string]int32{ + "NOTE_KIND_UNSPECIFIED": 0, + "VULNERABILITY": 1, + "BUILD": 2, + "IMAGE": 3, + "PACKAGE": 4, + "DEPLOYMENT": 5, + "DISCOVERY": 6, + "ATTESTATION": 7, + "UPGRADE": 8, + "COMPLIANCE": 9, + "DSSE_ATTESTATION": 10, + "VULNERABILITY_ASSESSMENT": 11, + "SBOM_REFERENCE": 12, + } +) + +func (x NoteKind) Enum() *NoteKind { + p := new(NoteKind) + *p = x + return p +} + +func (x NoteKind) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NoteKind) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_common_proto_enumTypes[0].Descriptor() +} + +func (NoteKind) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_common_proto_enumTypes[0] +} + +func (x NoteKind) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NoteKind.Descriptor instead. +func (NoteKind) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_common_proto_rawDescGZIP(), []int{0} +} + +// Metadata for any related URL information. +type RelatedUrl struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Specific URL associated with the resource. + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` + // Label to describe usage of the URL. + Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"` +} + +func (x *RelatedUrl) Reset() { + *x = RelatedUrl{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_common_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RelatedUrl) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RelatedUrl) ProtoMessage() {} + +func (x *RelatedUrl) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_common_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RelatedUrl.ProtoReflect.Descriptor instead. +func (*RelatedUrl) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_common_proto_rawDescGZIP(), []int{0} +} + +func (x *RelatedUrl) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *RelatedUrl) GetLabel() string { + if x != nil { + return x.Label + } + return "" +} + +// Verifiers (e.g. Kritis implementations) MUST verify signatures +// with respect to the trust anchors defined in policy (e.g. a Kritis policy). +// Typically this means that the verifier has been configured with a map from +// `public_key_id` to public key material (and any required parameters, e.g. +// signing algorithm). +// +// In particular, verification implementations MUST NOT treat the signature +// `public_key_id` as anything more than a key lookup hint. The `public_key_id` +// DOES NOT validate or authenticate a public key; it only provides a mechanism +// for quickly selecting a public key ALREADY CONFIGURED on the verifier through +// a trusted channel. Verification implementations MUST reject signatures in any +// of the following circumstances: +// - The `public_key_id` is not recognized by the verifier. +// - The public key that `public_key_id` refers to does not verify the +// signature with respect to the payload. +// +// The `signature` contents SHOULD NOT be "attached" (where the payload is +// included with the serialized `signature` bytes). Verifiers MUST ignore any +// "attached" payload and only verify signatures with respect to explicitly +// provided payload (e.g. a `payload` field on the proto message that holds +// this Signature, or the canonical serialization of the proto message that +// holds this signature). +type Signature struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The content of the signature, an opaque bytestring. + // The payload that this signature verifies MUST be unambiguously provided + // with the Signature during verification. A wrapper message might provide + // the payload explicitly. Alternatively, a message might have a canonical + // serialization that can always be unambiguously computed to derive the + // payload. + Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"` + // The identifier for the public key that verifies this signature. + // - The `public_key_id` is required. + // - The `public_key_id` SHOULD be an RFC3986 conformant URI. + // - When possible, the `public_key_id` SHOULD be an immutable reference, + // such as a cryptographic digest. + // + // Examples of valid `public_key_id`s: + // + // OpenPGP V4 public key fingerprint: + // - "openpgp4fpr:74FAF3B861BDA0870C7B6DEF607E48D2A663AEEA" + // + // See https://www.iana.org/assignments/uri-schemes/prov/openpgp4fpr for more + // details on this scheme. + // + // RFC6920 digest-named SubjectPublicKeyInfo (digest of the DER + // serialization): + // - "ni:///sha-256;cD9o9Cq6LG3jD0iKXqEi_vdjJGecm_iXkbqVoScViaU" + // - "nih:///sha-256;703f68f42aba2c6de30f488a5ea122fef76324679c9bf89791ba95a1271589a5" + PublicKeyId string `protobuf:"bytes,2,opt,name=public_key_id,json=publicKeyId,proto3" json:"public_key_id,omitempty"` +} + +func (x *Signature) Reset() { + *x = Signature{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_common_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Signature) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Signature) ProtoMessage() {} + +func (x *Signature) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_common_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Signature.ProtoReflect.Descriptor instead. +func (*Signature) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_common_proto_rawDescGZIP(), []int{1} +} + +func (x *Signature) GetSignature() []byte { + if x != nil { + return x.Signature + } + return nil +} + +func (x *Signature) GetPublicKeyId() string { + if x != nil { + return x.PublicKeyId + } + return "" +} + +// MUST match +// https://github.com/secure-systems-lab/dsse/blob/master/envelope.proto. An +// authenticated message of arbitrary type. +type Envelope struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + PayloadType string `protobuf:"bytes,2,opt,name=payload_type,json=payloadType,proto3" json:"payload_type,omitempty"` + Signatures []*EnvelopeSignature `protobuf:"bytes,3,rep,name=signatures,proto3" json:"signatures,omitempty"` +} + +func (x *Envelope) Reset() { + *x = Envelope{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_common_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Envelope) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Envelope) ProtoMessage() {} + +func (x *Envelope) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_common_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Envelope.ProtoReflect.Descriptor instead. +func (*Envelope) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_common_proto_rawDescGZIP(), []int{2} +} + +func (x *Envelope) GetPayload() []byte { + if x != nil { + return x.Payload + } + return nil +} + +func (x *Envelope) GetPayloadType() string { + if x != nil { + return x.PayloadType + } + return "" +} + +func (x *Envelope) GetSignatures() []*EnvelopeSignature { + if x != nil { + return x.Signatures + } + return nil +} + +type EnvelopeSignature struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Sig []byte `protobuf:"bytes,1,opt,name=sig,proto3" json:"sig,omitempty"` + Keyid string `protobuf:"bytes,2,opt,name=keyid,proto3" json:"keyid,omitempty"` +} + +func (x *EnvelopeSignature) Reset() { + *x = EnvelopeSignature{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_common_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EnvelopeSignature) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnvelopeSignature) ProtoMessage() {} + +func (x *EnvelopeSignature) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_common_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnvelopeSignature.ProtoReflect.Descriptor instead. +func (*EnvelopeSignature) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_common_proto_rawDescGZIP(), []int{3} +} + +func (x *EnvelopeSignature) GetSig() []byte { + if x != nil { + return x.Sig + } + return nil +} + +func (x *EnvelopeSignature) GetKeyid() string { + if x != nil { + return x.Keyid + } + return "" +} + +// Indicates the location at which a package was found. +type FileLocation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // For jars that are contained inside .war files, this filepath + // can indicate the path to war file combined with the path to jar file. + FilePath string `protobuf:"bytes,1,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"` +} + +func (x *FileLocation) Reset() { + *x = FileLocation{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_common_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FileLocation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FileLocation) ProtoMessage() {} + +func (x *FileLocation) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_common_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FileLocation.ProtoReflect.Descriptor instead. +func (*FileLocation) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_common_proto_rawDescGZIP(), []int{4} +} + +func (x *FileLocation) GetFilePath() string { + if x != nil { + return x.FilePath + } + return "" +} + +// License information. +type License struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Often a single license can be used to represent the licensing terms. + // Sometimes it is necessary to include a choice of one or more licenses + // or some combination of license identifiers. + // Examples: "LGPL-2.1-only OR MIT", "LGPL-2.1-only AND MIT", + // "GPL-2.0-or-later WITH Bison-exception-2.2". + Expression string `protobuf:"bytes,1,opt,name=expression,proto3" json:"expression,omitempty"` + // Comments + Comments string `protobuf:"bytes,2,opt,name=comments,proto3" json:"comments,omitempty"` +} + +func (x *License) Reset() { + *x = License{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_common_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *License) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*License) ProtoMessage() {} + +func (x *License) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_common_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use License.ProtoReflect.Descriptor instead. +func (*License) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_common_proto_rawDescGZIP(), []int{5} +} + +func (x *License) GetExpression() string { + if x != nil { + return x.Expression + } + return "" +} + +func (x *License) GetComments() string { + if x != nil { + return x.Comments + } + return "" +} + +// Digest information. +type Digest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // `SHA1`, `SHA512` etc. + Algo string `protobuf:"bytes,1,opt,name=algo,proto3" json:"algo,omitempty"` + // Value of the digest. + DigestBytes []byte `protobuf:"bytes,2,opt,name=digest_bytes,json=digestBytes,proto3" json:"digest_bytes,omitempty"` +} + +func (x *Digest) Reset() { + *x = Digest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_common_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Digest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Digest) ProtoMessage() {} + +func (x *Digest) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_common_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Digest.ProtoReflect.Descriptor instead. +func (*Digest) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_common_proto_rawDescGZIP(), []int{6} +} + +func (x *Digest) GetAlgo() string { + if x != nil { + return x.Algo + } + return "" +} + +func (x *Digest) GetDigestBytes() []byte { + if x != nil { + return x.DigestBytes + } + return nil +} + +var File_mockgrafeas_v1_common_proto protoreflect.FileDescriptor + +var file_mockgrafeas_v1_common_proto_rawDesc = []byte{ + 0x0a, 0x1b, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x22, 0x34, 0x0a, + 0x0a, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x75, + 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, + 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 0x22, 0x4d, 0x0a, 0x09, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x22, + 0x0a, 0x0d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, + 0x49, 0x64, 0x22, 0x8a, 0x01, 0x0a, 0x08, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x0a, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, + 0x3b, 0x0a, 0x11, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x03, 0x73, 0x69, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x6b, 0x65, 0x79, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6b, 0x65, 0x79, 0x69, 0x64, 0x22, 0x2b, 0x0a, 0x0c, + 0x46, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, + 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x22, 0x45, 0x0a, 0x07, 0x4c, 0x69, 0x63, + 0x65, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x22, 0x3f, 0x0a, 0x06, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x6c, + 0x67, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x61, 0x6c, 0x67, 0x6f, 0x12, 0x21, + 0x0a, 0x0c, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x42, 0x79, 0x74, 0x65, + 0x73, 0x2a, 0xf0, 0x01, 0x0a, 0x08, 0x4e, 0x6f, 0x74, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x19, + 0x0a, 0x15, 0x4e, 0x4f, 0x54, 0x45, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x56, 0x55, 0x4c, + 0x4e, 0x45, 0x52, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, + 0x42, 0x55, 0x49, 0x4c, 0x44, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4d, 0x41, 0x47, 0x45, + 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x41, 0x43, 0x4b, 0x41, 0x47, 0x45, 0x10, 0x04, 0x12, + 0x0e, 0x0a, 0x0a, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x05, 0x12, + 0x0d, 0x0a, 0x09, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x59, 0x10, 0x06, 0x12, 0x0f, + 0x0a, 0x0b, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x07, 0x12, + 0x0b, 0x0a, 0x07, 0x55, 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x10, 0x08, 0x12, 0x0e, 0x0a, 0x0a, + 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x49, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x09, 0x12, 0x14, 0x0a, 0x10, + 0x44, 0x53, 0x53, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x45, 0x53, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x10, 0x0a, 0x12, 0x1c, 0x0a, 0x18, 0x56, 0x55, 0x4c, 0x4e, 0x45, 0x52, 0x41, 0x42, 0x49, 0x4c, + 0x49, 0x54, 0x59, 0x5f, 0x41, 0x53, 0x53, 0x45, 0x53, 0x53, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x0b, + 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x42, 0x4f, 0x4d, 0x5f, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, + 0x43, 0x45, 0x10, 0x0c, 0x42, 0x59, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, + 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, + 0x31, 0x3b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0xa2, 0x02, 0x03, 0x47, 0x52, 0x41, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgrafeas_v1_common_proto_rawDescOnce sync.Once + file_mockgrafeas_v1_common_proto_rawDescData = file_mockgrafeas_v1_common_proto_rawDesc +) + +func file_mockgrafeas_v1_common_proto_rawDescGZIP() []byte { + file_mockgrafeas_v1_common_proto_rawDescOnce.Do(func() { + file_mockgrafeas_v1_common_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgrafeas_v1_common_proto_rawDescData) + }) + return file_mockgrafeas_v1_common_proto_rawDescData +} + +var file_mockgrafeas_v1_common_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgrafeas_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_mockgrafeas_v1_common_proto_goTypes = []interface{}{ + (NoteKind)(0), // 0: mockgrafeas.v1.NoteKind + (*RelatedUrl)(nil), // 1: mockgrafeas.v1.RelatedUrl + (*Signature)(nil), // 2: mockgrafeas.v1.Signature + (*Envelope)(nil), // 3: mockgrafeas.v1.Envelope + (*EnvelopeSignature)(nil), // 4: mockgrafeas.v1.EnvelopeSignature + (*FileLocation)(nil), // 5: mockgrafeas.v1.FileLocation + (*License)(nil), // 6: mockgrafeas.v1.License + (*Digest)(nil), // 7: mockgrafeas.v1.Digest +} +var file_mockgrafeas_v1_common_proto_depIdxs = []int32{ + 4, // 0: mockgrafeas.v1.Envelope.signatures:type_name -> mockgrafeas.v1.EnvelopeSignature + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_mockgrafeas_v1_common_proto_init() } +func file_mockgrafeas_v1_common_proto_init() { + if File_mockgrafeas_v1_common_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgrafeas_v1_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RelatedUrl); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Signature); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Envelope); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnvelopeSignature); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FileLocation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*License); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Digest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgrafeas_v1_common_proto_rawDesc, + NumEnums: 1, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgrafeas_v1_common_proto_goTypes, + DependencyIndexes: file_mockgrafeas_v1_common_proto_depIdxs, + EnumInfos: file_mockgrafeas_v1_common_proto_enumTypes, + MessageInfos: file_mockgrafeas_v1_common_proto_msgTypes, + }.Build() + File_mockgrafeas_v1_common_proto = out.File + file_mockgrafeas_v1_common_proto_rawDesc = nil + file_mockgrafeas_v1_common_proto_goTypes = nil + file_mockgrafeas_v1_common_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgrafeas/v1/compliance.pb.go b/mockgcp/generated/mockgrafeas/v1/compliance.pb.go new file mode 100644 index 0000000000..9431f4abcc --- /dev/null +++ b/mockgcp/generated/mockgrafeas/v1/compliance.pb.go @@ -0,0 +1,634 @@ +// Copyright 2021 The Grafeas Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgrafeas/v1/compliance.proto + +package grafeas + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ComplianceNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The title that identifies this compliance check. + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` + // A description about this compliance check. + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // The OS and config versions the benchmark applies to. + Version []*ComplianceVersion `protobuf:"bytes,3,rep,name=version,proto3" json:"version,omitempty"` + // A rationale for the existence of this compliance check. + Rationale string `protobuf:"bytes,4,opt,name=rationale,proto3" json:"rationale,omitempty"` + // A description of remediation steps if the compliance check fails. + Remediation string `protobuf:"bytes,5,opt,name=remediation,proto3" json:"remediation,omitempty"` + // Types that are assignable to ComplianceType: + // + // *ComplianceNote_CisBenchmark_ + ComplianceType isComplianceNote_ComplianceType `protobuf_oneof:"compliance_type"` + // Serialized scan instructions with a predefined format. + ScanInstructions []byte `protobuf:"bytes,7,opt,name=scan_instructions,json=scanInstructions,proto3" json:"scan_instructions,omitempty"` + // Potential impact of the suggested remediation + // + // Types that are assignable to PotentialImpact: + // + // *ComplianceNote_Impact + PotentialImpact isComplianceNote_PotentialImpact `protobuf_oneof:"potential_impact"` +} + +func (x *ComplianceNote) Reset() { + *x = ComplianceNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_compliance_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ComplianceNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComplianceNote) ProtoMessage() {} + +func (x *ComplianceNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_compliance_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ComplianceNote.ProtoReflect.Descriptor instead. +func (*ComplianceNote) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_compliance_proto_rawDescGZIP(), []int{0} +} + +func (x *ComplianceNote) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *ComplianceNote) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *ComplianceNote) GetVersion() []*ComplianceVersion { + if x != nil { + return x.Version + } + return nil +} + +func (x *ComplianceNote) GetRationale() string { + if x != nil { + return x.Rationale + } + return "" +} + +func (x *ComplianceNote) GetRemediation() string { + if x != nil { + return x.Remediation + } + return "" +} + +func (m *ComplianceNote) GetComplianceType() isComplianceNote_ComplianceType { + if m != nil { + return m.ComplianceType + } + return nil +} + +func (x *ComplianceNote) GetCisBenchmark() *ComplianceNote_CisBenchmark { + if x, ok := x.GetComplianceType().(*ComplianceNote_CisBenchmark_); ok { + return x.CisBenchmark + } + return nil +} + +func (x *ComplianceNote) GetScanInstructions() []byte { + if x != nil { + return x.ScanInstructions + } + return nil +} + +func (m *ComplianceNote) GetPotentialImpact() isComplianceNote_PotentialImpact { + if m != nil { + return m.PotentialImpact + } + return nil +} + +func (x *ComplianceNote) GetImpact() string { + if x, ok := x.GetPotentialImpact().(*ComplianceNote_Impact); ok { + return x.Impact + } + return "" +} + +type isComplianceNote_ComplianceType interface { + isComplianceNote_ComplianceType() +} + +type ComplianceNote_CisBenchmark_ struct { + CisBenchmark *ComplianceNote_CisBenchmark `protobuf:"bytes,6,opt,name=cis_benchmark,json=cisBenchmark,proto3,oneof"` +} + +func (*ComplianceNote_CisBenchmark_) isComplianceNote_ComplianceType() {} + +type isComplianceNote_PotentialImpact interface { + isComplianceNote_PotentialImpact() +} + +type ComplianceNote_Impact struct { + Impact string `protobuf:"bytes,8,opt,name=impact,proto3,oneof"` +} + +func (*ComplianceNote_Impact) isComplianceNote_PotentialImpact() {} + +// Describes the CIS benchmark version that is applicable to a given OS and +// os version. +type ComplianceVersion struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The CPE URI (https://cpe.mitre.org/specification/) this benchmark is + // applicable to. + CpeUri string `protobuf:"bytes,1,opt,name=cpe_uri,json=cpeUri,proto3" json:"cpe_uri,omitempty"` + // The name of the document that defines this benchmark, e.g. "CIS + // Container-Optimized OS". + BenchmarkDocument string `protobuf:"bytes,3,opt,name=benchmark_document,json=benchmarkDocument,proto3" json:"benchmark_document,omitempty"` + // The version of the benchmark. This is set to the version of the OS-specific + // CIS document the benchmark is defined in. + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *ComplianceVersion) Reset() { + *x = ComplianceVersion{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_compliance_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ComplianceVersion) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComplianceVersion) ProtoMessage() {} + +func (x *ComplianceVersion) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_compliance_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ComplianceVersion.ProtoReflect.Descriptor instead. +func (*ComplianceVersion) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_compliance_proto_rawDescGZIP(), []int{1} +} + +func (x *ComplianceVersion) GetCpeUri() string { + if x != nil { + return x.CpeUri + } + return "" +} + +func (x *ComplianceVersion) GetBenchmarkDocument() string { + if x != nil { + return x.BenchmarkDocument + } + return "" +} + +func (x *ComplianceVersion) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +// An indication that the compliance checks in the associated ComplianceNote +// were not satisfied for particular resources or a specified reason. +type ComplianceOccurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NonCompliantFiles []*NonCompliantFile `protobuf:"bytes,2,rep,name=non_compliant_files,json=nonCompliantFiles,proto3" json:"non_compliant_files,omitempty"` + NonComplianceReason string `protobuf:"bytes,3,opt,name=non_compliance_reason,json=nonComplianceReason,proto3" json:"non_compliance_reason,omitempty"` +} + +func (x *ComplianceOccurrence) Reset() { + *x = ComplianceOccurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_compliance_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ComplianceOccurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComplianceOccurrence) ProtoMessage() {} + +func (x *ComplianceOccurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_compliance_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ComplianceOccurrence.ProtoReflect.Descriptor instead. +func (*ComplianceOccurrence) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_compliance_proto_rawDescGZIP(), []int{2} +} + +func (x *ComplianceOccurrence) GetNonCompliantFiles() []*NonCompliantFile { + if x != nil { + return x.NonCompliantFiles + } + return nil +} + +func (x *ComplianceOccurrence) GetNonComplianceReason() string { + if x != nil { + return x.NonComplianceReason + } + return "" +} + +// Details about files that caused a compliance check to fail. +type NonCompliantFile struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Empty if `display_command` is set. + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + // Command to display the non-compliant files. + DisplayCommand string `protobuf:"bytes,2,opt,name=display_command,json=displayCommand,proto3" json:"display_command,omitempty"` + // Explains why a file is non compliant for a CIS check. + Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` +} + +func (x *NonCompliantFile) Reset() { + *x = NonCompliantFile{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_compliance_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NonCompliantFile) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NonCompliantFile) ProtoMessage() {} + +func (x *NonCompliantFile) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_compliance_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NonCompliantFile.ProtoReflect.Descriptor instead. +func (*NonCompliantFile) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_compliance_proto_rawDescGZIP(), []int{3} +} + +func (x *NonCompliantFile) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *NonCompliantFile) GetDisplayCommand() string { + if x != nil { + return x.DisplayCommand + } + return "" +} + +func (x *NonCompliantFile) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +// A compliance check that is a CIS benchmark. +type ComplianceNote_CisBenchmark struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProfileLevel int32 `protobuf:"varint,1,opt,name=profile_level,json=profileLevel,proto3" json:"profile_level,omitempty"` + Severity Severity `protobuf:"varint,2,opt,name=severity,proto3,enum=mockgrafeas.v1.Severity" json:"severity,omitempty"` +} + +func (x *ComplianceNote_CisBenchmark) Reset() { + *x = ComplianceNote_CisBenchmark{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_compliance_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ComplianceNote_CisBenchmark) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComplianceNote_CisBenchmark) ProtoMessage() {} + +func (x *ComplianceNote_CisBenchmark) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_compliance_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ComplianceNote_CisBenchmark.ProtoReflect.Descriptor instead. +func (*ComplianceNote_CisBenchmark) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_compliance_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *ComplianceNote_CisBenchmark) GetProfileLevel() int32 { + if x != nil { + return x.ProfileLevel + } + return 0 +} + +func (x *ComplianceNote_CisBenchmark) GetSeverity() Severity { + if x != nil { + return x.Severity + } + return Severity_SEVERITY_UNSPECIFIED +} + +var File_mockgrafeas_v1_compliance_proto protoreflect.FileDescriptor + +var file_mockgrafeas_v1_compliance_proto_rawDesc = []byte{ + 0x0a, 0x1f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, + 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x0e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, + 0x31, 0x1a, 0x1d, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, + 0x31, 0x2f, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0xf2, 0x03, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x4e, + 0x6f, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x65, 0x64, 0x69, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x6d, + 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x0d, 0x63, 0x69, 0x73, 0x5f, + 0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x2e, + 0x43, 0x69, 0x73, 0x42, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x48, 0x00, 0x52, 0x0c, + 0x63, 0x69, 0x73, 0x42, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x2b, 0x0a, 0x11, + 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x10, 0x73, 0x63, 0x61, 0x6e, 0x49, 0x6e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x18, 0x0a, 0x06, 0x69, 0x6d, 0x70, + 0x61, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x06, 0x69, 0x6d, 0x70, + 0x61, 0x63, 0x74, 0x1a, 0x69, 0x0a, 0x0c, 0x43, 0x69, 0x73, 0x42, 0x65, 0x6e, 0x63, 0x68, 0x6d, + 0x61, 0x72, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6c, + 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x34, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, + 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x76, 0x65, + 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x42, 0x11, + 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x42, 0x12, 0x0a, 0x10, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x69, + 0x6d, 0x70, 0x61, 0x63, 0x74, 0x22, 0x75, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, + 0x6e, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x70, + 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x70, 0x65, + 0x55, 0x72, 0x69, 0x12, 0x2d, 0x0a, 0x12, 0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, + 0x5f, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x11, 0x62, 0x65, 0x6e, 0x63, 0x68, 0x6d, 0x61, 0x72, 0x6b, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9c, 0x01, 0x0a, + 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x13, 0x6e, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x74, + 0x46, 0x69, 0x6c, 0x65, 0x52, 0x11, 0x6e, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, + 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x6e, 0x6f, 0x6e, 0x5f, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6e, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, + 0x69, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x67, 0x0a, 0x10, 0x4e, + 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, + 0x61, 0x74, 0x68, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x42, 0x59, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, + 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, + 0x31, 0x3b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0xa2, 0x02, 0x03, 0x47, 0x52, 0x41, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgrafeas_v1_compliance_proto_rawDescOnce sync.Once + file_mockgrafeas_v1_compliance_proto_rawDescData = file_mockgrafeas_v1_compliance_proto_rawDesc +) + +func file_mockgrafeas_v1_compliance_proto_rawDescGZIP() []byte { + file_mockgrafeas_v1_compliance_proto_rawDescOnce.Do(func() { + file_mockgrafeas_v1_compliance_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgrafeas_v1_compliance_proto_rawDescData) + }) + return file_mockgrafeas_v1_compliance_proto_rawDescData +} + +var file_mockgrafeas_v1_compliance_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_mockgrafeas_v1_compliance_proto_goTypes = []interface{}{ + (*ComplianceNote)(nil), // 0: mockgrafeas.v1.ComplianceNote + (*ComplianceVersion)(nil), // 1: mockgrafeas.v1.ComplianceVersion + (*ComplianceOccurrence)(nil), // 2: mockgrafeas.v1.ComplianceOccurrence + (*NonCompliantFile)(nil), // 3: mockgrafeas.v1.NonCompliantFile + (*ComplianceNote_CisBenchmark)(nil), // 4: mockgrafeas.v1.ComplianceNote.CisBenchmark + (Severity)(0), // 5: mockgrafeas.v1.Severity +} +var file_mockgrafeas_v1_compliance_proto_depIdxs = []int32{ + 1, // 0: mockgrafeas.v1.ComplianceNote.version:type_name -> mockgrafeas.v1.ComplianceVersion + 4, // 1: mockgrafeas.v1.ComplianceNote.cis_benchmark:type_name -> mockgrafeas.v1.ComplianceNote.CisBenchmark + 3, // 2: mockgrafeas.v1.ComplianceOccurrence.non_compliant_files:type_name -> mockgrafeas.v1.NonCompliantFile + 5, // 3: mockgrafeas.v1.ComplianceNote.CisBenchmark.severity:type_name -> mockgrafeas.v1.Severity + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_mockgrafeas_v1_compliance_proto_init() } +func file_mockgrafeas_v1_compliance_proto_init() { + if File_mockgrafeas_v1_compliance_proto != nil { + return + } + file_mockgrafeas_v1_severity_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgrafeas_v1_compliance_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ComplianceNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_compliance_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ComplianceVersion); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_compliance_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ComplianceOccurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_compliance_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NonCompliantFile); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_compliance_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ComplianceNote_CisBenchmark); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgrafeas_v1_compliance_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*ComplianceNote_CisBenchmark_)(nil), + (*ComplianceNote_Impact)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgrafeas_v1_compliance_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgrafeas_v1_compliance_proto_goTypes, + DependencyIndexes: file_mockgrafeas_v1_compliance_proto_depIdxs, + MessageInfos: file_mockgrafeas_v1_compliance_proto_msgTypes, + }.Build() + File_mockgrafeas_v1_compliance_proto = out.File + file_mockgrafeas_v1_compliance_proto_rawDesc = nil + file_mockgrafeas_v1_compliance_proto_goTypes = nil + file_mockgrafeas_v1_compliance_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgrafeas/v1/cvss.pb.go b/mockgcp/generated/mockgrafeas/v1/cvss.pb.go new file mode 100644 index 0000000000..c90d18e12f --- /dev/null +++ b/mockgcp/generated/mockgrafeas/v1/cvss.pb.go @@ -0,0 +1,1359 @@ +// Copyright 2019 The Grafeas Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgrafeas/v1/cvss.proto + +package grafeas + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// CVSS Version. +type CVSSVersion int32 + +const ( + CVSSVersion_CVSS_VERSION_UNSPECIFIED CVSSVersion = 0 + CVSSVersion_CVSS_VERSION_2 CVSSVersion = 1 + CVSSVersion_CVSS_VERSION_3 CVSSVersion = 2 +) + +// Enum value maps for CVSSVersion. +var ( + CVSSVersion_name = map[int32]string{ + 0: "CVSS_VERSION_UNSPECIFIED", + 1: "CVSS_VERSION_2", + 2: "CVSS_VERSION_3", + } + CVSSVersion_value = map[string]int32{ + "CVSS_VERSION_UNSPECIFIED": 0, + "CVSS_VERSION_2": 1, + "CVSS_VERSION_3": 2, + } +) + +func (x CVSSVersion) Enum() *CVSSVersion { + p := new(CVSSVersion) + *p = x + return p +} + +func (x CVSSVersion) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CVSSVersion) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_cvss_proto_enumTypes[0].Descriptor() +} + +func (CVSSVersion) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_cvss_proto_enumTypes[0] +} + +func (x CVSSVersion) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CVSSVersion.Descriptor instead. +func (CVSSVersion) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_cvss_proto_rawDescGZIP(), []int{0} +} + +type CVSSv3_AttackVector int32 + +const ( + CVSSv3_ATTACK_VECTOR_UNSPECIFIED CVSSv3_AttackVector = 0 + CVSSv3_ATTACK_VECTOR_NETWORK CVSSv3_AttackVector = 1 + CVSSv3_ATTACK_VECTOR_ADJACENT CVSSv3_AttackVector = 2 + CVSSv3_ATTACK_VECTOR_LOCAL CVSSv3_AttackVector = 3 + CVSSv3_ATTACK_VECTOR_PHYSICAL CVSSv3_AttackVector = 4 +) + +// Enum value maps for CVSSv3_AttackVector. +var ( + CVSSv3_AttackVector_name = map[int32]string{ + 0: "ATTACK_VECTOR_UNSPECIFIED", + 1: "ATTACK_VECTOR_NETWORK", + 2: "ATTACK_VECTOR_ADJACENT", + 3: "ATTACK_VECTOR_LOCAL", + 4: "ATTACK_VECTOR_PHYSICAL", + } + CVSSv3_AttackVector_value = map[string]int32{ + "ATTACK_VECTOR_UNSPECIFIED": 0, + "ATTACK_VECTOR_NETWORK": 1, + "ATTACK_VECTOR_ADJACENT": 2, + "ATTACK_VECTOR_LOCAL": 3, + "ATTACK_VECTOR_PHYSICAL": 4, + } +) + +func (x CVSSv3_AttackVector) Enum() *CVSSv3_AttackVector { + p := new(CVSSv3_AttackVector) + *p = x + return p +} + +func (x CVSSv3_AttackVector) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CVSSv3_AttackVector) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_cvss_proto_enumTypes[1].Descriptor() +} + +func (CVSSv3_AttackVector) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_cvss_proto_enumTypes[1] +} + +func (x CVSSv3_AttackVector) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CVSSv3_AttackVector.Descriptor instead. +func (CVSSv3_AttackVector) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_cvss_proto_rawDescGZIP(), []int{0, 0} +} + +type CVSSv3_AttackComplexity int32 + +const ( + CVSSv3_ATTACK_COMPLEXITY_UNSPECIFIED CVSSv3_AttackComplexity = 0 + CVSSv3_ATTACK_COMPLEXITY_LOW CVSSv3_AttackComplexity = 1 + CVSSv3_ATTACK_COMPLEXITY_HIGH CVSSv3_AttackComplexity = 2 +) + +// Enum value maps for CVSSv3_AttackComplexity. +var ( + CVSSv3_AttackComplexity_name = map[int32]string{ + 0: "ATTACK_COMPLEXITY_UNSPECIFIED", + 1: "ATTACK_COMPLEXITY_LOW", + 2: "ATTACK_COMPLEXITY_HIGH", + } + CVSSv3_AttackComplexity_value = map[string]int32{ + "ATTACK_COMPLEXITY_UNSPECIFIED": 0, + "ATTACK_COMPLEXITY_LOW": 1, + "ATTACK_COMPLEXITY_HIGH": 2, + } +) + +func (x CVSSv3_AttackComplexity) Enum() *CVSSv3_AttackComplexity { + p := new(CVSSv3_AttackComplexity) + *p = x + return p +} + +func (x CVSSv3_AttackComplexity) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CVSSv3_AttackComplexity) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_cvss_proto_enumTypes[2].Descriptor() +} + +func (CVSSv3_AttackComplexity) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_cvss_proto_enumTypes[2] +} + +func (x CVSSv3_AttackComplexity) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CVSSv3_AttackComplexity.Descriptor instead. +func (CVSSv3_AttackComplexity) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_cvss_proto_rawDescGZIP(), []int{0, 1} +} + +type CVSSv3_PrivilegesRequired int32 + +const ( + CVSSv3_PRIVILEGES_REQUIRED_UNSPECIFIED CVSSv3_PrivilegesRequired = 0 + CVSSv3_PRIVILEGES_REQUIRED_NONE CVSSv3_PrivilegesRequired = 1 + CVSSv3_PRIVILEGES_REQUIRED_LOW CVSSv3_PrivilegesRequired = 2 + CVSSv3_PRIVILEGES_REQUIRED_HIGH CVSSv3_PrivilegesRequired = 3 +) + +// Enum value maps for CVSSv3_PrivilegesRequired. +var ( + CVSSv3_PrivilegesRequired_name = map[int32]string{ + 0: "PRIVILEGES_REQUIRED_UNSPECIFIED", + 1: "PRIVILEGES_REQUIRED_NONE", + 2: "PRIVILEGES_REQUIRED_LOW", + 3: "PRIVILEGES_REQUIRED_HIGH", + } + CVSSv3_PrivilegesRequired_value = map[string]int32{ + "PRIVILEGES_REQUIRED_UNSPECIFIED": 0, + "PRIVILEGES_REQUIRED_NONE": 1, + "PRIVILEGES_REQUIRED_LOW": 2, + "PRIVILEGES_REQUIRED_HIGH": 3, + } +) + +func (x CVSSv3_PrivilegesRequired) Enum() *CVSSv3_PrivilegesRequired { + p := new(CVSSv3_PrivilegesRequired) + *p = x + return p +} + +func (x CVSSv3_PrivilegesRequired) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CVSSv3_PrivilegesRequired) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_cvss_proto_enumTypes[3].Descriptor() +} + +func (CVSSv3_PrivilegesRequired) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_cvss_proto_enumTypes[3] +} + +func (x CVSSv3_PrivilegesRequired) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CVSSv3_PrivilegesRequired.Descriptor instead. +func (CVSSv3_PrivilegesRequired) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_cvss_proto_rawDescGZIP(), []int{0, 2} +} + +type CVSSv3_UserInteraction int32 + +const ( + CVSSv3_USER_INTERACTION_UNSPECIFIED CVSSv3_UserInteraction = 0 + CVSSv3_USER_INTERACTION_NONE CVSSv3_UserInteraction = 1 + CVSSv3_USER_INTERACTION_REQUIRED CVSSv3_UserInteraction = 2 +) + +// Enum value maps for CVSSv3_UserInteraction. +var ( + CVSSv3_UserInteraction_name = map[int32]string{ + 0: "USER_INTERACTION_UNSPECIFIED", + 1: "USER_INTERACTION_NONE", + 2: "USER_INTERACTION_REQUIRED", + } + CVSSv3_UserInteraction_value = map[string]int32{ + "USER_INTERACTION_UNSPECIFIED": 0, + "USER_INTERACTION_NONE": 1, + "USER_INTERACTION_REQUIRED": 2, + } +) + +func (x CVSSv3_UserInteraction) Enum() *CVSSv3_UserInteraction { + p := new(CVSSv3_UserInteraction) + *p = x + return p +} + +func (x CVSSv3_UserInteraction) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CVSSv3_UserInteraction) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_cvss_proto_enumTypes[4].Descriptor() +} + +func (CVSSv3_UserInteraction) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_cvss_proto_enumTypes[4] +} + +func (x CVSSv3_UserInteraction) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CVSSv3_UserInteraction.Descriptor instead. +func (CVSSv3_UserInteraction) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_cvss_proto_rawDescGZIP(), []int{0, 3} +} + +type CVSSv3_Scope int32 + +const ( + CVSSv3_SCOPE_UNSPECIFIED CVSSv3_Scope = 0 + CVSSv3_SCOPE_UNCHANGED CVSSv3_Scope = 1 + CVSSv3_SCOPE_CHANGED CVSSv3_Scope = 2 +) + +// Enum value maps for CVSSv3_Scope. +var ( + CVSSv3_Scope_name = map[int32]string{ + 0: "SCOPE_UNSPECIFIED", + 1: "SCOPE_UNCHANGED", + 2: "SCOPE_CHANGED", + } + CVSSv3_Scope_value = map[string]int32{ + "SCOPE_UNSPECIFIED": 0, + "SCOPE_UNCHANGED": 1, + "SCOPE_CHANGED": 2, + } +) + +func (x CVSSv3_Scope) Enum() *CVSSv3_Scope { + p := new(CVSSv3_Scope) + *p = x + return p +} + +func (x CVSSv3_Scope) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CVSSv3_Scope) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_cvss_proto_enumTypes[5].Descriptor() +} + +func (CVSSv3_Scope) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_cvss_proto_enumTypes[5] +} + +func (x CVSSv3_Scope) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CVSSv3_Scope.Descriptor instead. +func (CVSSv3_Scope) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_cvss_proto_rawDescGZIP(), []int{0, 4} +} + +type CVSSv3_Impact int32 + +const ( + CVSSv3_IMPACT_UNSPECIFIED CVSSv3_Impact = 0 + CVSSv3_IMPACT_HIGH CVSSv3_Impact = 1 + CVSSv3_IMPACT_LOW CVSSv3_Impact = 2 + CVSSv3_IMPACT_NONE CVSSv3_Impact = 3 +) + +// Enum value maps for CVSSv3_Impact. +var ( + CVSSv3_Impact_name = map[int32]string{ + 0: "IMPACT_UNSPECIFIED", + 1: "IMPACT_HIGH", + 2: "IMPACT_LOW", + 3: "IMPACT_NONE", + } + CVSSv3_Impact_value = map[string]int32{ + "IMPACT_UNSPECIFIED": 0, + "IMPACT_HIGH": 1, + "IMPACT_LOW": 2, + "IMPACT_NONE": 3, + } +) + +func (x CVSSv3_Impact) Enum() *CVSSv3_Impact { + p := new(CVSSv3_Impact) + *p = x + return p +} + +func (x CVSSv3_Impact) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CVSSv3_Impact) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_cvss_proto_enumTypes[6].Descriptor() +} + +func (CVSSv3_Impact) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_cvss_proto_enumTypes[6] +} + +func (x CVSSv3_Impact) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CVSSv3_Impact.Descriptor instead. +func (CVSSv3_Impact) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_cvss_proto_rawDescGZIP(), []int{0, 5} +} + +type CVSS_AttackVector int32 + +const ( + CVSS_ATTACK_VECTOR_UNSPECIFIED CVSS_AttackVector = 0 + CVSS_ATTACK_VECTOR_NETWORK CVSS_AttackVector = 1 + CVSS_ATTACK_VECTOR_ADJACENT CVSS_AttackVector = 2 + CVSS_ATTACK_VECTOR_LOCAL CVSS_AttackVector = 3 + CVSS_ATTACK_VECTOR_PHYSICAL CVSS_AttackVector = 4 +) + +// Enum value maps for CVSS_AttackVector. +var ( + CVSS_AttackVector_name = map[int32]string{ + 0: "ATTACK_VECTOR_UNSPECIFIED", + 1: "ATTACK_VECTOR_NETWORK", + 2: "ATTACK_VECTOR_ADJACENT", + 3: "ATTACK_VECTOR_LOCAL", + 4: "ATTACK_VECTOR_PHYSICAL", + } + CVSS_AttackVector_value = map[string]int32{ + "ATTACK_VECTOR_UNSPECIFIED": 0, + "ATTACK_VECTOR_NETWORK": 1, + "ATTACK_VECTOR_ADJACENT": 2, + "ATTACK_VECTOR_LOCAL": 3, + "ATTACK_VECTOR_PHYSICAL": 4, + } +) + +func (x CVSS_AttackVector) Enum() *CVSS_AttackVector { + p := new(CVSS_AttackVector) + *p = x + return p +} + +func (x CVSS_AttackVector) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CVSS_AttackVector) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_cvss_proto_enumTypes[7].Descriptor() +} + +func (CVSS_AttackVector) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_cvss_proto_enumTypes[7] +} + +func (x CVSS_AttackVector) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CVSS_AttackVector.Descriptor instead. +func (CVSS_AttackVector) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_cvss_proto_rawDescGZIP(), []int{1, 0} +} + +type CVSS_AttackComplexity int32 + +const ( + CVSS_ATTACK_COMPLEXITY_UNSPECIFIED CVSS_AttackComplexity = 0 + CVSS_ATTACK_COMPLEXITY_LOW CVSS_AttackComplexity = 1 + CVSS_ATTACK_COMPLEXITY_HIGH CVSS_AttackComplexity = 2 + CVSS_ATTACK_COMPLEXITY_MEDIUM CVSS_AttackComplexity = 3 +) + +// Enum value maps for CVSS_AttackComplexity. +var ( + CVSS_AttackComplexity_name = map[int32]string{ + 0: "ATTACK_COMPLEXITY_UNSPECIFIED", + 1: "ATTACK_COMPLEXITY_LOW", + 2: "ATTACK_COMPLEXITY_HIGH", + 3: "ATTACK_COMPLEXITY_MEDIUM", + } + CVSS_AttackComplexity_value = map[string]int32{ + "ATTACK_COMPLEXITY_UNSPECIFIED": 0, + "ATTACK_COMPLEXITY_LOW": 1, + "ATTACK_COMPLEXITY_HIGH": 2, + "ATTACK_COMPLEXITY_MEDIUM": 3, + } +) + +func (x CVSS_AttackComplexity) Enum() *CVSS_AttackComplexity { + p := new(CVSS_AttackComplexity) + *p = x + return p +} + +func (x CVSS_AttackComplexity) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CVSS_AttackComplexity) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_cvss_proto_enumTypes[8].Descriptor() +} + +func (CVSS_AttackComplexity) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_cvss_proto_enumTypes[8] +} + +func (x CVSS_AttackComplexity) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CVSS_AttackComplexity.Descriptor instead. +func (CVSS_AttackComplexity) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_cvss_proto_rawDescGZIP(), []int{1, 1} +} + +type CVSS_Authentication int32 + +const ( + CVSS_AUTHENTICATION_UNSPECIFIED CVSS_Authentication = 0 + CVSS_AUTHENTICATION_MULTIPLE CVSS_Authentication = 1 + CVSS_AUTHENTICATION_SINGLE CVSS_Authentication = 2 + CVSS_AUTHENTICATION_NONE CVSS_Authentication = 3 +) + +// Enum value maps for CVSS_Authentication. +var ( + CVSS_Authentication_name = map[int32]string{ + 0: "AUTHENTICATION_UNSPECIFIED", + 1: "AUTHENTICATION_MULTIPLE", + 2: "AUTHENTICATION_SINGLE", + 3: "AUTHENTICATION_NONE", + } + CVSS_Authentication_value = map[string]int32{ + "AUTHENTICATION_UNSPECIFIED": 0, + "AUTHENTICATION_MULTIPLE": 1, + "AUTHENTICATION_SINGLE": 2, + "AUTHENTICATION_NONE": 3, + } +) + +func (x CVSS_Authentication) Enum() *CVSS_Authentication { + p := new(CVSS_Authentication) + *p = x + return p +} + +func (x CVSS_Authentication) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CVSS_Authentication) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_cvss_proto_enumTypes[9].Descriptor() +} + +func (CVSS_Authentication) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_cvss_proto_enumTypes[9] +} + +func (x CVSS_Authentication) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CVSS_Authentication.Descriptor instead. +func (CVSS_Authentication) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_cvss_proto_rawDescGZIP(), []int{1, 2} +} + +type CVSS_PrivilegesRequired int32 + +const ( + CVSS_PRIVILEGES_REQUIRED_UNSPECIFIED CVSS_PrivilegesRequired = 0 + CVSS_PRIVILEGES_REQUIRED_NONE CVSS_PrivilegesRequired = 1 + CVSS_PRIVILEGES_REQUIRED_LOW CVSS_PrivilegesRequired = 2 + CVSS_PRIVILEGES_REQUIRED_HIGH CVSS_PrivilegesRequired = 3 +) + +// Enum value maps for CVSS_PrivilegesRequired. +var ( + CVSS_PrivilegesRequired_name = map[int32]string{ + 0: "PRIVILEGES_REQUIRED_UNSPECIFIED", + 1: "PRIVILEGES_REQUIRED_NONE", + 2: "PRIVILEGES_REQUIRED_LOW", + 3: "PRIVILEGES_REQUIRED_HIGH", + } + CVSS_PrivilegesRequired_value = map[string]int32{ + "PRIVILEGES_REQUIRED_UNSPECIFIED": 0, + "PRIVILEGES_REQUIRED_NONE": 1, + "PRIVILEGES_REQUIRED_LOW": 2, + "PRIVILEGES_REQUIRED_HIGH": 3, + } +) + +func (x CVSS_PrivilegesRequired) Enum() *CVSS_PrivilegesRequired { + p := new(CVSS_PrivilegesRequired) + *p = x + return p +} + +func (x CVSS_PrivilegesRequired) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CVSS_PrivilegesRequired) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_cvss_proto_enumTypes[10].Descriptor() +} + +func (CVSS_PrivilegesRequired) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_cvss_proto_enumTypes[10] +} + +func (x CVSS_PrivilegesRequired) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CVSS_PrivilegesRequired.Descriptor instead. +func (CVSS_PrivilegesRequired) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_cvss_proto_rawDescGZIP(), []int{1, 3} +} + +type CVSS_UserInteraction int32 + +const ( + CVSS_USER_INTERACTION_UNSPECIFIED CVSS_UserInteraction = 0 + CVSS_USER_INTERACTION_NONE CVSS_UserInteraction = 1 + CVSS_USER_INTERACTION_REQUIRED CVSS_UserInteraction = 2 +) + +// Enum value maps for CVSS_UserInteraction. +var ( + CVSS_UserInteraction_name = map[int32]string{ + 0: "USER_INTERACTION_UNSPECIFIED", + 1: "USER_INTERACTION_NONE", + 2: "USER_INTERACTION_REQUIRED", + } + CVSS_UserInteraction_value = map[string]int32{ + "USER_INTERACTION_UNSPECIFIED": 0, + "USER_INTERACTION_NONE": 1, + "USER_INTERACTION_REQUIRED": 2, + } +) + +func (x CVSS_UserInteraction) Enum() *CVSS_UserInteraction { + p := new(CVSS_UserInteraction) + *p = x + return p +} + +func (x CVSS_UserInteraction) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CVSS_UserInteraction) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_cvss_proto_enumTypes[11].Descriptor() +} + +func (CVSS_UserInteraction) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_cvss_proto_enumTypes[11] +} + +func (x CVSS_UserInteraction) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CVSS_UserInteraction.Descriptor instead. +func (CVSS_UserInteraction) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_cvss_proto_rawDescGZIP(), []int{1, 4} +} + +type CVSS_Scope int32 + +const ( + CVSS_SCOPE_UNSPECIFIED CVSS_Scope = 0 + CVSS_SCOPE_UNCHANGED CVSS_Scope = 1 + CVSS_SCOPE_CHANGED CVSS_Scope = 2 +) + +// Enum value maps for CVSS_Scope. +var ( + CVSS_Scope_name = map[int32]string{ + 0: "SCOPE_UNSPECIFIED", + 1: "SCOPE_UNCHANGED", + 2: "SCOPE_CHANGED", + } + CVSS_Scope_value = map[string]int32{ + "SCOPE_UNSPECIFIED": 0, + "SCOPE_UNCHANGED": 1, + "SCOPE_CHANGED": 2, + } +) + +func (x CVSS_Scope) Enum() *CVSS_Scope { + p := new(CVSS_Scope) + *p = x + return p +} + +func (x CVSS_Scope) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CVSS_Scope) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_cvss_proto_enumTypes[12].Descriptor() +} + +func (CVSS_Scope) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_cvss_proto_enumTypes[12] +} + +func (x CVSS_Scope) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CVSS_Scope.Descriptor instead. +func (CVSS_Scope) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_cvss_proto_rawDescGZIP(), []int{1, 5} +} + +type CVSS_Impact int32 + +const ( + CVSS_IMPACT_UNSPECIFIED CVSS_Impact = 0 + CVSS_IMPACT_HIGH CVSS_Impact = 1 + CVSS_IMPACT_LOW CVSS_Impact = 2 + CVSS_IMPACT_NONE CVSS_Impact = 3 + CVSS_IMPACT_PARTIAL CVSS_Impact = 4 + CVSS_IMPACT_COMPLETE CVSS_Impact = 5 +) + +// Enum value maps for CVSS_Impact. +var ( + CVSS_Impact_name = map[int32]string{ + 0: "IMPACT_UNSPECIFIED", + 1: "IMPACT_HIGH", + 2: "IMPACT_LOW", + 3: "IMPACT_NONE", + 4: "IMPACT_PARTIAL", + 5: "IMPACT_COMPLETE", + } + CVSS_Impact_value = map[string]int32{ + "IMPACT_UNSPECIFIED": 0, + "IMPACT_HIGH": 1, + "IMPACT_LOW": 2, + "IMPACT_NONE": 3, + "IMPACT_PARTIAL": 4, + "IMPACT_COMPLETE": 5, + } +) + +func (x CVSS_Impact) Enum() *CVSS_Impact { + p := new(CVSS_Impact) + *p = x + return p +} + +func (x CVSS_Impact) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CVSS_Impact) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_cvss_proto_enumTypes[13].Descriptor() +} + +func (CVSS_Impact) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_cvss_proto_enumTypes[13] +} + +func (x CVSS_Impact) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CVSS_Impact.Descriptor instead. +func (CVSS_Impact) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_cvss_proto_rawDescGZIP(), []int{1, 6} +} + +// Common Vulnerability Scoring System version 3. +// For details, see https://www.first.org/cvss/specification-document +type CVSSv3 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The base score is a function of the base metric scores. + BaseScore float32 `protobuf:"fixed32,1,opt,name=base_score,json=baseScore,proto3" json:"base_score,omitempty"` + ExploitabilityScore float32 `protobuf:"fixed32,2,opt,name=exploitability_score,json=exploitabilityScore,proto3" json:"exploitability_score,omitempty"` + ImpactScore float32 `protobuf:"fixed32,3,opt,name=impact_score,json=impactScore,proto3" json:"impact_score,omitempty"` + // Base Metrics + // Represents the intrinsic characteristics of a vulnerability that are + // constant over time and across user environments. + AttackVector CVSSv3_AttackVector `protobuf:"varint,5,opt,name=attack_vector,json=attackVector,proto3,enum=mockgrafeas.v1.CVSSv3_AttackVector" json:"attack_vector,omitempty"` + AttackComplexity CVSSv3_AttackComplexity `protobuf:"varint,6,opt,name=attack_complexity,json=attackComplexity,proto3,enum=mockgrafeas.v1.CVSSv3_AttackComplexity" json:"attack_complexity,omitempty"` + PrivilegesRequired CVSSv3_PrivilegesRequired `protobuf:"varint,7,opt,name=privileges_required,json=privilegesRequired,proto3,enum=mockgrafeas.v1.CVSSv3_PrivilegesRequired" json:"privileges_required,omitempty"` + UserInteraction CVSSv3_UserInteraction `protobuf:"varint,8,opt,name=user_interaction,json=userInteraction,proto3,enum=mockgrafeas.v1.CVSSv3_UserInteraction" json:"user_interaction,omitempty"` + Scope CVSSv3_Scope `protobuf:"varint,9,opt,name=scope,proto3,enum=mockgrafeas.v1.CVSSv3_Scope" json:"scope,omitempty"` + ConfidentialityImpact CVSSv3_Impact `protobuf:"varint,10,opt,name=confidentiality_impact,json=confidentialityImpact,proto3,enum=mockgrafeas.v1.CVSSv3_Impact" json:"confidentiality_impact,omitempty"` + IntegrityImpact CVSSv3_Impact `protobuf:"varint,11,opt,name=integrity_impact,json=integrityImpact,proto3,enum=mockgrafeas.v1.CVSSv3_Impact" json:"integrity_impact,omitempty"` + AvailabilityImpact CVSSv3_Impact `protobuf:"varint,12,opt,name=availability_impact,json=availabilityImpact,proto3,enum=mockgrafeas.v1.CVSSv3_Impact" json:"availability_impact,omitempty"` +} + +func (x *CVSSv3) Reset() { + *x = CVSSv3{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_cvss_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CVSSv3) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CVSSv3) ProtoMessage() {} + +func (x *CVSSv3) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_cvss_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CVSSv3.ProtoReflect.Descriptor instead. +func (*CVSSv3) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_cvss_proto_rawDescGZIP(), []int{0} +} + +func (x *CVSSv3) GetBaseScore() float32 { + if x != nil { + return x.BaseScore + } + return 0 +} + +func (x *CVSSv3) GetExploitabilityScore() float32 { + if x != nil { + return x.ExploitabilityScore + } + return 0 +} + +func (x *CVSSv3) GetImpactScore() float32 { + if x != nil { + return x.ImpactScore + } + return 0 +} + +func (x *CVSSv3) GetAttackVector() CVSSv3_AttackVector { + if x != nil { + return x.AttackVector + } + return CVSSv3_ATTACK_VECTOR_UNSPECIFIED +} + +func (x *CVSSv3) GetAttackComplexity() CVSSv3_AttackComplexity { + if x != nil { + return x.AttackComplexity + } + return CVSSv3_ATTACK_COMPLEXITY_UNSPECIFIED +} + +func (x *CVSSv3) GetPrivilegesRequired() CVSSv3_PrivilegesRequired { + if x != nil { + return x.PrivilegesRequired + } + return CVSSv3_PRIVILEGES_REQUIRED_UNSPECIFIED +} + +func (x *CVSSv3) GetUserInteraction() CVSSv3_UserInteraction { + if x != nil { + return x.UserInteraction + } + return CVSSv3_USER_INTERACTION_UNSPECIFIED +} + +func (x *CVSSv3) GetScope() CVSSv3_Scope { + if x != nil { + return x.Scope + } + return CVSSv3_SCOPE_UNSPECIFIED +} + +func (x *CVSSv3) GetConfidentialityImpact() CVSSv3_Impact { + if x != nil { + return x.ConfidentialityImpact + } + return CVSSv3_IMPACT_UNSPECIFIED +} + +func (x *CVSSv3) GetIntegrityImpact() CVSSv3_Impact { + if x != nil { + return x.IntegrityImpact + } + return CVSSv3_IMPACT_UNSPECIFIED +} + +func (x *CVSSv3) GetAvailabilityImpact() CVSSv3_Impact { + if x != nil { + return x.AvailabilityImpact + } + return CVSSv3_IMPACT_UNSPECIFIED +} + +// Common Vulnerability Scoring System. +// For details, see https://www.first.org/cvss/specification-document +// This is a message we will try to use for storing various versions of CVSS +// rather than making a separate proto for storing a specific version. +type CVSS struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The base score is a function of the base metric scores. + BaseScore float32 `protobuf:"fixed32,1,opt,name=base_score,json=baseScore,proto3" json:"base_score,omitempty"` + ExploitabilityScore float32 `protobuf:"fixed32,2,opt,name=exploitability_score,json=exploitabilityScore,proto3" json:"exploitability_score,omitempty"` + ImpactScore float32 `protobuf:"fixed32,3,opt,name=impact_score,json=impactScore,proto3" json:"impact_score,omitempty"` + // Base Metrics + // Represents the intrinsic characteristics of a vulnerability that are + // constant over time and across user environments. + AttackVector CVSS_AttackVector `protobuf:"varint,4,opt,name=attack_vector,json=attackVector,proto3,enum=mockgrafeas.v1.CVSS_AttackVector" json:"attack_vector,omitempty"` + AttackComplexity CVSS_AttackComplexity `protobuf:"varint,5,opt,name=attack_complexity,json=attackComplexity,proto3,enum=mockgrafeas.v1.CVSS_AttackComplexity" json:"attack_complexity,omitempty"` + Authentication CVSS_Authentication `protobuf:"varint,6,opt,name=authentication,proto3,enum=mockgrafeas.v1.CVSS_Authentication" json:"authentication,omitempty"` + PrivilegesRequired CVSS_PrivilegesRequired `protobuf:"varint,7,opt,name=privileges_required,json=privilegesRequired,proto3,enum=mockgrafeas.v1.CVSS_PrivilegesRequired" json:"privileges_required,omitempty"` + UserInteraction CVSS_UserInteraction `protobuf:"varint,8,opt,name=user_interaction,json=userInteraction,proto3,enum=mockgrafeas.v1.CVSS_UserInteraction" json:"user_interaction,omitempty"` + Scope CVSS_Scope `protobuf:"varint,9,opt,name=scope,proto3,enum=mockgrafeas.v1.CVSS_Scope" json:"scope,omitempty"` + ConfidentialityImpact CVSS_Impact `protobuf:"varint,10,opt,name=confidentiality_impact,json=confidentialityImpact,proto3,enum=mockgrafeas.v1.CVSS_Impact" json:"confidentiality_impact,omitempty"` + IntegrityImpact CVSS_Impact `protobuf:"varint,11,opt,name=integrity_impact,json=integrityImpact,proto3,enum=mockgrafeas.v1.CVSS_Impact" json:"integrity_impact,omitempty"` + AvailabilityImpact CVSS_Impact `protobuf:"varint,12,opt,name=availability_impact,json=availabilityImpact,proto3,enum=mockgrafeas.v1.CVSS_Impact" json:"availability_impact,omitempty"` +} + +func (x *CVSS) Reset() { + *x = CVSS{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_cvss_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CVSS) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CVSS) ProtoMessage() {} + +func (x *CVSS) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_cvss_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CVSS.ProtoReflect.Descriptor instead. +func (*CVSS) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_cvss_proto_rawDescGZIP(), []int{1} +} + +func (x *CVSS) GetBaseScore() float32 { + if x != nil { + return x.BaseScore + } + return 0 +} + +func (x *CVSS) GetExploitabilityScore() float32 { + if x != nil { + return x.ExploitabilityScore + } + return 0 +} + +func (x *CVSS) GetImpactScore() float32 { + if x != nil { + return x.ImpactScore + } + return 0 +} + +func (x *CVSS) GetAttackVector() CVSS_AttackVector { + if x != nil { + return x.AttackVector + } + return CVSS_ATTACK_VECTOR_UNSPECIFIED +} + +func (x *CVSS) GetAttackComplexity() CVSS_AttackComplexity { + if x != nil { + return x.AttackComplexity + } + return CVSS_ATTACK_COMPLEXITY_UNSPECIFIED +} + +func (x *CVSS) GetAuthentication() CVSS_Authentication { + if x != nil { + return x.Authentication + } + return CVSS_AUTHENTICATION_UNSPECIFIED +} + +func (x *CVSS) GetPrivilegesRequired() CVSS_PrivilegesRequired { + if x != nil { + return x.PrivilegesRequired + } + return CVSS_PRIVILEGES_REQUIRED_UNSPECIFIED +} + +func (x *CVSS) GetUserInteraction() CVSS_UserInteraction { + if x != nil { + return x.UserInteraction + } + return CVSS_USER_INTERACTION_UNSPECIFIED +} + +func (x *CVSS) GetScope() CVSS_Scope { + if x != nil { + return x.Scope + } + return CVSS_SCOPE_UNSPECIFIED +} + +func (x *CVSS) GetConfidentialityImpact() CVSS_Impact { + if x != nil { + return x.ConfidentialityImpact + } + return CVSS_IMPACT_UNSPECIFIED +} + +func (x *CVSS) GetIntegrityImpact() CVSS_Impact { + if x != nil { + return x.IntegrityImpact + } + return CVSS_IMPACT_UNSPECIFIED +} + +func (x *CVSS) GetAvailabilityImpact() CVSS_Impact { + if x != nil { + return x.AvailabilityImpact + } + return CVSS_IMPACT_UNSPECIFIED +} + +var File_mockgrafeas_v1_cvss_proto protoreflect.FileDescriptor + +var file_mockgrafeas_v1_cvss_proto_rawDesc = []byte{ + 0x0a, 0x19, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, + 0x2f, 0x63, 0x76, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x22, 0x9a, 0x0b, 0x0a, 0x06, + 0x43, 0x56, 0x53, 0x53, 0x76, 0x33, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x73, + 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x62, 0x61, 0x73, 0x65, + 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x69, 0x74, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x13, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x69, 0x74, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6d, 0x70, 0x61, + 0x63, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, + 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x61, + 0x74, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x56, 0x53, 0x53, 0x76, 0x33, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, + 0x6b, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x56, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x54, 0x0a, 0x11, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x5f, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x56, 0x53, 0x53, 0x76, 0x33, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x52, 0x10, 0x61, 0x74, 0x74, 0x61, 0x63, + 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x12, 0x5a, 0x0a, 0x13, 0x70, + 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, + 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x56, 0x53, 0x53, 0x76, 0x33, + 0x2e, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x52, 0x12, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x51, 0x0a, 0x10, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x26, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x56, 0x53, 0x53, 0x76, 0x33, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x05, 0x73, 0x63, + 0x6f, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x56, 0x53, 0x53, 0x76, + 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x54, + 0x0a, 0x16, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x5f, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x56, 0x53, 0x53, 0x76, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x52, 0x15, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6d, + 0x70, 0x61, 0x63, 0x74, 0x12, 0x48, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, + 0x79, 0x5f, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x56, 0x53, 0x53, 0x76, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x52, 0x0f, 0x69, + 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x4e, + 0x0a, 0x13, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, + 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x56, 0x53, + 0x53, 0x76, 0x33, 0x2e, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x52, 0x12, 0x61, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x22, 0x99, + 0x01, 0x0a, 0x0c, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, + 0x1d, 0x0a, 0x19, 0x41, 0x54, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, + 0x0a, 0x15, 0x41, 0x54, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, + 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x54, 0x54, + 0x41, 0x43, 0x4b, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x41, 0x44, 0x4a, 0x41, 0x43, + 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x54, 0x54, 0x41, 0x43, 0x4b, 0x5f, + 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x03, 0x12, 0x1a, + 0x0a, 0x16, 0x41, 0x54, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, + 0x50, 0x48, 0x59, 0x53, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x04, 0x22, 0x6c, 0x0a, 0x10, 0x41, 0x74, + 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x12, 0x21, + 0x0a, 0x1d, 0x41, 0x54, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x58, + 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x54, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x43, 0x4f, 0x4d, 0x50, + 0x4c, 0x45, 0x58, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, + 0x41, 0x54, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x58, 0x49, 0x54, + 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x02, 0x22, 0x92, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x69, + 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, + 0x23, 0x0a, 0x1f, 0x50, 0x52, 0x49, 0x56, 0x49, 0x4c, 0x45, 0x47, 0x45, 0x53, 0x5f, 0x52, 0x45, + 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x52, 0x49, 0x56, 0x49, 0x4c, 0x45, 0x47, + 0x45, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, + 0x10, 0x01, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x52, 0x49, 0x56, 0x49, 0x4c, 0x45, 0x47, 0x45, 0x53, + 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x12, + 0x1c, 0x0a, 0x18, 0x50, 0x52, 0x49, 0x56, 0x49, 0x4c, 0x45, 0x47, 0x45, 0x53, 0x5f, 0x52, 0x45, + 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x03, 0x22, 0x6d, 0x0a, + 0x0f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x20, 0x0a, 0x1c, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x41, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, + 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1d, 0x0a, + 0x19, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0x02, 0x22, 0x46, 0x0a, 0x05, + 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, + 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, + 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, + 0x45, 0x44, 0x10, 0x02, 0x22, 0x52, 0x0a, 0x06, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x16, + 0x0a, 0x12, 0x49, 0x4d, 0x50, 0x41, 0x43, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x4d, 0x50, 0x41, 0x43, 0x54, + 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x4d, 0x50, 0x41, 0x43, + 0x54, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x4d, 0x50, 0x41, 0x43, + 0x54, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x03, 0x22, 0xa1, 0x0d, 0x0a, 0x04, 0x43, 0x56, 0x53, + 0x53, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x62, 0x61, 0x73, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, + 0x12, 0x31, 0x0a, 0x14, 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x69, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, + 0x65, 0x78, 0x70, 0x6c, 0x6f, 0x69, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x53, 0x63, + 0x6f, 0x72, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x5f, 0x73, 0x63, + 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x69, 0x6d, 0x70, 0x61, 0x63, + 0x74, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x46, 0x0a, 0x0d, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, + 0x5f, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x56, 0x53, 0x53, 0x2e, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x52, 0x0c, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x52, + 0x0a, 0x11, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, + 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x56, 0x53, 0x53, 0x2e, + 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, + 0x52, 0x10, 0x61, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x69, + 0x74, 0x79, 0x12, 0x4b, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x56, 0x53, 0x53, + 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x0e, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x58, 0x0a, 0x13, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x56, + 0x53, 0x53, 0x2e, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x12, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x4f, 0x0a, 0x10, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x56, 0x53, 0x53, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, + 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x05, 0x73, 0x63, + 0x6f, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x56, 0x53, 0x53, 0x2e, + 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x52, 0x0a, 0x16, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, + 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x56, + 0x53, 0x53, 0x2e, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x52, 0x15, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, + 0x12, 0x46, 0x0a, 0x10, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6d, + 0x70, 0x61, 0x63, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x56, 0x53, 0x53, + 0x2e, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x52, 0x0f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, + 0x74, 0x79, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x4c, 0x0a, 0x13, 0x61, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, + 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x56, 0x53, 0x53, 0x2e, 0x49, 0x6d, 0x70, 0x61, + 0x63, 0x74, 0x52, 0x12, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x22, 0x99, 0x01, 0x0a, 0x0c, 0x41, 0x74, 0x74, 0x61, 0x63, + 0x6b, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x54, 0x54, 0x41, 0x43, + 0x4b, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x54, 0x54, 0x41, 0x43, 0x4b, + 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x10, + 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x54, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x56, 0x45, 0x43, 0x54, + 0x4f, 0x52, 0x5f, 0x41, 0x44, 0x4a, 0x41, 0x43, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x17, 0x0a, + 0x13, 0x41, 0x54, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x4c, + 0x4f, 0x43, 0x41, 0x4c, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x54, 0x54, 0x41, 0x43, 0x4b, + 0x5f, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x50, 0x48, 0x59, 0x53, 0x49, 0x43, 0x41, 0x4c, + 0x10, 0x04, 0x22, 0x8a, 0x01, 0x0a, 0x10, 0x41, 0x74, 0x74, 0x61, 0x63, 0x6b, 0x43, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x78, 0x69, 0x74, 0x79, 0x12, 0x21, 0x0a, 0x1d, 0x41, 0x54, 0x54, 0x41, 0x43, + 0x4b, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x58, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x54, + 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x58, 0x49, 0x54, 0x59, 0x5f, + 0x4c, 0x4f, 0x57, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x41, 0x54, 0x54, 0x41, 0x43, 0x4b, 0x5f, + 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x58, 0x49, 0x54, 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, + 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x54, 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x43, 0x4f, 0x4d, 0x50, + 0x4c, 0x45, 0x58, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x03, 0x22, + 0x81, 0x01, 0x0a, 0x0e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x1a, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x45, 0x10, 0x01, 0x12, + 0x19, 0x0a, 0x15, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x55, + 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, + 0x45, 0x10, 0x03, 0x22, 0x92, 0x01, 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x23, 0x0a, 0x1f, 0x50, 0x52, + 0x49, 0x56, 0x49, 0x4c, 0x45, 0x47, 0x45, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, + 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x1c, 0x0a, 0x18, 0x50, 0x52, 0x49, 0x56, 0x49, 0x4c, 0x45, 0x47, 0x45, 0x53, 0x5f, 0x52, 0x45, + 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1b, 0x0a, + 0x17, 0x50, 0x52, 0x49, 0x56, 0x49, 0x4c, 0x45, 0x47, 0x45, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, + 0x49, 0x52, 0x45, 0x44, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x52, + 0x49, 0x56, 0x49, 0x4c, 0x45, 0x47, 0x45, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, + 0x44, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x03, 0x22, 0x6d, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x1c, 0x55, + 0x53, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, + 0x15, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x55, 0x53, 0x45, 0x52, + 0x5f, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x51, + 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0x02, 0x22, 0x46, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x70, 0x65, + 0x12, 0x15, 0x0a, 0x11, 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x43, 0x4f, 0x50, 0x45, + 0x5f, 0x55, 0x4e, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, + 0x53, 0x43, 0x4f, 0x50, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x02, 0x22, + 0x7b, 0x0a, 0x06, 0x49, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x12, 0x49, 0x4d, 0x50, + 0x41, 0x43, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x4d, 0x50, 0x41, 0x43, 0x54, 0x5f, 0x48, 0x49, 0x47, 0x48, + 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x4d, 0x50, 0x41, 0x43, 0x54, 0x5f, 0x4c, 0x4f, 0x57, + 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x4d, 0x50, 0x41, 0x43, 0x54, 0x5f, 0x4e, 0x4f, 0x4e, + 0x45, 0x10, 0x03, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x4d, 0x50, 0x41, 0x43, 0x54, 0x5f, 0x50, 0x41, + 0x52, 0x54, 0x49, 0x41, 0x4c, 0x10, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4d, 0x50, 0x41, 0x43, + 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x05, 0x2a, 0x53, 0x0a, 0x0b, + 0x43, 0x56, 0x53, 0x53, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x43, + 0x56, 0x53, 0x53, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x56, 0x53, + 0x53, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x32, 0x10, 0x01, 0x12, 0x12, 0x0a, + 0x0e, 0x43, 0x56, 0x53, 0x53, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x33, 0x10, + 0x02, 0x42, 0x64, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, + 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x09, 0x43, 0x56, 0x53, 0x53, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, + 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0xa2, 0x02, 0x03, 0x47, 0x52, 0x41, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgrafeas_v1_cvss_proto_rawDescOnce sync.Once + file_mockgrafeas_v1_cvss_proto_rawDescData = file_mockgrafeas_v1_cvss_proto_rawDesc +) + +func file_mockgrafeas_v1_cvss_proto_rawDescGZIP() []byte { + file_mockgrafeas_v1_cvss_proto_rawDescOnce.Do(func() { + file_mockgrafeas_v1_cvss_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgrafeas_v1_cvss_proto_rawDescData) + }) + return file_mockgrafeas_v1_cvss_proto_rawDescData +} + +var file_mockgrafeas_v1_cvss_proto_enumTypes = make([]protoimpl.EnumInfo, 14) +var file_mockgrafeas_v1_cvss_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mockgrafeas_v1_cvss_proto_goTypes = []interface{}{ + (CVSSVersion)(0), // 0: mockgrafeas.v1.CVSSVersion + (CVSSv3_AttackVector)(0), // 1: mockgrafeas.v1.CVSSv3.AttackVector + (CVSSv3_AttackComplexity)(0), // 2: mockgrafeas.v1.CVSSv3.AttackComplexity + (CVSSv3_PrivilegesRequired)(0), // 3: mockgrafeas.v1.CVSSv3.PrivilegesRequired + (CVSSv3_UserInteraction)(0), // 4: mockgrafeas.v1.CVSSv3.UserInteraction + (CVSSv3_Scope)(0), // 5: mockgrafeas.v1.CVSSv3.Scope + (CVSSv3_Impact)(0), // 6: mockgrafeas.v1.CVSSv3.Impact + (CVSS_AttackVector)(0), // 7: mockgrafeas.v1.CVSS.AttackVector + (CVSS_AttackComplexity)(0), // 8: mockgrafeas.v1.CVSS.AttackComplexity + (CVSS_Authentication)(0), // 9: mockgrafeas.v1.CVSS.Authentication + (CVSS_PrivilegesRequired)(0), // 10: mockgrafeas.v1.CVSS.PrivilegesRequired + (CVSS_UserInteraction)(0), // 11: mockgrafeas.v1.CVSS.UserInteraction + (CVSS_Scope)(0), // 12: mockgrafeas.v1.CVSS.Scope + (CVSS_Impact)(0), // 13: mockgrafeas.v1.CVSS.Impact + (*CVSSv3)(nil), // 14: mockgrafeas.v1.CVSSv3 + (*CVSS)(nil), // 15: mockgrafeas.v1.CVSS +} +var file_mockgrafeas_v1_cvss_proto_depIdxs = []int32{ + 1, // 0: mockgrafeas.v1.CVSSv3.attack_vector:type_name -> mockgrafeas.v1.CVSSv3.AttackVector + 2, // 1: mockgrafeas.v1.CVSSv3.attack_complexity:type_name -> mockgrafeas.v1.CVSSv3.AttackComplexity + 3, // 2: mockgrafeas.v1.CVSSv3.privileges_required:type_name -> mockgrafeas.v1.CVSSv3.PrivilegesRequired + 4, // 3: mockgrafeas.v1.CVSSv3.user_interaction:type_name -> mockgrafeas.v1.CVSSv3.UserInteraction + 5, // 4: mockgrafeas.v1.CVSSv3.scope:type_name -> mockgrafeas.v1.CVSSv3.Scope + 6, // 5: mockgrafeas.v1.CVSSv3.confidentiality_impact:type_name -> mockgrafeas.v1.CVSSv3.Impact + 6, // 6: mockgrafeas.v1.CVSSv3.integrity_impact:type_name -> mockgrafeas.v1.CVSSv3.Impact + 6, // 7: mockgrafeas.v1.CVSSv3.availability_impact:type_name -> mockgrafeas.v1.CVSSv3.Impact + 7, // 8: mockgrafeas.v1.CVSS.attack_vector:type_name -> mockgrafeas.v1.CVSS.AttackVector + 8, // 9: mockgrafeas.v1.CVSS.attack_complexity:type_name -> mockgrafeas.v1.CVSS.AttackComplexity + 9, // 10: mockgrafeas.v1.CVSS.authentication:type_name -> mockgrafeas.v1.CVSS.Authentication + 10, // 11: mockgrafeas.v1.CVSS.privileges_required:type_name -> mockgrafeas.v1.CVSS.PrivilegesRequired + 11, // 12: mockgrafeas.v1.CVSS.user_interaction:type_name -> mockgrafeas.v1.CVSS.UserInteraction + 12, // 13: mockgrafeas.v1.CVSS.scope:type_name -> mockgrafeas.v1.CVSS.Scope + 13, // 14: mockgrafeas.v1.CVSS.confidentiality_impact:type_name -> mockgrafeas.v1.CVSS.Impact + 13, // 15: mockgrafeas.v1.CVSS.integrity_impact:type_name -> mockgrafeas.v1.CVSS.Impact + 13, // 16: mockgrafeas.v1.CVSS.availability_impact:type_name -> mockgrafeas.v1.CVSS.Impact + 17, // [17:17] is the sub-list for method output_type + 17, // [17:17] is the sub-list for method input_type + 17, // [17:17] is the sub-list for extension type_name + 17, // [17:17] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name +} + +func init() { file_mockgrafeas_v1_cvss_proto_init() } +func file_mockgrafeas_v1_cvss_proto_init() { + if File_mockgrafeas_v1_cvss_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgrafeas_v1_cvss_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CVSSv3); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_cvss_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CVSS); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgrafeas_v1_cvss_proto_rawDesc, + NumEnums: 14, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgrafeas_v1_cvss_proto_goTypes, + DependencyIndexes: file_mockgrafeas_v1_cvss_proto_depIdxs, + EnumInfos: file_mockgrafeas_v1_cvss_proto_enumTypes, + MessageInfos: file_mockgrafeas_v1_cvss_proto_msgTypes, + }.Build() + File_mockgrafeas_v1_cvss_proto = out.File + file_mockgrafeas_v1_cvss_proto_rawDesc = nil + file_mockgrafeas_v1_cvss_proto_goTypes = nil + file_mockgrafeas_v1_cvss_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgrafeas/v1/deployment.pb.go b/mockgcp/generated/mockgrafeas/v1/deployment.pb.go new file mode 100644 index 0000000000..b205a813b0 --- /dev/null +++ b/mockgcp/generated/mockgrafeas/v1/deployment.pb.go @@ -0,0 +1,375 @@ +// Copyright 2019 The Grafeas Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgrafeas/v1/deployment.proto + +package grafeas + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Types of platforms. +type DeploymentOccurrence_Platform int32 + +const ( + // Unknown. + DeploymentOccurrence_PLATFORM_UNSPECIFIED DeploymentOccurrence_Platform = 0 + // Google Container Engine. + DeploymentOccurrence_GKE DeploymentOccurrence_Platform = 1 + // Google App Engine: Flexible Environment. + DeploymentOccurrence_FLEX DeploymentOccurrence_Platform = 2 + // Custom user-defined platform. + DeploymentOccurrence_CUSTOM DeploymentOccurrence_Platform = 3 +) + +// Enum value maps for DeploymentOccurrence_Platform. +var ( + DeploymentOccurrence_Platform_name = map[int32]string{ + 0: "PLATFORM_UNSPECIFIED", + 1: "GKE", + 2: "FLEX", + 3: "CUSTOM", + } + DeploymentOccurrence_Platform_value = map[string]int32{ + "PLATFORM_UNSPECIFIED": 0, + "GKE": 1, + "FLEX": 2, + "CUSTOM": 3, + } +) + +func (x DeploymentOccurrence_Platform) Enum() *DeploymentOccurrence_Platform { + p := new(DeploymentOccurrence_Platform) + *p = x + return p +} + +func (x DeploymentOccurrence_Platform) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DeploymentOccurrence_Platform) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_deployment_proto_enumTypes[0].Descriptor() +} + +func (DeploymentOccurrence_Platform) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_deployment_proto_enumTypes[0] +} + +func (x DeploymentOccurrence_Platform) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DeploymentOccurrence_Platform.Descriptor instead. +func (DeploymentOccurrence_Platform) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_deployment_proto_rawDescGZIP(), []int{1, 0} +} + +// An artifact that can be deployed in some runtime. +type DeploymentNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Resource URI for the artifact being deployed. + ResourceUri []string `protobuf:"bytes,1,rep,name=resource_uri,json=resourceUri,proto3" json:"resource_uri,omitempty"` +} + +func (x *DeploymentNote) Reset() { + *x = DeploymentNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_deployment_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeploymentNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeploymentNote) ProtoMessage() {} + +func (x *DeploymentNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_deployment_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeploymentNote.ProtoReflect.Descriptor instead. +func (*DeploymentNote) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_deployment_proto_rawDescGZIP(), []int{0} +} + +func (x *DeploymentNote) GetResourceUri() []string { + if x != nil { + return x.ResourceUri + } + return nil +} + +// The period during which some deployable was active in a runtime. +type DeploymentOccurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identity of the user that triggered this deployment. + UserEmail string `protobuf:"bytes,1,opt,name=user_email,json=userEmail,proto3" json:"user_email,omitempty"` + // Required. Beginning of the lifetime of this deployment. + DeployTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=deploy_time,json=deployTime,proto3" json:"deploy_time,omitempty"` + // End of the lifetime of this deployment. + UndeployTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=undeploy_time,json=undeployTime,proto3" json:"undeploy_time,omitempty"` + // Configuration used to create this deployment. + Config string `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"` + // Address of the runtime element hosting this deployment. + Address string `protobuf:"bytes,5,opt,name=address,proto3" json:"address,omitempty"` + // Output only. Resource URI for the artifact being deployed taken from + // the deployable field with the same name. + ResourceUri []string `protobuf:"bytes,6,rep,name=resource_uri,json=resourceUri,proto3" json:"resource_uri,omitempty"` + // Platform hosting this deployment. + Platform DeploymentOccurrence_Platform `protobuf:"varint,7,opt,name=platform,proto3,enum=mockgrafeas.v1.DeploymentOccurrence_Platform" json:"platform,omitempty"` +} + +func (x *DeploymentOccurrence) Reset() { + *x = DeploymentOccurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_deployment_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeploymentOccurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeploymentOccurrence) ProtoMessage() {} + +func (x *DeploymentOccurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_deployment_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeploymentOccurrence.ProtoReflect.Descriptor instead. +func (*DeploymentOccurrence) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_deployment_proto_rawDescGZIP(), []int{1} +} + +func (x *DeploymentOccurrence) GetUserEmail() string { + if x != nil { + return x.UserEmail + } + return "" +} + +func (x *DeploymentOccurrence) GetDeployTime() *timestamp.Timestamp { + if x != nil { + return x.DeployTime + } + return nil +} + +func (x *DeploymentOccurrence) GetUndeployTime() *timestamp.Timestamp { + if x != nil { + return x.UndeployTime + } + return nil +} + +func (x *DeploymentOccurrence) GetConfig() string { + if x != nil { + return x.Config + } + return "" +} + +func (x *DeploymentOccurrence) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *DeploymentOccurrence) GetResourceUri() []string { + if x != nil { + return x.ResourceUri + } + return nil +} + +func (x *DeploymentOccurrence) GetPlatform() DeploymentOccurrence_Platform { + if x != nil { + return x.Platform + } + return DeploymentOccurrence_PLATFORM_UNSPECIFIED +} + +var File_mockgrafeas_v1_deployment_proto protoreflect.FileDescriptor + +var file_mockgrafeas_v1_deployment_proto_rawDesc = []byte{ + 0x0a, 0x1f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, + 0x2f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x0e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, + 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x33, 0x0a, 0x0e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x69, 0x22, 0x98, 0x03, 0x0a, 0x14, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, + 0x3b, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x0d, + 0x75, 0x6e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x0c, 0x75, 0x6e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, + 0x72, 0x69, 0x12, 0x49, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, + 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x43, 0x0a, + 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, 0x0a, 0x14, 0x50, 0x4c, 0x41, + 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x47, 0x4b, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, + 0x46, 0x4c, 0x45, 0x58, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, + 0x10, 0x03, 0x42, 0x59, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, + 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x3b, + 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0xa2, 0x02, 0x03, 0x47, 0x52, 0x41, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgrafeas_v1_deployment_proto_rawDescOnce sync.Once + file_mockgrafeas_v1_deployment_proto_rawDescData = file_mockgrafeas_v1_deployment_proto_rawDesc +) + +func file_mockgrafeas_v1_deployment_proto_rawDescGZIP() []byte { + file_mockgrafeas_v1_deployment_proto_rawDescOnce.Do(func() { + file_mockgrafeas_v1_deployment_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgrafeas_v1_deployment_proto_rawDescData) + }) + return file_mockgrafeas_v1_deployment_proto_rawDescData +} + +var file_mockgrafeas_v1_deployment_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgrafeas_v1_deployment_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_mockgrafeas_v1_deployment_proto_goTypes = []interface{}{ + (DeploymentOccurrence_Platform)(0), // 0: mockgrafeas.v1.DeploymentOccurrence.Platform + (*DeploymentNote)(nil), // 1: mockgrafeas.v1.DeploymentNote + (*DeploymentOccurrence)(nil), // 2: mockgrafeas.v1.DeploymentOccurrence + (*timestamp.Timestamp)(nil), // 3: google.protobuf.Timestamp +} +var file_mockgrafeas_v1_deployment_proto_depIdxs = []int32{ + 3, // 0: mockgrafeas.v1.DeploymentOccurrence.deploy_time:type_name -> google.protobuf.Timestamp + 3, // 1: mockgrafeas.v1.DeploymentOccurrence.undeploy_time:type_name -> google.protobuf.Timestamp + 0, // 2: mockgrafeas.v1.DeploymentOccurrence.platform:type_name -> mockgrafeas.v1.DeploymentOccurrence.Platform + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_mockgrafeas_v1_deployment_proto_init() } +func file_mockgrafeas_v1_deployment_proto_init() { + if File_mockgrafeas_v1_deployment_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgrafeas_v1_deployment_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeploymentNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_deployment_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeploymentOccurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgrafeas_v1_deployment_proto_rawDesc, + NumEnums: 1, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgrafeas_v1_deployment_proto_goTypes, + DependencyIndexes: file_mockgrafeas_v1_deployment_proto_depIdxs, + EnumInfos: file_mockgrafeas_v1_deployment_proto_enumTypes, + MessageInfos: file_mockgrafeas_v1_deployment_proto_msgTypes, + }.Build() + File_mockgrafeas_v1_deployment_proto = out.File + file_mockgrafeas_v1_deployment_proto_rawDesc = nil + file_mockgrafeas_v1_deployment_proto_goTypes = nil + file_mockgrafeas_v1_deployment_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgrafeas/v1/discovery.pb.go b/mockgcp/generated/mockgrafeas/v1/discovery.pb.go new file mode 100644 index 0000000000..3d78ab9e98 --- /dev/null +++ b/mockgcp/generated/mockgrafeas/v1/discovery.pb.go @@ -0,0 +1,721 @@ +// Copyright 2019 The Grafeas Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgrafeas/v1/discovery.proto + +package grafeas + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + status "google.golang.org/genproto/googleapis/rpc/status" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Whether the resource is continuously analyzed. +type DiscoveryOccurrence_ContinuousAnalysis int32 + +const ( + // Unknown. + DiscoveryOccurrence_CONTINUOUS_ANALYSIS_UNSPECIFIED DiscoveryOccurrence_ContinuousAnalysis = 0 + // The resource is continuously analyzed. + DiscoveryOccurrence_ACTIVE DiscoveryOccurrence_ContinuousAnalysis = 1 + // The resource is ignored for continuous analysis. + DiscoveryOccurrence_INACTIVE DiscoveryOccurrence_ContinuousAnalysis = 2 +) + +// Enum value maps for DiscoveryOccurrence_ContinuousAnalysis. +var ( + DiscoveryOccurrence_ContinuousAnalysis_name = map[int32]string{ + 0: "CONTINUOUS_ANALYSIS_UNSPECIFIED", + 1: "ACTIVE", + 2: "INACTIVE", + } + DiscoveryOccurrence_ContinuousAnalysis_value = map[string]int32{ + "CONTINUOUS_ANALYSIS_UNSPECIFIED": 0, + "ACTIVE": 1, + "INACTIVE": 2, + } +) + +func (x DiscoveryOccurrence_ContinuousAnalysis) Enum() *DiscoveryOccurrence_ContinuousAnalysis { + p := new(DiscoveryOccurrence_ContinuousAnalysis) + *p = x + return p +} + +func (x DiscoveryOccurrence_ContinuousAnalysis) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DiscoveryOccurrence_ContinuousAnalysis) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_discovery_proto_enumTypes[0].Descriptor() +} + +func (DiscoveryOccurrence_ContinuousAnalysis) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_discovery_proto_enumTypes[0] +} + +func (x DiscoveryOccurrence_ContinuousAnalysis) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DiscoveryOccurrence_ContinuousAnalysis.Descriptor instead. +func (DiscoveryOccurrence_ContinuousAnalysis) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_discovery_proto_rawDescGZIP(), []int{1, 0} +} + +// Analysis status for a resource. Currently for initial analysis only (not +// updated in continuous analysis). +type DiscoveryOccurrence_AnalysisStatus int32 + +const ( + // Unknown. + DiscoveryOccurrence_ANALYSIS_STATUS_UNSPECIFIED DiscoveryOccurrence_AnalysisStatus = 0 + // Resource is known but no action has been taken yet. + DiscoveryOccurrence_PENDING DiscoveryOccurrence_AnalysisStatus = 1 + // Resource is being analyzed. + DiscoveryOccurrence_SCANNING DiscoveryOccurrence_AnalysisStatus = 2 + // Analysis has finished successfully. + DiscoveryOccurrence_FINISHED_SUCCESS DiscoveryOccurrence_AnalysisStatus = 3 + // Analysis has completed. + DiscoveryOccurrence_COMPLETE DiscoveryOccurrence_AnalysisStatus = 3 + // Analysis has finished unsuccessfully, the analysis itself is in a bad + // state. + DiscoveryOccurrence_FINISHED_FAILED DiscoveryOccurrence_AnalysisStatus = 4 + // The resource is known not to be supported. + DiscoveryOccurrence_FINISHED_UNSUPPORTED DiscoveryOccurrence_AnalysisStatus = 5 +) + +// Enum value maps for DiscoveryOccurrence_AnalysisStatus. +var ( + DiscoveryOccurrence_AnalysisStatus_name = map[int32]string{ + 0: "ANALYSIS_STATUS_UNSPECIFIED", + 1: "PENDING", + 2: "SCANNING", + 3: "FINISHED_SUCCESS", + // Duplicate value: 3: "COMPLETE", + 4: "FINISHED_FAILED", + 5: "FINISHED_UNSUPPORTED", + } + DiscoveryOccurrence_AnalysisStatus_value = map[string]int32{ + "ANALYSIS_STATUS_UNSPECIFIED": 0, + "PENDING": 1, + "SCANNING": 2, + "FINISHED_SUCCESS": 3, + "COMPLETE": 3, + "FINISHED_FAILED": 4, + "FINISHED_UNSUPPORTED": 5, + } +) + +func (x DiscoveryOccurrence_AnalysisStatus) Enum() *DiscoveryOccurrence_AnalysisStatus { + p := new(DiscoveryOccurrence_AnalysisStatus) + *p = x + return p +} + +func (x DiscoveryOccurrence_AnalysisStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DiscoveryOccurrence_AnalysisStatus) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_discovery_proto_enumTypes[1].Descriptor() +} + +func (DiscoveryOccurrence_AnalysisStatus) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_discovery_proto_enumTypes[1] +} + +func (x DiscoveryOccurrence_AnalysisStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DiscoveryOccurrence_AnalysisStatus.Descriptor instead. +func (DiscoveryOccurrence_AnalysisStatus) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_discovery_proto_rawDescGZIP(), []int{1, 1} +} + +// An enum indicating the progress of the SBOM generation. +type DiscoveryOccurrence_SBOMStatus_SBOMState int32 + +const ( + // Default unknown state. + DiscoveryOccurrence_SBOMStatus_SBOM_STATE_UNSPECIFIED DiscoveryOccurrence_SBOMStatus_SBOMState = 0 + // SBOM scanning is pending. + DiscoveryOccurrence_SBOMStatus_PENDING DiscoveryOccurrence_SBOMStatus_SBOMState = 1 + // SBOM scanning has completed. + DiscoveryOccurrence_SBOMStatus_COMPLETE DiscoveryOccurrence_SBOMStatus_SBOMState = 2 +) + +// Enum value maps for DiscoveryOccurrence_SBOMStatus_SBOMState. +var ( + DiscoveryOccurrence_SBOMStatus_SBOMState_name = map[int32]string{ + 0: "SBOM_STATE_UNSPECIFIED", + 1: "PENDING", + 2: "COMPLETE", + } + DiscoveryOccurrence_SBOMStatus_SBOMState_value = map[string]int32{ + "SBOM_STATE_UNSPECIFIED": 0, + "PENDING": 1, + "COMPLETE": 2, + } +) + +func (x DiscoveryOccurrence_SBOMStatus_SBOMState) Enum() *DiscoveryOccurrence_SBOMStatus_SBOMState { + p := new(DiscoveryOccurrence_SBOMStatus_SBOMState) + *p = x + return p +} + +func (x DiscoveryOccurrence_SBOMStatus_SBOMState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DiscoveryOccurrence_SBOMStatus_SBOMState) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_discovery_proto_enumTypes[2].Descriptor() +} + +func (DiscoveryOccurrence_SBOMStatus_SBOMState) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_discovery_proto_enumTypes[2] +} + +func (x DiscoveryOccurrence_SBOMStatus_SBOMState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DiscoveryOccurrence_SBOMStatus_SBOMState.Descriptor instead. +func (DiscoveryOccurrence_SBOMStatus_SBOMState) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_discovery_proto_rawDescGZIP(), []int{1, 1, 0} +} + +// A note that indicates a type of analysis a provider would perform. This note +// exists in a provider's project. A `Discovery` occurrence is created in a +// consumer's project at the start of analysis. +type DiscoveryNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Immutable. The kind of analysis that is handled by this + // discovery. + AnalysisKind NoteKind `protobuf:"varint,1,opt,name=analysis_kind,json=analysisKind,proto3,enum=mockgrafeas.v1.NoteKind" json:"analysis_kind,omitempty"` +} + +func (x *DiscoveryNote) Reset() { + *x = DiscoveryNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_discovery_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiscoveryNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscoveryNote) ProtoMessage() {} + +func (x *DiscoveryNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_discovery_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiscoveryNote.ProtoReflect.Descriptor instead. +func (*DiscoveryNote) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_discovery_proto_rawDescGZIP(), []int{0} +} + +func (x *DiscoveryNote) GetAnalysisKind() NoteKind { + if x != nil { + return x.AnalysisKind + } + return NoteKind_NOTE_KIND_UNSPECIFIED +} + +// Provides information about the analysis status of a discovered resource. +type DiscoveryOccurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Whether the resource is continuously analyzed. + ContinuousAnalysis DiscoveryOccurrence_ContinuousAnalysis `protobuf:"varint,1,opt,name=continuous_analysis,json=continuousAnalysis,proto3,enum=mockgrafeas.v1.DiscoveryOccurrence_ContinuousAnalysis" json:"continuous_analysis,omitempty"` + // The status of discovery for the resource. + AnalysisStatus DiscoveryOccurrence_AnalysisStatus `protobuf:"varint,2,opt,name=analysis_status,json=analysisStatus,proto3,enum=mockgrafeas.v1.DiscoveryOccurrence_AnalysisStatus" json:"analysis_status,omitempty"` + AnalysisCompleted *DiscoveryOccurrence_AnalysisCompleted `protobuf:"bytes,7,opt,name=analysis_completed,json=analysisCompleted,proto3" json:"analysis_completed,omitempty"` + // Indicates any errors encountered during analysis of a resource. There + // could be 0 or more of these errors. + AnalysisError []*status.Status `protobuf:"bytes,8,rep,name=analysis_error,json=analysisError,proto3" json:"analysis_error,omitempty"` + // When an error is encountered this will contain a LocalizedMessage under + // details to show to the user. The LocalizedMessage is output only and + // populated by the API. + AnalysisStatusError *status.Status `protobuf:"bytes,3,opt,name=analysis_status_error,json=analysisStatusError,proto3" json:"analysis_status_error,omitempty"` + // The CPE of the resource being scanned. + Cpe string `protobuf:"bytes,4,opt,name=cpe,proto3" json:"cpe,omitempty"` + // The last time this resource was scanned. + LastScanTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=last_scan_time,json=lastScanTime,proto3" json:"last_scan_time,omitempty"` + // The time occurrences related to this discovery occurrence were archived. + ArchiveTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=archive_time,json=archiveTime,proto3" json:"archive_time,omitempty"` + // The status of an SBOM generation. + SbomStatus *DiscoveryOccurrence_SBOMStatus `protobuf:"bytes,9,opt,name=sbom_status,json=sbomStatus,proto3" json:"sbom_status,omitempty"` +} + +func (x *DiscoveryOccurrence) Reset() { + *x = DiscoveryOccurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_discovery_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiscoveryOccurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscoveryOccurrence) ProtoMessage() {} + +func (x *DiscoveryOccurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_discovery_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiscoveryOccurrence.ProtoReflect.Descriptor instead. +func (*DiscoveryOccurrence) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_discovery_proto_rawDescGZIP(), []int{1} +} + +func (x *DiscoveryOccurrence) GetContinuousAnalysis() DiscoveryOccurrence_ContinuousAnalysis { + if x != nil { + return x.ContinuousAnalysis + } + return DiscoveryOccurrence_CONTINUOUS_ANALYSIS_UNSPECIFIED +} + +func (x *DiscoveryOccurrence) GetAnalysisStatus() DiscoveryOccurrence_AnalysisStatus { + if x != nil { + return x.AnalysisStatus + } + return DiscoveryOccurrence_ANALYSIS_STATUS_UNSPECIFIED +} + +func (x *DiscoveryOccurrence) GetAnalysisCompleted() *DiscoveryOccurrence_AnalysisCompleted { + if x != nil { + return x.AnalysisCompleted + } + return nil +} + +func (x *DiscoveryOccurrence) GetAnalysisError() []*status.Status { + if x != nil { + return x.AnalysisError + } + return nil +} + +func (x *DiscoveryOccurrence) GetAnalysisStatusError() *status.Status { + if x != nil { + return x.AnalysisStatusError + } + return nil +} + +func (x *DiscoveryOccurrence) GetCpe() string { + if x != nil { + return x.Cpe + } + return "" +} + +func (x *DiscoveryOccurrence) GetLastScanTime() *timestamp.Timestamp { + if x != nil { + return x.LastScanTime + } + return nil +} + +func (x *DiscoveryOccurrence) GetArchiveTime() *timestamp.Timestamp { + if x != nil { + return x.ArchiveTime + } + return nil +} + +func (x *DiscoveryOccurrence) GetSbomStatus() *DiscoveryOccurrence_SBOMStatus { + if x != nil { + return x.SbomStatus + } + return nil +} + +// Indicates which analysis completed successfully. Multiple types of +// analysis can be performed on a single resource. +type DiscoveryOccurrence_AnalysisCompleted struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AnalysisType []string `protobuf:"bytes,1,rep,name=analysis_type,json=analysisType,proto3" json:"analysis_type,omitempty"` +} + +func (x *DiscoveryOccurrence_AnalysisCompleted) Reset() { + *x = DiscoveryOccurrence_AnalysisCompleted{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_discovery_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiscoveryOccurrence_AnalysisCompleted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscoveryOccurrence_AnalysisCompleted) ProtoMessage() {} + +func (x *DiscoveryOccurrence_AnalysisCompleted) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_discovery_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiscoveryOccurrence_AnalysisCompleted.ProtoReflect.Descriptor instead. +func (*DiscoveryOccurrence_AnalysisCompleted) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_discovery_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *DiscoveryOccurrence_AnalysisCompleted) GetAnalysisType() []string { + if x != nil { + return x.AnalysisType + } + return nil +} + +// The status of an SBOM generation. +type DiscoveryOccurrence_SBOMStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The progress of the SBOM generation. + SbomState DiscoveryOccurrence_SBOMStatus_SBOMState `protobuf:"varint,1,opt,name=sbom_state,json=sbomState,proto3,enum=mockgrafeas.v1.DiscoveryOccurrence_SBOMStatus_SBOMState" json:"sbom_state,omitempty"` + // If there was an error generating an SBOM, this will indicate what that + // error was. + Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *DiscoveryOccurrence_SBOMStatus) Reset() { + *x = DiscoveryOccurrence_SBOMStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_discovery_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DiscoveryOccurrence_SBOMStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DiscoveryOccurrence_SBOMStatus) ProtoMessage() {} + +func (x *DiscoveryOccurrence_SBOMStatus) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_discovery_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DiscoveryOccurrence_SBOMStatus.ProtoReflect.Descriptor instead. +func (*DiscoveryOccurrence_SBOMStatus) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_discovery_proto_rawDescGZIP(), []int{1, 1} +} + +func (x *DiscoveryOccurrence_SBOMStatus) GetSbomState() DiscoveryOccurrence_SBOMStatus_SBOMState { + if x != nil { + return x.SbomState + } + return DiscoveryOccurrence_SBOMStatus_SBOM_STATE_UNSPECIFIED +} + +func (x *DiscoveryOccurrence_SBOMStatus) GetError() string { + if x != nil { + return x.Error + } + return "" +} + +var File_mockgrafeas_v1_discovery_proto protoreflect.FileDescriptor + +var file_mockgrafeas_v1_discovery_proto_rawDesc = []byte{ + 0x0a, 0x1e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, + 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x0e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, + 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x4e, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x63, + 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x3d, 0x0a, 0x0d, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x0c, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x4b, 0x69, 0x6e, 0x64, 0x22, 0xa4, 0x09, 0x0a, 0x13, 0x44, 0x69, 0x73, + 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x12, 0x67, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x5f, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, 0x73, 0x41, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, 0x75, + 0x73, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x5b, 0x0a, 0x0f, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x63, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0e, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x64, 0x0a, 0x12, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x63, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, + 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x52, 0x11, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x0e, + 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x08, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, + 0x69, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x46, 0x0a, 0x15, 0x61, 0x6e, 0x61, 0x6c, 0x79, + 0x73, 0x69, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x13, 0x61, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, + 0x10, 0x0a, 0x03, 0x63, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x70, + 0x65, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x61, 0x6e, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73, 0x74, 0x53, 0x63, 0x61, 0x6e, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x0b, 0x73, 0x62, 0x6f, 0x6d, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, + 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x2e, 0x53, 0x42, 0x4f, 0x4d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0a, 0x73, 0x62, + 0x6f, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x1a, 0x38, 0x0a, 0x11, 0x41, 0x6e, 0x61, 0x6c, + 0x79, 0x73, 0x69, 0x73, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x23, 0x0a, + 0x0d, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x54, 0x79, + 0x70, 0x65, 0x1a, 0xbf, 0x01, 0x0a, 0x0a, 0x53, 0x42, 0x4f, 0x4d, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x57, 0x0a, 0x0a, 0x73, 0x62, 0x6f, 0x6d, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, + 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, + 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x53, 0x42, 0x4f, 0x4d, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x53, 0x42, 0x4f, 0x4d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, + 0x09, 0x73, 0x62, 0x6f, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x22, 0x42, 0x0a, 0x09, 0x53, 0x42, 0x4f, 0x4d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, + 0x16, 0x53, 0x42, 0x4f, 0x4d, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, + 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, + 0x54, 0x45, 0x10, 0x02, 0x22, 0x53, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x6f, + 0x75, 0x73, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x23, 0x0a, 0x1f, 0x43, 0x4f, + 0x4e, 0x54, 0x49, 0x4e, 0x55, 0x4f, 0x55, 0x53, 0x5f, 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x53, 0x49, + 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x49, + 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x22, 0xa3, 0x01, 0x0a, 0x0e, 0x41, 0x6e, + 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x0a, 0x1b, + 0x41, 0x4e, 0x41, 0x4c, 0x59, 0x53, 0x49, 0x53, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, + 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x43, + 0x41, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x49, 0x4e, 0x49, + 0x53, 0x48, 0x45, 0x44, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x03, 0x12, 0x0c, + 0x0a, 0x08, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, + 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, + 0x04, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x49, 0x4e, 0x49, 0x53, 0x48, 0x45, 0x44, 0x5f, 0x55, 0x4e, + 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x05, 0x1a, 0x02, 0x10, 0x01, 0x42, + 0x59, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, + 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x67, 0x72, 0x61, + 0x66, 0x65, 0x61, 0x73, 0xa2, 0x02, 0x03, 0x47, 0x52, 0x41, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_mockgrafeas_v1_discovery_proto_rawDescOnce sync.Once + file_mockgrafeas_v1_discovery_proto_rawDescData = file_mockgrafeas_v1_discovery_proto_rawDesc +) + +func file_mockgrafeas_v1_discovery_proto_rawDescGZIP() []byte { + file_mockgrafeas_v1_discovery_proto_rawDescOnce.Do(func() { + file_mockgrafeas_v1_discovery_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgrafeas_v1_discovery_proto_rawDescData) + }) + return file_mockgrafeas_v1_discovery_proto_rawDescData +} + +var file_mockgrafeas_v1_discovery_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_mockgrafeas_v1_discovery_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_mockgrafeas_v1_discovery_proto_goTypes = []interface{}{ + (DiscoveryOccurrence_ContinuousAnalysis)(0), // 0: mockgrafeas.v1.DiscoveryOccurrence.ContinuousAnalysis + (DiscoveryOccurrence_AnalysisStatus)(0), // 1: mockgrafeas.v1.DiscoveryOccurrence.AnalysisStatus + (DiscoveryOccurrence_SBOMStatus_SBOMState)(0), // 2: mockgrafeas.v1.DiscoveryOccurrence.SBOMStatus.SBOMState + (*DiscoveryNote)(nil), // 3: mockgrafeas.v1.DiscoveryNote + (*DiscoveryOccurrence)(nil), // 4: mockgrafeas.v1.DiscoveryOccurrence + (*DiscoveryOccurrence_AnalysisCompleted)(nil), // 5: mockgrafeas.v1.DiscoveryOccurrence.AnalysisCompleted + (*DiscoveryOccurrence_SBOMStatus)(nil), // 6: mockgrafeas.v1.DiscoveryOccurrence.SBOMStatus + (NoteKind)(0), // 7: mockgrafeas.v1.NoteKind + (*status.Status)(nil), // 8: google.rpc.Status + (*timestamp.Timestamp)(nil), // 9: google.protobuf.Timestamp +} +var file_mockgrafeas_v1_discovery_proto_depIdxs = []int32{ + 7, // 0: mockgrafeas.v1.DiscoveryNote.analysis_kind:type_name -> mockgrafeas.v1.NoteKind + 0, // 1: mockgrafeas.v1.DiscoveryOccurrence.continuous_analysis:type_name -> mockgrafeas.v1.DiscoveryOccurrence.ContinuousAnalysis + 1, // 2: mockgrafeas.v1.DiscoveryOccurrence.analysis_status:type_name -> mockgrafeas.v1.DiscoveryOccurrence.AnalysisStatus + 5, // 3: mockgrafeas.v1.DiscoveryOccurrence.analysis_completed:type_name -> mockgrafeas.v1.DiscoveryOccurrence.AnalysisCompleted + 8, // 4: mockgrafeas.v1.DiscoveryOccurrence.analysis_error:type_name -> google.rpc.Status + 8, // 5: mockgrafeas.v1.DiscoveryOccurrence.analysis_status_error:type_name -> google.rpc.Status + 9, // 6: mockgrafeas.v1.DiscoveryOccurrence.last_scan_time:type_name -> google.protobuf.Timestamp + 9, // 7: mockgrafeas.v1.DiscoveryOccurrence.archive_time:type_name -> google.protobuf.Timestamp + 6, // 8: mockgrafeas.v1.DiscoveryOccurrence.sbom_status:type_name -> mockgrafeas.v1.DiscoveryOccurrence.SBOMStatus + 2, // 9: mockgrafeas.v1.DiscoveryOccurrence.SBOMStatus.sbom_state:type_name -> mockgrafeas.v1.DiscoveryOccurrence.SBOMStatus.SBOMState + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { file_mockgrafeas_v1_discovery_proto_init() } +func file_mockgrafeas_v1_discovery_proto_init() { + if File_mockgrafeas_v1_discovery_proto != nil { + return + } + file_mockgrafeas_v1_common_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgrafeas_v1_discovery_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscoveryNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_discovery_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscoveryOccurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_discovery_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscoveryOccurrence_AnalysisCompleted); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_discovery_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DiscoveryOccurrence_SBOMStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgrafeas_v1_discovery_proto_rawDesc, + NumEnums: 3, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgrafeas_v1_discovery_proto_goTypes, + DependencyIndexes: file_mockgrafeas_v1_discovery_proto_depIdxs, + EnumInfos: file_mockgrafeas_v1_discovery_proto_enumTypes, + MessageInfos: file_mockgrafeas_v1_discovery_proto_msgTypes, + }.Build() + File_mockgrafeas_v1_discovery_proto = out.File + file_mockgrafeas_v1_discovery_proto_rawDesc = nil + file_mockgrafeas_v1_discovery_proto_goTypes = nil + file_mockgrafeas_v1_discovery_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgrafeas/v1/dsse_attestation.pb.go b/mockgcp/generated/mockgrafeas/v1/dsse_attestation.pb.go new file mode 100644 index 0000000000..4b8e7c981c --- /dev/null +++ b/mockgcp/generated/mockgrafeas/v1/dsse_attestation.pb.go @@ -0,0 +1,356 @@ +// Copyright 2021 The Grafeas Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgrafeas/v1/dsse_attestation.proto + +package grafeas + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type DSSEAttestationNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // DSSEHint hints at the purpose of the attestation authority. + Hint *DSSEAttestationNote_DSSEHint `protobuf:"bytes,1,opt,name=hint,proto3" json:"hint,omitempty"` +} + +func (x *DSSEAttestationNote) Reset() { + *x = DSSEAttestationNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_dsse_attestation_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DSSEAttestationNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DSSEAttestationNote) ProtoMessage() {} + +func (x *DSSEAttestationNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_dsse_attestation_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DSSEAttestationNote.ProtoReflect.Descriptor instead. +func (*DSSEAttestationNote) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_dsse_attestation_proto_rawDescGZIP(), []int{0} +} + +func (x *DSSEAttestationNote) GetHint() *DSSEAttestationNote_DSSEHint { + if x != nil { + return x.Hint + } + return nil +} + +// Deprecated. Prefer to use a regular Occurrence, and populate the +// Envelope at the top level of the Occurrence. +type DSSEAttestationOccurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If doing something security critical, make sure to verify the signatures in + // this metadata. + Envelope *Envelope `protobuf:"bytes,1,opt,name=envelope,proto3" json:"envelope,omitempty"` + // Types that are assignable to DecodedPayload: + // + // *DSSEAttestationOccurrence_Statement + DecodedPayload isDSSEAttestationOccurrence_DecodedPayload `protobuf_oneof:"decoded_payload"` +} + +func (x *DSSEAttestationOccurrence) Reset() { + *x = DSSEAttestationOccurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_dsse_attestation_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DSSEAttestationOccurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DSSEAttestationOccurrence) ProtoMessage() {} + +func (x *DSSEAttestationOccurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_dsse_attestation_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DSSEAttestationOccurrence.ProtoReflect.Descriptor instead. +func (*DSSEAttestationOccurrence) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_dsse_attestation_proto_rawDescGZIP(), []int{1} +} + +func (x *DSSEAttestationOccurrence) GetEnvelope() *Envelope { + if x != nil { + return x.Envelope + } + return nil +} + +func (m *DSSEAttestationOccurrence) GetDecodedPayload() isDSSEAttestationOccurrence_DecodedPayload { + if m != nil { + return m.DecodedPayload + } + return nil +} + +func (x *DSSEAttestationOccurrence) GetStatement() *InTotoStatement { + if x, ok := x.GetDecodedPayload().(*DSSEAttestationOccurrence_Statement); ok { + return x.Statement + } + return nil +} + +type isDSSEAttestationOccurrence_DecodedPayload interface { + isDSSEAttestationOccurrence_DecodedPayload() +} + +type DSSEAttestationOccurrence_Statement struct { + Statement *InTotoStatement `protobuf:"bytes,2,opt,name=statement,proto3,oneof"` +} + +func (*DSSEAttestationOccurrence_Statement) isDSSEAttestationOccurrence_DecodedPayload() {} + +// This submessage provides human-readable hints about the purpose of the +// authority. Because the name of a note acts as its resource reference, it is +// important to disambiguate the canonical name of the Note (which might be a +// UUID for security purposes) from "readable" names more suitable for debug +// output. Note that these hints should not be used to look up authorities in +// security sensitive contexts, such as when looking up attestations to +// verify. +type DSSEAttestationNote_DSSEHint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The human readable name of this attestation authority, for + // example "cloudbuild-prod". + HumanReadableName string `protobuf:"bytes,1,opt,name=human_readable_name,json=humanReadableName,proto3" json:"human_readable_name,omitempty"` +} + +func (x *DSSEAttestationNote_DSSEHint) Reset() { + *x = DSSEAttestationNote_DSSEHint{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_dsse_attestation_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DSSEAttestationNote_DSSEHint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DSSEAttestationNote_DSSEHint) ProtoMessage() {} + +func (x *DSSEAttestationNote_DSSEHint) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_dsse_attestation_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DSSEAttestationNote_DSSEHint.ProtoReflect.Descriptor instead. +func (*DSSEAttestationNote_DSSEHint) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_dsse_attestation_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *DSSEAttestationNote_DSSEHint) GetHumanReadableName() string { + if x != nil { + return x.HumanReadableName + } + return "" +} + +var File_mockgrafeas_v1_dsse_attestation_proto protoreflect.FileDescriptor + +var file_mockgrafeas_v1_dsse_attestation_proto_rawDesc = []byte{ + 0x0a, 0x25, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, + 0x2f, 0x64, 0x73, 0x73, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, + 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1b, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, + 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6e, 0x74, 0x6f, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x93, 0x01, 0x0a, 0x13, + 0x44, 0x53, 0x53, 0x45, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, + 0x6f, 0x74, 0x65, 0x12, 0x40, 0x0a, 0x04, 0x68, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x53, 0x53, 0x45, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x65, 0x2e, 0x44, 0x53, 0x53, 0x45, 0x48, 0x69, 0x6e, 0x74, 0x52, + 0x04, 0x68, 0x69, 0x6e, 0x74, 0x1a, 0x3a, 0x0a, 0x08, 0x44, 0x53, 0x53, 0x45, 0x48, 0x69, 0x6e, + 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x52, 0x65, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x19, 0x44, 0x53, 0x53, 0x45, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, + 0x34, 0x0a, 0x08, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x08, 0x65, 0x6e, 0x76, + 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x54, 0x6f, 0x74, 0x6f, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x09, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x11, 0x0a, 0x0f, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x64, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x59, 0x0a, 0x11, 0x69, 0x6f, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x50, 0x01, + 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, + 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, + 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0xa2, 0x02, + 0x03, 0x47, 0x52, 0x41, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgrafeas_v1_dsse_attestation_proto_rawDescOnce sync.Once + file_mockgrafeas_v1_dsse_attestation_proto_rawDescData = file_mockgrafeas_v1_dsse_attestation_proto_rawDesc +) + +func file_mockgrafeas_v1_dsse_attestation_proto_rawDescGZIP() []byte { + file_mockgrafeas_v1_dsse_attestation_proto_rawDescOnce.Do(func() { + file_mockgrafeas_v1_dsse_attestation_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgrafeas_v1_dsse_attestation_proto_rawDescData) + }) + return file_mockgrafeas_v1_dsse_attestation_proto_rawDescData +} + +var file_mockgrafeas_v1_dsse_attestation_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_mockgrafeas_v1_dsse_attestation_proto_goTypes = []interface{}{ + (*DSSEAttestationNote)(nil), // 0: mockgrafeas.v1.DSSEAttestationNote + (*DSSEAttestationOccurrence)(nil), // 1: mockgrafeas.v1.DSSEAttestationOccurrence + (*DSSEAttestationNote_DSSEHint)(nil), // 2: mockgrafeas.v1.DSSEAttestationNote.DSSEHint + (*Envelope)(nil), // 3: mockgrafeas.v1.Envelope + (*InTotoStatement)(nil), // 4: mockgrafeas.v1.InTotoStatement +} +var file_mockgrafeas_v1_dsse_attestation_proto_depIdxs = []int32{ + 2, // 0: mockgrafeas.v1.DSSEAttestationNote.hint:type_name -> mockgrafeas.v1.DSSEAttestationNote.DSSEHint + 3, // 1: mockgrafeas.v1.DSSEAttestationOccurrence.envelope:type_name -> mockgrafeas.v1.Envelope + 4, // 2: mockgrafeas.v1.DSSEAttestationOccurrence.statement:type_name -> mockgrafeas.v1.InTotoStatement + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_mockgrafeas_v1_dsse_attestation_proto_init() } +func file_mockgrafeas_v1_dsse_attestation_proto_init() { + if File_mockgrafeas_v1_dsse_attestation_proto != nil { + return + } + file_mockgrafeas_v1_common_proto_init() + file_mockgrafeas_v1_intoto_statement_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgrafeas_v1_dsse_attestation_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DSSEAttestationNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_dsse_attestation_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DSSEAttestationOccurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_dsse_attestation_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DSSEAttestationNote_DSSEHint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgrafeas_v1_dsse_attestation_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*DSSEAttestationOccurrence_Statement)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgrafeas_v1_dsse_attestation_proto_rawDesc, + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgrafeas_v1_dsse_attestation_proto_goTypes, + DependencyIndexes: file_mockgrafeas_v1_dsse_attestation_proto_depIdxs, + MessageInfos: file_mockgrafeas_v1_dsse_attestation_proto_msgTypes, + }.Build() + File_mockgrafeas_v1_dsse_attestation_proto = out.File + file_mockgrafeas_v1_dsse_attestation_proto_rawDesc = nil + file_mockgrafeas_v1_dsse_attestation_proto_goTypes = nil + file_mockgrafeas_v1_dsse_attestation_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgrafeas/v1/grafeas.pb.go b/mockgcp/generated/mockgrafeas/v1/grafeas.pb.go new file mode 100644 index 0000000000..20bf82ce86 --- /dev/null +++ b/mockgcp/generated/mockgrafeas/v1/grafeas.pb.go @@ -0,0 +1,2796 @@ +// Copyright 2019 The Grafeas Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgrafeas/v1/grafeas.proto + +package grafeas + +import ( + empty "github.com/golang/protobuf/ptypes/empty" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + field_mask "google.golang.org/genproto/protobuf/field_mask" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// An instance of an analysis type that has been found on a resource. +type Occurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The name of the occurrence in the form of + // `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Required. Immutable. A URI that represents the resource for which the + // occurrence applies. For example, + // `https://gcr.io/project/image@sha256:123abc` for a Docker image. + ResourceUri string `protobuf:"bytes,2,opt,name=resource_uri,json=resourceUri,proto3" json:"resource_uri,omitempty"` + // Required. Immutable. The analysis note associated with this occurrence, in + // the form of `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. This field can be + // used as a filter in list requests. + NoteName string `protobuf:"bytes,3,opt,name=note_name,json=noteName,proto3" json:"note_name,omitempty"` + // Output only. This explicitly denotes which of the occurrence details are + // specified. This field can be used as a filter in list requests. + Kind NoteKind `protobuf:"varint,4,opt,name=kind,proto3,enum=mockgrafeas.v1.NoteKind" json:"kind,omitempty"` + // A description of actions that can be taken to remedy the note. + Remediation string `protobuf:"bytes,5,opt,name=remediation,proto3" json:"remediation,omitempty"` + // Output only. The time this occurrence was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The time this occurrence was last updated. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Required. Immutable. Describes the details of the note kind found on this + // resource. + // + // Types that are assignable to Details: + // + // *Occurrence_Vulnerability + // *Occurrence_Build + // *Occurrence_Image + // *Occurrence_Package + // *Occurrence_Deployment + // *Occurrence_Discovery + // *Occurrence_Attestation + // *Occurrence_Upgrade + // *Occurrence_Compliance + // *Occurrence_DsseAttestation + // *Occurrence_SbomReference + Details isOccurrence_Details `protobuf_oneof:"details"` + // https://github.com/secure-systems-lab/dsse + Envelope *Envelope `protobuf:"bytes,18,opt,name=envelope,proto3" json:"envelope,omitempty"` +} + +func (x *Occurrence) Reset() { + *x = Occurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Occurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Occurrence) ProtoMessage() {} + +func (x *Occurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Occurrence.ProtoReflect.Descriptor instead. +func (*Occurrence) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_grafeas_proto_rawDescGZIP(), []int{0} +} + +func (x *Occurrence) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Occurrence) GetResourceUri() string { + if x != nil { + return x.ResourceUri + } + return "" +} + +func (x *Occurrence) GetNoteName() string { + if x != nil { + return x.NoteName + } + return "" +} + +func (x *Occurrence) GetKind() NoteKind { + if x != nil { + return x.Kind + } + return NoteKind_NOTE_KIND_UNSPECIFIED +} + +func (x *Occurrence) GetRemediation() string { + if x != nil { + return x.Remediation + } + return "" +} + +func (x *Occurrence) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Occurrence) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (m *Occurrence) GetDetails() isOccurrence_Details { + if m != nil { + return m.Details + } + return nil +} + +func (x *Occurrence) GetVulnerability() *VulnerabilityOccurrence { + if x, ok := x.GetDetails().(*Occurrence_Vulnerability); ok { + return x.Vulnerability + } + return nil +} + +func (x *Occurrence) GetBuild() *BuildOccurrence { + if x, ok := x.GetDetails().(*Occurrence_Build); ok { + return x.Build + } + return nil +} + +func (x *Occurrence) GetImage() *ImageOccurrence { + if x, ok := x.GetDetails().(*Occurrence_Image); ok { + return x.Image + } + return nil +} + +func (x *Occurrence) GetPackage() *PackageOccurrence { + if x, ok := x.GetDetails().(*Occurrence_Package); ok { + return x.Package + } + return nil +} + +func (x *Occurrence) GetDeployment() *DeploymentOccurrence { + if x, ok := x.GetDetails().(*Occurrence_Deployment); ok { + return x.Deployment + } + return nil +} + +func (x *Occurrence) GetDiscovery() *DiscoveryOccurrence { + if x, ok := x.GetDetails().(*Occurrence_Discovery); ok { + return x.Discovery + } + return nil +} + +func (x *Occurrence) GetAttestation() *AttestationOccurrence { + if x, ok := x.GetDetails().(*Occurrence_Attestation); ok { + return x.Attestation + } + return nil +} + +func (x *Occurrence) GetUpgrade() *UpgradeOccurrence { + if x, ok := x.GetDetails().(*Occurrence_Upgrade); ok { + return x.Upgrade + } + return nil +} + +func (x *Occurrence) GetCompliance() *ComplianceOccurrence { + if x, ok := x.GetDetails().(*Occurrence_Compliance); ok { + return x.Compliance + } + return nil +} + +func (x *Occurrence) GetDsseAttestation() *DSSEAttestationOccurrence { + if x, ok := x.GetDetails().(*Occurrence_DsseAttestation); ok { + return x.DsseAttestation + } + return nil +} + +func (x *Occurrence) GetSbomReference() *SBOMReferenceOccurrence { + if x, ok := x.GetDetails().(*Occurrence_SbomReference); ok { + return x.SbomReference + } + return nil +} + +func (x *Occurrence) GetEnvelope() *Envelope { + if x != nil { + return x.Envelope + } + return nil +} + +type isOccurrence_Details interface { + isOccurrence_Details() +} + +type Occurrence_Vulnerability struct { + // Describes a security vulnerability. + Vulnerability *VulnerabilityOccurrence `protobuf:"bytes,8,opt,name=vulnerability,proto3,oneof"` +} + +type Occurrence_Build struct { + // Describes a verifiable build. + Build *BuildOccurrence `protobuf:"bytes,9,opt,name=build,proto3,oneof"` +} + +type Occurrence_Image struct { + // Describes how this resource derives from the basis in the associated + // note. + Image *ImageOccurrence `protobuf:"bytes,10,opt,name=image,proto3,oneof"` +} + +type Occurrence_Package struct { + // Describes the installation of a package on the linked resource. + Package *PackageOccurrence `protobuf:"bytes,11,opt,name=package,proto3,oneof"` +} + +type Occurrence_Deployment struct { + // Describes the deployment of an artifact on a runtime. + Deployment *DeploymentOccurrence `protobuf:"bytes,12,opt,name=deployment,proto3,oneof"` +} + +type Occurrence_Discovery struct { + // Describes when a resource was discovered. + Discovery *DiscoveryOccurrence `protobuf:"bytes,13,opt,name=discovery,proto3,oneof"` +} + +type Occurrence_Attestation struct { + // Describes an attestation of an artifact. + Attestation *AttestationOccurrence `protobuf:"bytes,14,opt,name=attestation,proto3,oneof"` +} + +type Occurrence_Upgrade struct { + // Describes an available package upgrade on the linked resource. + Upgrade *UpgradeOccurrence `protobuf:"bytes,15,opt,name=upgrade,proto3,oneof"` +} + +type Occurrence_Compliance struct { + // Describes a compliance violation on a linked resource. + Compliance *ComplianceOccurrence `protobuf:"bytes,16,opt,name=compliance,proto3,oneof"` +} + +type Occurrence_DsseAttestation struct { + // Describes an attestation of an artifact using dsse. + DsseAttestation *DSSEAttestationOccurrence `protobuf:"bytes,17,opt,name=dsse_attestation,json=dsseAttestation,proto3,oneof"` +} + +type Occurrence_SbomReference struct { + // Describes a specific SBOM reference occurrences. + SbomReference *SBOMReferenceOccurrence `protobuf:"bytes,19,opt,name=sbom_reference,json=sbomReference,proto3,oneof"` +} + +func (*Occurrence_Vulnerability) isOccurrence_Details() {} + +func (*Occurrence_Build) isOccurrence_Details() {} + +func (*Occurrence_Image) isOccurrence_Details() {} + +func (*Occurrence_Package) isOccurrence_Details() {} + +func (*Occurrence_Deployment) isOccurrence_Details() {} + +func (*Occurrence_Discovery) isOccurrence_Details() {} + +func (*Occurrence_Attestation) isOccurrence_Details() {} + +func (*Occurrence_Upgrade) isOccurrence_Details() {} + +func (*Occurrence_Compliance) isOccurrence_Details() {} + +func (*Occurrence_DsseAttestation) isOccurrence_Details() {} + +func (*Occurrence_SbomReference) isOccurrence_Details() {} + +// A type of analysis that can be done for a resource. +type Note struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Output only. The name of the note in the form of + // `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // A one sentence description of this note. + ShortDescription string `protobuf:"bytes,2,opt,name=short_description,json=shortDescription,proto3" json:"short_description,omitempty"` + // A detailed description of this note. + LongDescription string `protobuf:"bytes,3,opt,name=long_description,json=longDescription,proto3" json:"long_description,omitempty"` + // Output only. The type of analysis. This field can be used as a filter in + // list requests. + Kind NoteKind `protobuf:"varint,4,opt,name=kind,proto3,enum=mockgrafeas.v1.NoteKind" json:"kind,omitempty"` + // URLs associated with this note. + RelatedUrl []*RelatedUrl `protobuf:"bytes,5,rep,name=related_url,json=relatedUrl,proto3" json:"related_url,omitempty"` + // Time of expiration for this note. Empty if note does not expire. + ExpirationTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"` + // Output only. The time this note was created. This field can be used as a + // filter in list requests. + CreateTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Output only. The time this note was last updated. This field can be used as + // a filter in list requests. + UpdateTime *timestamp.Timestamp `protobuf:"bytes,8,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Other notes related to this note. + RelatedNoteNames []string `protobuf:"bytes,9,rep,name=related_note_names,json=relatedNoteNames,proto3" json:"related_note_names,omitempty"` + // Required. Immutable. The type of analysis this note represents. + // + // Types that are assignable to Type: + // + // *Note_Vulnerability + // *Note_Build + // *Note_Image + // *Note_Package + // *Note_Deployment + // *Note_Discovery + // *Note_Attestation + // *Note_Upgrade + // *Note_Compliance + // *Note_DsseAttestation + // *Note_VulnerabilityAssessment + // *Note_SbomReference + Type isNote_Type `protobuf_oneof:"type"` +} + +func (x *Note) Reset() { + *x = Note{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Note) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Note) ProtoMessage() {} + +func (x *Note) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Note.ProtoReflect.Descriptor instead. +func (*Note) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_grafeas_proto_rawDescGZIP(), []int{1} +} + +func (x *Note) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Note) GetShortDescription() string { + if x != nil { + return x.ShortDescription + } + return "" +} + +func (x *Note) GetLongDescription() string { + if x != nil { + return x.LongDescription + } + return "" +} + +func (x *Note) GetKind() NoteKind { + if x != nil { + return x.Kind + } + return NoteKind_NOTE_KIND_UNSPECIFIED +} + +func (x *Note) GetRelatedUrl() []*RelatedUrl { + if x != nil { + return x.RelatedUrl + } + return nil +} + +func (x *Note) GetExpirationTime() *timestamp.Timestamp { + if x != nil { + return x.ExpirationTime + } + return nil +} + +func (x *Note) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *Note) GetUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +func (x *Note) GetRelatedNoteNames() []string { + if x != nil { + return x.RelatedNoteNames + } + return nil +} + +func (m *Note) GetType() isNote_Type { + if m != nil { + return m.Type + } + return nil +} + +func (x *Note) GetVulnerability() *VulnerabilityNote { + if x, ok := x.GetType().(*Note_Vulnerability); ok { + return x.Vulnerability + } + return nil +} + +func (x *Note) GetBuild() *BuildNote { + if x, ok := x.GetType().(*Note_Build); ok { + return x.Build + } + return nil +} + +func (x *Note) GetImage() *ImageNote { + if x, ok := x.GetType().(*Note_Image); ok { + return x.Image + } + return nil +} + +func (x *Note) GetPackage() *PackageNote { + if x, ok := x.GetType().(*Note_Package); ok { + return x.Package + } + return nil +} + +func (x *Note) GetDeployment() *DeploymentNote { + if x, ok := x.GetType().(*Note_Deployment); ok { + return x.Deployment + } + return nil +} + +func (x *Note) GetDiscovery() *DiscoveryNote { + if x, ok := x.GetType().(*Note_Discovery); ok { + return x.Discovery + } + return nil +} + +func (x *Note) GetAttestation() *AttestationNote { + if x, ok := x.GetType().(*Note_Attestation); ok { + return x.Attestation + } + return nil +} + +func (x *Note) GetUpgrade() *UpgradeNote { + if x, ok := x.GetType().(*Note_Upgrade); ok { + return x.Upgrade + } + return nil +} + +func (x *Note) GetCompliance() *ComplianceNote { + if x, ok := x.GetType().(*Note_Compliance); ok { + return x.Compliance + } + return nil +} + +func (x *Note) GetDsseAttestation() *DSSEAttestationNote { + if x, ok := x.GetType().(*Note_DsseAttestation); ok { + return x.DsseAttestation + } + return nil +} + +func (x *Note) GetVulnerabilityAssessment() *VulnerabilityAssessmentNote { + if x, ok := x.GetType().(*Note_VulnerabilityAssessment); ok { + return x.VulnerabilityAssessment + } + return nil +} + +func (x *Note) GetSbomReference() *SBOMReferenceNote { + if x, ok := x.GetType().(*Note_SbomReference); ok { + return x.SbomReference + } + return nil +} + +type isNote_Type interface { + isNote_Type() +} + +type Note_Vulnerability struct { + // A note describing a package vulnerability. + Vulnerability *VulnerabilityNote `protobuf:"bytes,10,opt,name=vulnerability,proto3,oneof"` +} + +type Note_Build struct { + // A note describing build provenance for a verifiable build. + Build *BuildNote `protobuf:"bytes,11,opt,name=build,proto3,oneof"` +} + +type Note_Image struct { + // A note describing a base image. + Image *ImageNote `protobuf:"bytes,12,opt,name=image,proto3,oneof"` +} + +type Note_Package struct { + // A note describing a package hosted by various package managers. + Package *PackageNote `protobuf:"bytes,13,opt,name=package,proto3,oneof"` +} + +type Note_Deployment struct { + // A note describing something that can be deployed. + Deployment *DeploymentNote `protobuf:"bytes,14,opt,name=deployment,proto3,oneof"` +} + +type Note_Discovery struct { + // A note describing the initial analysis of a resource. + Discovery *DiscoveryNote `protobuf:"bytes,15,opt,name=discovery,proto3,oneof"` +} + +type Note_Attestation struct { + // A note describing an attestation role. + Attestation *AttestationNote `protobuf:"bytes,16,opt,name=attestation,proto3,oneof"` +} + +type Note_Upgrade struct { + // A note describing available package upgrades. + Upgrade *UpgradeNote `protobuf:"bytes,17,opt,name=upgrade,proto3,oneof"` +} + +type Note_Compliance struct { + // A note describing a compliance check. + Compliance *ComplianceNote `protobuf:"bytes,18,opt,name=compliance,proto3,oneof"` +} + +type Note_DsseAttestation struct { + // A note describing a dsse attestation note. + DsseAttestation *DSSEAttestationNote `protobuf:"bytes,19,opt,name=dsse_attestation,json=dsseAttestation,proto3,oneof"` +} + +type Note_VulnerabilityAssessment struct { + // A note describing a vulnerability assessment. + VulnerabilityAssessment *VulnerabilityAssessmentNote `protobuf:"bytes,20,opt,name=vulnerability_assessment,json=vulnerabilityAssessment,proto3,oneof"` +} + +type Note_SbomReference struct { + // A note describing an SBOM reference. + SbomReference *SBOMReferenceNote `protobuf:"bytes,21,opt,name=sbom_reference,json=sbomReference,proto3,oneof"` +} + +func (*Note_Vulnerability) isNote_Type() {} + +func (*Note_Build) isNote_Type() {} + +func (*Note_Image) isNote_Type() {} + +func (*Note_Package) isNote_Type() {} + +func (*Note_Deployment) isNote_Type() {} + +func (*Note_Discovery) isNote_Type() {} + +func (*Note_Attestation) isNote_Type() {} + +func (*Note_Upgrade) isNote_Type() {} + +func (*Note_Compliance) isNote_Type() {} + +func (*Note_DsseAttestation) isNote_Type() {} + +func (*Note_VulnerabilityAssessment) isNote_Type() {} + +func (*Note_SbomReference) isNote_Type() {} + +// Request to get an occurrence. +type GetOccurrenceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the occurrence in the form of + // `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetOccurrenceRequest) Reset() { + *x = GetOccurrenceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetOccurrenceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetOccurrenceRequest) ProtoMessage() {} + +func (x *GetOccurrenceRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetOccurrenceRequest.ProtoReflect.Descriptor instead. +func (*GetOccurrenceRequest) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_grafeas_proto_rawDescGZIP(), []int{2} +} + +func (x *GetOccurrenceRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request to list occurrences. +type ListOccurrencesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the project to list occurrences for in the form of + // `projects/[PROJECT_ID]`. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The filter expression. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // Number of occurrences to return in the list. Must be positive. Max allowed + // page size is 1000. If not specified, page size defaults to 20. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Token to provide to skip to a particular spot in the list. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListOccurrencesRequest) Reset() { + *x = ListOccurrencesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListOccurrencesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListOccurrencesRequest) ProtoMessage() {} + +func (x *ListOccurrencesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListOccurrencesRequest.ProtoReflect.Descriptor instead. +func (*ListOccurrencesRequest) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_grafeas_proto_rawDescGZIP(), []int{3} +} + +func (x *ListOccurrencesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListOccurrencesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListOccurrencesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListOccurrencesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response for listing occurrences. +type ListOccurrencesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The occurrences requested. + Occurrences []*Occurrence `protobuf:"bytes,1,rep,name=occurrences,proto3" json:"occurrences,omitempty"` + // The next pagination token in the list response. It should be used as + // `page_token` for the following request. An empty value means no more + // results. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListOccurrencesResponse) Reset() { + *x = ListOccurrencesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListOccurrencesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListOccurrencesResponse) ProtoMessage() {} + +func (x *ListOccurrencesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListOccurrencesResponse.ProtoReflect.Descriptor instead. +func (*ListOccurrencesResponse) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_grafeas_proto_rawDescGZIP(), []int{4} +} + +func (x *ListOccurrencesResponse) GetOccurrences() []*Occurrence { + if x != nil { + return x.Occurrences + } + return nil +} + +func (x *ListOccurrencesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request to delete an occurrence. +type DeleteOccurrenceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the occurrence in the form of + // `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteOccurrenceRequest) Reset() { + *x = DeleteOccurrenceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteOccurrenceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteOccurrenceRequest) ProtoMessage() {} + +func (x *DeleteOccurrenceRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteOccurrenceRequest.ProtoReflect.Descriptor instead. +func (*DeleteOccurrenceRequest) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_grafeas_proto_rawDescGZIP(), []int{5} +} + +func (x *DeleteOccurrenceRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request to create a new occurrence. +type CreateOccurrenceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the project in the form of `projects/[PROJECT_ID]`, under which + // the occurrence is to be created. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The occurrence to create. + Occurrence *Occurrence `protobuf:"bytes,2,opt,name=occurrence,proto3" json:"occurrence,omitempty"` +} + +func (x *CreateOccurrenceRequest) Reset() { + *x = CreateOccurrenceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateOccurrenceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateOccurrenceRequest) ProtoMessage() {} + +func (x *CreateOccurrenceRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateOccurrenceRequest.ProtoReflect.Descriptor instead. +func (*CreateOccurrenceRequest) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_grafeas_proto_rawDescGZIP(), []int{6} +} + +func (x *CreateOccurrenceRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateOccurrenceRequest) GetOccurrence() *Occurrence { + if x != nil { + return x.Occurrence + } + return nil +} + +// Request to update an occurrence. +type UpdateOccurrenceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the occurrence in the form of + // `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The updated occurrence. + Occurrence *Occurrence `protobuf:"bytes,2,opt,name=occurrence,proto3" json:"occurrence,omitempty"` + // The fields to update. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateOccurrenceRequest) Reset() { + *x = UpdateOccurrenceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateOccurrenceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateOccurrenceRequest) ProtoMessage() {} + +func (x *UpdateOccurrenceRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateOccurrenceRequest.ProtoReflect.Descriptor instead. +func (*UpdateOccurrenceRequest) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_grafeas_proto_rawDescGZIP(), []int{7} +} + +func (x *UpdateOccurrenceRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UpdateOccurrenceRequest) GetOccurrence() *Occurrence { + if x != nil { + return x.Occurrence + } + return nil +} + +func (x *UpdateOccurrenceRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request to get a note. +type GetNoteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the note in the form of + // `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetNoteRequest) Reset() { + *x = GetNoteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetNoteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNoteRequest) ProtoMessage() {} + +func (x *GetNoteRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNoteRequest.ProtoReflect.Descriptor instead. +func (*GetNoteRequest) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_grafeas_proto_rawDescGZIP(), []int{8} +} + +func (x *GetNoteRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request to get the note to which the specified occurrence is attached. +type GetOccurrenceNoteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the occurrence in the form of + // `projects/[PROJECT_ID]/occurrences/[OCCURRENCE_ID]`. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *GetOccurrenceNoteRequest) Reset() { + *x = GetOccurrenceNoteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetOccurrenceNoteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetOccurrenceNoteRequest) ProtoMessage() {} + +func (x *GetOccurrenceNoteRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetOccurrenceNoteRequest.ProtoReflect.Descriptor instead. +func (*GetOccurrenceNoteRequest) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_grafeas_proto_rawDescGZIP(), []int{9} +} + +func (x *GetOccurrenceNoteRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request to list notes. +type ListNotesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the project to list notes for in the form of + // `projects/[PROJECT_ID]`. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The filter expression. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // Number of notes to return in the list. Must be positive. Max allowed page + // size is 1000. If not specified, page size defaults to 20. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Token to provide to skip to a particular spot in the list. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListNotesRequest) Reset() { + *x = ListNotesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNotesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNotesRequest) ProtoMessage() {} + +func (x *ListNotesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNotesRequest.ProtoReflect.Descriptor instead. +func (*ListNotesRequest) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_grafeas_proto_rawDescGZIP(), []int{10} +} + +func (x *ListNotesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *ListNotesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListNotesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListNotesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response for listing notes. +type ListNotesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The notes requested. + Notes []*Note `protobuf:"bytes,1,rep,name=notes,proto3" json:"notes,omitempty"` + // The next pagination token in the list response. It should be used as + // `page_token` for the following request. An empty value means no more + // results. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListNotesResponse) Reset() { + *x = ListNotesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNotesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNotesResponse) ProtoMessage() {} + +func (x *ListNotesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNotesResponse.ProtoReflect.Descriptor instead. +func (*ListNotesResponse) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_grafeas_proto_rawDescGZIP(), []int{11} +} + +func (x *ListNotesResponse) GetNotes() []*Note { + if x != nil { + return x.Notes + } + return nil +} + +func (x *ListNotesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request to delete a note. +type DeleteNoteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the note in the form of + // `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *DeleteNoteRequest) Reset() { + *x = DeleteNoteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DeleteNoteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNoteRequest) ProtoMessage() {} + +func (x *DeleteNoteRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteNoteRequest.ProtoReflect.Descriptor instead. +func (*DeleteNoteRequest) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_grafeas_proto_rawDescGZIP(), []int{12} +} + +func (x *DeleteNoteRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Request to create a new note. +type CreateNoteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the project in the form of `projects/[PROJECT_ID]`, under which + // the note is to be created. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The ID to use for this note. + NoteId string `protobuf:"bytes,2,opt,name=note_id,json=noteId,proto3" json:"note_id,omitempty"` + // The note to create. + Note *Note `protobuf:"bytes,3,opt,name=note,proto3" json:"note,omitempty"` +} + +func (x *CreateNoteRequest) Reset() { + *x = CreateNoteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateNoteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNoteRequest) ProtoMessage() {} + +func (x *CreateNoteRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateNoteRequest.ProtoReflect.Descriptor instead. +func (*CreateNoteRequest) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_grafeas_proto_rawDescGZIP(), []int{13} +} + +func (x *CreateNoteRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *CreateNoteRequest) GetNoteId() string { + if x != nil { + return x.NoteId + } + return "" +} + +func (x *CreateNoteRequest) GetNote() *Note { + if x != nil { + return x.Note + } + return nil +} + +// Request to update a note. +type UpdateNoteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the note in the form of + // `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The updated note. + Note *Note `protobuf:"bytes,2,opt,name=note,proto3" json:"note,omitempty"` + // The fields to update. + UpdateMask *field_mask.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` +} + +func (x *UpdateNoteRequest) Reset() { + *x = UpdateNoteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateNoteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNoteRequest) ProtoMessage() {} + +func (x *UpdateNoteRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateNoteRequest.ProtoReflect.Descriptor instead. +func (*UpdateNoteRequest) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_grafeas_proto_rawDescGZIP(), []int{14} +} + +func (x *UpdateNoteRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UpdateNoteRequest) GetNote() *Note { + if x != nil { + return x.Note + } + return nil +} + +func (x *UpdateNoteRequest) GetUpdateMask() *field_mask.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// Request to list occurrences for a note. +type ListNoteOccurrencesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the note to list occurrences for in the form of + // `projects/[PROVIDER_ID]/notes/[NOTE_ID]`. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The filter expression. + Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"` + // Number of occurrences to return in the list. + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Token to provide to skip to a particular spot in the list. + PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListNoteOccurrencesRequest) Reset() { + *x = ListNoteOccurrencesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNoteOccurrencesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNoteOccurrencesRequest) ProtoMessage() {} + +func (x *ListNoteOccurrencesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNoteOccurrencesRequest.ProtoReflect.Descriptor instead. +func (*ListNoteOccurrencesRequest) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_grafeas_proto_rawDescGZIP(), []int{15} +} + +func (x *ListNoteOccurrencesRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ListNoteOccurrencesRequest) GetFilter() string { + if x != nil { + return x.Filter + } + return "" +} + +func (x *ListNoteOccurrencesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListNoteOccurrencesRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +// Response for listing occurrences for a note. +type ListNoteOccurrencesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The occurrences attached to the specified note. + Occurrences []*Occurrence `protobuf:"bytes,1,rep,name=occurrences,proto3" json:"occurrences,omitempty"` + // Token to provide to skip to a particular spot in the list. + NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListNoteOccurrencesResponse) Reset() { + *x = ListNoteOccurrencesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListNoteOccurrencesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNoteOccurrencesResponse) ProtoMessage() {} + +func (x *ListNoteOccurrencesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNoteOccurrencesResponse.ProtoReflect.Descriptor instead. +func (*ListNoteOccurrencesResponse) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_grafeas_proto_rawDescGZIP(), []int{16} +} + +func (x *ListNoteOccurrencesResponse) GetOccurrences() []*Occurrence { + if x != nil { + return x.Occurrences + } + return nil +} + +func (x *ListNoteOccurrencesResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Request to create notes in batch. +type BatchCreateNotesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the project in the form of `projects/[PROJECT_ID]`, under which + // the notes are to be created. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The notes to create. Max allowed length is 1000. + Notes map[string]*Note `protobuf:"bytes,2,rep,name=notes,proto3" json:"notes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *BatchCreateNotesRequest) Reset() { + *x = BatchCreateNotesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchCreateNotesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchCreateNotesRequest) ProtoMessage() {} + +func (x *BatchCreateNotesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchCreateNotesRequest.ProtoReflect.Descriptor instead. +func (*BatchCreateNotesRequest) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_grafeas_proto_rawDescGZIP(), []int{17} +} + +func (x *BatchCreateNotesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *BatchCreateNotesRequest) GetNotes() map[string]*Note { + if x != nil { + return x.Notes + } + return nil +} + +// Response for creating notes in batch. +type BatchCreateNotesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The notes that were created. + Notes []*Note `protobuf:"bytes,1,rep,name=notes,proto3" json:"notes,omitempty"` +} + +func (x *BatchCreateNotesResponse) Reset() { + *x = BatchCreateNotesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchCreateNotesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchCreateNotesResponse) ProtoMessage() {} + +func (x *BatchCreateNotesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchCreateNotesResponse.ProtoReflect.Descriptor instead. +func (*BatchCreateNotesResponse) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_grafeas_proto_rawDescGZIP(), []int{18} +} + +func (x *BatchCreateNotesResponse) GetNotes() []*Note { + if x != nil { + return x.Notes + } + return nil +} + +// Request to create occurrences in batch. +type BatchCreateOccurrencesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the project in the form of `projects/[PROJECT_ID]`, under which + // the occurrences are to be created. + Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` + // The occurrences to create. Max allowed length is 1000. + Occurrences []*Occurrence `protobuf:"bytes,2,rep,name=occurrences,proto3" json:"occurrences,omitempty"` +} + +func (x *BatchCreateOccurrencesRequest) Reset() { + *x = BatchCreateOccurrencesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchCreateOccurrencesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchCreateOccurrencesRequest) ProtoMessage() {} + +func (x *BatchCreateOccurrencesRequest) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchCreateOccurrencesRequest.ProtoReflect.Descriptor instead. +func (*BatchCreateOccurrencesRequest) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_grafeas_proto_rawDescGZIP(), []int{19} +} + +func (x *BatchCreateOccurrencesRequest) GetParent() string { + if x != nil { + return x.Parent + } + return "" +} + +func (x *BatchCreateOccurrencesRequest) GetOccurrences() []*Occurrence { + if x != nil { + return x.Occurrences + } + return nil +} + +// Response for creating occurrences in batch. +type BatchCreateOccurrencesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The occurrences that were created. + Occurrences []*Occurrence `protobuf:"bytes,1,rep,name=occurrences,proto3" json:"occurrences,omitempty"` +} + +func (x *BatchCreateOccurrencesResponse) Reset() { + *x = BatchCreateOccurrencesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BatchCreateOccurrencesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchCreateOccurrencesResponse) ProtoMessage() {} + +func (x *BatchCreateOccurrencesResponse) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_grafeas_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchCreateOccurrencesResponse.ProtoReflect.Descriptor instead. +func (*BatchCreateOccurrencesResponse) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_grafeas_proto_rawDescGZIP(), []int{20} +} + +func (x *BatchCreateOccurrencesResponse) GetOccurrences() []*Occurrence { + if x != nil { + return x.Occurrences + } + return nil +} + +var File_mockgrafeas_v1_grafeas_proto protoreflect.FileDescriptor + +var file_mockgrafeas_v1_grafeas_proto_rawDesc = []byte{ + 0x0a, 0x1c, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, + 0x2f, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x20, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, + 0x31, 0x2f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, + 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1b, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x64, + 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x64, + 0x73, 0x73, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, + 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1c, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, + 0x31, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x19, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, + 0x73, 0x62, 0x6f, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, + 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x65, 0x78, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x22, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, + 0x76, 0x31, 0x2f, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc3, 0x09, 0x0a, 0x0a, 0x4f, 0x63, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x69, 0x12, 0x1b, 0x0a, 0x09, + 0x6e, 0x6f, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6e, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, + 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x4b, 0x69, 0x6e, + 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x65, 0x64, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, + 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x75, 0x6c, 0x6e, + 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x12, 0x37, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x37, 0x0a, + 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, + 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x3d, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, + 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, + 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, + 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x07, 0x70, 0x61, + 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x46, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, + 0x00, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x43, 0x0a, + 0x09, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x4f, 0x63, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x09, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, + 0x72, 0x79, 0x12, 0x49, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, + 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x00, + 0x52, 0x0b, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, + 0x07, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x48, 0x00, 0x52, 0x07, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x46, 0x0a, 0x0a, + 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x4f, 0x63, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, + 0x61, 0x6e, 0x63, 0x65, 0x12, 0x56, 0x0a, 0x10, 0x64, 0x73, 0x73, 0x65, 0x5f, 0x61, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x53, 0x53, 0x45, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, + 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x73, 0x73, + 0x65, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x0e, + 0x73, 0x62, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x13, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, + 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x42, 0x4f, 0x4d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, + 0x0d, 0x73, 0x62, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x34, + 0x0a, 0x08, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x52, 0x08, 0x65, 0x6e, 0x76, 0x65, + 0x6c, 0x6f, 0x70, 0x65, 0x3a, 0x4b, 0xea, 0x41, 0x48, 0x0a, 0x19, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x12, 0x2b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x7d, 0x42, 0x09, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0xc0, 0x0a, 0x0a, + 0x04, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x68, 0x6f, + 0x72, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x6c, 0x6f, 0x6e, 0x67, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x2c, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x18, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, + 0x3b, 0x0a, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, + 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x55, 0x72, 0x6c, + 0x52, 0x0a, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x43, 0x0a, 0x0f, + 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, + 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x72, + 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x4e, 0x6f, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x49, 0x0a, 0x0d, 0x76, 0x75, 0x6c, + 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4e, + 0x6f, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x12, 0x31, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4e, 0x6f, 0x74, 0x65, 0x48, 0x00, + 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x12, 0x31, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, + 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x74, + 0x65, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x70, 0x61, + 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x63, + 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x48, 0x00, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, + 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, + 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, + 0x72, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, + 0x65, 0x72, 0x79, 0x4e, 0x6f, 0x74, 0x65, 0x48, 0x00, 0x52, 0x09, 0x64, 0x69, 0x73, 0x63, 0x6f, + 0x76, 0x65, 0x72, 0x79, 0x12, 0x43, 0x0a, 0x0b, 0x61, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x65, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x74, + 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x07, 0x75, 0x70, 0x67, + 0x72, 0x61, 0x64, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x67, 0x72, + 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x48, 0x00, 0x52, 0x07, 0x75, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x12, 0x40, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, + 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, + 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, + 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, + 0x61, 0x6e, 0x63, 0x65, 0x12, 0x50, 0x0a, 0x10, 0x64, 0x73, 0x73, 0x65, 0x5f, 0x61, 0x74, 0x74, + 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x53, 0x53, 0x45, 0x41, 0x74, 0x74, 0x65, 0x73, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, + 0x6f, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x64, 0x73, 0x73, 0x65, 0x41, 0x74, 0x74, 0x65, 0x73, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x68, 0x0a, 0x18, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, + 0x6e, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, + 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x48, 0x00, 0x52, 0x17, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x4a, 0x0a, 0x0e, 0x73, 0x62, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x42, 0x4f, 0x4d, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0d, 0x73, + 0x62, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x3a, 0x39, 0xea, 0x41, + 0x36, 0x0a, 0x13, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x69, + 0x6f, 0x2f, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x1f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x73, + 0x2f, 0x7b, 0x6e, 0x6f, 0x74, 0x65, 0x7d, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, + 0x4d, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1b, 0x0a, 0x19, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x4f, 0x63, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa4, + 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x18, 0x0a, 0x16, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x69, + 0x6f, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x7f, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x63, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x3c, 0x0a, 0x0b, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, + 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x52, 0x0b, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x26, + 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x50, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x35, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x21, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1b, 0x0a, 0x19, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, + 0x66, 0x65, 0x61, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x92, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x18, 0x0a, 0x16, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x50, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x0a, + 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0a, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xce, 0x01, + 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1b, 0x0a, + 0x19, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x69, 0x6f, 0x2f, + 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x3f, 0x0a, 0x0a, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, + 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, + 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x41, + 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x2f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x15, 0x0a, 0x13, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, + 0x65, 0x61, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x51, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x1b, 0x0a, 0x19, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, + 0x2e, 0x69, 0x6f, 0x2f, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9e, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x18, 0x0a, 0x16, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x69, + 0x6f, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x67, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x6e, 0x6f, + 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x52, + 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x44, + 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x1b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x15, 0x0a, 0x13, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x98, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, + 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe0, 0x41, 0x02, 0xfa, + 0x41, 0x18, 0x0a, 0x16, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, + 0x69, 0x6f, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x07, 0x6e, 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x6e, 0x6f, 0x74, 0x65, 0x49, 0x64, + 0x12, 0x2d, 0x0a, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4e, 0x6f, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x22, + 0xb0, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x1b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x15, 0x0a, 0x13, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x4e, 0x6f, 0x74, 0x65, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, + 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x04, 0x6e, 0x6f, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, + 0x73, 0x6b, 0x22, 0xa1, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x4f, + 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x1b, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x15, 0x0a, 0x13, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, + 0x66, 0x65, 0x61, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, + 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x83, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x4e, + 0x6f, 0x74, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0b, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0b, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf0, 0x01, 0x0a, + 0x17, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x18, + 0x0a, 0x16, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x69, 0x6f, + 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x12, 0x4d, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x1a, + 0x4e, 0x0a, 0x0a, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x2a, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x46, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, + 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x6e, + 0x6f, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x65, + 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x22, 0x9a, 0x01, 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1e, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x18, 0x0a, 0x16, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x69, + 0x6f, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x41, 0x0a, 0x0b, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, + 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x73, 0x22, 0x5e, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0b, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0b, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x73, 0x32, 0xaf, 0x13, 0x0a, 0x07, 0x47, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, + 0x12, 0xb8, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x12, 0x24, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x22, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x58, 0x12, 0x23, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, + 0x7d, 0x5a, 0x31, 0x12, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xd2, 0x01, 0x0a, 0x0f, + 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, + 0x26, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, + 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x63, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x58, 0x12, 0x23, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, + 0x7d, 0x2f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x5a, 0x31, 0x12, + 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0xda, 0x41, 0x0d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x12, 0x87, 0x01, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, + 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x63, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x2a, 0x23, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xa4, 0x01, 0x0a, 0x10, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, + 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x22, 0x23, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x3a, 0x0a, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0xda, 0x41, 0x11, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x12, 0xc8, 0x01, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x34, 0x22, 0x2f, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6f, 0x63, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x2c, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0xae, 0x01, 0x0a, + 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x12, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x63, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x55, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x31, 0x32, 0x23, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x2f, 0x2a, 0x7d, 0x3a, 0x0a, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0xda, + 0x41, 0x1b, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xc6, 0x01, + 0x0a, 0x11, 0x47, 0x65, 0x74, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4e, + 0x6f, 0x74, 0x65, 0x12, 0x28, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, + 0x6f, 0x74, 0x65, 0x22, 0x71, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x12, 0x29, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, + 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x5a, 0x37, 0x12, 0x35, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, + 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6f, 0x63, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0xda, + 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x9a, 0x01, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x4e, 0x6f, + 0x74, 0x65, 0x12, 0x1e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x22, 0x59, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, + 0x12, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x5a, + 0x2b, 0x12, 0x29, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0xb4, 0x01, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, + 0x73, 0x12, 0x20, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x12, 0x1d, + 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x5a, 0x2b, 0x12, + 0x29, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0xda, 0x41, 0x0d, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x2c, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x75, 0x0a, 0x0a, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x2a, 0x1d, 0x2f, 0x76, 0x31, + 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, + 0x2a, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x88, 0x01, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, + 0x12, 0x21, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x65, 0x22, 0x41, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x25, 0x22, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x73, + 0x3a, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0xda, 0x41, 0x13, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, + 0x6e, 0x6f, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x2c, 0x6e, 0x6f, 0x74, 0x65, 0x12, 0xaa, 0x01, 0x0a, + 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, + 0x73, 0x12, 0x27, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, + 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x22, 0x29, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x0c, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x2c, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x21, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, + 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x32, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, + 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x04, 0x6e, 0x6f, 0x74, 0x65, 0xda, 0x41, + 0x15, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x6e, 0x6f, 0x74, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0xe8, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x4e, + 0x6f, 0x74, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x2a, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x4e, 0x6f, 0x74, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x78, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x64, 0x12, + 0x29, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6f, + 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x5a, 0x37, 0x12, 0x35, 0x2f, 0x76, + 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6e, + 0x6f, 0x74, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x73, 0xda, 0x41, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x1a, 0x23, 0xca, 0x41, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x61, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x42, 0x88, 0x01, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x50, 0x01, 0x5a, 0x3c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, + 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0xa2, 0x02, 0x03, 0x47, + 0x52, 0x41, 0xea, 0x41, 0x2c, 0x0a, 0x16, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, + 0x61, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgrafeas_v1_grafeas_proto_rawDescOnce sync.Once + file_mockgrafeas_v1_grafeas_proto_rawDescData = file_mockgrafeas_v1_grafeas_proto_rawDesc +) + +func file_mockgrafeas_v1_grafeas_proto_rawDescGZIP() []byte { + file_mockgrafeas_v1_grafeas_proto_rawDescOnce.Do(func() { + file_mockgrafeas_v1_grafeas_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgrafeas_v1_grafeas_proto_rawDescData) + }) + return file_mockgrafeas_v1_grafeas_proto_rawDescData +} + +var file_mockgrafeas_v1_grafeas_proto_msgTypes = make([]protoimpl.MessageInfo, 22) +var file_mockgrafeas_v1_grafeas_proto_goTypes = []interface{}{ + (*Occurrence)(nil), // 0: mockgrafeas.v1.Occurrence + (*Note)(nil), // 1: mockgrafeas.v1.Note + (*GetOccurrenceRequest)(nil), // 2: mockgrafeas.v1.GetOccurrenceRequest + (*ListOccurrencesRequest)(nil), // 3: mockgrafeas.v1.ListOccurrencesRequest + (*ListOccurrencesResponse)(nil), // 4: mockgrafeas.v1.ListOccurrencesResponse + (*DeleteOccurrenceRequest)(nil), // 5: mockgrafeas.v1.DeleteOccurrenceRequest + (*CreateOccurrenceRequest)(nil), // 6: mockgrafeas.v1.CreateOccurrenceRequest + (*UpdateOccurrenceRequest)(nil), // 7: mockgrafeas.v1.UpdateOccurrenceRequest + (*GetNoteRequest)(nil), // 8: mockgrafeas.v1.GetNoteRequest + (*GetOccurrenceNoteRequest)(nil), // 9: mockgrafeas.v1.GetOccurrenceNoteRequest + (*ListNotesRequest)(nil), // 10: mockgrafeas.v1.ListNotesRequest + (*ListNotesResponse)(nil), // 11: mockgrafeas.v1.ListNotesResponse + (*DeleteNoteRequest)(nil), // 12: mockgrafeas.v1.DeleteNoteRequest + (*CreateNoteRequest)(nil), // 13: mockgrafeas.v1.CreateNoteRequest + (*UpdateNoteRequest)(nil), // 14: mockgrafeas.v1.UpdateNoteRequest + (*ListNoteOccurrencesRequest)(nil), // 15: mockgrafeas.v1.ListNoteOccurrencesRequest + (*ListNoteOccurrencesResponse)(nil), // 16: mockgrafeas.v1.ListNoteOccurrencesResponse + (*BatchCreateNotesRequest)(nil), // 17: mockgrafeas.v1.BatchCreateNotesRequest + (*BatchCreateNotesResponse)(nil), // 18: mockgrafeas.v1.BatchCreateNotesResponse + (*BatchCreateOccurrencesRequest)(nil), // 19: mockgrafeas.v1.BatchCreateOccurrencesRequest + (*BatchCreateOccurrencesResponse)(nil), // 20: mockgrafeas.v1.BatchCreateOccurrencesResponse + nil, // 21: mockgrafeas.v1.BatchCreateNotesRequest.NotesEntry + (NoteKind)(0), // 22: mockgrafeas.v1.NoteKind + (*timestamp.Timestamp)(nil), // 23: google.protobuf.Timestamp + (*VulnerabilityOccurrence)(nil), // 24: mockgrafeas.v1.VulnerabilityOccurrence + (*BuildOccurrence)(nil), // 25: mockgrafeas.v1.BuildOccurrence + (*ImageOccurrence)(nil), // 26: mockgrafeas.v1.ImageOccurrence + (*PackageOccurrence)(nil), // 27: mockgrafeas.v1.PackageOccurrence + (*DeploymentOccurrence)(nil), // 28: mockgrafeas.v1.DeploymentOccurrence + (*DiscoveryOccurrence)(nil), // 29: mockgrafeas.v1.DiscoveryOccurrence + (*AttestationOccurrence)(nil), // 30: mockgrafeas.v1.AttestationOccurrence + (*UpgradeOccurrence)(nil), // 31: mockgrafeas.v1.UpgradeOccurrence + (*ComplianceOccurrence)(nil), // 32: mockgrafeas.v1.ComplianceOccurrence + (*DSSEAttestationOccurrence)(nil), // 33: mockgrafeas.v1.DSSEAttestationOccurrence + (*SBOMReferenceOccurrence)(nil), // 34: mockgrafeas.v1.SBOMReferenceOccurrence + (*Envelope)(nil), // 35: mockgrafeas.v1.Envelope + (*RelatedUrl)(nil), // 36: mockgrafeas.v1.RelatedUrl + (*VulnerabilityNote)(nil), // 37: mockgrafeas.v1.VulnerabilityNote + (*BuildNote)(nil), // 38: mockgrafeas.v1.BuildNote + (*ImageNote)(nil), // 39: mockgrafeas.v1.ImageNote + (*PackageNote)(nil), // 40: mockgrafeas.v1.PackageNote + (*DeploymentNote)(nil), // 41: mockgrafeas.v1.DeploymentNote + (*DiscoveryNote)(nil), // 42: mockgrafeas.v1.DiscoveryNote + (*AttestationNote)(nil), // 43: mockgrafeas.v1.AttestationNote + (*UpgradeNote)(nil), // 44: mockgrafeas.v1.UpgradeNote + (*ComplianceNote)(nil), // 45: mockgrafeas.v1.ComplianceNote + (*DSSEAttestationNote)(nil), // 46: mockgrafeas.v1.DSSEAttestationNote + (*VulnerabilityAssessmentNote)(nil), // 47: mockgrafeas.v1.VulnerabilityAssessmentNote + (*SBOMReferenceNote)(nil), // 48: mockgrafeas.v1.SBOMReferenceNote + (*field_mask.FieldMask)(nil), // 49: google.protobuf.FieldMask + (*empty.Empty)(nil), // 50: google.protobuf.Empty +} +var file_mockgrafeas_v1_grafeas_proto_depIdxs = []int32{ + 22, // 0: mockgrafeas.v1.Occurrence.kind:type_name -> mockgrafeas.v1.NoteKind + 23, // 1: mockgrafeas.v1.Occurrence.create_time:type_name -> google.protobuf.Timestamp + 23, // 2: mockgrafeas.v1.Occurrence.update_time:type_name -> google.protobuf.Timestamp + 24, // 3: mockgrafeas.v1.Occurrence.vulnerability:type_name -> mockgrafeas.v1.VulnerabilityOccurrence + 25, // 4: mockgrafeas.v1.Occurrence.build:type_name -> mockgrafeas.v1.BuildOccurrence + 26, // 5: mockgrafeas.v1.Occurrence.image:type_name -> mockgrafeas.v1.ImageOccurrence + 27, // 6: mockgrafeas.v1.Occurrence.package:type_name -> mockgrafeas.v1.PackageOccurrence + 28, // 7: mockgrafeas.v1.Occurrence.deployment:type_name -> mockgrafeas.v1.DeploymentOccurrence + 29, // 8: mockgrafeas.v1.Occurrence.discovery:type_name -> mockgrafeas.v1.DiscoveryOccurrence + 30, // 9: mockgrafeas.v1.Occurrence.attestation:type_name -> mockgrafeas.v1.AttestationOccurrence + 31, // 10: mockgrafeas.v1.Occurrence.upgrade:type_name -> mockgrafeas.v1.UpgradeOccurrence + 32, // 11: mockgrafeas.v1.Occurrence.compliance:type_name -> mockgrafeas.v1.ComplianceOccurrence + 33, // 12: mockgrafeas.v1.Occurrence.dsse_attestation:type_name -> mockgrafeas.v1.DSSEAttestationOccurrence + 34, // 13: mockgrafeas.v1.Occurrence.sbom_reference:type_name -> mockgrafeas.v1.SBOMReferenceOccurrence + 35, // 14: mockgrafeas.v1.Occurrence.envelope:type_name -> mockgrafeas.v1.Envelope + 22, // 15: mockgrafeas.v1.Note.kind:type_name -> mockgrafeas.v1.NoteKind + 36, // 16: mockgrafeas.v1.Note.related_url:type_name -> mockgrafeas.v1.RelatedUrl + 23, // 17: mockgrafeas.v1.Note.expiration_time:type_name -> google.protobuf.Timestamp + 23, // 18: mockgrafeas.v1.Note.create_time:type_name -> google.protobuf.Timestamp + 23, // 19: mockgrafeas.v1.Note.update_time:type_name -> google.protobuf.Timestamp + 37, // 20: mockgrafeas.v1.Note.vulnerability:type_name -> mockgrafeas.v1.VulnerabilityNote + 38, // 21: mockgrafeas.v1.Note.build:type_name -> mockgrafeas.v1.BuildNote + 39, // 22: mockgrafeas.v1.Note.image:type_name -> mockgrafeas.v1.ImageNote + 40, // 23: mockgrafeas.v1.Note.package:type_name -> mockgrafeas.v1.PackageNote + 41, // 24: mockgrafeas.v1.Note.deployment:type_name -> mockgrafeas.v1.DeploymentNote + 42, // 25: mockgrafeas.v1.Note.discovery:type_name -> mockgrafeas.v1.DiscoveryNote + 43, // 26: mockgrafeas.v1.Note.attestation:type_name -> mockgrafeas.v1.AttestationNote + 44, // 27: mockgrafeas.v1.Note.upgrade:type_name -> mockgrafeas.v1.UpgradeNote + 45, // 28: mockgrafeas.v1.Note.compliance:type_name -> mockgrafeas.v1.ComplianceNote + 46, // 29: mockgrafeas.v1.Note.dsse_attestation:type_name -> mockgrafeas.v1.DSSEAttestationNote + 47, // 30: mockgrafeas.v1.Note.vulnerability_assessment:type_name -> mockgrafeas.v1.VulnerabilityAssessmentNote + 48, // 31: mockgrafeas.v1.Note.sbom_reference:type_name -> mockgrafeas.v1.SBOMReferenceNote + 0, // 32: mockgrafeas.v1.ListOccurrencesResponse.occurrences:type_name -> mockgrafeas.v1.Occurrence + 0, // 33: mockgrafeas.v1.CreateOccurrenceRequest.occurrence:type_name -> mockgrafeas.v1.Occurrence + 0, // 34: mockgrafeas.v1.UpdateOccurrenceRequest.occurrence:type_name -> mockgrafeas.v1.Occurrence + 49, // 35: mockgrafeas.v1.UpdateOccurrenceRequest.update_mask:type_name -> google.protobuf.FieldMask + 1, // 36: mockgrafeas.v1.ListNotesResponse.notes:type_name -> mockgrafeas.v1.Note + 1, // 37: mockgrafeas.v1.CreateNoteRequest.note:type_name -> mockgrafeas.v1.Note + 1, // 38: mockgrafeas.v1.UpdateNoteRequest.note:type_name -> mockgrafeas.v1.Note + 49, // 39: mockgrafeas.v1.UpdateNoteRequest.update_mask:type_name -> google.protobuf.FieldMask + 0, // 40: mockgrafeas.v1.ListNoteOccurrencesResponse.occurrences:type_name -> mockgrafeas.v1.Occurrence + 21, // 41: mockgrafeas.v1.BatchCreateNotesRequest.notes:type_name -> mockgrafeas.v1.BatchCreateNotesRequest.NotesEntry + 1, // 42: mockgrafeas.v1.BatchCreateNotesResponse.notes:type_name -> mockgrafeas.v1.Note + 0, // 43: mockgrafeas.v1.BatchCreateOccurrencesRequest.occurrences:type_name -> mockgrafeas.v1.Occurrence + 0, // 44: mockgrafeas.v1.BatchCreateOccurrencesResponse.occurrences:type_name -> mockgrafeas.v1.Occurrence + 1, // 45: mockgrafeas.v1.BatchCreateNotesRequest.NotesEntry.value:type_name -> mockgrafeas.v1.Note + 2, // 46: mockgrafeas.v1.Grafeas.GetOccurrence:input_type -> mockgrafeas.v1.GetOccurrenceRequest + 3, // 47: mockgrafeas.v1.Grafeas.ListOccurrences:input_type -> mockgrafeas.v1.ListOccurrencesRequest + 5, // 48: mockgrafeas.v1.Grafeas.DeleteOccurrence:input_type -> mockgrafeas.v1.DeleteOccurrenceRequest + 6, // 49: mockgrafeas.v1.Grafeas.CreateOccurrence:input_type -> mockgrafeas.v1.CreateOccurrenceRequest + 19, // 50: mockgrafeas.v1.Grafeas.BatchCreateOccurrences:input_type -> mockgrafeas.v1.BatchCreateOccurrencesRequest + 7, // 51: mockgrafeas.v1.Grafeas.UpdateOccurrence:input_type -> mockgrafeas.v1.UpdateOccurrenceRequest + 9, // 52: mockgrafeas.v1.Grafeas.GetOccurrenceNote:input_type -> mockgrafeas.v1.GetOccurrenceNoteRequest + 8, // 53: mockgrafeas.v1.Grafeas.GetNote:input_type -> mockgrafeas.v1.GetNoteRequest + 10, // 54: mockgrafeas.v1.Grafeas.ListNotes:input_type -> mockgrafeas.v1.ListNotesRequest + 12, // 55: mockgrafeas.v1.Grafeas.DeleteNote:input_type -> mockgrafeas.v1.DeleteNoteRequest + 13, // 56: mockgrafeas.v1.Grafeas.CreateNote:input_type -> mockgrafeas.v1.CreateNoteRequest + 17, // 57: mockgrafeas.v1.Grafeas.BatchCreateNotes:input_type -> mockgrafeas.v1.BatchCreateNotesRequest + 14, // 58: mockgrafeas.v1.Grafeas.UpdateNote:input_type -> mockgrafeas.v1.UpdateNoteRequest + 15, // 59: mockgrafeas.v1.Grafeas.ListNoteOccurrences:input_type -> mockgrafeas.v1.ListNoteOccurrencesRequest + 0, // 60: mockgrafeas.v1.Grafeas.GetOccurrence:output_type -> mockgrafeas.v1.Occurrence + 4, // 61: mockgrafeas.v1.Grafeas.ListOccurrences:output_type -> mockgrafeas.v1.ListOccurrencesResponse + 50, // 62: mockgrafeas.v1.Grafeas.DeleteOccurrence:output_type -> google.protobuf.Empty + 0, // 63: mockgrafeas.v1.Grafeas.CreateOccurrence:output_type -> mockgrafeas.v1.Occurrence + 20, // 64: mockgrafeas.v1.Grafeas.BatchCreateOccurrences:output_type -> mockgrafeas.v1.BatchCreateOccurrencesResponse + 0, // 65: mockgrafeas.v1.Grafeas.UpdateOccurrence:output_type -> mockgrafeas.v1.Occurrence + 1, // 66: mockgrafeas.v1.Grafeas.GetOccurrenceNote:output_type -> mockgrafeas.v1.Note + 1, // 67: mockgrafeas.v1.Grafeas.GetNote:output_type -> mockgrafeas.v1.Note + 11, // 68: mockgrafeas.v1.Grafeas.ListNotes:output_type -> mockgrafeas.v1.ListNotesResponse + 50, // 69: mockgrafeas.v1.Grafeas.DeleteNote:output_type -> google.protobuf.Empty + 1, // 70: mockgrafeas.v1.Grafeas.CreateNote:output_type -> mockgrafeas.v1.Note + 18, // 71: mockgrafeas.v1.Grafeas.BatchCreateNotes:output_type -> mockgrafeas.v1.BatchCreateNotesResponse + 1, // 72: mockgrafeas.v1.Grafeas.UpdateNote:output_type -> mockgrafeas.v1.Note + 16, // 73: mockgrafeas.v1.Grafeas.ListNoteOccurrences:output_type -> mockgrafeas.v1.ListNoteOccurrencesResponse + 60, // [60:74] is the sub-list for method output_type + 46, // [46:60] is the sub-list for method input_type + 46, // [46:46] is the sub-list for extension type_name + 46, // [46:46] is the sub-list for extension extendee + 0, // [0:46] is the sub-list for field type_name +} + +func init() { file_mockgrafeas_v1_grafeas_proto_init() } +func file_mockgrafeas_v1_grafeas_proto_init() { + if File_mockgrafeas_v1_grafeas_proto != nil { + return + } + file_mockgrafeas_v1_attestation_proto_init() + file_mockgrafeas_v1_build_proto_init() + file_mockgrafeas_v1_common_proto_init() + file_mockgrafeas_v1_compliance_proto_init() + file_mockgrafeas_v1_deployment_proto_init() + file_mockgrafeas_v1_discovery_proto_init() + file_mockgrafeas_v1_dsse_attestation_proto_init() + file_mockgrafeas_v1_image_proto_init() + file_mockgrafeas_v1_package_proto_init() + file_mockgrafeas_v1_sbom_proto_init() + file_mockgrafeas_v1_upgrade_proto_init() + file_mockgrafeas_v1_vex_proto_init() + file_mockgrafeas_v1_vulnerability_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgrafeas_v1_grafeas_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Occurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_grafeas_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Note); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_grafeas_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetOccurrenceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_grafeas_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListOccurrencesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_grafeas_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListOccurrencesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_grafeas_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteOccurrenceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_grafeas_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateOccurrenceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_grafeas_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateOccurrenceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_grafeas_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetNoteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_grafeas_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetOccurrenceNoteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_grafeas_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNotesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_grafeas_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNotesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_grafeas_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DeleteNoteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_grafeas_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateNoteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_grafeas_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateNoteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_grafeas_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNoteOccurrencesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_grafeas_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListNoteOccurrencesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_grafeas_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchCreateNotesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_grafeas_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchCreateNotesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_grafeas_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchCreateOccurrencesRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_grafeas_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchCreateOccurrencesResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgrafeas_v1_grafeas_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*Occurrence_Vulnerability)(nil), + (*Occurrence_Build)(nil), + (*Occurrence_Image)(nil), + (*Occurrence_Package)(nil), + (*Occurrence_Deployment)(nil), + (*Occurrence_Discovery)(nil), + (*Occurrence_Attestation)(nil), + (*Occurrence_Upgrade)(nil), + (*Occurrence_Compliance)(nil), + (*Occurrence_DsseAttestation)(nil), + (*Occurrence_SbomReference)(nil), + } + file_mockgrafeas_v1_grafeas_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*Note_Vulnerability)(nil), + (*Note_Build)(nil), + (*Note_Image)(nil), + (*Note_Package)(nil), + (*Note_Deployment)(nil), + (*Note_Discovery)(nil), + (*Note_Attestation)(nil), + (*Note_Upgrade)(nil), + (*Note_Compliance)(nil), + (*Note_DsseAttestation)(nil), + (*Note_VulnerabilityAssessment)(nil), + (*Note_SbomReference)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgrafeas_v1_grafeas_proto_rawDesc, + NumEnums: 0, + NumMessages: 22, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_mockgrafeas_v1_grafeas_proto_goTypes, + DependencyIndexes: file_mockgrafeas_v1_grafeas_proto_depIdxs, + MessageInfos: file_mockgrafeas_v1_grafeas_proto_msgTypes, + }.Build() + File_mockgrafeas_v1_grafeas_proto = out.File + file_mockgrafeas_v1_grafeas_proto_rawDesc = nil + file_mockgrafeas_v1_grafeas_proto_goTypes = nil + file_mockgrafeas_v1_grafeas_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgrafeas/v1/grafeas.pb.gw.go b/mockgcp/generated/mockgrafeas/v1/grafeas.pb.gw.go new file mode 100644 index 0000000000..bb325dfa68 --- /dev/null +++ b/mockgcp/generated/mockgrafeas/v1/grafeas.pb.gw.go @@ -0,0 +1,2432 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: mockgrafeas/v1/grafeas.proto + +/* +Package grafeas is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package grafeas + +import ( + "context" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var _ codes.Code +var _ io.Reader +var _ status.Status +var _ = runtime.String +var _ = utilities.NewDoubleArray +var _ = metadata.Join + +func request_Grafeas_GetOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, client GrafeasClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetOccurrenceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetOccurrence(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Grafeas_GetOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, server GrafeasServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetOccurrenceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetOccurrence(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Grafeas_GetOccurrence_1(ctx context.Context, marshaler runtime.Marshaler, client GrafeasClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetOccurrenceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetOccurrence(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Grafeas_GetOccurrence_1(ctx context.Context, marshaler runtime.Marshaler, server GrafeasServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetOccurrenceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetOccurrence(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Grafeas_ListOccurrences_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_Grafeas_ListOccurrences_0(ctx context.Context, marshaler runtime.Marshaler, client GrafeasClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListOccurrencesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Grafeas_ListOccurrences_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListOccurrences(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Grafeas_ListOccurrences_0(ctx context.Context, marshaler runtime.Marshaler, server GrafeasServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListOccurrencesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Grafeas_ListOccurrences_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListOccurrences(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Grafeas_ListOccurrences_1 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_Grafeas_ListOccurrences_1(ctx context.Context, marshaler runtime.Marshaler, client GrafeasClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListOccurrencesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Grafeas_ListOccurrences_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListOccurrences(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Grafeas_ListOccurrences_1(ctx context.Context, marshaler runtime.Marshaler, server GrafeasServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListOccurrencesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Grafeas_ListOccurrences_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListOccurrences(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Grafeas_DeleteOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, client GrafeasClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteOccurrenceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteOccurrence(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Grafeas_DeleteOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, server GrafeasServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteOccurrenceRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteOccurrence(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Grafeas_CreateOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, client GrafeasClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateOccurrenceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Occurrence); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.CreateOccurrence(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Grafeas_CreateOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, server GrafeasServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateOccurrenceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Occurrence); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.CreateOccurrence(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Grafeas_BatchCreateOccurrences_0(ctx context.Context, marshaler runtime.Marshaler, client GrafeasClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchCreateOccurrencesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.BatchCreateOccurrences(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Grafeas_BatchCreateOccurrences_0(ctx context.Context, marshaler runtime.Marshaler, server GrafeasServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchCreateOccurrencesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.BatchCreateOccurrences(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Grafeas_UpdateOccurrence_0 = &utilities.DoubleArray{Encoding: map[string]int{"occurrence": 0, "name": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_Grafeas_UpdateOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, client GrafeasClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateOccurrenceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Occurrence); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Occurrence); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Grafeas_UpdateOccurrence_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateOccurrence(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Grafeas_UpdateOccurrence_0(ctx context.Context, marshaler runtime.Marshaler, server GrafeasServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateOccurrenceRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Occurrence); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Occurrence); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Grafeas_UpdateOccurrence_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateOccurrence(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Grafeas_GetOccurrenceNote_0(ctx context.Context, marshaler runtime.Marshaler, client GrafeasClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetOccurrenceNoteRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetOccurrenceNote(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Grafeas_GetOccurrenceNote_0(ctx context.Context, marshaler runtime.Marshaler, server GrafeasServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetOccurrenceNoteRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetOccurrenceNote(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Grafeas_GetOccurrenceNote_1(ctx context.Context, marshaler runtime.Marshaler, client GrafeasClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetOccurrenceNoteRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetOccurrenceNote(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Grafeas_GetOccurrenceNote_1(ctx context.Context, marshaler runtime.Marshaler, server GrafeasServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetOccurrenceNoteRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetOccurrenceNote(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Grafeas_GetNote_0(ctx context.Context, marshaler runtime.Marshaler, client GrafeasClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetNoteRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetNote(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Grafeas_GetNote_0(ctx context.Context, marshaler runtime.Marshaler, server GrafeasServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetNoteRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetNote(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Grafeas_GetNote_1(ctx context.Context, marshaler runtime.Marshaler, client GrafeasClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetNoteRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.GetNote(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Grafeas_GetNote_1(ctx context.Context, marshaler runtime.Marshaler, server GrafeasServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetNoteRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.GetNote(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Grafeas_ListNotes_0 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_Grafeas_ListNotes_0(ctx context.Context, marshaler runtime.Marshaler, client GrafeasClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListNotesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Grafeas_ListNotes_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListNotes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Grafeas_ListNotes_0(ctx context.Context, marshaler runtime.Marshaler, server GrafeasServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListNotesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Grafeas_ListNotes_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListNotes(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Grafeas_ListNotes_1 = &utilities.DoubleArray{Encoding: map[string]int{"parent": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_Grafeas_ListNotes_1(ctx context.Context, marshaler runtime.Marshaler, client GrafeasClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListNotesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Grafeas_ListNotes_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListNotes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Grafeas_ListNotes_1(ctx context.Context, marshaler runtime.Marshaler, server GrafeasServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListNotesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Grafeas_ListNotes_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListNotes(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Grafeas_DeleteNote_0(ctx context.Context, marshaler runtime.Marshaler, client GrafeasClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteNoteRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := client.DeleteNote(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Grafeas_DeleteNote_0(ctx context.Context, marshaler runtime.Marshaler, server GrafeasServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq DeleteNoteRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + msg, err := server.DeleteNote(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Grafeas_CreateNote_0 = &utilities.DoubleArray{Encoding: map[string]int{"note": 0, "parent": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_Grafeas_CreateNote_0(ctx context.Context, marshaler runtime.Marshaler, client GrafeasClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateNoteRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Note); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Grafeas_CreateNote_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.CreateNote(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Grafeas_CreateNote_0(ctx context.Context, marshaler runtime.Marshaler, server GrafeasServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq CreateNoteRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Note); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Grafeas_CreateNote_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.CreateNote(ctx, &protoReq) + return msg, metadata, err + +} + +func request_Grafeas_BatchCreateNotes_0(ctx context.Context, marshaler runtime.Marshaler, client GrafeasClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchCreateNotesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := client.BatchCreateNotes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Grafeas_BatchCreateNotes_0(ctx context.Context, marshaler runtime.Marshaler, server GrafeasServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq BatchCreateNotesRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["parent"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "parent") + } + + protoReq.Parent, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "parent", err) + } + + msg, err := server.BatchCreateNotes(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Grafeas_UpdateNote_0 = &utilities.DoubleArray{Encoding: map[string]int{"note": 0, "name": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} +) + +func request_Grafeas_UpdateNote_0(ctx context.Context, marshaler runtime.Marshaler, client GrafeasClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateNoteRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Note); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Note); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Grafeas_UpdateNote_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.UpdateNote(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Grafeas_UpdateNote_0(ctx context.Context, marshaler runtime.Marshaler, server GrafeasServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq UpdateNoteRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Note); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if protoReq.UpdateMask == nil || len(protoReq.UpdateMask.GetPaths()) == 0 { + if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.Note); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } else { + protoReq.UpdateMask = fieldMask + } + } + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Grafeas_UpdateNote_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.UpdateNote(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Grafeas_ListNoteOccurrences_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_Grafeas_ListNoteOccurrences_0(ctx context.Context, marshaler runtime.Marshaler, client GrafeasClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListNoteOccurrencesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Grafeas_ListNoteOccurrences_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListNoteOccurrences(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Grafeas_ListNoteOccurrences_0(ctx context.Context, marshaler runtime.Marshaler, server GrafeasServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListNoteOccurrencesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Grafeas_ListNoteOccurrences_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListNoteOccurrences(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_Grafeas_ListNoteOccurrences_1 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} +) + +func request_Grafeas_ListNoteOccurrences_1(ctx context.Context, marshaler runtime.Marshaler, client GrafeasClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListNoteOccurrencesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Grafeas_ListNoteOccurrences_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ListNoteOccurrences(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_Grafeas_ListNoteOccurrences_1(ctx context.Context, marshaler runtime.Marshaler, server GrafeasServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ListNoteOccurrencesRequest + var metadata runtime.ServerMetadata + + var ( + val string + ok bool + err error + _ = err + ) + + val, ok = pathParams["name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "name") + } + + protoReq.Name, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) + } + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Grafeas_ListNoteOccurrences_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ListNoteOccurrences(ctx, &protoReq) + return msg, metadata, err + +} + +// RegisterGrafeasHandlerServer registers the http handlers for service Grafeas to "mux". +// UnaryRPC :call GrafeasServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterGrafeasHandlerFromEndpoint instead. +func RegisterGrafeasHandlerServer(ctx context.Context, mux *runtime.ServeMux, server GrafeasServer) error { + + mux.Handle("GET", pattern_Grafeas_GetOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/GetOccurrence", runtime.WithHTTPPathPattern("/v1/{name=projects/*/occurrences/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Grafeas_GetOccurrence_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_GetOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Grafeas_GetOccurrence_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/GetOccurrence", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*/occurrences/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Grafeas_GetOccurrence_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_GetOccurrence_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Grafeas_ListOccurrences_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/ListOccurrences", runtime.WithHTTPPathPattern("/v1/{parent=projects/*}/occurrences")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Grafeas_ListOccurrences_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_ListOccurrences_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Grafeas_ListOccurrences_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/ListOccurrences", runtime.WithHTTPPathPattern("/v1/{parent=projects/*/locations/*}/occurrences")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Grafeas_ListOccurrences_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_ListOccurrences_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_Grafeas_DeleteOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/DeleteOccurrence", runtime.WithHTTPPathPattern("/v1/{name=projects/*/occurrences/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Grafeas_DeleteOccurrence_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_DeleteOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Grafeas_CreateOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/CreateOccurrence", runtime.WithHTTPPathPattern("/v1/{parent=projects/*}/occurrences")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Grafeas_CreateOccurrence_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_CreateOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Grafeas_BatchCreateOccurrences_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/BatchCreateOccurrences", runtime.WithHTTPPathPattern("/v1/{parent=projects/*}/occurrences:batchCreate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Grafeas_BatchCreateOccurrences_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_BatchCreateOccurrences_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_Grafeas_UpdateOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/UpdateOccurrence", runtime.WithHTTPPathPattern("/v1/{name=projects/*/occurrences/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Grafeas_UpdateOccurrence_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_UpdateOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Grafeas_GetOccurrenceNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/GetOccurrenceNote", runtime.WithHTTPPathPattern("/v1/{name=projects/*/occurrences/*}/notes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Grafeas_GetOccurrenceNote_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_GetOccurrenceNote_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Grafeas_GetOccurrenceNote_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/GetOccurrenceNote", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*/occurrences/*}/notes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Grafeas_GetOccurrenceNote_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_GetOccurrenceNote_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Grafeas_GetNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/GetNote", runtime.WithHTTPPathPattern("/v1/{name=projects/*/notes/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Grafeas_GetNote_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_GetNote_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Grafeas_GetNote_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/GetNote", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*/notes/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Grafeas_GetNote_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_GetNote_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Grafeas_ListNotes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/ListNotes", runtime.WithHTTPPathPattern("/v1/{parent=projects/*}/notes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Grafeas_ListNotes_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_ListNotes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Grafeas_ListNotes_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/ListNotes", runtime.WithHTTPPathPattern("/v1/{parent=projects/*/locations/*}/notes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Grafeas_ListNotes_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_ListNotes_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_Grafeas_DeleteNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/DeleteNote", runtime.WithHTTPPathPattern("/v1/{name=projects/*/notes/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Grafeas_DeleteNote_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_DeleteNote_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Grafeas_CreateNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/CreateNote", runtime.WithHTTPPathPattern("/v1/{parent=projects/*}/notes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Grafeas_CreateNote_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_CreateNote_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Grafeas_BatchCreateNotes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/BatchCreateNotes", runtime.WithHTTPPathPattern("/v1/{parent=projects/*}/notes:batchCreate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Grafeas_BatchCreateNotes_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_BatchCreateNotes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_Grafeas_UpdateNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/UpdateNote", runtime.WithHTTPPathPattern("/v1/{name=projects/*/notes/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Grafeas_UpdateNote_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_UpdateNote_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Grafeas_ListNoteOccurrences_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/ListNoteOccurrences", runtime.WithHTTPPathPattern("/v1/{name=projects/*/notes/*}/occurrences")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Grafeas_ListNoteOccurrences_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_ListNoteOccurrences_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Grafeas_ListNoteOccurrences_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/ListNoteOccurrences", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*/notes/*}/occurrences")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_Grafeas_ListNoteOccurrences_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_ListNoteOccurrences_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +// RegisterGrafeasHandlerFromEndpoint is same as RegisterGrafeasHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterGrafeasHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.Dial(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + + return RegisterGrafeasHandler(ctx, mux, conn) +} + +// RegisterGrafeasHandler registers the http handlers for service Grafeas to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterGrafeasHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterGrafeasHandlerClient(ctx, mux, NewGrafeasClient(conn)) +} + +// RegisterGrafeasHandlerClient registers the http handlers for service Grafeas +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "GrafeasClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "GrafeasClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "GrafeasClient" to call the correct interceptors. +func RegisterGrafeasHandlerClient(ctx context.Context, mux *runtime.ServeMux, client GrafeasClient) error { + + mux.Handle("GET", pattern_Grafeas_GetOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/GetOccurrence", runtime.WithHTTPPathPattern("/v1/{name=projects/*/occurrences/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Grafeas_GetOccurrence_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_GetOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Grafeas_GetOccurrence_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/GetOccurrence", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*/occurrences/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Grafeas_GetOccurrence_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_GetOccurrence_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Grafeas_ListOccurrences_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/ListOccurrences", runtime.WithHTTPPathPattern("/v1/{parent=projects/*}/occurrences")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Grafeas_ListOccurrences_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_ListOccurrences_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Grafeas_ListOccurrences_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/ListOccurrences", runtime.WithHTTPPathPattern("/v1/{parent=projects/*/locations/*}/occurrences")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Grafeas_ListOccurrences_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_ListOccurrences_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_Grafeas_DeleteOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/DeleteOccurrence", runtime.WithHTTPPathPattern("/v1/{name=projects/*/occurrences/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Grafeas_DeleteOccurrence_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_DeleteOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Grafeas_CreateOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/CreateOccurrence", runtime.WithHTTPPathPattern("/v1/{parent=projects/*}/occurrences")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Grafeas_CreateOccurrence_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_CreateOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Grafeas_BatchCreateOccurrences_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/BatchCreateOccurrences", runtime.WithHTTPPathPattern("/v1/{parent=projects/*}/occurrences:batchCreate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Grafeas_BatchCreateOccurrences_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_BatchCreateOccurrences_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_Grafeas_UpdateOccurrence_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/UpdateOccurrence", runtime.WithHTTPPathPattern("/v1/{name=projects/*/occurrences/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Grafeas_UpdateOccurrence_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_UpdateOccurrence_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Grafeas_GetOccurrenceNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/GetOccurrenceNote", runtime.WithHTTPPathPattern("/v1/{name=projects/*/occurrences/*}/notes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Grafeas_GetOccurrenceNote_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_GetOccurrenceNote_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Grafeas_GetOccurrenceNote_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/GetOccurrenceNote", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*/occurrences/*}/notes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Grafeas_GetOccurrenceNote_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_GetOccurrenceNote_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Grafeas_GetNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/GetNote", runtime.WithHTTPPathPattern("/v1/{name=projects/*/notes/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Grafeas_GetNote_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_GetNote_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Grafeas_GetNote_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/GetNote", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*/notes/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Grafeas_GetNote_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_GetNote_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Grafeas_ListNotes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/ListNotes", runtime.WithHTTPPathPattern("/v1/{parent=projects/*}/notes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Grafeas_ListNotes_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_ListNotes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Grafeas_ListNotes_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/ListNotes", runtime.WithHTTPPathPattern("/v1/{parent=projects/*/locations/*}/notes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Grafeas_ListNotes_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_ListNotes_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("DELETE", pattern_Grafeas_DeleteNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/DeleteNote", runtime.WithHTTPPathPattern("/v1/{name=projects/*/notes/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Grafeas_DeleteNote_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_DeleteNote_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Grafeas_CreateNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/CreateNote", runtime.WithHTTPPathPattern("/v1/{parent=projects/*}/notes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Grafeas_CreateNote_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_CreateNote_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("POST", pattern_Grafeas_BatchCreateNotes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/BatchCreateNotes", runtime.WithHTTPPathPattern("/v1/{parent=projects/*}/notes:batchCreate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Grafeas_BatchCreateNotes_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_BatchCreateNotes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("PATCH", pattern_Grafeas_UpdateNote_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/UpdateNote", runtime.WithHTTPPathPattern("/v1/{name=projects/*/notes/*}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Grafeas_UpdateNote_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_UpdateNote_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Grafeas_ListNoteOccurrences_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/ListNoteOccurrences", runtime.WithHTTPPathPattern("/v1/{name=projects/*/notes/*}/occurrences")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Grafeas_ListNoteOccurrences_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_ListNoteOccurrences_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_Grafeas_ListNoteOccurrences_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/mockgrafeas.v1.Grafeas/ListNoteOccurrences", runtime.WithHTTPPathPattern("/v1/{name=projects/*/locations/*/notes/*}/occurrences")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_Grafeas_ListNoteOccurrences_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_Grafeas_ListNoteOccurrences_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + return nil +} + +var ( + pattern_Grafeas_GetOccurrence_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3}, []string{"v1", "projects", "occurrences", "name"}, "")) + + pattern_Grafeas_GetOccurrence_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1", "projects", "locations", "occurrences", "name"}, "")) + + pattern_Grafeas_ListOccurrences_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 2, 5, 2, 2, 3}, []string{"v1", "projects", "parent", "occurrences"}, "")) + + pattern_Grafeas_ListOccurrences_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1", "projects", "locations", "parent", "occurrences"}, "")) + + pattern_Grafeas_DeleteOccurrence_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3}, []string{"v1", "projects", "occurrences", "name"}, "")) + + pattern_Grafeas_CreateOccurrence_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 2, 5, 2, 2, 3}, []string{"v1", "projects", "parent", "occurrences"}, "")) + + pattern_Grafeas_BatchCreateOccurrences_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 2, 5, 2, 2, 3}, []string{"v1", "projects", "parent", "occurrences"}, "batchCreate")) + + pattern_Grafeas_UpdateOccurrence_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3}, []string{"v1", "projects", "occurrences", "name"}, "")) + + pattern_Grafeas_GetOccurrenceNote_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1", "projects", "occurrences", "name", "notes"}, "")) + + pattern_Grafeas_GetOccurrenceNote_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1", "projects", "locations", "occurrences", "name", "notes"}, "")) + + pattern_Grafeas_GetNote_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3}, []string{"v1", "projects", "notes", "name"}, "")) + + pattern_Grafeas_GetNote_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4}, []string{"v1", "projects", "locations", "notes", "name"}, "")) + + pattern_Grafeas_ListNotes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 2, 5, 2, 2, 3}, []string{"v1", "projects", "parent", "notes"}, "")) + + pattern_Grafeas_ListNotes_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1", "projects", "locations", "parent", "notes"}, "")) + + pattern_Grafeas_DeleteNote_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3}, []string{"v1", "projects", "notes", "name"}, "")) + + pattern_Grafeas_CreateNote_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 2, 5, 2, 2, 3}, []string{"v1", "projects", "parent", "notes"}, "")) + + pattern_Grafeas_BatchCreateNotes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 2, 5, 2, 2, 3}, []string{"v1", "projects", "parent", "notes"}, "batchCreate")) + + pattern_Grafeas_UpdateNote_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3}, []string{"v1", "projects", "notes", "name"}, "")) + + pattern_Grafeas_ListNoteOccurrences_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 4, 4, 5, 3, 2, 4}, []string{"v1", "projects", "notes", "name", "occurrences"}, "")) + + pattern_Grafeas_ListNoteOccurrences_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 2, 2, 1, 0, 2, 3, 1, 0, 4, 6, 5, 4, 2, 5}, []string{"v1", "projects", "locations", "notes", "name", "occurrences"}, "")) +) + +var ( + forward_Grafeas_GetOccurrence_0 = runtime.ForwardResponseMessage + + forward_Grafeas_GetOccurrence_1 = runtime.ForwardResponseMessage + + forward_Grafeas_ListOccurrences_0 = runtime.ForwardResponseMessage + + forward_Grafeas_ListOccurrences_1 = runtime.ForwardResponseMessage + + forward_Grafeas_DeleteOccurrence_0 = runtime.ForwardResponseMessage + + forward_Grafeas_CreateOccurrence_0 = runtime.ForwardResponseMessage + + forward_Grafeas_BatchCreateOccurrences_0 = runtime.ForwardResponseMessage + + forward_Grafeas_UpdateOccurrence_0 = runtime.ForwardResponseMessage + + forward_Grafeas_GetOccurrenceNote_0 = runtime.ForwardResponseMessage + + forward_Grafeas_GetOccurrenceNote_1 = runtime.ForwardResponseMessage + + forward_Grafeas_GetNote_0 = runtime.ForwardResponseMessage + + forward_Grafeas_GetNote_1 = runtime.ForwardResponseMessage + + forward_Grafeas_ListNotes_0 = runtime.ForwardResponseMessage + + forward_Grafeas_ListNotes_1 = runtime.ForwardResponseMessage + + forward_Grafeas_DeleteNote_0 = runtime.ForwardResponseMessage + + forward_Grafeas_CreateNote_0 = runtime.ForwardResponseMessage + + forward_Grafeas_BatchCreateNotes_0 = runtime.ForwardResponseMessage + + forward_Grafeas_UpdateNote_0 = runtime.ForwardResponseMessage + + forward_Grafeas_ListNoteOccurrences_0 = runtime.ForwardResponseMessage + + forward_Grafeas_ListNoteOccurrences_1 = runtime.ForwardResponseMessage +) diff --git a/mockgcp/generated/mockgrafeas/v1/grafeas_grpc.pb.go b/mockgcp/generated/mockgrafeas/v1/grafeas_grpc.pb.go new file mode 100644 index 0000000000..0fa0860ac3 --- /dev/null +++ b/mockgcp/generated/mockgrafeas/v1/grafeas_grpc.pb.go @@ -0,0 +1,612 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// versions: +// - protoc-gen-go-grpc v1.2.0 +// - protoc v3.12.4 +// source: mockgrafeas/v1/grafeas.proto + +package grafeas + +import ( + context "context" + empty "github.com/golang/protobuf/ptypes/empty" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// GrafeasClient is the client API for Grafeas service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type GrafeasClient interface { + // Gets the specified occurrence. + GetOccurrence(ctx context.Context, in *GetOccurrenceRequest, opts ...grpc.CallOption) (*Occurrence, error) + // Lists occurrences for the specified project. + ListOccurrences(ctx context.Context, in *ListOccurrencesRequest, opts ...grpc.CallOption) (*ListOccurrencesResponse, error) + // Deletes the specified occurrence. For example, use this method to delete an + // occurrence when the occurrence is no longer applicable for the given + // resource. + DeleteOccurrence(ctx context.Context, in *DeleteOccurrenceRequest, opts ...grpc.CallOption) (*empty.Empty, error) + // Creates a new occurrence. + CreateOccurrence(ctx context.Context, in *CreateOccurrenceRequest, opts ...grpc.CallOption) (*Occurrence, error) + // Creates new occurrences in batch. + BatchCreateOccurrences(ctx context.Context, in *BatchCreateOccurrencesRequest, opts ...grpc.CallOption) (*BatchCreateOccurrencesResponse, error) + // Updates the specified occurrence. + UpdateOccurrence(ctx context.Context, in *UpdateOccurrenceRequest, opts ...grpc.CallOption) (*Occurrence, error) + // Gets the note attached to the specified occurrence. Consumer projects can + // use this method to get a note that belongs to a provider project. + GetOccurrenceNote(ctx context.Context, in *GetOccurrenceNoteRequest, opts ...grpc.CallOption) (*Note, error) + // Gets the specified note. + GetNote(ctx context.Context, in *GetNoteRequest, opts ...grpc.CallOption) (*Note, error) + // Lists notes for the specified project. + ListNotes(ctx context.Context, in *ListNotesRequest, opts ...grpc.CallOption) (*ListNotesResponse, error) + // Deletes the specified note. + DeleteNote(ctx context.Context, in *DeleteNoteRequest, opts ...grpc.CallOption) (*empty.Empty, error) + // Creates a new note. + CreateNote(ctx context.Context, in *CreateNoteRequest, opts ...grpc.CallOption) (*Note, error) + // Creates new notes in batch. + BatchCreateNotes(ctx context.Context, in *BatchCreateNotesRequest, opts ...grpc.CallOption) (*BatchCreateNotesResponse, error) + // Updates the specified note. + UpdateNote(ctx context.Context, in *UpdateNoteRequest, opts ...grpc.CallOption) (*Note, error) + // Lists occurrences referencing the specified note. Provider projects can use + // this method to get all occurrences across consumer projects referencing the + // specified note. + ListNoteOccurrences(ctx context.Context, in *ListNoteOccurrencesRequest, opts ...grpc.CallOption) (*ListNoteOccurrencesResponse, error) +} + +type grafeasClient struct { + cc grpc.ClientConnInterface +} + +func NewGrafeasClient(cc grpc.ClientConnInterface) GrafeasClient { + return &grafeasClient{cc} +} + +func (c *grafeasClient) GetOccurrence(ctx context.Context, in *GetOccurrenceRequest, opts ...grpc.CallOption) (*Occurrence, error) { + out := new(Occurrence) + err := c.cc.Invoke(ctx, "/mockgrafeas.v1.Grafeas/GetOccurrence", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *grafeasClient) ListOccurrences(ctx context.Context, in *ListOccurrencesRequest, opts ...grpc.CallOption) (*ListOccurrencesResponse, error) { + out := new(ListOccurrencesResponse) + err := c.cc.Invoke(ctx, "/mockgrafeas.v1.Grafeas/ListOccurrences", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *grafeasClient) DeleteOccurrence(ctx context.Context, in *DeleteOccurrenceRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/mockgrafeas.v1.Grafeas/DeleteOccurrence", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *grafeasClient) CreateOccurrence(ctx context.Context, in *CreateOccurrenceRequest, opts ...grpc.CallOption) (*Occurrence, error) { + out := new(Occurrence) + err := c.cc.Invoke(ctx, "/mockgrafeas.v1.Grafeas/CreateOccurrence", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *grafeasClient) BatchCreateOccurrences(ctx context.Context, in *BatchCreateOccurrencesRequest, opts ...grpc.CallOption) (*BatchCreateOccurrencesResponse, error) { + out := new(BatchCreateOccurrencesResponse) + err := c.cc.Invoke(ctx, "/mockgrafeas.v1.Grafeas/BatchCreateOccurrences", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *grafeasClient) UpdateOccurrence(ctx context.Context, in *UpdateOccurrenceRequest, opts ...grpc.CallOption) (*Occurrence, error) { + out := new(Occurrence) + err := c.cc.Invoke(ctx, "/mockgrafeas.v1.Grafeas/UpdateOccurrence", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *grafeasClient) GetOccurrenceNote(ctx context.Context, in *GetOccurrenceNoteRequest, opts ...grpc.CallOption) (*Note, error) { + out := new(Note) + err := c.cc.Invoke(ctx, "/mockgrafeas.v1.Grafeas/GetOccurrenceNote", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *grafeasClient) GetNote(ctx context.Context, in *GetNoteRequest, opts ...grpc.CallOption) (*Note, error) { + out := new(Note) + err := c.cc.Invoke(ctx, "/mockgrafeas.v1.Grafeas/GetNote", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *grafeasClient) ListNotes(ctx context.Context, in *ListNotesRequest, opts ...grpc.CallOption) (*ListNotesResponse, error) { + out := new(ListNotesResponse) + err := c.cc.Invoke(ctx, "/mockgrafeas.v1.Grafeas/ListNotes", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *grafeasClient) DeleteNote(ctx context.Context, in *DeleteNoteRequest, opts ...grpc.CallOption) (*empty.Empty, error) { + out := new(empty.Empty) + err := c.cc.Invoke(ctx, "/mockgrafeas.v1.Grafeas/DeleteNote", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *grafeasClient) CreateNote(ctx context.Context, in *CreateNoteRequest, opts ...grpc.CallOption) (*Note, error) { + out := new(Note) + err := c.cc.Invoke(ctx, "/mockgrafeas.v1.Grafeas/CreateNote", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *grafeasClient) BatchCreateNotes(ctx context.Context, in *BatchCreateNotesRequest, opts ...grpc.CallOption) (*BatchCreateNotesResponse, error) { + out := new(BatchCreateNotesResponse) + err := c.cc.Invoke(ctx, "/mockgrafeas.v1.Grafeas/BatchCreateNotes", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *grafeasClient) UpdateNote(ctx context.Context, in *UpdateNoteRequest, opts ...grpc.CallOption) (*Note, error) { + out := new(Note) + err := c.cc.Invoke(ctx, "/mockgrafeas.v1.Grafeas/UpdateNote", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *grafeasClient) ListNoteOccurrences(ctx context.Context, in *ListNoteOccurrencesRequest, opts ...grpc.CallOption) (*ListNoteOccurrencesResponse, error) { + out := new(ListNoteOccurrencesResponse) + err := c.cc.Invoke(ctx, "/mockgrafeas.v1.Grafeas/ListNoteOccurrences", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// GrafeasServer is the server API for Grafeas service. +// All implementations must embed UnimplementedGrafeasServer +// for forward compatibility +type GrafeasServer interface { + // Gets the specified occurrence. + GetOccurrence(context.Context, *GetOccurrenceRequest) (*Occurrence, error) + // Lists occurrences for the specified project. + ListOccurrences(context.Context, *ListOccurrencesRequest) (*ListOccurrencesResponse, error) + // Deletes the specified occurrence. For example, use this method to delete an + // occurrence when the occurrence is no longer applicable for the given + // resource. + DeleteOccurrence(context.Context, *DeleteOccurrenceRequest) (*empty.Empty, error) + // Creates a new occurrence. + CreateOccurrence(context.Context, *CreateOccurrenceRequest) (*Occurrence, error) + // Creates new occurrences in batch. + BatchCreateOccurrences(context.Context, *BatchCreateOccurrencesRequest) (*BatchCreateOccurrencesResponse, error) + // Updates the specified occurrence. + UpdateOccurrence(context.Context, *UpdateOccurrenceRequest) (*Occurrence, error) + // Gets the note attached to the specified occurrence. Consumer projects can + // use this method to get a note that belongs to a provider project. + GetOccurrenceNote(context.Context, *GetOccurrenceNoteRequest) (*Note, error) + // Gets the specified note. + GetNote(context.Context, *GetNoteRequest) (*Note, error) + // Lists notes for the specified project. + ListNotes(context.Context, *ListNotesRequest) (*ListNotesResponse, error) + // Deletes the specified note. + DeleteNote(context.Context, *DeleteNoteRequest) (*empty.Empty, error) + // Creates a new note. + CreateNote(context.Context, *CreateNoteRequest) (*Note, error) + // Creates new notes in batch. + BatchCreateNotes(context.Context, *BatchCreateNotesRequest) (*BatchCreateNotesResponse, error) + // Updates the specified note. + UpdateNote(context.Context, *UpdateNoteRequest) (*Note, error) + // Lists occurrences referencing the specified note. Provider projects can use + // this method to get all occurrences across consumer projects referencing the + // specified note. + ListNoteOccurrences(context.Context, *ListNoteOccurrencesRequest) (*ListNoteOccurrencesResponse, error) + mustEmbedUnimplementedGrafeasServer() +} + +// UnimplementedGrafeasServer must be embedded to have forward compatible implementations. +type UnimplementedGrafeasServer struct { +} + +func (UnimplementedGrafeasServer) GetOccurrence(context.Context, *GetOccurrenceRequest) (*Occurrence, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetOccurrence not implemented") +} +func (UnimplementedGrafeasServer) ListOccurrences(context.Context, *ListOccurrencesRequest) (*ListOccurrencesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListOccurrences not implemented") +} +func (UnimplementedGrafeasServer) DeleteOccurrence(context.Context, *DeleteOccurrenceRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteOccurrence not implemented") +} +func (UnimplementedGrafeasServer) CreateOccurrence(context.Context, *CreateOccurrenceRequest) (*Occurrence, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateOccurrence not implemented") +} +func (UnimplementedGrafeasServer) BatchCreateOccurrences(context.Context, *BatchCreateOccurrencesRequest) (*BatchCreateOccurrencesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchCreateOccurrences not implemented") +} +func (UnimplementedGrafeasServer) UpdateOccurrence(context.Context, *UpdateOccurrenceRequest) (*Occurrence, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateOccurrence not implemented") +} +func (UnimplementedGrafeasServer) GetOccurrenceNote(context.Context, *GetOccurrenceNoteRequest) (*Note, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetOccurrenceNote not implemented") +} +func (UnimplementedGrafeasServer) GetNote(context.Context, *GetNoteRequest) (*Note, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetNote not implemented") +} +func (UnimplementedGrafeasServer) ListNotes(context.Context, *ListNotesRequest) (*ListNotesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListNotes not implemented") +} +func (UnimplementedGrafeasServer) DeleteNote(context.Context, *DeleteNoteRequest) (*empty.Empty, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteNote not implemented") +} +func (UnimplementedGrafeasServer) CreateNote(context.Context, *CreateNoteRequest) (*Note, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateNote not implemented") +} +func (UnimplementedGrafeasServer) BatchCreateNotes(context.Context, *BatchCreateNotesRequest) (*BatchCreateNotesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BatchCreateNotes not implemented") +} +func (UnimplementedGrafeasServer) UpdateNote(context.Context, *UpdateNoteRequest) (*Note, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateNote not implemented") +} +func (UnimplementedGrafeasServer) ListNoteOccurrences(context.Context, *ListNoteOccurrencesRequest) (*ListNoteOccurrencesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListNoteOccurrences not implemented") +} +func (UnimplementedGrafeasServer) mustEmbedUnimplementedGrafeasServer() {} + +// UnsafeGrafeasServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to GrafeasServer will +// result in compilation errors. +type UnsafeGrafeasServer interface { + mustEmbedUnimplementedGrafeasServer() +} + +func RegisterGrafeasServer(s grpc.ServiceRegistrar, srv GrafeasServer) { + s.RegisterService(&Grafeas_ServiceDesc, srv) +} + +func _Grafeas_GetOccurrence_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetOccurrenceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GrafeasServer).GetOccurrence(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgrafeas.v1.Grafeas/GetOccurrence", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GrafeasServer).GetOccurrence(ctx, req.(*GetOccurrenceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Grafeas_ListOccurrences_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListOccurrencesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GrafeasServer).ListOccurrences(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgrafeas.v1.Grafeas/ListOccurrences", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GrafeasServer).ListOccurrences(ctx, req.(*ListOccurrencesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Grafeas_DeleteOccurrence_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteOccurrenceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GrafeasServer).DeleteOccurrence(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgrafeas.v1.Grafeas/DeleteOccurrence", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GrafeasServer).DeleteOccurrence(ctx, req.(*DeleteOccurrenceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Grafeas_CreateOccurrence_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateOccurrenceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GrafeasServer).CreateOccurrence(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgrafeas.v1.Grafeas/CreateOccurrence", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GrafeasServer).CreateOccurrence(ctx, req.(*CreateOccurrenceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Grafeas_BatchCreateOccurrences_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchCreateOccurrencesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GrafeasServer).BatchCreateOccurrences(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgrafeas.v1.Grafeas/BatchCreateOccurrences", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GrafeasServer).BatchCreateOccurrences(ctx, req.(*BatchCreateOccurrencesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Grafeas_UpdateOccurrence_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateOccurrenceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GrafeasServer).UpdateOccurrence(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgrafeas.v1.Grafeas/UpdateOccurrence", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GrafeasServer).UpdateOccurrence(ctx, req.(*UpdateOccurrenceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Grafeas_GetOccurrenceNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetOccurrenceNoteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GrafeasServer).GetOccurrenceNote(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgrafeas.v1.Grafeas/GetOccurrenceNote", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GrafeasServer).GetOccurrenceNote(ctx, req.(*GetOccurrenceNoteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Grafeas_GetNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetNoteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GrafeasServer).GetNote(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgrafeas.v1.Grafeas/GetNote", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GrafeasServer).GetNote(ctx, req.(*GetNoteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Grafeas_ListNotes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListNotesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GrafeasServer).ListNotes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgrafeas.v1.Grafeas/ListNotes", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GrafeasServer).ListNotes(ctx, req.(*ListNotesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Grafeas_DeleteNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteNoteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GrafeasServer).DeleteNote(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgrafeas.v1.Grafeas/DeleteNote", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GrafeasServer).DeleteNote(ctx, req.(*DeleteNoteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Grafeas_CreateNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateNoteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GrafeasServer).CreateNote(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgrafeas.v1.Grafeas/CreateNote", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GrafeasServer).CreateNote(ctx, req.(*CreateNoteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Grafeas_BatchCreateNotes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BatchCreateNotesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GrafeasServer).BatchCreateNotes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgrafeas.v1.Grafeas/BatchCreateNotes", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GrafeasServer).BatchCreateNotes(ctx, req.(*BatchCreateNotesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Grafeas_UpdateNote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateNoteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GrafeasServer).UpdateNote(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgrafeas.v1.Grafeas/UpdateNote", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GrafeasServer).UpdateNote(ctx, req.(*UpdateNoteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _Grafeas_ListNoteOccurrences_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListNoteOccurrencesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(GrafeasServer).ListNoteOccurrences(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/mockgrafeas.v1.Grafeas/ListNoteOccurrences", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(GrafeasServer).ListNoteOccurrences(ctx, req.(*ListNoteOccurrencesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// Grafeas_ServiceDesc is the grpc.ServiceDesc for Grafeas service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var Grafeas_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "mockgrafeas.v1.Grafeas", + HandlerType: (*GrafeasServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "GetOccurrence", + Handler: _Grafeas_GetOccurrence_Handler, + }, + { + MethodName: "ListOccurrences", + Handler: _Grafeas_ListOccurrences_Handler, + }, + { + MethodName: "DeleteOccurrence", + Handler: _Grafeas_DeleteOccurrence_Handler, + }, + { + MethodName: "CreateOccurrence", + Handler: _Grafeas_CreateOccurrence_Handler, + }, + { + MethodName: "BatchCreateOccurrences", + Handler: _Grafeas_BatchCreateOccurrences_Handler, + }, + { + MethodName: "UpdateOccurrence", + Handler: _Grafeas_UpdateOccurrence_Handler, + }, + { + MethodName: "GetOccurrenceNote", + Handler: _Grafeas_GetOccurrenceNote_Handler, + }, + { + MethodName: "GetNote", + Handler: _Grafeas_GetNote_Handler, + }, + { + MethodName: "ListNotes", + Handler: _Grafeas_ListNotes_Handler, + }, + { + MethodName: "DeleteNote", + Handler: _Grafeas_DeleteNote_Handler, + }, + { + MethodName: "CreateNote", + Handler: _Grafeas_CreateNote_Handler, + }, + { + MethodName: "BatchCreateNotes", + Handler: _Grafeas_BatchCreateNotes_Handler, + }, + { + MethodName: "UpdateNote", + Handler: _Grafeas_UpdateNote_Handler, + }, + { + MethodName: "ListNoteOccurrences", + Handler: _Grafeas_ListNoteOccurrences_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "mockgrafeas/v1/grafeas.proto", +} diff --git a/mockgcp/generated/mockgrafeas/v1/image.pb.go b/mockgcp/generated/mockgrafeas/v1/image.pb.go new file mode 100644 index 0000000000..c1eef92c92 --- /dev/null +++ b/mockgcp/generated/mockgrafeas/v1/image.pb.go @@ -0,0 +1,463 @@ +// Copyright 2019 The Grafeas Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgrafeas/v1/image.proto + +package grafeas + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Layer holds metadata specific to a layer of a Docker image. +type Layer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The recovered Dockerfile directive used to construct this layer. + // See https://docs.docker.com/engine/reference/builder/ for more information. + Directive string `protobuf:"bytes,1,opt,name=directive,proto3" json:"directive,omitempty"` + // The recovered arguments to the Dockerfile directive. + Arguments string `protobuf:"bytes,2,opt,name=arguments,proto3" json:"arguments,omitempty"` +} + +func (x *Layer) Reset() { + *x = Layer{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_image_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Layer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Layer) ProtoMessage() {} + +func (x *Layer) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_image_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Layer.ProtoReflect.Descriptor instead. +func (*Layer) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_image_proto_rawDescGZIP(), []int{0} +} + +func (x *Layer) GetDirective() string { + if x != nil { + return x.Directive + } + return "" +} + +func (x *Layer) GetArguments() string { + if x != nil { + return x.Arguments + } + return "" +} + +// A set of properties that uniquely identify a given Docker image. +type Fingerprint struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The layer ID of the final layer in the Docker image's v1 + // representation. + V1Name string `protobuf:"bytes,1,opt,name=v1_name,json=v1Name,proto3" json:"v1_name,omitempty"` + // Required. The ordered list of v2 blobs that represent a given image. + V2Blob []string `protobuf:"bytes,2,rep,name=v2_blob,json=v2Blob,proto3" json:"v2_blob,omitempty"` + // Output only. The name of the image's v2 blobs computed via: + // + // [bottom] := v2_blob[bottom] + // [N] := sha256(v2_blob[N] + " " + v2_name[N+1]) + // + // Only the name of the final blob is kept. + V2Name string `protobuf:"bytes,3,opt,name=v2_name,json=v2Name,proto3" json:"v2_name,omitempty"` +} + +func (x *Fingerprint) Reset() { + *x = Fingerprint{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_image_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Fingerprint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Fingerprint) ProtoMessage() {} + +func (x *Fingerprint) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_image_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Fingerprint.ProtoReflect.Descriptor instead. +func (*Fingerprint) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_image_proto_rawDescGZIP(), []int{1} +} + +func (x *Fingerprint) GetV1Name() string { + if x != nil { + return x.V1Name + } + return "" +} + +func (x *Fingerprint) GetV2Blob() []string { + if x != nil { + return x.V2Blob + } + return nil +} + +func (x *Fingerprint) GetV2Name() string { + if x != nil { + return x.V2Name + } + return "" +} + +// Basis describes the base image portion (Note) of the DockerImage +// relationship. Linked occurrences are derived from this or an equivalent image +// via: +// +// FROM +// +// Or an equivalent reference, e.g., a tag of the resource_url. +type ImageNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Immutable. The resource_url for the resource representing the + // basis of associated occurrence images. + ResourceUrl string `protobuf:"bytes,1,opt,name=resource_url,json=resourceUrl,proto3" json:"resource_url,omitempty"` + // Required. Immutable. The fingerprint of the base image. + Fingerprint *Fingerprint `protobuf:"bytes,2,opt,name=fingerprint,proto3" json:"fingerprint,omitempty"` +} + +func (x *ImageNote) Reset() { + *x = ImageNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_image_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImageNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImageNote) ProtoMessage() {} + +func (x *ImageNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_image_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImageNote.ProtoReflect.Descriptor instead. +func (*ImageNote) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_image_proto_rawDescGZIP(), []int{2} +} + +func (x *ImageNote) GetResourceUrl() string { + if x != nil { + return x.ResourceUrl + } + return "" +} + +func (x *ImageNote) GetFingerprint() *Fingerprint { + if x != nil { + return x.Fingerprint + } + return nil +} + +// Details of the derived image portion of the DockerImage relationship. This +// image would be produced from a Dockerfile with FROM . +type ImageOccurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The fingerprint of the derived image. + Fingerprint *Fingerprint `protobuf:"bytes,1,opt,name=fingerprint,proto3" json:"fingerprint,omitempty"` + // Output only. The number of layers by which this image differs from the + // associated image basis. + Distance int32 `protobuf:"varint,2,opt,name=distance,proto3" json:"distance,omitempty"` + // This contains layer-specific metadata, if populated it has length + // "distance" and is ordered with [distance] being the layer immediately + // following the base image and [1] being the final layer. + LayerInfo []*Layer `protobuf:"bytes,3,rep,name=layer_info,json=layerInfo,proto3" json:"layer_info,omitempty"` + // Output only. This contains the base image URL for the derived image + // occurrence. + BaseResourceUrl string `protobuf:"bytes,4,opt,name=base_resource_url,json=baseResourceUrl,proto3" json:"base_resource_url,omitempty"` +} + +func (x *ImageOccurrence) Reset() { + *x = ImageOccurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_image_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImageOccurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImageOccurrence) ProtoMessage() {} + +func (x *ImageOccurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_image_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImageOccurrence.ProtoReflect.Descriptor instead. +func (*ImageOccurrence) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_image_proto_rawDescGZIP(), []int{3} +} + +func (x *ImageOccurrence) GetFingerprint() *Fingerprint { + if x != nil { + return x.Fingerprint + } + return nil +} + +func (x *ImageOccurrence) GetDistance() int32 { + if x != nil { + return x.Distance + } + return 0 +} + +func (x *ImageOccurrence) GetLayerInfo() []*Layer { + if x != nil { + return x.LayerInfo + } + return nil +} + +func (x *ImageOccurrence) GetBaseResourceUrl() string { + if x != nil { + return x.BaseResourceUrl + } + return "" +} + +var File_mockgrafeas_v1_image_proto protoreflect.FileDescriptor + +var file_mockgrafeas_v1_image_proto_rawDesc = []byte{ + 0x0a, 0x1a, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, + 0x2f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x22, 0x43, 0x0a, 0x05, + 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x22, 0x58, 0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, + 0x12, 0x17, 0x0a, 0x07, 0x76, 0x31, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x76, 0x31, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x76, 0x32, 0x5f, + 0x62, 0x6c, 0x6f, 0x62, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x32, 0x42, 0x6c, + 0x6f, 0x62, 0x12, 0x17, 0x0a, 0x07, 0x76, 0x32, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x76, 0x32, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x6d, 0x0a, 0x09, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x3d, 0x0a, 0x0b, 0x66, + 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x52, 0x0b, 0x66, + 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0xce, 0x01, 0x0a, 0x0f, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x3d, + 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, + 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x1a, 0x0a, + 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x08, 0x64, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x0a, 0x6c, 0x61, 0x79, + 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x61, 0x79, 0x65, 0x72, 0x52, 0x09, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x2a, 0x0a, 0x11, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x61, 0x73, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x42, 0x59, 0x0a, 0x11, 0x69, + 0x6f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, + 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, + 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, + 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, + 0xa2, 0x02, 0x03, 0x47, 0x52, 0x41, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgrafeas_v1_image_proto_rawDescOnce sync.Once + file_mockgrafeas_v1_image_proto_rawDescData = file_mockgrafeas_v1_image_proto_rawDesc +) + +func file_mockgrafeas_v1_image_proto_rawDescGZIP() []byte { + file_mockgrafeas_v1_image_proto_rawDescOnce.Do(func() { + file_mockgrafeas_v1_image_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgrafeas_v1_image_proto_rawDescData) + }) + return file_mockgrafeas_v1_image_proto_rawDescData +} + +var file_mockgrafeas_v1_image_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_mockgrafeas_v1_image_proto_goTypes = []interface{}{ + (*Layer)(nil), // 0: mockgrafeas.v1.Layer + (*Fingerprint)(nil), // 1: mockgrafeas.v1.Fingerprint + (*ImageNote)(nil), // 2: mockgrafeas.v1.ImageNote + (*ImageOccurrence)(nil), // 3: mockgrafeas.v1.ImageOccurrence +} +var file_mockgrafeas_v1_image_proto_depIdxs = []int32{ + 1, // 0: mockgrafeas.v1.ImageNote.fingerprint:type_name -> mockgrafeas.v1.Fingerprint + 1, // 1: mockgrafeas.v1.ImageOccurrence.fingerprint:type_name -> mockgrafeas.v1.Fingerprint + 0, // 2: mockgrafeas.v1.ImageOccurrence.layer_info:type_name -> mockgrafeas.v1.Layer + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_mockgrafeas_v1_image_proto_init() } +func file_mockgrafeas_v1_image_proto_init() { + if File_mockgrafeas_v1_image_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgrafeas_v1_image_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Layer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_image_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Fingerprint); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_image_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImageNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_image_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImageOccurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgrafeas_v1_image_proto_rawDesc, + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgrafeas_v1_image_proto_goTypes, + DependencyIndexes: file_mockgrafeas_v1_image_proto_depIdxs, + MessageInfos: file_mockgrafeas_v1_image_proto_msgTypes, + }.Build() + File_mockgrafeas_v1_image_proto = out.File + file_mockgrafeas_v1_image_proto_rawDesc = nil + file_mockgrafeas_v1_image_proto_goTypes = nil + file_mockgrafeas_v1_image_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgrafeas/v1/intoto_provenance.pb.go b/mockgcp/generated/mockgrafeas/v1/intoto_provenance.pb.go new file mode 100644 index 0000000000..024cfe25b4 --- /dev/null +++ b/mockgcp/generated/mockgrafeas/v1/intoto_provenance.pb.go @@ -0,0 +1,628 @@ +// Copyright 2021 The Grafeas Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgrafeas/v1/intoto_provenance.proto + +package grafeas + +import ( + any1 "github.com/golang/protobuf/ptypes/any" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Steps taken to build the artifact. +// For a TaskRun, typically each container corresponds to one step in the +// recipe. +type Recipe struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // URI indicating what type of recipe was performed. It determines the meaning + // of recipe.entryPoint, recipe.arguments, recipe.environment, and materials. + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // Index in materials containing the recipe steps that are not implied by + // recipe.type. For example, if the recipe type were "make", then this would + // point to the source containing the Makefile, not the make program itself. + // Set to -1 if the recipe doesn't come from a material, as zero is default + // unset value for int64. + DefinedInMaterial int64 `protobuf:"varint,2,opt,name=defined_in_material,json=definedInMaterial,proto3" json:"defined_in_material,omitempty"` + // String identifying the entry point into the build. + // This is often a path to a configuration file and/or a target label within + // that file. The syntax and meaning are defined by recipe.type. For example, + // if the recipe type were "make", then this would reference the directory in + // which to run make as well as which target to use. + EntryPoint string `protobuf:"bytes,3,opt,name=entry_point,json=entryPoint,proto3" json:"entry_point,omitempty"` + // Collection of all external inputs that influenced the build on top of + // recipe.definedInMaterial and recipe.entryPoint. For example, if the recipe + // type were "make", then this might be the flags passed to make aside from + // the target, which is captured in recipe.entryPoint. Since the arguments + // field can greatly vary in structure, depending on the builder and recipe + // type, this is of form "Any". + Arguments []*any1.Any `protobuf:"bytes,4,rep,name=arguments,proto3" json:"arguments,omitempty"` + // Any other builder-controlled inputs necessary for correctly evaluating the + // recipe. Usually only needed for reproducing the build but not evaluated as + // part of policy. Since the environment field can greatly vary in structure, + // depending on the builder and recipe type, this is of form "Any". + Environment []*any1.Any `protobuf:"bytes,5,rep,name=environment,proto3" json:"environment,omitempty"` +} + +func (x *Recipe) Reset() { + *x = Recipe{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_intoto_provenance_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Recipe) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Recipe) ProtoMessage() {} + +func (x *Recipe) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_intoto_provenance_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Recipe.ProtoReflect.Descriptor instead. +func (*Recipe) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_intoto_provenance_proto_rawDescGZIP(), []int{0} +} + +func (x *Recipe) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *Recipe) GetDefinedInMaterial() int64 { + if x != nil { + return x.DefinedInMaterial + } + return 0 +} + +func (x *Recipe) GetEntryPoint() string { + if x != nil { + return x.EntryPoint + } + return "" +} + +func (x *Recipe) GetArguments() []*any1.Any { + if x != nil { + return x.Arguments + } + return nil +} + +func (x *Recipe) GetEnvironment() []*any1.Any { + if x != nil { + return x.Environment + } + return nil +} + +// Indicates that the builder claims certain fields in this message to be +// complete. +type Completeness struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If true, the builder claims that recipe.arguments is complete, meaning that + // all external inputs are properly captured in the recipe. + Arguments bool `protobuf:"varint,1,opt,name=arguments,proto3" json:"arguments,omitempty"` + // If true, the builder claims that recipe.environment is claimed to be + // complete. + Environment bool `protobuf:"varint,2,opt,name=environment,proto3" json:"environment,omitempty"` + // If true, the builder claims that materials are complete, usually through + // some controls to prevent network access. Sometimes called "hermetic". + Materials bool `protobuf:"varint,3,opt,name=materials,proto3" json:"materials,omitempty"` +} + +func (x *Completeness) Reset() { + *x = Completeness{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_intoto_provenance_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Completeness) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Completeness) ProtoMessage() {} + +func (x *Completeness) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_intoto_provenance_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Completeness.ProtoReflect.Descriptor instead. +func (*Completeness) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_intoto_provenance_proto_rawDescGZIP(), []int{1} +} + +func (x *Completeness) GetArguments() bool { + if x != nil { + return x.Arguments + } + return false +} + +func (x *Completeness) GetEnvironment() bool { + if x != nil { + return x.Environment + } + return false +} + +func (x *Completeness) GetMaterials() bool { + if x != nil { + return x.Materials + } + return false +} + +// Other properties of the build. +type Metadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identifies the particular build invocation, which can be useful for finding + // associated logs or other ad-hoc analysis. The value SHOULD be globally + // unique, per in-toto Provenance spec. + BuildInvocationId string `protobuf:"bytes,1,opt,name=build_invocation_id,json=buildInvocationId,proto3" json:"build_invocation_id,omitempty"` + // The timestamp of when the build started. + BuildStartedOn *timestamp.Timestamp `protobuf:"bytes,2,opt,name=build_started_on,json=buildStartedOn,proto3" json:"build_started_on,omitempty"` + // The timestamp of when the build completed. + BuildFinishedOn *timestamp.Timestamp `protobuf:"bytes,3,opt,name=build_finished_on,json=buildFinishedOn,proto3" json:"build_finished_on,omitempty"` + // Indicates that the builder claims certain fields in this message to be + // complete. + Completeness *Completeness `protobuf:"bytes,4,opt,name=completeness,proto3" json:"completeness,omitempty"` + // If true, the builder claims that running the recipe on materials will + // produce bit-for-bit identical output. + Reproducible bool `protobuf:"varint,5,opt,name=reproducible,proto3" json:"reproducible,omitempty"` +} + +func (x *Metadata) Reset() { + *x = Metadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_intoto_provenance_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Metadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Metadata) ProtoMessage() {} + +func (x *Metadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_intoto_provenance_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Metadata.ProtoReflect.Descriptor instead. +func (*Metadata) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_intoto_provenance_proto_rawDescGZIP(), []int{2} +} + +func (x *Metadata) GetBuildInvocationId() string { + if x != nil { + return x.BuildInvocationId + } + return "" +} + +func (x *Metadata) GetBuildStartedOn() *timestamp.Timestamp { + if x != nil { + return x.BuildStartedOn + } + return nil +} + +func (x *Metadata) GetBuildFinishedOn() *timestamp.Timestamp { + if x != nil { + return x.BuildFinishedOn + } + return nil +} + +func (x *Metadata) GetCompleteness() *Completeness { + if x != nil { + return x.Completeness + } + return nil +} + +func (x *Metadata) GetReproducible() bool { + if x != nil { + return x.Reproducible + } + return false +} + +type BuilderConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *BuilderConfig) Reset() { + *x = BuilderConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_intoto_provenance_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BuilderConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BuilderConfig) ProtoMessage() {} + +func (x *BuilderConfig) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_intoto_provenance_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BuilderConfig.ProtoReflect.Descriptor instead. +func (*BuilderConfig) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_intoto_provenance_proto_rawDescGZIP(), []int{3} +} + +func (x *BuilderConfig) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type InTotoProvenance struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BuilderConfig *BuilderConfig `protobuf:"bytes,1,opt,name=builder_config,json=builderConfig,proto3" json:"builder_config,omitempty"` // required + // Identifies the configuration used for the build. + // When combined with materials, this SHOULD fully describe the build, + // such that re-running this recipe results in bit-for-bit identical output + // (if the build is reproducible). + Recipe *Recipe `protobuf:"bytes,2,opt,name=recipe,proto3" json:"recipe,omitempty"` // required + Metadata *Metadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` + // The collection of artifacts that influenced the build including sources, + // dependencies, build tools, base images, and so on. This is considered to be + // incomplete unless metadata.completeness.materials is true. Unset or null is + // equivalent to empty. + Materials []string `protobuf:"bytes,4,rep,name=materials,proto3" json:"materials,omitempty"` +} + +func (x *InTotoProvenance) Reset() { + *x = InTotoProvenance{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_intoto_provenance_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InTotoProvenance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InTotoProvenance) ProtoMessage() {} + +func (x *InTotoProvenance) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_intoto_provenance_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InTotoProvenance.ProtoReflect.Descriptor instead. +func (*InTotoProvenance) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_intoto_provenance_proto_rawDescGZIP(), []int{4} +} + +func (x *InTotoProvenance) GetBuilderConfig() *BuilderConfig { + if x != nil { + return x.BuilderConfig + } + return nil +} + +func (x *InTotoProvenance) GetRecipe() *Recipe { + if x != nil { + return x.Recipe + } + return nil +} + +func (x *InTotoProvenance) GetMetadata() *Metadata { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *InTotoProvenance) GetMaterials() []string { + if x != nil { + return x.Materials + } + return nil +} + +var File_mockgrafeas_v1_intoto_provenance_proto protoreflect.FileDescriptor + +var file_mockgrafeas_v1_intoto_provenance_proto_rawDesc = []byte{ + 0x0a, 0x26, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, + 0x2f, 0x69, 0x6e, 0x74, 0x6f, 0x74, 0x6f, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, + 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, + 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd9, 0x01, 0x0a, 0x06, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x69, + 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x11, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x49, 0x6e, 0x4d, 0x61, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, + 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x09, 0x61, + 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, + 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x41, 0x6e, 0x79, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x22, 0x6c, 0x0a, 0x0c, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6e, 0x65, 0x73, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x20, + 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x22, 0xae, + 0x02, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x0a, 0x13, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, + 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x10, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 0x52, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x4f, + 0x6e, 0x12, 0x46, 0x0a, 0x11, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, + 0x68, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x46, + 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x40, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x72, + 0x65, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x69, 0x62, 0x6c, 0x65, 0x22, + 0x1f, 0x0a, 0x0d, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, + 0x22, 0xdc, 0x01, 0x0a, 0x10, 0x49, 0x6e, 0x54, 0x6f, 0x74, 0x6f, 0x50, 0x72, 0x6f, 0x76, 0x65, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2e, 0x0a, 0x06, 0x72, + 0x65, 0x63, 0x69, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x63, + 0x69, 0x70, 0x65, 0x52, 0x06, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x42, + 0x70, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x42, 0x15, 0x49, 0x6e, 0x54, 0x6f, 0x74, 0x6f, 0x50, 0x72, 0x6f, 0x76, + 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, + 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, + 0x2f, 0x76, 0x31, 0x3b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0xa2, 0x02, 0x03, 0x47, 0x52, + 0x41, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgrafeas_v1_intoto_provenance_proto_rawDescOnce sync.Once + file_mockgrafeas_v1_intoto_provenance_proto_rawDescData = file_mockgrafeas_v1_intoto_provenance_proto_rawDesc +) + +func file_mockgrafeas_v1_intoto_provenance_proto_rawDescGZIP() []byte { + file_mockgrafeas_v1_intoto_provenance_proto_rawDescOnce.Do(func() { + file_mockgrafeas_v1_intoto_provenance_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgrafeas_v1_intoto_provenance_proto_rawDescData) + }) + return file_mockgrafeas_v1_intoto_provenance_proto_rawDescData +} + +var file_mockgrafeas_v1_intoto_provenance_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_mockgrafeas_v1_intoto_provenance_proto_goTypes = []interface{}{ + (*Recipe)(nil), // 0: mockgrafeas.v1.Recipe + (*Completeness)(nil), // 1: mockgrafeas.v1.Completeness + (*Metadata)(nil), // 2: mockgrafeas.v1.Metadata + (*BuilderConfig)(nil), // 3: mockgrafeas.v1.BuilderConfig + (*InTotoProvenance)(nil), // 4: mockgrafeas.v1.InTotoProvenance + (*any1.Any)(nil), // 5: google.protobuf.Any + (*timestamp.Timestamp)(nil), // 6: google.protobuf.Timestamp +} +var file_mockgrafeas_v1_intoto_provenance_proto_depIdxs = []int32{ + 5, // 0: mockgrafeas.v1.Recipe.arguments:type_name -> google.protobuf.Any + 5, // 1: mockgrafeas.v1.Recipe.environment:type_name -> google.protobuf.Any + 6, // 2: mockgrafeas.v1.Metadata.build_started_on:type_name -> google.protobuf.Timestamp + 6, // 3: mockgrafeas.v1.Metadata.build_finished_on:type_name -> google.protobuf.Timestamp + 1, // 4: mockgrafeas.v1.Metadata.completeness:type_name -> mockgrafeas.v1.Completeness + 3, // 5: mockgrafeas.v1.InTotoProvenance.builder_config:type_name -> mockgrafeas.v1.BuilderConfig + 0, // 6: mockgrafeas.v1.InTotoProvenance.recipe:type_name -> mockgrafeas.v1.Recipe + 2, // 7: mockgrafeas.v1.InTotoProvenance.metadata:type_name -> mockgrafeas.v1.Metadata + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { file_mockgrafeas_v1_intoto_provenance_proto_init() } +func file_mockgrafeas_v1_intoto_provenance_proto_init() { + if File_mockgrafeas_v1_intoto_provenance_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgrafeas_v1_intoto_provenance_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Recipe); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_intoto_provenance_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Completeness); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_intoto_provenance_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Metadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_intoto_provenance_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BuilderConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_intoto_provenance_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InTotoProvenance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgrafeas_v1_intoto_provenance_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgrafeas_v1_intoto_provenance_proto_goTypes, + DependencyIndexes: file_mockgrafeas_v1_intoto_provenance_proto_depIdxs, + MessageInfos: file_mockgrafeas_v1_intoto_provenance_proto_msgTypes, + }.Build() + File_mockgrafeas_v1_intoto_provenance_proto = out.File + file_mockgrafeas_v1_intoto_provenance_proto_rawDesc = nil + file_mockgrafeas_v1_intoto_provenance_proto_goTypes = nil + file_mockgrafeas_v1_intoto_provenance_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgrafeas/v1/intoto_statement.pb.go b/mockgcp/generated/mockgrafeas/v1/intoto_statement.pb.go new file mode 100644 index 0000000000..92780b33d6 --- /dev/null +++ b/mockgcp/generated/mockgrafeas/v1/intoto_statement.pb.go @@ -0,0 +1,1101 @@ +// Copyright 2021 The Grafeas Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgrafeas/v1/intoto_statement.proto + +package grafeas + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Spec defined at +// https://github.com/in-toto/attestation/tree/main/spec#statement The +// serialized InTotoStatement will be stored as Envelope.payload. +// Envelope.payloadType is always "application/vnd.in-toto+json". +type InTotoStatement struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Always `https://in-toto.io/Statement/v0.1`. + Type string `protobuf:"bytes,1,opt,name=type,json=_type,proto3" json:"type,omitempty"` + Subject []*Subject `protobuf:"bytes,2,rep,name=subject,proto3" json:"subject,omitempty"` + // `https://slsa.dev/provenance/v0.1` for SlsaProvenance. + PredicateType string `protobuf:"bytes,3,opt,name=predicate_type,json=predicateType,proto3" json:"predicate_type,omitempty"` + // Types that are assignable to Predicate: + // + // *InTotoStatement_Provenance + // *InTotoStatement_SlsaProvenance + // *InTotoStatement_SlsaProvenanceZeroTwo + Predicate isInTotoStatement_Predicate `protobuf_oneof:"predicate"` +} + +func (x *InTotoStatement) Reset() { + *x = InTotoStatement{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_intoto_statement_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InTotoStatement) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InTotoStatement) ProtoMessage() {} + +func (x *InTotoStatement) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_intoto_statement_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InTotoStatement.ProtoReflect.Descriptor instead. +func (*InTotoStatement) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_intoto_statement_proto_rawDescGZIP(), []int{0} +} + +func (x *InTotoStatement) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *InTotoStatement) GetSubject() []*Subject { + if x != nil { + return x.Subject + } + return nil +} + +func (x *InTotoStatement) GetPredicateType() string { + if x != nil { + return x.PredicateType + } + return "" +} + +func (m *InTotoStatement) GetPredicate() isInTotoStatement_Predicate { + if m != nil { + return m.Predicate + } + return nil +} + +func (x *InTotoStatement) GetProvenance() *InTotoProvenance { + if x, ok := x.GetPredicate().(*InTotoStatement_Provenance); ok { + return x.Provenance + } + return nil +} + +func (x *InTotoStatement) GetSlsaProvenance() *SlsaProvenance { + if x, ok := x.GetPredicate().(*InTotoStatement_SlsaProvenance); ok { + return x.SlsaProvenance + } + return nil +} + +func (x *InTotoStatement) GetSlsaProvenanceZeroTwo() *SlsaProvenanceZeroTwo { + if x, ok := x.GetPredicate().(*InTotoStatement_SlsaProvenanceZeroTwo); ok { + return x.SlsaProvenanceZeroTwo + } + return nil +} + +type isInTotoStatement_Predicate interface { + isInTotoStatement_Predicate() +} + +type InTotoStatement_Provenance struct { + Provenance *InTotoProvenance `protobuf:"bytes,4,opt,name=provenance,proto3,oneof"` +} + +type InTotoStatement_SlsaProvenance struct { + SlsaProvenance *SlsaProvenance `protobuf:"bytes,5,opt,name=slsa_provenance,json=slsaProvenance,proto3,oneof"` +} + +type InTotoStatement_SlsaProvenanceZeroTwo struct { + SlsaProvenanceZeroTwo *SlsaProvenanceZeroTwo `protobuf:"bytes,6,opt,name=slsa_provenance_zero_two,json=slsaProvenanceZeroTwo,proto3,oneof"` +} + +func (*InTotoStatement_Provenance) isInTotoStatement_Predicate() {} + +func (*InTotoStatement_SlsaProvenance) isInTotoStatement_Predicate() {} + +func (*InTotoStatement_SlsaProvenanceZeroTwo) isInTotoStatement_Predicate() {} + +type Subject struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // `"": ""` + // Algorithms can be e.g. sha256, sha512 + // See + // https://github.com/in-toto/attestation/blob/main/spec/field_types.md#DigestSet + Digest map[string]string `protobuf:"bytes,2,rep,name=digest,proto3" json:"digest,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *Subject) Reset() { + *x = Subject{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_intoto_statement_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Subject) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Subject) ProtoMessage() {} + +func (x *Subject) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_intoto_statement_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Subject.ProtoReflect.Descriptor instead. +func (*Subject) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_intoto_statement_proto_rawDescGZIP(), []int{1} +} + +func (x *Subject) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Subject) GetDigest() map[string]string { + if x != nil { + return x.Digest + } + return nil +} + +type InTotoSlsaProvenanceV1 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // InToto spec defined at + // https://github.com/in-toto/attestation/tree/main/spec#statement + Type string `protobuf:"bytes,1,opt,name=type,json=_type,proto3" json:"type,omitempty"` + Subject []*Subject `protobuf:"bytes,2,rep,name=subject,proto3" json:"subject,omitempty"` + PredicateType string `protobuf:"bytes,3,opt,name=predicate_type,json=predicateType,proto3" json:"predicate_type,omitempty"` + Predicate *InTotoSlsaProvenanceV1_SlsaProvenanceV1 `protobuf:"bytes,4,opt,name=predicate,proto3" json:"predicate,omitempty"` +} + +func (x *InTotoSlsaProvenanceV1) Reset() { + *x = InTotoSlsaProvenanceV1{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_intoto_statement_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InTotoSlsaProvenanceV1) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InTotoSlsaProvenanceV1) ProtoMessage() {} + +func (x *InTotoSlsaProvenanceV1) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_intoto_statement_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InTotoSlsaProvenanceV1.ProtoReflect.Descriptor instead. +func (*InTotoSlsaProvenanceV1) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_intoto_statement_proto_rawDescGZIP(), []int{2} +} + +func (x *InTotoSlsaProvenanceV1) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *InTotoSlsaProvenanceV1) GetSubject() []*Subject { + if x != nil { + return x.Subject + } + return nil +} + +func (x *InTotoSlsaProvenanceV1) GetPredicateType() string { + if x != nil { + return x.PredicateType + } + return "" +} + +func (x *InTotoSlsaProvenanceV1) GetPredicate() *InTotoSlsaProvenanceV1_SlsaProvenanceV1 { + if x != nil { + return x.Predicate + } + return nil +} + +// Keep in sync with schema at +// https://github.com/slsa-framework/slsa/blob/main/docs/provenance/schema/v1/provenance.proto +// Builder renamed to ProvenanceBuilder because of Java conflicts. +type InTotoSlsaProvenanceV1_SlsaProvenanceV1 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BuildDefinition *InTotoSlsaProvenanceV1_BuildDefinition `protobuf:"bytes,1,opt,name=build_definition,json=buildDefinition,proto3" json:"build_definition,omitempty"` + RunDetails *InTotoSlsaProvenanceV1_RunDetails `protobuf:"bytes,2,opt,name=run_details,json=runDetails,proto3" json:"run_details,omitempty"` +} + +func (x *InTotoSlsaProvenanceV1_SlsaProvenanceV1) Reset() { + *x = InTotoSlsaProvenanceV1_SlsaProvenanceV1{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_intoto_statement_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InTotoSlsaProvenanceV1_SlsaProvenanceV1) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InTotoSlsaProvenanceV1_SlsaProvenanceV1) ProtoMessage() {} + +func (x *InTotoSlsaProvenanceV1_SlsaProvenanceV1) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_intoto_statement_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InTotoSlsaProvenanceV1_SlsaProvenanceV1.ProtoReflect.Descriptor instead. +func (*InTotoSlsaProvenanceV1_SlsaProvenanceV1) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_intoto_statement_proto_rawDescGZIP(), []int{2, 0} +} + +func (x *InTotoSlsaProvenanceV1_SlsaProvenanceV1) GetBuildDefinition() *InTotoSlsaProvenanceV1_BuildDefinition { + if x != nil { + return x.BuildDefinition + } + return nil +} + +func (x *InTotoSlsaProvenanceV1_SlsaProvenanceV1) GetRunDetails() *InTotoSlsaProvenanceV1_RunDetails { + if x != nil { + return x.RunDetails + } + return nil +} + +type InTotoSlsaProvenanceV1_BuildDefinition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BuildType string `protobuf:"bytes,1,opt,name=build_type,json=buildType,proto3" json:"build_type,omitempty"` + ExternalParameters *_struct.Struct `protobuf:"bytes,2,opt,name=external_parameters,json=externalParameters,proto3" json:"external_parameters,omitempty"` + InternalParameters *_struct.Struct `protobuf:"bytes,3,opt,name=internal_parameters,json=internalParameters,proto3" json:"internal_parameters,omitempty"` + ResolvedDependencies []*InTotoSlsaProvenanceV1_ResourceDescriptor `protobuf:"bytes,4,rep,name=resolved_dependencies,json=resolvedDependencies,proto3" json:"resolved_dependencies,omitempty"` +} + +func (x *InTotoSlsaProvenanceV1_BuildDefinition) Reset() { + *x = InTotoSlsaProvenanceV1_BuildDefinition{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_intoto_statement_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InTotoSlsaProvenanceV1_BuildDefinition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InTotoSlsaProvenanceV1_BuildDefinition) ProtoMessage() {} + +func (x *InTotoSlsaProvenanceV1_BuildDefinition) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_intoto_statement_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InTotoSlsaProvenanceV1_BuildDefinition.ProtoReflect.Descriptor instead. +func (*InTotoSlsaProvenanceV1_BuildDefinition) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_intoto_statement_proto_rawDescGZIP(), []int{2, 1} +} + +func (x *InTotoSlsaProvenanceV1_BuildDefinition) GetBuildType() string { + if x != nil { + return x.BuildType + } + return "" +} + +func (x *InTotoSlsaProvenanceV1_BuildDefinition) GetExternalParameters() *_struct.Struct { + if x != nil { + return x.ExternalParameters + } + return nil +} + +func (x *InTotoSlsaProvenanceV1_BuildDefinition) GetInternalParameters() *_struct.Struct { + if x != nil { + return x.InternalParameters + } + return nil +} + +func (x *InTotoSlsaProvenanceV1_BuildDefinition) GetResolvedDependencies() []*InTotoSlsaProvenanceV1_ResourceDescriptor { + if x != nil { + return x.ResolvedDependencies + } + return nil +} + +type InTotoSlsaProvenanceV1_ResourceDescriptor struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"` + Digest map[string]string `protobuf:"bytes,3,rep,name=digest,proto3" json:"digest,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Content []byte `protobuf:"bytes,4,opt,name=content,proto3" json:"content,omitempty"` + DownloadLocation string `protobuf:"bytes,5,opt,name=download_location,json=downloadLocation,proto3" json:"download_location,omitempty"` + MediaType string `protobuf:"bytes,6,opt,name=media_type,json=mediaType,proto3" json:"media_type,omitempty"` + Annotations map[string]*_struct.Value `protobuf:"bytes,7,rep,name=annotations,proto3" json:"annotations,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *InTotoSlsaProvenanceV1_ResourceDescriptor) Reset() { + *x = InTotoSlsaProvenanceV1_ResourceDescriptor{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_intoto_statement_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InTotoSlsaProvenanceV1_ResourceDescriptor) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InTotoSlsaProvenanceV1_ResourceDescriptor) ProtoMessage() {} + +func (x *InTotoSlsaProvenanceV1_ResourceDescriptor) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_intoto_statement_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InTotoSlsaProvenanceV1_ResourceDescriptor.ProtoReflect.Descriptor instead. +func (*InTotoSlsaProvenanceV1_ResourceDescriptor) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_intoto_statement_proto_rawDescGZIP(), []int{2, 2} +} + +func (x *InTotoSlsaProvenanceV1_ResourceDescriptor) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *InTotoSlsaProvenanceV1_ResourceDescriptor) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *InTotoSlsaProvenanceV1_ResourceDescriptor) GetDigest() map[string]string { + if x != nil { + return x.Digest + } + return nil +} + +func (x *InTotoSlsaProvenanceV1_ResourceDescriptor) GetContent() []byte { + if x != nil { + return x.Content + } + return nil +} + +func (x *InTotoSlsaProvenanceV1_ResourceDescriptor) GetDownloadLocation() string { + if x != nil { + return x.DownloadLocation + } + return "" +} + +func (x *InTotoSlsaProvenanceV1_ResourceDescriptor) GetMediaType() string { + if x != nil { + return x.MediaType + } + return "" +} + +func (x *InTotoSlsaProvenanceV1_ResourceDescriptor) GetAnnotations() map[string]*_struct.Value { + if x != nil { + return x.Annotations + } + return nil +} + +type InTotoSlsaProvenanceV1_RunDetails struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Builder *InTotoSlsaProvenanceV1_ProvenanceBuilder `protobuf:"bytes,1,opt,name=builder,proto3" json:"builder,omitempty"` + Metadata *InTotoSlsaProvenanceV1_BuildMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` + Byproducts []*InTotoSlsaProvenanceV1_ResourceDescriptor `protobuf:"bytes,3,rep,name=byproducts,proto3" json:"byproducts,omitempty"` +} + +func (x *InTotoSlsaProvenanceV1_RunDetails) Reset() { + *x = InTotoSlsaProvenanceV1_RunDetails{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_intoto_statement_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InTotoSlsaProvenanceV1_RunDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InTotoSlsaProvenanceV1_RunDetails) ProtoMessage() {} + +func (x *InTotoSlsaProvenanceV1_RunDetails) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_intoto_statement_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InTotoSlsaProvenanceV1_RunDetails.ProtoReflect.Descriptor instead. +func (*InTotoSlsaProvenanceV1_RunDetails) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_intoto_statement_proto_rawDescGZIP(), []int{2, 3} +} + +func (x *InTotoSlsaProvenanceV1_RunDetails) GetBuilder() *InTotoSlsaProvenanceV1_ProvenanceBuilder { + if x != nil { + return x.Builder + } + return nil +} + +func (x *InTotoSlsaProvenanceV1_RunDetails) GetMetadata() *InTotoSlsaProvenanceV1_BuildMetadata { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *InTotoSlsaProvenanceV1_RunDetails) GetByproducts() []*InTotoSlsaProvenanceV1_ResourceDescriptor { + if x != nil { + return x.Byproducts + } + return nil +} + +type InTotoSlsaProvenanceV1_ProvenanceBuilder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Version map[string]string `protobuf:"bytes,2,rep,name=version,proto3" json:"version,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + BuilderDependencies []*InTotoSlsaProvenanceV1_ResourceDescriptor `protobuf:"bytes,3,rep,name=builder_dependencies,json=builderDependencies,proto3" json:"builder_dependencies,omitempty"` +} + +func (x *InTotoSlsaProvenanceV1_ProvenanceBuilder) Reset() { + *x = InTotoSlsaProvenanceV1_ProvenanceBuilder{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_intoto_statement_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InTotoSlsaProvenanceV1_ProvenanceBuilder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InTotoSlsaProvenanceV1_ProvenanceBuilder) ProtoMessage() {} + +func (x *InTotoSlsaProvenanceV1_ProvenanceBuilder) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_intoto_statement_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InTotoSlsaProvenanceV1_ProvenanceBuilder.ProtoReflect.Descriptor instead. +func (*InTotoSlsaProvenanceV1_ProvenanceBuilder) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_intoto_statement_proto_rawDescGZIP(), []int{2, 4} +} + +func (x *InTotoSlsaProvenanceV1_ProvenanceBuilder) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *InTotoSlsaProvenanceV1_ProvenanceBuilder) GetVersion() map[string]string { + if x != nil { + return x.Version + } + return nil +} + +func (x *InTotoSlsaProvenanceV1_ProvenanceBuilder) GetBuilderDependencies() []*InTotoSlsaProvenanceV1_ResourceDescriptor { + if x != nil { + return x.BuilderDependencies + } + return nil +} + +type InTotoSlsaProvenanceV1_BuildMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + InvocationId string `protobuf:"bytes,1,opt,name=invocation_id,json=invocationId,proto3" json:"invocation_id,omitempty"` + StartedOn *timestamp.Timestamp `protobuf:"bytes,2,opt,name=started_on,json=startedOn,proto3" json:"started_on,omitempty"` + FinishedOn *timestamp.Timestamp `protobuf:"bytes,3,opt,name=finished_on,json=finishedOn,proto3" json:"finished_on,omitempty"` +} + +func (x *InTotoSlsaProvenanceV1_BuildMetadata) Reset() { + *x = InTotoSlsaProvenanceV1_BuildMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_intoto_statement_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InTotoSlsaProvenanceV1_BuildMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InTotoSlsaProvenanceV1_BuildMetadata) ProtoMessage() {} + +func (x *InTotoSlsaProvenanceV1_BuildMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_intoto_statement_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InTotoSlsaProvenanceV1_BuildMetadata.ProtoReflect.Descriptor instead. +func (*InTotoSlsaProvenanceV1_BuildMetadata) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_intoto_statement_proto_rawDescGZIP(), []int{2, 5} +} + +func (x *InTotoSlsaProvenanceV1_BuildMetadata) GetInvocationId() string { + if x != nil { + return x.InvocationId + } + return "" +} + +func (x *InTotoSlsaProvenanceV1_BuildMetadata) GetStartedOn() *timestamp.Timestamp { + if x != nil { + return x.StartedOn + } + return nil +} + +func (x *InTotoSlsaProvenanceV1_BuildMetadata) GetFinishedOn() *timestamp.Timestamp { + if x != nil { + return x.FinishedOn + } + return nil +} + +var File_mockgrafeas_v1_intoto_statement_proto protoreflect.FileDescriptor + +var file_mockgrafeas_v1_intoto_statement_proto_rawDesc = []byte{ + 0x0a, 0x25, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, + 0x2f, 0x69, 0x6e, 0x74, 0x6f, 0x74, 0x6f, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, + 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, + 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6e, 0x74, 0x6f, 0x74, 0x6f, 0x5f, 0x70, 0x72, + 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, + 0x6c, 0x73, 0x61, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x6c, 0x73, 0x61, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, + 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x74, 0x77, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0xfe, 0x02, 0x0a, 0x0f, 0x49, 0x6e, 0x54, 0x6f, 0x74, 0x6f, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x13, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x31, 0x0a, 0x07, + 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x42, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x54, 0x6f, + 0x74, 0x6f, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0a, + 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x0f, 0x73, 0x6c, + 0x73, 0x61, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, + 0x6e, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x60, 0x0a, 0x18, 0x73, 0x6c, 0x73, 0x61, 0x5f, 0x70, 0x72, + 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x74, 0x77, + 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, + 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, + 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, 0x48, 0x00, + 0x52, 0x15, 0x73, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, + 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, 0x42, 0x0b, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x22, 0x95, 0x01, 0x0a, 0x07, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, + 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x44, 0x69, + 0x67, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, + 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd4, 0x0f, 0x0a, + 0x16, 0x49, 0x6e, 0x54, 0x6f, 0x74, 0x6f, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x31, 0x12, 0x13, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x31, 0x0a, 0x07, + 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, + 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x55, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x54, 0x6f, 0x74, + 0x6f, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x56, + 0x31, 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, + 0x56, 0x31, 0x52, 0x09, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x1a, 0xc9, 0x01, + 0x0a, 0x10, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, + 0x56, 0x31, 0x12, 0x61, 0x0a, 0x10, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x54, 0x6f, 0x74, 0x6f, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, + 0x63, 0x65, 0x56, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x65, 0x66, 0x69, 0x6e, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x0b, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x54, 0x6f, + 0x74, 0x6f, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, + 0x56, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x0a, 0x72, + 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0xb4, 0x02, 0x0a, 0x0f, 0x42, 0x75, + 0x69, 0x6c, 0x64, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, + 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x48, 0x0a, 0x13, + 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x52, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x48, 0x0a, 0x13, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x12, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x12, 0x6e, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x70, + 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x6e, 0x54, 0x6f, 0x74, 0x6f, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x14, 0x72, 0x65, 0x73, 0x6f, + 0x6c, 0x76, 0x65, 0x64, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, + 0x1a, 0x80, 0x04, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, + 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x5d, 0x0a, + 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x6e, 0x54, 0x6f, 0x74, 0x6f, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, + 0x6e, 0x63, 0x65, 0x56, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2e, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x6c, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, + 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x54, 0x6f, 0x74, 0x6f, 0x53, + 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x31, 0x2e, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x6f, 0x72, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x1a, 0x39, 0x0a, 0x0b, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x56, 0x0a, 0x10, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x8d, 0x02, 0x0a, 0x0a, 0x52, 0x75, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x12, 0x52, 0x0a, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x54, 0x6f, 0x74, 0x6f, 0x53, 0x6c, 0x73, 0x61, 0x50, + 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, + 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x07, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x54, 0x6f, 0x74, 0x6f, + 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x31, + 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x59, 0x0a, 0x0a, 0x62, 0x79, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x54, 0x6f, 0x74, 0x6f, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, + 0x63, 0x65, 0x56, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x62, 0x79, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x73, 0x1a, 0xae, 0x02, 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, + 0x63, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x5f, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x54, 0x6f, + 0x74, 0x6f, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, + 0x56, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x42, 0x75, 0x69, + 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x6c, 0x0a, 0x14, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, + 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x54, 0x6f, 0x74, 0x6f, + 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x56, 0x31, + 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x6f, 0x72, 0x52, 0x13, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x44, 0x65, 0x70, 0x65, + 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x1a, 0x3a, 0x0a, 0x0c, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xac, 0x01, 0x0a, 0x0d, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x0d, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, + 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x39, 0x0a, 0x0a, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, + 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, + 0x64, 0x4f, 0x6e, 0x42, 0x6f, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, + 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x14, 0x49, 0x6e, 0x54, 0x6f, 0x74, 0x6f, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, + 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, + 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0xa2, 0x02, + 0x03, 0x47, 0x52, 0x41, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgrafeas_v1_intoto_statement_proto_rawDescOnce sync.Once + file_mockgrafeas_v1_intoto_statement_proto_rawDescData = file_mockgrafeas_v1_intoto_statement_proto_rawDesc +) + +func file_mockgrafeas_v1_intoto_statement_proto_rawDescGZIP() []byte { + file_mockgrafeas_v1_intoto_statement_proto_rawDescOnce.Do(func() { + file_mockgrafeas_v1_intoto_statement_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgrafeas_v1_intoto_statement_proto_rawDescData) + }) + return file_mockgrafeas_v1_intoto_statement_proto_rawDescData +} + +var file_mockgrafeas_v1_intoto_statement_proto_msgTypes = make([]protoimpl.MessageInfo, 13) +var file_mockgrafeas_v1_intoto_statement_proto_goTypes = []interface{}{ + (*InTotoStatement)(nil), // 0: mockgrafeas.v1.InTotoStatement + (*Subject)(nil), // 1: mockgrafeas.v1.Subject + (*InTotoSlsaProvenanceV1)(nil), // 2: mockgrafeas.v1.InTotoSlsaProvenanceV1 + nil, // 3: mockgrafeas.v1.Subject.DigestEntry + (*InTotoSlsaProvenanceV1_SlsaProvenanceV1)(nil), // 4: mockgrafeas.v1.InTotoSlsaProvenanceV1.SlsaProvenanceV1 + (*InTotoSlsaProvenanceV1_BuildDefinition)(nil), // 5: mockgrafeas.v1.InTotoSlsaProvenanceV1.BuildDefinition + (*InTotoSlsaProvenanceV1_ResourceDescriptor)(nil), // 6: mockgrafeas.v1.InTotoSlsaProvenanceV1.ResourceDescriptor + (*InTotoSlsaProvenanceV1_RunDetails)(nil), // 7: mockgrafeas.v1.InTotoSlsaProvenanceV1.RunDetails + (*InTotoSlsaProvenanceV1_ProvenanceBuilder)(nil), // 8: mockgrafeas.v1.InTotoSlsaProvenanceV1.ProvenanceBuilder + (*InTotoSlsaProvenanceV1_BuildMetadata)(nil), // 9: mockgrafeas.v1.InTotoSlsaProvenanceV1.BuildMetadata + nil, // 10: mockgrafeas.v1.InTotoSlsaProvenanceV1.ResourceDescriptor.DigestEntry + nil, // 11: mockgrafeas.v1.InTotoSlsaProvenanceV1.ResourceDescriptor.AnnotationsEntry + nil, // 12: mockgrafeas.v1.InTotoSlsaProvenanceV1.ProvenanceBuilder.VersionEntry + (*InTotoProvenance)(nil), // 13: mockgrafeas.v1.InTotoProvenance + (*SlsaProvenance)(nil), // 14: mockgrafeas.v1.SlsaProvenance + (*SlsaProvenanceZeroTwo)(nil), // 15: mockgrafeas.v1.SlsaProvenanceZeroTwo + (*_struct.Struct)(nil), // 16: google.protobuf.Struct + (*timestamp.Timestamp)(nil), // 17: google.protobuf.Timestamp + (*_struct.Value)(nil), // 18: google.protobuf.Value +} +var file_mockgrafeas_v1_intoto_statement_proto_depIdxs = []int32{ + 1, // 0: mockgrafeas.v1.InTotoStatement.subject:type_name -> mockgrafeas.v1.Subject + 13, // 1: mockgrafeas.v1.InTotoStatement.provenance:type_name -> mockgrafeas.v1.InTotoProvenance + 14, // 2: mockgrafeas.v1.InTotoStatement.slsa_provenance:type_name -> mockgrafeas.v1.SlsaProvenance + 15, // 3: mockgrafeas.v1.InTotoStatement.slsa_provenance_zero_two:type_name -> mockgrafeas.v1.SlsaProvenanceZeroTwo + 3, // 4: mockgrafeas.v1.Subject.digest:type_name -> mockgrafeas.v1.Subject.DigestEntry + 1, // 5: mockgrafeas.v1.InTotoSlsaProvenanceV1.subject:type_name -> mockgrafeas.v1.Subject + 4, // 6: mockgrafeas.v1.InTotoSlsaProvenanceV1.predicate:type_name -> mockgrafeas.v1.InTotoSlsaProvenanceV1.SlsaProvenanceV1 + 5, // 7: mockgrafeas.v1.InTotoSlsaProvenanceV1.SlsaProvenanceV1.build_definition:type_name -> mockgrafeas.v1.InTotoSlsaProvenanceV1.BuildDefinition + 7, // 8: mockgrafeas.v1.InTotoSlsaProvenanceV1.SlsaProvenanceV1.run_details:type_name -> mockgrafeas.v1.InTotoSlsaProvenanceV1.RunDetails + 16, // 9: mockgrafeas.v1.InTotoSlsaProvenanceV1.BuildDefinition.external_parameters:type_name -> google.protobuf.Struct + 16, // 10: mockgrafeas.v1.InTotoSlsaProvenanceV1.BuildDefinition.internal_parameters:type_name -> google.protobuf.Struct + 6, // 11: mockgrafeas.v1.InTotoSlsaProvenanceV1.BuildDefinition.resolved_dependencies:type_name -> mockgrafeas.v1.InTotoSlsaProvenanceV1.ResourceDescriptor + 10, // 12: mockgrafeas.v1.InTotoSlsaProvenanceV1.ResourceDescriptor.digest:type_name -> mockgrafeas.v1.InTotoSlsaProvenanceV1.ResourceDescriptor.DigestEntry + 11, // 13: mockgrafeas.v1.InTotoSlsaProvenanceV1.ResourceDescriptor.annotations:type_name -> mockgrafeas.v1.InTotoSlsaProvenanceV1.ResourceDescriptor.AnnotationsEntry + 8, // 14: mockgrafeas.v1.InTotoSlsaProvenanceV1.RunDetails.builder:type_name -> mockgrafeas.v1.InTotoSlsaProvenanceV1.ProvenanceBuilder + 9, // 15: mockgrafeas.v1.InTotoSlsaProvenanceV1.RunDetails.metadata:type_name -> mockgrafeas.v1.InTotoSlsaProvenanceV1.BuildMetadata + 6, // 16: mockgrafeas.v1.InTotoSlsaProvenanceV1.RunDetails.byproducts:type_name -> mockgrafeas.v1.InTotoSlsaProvenanceV1.ResourceDescriptor + 12, // 17: mockgrafeas.v1.InTotoSlsaProvenanceV1.ProvenanceBuilder.version:type_name -> mockgrafeas.v1.InTotoSlsaProvenanceV1.ProvenanceBuilder.VersionEntry + 6, // 18: mockgrafeas.v1.InTotoSlsaProvenanceV1.ProvenanceBuilder.builder_dependencies:type_name -> mockgrafeas.v1.InTotoSlsaProvenanceV1.ResourceDescriptor + 17, // 19: mockgrafeas.v1.InTotoSlsaProvenanceV1.BuildMetadata.started_on:type_name -> google.protobuf.Timestamp + 17, // 20: mockgrafeas.v1.InTotoSlsaProvenanceV1.BuildMetadata.finished_on:type_name -> google.protobuf.Timestamp + 18, // 21: mockgrafeas.v1.InTotoSlsaProvenanceV1.ResourceDescriptor.AnnotationsEntry.value:type_name -> google.protobuf.Value + 22, // [22:22] is the sub-list for method output_type + 22, // [22:22] is the sub-list for method input_type + 22, // [22:22] is the sub-list for extension type_name + 22, // [22:22] is the sub-list for extension extendee + 0, // [0:22] is the sub-list for field type_name +} + +func init() { file_mockgrafeas_v1_intoto_statement_proto_init() } +func file_mockgrafeas_v1_intoto_statement_proto_init() { + if File_mockgrafeas_v1_intoto_statement_proto != nil { + return + } + file_mockgrafeas_v1_intoto_provenance_proto_init() + file_mockgrafeas_v1_slsa_provenance_proto_init() + file_mockgrafeas_v1_slsa_provenance_zero_two_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgrafeas_v1_intoto_statement_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InTotoStatement); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_intoto_statement_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Subject); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_intoto_statement_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InTotoSlsaProvenanceV1); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_intoto_statement_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InTotoSlsaProvenanceV1_SlsaProvenanceV1); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_intoto_statement_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InTotoSlsaProvenanceV1_BuildDefinition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_intoto_statement_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InTotoSlsaProvenanceV1_ResourceDescriptor); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_intoto_statement_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InTotoSlsaProvenanceV1_RunDetails); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_intoto_statement_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InTotoSlsaProvenanceV1_ProvenanceBuilder); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_intoto_statement_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InTotoSlsaProvenanceV1_BuildMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgrafeas_v1_intoto_statement_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*InTotoStatement_Provenance)(nil), + (*InTotoStatement_SlsaProvenance)(nil), + (*InTotoStatement_SlsaProvenanceZeroTwo)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgrafeas_v1_intoto_statement_proto_rawDesc, + NumEnums: 0, + NumMessages: 13, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgrafeas_v1_intoto_statement_proto_goTypes, + DependencyIndexes: file_mockgrafeas_v1_intoto_statement_proto_depIdxs, + MessageInfos: file_mockgrafeas_v1_intoto_statement_proto_msgTypes, + }.Build() + File_mockgrafeas_v1_intoto_statement_proto = out.File + file_mockgrafeas_v1_intoto_statement_proto_rawDesc = nil + file_mockgrafeas_v1_intoto_statement_proto_goTypes = nil + file_mockgrafeas_v1_intoto_statement_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgrafeas/v1/package.pb.go b/mockgcp/generated/mockgrafeas/v1/package.pb.go new file mode 100644 index 0000000000..fbfaee1ecd --- /dev/null +++ b/mockgcp/generated/mockgrafeas/v1/package.pb.go @@ -0,0 +1,917 @@ +// Copyright 2019 The Grafeas Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgrafeas/v1/package.proto + +package grafeas + +import ( + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Instruction set architectures supported by various package managers. +type Architecture int32 + +const ( + // Unknown architecture. + Architecture_ARCHITECTURE_UNSPECIFIED Architecture = 0 + // X86 architecture. + Architecture_X86 Architecture = 1 + // X64 architecture. + Architecture_X64 Architecture = 2 +) + +// Enum value maps for Architecture. +var ( + Architecture_name = map[int32]string{ + 0: "ARCHITECTURE_UNSPECIFIED", + 1: "X86", + 2: "X64", + } + Architecture_value = map[string]int32{ + "ARCHITECTURE_UNSPECIFIED": 0, + "X86": 1, + "X64": 2, + } +) + +func (x Architecture) Enum() *Architecture { + p := new(Architecture) + *p = x + return p +} + +func (x Architecture) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Architecture) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_package_proto_enumTypes[0].Descriptor() +} + +func (Architecture) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_package_proto_enumTypes[0] +} + +func (x Architecture) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Architecture.Descriptor instead. +func (Architecture) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_package_proto_rawDescGZIP(), []int{0} +} + +// Whether this is an ordinary package version or a sentinel MIN/MAX version. +type Version_VersionKind int32 + +const ( + // Unknown. + Version_VERSION_KIND_UNSPECIFIED Version_VersionKind = 0 + // A standard package version. + Version_NORMAL Version_VersionKind = 1 + // A special version representing negative infinity. + Version_MINIMUM Version_VersionKind = 2 + // A special version representing positive infinity. + Version_MAXIMUM Version_VersionKind = 3 +) + +// Enum value maps for Version_VersionKind. +var ( + Version_VersionKind_name = map[int32]string{ + 0: "VERSION_KIND_UNSPECIFIED", + 1: "NORMAL", + 2: "MINIMUM", + 3: "MAXIMUM", + } + Version_VersionKind_value = map[string]int32{ + "VERSION_KIND_UNSPECIFIED": 0, + "NORMAL": 1, + "MINIMUM": 2, + "MAXIMUM": 3, + } +) + +func (x Version_VersionKind) Enum() *Version_VersionKind { + p := new(Version_VersionKind) + *p = x + return p +} + +func (x Version_VersionKind) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Version_VersionKind) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_package_proto_enumTypes[1].Descriptor() +} + +func (Version_VersionKind) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_package_proto_enumTypes[1] +} + +func (x Version_VersionKind) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Version_VersionKind.Descriptor instead. +func (Version_VersionKind) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_package_proto_rawDescGZIP(), []int{4, 0} +} + +// This represents a particular channel of distribution for a given package. +// E.g., Debian's jessie-backports dpkg mirror. +type Distribution struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The cpe_uri in [CPE format](https://cpe.mitre.org/specification/) + // denoting the package manager version distributing a package. + CpeUri string `protobuf:"bytes,1,opt,name=cpe_uri,json=cpeUri,proto3" json:"cpe_uri,omitempty"` + // The CPU architecture for which packages in this distribution channel were + // built. + Architecture Architecture `protobuf:"varint,2,opt,name=architecture,proto3,enum=mockgrafeas.v1.Architecture" json:"architecture,omitempty"` + // The latest available version of this package in this distribution channel. + LatestVersion *Version `protobuf:"bytes,3,opt,name=latest_version,json=latestVersion,proto3" json:"latest_version,omitempty"` + // A freeform string denoting the maintainer of this package. + Maintainer string `protobuf:"bytes,4,opt,name=maintainer,proto3" json:"maintainer,omitempty"` + // The distribution channel-specific homepage for this package. + Url string `protobuf:"bytes,5,opt,name=url,proto3" json:"url,omitempty"` + // The distribution channel-specific description of this package. + Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` +} + +func (x *Distribution) Reset() { + *x = Distribution{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_package_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Distribution) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Distribution) ProtoMessage() {} + +func (x *Distribution) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_package_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Distribution.ProtoReflect.Descriptor instead. +func (*Distribution) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_package_proto_rawDescGZIP(), []int{0} +} + +func (x *Distribution) GetCpeUri() string { + if x != nil { + return x.CpeUri + } + return "" +} + +func (x *Distribution) GetArchitecture() Architecture { + if x != nil { + return x.Architecture + } + return Architecture_ARCHITECTURE_UNSPECIFIED +} + +func (x *Distribution) GetLatestVersion() *Version { + if x != nil { + return x.LatestVersion + } + return nil +} + +func (x *Distribution) GetMaintainer() string { + if x != nil { + return x.Maintainer + } + return "" +} + +func (x *Distribution) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *Distribution) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +// An occurrence of a particular package installation found within a system's +// filesystem. E.g., glibc was found in `/var/lib/dpkg/status`. +type Location struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Deprecated. + // The CPE URI in [CPE format](https://cpe.mitre.org/specification/) + CpeUri string `protobuf:"bytes,1,opt,name=cpe_uri,json=cpeUri,proto3" json:"cpe_uri,omitempty"` + // Deprecated. + // The version installed at this location. + Version *Version `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + // The path from which we gathered that this package/version is installed. + Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"` +} + +func (x *Location) Reset() { + *x = Location{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_package_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Location) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Location) ProtoMessage() {} + +func (x *Location) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_package_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Location.ProtoReflect.Descriptor instead. +func (*Location) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_package_proto_rawDescGZIP(), []int{1} +} + +func (x *Location) GetCpeUri() string { + if x != nil { + return x.CpeUri + } + return "" +} + +func (x *Location) GetVersion() *Version { + if x != nil { + return x.Version + } + return nil +} + +func (x *Location) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +// PackageNote represents a particular package version. +type PackageNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the package. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Deprecated. + // The various channels by which a package is distributed. + Distribution []*Distribution `protobuf:"bytes,10,rep,name=distribution,proto3" json:"distribution,omitempty"` + // The type of package; whether native or non native (e.g., ruby gems, + // node.js packages, etc.). + PackageType string `protobuf:"bytes,11,opt,name=package_type,json=packageType,proto3" json:"package_type,omitempty"` + // The cpe_uri in [CPE format](https://cpe.mitre.org/specification/) + // denoting the package manager version distributing a package. + // The cpe_uri will be blank for language packages. + CpeUri string `protobuf:"bytes,12,opt,name=cpe_uri,json=cpeUri,proto3" json:"cpe_uri,omitempty"` + // The CPU architecture for which packages in this distribution channel were + // built. Architecture will be blank for language packages. + Architecture Architecture `protobuf:"varint,13,opt,name=architecture,proto3,enum=mockgrafeas.v1.Architecture" json:"architecture,omitempty"` + // The version of the package. + Version *Version `protobuf:"bytes,14,opt,name=version,proto3" json:"version,omitempty"` + // A freeform text denoting the maintainer of this package. + Maintainer string `protobuf:"bytes,15,opt,name=maintainer,proto3" json:"maintainer,omitempty"` + // The homepage for this package. + Url string `protobuf:"bytes,16,opt,name=url,proto3" json:"url,omitempty"` + // The description of this package. + Description string `protobuf:"bytes,17,opt,name=description,proto3" json:"description,omitempty"` + // Licenses that have been declared by the authors of the package. + License *License `protobuf:"bytes,18,opt,name=license,proto3" json:"license,omitempty"` + // Hash value, typically a file digest, that allows unique + // identification a specific package. + Digest []*Digest `protobuf:"bytes,19,rep,name=digest,proto3" json:"digest,omitempty"` +} + +func (x *PackageNote) Reset() { + *x = PackageNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_package_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PackageNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PackageNote) ProtoMessage() {} + +func (x *PackageNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_package_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PackageNote.ProtoReflect.Descriptor instead. +func (*PackageNote) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_package_proto_rawDescGZIP(), []int{2} +} + +func (x *PackageNote) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PackageNote) GetDistribution() []*Distribution { + if x != nil { + return x.Distribution + } + return nil +} + +func (x *PackageNote) GetPackageType() string { + if x != nil { + return x.PackageType + } + return "" +} + +func (x *PackageNote) GetCpeUri() string { + if x != nil { + return x.CpeUri + } + return "" +} + +func (x *PackageNote) GetArchitecture() Architecture { + if x != nil { + return x.Architecture + } + return Architecture_ARCHITECTURE_UNSPECIFIED +} + +func (x *PackageNote) GetVersion() *Version { + if x != nil { + return x.Version + } + return nil +} + +func (x *PackageNote) GetMaintainer() string { + if x != nil { + return x.Maintainer + } + return "" +} + +func (x *PackageNote) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *PackageNote) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *PackageNote) GetLicense() *License { + if x != nil { + return x.License + } + return nil +} + +func (x *PackageNote) GetDigest() []*Digest { + if x != nil { + return x.Digest + } + return nil +} + +// Details on how a particular software package was installed on a system. +type PackageOccurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The name of the installed package. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // All of the places within the filesystem versions of this package + // have been found. + Location []*Location `protobuf:"bytes,2,rep,name=location,proto3" json:"location,omitempty"` + // The type of package; whether native or non native (e.g., ruby gems, + // node.js packages, etc.). + PackageType string `protobuf:"bytes,3,opt,name=package_type,json=packageType,proto3" json:"package_type,omitempty"` + // The cpe_uri in [CPE format](https://cpe.mitre.org/specification/) + // denoting the package manager version distributing a package. + // The cpe_uri will be blank for language packages. + CpeUri string `protobuf:"bytes,4,opt,name=cpe_uri,json=cpeUri,proto3" json:"cpe_uri,omitempty"` + // The CPU architecture for which packages in this distribution channel were + // built. Architecture will be blank for language packages. + Architecture Architecture `protobuf:"varint,5,opt,name=architecture,proto3,enum=mockgrafeas.v1.Architecture" json:"architecture,omitempty"` + // Licenses that have been declared by the authors of the package. + License *License `protobuf:"bytes,6,opt,name=license,proto3" json:"license,omitempty"` + // The version of the package. + Version *Version `protobuf:"bytes,7,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *PackageOccurrence) Reset() { + *x = PackageOccurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_package_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PackageOccurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PackageOccurrence) ProtoMessage() {} + +func (x *PackageOccurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_package_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PackageOccurrence.ProtoReflect.Descriptor instead. +func (*PackageOccurrence) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_package_proto_rawDescGZIP(), []int{3} +} + +func (x *PackageOccurrence) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PackageOccurrence) GetLocation() []*Location { + if x != nil { + return x.Location + } + return nil +} + +func (x *PackageOccurrence) GetPackageType() string { + if x != nil { + return x.PackageType + } + return "" +} + +func (x *PackageOccurrence) GetCpeUri() string { + if x != nil { + return x.CpeUri + } + return "" +} + +func (x *PackageOccurrence) GetArchitecture() Architecture { + if x != nil { + return x.Architecture + } + return Architecture_ARCHITECTURE_UNSPECIFIED +} + +func (x *PackageOccurrence) GetLicense() *License { + if x != nil { + return x.License + } + return nil +} + +func (x *PackageOccurrence) GetVersion() *Version { + if x != nil { + return x.Version + } + return nil +} + +// Version contains structured information about the version of a package. +type Version struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Used to correct mistakes in the version numbering scheme. + Epoch int32 `protobuf:"varint,1,opt,name=epoch,proto3" json:"epoch,omitempty"` + // Required only when version kind is NORMAL. The main part of the version + // name. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // The iteration of the package build from the above version. + Revision string `protobuf:"bytes,3,opt,name=revision,proto3" json:"revision,omitempty"` + // Whether this version is specifying part of an inclusive range. Grafeas + // does not have the capability to specify version ranges; instead we have + // fields that specify start version and end versions. At times this is + // insufficient - we also need to specify whether the version is included in + // the range or is excluded from the range. This boolean is expected to be set + // to true when the version is included in a range. + Inclusive bool `protobuf:"varint,6,opt,name=inclusive,proto3" json:"inclusive,omitempty"` + // Required. Distinguishes between sentinel MIN/MAX versions and normal + // versions. + Kind Version_VersionKind `protobuf:"varint,4,opt,name=kind,proto3,enum=mockgrafeas.v1.Version_VersionKind" json:"kind,omitempty"` + // Human readable version string. This string is of the form + // :- and is only set when kind is NORMAL. + FullName string `protobuf:"bytes,5,opt,name=full_name,json=fullName,proto3" json:"full_name,omitempty"` +} + +func (x *Version) Reset() { + *x = Version{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_package_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Version) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Version) ProtoMessage() {} + +func (x *Version) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_package_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Version.ProtoReflect.Descriptor instead. +func (*Version) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_package_proto_rawDescGZIP(), []int{4} +} + +func (x *Version) GetEpoch() int32 { + if x != nil { + return x.Epoch + } + return 0 +} + +func (x *Version) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Version) GetRevision() string { + if x != nil { + return x.Revision + } + return "" +} + +func (x *Version) GetInclusive() bool { + if x != nil { + return x.Inclusive + } + return false +} + +func (x *Version) GetKind() Version_VersionKind { + if x != nil { + return x.Kind + } + return Version_VERSION_KIND_UNSPECIFIED +} + +func (x *Version) GetFullName() string { + if x != nil { + return x.FullName + } + return "" +} + +var File_mockgrafeas_v1_package_proto protoreflect.FileDescriptor + +var file_mockgrafeas_v1_package_proto_rawDesc = []byte{ + 0x0a, 0x1c, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1b, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x82, 0x02, 0x0a, + 0x0c, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, + 0x07, 0x63, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x06, 0x63, 0x70, 0x65, 0x55, 0x72, 0x69, 0x12, 0x40, 0x0a, 0x0c, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x1c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, + 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x3e, 0x0a, + 0x0e, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, + 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0d, + 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, + 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x10, 0x0a, + 0x03, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, + 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x6a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, + 0x07, 0x63, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x63, 0x70, 0x65, 0x55, 0x72, 0x69, 0x12, 0x31, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, + 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x22, 0xd3, 0x03, + 0x0a, 0x0b, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x1a, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x02, + 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0c, 0x64, 0x69, 0x73, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x64, + 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x70, + 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, + 0x0a, 0x07, 0x63, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x63, 0x70, 0x65, 0x55, 0x72, 0x69, 0x12, 0x40, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x52, 0x0c, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x31, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, + 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, + 0x75, 0x72, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x20, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x31, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, + 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x13, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x52, 0x06, 0x64, 0x69, 0x67, + 0x65, 0x73, 0x74, 0x22, 0xdd, 0x02, 0x0a, 0x11, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x4f, + 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x03, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, + 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0c, 0x70, + 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x07, 0x63, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x06, 0x63, 0x70, 0x65, 0x55, 0x72, + 0x69, 0x12, 0x45, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, + 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, + 0x63, 0x74, 0x75, 0x72, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x31, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, + 0x6e, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x63, 0x65, 0x6e, + 0x73, 0x65, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x36, 0x0a, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x22, 0x96, 0x02, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x14, 0x0a, 0x05, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x65, 0x70, 0x6f, 0x63, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76, + 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76, + 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, + 0x76, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, + 0x69, 0x76, 0x65, 0x12, 0x37, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x23, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x1b, 0x0a, 0x09, + 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x66, 0x75, 0x6c, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x51, 0x0a, 0x0b, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1c, 0x0a, 0x18, 0x56, 0x45, 0x52, 0x53, + 0x49, 0x4f, 0x4e, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, + 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x49, 0x4e, 0x49, 0x4d, 0x55, 0x4d, 0x10, 0x02, 0x12, + 0x0b, 0x0a, 0x07, 0x4d, 0x41, 0x58, 0x49, 0x4d, 0x55, 0x4d, 0x10, 0x03, 0x2a, 0x3e, 0x0a, 0x0c, + 0x41, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x18, + 0x41, 0x52, 0x43, 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x58, 0x38, + 0x36, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x58, 0x36, 0x34, 0x10, 0x02, 0x42, 0x59, 0x0a, 0x11, + 0x69, 0x6f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, + 0x31, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, + 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0xa2, 0x02, 0x03, 0x47, 0x52, 0x41, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgrafeas_v1_package_proto_rawDescOnce sync.Once + file_mockgrafeas_v1_package_proto_rawDescData = file_mockgrafeas_v1_package_proto_rawDesc +) + +func file_mockgrafeas_v1_package_proto_rawDescGZIP() []byte { + file_mockgrafeas_v1_package_proto_rawDescOnce.Do(func() { + file_mockgrafeas_v1_package_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgrafeas_v1_package_proto_rawDescData) + }) + return file_mockgrafeas_v1_package_proto_rawDescData +} + +var file_mockgrafeas_v1_package_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_mockgrafeas_v1_package_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_mockgrafeas_v1_package_proto_goTypes = []interface{}{ + (Architecture)(0), // 0: mockgrafeas.v1.Architecture + (Version_VersionKind)(0), // 1: mockgrafeas.v1.Version.VersionKind + (*Distribution)(nil), // 2: mockgrafeas.v1.Distribution + (*Location)(nil), // 3: mockgrafeas.v1.Location + (*PackageNote)(nil), // 4: mockgrafeas.v1.PackageNote + (*PackageOccurrence)(nil), // 5: mockgrafeas.v1.PackageOccurrence + (*Version)(nil), // 6: mockgrafeas.v1.Version + (*License)(nil), // 7: mockgrafeas.v1.License + (*Digest)(nil), // 8: mockgrafeas.v1.Digest +} +var file_mockgrafeas_v1_package_proto_depIdxs = []int32{ + 0, // 0: mockgrafeas.v1.Distribution.architecture:type_name -> mockgrafeas.v1.Architecture + 6, // 1: mockgrafeas.v1.Distribution.latest_version:type_name -> mockgrafeas.v1.Version + 6, // 2: mockgrafeas.v1.Location.version:type_name -> mockgrafeas.v1.Version + 2, // 3: mockgrafeas.v1.PackageNote.distribution:type_name -> mockgrafeas.v1.Distribution + 0, // 4: mockgrafeas.v1.PackageNote.architecture:type_name -> mockgrafeas.v1.Architecture + 6, // 5: mockgrafeas.v1.PackageNote.version:type_name -> mockgrafeas.v1.Version + 7, // 6: mockgrafeas.v1.PackageNote.license:type_name -> mockgrafeas.v1.License + 8, // 7: mockgrafeas.v1.PackageNote.digest:type_name -> mockgrafeas.v1.Digest + 3, // 8: mockgrafeas.v1.PackageOccurrence.location:type_name -> mockgrafeas.v1.Location + 0, // 9: mockgrafeas.v1.PackageOccurrence.architecture:type_name -> mockgrafeas.v1.Architecture + 7, // 10: mockgrafeas.v1.PackageOccurrence.license:type_name -> mockgrafeas.v1.License + 6, // 11: mockgrafeas.v1.PackageOccurrence.version:type_name -> mockgrafeas.v1.Version + 1, // 12: mockgrafeas.v1.Version.kind:type_name -> mockgrafeas.v1.Version.VersionKind + 13, // [13:13] is the sub-list for method output_type + 13, // [13:13] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name +} + +func init() { file_mockgrafeas_v1_package_proto_init() } +func file_mockgrafeas_v1_package_proto_init() { + if File_mockgrafeas_v1_package_proto != nil { + return + } + file_mockgrafeas_v1_common_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgrafeas_v1_package_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Distribution); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_package_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Location); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_package_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PackageNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_package_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PackageOccurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_package_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Version); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgrafeas_v1_package_proto_rawDesc, + NumEnums: 2, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgrafeas_v1_package_proto_goTypes, + DependencyIndexes: file_mockgrafeas_v1_package_proto_depIdxs, + EnumInfos: file_mockgrafeas_v1_package_proto_enumTypes, + MessageInfos: file_mockgrafeas_v1_package_proto_msgTypes, + }.Build() + File_mockgrafeas_v1_package_proto = out.File + file_mockgrafeas_v1_package_proto_rawDesc = nil + file_mockgrafeas_v1_package_proto_goTypes = nil + file_mockgrafeas_v1_package_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgrafeas/v1/provenance.pb.go b/mockgcp/generated/mockgrafeas/v1/provenance.pb.go new file mode 100644 index 0000000000..e056ade9ea --- /dev/null +++ b/mockgcp/generated/mockgrafeas/v1/provenance.pb.go @@ -0,0 +1,1639 @@ +// Copyright 2019 The Grafeas Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgrafeas/v1/provenance.proto + +package grafeas + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The type of an alias. +type AliasContext_Kind int32 + +const ( + // Unknown. + AliasContext_KIND_UNSPECIFIED AliasContext_Kind = 0 + // Git tag. + AliasContext_FIXED AliasContext_Kind = 1 + // Git branch. + AliasContext_MOVABLE AliasContext_Kind = 2 + // Used to specify non-standard aliases. For example, if a Git repo has a + // ref named "refs/foo/bar". + AliasContext_OTHER AliasContext_Kind = 4 +) + +// Enum value maps for AliasContext_Kind. +var ( + AliasContext_Kind_name = map[int32]string{ + 0: "KIND_UNSPECIFIED", + 1: "FIXED", + 2: "MOVABLE", + 4: "OTHER", + } + AliasContext_Kind_value = map[string]int32{ + "KIND_UNSPECIFIED": 0, + "FIXED": 1, + "MOVABLE": 2, + "OTHER": 4, + } +) + +func (x AliasContext_Kind) Enum() *AliasContext_Kind { + p := new(AliasContext_Kind) + *p = x + return p +} + +func (x AliasContext_Kind) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (AliasContext_Kind) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_provenance_proto_enumTypes[0].Descriptor() +} + +func (AliasContext_Kind) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_provenance_proto_enumTypes[0] +} + +func (x AliasContext_Kind) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use AliasContext_Kind.Descriptor instead. +func (AliasContext_Kind) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_provenance_proto_rawDescGZIP(), []int{7, 0} +} + +// Provenance of a build. Contains all information needed to verify the full +// details about the build from source to completion. +type BuildProvenance struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Unique identifier of the build. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // ID of the project. + ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // Commands requested by the build. + Commands []*Command `protobuf:"bytes,3,rep,name=commands,proto3" json:"commands,omitempty"` + // Output of the build. + BuiltArtifacts []*Artifact `protobuf:"bytes,4,rep,name=built_artifacts,json=builtArtifacts,proto3" json:"built_artifacts,omitempty"` + // Time at which the build was created. + CreateTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Time at which execution of the build was started. + StartTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Time at which execution of the build was finished. + EndTime *timestamp.Timestamp `protobuf:"bytes,7,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // E-mail address of the user who initiated this build. Note that this was the + // user's e-mail address at the time the build was initiated; this address may + // not represent the same end-user for all time. + Creator string `protobuf:"bytes,8,opt,name=creator,proto3" json:"creator,omitempty"` + // URI where any logs for this provenance were written. + LogsUri string `protobuf:"bytes,9,opt,name=logs_uri,json=logsUri,proto3" json:"logs_uri,omitempty"` + // Details of the Source input to the build. + SourceProvenance *Source `protobuf:"bytes,10,opt,name=source_provenance,json=sourceProvenance,proto3" json:"source_provenance,omitempty"` + // Trigger identifier if the build was triggered automatically; empty if not. + TriggerId string `protobuf:"bytes,11,opt,name=trigger_id,json=triggerId,proto3" json:"trigger_id,omitempty"` + // Special options applied to this build. This is a catch-all field where + // build providers can enter any desired additional details. + BuildOptions map[string]string `protobuf:"bytes,12,rep,name=build_options,json=buildOptions,proto3" json:"build_options,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // Version string of the builder at the time this build was executed. + BuilderVersion string `protobuf:"bytes,13,opt,name=builder_version,json=builderVersion,proto3" json:"builder_version,omitempty"` +} + +func (x *BuildProvenance) Reset() { + *x = BuildProvenance{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BuildProvenance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BuildProvenance) ProtoMessage() {} + +func (x *BuildProvenance) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BuildProvenance.ProtoReflect.Descriptor instead. +func (*BuildProvenance) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_provenance_proto_rawDescGZIP(), []int{0} +} + +func (x *BuildProvenance) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *BuildProvenance) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *BuildProvenance) GetCommands() []*Command { + if x != nil { + return x.Commands + } + return nil +} + +func (x *BuildProvenance) GetBuiltArtifacts() []*Artifact { + if x != nil { + return x.BuiltArtifacts + } + return nil +} + +func (x *BuildProvenance) GetCreateTime() *timestamp.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *BuildProvenance) GetStartTime() *timestamp.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *BuildProvenance) GetEndTime() *timestamp.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *BuildProvenance) GetCreator() string { + if x != nil { + return x.Creator + } + return "" +} + +func (x *BuildProvenance) GetLogsUri() string { + if x != nil { + return x.LogsUri + } + return "" +} + +func (x *BuildProvenance) GetSourceProvenance() *Source { + if x != nil { + return x.SourceProvenance + } + return nil +} + +func (x *BuildProvenance) GetTriggerId() string { + if x != nil { + return x.TriggerId + } + return "" +} + +func (x *BuildProvenance) GetBuildOptions() map[string]string { + if x != nil { + return x.BuildOptions + } + return nil +} + +func (x *BuildProvenance) GetBuilderVersion() string { + if x != nil { + return x.BuilderVersion + } + return "" +} + +// Source describes the location of the source used for the build. +type Source struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If provided, the input binary artifacts for the build came from this + // location. + ArtifactStorageSourceUri string `protobuf:"bytes,1,opt,name=artifact_storage_source_uri,json=artifactStorageSourceUri,proto3" json:"artifact_storage_source_uri,omitempty"` + // Hash(es) of the build source, which can be used to verify that the original + // source integrity was maintained in the build. + // + // The keys to this map are file paths used as build source and the values + // contain the hash values for those files. + // + // If the build source came in a single package such as a gzipped tarfile + // (.tar.gz), the FileHash will be for the single path to that file. + FileHashes map[string]*FileHashes `protobuf:"bytes,2,rep,name=file_hashes,json=fileHashes,proto3" json:"file_hashes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // If provided, the source code used for the build came from this location. + Context *SourceContext `protobuf:"bytes,3,opt,name=context,proto3" json:"context,omitempty"` + // If provided, some of the source code used for the build may be found in + // these locations, in the case where the source repository had multiple + // remotes or submodules. This list will not include the context specified in + // the context field. + AdditionalContexts []*SourceContext `protobuf:"bytes,4,rep,name=additional_contexts,json=additionalContexts,proto3" json:"additional_contexts,omitempty"` +} + +func (x *Source) Reset() { + *x = Source{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Source) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Source) ProtoMessage() {} + +func (x *Source) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Source.ProtoReflect.Descriptor instead. +func (*Source) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_provenance_proto_rawDescGZIP(), []int{1} +} + +func (x *Source) GetArtifactStorageSourceUri() string { + if x != nil { + return x.ArtifactStorageSourceUri + } + return "" +} + +func (x *Source) GetFileHashes() map[string]*FileHashes { + if x != nil { + return x.FileHashes + } + return nil +} + +func (x *Source) GetContext() *SourceContext { + if x != nil { + return x.Context + } + return nil +} + +func (x *Source) GetAdditionalContexts() []*SourceContext { + if x != nil { + return x.AdditionalContexts + } + return nil +} + +// Container message for hashes of byte content of files, used in source +// messages to verify integrity of source input to the build. +type FileHashes struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Collection of file hashes. + FileHash []*Hash `protobuf:"bytes,1,rep,name=file_hash,json=fileHash,proto3" json:"file_hash,omitempty"` +} + +func (x *FileHashes) Reset() { + *x = FileHashes{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FileHashes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FileHashes) ProtoMessage() {} + +func (x *FileHashes) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FileHashes.ProtoReflect.Descriptor instead. +func (*FileHashes) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_provenance_proto_rawDescGZIP(), []int{2} +} + +func (x *FileHashes) GetFileHash() []*Hash { + if x != nil { + return x.FileHash + } + return nil +} + +// Container message for hash values. +type Hash struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The type of hash that was performed, e.g. "SHA-256". + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // Required. The hash value. + Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *Hash) Reset() { + *x = Hash{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Hash) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Hash) ProtoMessage() {} + +func (x *Hash) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Hash.ProtoReflect.Descriptor instead. +func (*Hash) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_provenance_proto_rawDescGZIP(), []int{3} +} + +func (x *Hash) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *Hash) GetValue() []byte { + if x != nil { + return x.Value + } + return nil +} + +// Command describes a step performed as part of the build pipeline. +type Command struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. Name of the command, as presented on the command line, or if the + // command is packaged as a Docker container, as presented to `docker pull`. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Environment variables set before running this command. + Env []string `protobuf:"bytes,2,rep,name=env,proto3" json:"env,omitempty"` + // Command-line arguments used when executing this command. + Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"` + // Working directory (relative to project source root) used when running this + // command. + Dir string `protobuf:"bytes,4,opt,name=dir,proto3" json:"dir,omitempty"` + // Optional unique identifier for this command, used in wait_for to reference + // this command as a dependency. + Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"` + // The ID(s) of the command(s) that this command depends on. + WaitFor []string `protobuf:"bytes,6,rep,name=wait_for,json=waitFor,proto3" json:"wait_for,omitempty"` +} + +func (x *Command) Reset() { + *x = Command{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Command) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Command) ProtoMessage() {} + +func (x *Command) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Command.ProtoReflect.Descriptor instead. +func (*Command) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_provenance_proto_rawDescGZIP(), []int{4} +} + +func (x *Command) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Command) GetEnv() []string { + if x != nil { + return x.Env + } + return nil +} + +func (x *Command) GetArgs() []string { + if x != nil { + return x.Args + } + return nil +} + +func (x *Command) GetDir() string { + if x != nil { + return x.Dir + } + return "" +} + +func (x *Command) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Command) GetWaitFor() []string { + if x != nil { + return x.WaitFor + } + return nil +} + +// Artifact describes a build product. +type Artifact struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Hash or checksum value of a binary, or Docker Registry 2.0 digest of a + // container. + Checksum string `protobuf:"bytes,1,opt,name=checksum,proto3" json:"checksum,omitempty"` + // Artifact ID, if any; for container images, this will be a URL by digest + // like `gcr.io/projectID/imagename@sha256:123456`. + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + // Related artifact names. This may be the path to a binary or jar file, or in + // the case of a container build, the name used to push the container image to + // Google Container Registry, as presented to `docker push`. Note that a + // single Artifact ID can have multiple names, for example if two tags are + // applied to one image. + Names []string `protobuf:"bytes,3,rep,name=names,proto3" json:"names,omitempty"` +} + +func (x *Artifact) Reset() { + *x = Artifact{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Artifact) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Artifact) ProtoMessage() {} + +func (x *Artifact) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Artifact.ProtoReflect.Descriptor instead. +func (*Artifact) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_provenance_proto_rawDescGZIP(), []int{5} +} + +func (x *Artifact) GetChecksum() string { + if x != nil { + return x.Checksum + } + return "" +} + +func (x *Artifact) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Artifact) GetNames() []string { + if x != nil { + return x.Names + } + return nil +} + +// A SourceContext is a reference to a tree of files. A SourceContext together +// with a path point to a unique revision of a single file or directory. +type SourceContext struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A SourceContext can refer any one of the following types of repositories. + // + // Types that are assignable to Context: + // + // *SourceContext_CloudRepo + // *SourceContext_Gerrit + // *SourceContext_Git + Context isSourceContext_Context `protobuf_oneof:"context"` + // Labels with user defined metadata. + Labels map[string]string `protobuf:"bytes,4,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *SourceContext) Reset() { + *x = SourceContext{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SourceContext) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SourceContext) ProtoMessage() {} + +func (x *SourceContext) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SourceContext.ProtoReflect.Descriptor instead. +func (*SourceContext) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_provenance_proto_rawDescGZIP(), []int{6} +} + +func (m *SourceContext) GetContext() isSourceContext_Context { + if m != nil { + return m.Context + } + return nil +} + +func (x *SourceContext) GetCloudRepo() *CloudRepoSourceContext { + if x, ok := x.GetContext().(*SourceContext_CloudRepo); ok { + return x.CloudRepo + } + return nil +} + +func (x *SourceContext) GetGerrit() *GerritSourceContext { + if x, ok := x.GetContext().(*SourceContext_Gerrit); ok { + return x.Gerrit + } + return nil +} + +func (x *SourceContext) GetGit() *GitSourceContext { + if x, ok := x.GetContext().(*SourceContext_Git); ok { + return x.Git + } + return nil +} + +func (x *SourceContext) GetLabels() map[string]string { + if x != nil { + return x.Labels + } + return nil +} + +type isSourceContext_Context interface { + isSourceContext_Context() +} + +type SourceContext_CloudRepo struct { + // A SourceContext referring to a revision in a Google Cloud Source Repo. + CloudRepo *CloudRepoSourceContext `protobuf:"bytes,1,opt,name=cloud_repo,json=cloudRepo,proto3,oneof"` +} + +type SourceContext_Gerrit struct { + // A SourceContext referring to a Gerrit project. + Gerrit *GerritSourceContext `protobuf:"bytes,2,opt,name=gerrit,proto3,oneof"` +} + +type SourceContext_Git struct { + // A SourceContext referring to any third party Git repo (e.g., GitHub). + Git *GitSourceContext `protobuf:"bytes,3,opt,name=git,proto3,oneof"` +} + +func (*SourceContext_CloudRepo) isSourceContext_Context() {} + +func (*SourceContext_Gerrit) isSourceContext_Context() {} + +func (*SourceContext_Git) isSourceContext_Context() {} + +// An alias to a repo revision. +type AliasContext struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The alias kind. + Kind AliasContext_Kind `protobuf:"varint,1,opt,name=kind,proto3,enum=mockgrafeas.v1.AliasContext_Kind" json:"kind,omitempty"` + // The alias name. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *AliasContext) Reset() { + *x = AliasContext{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliasContext) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliasContext) ProtoMessage() {} + +func (x *AliasContext) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AliasContext.ProtoReflect.Descriptor instead. +func (*AliasContext) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_provenance_proto_rawDescGZIP(), []int{7} +} + +func (x *AliasContext) GetKind() AliasContext_Kind { + if x != nil { + return x.Kind + } + return AliasContext_KIND_UNSPECIFIED +} + +func (x *AliasContext) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// A CloudRepoSourceContext denotes a particular revision in a Google Cloud +// Source Repo. +type CloudRepoSourceContext struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of the repo. + RepoId *RepoId `protobuf:"bytes,1,opt,name=repo_id,json=repoId,proto3" json:"repo_id,omitempty"` + // A revision in a Cloud Repo can be identified by either its revision ID or + // its alias. + // + // Types that are assignable to Revision: + // + // *CloudRepoSourceContext_RevisionId + // *CloudRepoSourceContext_AliasContext + Revision isCloudRepoSourceContext_Revision `protobuf_oneof:"revision"` +} + +func (x *CloudRepoSourceContext) Reset() { + *x = CloudRepoSourceContext{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CloudRepoSourceContext) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CloudRepoSourceContext) ProtoMessage() {} + +func (x *CloudRepoSourceContext) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CloudRepoSourceContext.ProtoReflect.Descriptor instead. +func (*CloudRepoSourceContext) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_provenance_proto_rawDescGZIP(), []int{8} +} + +func (x *CloudRepoSourceContext) GetRepoId() *RepoId { + if x != nil { + return x.RepoId + } + return nil +} + +func (m *CloudRepoSourceContext) GetRevision() isCloudRepoSourceContext_Revision { + if m != nil { + return m.Revision + } + return nil +} + +func (x *CloudRepoSourceContext) GetRevisionId() string { + if x, ok := x.GetRevision().(*CloudRepoSourceContext_RevisionId); ok { + return x.RevisionId + } + return "" +} + +func (x *CloudRepoSourceContext) GetAliasContext() *AliasContext { + if x, ok := x.GetRevision().(*CloudRepoSourceContext_AliasContext); ok { + return x.AliasContext + } + return nil +} + +type isCloudRepoSourceContext_Revision interface { + isCloudRepoSourceContext_Revision() +} + +type CloudRepoSourceContext_RevisionId struct { + // A revision ID. + RevisionId string `protobuf:"bytes,2,opt,name=revision_id,json=revisionId,proto3,oneof"` +} + +type CloudRepoSourceContext_AliasContext struct { + // An alias, which may be a branch or tag. + AliasContext *AliasContext `protobuf:"bytes,3,opt,name=alias_context,json=aliasContext,proto3,oneof"` +} + +func (*CloudRepoSourceContext_RevisionId) isCloudRepoSourceContext_Revision() {} + +func (*CloudRepoSourceContext_AliasContext) isCloudRepoSourceContext_Revision() {} + +// A SourceContext referring to a Gerrit project. +type GerritSourceContext struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The URI of a running Gerrit instance. + HostUri string `protobuf:"bytes,1,opt,name=host_uri,json=hostUri,proto3" json:"host_uri,omitempty"` + // The full project name within the host. Projects may be nested, so + // "project/subproject" is a valid project name. The "repo name" is the + // hostURI/project. + GerritProject string `protobuf:"bytes,2,opt,name=gerrit_project,json=gerritProject,proto3" json:"gerrit_project,omitempty"` + // A revision in a Gerrit project can be identified by either its revision ID + // or its alias. + // + // Types that are assignable to Revision: + // + // *GerritSourceContext_RevisionId + // *GerritSourceContext_AliasContext + Revision isGerritSourceContext_Revision `protobuf_oneof:"revision"` +} + +func (x *GerritSourceContext) Reset() { + *x = GerritSourceContext{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GerritSourceContext) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GerritSourceContext) ProtoMessage() {} + +func (x *GerritSourceContext) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GerritSourceContext.ProtoReflect.Descriptor instead. +func (*GerritSourceContext) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_provenance_proto_rawDescGZIP(), []int{9} +} + +func (x *GerritSourceContext) GetHostUri() string { + if x != nil { + return x.HostUri + } + return "" +} + +func (x *GerritSourceContext) GetGerritProject() string { + if x != nil { + return x.GerritProject + } + return "" +} + +func (m *GerritSourceContext) GetRevision() isGerritSourceContext_Revision { + if m != nil { + return m.Revision + } + return nil +} + +func (x *GerritSourceContext) GetRevisionId() string { + if x, ok := x.GetRevision().(*GerritSourceContext_RevisionId); ok { + return x.RevisionId + } + return "" +} + +func (x *GerritSourceContext) GetAliasContext() *AliasContext { + if x, ok := x.GetRevision().(*GerritSourceContext_AliasContext); ok { + return x.AliasContext + } + return nil +} + +type isGerritSourceContext_Revision interface { + isGerritSourceContext_Revision() +} + +type GerritSourceContext_RevisionId struct { + // A revision (commit) ID. + RevisionId string `protobuf:"bytes,3,opt,name=revision_id,json=revisionId,proto3,oneof"` +} + +type GerritSourceContext_AliasContext struct { + // An alias, which may be a branch or tag. + AliasContext *AliasContext `protobuf:"bytes,4,opt,name=alias_context,json=aliasContext,proto3,oneof"` +} + +func (*GerritSourceContext_RevisionId) isGerritSourceContext_Revision() {} + +func (*GerritSourceContext_AliasContext) isGerritSourceContext_Revision() {} + +// A GitSourceContext denotes a particular revision in a third party Git +// repository (e.g., GitHub). +type GitSourceContext struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Git repository URL. + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` + // Git commit hash. + RevisionId string `protobuf:"bytes,2,opt,name=revision_id,json=revisionId,proto3" json:"revision_id,omitempty"` +} + +func (x *GitSourceContext) Reset() { + *x = GitSourceContext{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GitSourceContext) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GitSourceContext) ProtoMessage() {} + +func (x *GitSourceContext) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GitSourceContext.ProtoReflect.Descriptor instead. +func (*GitSourceContext) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_provenance_proto_rawDescGZIP(), []int{10} +} + +func (x *GitSourceContext) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *GitSourceContext) GetRevisionId() string { + if x != nil { + return x.RevisionId + } + return "" +} + +// A unique identifier for a Cloud Repo. +type RepoId struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // A cloud repo can be identified by either its project ID and repository name + // combination, or its globally unique identifier. + // + // Types that are assignable to Id: + // + // *RepoId_ProjectRepoId + // *RepoId_Uid + Id isRepoId_Id `protobuf_oneof:"id"` +} + +func (x *RepoId) Reset() { + *x = RepoId{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RepoId) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RepoId) ProtoMessage() {} + +func (x *RepoId) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RepoId.ProtoReflect.Descriptor instead. +func (*RepoId) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_provenance_proto_rawDescGZIP(), []int{11} +} + +func (m *RepoId) GetId() isRepoId_Id { + if m != nil { + return m.Id + } + return nil +} + +func (x *RepoId) GetProjectRepoId() *ProjectRepoId { + if x, ok := x.GetId().(*RepoId_ProjectRepoId); ok { + return x.ProjectRepoId + } + return nil +} + +func (x *RepoId) GetUid() string { + if x, ok := x.GetId().(*RepoId_Uid); ok { + return x.Uid + } + return "" +} + +type isRepoId_Id interface { + isRepoId_Id() +} + +type RepoId_ProjectRepoId struct { + // A combination of a project ID and a repo name. + ProjectRepoId *ProjectRepoId `protobuf:"bytes,1,opt,name=project_repo_id,json=projectRepoId,proto3,oneof"` +} + +type RepoId_Uid struct { + // A server-assigned, globally unique identifier. + Uid string `protobuf:"bytes,2,opt,name=uid,proto3,oneof"` +} + +func (*RepoId_ProjectRepoId) isRepoId_Id() {} + +func (*RepoId_Uid) isRepoId_Id() {} + +// Selects a repo using a Google Cloud Platform project ID (e.g., +// winged-cargo-31) and a repo name within that project. +type ProjectRepoId struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ID of the project. + ProjectId string `protobuf:"bytes,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` + // The name of the repo. Leave empty for the default repo. + RepoName string `protobuf:"bytes,2,opt,name=repo_name,json=repoName,proto3" json:"repo_name,omitempty"` +} + +func (x *ProjectRepoId) Reset() { + *x = ProjectRepoId{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ProjectRepoId) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProjectRepoId) ProtoMessage() {} + +func (x *ProjectRepoId) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_provenance_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProjectRepoId.ProtoReflect.Descriptor instead. +func (*ProjectRepoId) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_provenance_proto_rawDescGZIP(), []int{12} +} + +func (x *ProjectRepoId) GetProjectId() string { + if x != nil { + return x.ProjectId + } + return "" +} + +func (x *ProjectRepoId) GetRepoName() string { + if x != nil { + return x.RepoName + } + return "" +} + +var File_mockgrafeas_v1_provenance_proto protoreflect.FileDescriptor + +var file_mockgrafeas_v1_provenance_proto_rawDesc = []byte{ + 0x0a, 0x1f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, + 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x12, 0x0e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, + 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0xc2, 0x05, 0x0a, 0x0f, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x76, + 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, + 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x52, 0x08, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x12, 0x41, 0x0a, 0x0f, 0x62, 0x75, + 0x69, 0x6c, 0x74, 0x5f, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x52, 0x0e, 0x62, + 0x75, 0x69, 0x6c, 0x74, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x3b, 0x0a, + 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x75, + 0x72, 0x69, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x73, 0x55, 0x72, + 0x69, 0x12, 0x43, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, + 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x52, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x76, + 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x49, 0x64, 0x12, 0x56, 0x0a, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, + 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x42, 0x75, + 0x69, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, + 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x3f, 0x0a, 0x11, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf4, 0x02, 0x0a, 0x06, 0x53, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x3d, 0x0a, 0x1b, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, + 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, + 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, + 0x69, 0x12, 0x47, 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, + 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x46, + 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, + 0x66, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x12, 0x4e, 0x0a, 0x13, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, + 0x12, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x73, 0x1a, 0x59, 0x0a, 0x0f, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, + 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, + 0x68, 0x65, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x3f, + 0x0a, 0x0a, 0x46, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x09, + 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x14, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x48, 0x61, 0x73, 0x68, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x61, 0x73, 0x68, 0x22, + 0x30, 0x0a, 0x04, 0x48, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0x80, 0x01, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x76, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, + 0x65, 0x6e, 0x76, 0x12, 0x12, 0x0a, 0x04, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x04, 0x61, 0x72, 0x67, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x69, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x64, 0x69, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x77, 0x61, 0x69, + 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x77, 0x61, 0x69, + 0x74, 0x46, 0x6f, 0x72, 0x22, 0x4c, 0x0a, 0x08, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x22, 0xd6, 0x02, 0x0a, 0x0d, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x12, 0x47, 0x0a, 0x0a, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x72, 0x65, + 0x70, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x52, + 0x65, 0x70, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x48, 0x00, 0x52, 0x09, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x12, 0x3d, 0x0a, + 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x72, 0x72, 0x69, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x48, 0x00, 0x52, 0x06, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x12, 0x34, 0x0a, 0x03, + 0x67, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x03, 0x67, + 0x69, 0x74, 0x12, 0x41, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x22, 0x9a, 0x01, 0x0a, 0x0c, + 0x41, 0x6c, 0x69, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x35, 0x0a, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, 0x69, 0x61, + 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3f, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, + 0x14, 0x0a, 0x10, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, 0x58, 0x45, 0x44, 0x10, 0x01, + 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x4f, 0x56, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x09, 0x0a, + 0x05, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x04, 0x22, 0xbd, 0x01, 0x0a, 0x16, 0x43, 0x6c, 0x6f, + 0x75, 0x64, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x12, 0x2f, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, + 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x49, 0x64, 0x52, 0x06, 0x72, 0x65, + 0x70, 0x6f, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0b, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x65, 0x76, + 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x0d, 0x61, 0x6c, 0x69, 0x61, 0x73, + 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x6c, 0x69, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x0c, + 0x61, 0x6c, 0x69, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x0a, 0x0a, 0x08, + 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xcb, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x72, + 0x72, 0x69, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x12, 0x19, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x69, 0x12, 0x25, 0x0a, 0x0e, 0x67, + 0x65, 0x72, 0x72, 0x69, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x67, 0x65, 0x72, 0x72, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x73, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x0d, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6c, + 0x69, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x6c, + 0x69, 0x61, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, + 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x45, 0x0a, 0x10, 0x47, 0x69, 0x74, 0x53, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, + 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x6b, 0x0a, + 0x06, 0x52, 0x65, 0x70, 0x6f, 0x49, 0x64, 0x12, 0x47, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x49, 0x64, 0x48, + 0x00, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x49, 0x64, + 0x12, 0x12, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x03, 0x75, 0x69, 0x64, 0x42, 0x04, 0x0a, 0x02, 0x69, 0x64, 0x22, 0x4b, 0x0a, 0x0d, 0x50, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, + 0x70, 0x6f, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, + 0x65, 0x70, 0x6f, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x59, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x50, 0x01, 0x5a, 0x3c, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, + 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0xa2, 0x02, 0x03, 0x47, + 0x52, 0x41, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgrafeas_v1_provenance_proto_rawDescOnce sync.Once + file_mockgrafeas_v1_provenance_proto_rawDescData = file_mockgrafeas_v1_provenance_proto_rawDesc +) + +func file_mockgrafeas_v1_provenance_proto_rawDescGZIP() []byte { + file_mockgrafeas_v1_provenance_proto_rawDescOnce.Do(func() { + file_mockgrafeas_v1_provenance_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgrafeas_v1_provenance_proto_rawDescData) + }) + return file_mockgrafeas_v1_provenance_proto_rawDescData +} + +var file_mockgrafeas_v1_provenance_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgrafeas_v1_provenance_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_mockgrafeas_v1_provenance_proto_goTypes = []interface{}{ + (AliasContext_Kind)(0), // 0: mockgrafeas.v1.AliasContext.Kind + (*BuildProvenance)(nil), // 1: mockgrafeas.v1.BuildProvenance + (*Source)(nil), // 2: mockgrafeas.v1.Source + (*FileHashes)(nil), // 3: mockgrafeas.v1.FileHashes + (*Hash)(nil), // 4: mockgrafeas.v1.Hash + (*Command)(nil), // 5: mockgrafeas.v1.Command + (*Artifact)(nil), // 6: mockgrafeas.v1.Artifact + (*SourceContext)(nil), // 7: mockgrafeas.v1.SourceContext + (*AliasContext)(nil), // 8: mockgrafeas.v1.AliasContext + (*CloudRepoSourceContext)(nil), // 9: mockgrafeas.v1.CloudRepoSourceContext + (*GerritSourceContext)(nil), // 10: mockgrafeas.v1.GerritSourceContext + (*GitSourceContext)(nil), // 11: mockgrafeas.v1.GitSourceContext + (*RepoId)(nil), // 12: mockgrafeas.v1.RepoId + (*ProjectRepoId)(nil), // 13: mockgrafeas.v1.ProjectRepoId + nil, // 14: mockgrafeas.v1.BuildProvenance.BuildOptionsEntry + nil, // 15: mockgrafeas.v1.Source.FileHashesEntry + nil, // 16: mockgrafeas.v1.SourceContext.LabelsEntry + (*timestamp.Timestamp)(nil), // 17: google.protobuf.Timestamp +} +var file_mockgrafeas_v1_provenance_proto_depIdxs = []int32{ + 5, // 0: mockgrafeas.v1.BuildProvenance.commands:type_name -> mockgrafeas.v1.Command + 6, // 1: mockgrafeas.v1.BuildProvenance.built_artifacts:type_name -> mockgrafeas.v1.Artifact + 17, // 2: mockgrafeas.v1.BuildProvenance.create_time:type_name -> google.protobuf.Timestamp + 17, // 3: mockgrafeas.v1.BuildProvenance.start_time:type_name -> google.protobuf.Timestamp + 17, // 4: mockgrafeas.v1.BuildProvenance.end_time:type_name -> google.protobuf.Timestamp + 2, // 5: mockgrafeas.v1.BuildProvenance.source_provenance:type_name -> mockgrafeas.v1.Source + 14, // 6: mockgrafeas.v1.BuildProvenance.build_options:type_name -> mockgrafeas.v1.BuildProvenance.BuildOptionsEntry + 15, // 7: mockgrafeas.v1.Source.file_hashes:type_name -> mockgrafeas.v1.Source.FileHashesEntry + 7, // 8: mockgrafeas.v1.Source.context:type_name -> mockgrafeas.v1.SourceContext + 7, // 9: mockgrafeas.v1.Source.additional_contexts:type_name -> mockgrafeas.v1.SourceContext + 4, // 10: mockgrafeas.v1.FileHashes.file_hash:type_name -> mockgrafeas.v1.Hash + 9, // 11: mockgrafeas.v1.SourceContext.cloud_repo:type_name -> mockgrafeas.v1.CloudRepoSourceContext + 10, // 12: mockgrafeas.v1.SourceContext.gerrit:type_name -> mockgrafeas.v1.GerritSourceContext + 11, // 13: mockgrafeas.v1.SourceContext.git:type_name -> mockgrafeas.v1.GitSourceContext + 16, // 14: mockgrafeas.v1.SourceContext.labels:type_name -> mockgrafeas.v1.SourceContext.LabelsEntry + 0, // 15: mockgrafeas.v1.AliasContext.kind:type_name -> mockgrafeas.v1.AliasContext.Kind + 12, // 16: mockgrafeas.v1.CloudRepoSourceContext.repo_id:type_name -> mockgrafeas.v1.RepoId + 8, // 17: mockgrafeas.v1.CloudRepoSourceContext.alias_context:type_name -> mockgrafeas.v1.AliasContext + 8, // 18: mockgrafeas.v1.GerritSourceContext.alias_context:type_name -> mockgrafeas.v1.AliasContext + 13, // 19: mockgrafeas.v1.RepoId.project_repo_id:type_name -> mockgrafeas.v1.ProjectRepoId + 3, // 20: mockgrafeas.v1.Source.FileHashesEntry.value:type_name -> mockgrafeas.v1.FileHashes + 21, // [21:21] is the sub-list for method output_type + 21, // [21:21] is the sub-list for method input_type + 21, // [21:21] is the sub-list for extension type_name + 21, // [21:21] is the sub-list for extension extendee + 0, // [0:21] is the sub-list for field type_name +} + +func init() { file_mockgrafeas_v1_provenance_proto_init() } +func file_mockgrafeas_v1_provenance_proto_init() { + if File_mockgrafeas_v1_provenance_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgrafeas_v1_provenance_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BuildProvenance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_provenance_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Source); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_provenance_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FileHashes); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_provenance_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Hash); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_provenance_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Command); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_provenance_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Artifact); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_provenance_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SourceContext); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_provenance_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliasContext); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_provenance_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CloudRepoSourceContext); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_provenance_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GerritSourceContext); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_provenance_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GitSourceContext); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_provenance_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RepoId); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_provenance_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ProjectRepoId); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgrafeas_v1_provenance_proto_msgTypes[6].OneofWrappers = []interface{}{ + (*SourceContext_CloudRepo)(nil), + (*SourceContext_Gerrit)(nil), + (*SourceContext_Git)(nil), + } + file_mockgrafeas_v1_provenance_proto_msgTypes[8].OneofWrappers = []interface{}{ + (*CloudRepoSourceContext_RevisionId)(nil), + (*CloudRepoSourceContext_AliasContext)(nil), + } + file_mockgrafeas_v1_provenance_proto_msgTypes[9].OneofWrappers = []interface{}{ + (*GerritSourceContext_RevisionId)(nil), + (*GerritSourceContext_AliasContext)(nil), + } + file_mockgrafeas_v1_provenance_proto_msgTypes[11].OneofWrappers = []interface{}{ + (*RepoId_ProjectRepoId)(nil), + (*RepoId_Uid)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgrafeas_v1_provenance_proto_rawDesc, + NumEnums: 1, + NumMessages: 16, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgrafeas_v1_provenance_proto_goTypes, + DependencyIndexes: file_mockgrafeas_v1_provenance_proto_depIdxs, + EnumInfos: file_mockgrafeas_v1_provenance_proto_enumTypes, + MessageInfos: file_mockgrafeas_v1_provenance_proto_msgTypes, + }.Build() + File_mockgrafeas_v1_provenance_proto = out.File + file_mockgrafeas_v1_provenance_proto_rawDesc = nil + file_mockgrafeas_v1_provenance_proto_goTypes = nil + file_mockgrafeas_v1_provenance_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgrafeas/v1/sbom.pb.go b/mockgcp/generated/mockgrafeas/v1/sbom.pb.go new file mode 100644 index 0000000000..5bedfe46d5 --- /dev/null +++ b/mockgcp/generated/mockgrafeas/v1/sbom.pb.go @@ -0,0 +1,501 @@ +// Copyright 2023 The Grafeas Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgrafeas/v1/sbom.proto + +package grafeas + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The note representing an SBOM reference. +type SBOMReferenceNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The format that SBOM takes. E.g. may be spdx, cyclonedx, etc... + Format string `protobuf:"bytes,1,opt,name=format,proto3" json:"format,omitempty"` + // The version of the format that the SBOM takes. E.g. if the format + // is spdx, the version may be 2.3. + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` +} + +func (x *SBOMReferenceNote) Reset() { + *x = SBOMReferenceNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_sbom_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SBOMReferenceNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SBOMReferenceNote) ProtoMessage() {} + +func (x *SBOMReferenceNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_sbom_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SBOMReferenceNote.ProtoReflect.Descriptor instead. +func (*SBOMReferenceNote) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_sbom_proto_rawDescGZIP(), []int{0} +} + +func (x *SBOMReferenceNote) GetFormat() string { + if x != nil { + return x.Format + } + return "" +} + +func (x *SBOMReferenceNote) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +// The occurrence representing an SBOM reference as applied to a specific +// resource. The occurrence follows the DSSE specification. See +// https://github.com/secure-systems-lab/dsse/blob/master/envelope.md for more +// details. +type SBOMReferenceOccurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The actual payload that contains the SBOM reference data. + Payload *SbomReferenceIntotoPayload `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + // The kind of payload that SbomReferenceIntotoPayload takes. Since it's in + // the intoto format, this value is expected to be + // 'application/vnd.in-toto+json'. + PayloadType string `protobuf:"bytes,2,opt,name=payload_type,json=payloadType,proto3" json:"payload_type,omitempty"` + // The signatures over the payload. + Signatures []*EnvelopeSignature `protobuf:"bytes,3,rep,name=signatures,proto3" json:"signatures,omitempty"` +} + +func (x *SBOMReferenceOccurrence) Reset() { + *x = SBOMReferenceOccurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_sbom_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SBOMReferenceOccurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SBOMReferenceOccurrence) ProtoMessage() {} + +func (x *SBOMReferenceOccurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_sbom_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SBOMReferenceOccurrence.ProtoReflect.Descriptor instead. +func (*SBOMReferenceOccurrence) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_sbom_proto_rawDescGZIP(), []int{1} +} + +func (x *SBOMReferenceOccurrence) GetPayload() *SbomReferenceIntotoPayload { + if x != nil { + return x.Payload + } + return nil +} + +func (x *SBOMReferenceOccurrence) GetPayloadType() string { + if x != nil { + return x.PayloadType + } + return "" +} + +func (x *SBOMReferenceOccurrence) GetSignatures() []*EnvelopeSignature { + if x != nil { + return x.Signatures + } + return nil +} + +// The actual payload that contains the SBOM Reference data. +// The payload follows the intoto statement specification. See +// https://github.com/in-toto/attestation/blob/main/spec/v1.0/statement.md +// for more details. +type SbomReferenceIntotoPayload struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identifier for the schema of the Statement. + Type string `protobuf:"bytes,1,opt,name=type,json=_type,proto3" json:"type,omitempty"` + // URI identifying the type of the Predicate. + PredicateType string `protobuf:"bytes,2,opt,name=predicate_type,json=predicateType,proto3" json:"predicate_type,omitempty"` + // Set of software artifacts that the attestation applies to. Each element + // represents a single software artifact. + Subject []*Subject `protobuf:"bytes,3,rep,name=subject,proto3" json:"subject,omitempty"` + // Additional parameters of the Predicate. Includes the actual data about the + // SBOM. + Predicate *SbomReferenceIntotoPredicate `protobuf:"bytes,4,opt,name=predicate,proto3" json:"predicate,omitempty"` +} + +func (x *SbomReferenceIntotoPayload) Reset() { + *x = SbomReferenceIntotoPayload{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_sbom_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SbomReferenceIntotoPayload) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SbomReferenceIntotoPayload) ProtoMessage() {} + +func (x *SbomReferenceIntotoPayload) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_sbom_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SbomReferenceIntotoPayload.ProtoReflect.Descriptor instead. +func (*SbomReferenceIntotoPayload) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_sbom_proto_rawDescGZIP(), []int{2} +} + +func (x *SbomReferenceIntotoPayload) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *SbomReferenceIntotoPayload) GetPredicateType() string { + if x != nil { + return x.PredicateType + } + return "" +} + +func (x *SbomReferenceIntotoPayload) GetSubject() []*Subject { + if x != nil { + return x.Subject + } + return nil +} + +func (x *SbomReferenceIntotoPayload) GetPredicate() *SbomReferenceIntotoPredicate { + if x != nil { + return x.Predicate + } + return nil +} + +// A predicate which describes the SBOM being referenced. +type SbomReferenceIntotoPredicate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The person or system referring this predicate to the consumer. + ReferrerId string `protobuf:"bytes,1,opt,name=referrer_id,json=referrerId,proto3" json:"referrer_id,omitempty"` + // The location of the SBOM. + Location string `protobuf:"bytes,2,opt,name=location,proto3" json:"location,omitempty"` + // The mime type of the SBOM. + MimeType string `protobuf:"bytes,3,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"` + // A map of algorithm to digest of the contents of the SBOM. + Digest map[string]string `protobuf:"bytes,4,rep,name=digest,proto3" json:"digest,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *SbomReferenceIntotoPredicate) Reset() { + *x = SbomReferenceIntotoPredicate{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_sbom_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SbomReferenceIntotoPredicate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SbomReferenceIntotoPredicate) ProtoMessage() {} + +func (x *SbomReferenceIntotoPredicate) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_sbom_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SbomReferenceIntotoPredicate.ProtoReflect.Descriptor instead. +func (*SbomReferenceIntotoPredicate) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_sbom_proto_rawDescGZIP(), []int{3} +} + +func (x *SbomReferenceIntotoPredicate) GetReferrerId() string { + if x != nil { + return x.ReferrerId + } + return "" +} + +func (x *SbomReferenceIntotoPredicate) GetLocation() string { + if x != nil { + return x.Location + } + return "" +} + +func (x *SbomReferenceIntotoPredicate) GetMimeType() string { + if x != nil { + return x.MimeType + } + return "" +} + +func (x *SbomReferenceIntotoPredicate) GetDigest() map[string]string { + if x != nil { + return x.Digest + } + return nil +} + +var File_mockgrafeas_v1_sbom_proto protoreflect.FileDescriptor + +var file_mockgrafeas_v1_sbom_proto_rawDesc = []byte{ + 0x0a, 0x19, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, + 0x2f, 0x73, 0x62, 0x6f, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1b, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, + 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x69, 0x6e, 0x74, 0x6f, 0x74, 0x6f, 0x5f, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0x45, 0x0a, 0x11, 0x53, 0x42, 0x4f, 0x4d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xc5, 0x01, 0x0a, 0x17, 0x53, 0x42, 0x4f, 0x4d, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x12, 0x44, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x62, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x49, 0x6e, 0x74, 0x6f, 0x74, 0x6f, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, + 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6c, + 0x6f, 0x61, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x21, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x52, 0x0a, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x22, 0xd7, + 0x01, 0x0a, 0x1a, 0x53, 0x62, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x49, 0x6e, 0x74, 0x6f, 0x74, 0x6f, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x13, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x31, 0x0a, 0x07, 0x73, 0x75, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x4a, 0x0a, 0x09, + 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x62, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6e, + 0x74, 0x6f, 0x74, 0x6f, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x09, 0x70, + 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x22, 0x85, 0x02, 0x0a, 0x1c, 0x53, 0x62, 0x6f, + 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x74, 0x6f, 0x74, 0x6f, + 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x72, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x50, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x62, 0x6f, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x49, 0x6e, 0x74, 0x6f, 0x74, 0x6f, 0x50, 0x72, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x2e, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x64, + 0x69, 0x67, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x42, 0x59, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, + 0x61, 0x73, 0x2e, 0x76, 0x31, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x67, 0x72, + 0x61, 0x66, 0x65, 0x61, 0x73, 0xa2, 0x02, 0x03, 0x47, 0x52, 0x41, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, +} + +var ( + file_mockgrafeas_v1_sbom_proto_rawDescOnce sync.Once + file_mockgrafeas_v1_sbom_proto_rawDescData = file_mockgrafeas_v1_sbom_proto_rawDesc +) + +func file_mockgrafeas_v1_sbom_proto_rawDescGZIP() []byte { + file_mockgrafeas_v1_sbom_proto_rawDescOnce.Do(func() { + file_mockgrafeas_v1_sbom_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgrafeas_v1_sbom_proto_rawDescData) + }) + return file_mockgrafeas_v1_sbom_proto_rawDescData +} + +var file_mockgrafeas_v1_sbom_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_mockgrafeas_v1_sbom_proto_goTypes = []interface{}{ + (*SBOMReferenceNote)(nil), // 0: mockgrafeas.v1.SBOMReferenceNote + (*SBOMReferenceOccurrence)(nil), // 1: mockgrafeas.v1.SBOMReferenceOccurrence + (*SbomReferenceIntotoPayload)(nil), // 2: mockgrafeas.v1.SbomReferenceIntotoPayload + (*SbomReferenceIntotoPredicate)(nil), // 3: mockgrafeas.v1.SbomReferenceIntotoPredicate + nil, // 4: mockgrafeas.v1.SbomReferenceIntotoPredicate.DigestEntry + (*EnvelopeSignature)(nil), // 5: mockgrafeas.v1.EnvelopeSignature + (*Subject)(nil), // 6: mockgrafeas.v1.Subject +} +var file_mockgrafeas_v1_sbom_proto_depIdxs = []int32{ + 2, // 0: mockgrafeas.v1.SBOMReferenceOccurrence.payload:type_name -> mockgrafeas.v1.SbomReferenceIntotoPayload + 5, // 1: mockgrafeas.v1.SBOMReferenceOccurrence.signatures:type_name -> mockgrafeas.v1.EnvelopeSignature + 6, // 2: mockgrafeas.v1.SbomReferenceIntotoPayload.subject:type_name -> mockgrafeas.v1.Subject + 3, // 3: mockgrafeas.v1.SbomReferenceIntotoPayload.predicate:type_name -> mockgrafeas.v1.SbomReferenceIntotoPredicate + 4, // 4: mockgrafeas.v1.SbomReferenceIntotoPredicate.digest:type_name -> mockgrafeas.v1.SbomReferenceIntotoPredicate.DigestEntry + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_mockgrafeas_v1_sbom_proto_init() } +func file_mockgrafeas_v1_sbom_proto_init() { + if File_mockgrafeas_v1_sbom_proto != nil { + return + } + file_mockgrafeas_v1_common_proto_init() + file_mockgrafeas_v1_intoto_statement_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgrafeas_v1_sbom_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SBOMReferenceNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_sbom_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SBOMReferenceOccurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_sbom_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SbomReferenceIntotoPayload); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_sbom_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SbomReferenceIntotoPredicate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgrafeas_v1_sbom_proto_rawDesc, + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgrafeas_v1_sbom_proto_goTypes, + DependencyIndexes: file_mockgrafeas_v1_sbom_proto_depIdxs, + MessageInfos: file_mockgrafeas_v1_sbom_proto_msgTypes, + }.Build() + File_mockgrafeas_v1_sbom_proto = out.File + file_mockgrafeas_v1_sbom_proto_rawDesc = nil + file_mockgrafeas_v1_sbom_proto_goTypes = nil + file_mockgrafeas_v1_sbom_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgrafeas/v1/severity.pb.go b/mockgcp/generated/mockgrafeas/v1/severity.pb.go new file mode 100644 index 0000000000..2c6ce970fa --- /dev/null +++ b/mockgcp/generated/mockgrafeas/v1/severity.pb.go @@ -0,0 +1,170 @@ +// Copyright 2021 The Grafeas Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgrafeas/v1/severity.proto + +package grafeas + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Note provider assigned severity/impact ranking. +type Severity int32 + +const ( + // Unknown. + Severity_SEVERITY_UNSPECIFIED Severity = 0 + // Minimal severity. + Severity_MINIMAL Severity = 1 + // Low severity. + Severity_LOW Severity = 2 + // Medium severity. + Severity_MEDIUM Severity = 3 + // High severity. + Severity_HIGH Severity = 4 + // Critical severity. + Severity_CRITICAL Severity = 5 +) + +// Enum value maps for Severity. +var ( + Severity_name = map[int32]string{ + 0: "SEVERITY_UNSPECIFIED", + 1: "MINIMAL", + 2: "LOW", + 3: "MEDIUM", + 4: "HIGH", + 5: "CRITICAL", + } + Severity_value = map[string]int32{ + "SEVERITY_UNSPECIFIED": 0, + "MINIMAL": 1, + "LOW": 2, + "MEDIUM": 3, + "HIGH": 4, + "CRITICAL": 5, + } +) + +func (x Severity) Enum() *Severity { + p := new(Severity) + *p = x + return p +} + +func (x Severity) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Severity) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_severity_proto_enumTypes[0].Descriptor() +} + +func (Severity) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_severity_proto_enumTypes[0] +} + +func (x Severity) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Severity.Descriptor instead. +func (Severity) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_severity_proto_rawDescGZIP(), []int{0} +} + +var File_mockgrafeas_v1_severity_proto protoreflect.FileDescriptor + +var file_mockgrafeas_v1_severity_proto_rawDesc = []byte{ + 0x0a, 0x1d, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, + 0x2f, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x0e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2a, + 0x5e, 0x0a, 0x08, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x14, 0x53, + 0x45, 0x56, 0x45, 0x52, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x49, 0x4e, 0x49, 0x4d, 0x41, 0x4c, + 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x4f, 0x57, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x4d, + 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x03, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, + 0x04, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x49, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x05, 0x42, + 0x59, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, + 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x67, 0x72, 0x61, + 0x66, 0x65, 0x61, 0x73, 0xa2, 0x02, 0x03, 0x47, 0x52, 0x41, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_mockgrafeas_v1_severity_proto_rawDescOnce sync.Once + file_mockgrafeas_v1_severity_proto_rawDescData = file_mockgrafeas_v1_severity_proto_rawDesc +) + +func file_mockgrafeas_v1_severity_proto_rawDescGZIP() []byte { + file_mockgrafeas_v1_severity_proto_rawDescOnce.Do(func() { + file_mockgrafeas_v1_severity_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgrafeas_v1_severity_proto_rawDescData) + }) + return file_mockgrafeas_v1_severity_proto_rawDescData +} + +var file_mockgrafeas_v1_severity_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_mockgrafeas_v1_severity_proto_goTypes = []interface{}{ + (Severity)(0), // 0: mockgrafeas.v1.Severity +} +var file_mockgrafeas_v1_severity_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_mockgrafeas_v1_severity_proto_init() } +func file_mockgrafeas_v1_severity_proto_init() { + if File_mockgrafeas_v1_severity_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgrafeas_v1_severity_proto_rawDesc, + NumEnums: 1, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgrafeas_v1_severity_proto_goTypes, + DependencyIndexes: file_mockgrafeas_v1_severity_proto_depIdxs, + EnumInfos: file_mockgrafeas_v1_severity_proto_enumTypes, + }.Build() + File_mockgrafeas_v1_severity_proto = out.File + file_mockgrafeas_v1_severity_proto_rawDesc = nil + file_mockgrafeas_v1_severity_proto_goTypes = nil + file_mockgrafeas_v1_severity_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgrafeas/v1/slsa_provenance.pb.go b/mockgcp/generated/mockgrafeas/v1/slsa_provenance.pb.go new file mode 100644 index 0000000000..0beae7e857 --- /dev/null +++ b/mockgcp/generated/mockgrafeas/v1/slsa_provenance.pb.go @@ -0,0 +1,716 @@ +// Copyright 2021 The Grafeas Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgrafeas/v1/slsa_provenance.proto + +package grafeas + +import ( + any1 "github.com/golang/protobuf/ptypes/any" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type SlsaProvenance struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Builder *SlsaProvenance_SlsaBuilder `protobuf:"bytes,1,opt,name=builder,proto3" json:"builder,omitempty"` // required + // Identifies the configuration used for the build. + // When combined with materials, this SHOULD fully describe the build, + // such that re-running this recipe results in bit-for-bit identical output + // (if the build is reproducible). + Recipe *SlsaProvenance_SlsaRecipe `protobuf:"bytes,2,opt,name=recipe,proto3" json:"recipe,omitempty"` // required + Metadata *SlsaProvenance_SlsaMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` + // The collection of artifacts that influenced the build including sources, + // dependencies, build tools, base images, and so on. This is considered to be + // incomplete unless metadata.completeness.materials is true. Unset or null is + // equivalent to empty. + Materials []*SlsaProvenance_Material `protobuf:"bytes,4,rep,name=materials,proto3" json:"materials,omitempty"` +} + +func (x *SlsaProvenance) Reset() { + *x = SlsaProvenance{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_slsa_provenance_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlsaProvenance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlsaProvenance) ProtoMessage() {} + +func (x *SlsaProvenance) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_slsa_provenance_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlsaProvenance.ProtoReflect.Descriptor instead. +func (*SlsaProvenance) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_slsa_provenance_proto_rawDescGZIP(), []int{0} +} + +func (x *SlsaProvenance) GetBuilder() *SlsaProvenance_SlsaBuilder { + if x != nil { + return x.Builder + } + return nil +} + +func (x *SlsaProvenance) GetRecipe() *SlsaProvenance_SlsaRecipe { + if x != nil { + return x.Recipe + } + return nil +} + +func (x *SlsaProvenance) GetMetadata() *SlsaProvenance_SlsaMetadata { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *SlsaProvenance) GetMaterials() []*SlsaProvenance_Material { + if x != nil { + return x.Materials + } + return nil +} + +// Steps taken to build the artifact. +// For a TaskRun, typically each container corresponds to one step in the +// recipe. +type SlsaProvenance_SlsaRecipe struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // URI indicating what type of recipe was performed. It determines the + // meaning of recipe.entryPoint, recipe.arguments, recipe.environment, and + // materials. + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // Index in materials containing the recipe steps that are not implied by + // recipe.type. For example, if the recipe type were "make", then this would + // point to the source containing the Makefile, not the make program itself. + // Set to -1 if the recipe doesn't come from a material, as zero is default + // unset value for int64. + DefinedInMaterial int64 `protobuf:"varint,2,opt,name=defined_in_material,json=definedInMaterial,proto3" json:"defined_in_material,omitempty"` + // String identifying the entry point into the build. + // This is often a path to a configuration file and/or a target label within + // that file. The syntax and meaning are defined by recipe.type. For + // example, if the recipe type were "make", then this would reference the + // directory in which to run make as well as which target to use. + EntryPoint string `protobuf:"bytes,3,opt,name=entry_point,json=entryPoint,proto3" json:"entry_point,omitempty"` + // Collection of all external inputs that influenced the build on top of + // recipe.definedInMaterial and recipe.entryPoint. For example, if the + // recipe type were "make", then this might be the flags passed to make + // aside from the target, which is captured in recipe.entryPoint. Depending + // on the recipe Type, the structure may be different. + Arguments *any1.Any `protobuf:"bytes,4,opt,name=arguments,proto3" json:"arguments,omitempty"` + // Any other builder-controlled inputs necessary for correctly evaluating + // the recipe. Usually only needed for reproducing the build but not + // evaluated as part of policy. Depending on the recipe Type, the structure + // may be different. + Environment *any1.Any `protobuf:"bytes,5,opt,name=environment,proto3" json:"environment,omitempty"` +} + +func (x *SlsaProvenance_SlsaRecipe) Reset() { + *x = SlsaProvenance_SlsaRecipe{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_slsa_provenance_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlsaProvenance_SlsaRecipe) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlsaProvenance_SlsaRecipe) ProtoMessage() {} + +func (x *SlsaProvenance_SlsaRecipe) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_slsa_provenance_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlsaProvenance_SlsaRecipe.ProtoReflect.Descriptor instead. +func (*SlsaProvenance_SlsaRecipe) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_slsa_provenance_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *SlsaProvenance_SlsaRecipe) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *SlsaProvenance_SlsaRecipe) GetDefinedInMaterial() int64 { + if x != nil { + return x.DefinedInMaterial + } + return 0 +} + +func (x *SlsaProvenance_SlsaRecipe) GetEntryPoint() string { + if x != nil { + return x.EntryPoint + } + return "" +} + +func (x *SlsaProvenance_SlsaRecipe) GetArguments() *any1.Any { + if x != nil { + return x.Arguments + } + return nil +} + +func (x *SlsaProvenance_SlsaRecipe) GetEnvironment() *any1.Any { + if x != nil { + return x.Environment + } + return nil +} + +// Indicates that the builder claims certain fields in this message to be +// complete. +type SlsaProvenance_SlsaCompleteness struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // If true, the builder claims that recipe.arguments is complete, meaning + // that all external inputs are properly captured in the recipe. + Arguments bool `protobuf:"varint,1,opt,name=arguments,proto3" json:"arguments,omitempty"` + // If true, the builder claims that recipe.environment is claimed to be + // complete. + Environment bool `protobuf:"varint,2,opt,name=environment,proto3" json:"environment,omitempty"` + // If true, the builder claims that materials are complete, usually through + // some controls to prevent network access. Sometimes called "hermetic". + Materials bool `protobuf:"varint,3,opt,name=materials,proto3" json:"materials,omitempty"` +} + +func (x *SlsaProvenance_SlsaCompleteness) Reset() { + *x = SlsaProvenance_SlsaCompleteness{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_slsa_provenance_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlsaProvenance_SlsaCompleteness) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlsaProvenance_SlsaCompleteness) ProtoMessage() {} + +func (x *SlsaProvenance_SlsaCompleteness) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_slsa_provenance_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlsaProvenance_SlsaCompleteness.ProtoReflect.Descriptor instead. +func (*SlsaProvenance_SlsaCompleteness) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_slsa_provenance_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *SlsaProvenance_SlsaCompleteness) GetArguments() bool { + if x != nil { + return x.Arguments + } + return false +} + +func (x *SlsaProvenance_SlsaCompleteness) GetEnvironment() bool { + if x != nil { + return x.Environment + } + return false +} + +func (x *SlsaProvenance_SlsaCompleteness) GetMaterials() bool { + if x != nil { + return x.Materials + } + return false +} + +// Other properties of the build. +type SlsaProvenance_SlsaMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Identifies the particular build invocation, which can be useful for + // finding associated logs or other ad-hoc analysis. The value SHOULD be + // globally unique, per in-toto Provenance spec. + BuildInvocationId string `protobuf:"bytes,1,opt,name=build_invocation_id,json=buildInvocationId,proto3" json:"build_invocation_id,omitempty"` + // The timestamp of when the build started. + BuildStartedOn *timestamp.Timestamp `protobuf:"bytes,2,opt,name=build_started_on,json=buildStartedOn,proto3" json:"build_started_on,omitempty"` + // The timestamp of when the build completed. + BuildFinishedOn *timestamp.Timestamp `protobuf:"bytes,3,opt,name=build_finished_on,json=buildFinishedOn,proto3" json:"build_finished_on,omitempty"` + // Indicates that the builder claims certain fields in this message to be + // complete. + Completeness *SlsaProvenance_SlsaCompleteness `protobuf:"bytes,4,opt,name=completeness,proto3" json:"completeness,omitempty"` + // If true, the builder claims that running the recipe on materials will + // produce bit-for-bit identical output. + Reproducible bool `protobuf:"varint,5,opt,name=reproducible,proto3" json:"reproducible,omitempty"` +} + +func (x *SlsaProvenance_SlsaMetadata) Reset() { + *x = SlsaProvenance_SlsaMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_slsa_provenance_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlsaProvenance_SlsaMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlsaProvenance_SlsaMetadata) ProtoMessage() {} + +func (x *SlsaProvenance_SlsaMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_slsa_provenance_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlsaProvenance_SlsaMetadata.ProtoReflect.Descriptor instead. +func (*SlsaProvenance_SlsaMetadata) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_slsa_provenance_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *SlsaProvenance_SlsaMetadata) GetBuildInvocationId() string { + if x != nil { + return x.BuildInvocationId + } + return "" +} + +func (x *SlsaProvenance_SlsaMetadata) GetBuildStartedOn() *timestamp.Timestamp { + if x != nil { + return x.BuildStartedOn + } + return nil +} + +func (x *SlsaProvenance_SlsaMetadata) GetBuildFinishedOn() *timestamp.Timestamp { + if x != nil { + return x.BuildFinishedOn + } + return nil +} + +func (x *SlsaProvenance_SlsaMetadata) GetCompleteness() *SlsaProvenance_SlsaCompleteness { + if x != nil { + return x.Completeness + } + return nil +} + +func (x *SlsaProvenance_SlsaMetadata) GetReproducible() bool { + if x != nil { + return x.Reproducible + } + return false +} + +type SlsaProvenance_SlsaBuilder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *SlsaProvenance_SlsaBuilder) Reset() { + *x = SlsaProvenance_SlsaBuilder{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_slsa_provenance_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlsaProvenance_SlsaBuilder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlsaProvenance_SlsaBuilder) ProtoMessage() {} + +func (x *SlsaProvenance_SlsaBuilder) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_slsa_provenance_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlsaProvenance_SlsaBuilder.ProtoReflect.Descriptor instead. +func (*SlsaProvenance_SlsaBuilder) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_slsa_provenance_proto_rawDescGZIP(), []int{0, 3} +} + +func (x *SlsaProvenance_SlsaBuilder) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type SlsaProvenance_Material struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` + Digest map[string]string `protobuf:"bytes,2,rep,name=digest,proto3" json:"digest,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *SlsaProvenance_Material) Reset() { + *x = SlsaProvenance_Material{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_slsa_provenance_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlsaProvenance_Material) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlsaProvenance_Material) ProtoMessage() {} + +func (x *SlsaProvenance_Material) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_slsa_provenance_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlsaProvenance_Material.ProtoReflect.Descriptor instead. +func (*SlsaProvenance_Material) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_slsa_provenance_proto_rawDescGZIP(), []int{0, 4} +} + +func (x *SlsaProvenance_Material) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *SlsaProvenance_Material) GetDigest() map[string]string { + if x != nil { + return x.Digest + } + return nil +} + +var File_mockgrafeas_v1_slsa_provenance_proto protoreflect.FileDescriptor + +var file_mockgrafeas_v1_slsa_provenance_proto_rawDesc = []byte{ + 0x0a, 0x24, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, + 0x2f, 0x73, 0x6c, 0x73, 0x61, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, + 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x89, 0x09, 0x0a, 0x0e, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x44, 0x0a, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, + 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, + 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x42, 0x75, 0x69, 0x6c, 0x64, + 0x65, 0x72, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x06, 0x72, + 0x65, 0x63, 0x69, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x73, + 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x53, 0x6c, 0x73, 0x61, + 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x52, 0x06, 0x72, 0x65, 0x63, 0x69, 0x70, 0x65, 0x12, 0x47, + 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, + 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x45, 0x0a, 0x09, 0x6d, 0x61, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x73, 0x61, + 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72, + 0x69, 0x61, 0x6c, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x1a, 0xdd, + 0x01, 0x0a, 0x0a, 0x53, 0x6c, 0x73, 0x61, 0x52, 0x65, 0x63, 0x69, 0x70, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x5f, + 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x49, 0x6e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, + 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x09, 0x61, 0x72, 0x67, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x36, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, + 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, + 0x79, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x70, + 0x0a, 0x10, 0x53, 0x6c, 0x73, 0x61, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6e, 0x65, + 0x73, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, + 0x1a, 0xc5, 0x02, 0x0a, 0x0c, 0x53, 0x6c, 0x73, 0x61, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x2e, 0x0a, 0x13, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x44, 0x0a, 0x10, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x46, 0x0a, 0x11, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0f, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x4f, 0x6e, 0x12, + 0x53, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, + 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x6e, 0x65, 0x73, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x69, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x69, 0x62, 0x6c, 0x65, 0x1a, 0x1d, 0x0a, 0x0b, 0x53, 0x6c, 0x73, 0x61, + 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x1a, 0xa4, 0x01, 0x0a, 0x08, 0x4d, 0x61, 0x74, 0x65, + 0x72, 0x69, 0x61, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x4b, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, + 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, + 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x2e, + 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x64, 0x69, 0x67, + 0x65, 0x73, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x6e, + 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, + 0x2e, 0x76, 0x31, 0x42, 0x13, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, + 0x6e, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, + 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, + 0x3b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0xa2, 0x02, 0x03, 0x47, 0x52, 0x41, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgrafeas_v1_slsa_provenance_proto_rawDescOnce sync.Once + file_mockgrafeas_v1_slsa_provenance_proto_rawDescData = file_mockgrafeas_v1_slsa_provenance_proto_rawDesc +) + +func file_mockgrafeas_v1_slsa_provenance_proto_rawDescGZIP() []byte { + file_mockgrafeas_v1_slsa_provenance_proto_rawDescOnce.Do(func() { + file_mockgrafeas_v1_slsa_provenance_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgrafeas_v1_slsa_provenance_proto_rawDescData) + }) + return file_mockgrafeas_v1_slsa_provenance_proto_rawDescData +} + +var file_mockgrafeas_v1_slsa_provenance_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_mockgrafeas_v1_slsa_provenance_proto_goTypes = []interface{}{ + (*SlsaProvenance)(nil), // 0: mockgrafeas.v1.SlsaProvenance + (*SlsaProvenance_SlsaRecipe)(nil), // 1: mockgrafeas.v1.SlsaProvenance.SlsaRecipe + (*SlsaProvenance_SlsaCompleteness)(nil), // 2: mockgrafeas.v1.SlsaProvenance.SlsaCompleteness + (*SlsaProvenance_SlsaMetadata)(nil), // 3: mockgrafeas.v1.SlsaProvenance.SlsaMetadata + (*SlsaProvenance_SlsaBuilder)(nil), // 4: mockgrafeas.v1.SlsaProvenance.SlsaBuilder + (*SlsaProvenance_Material)(nil), // 5: mockgrafeas.v1.SlsaProvenance.Material + nil, // 6: mockgrafeas.v1.SlsaProvenance.Material.DigestEntry + (*any1.Any)(nil), // 7: google.protobuf.Any + (*timestamp.Timestamp)(nil), // 8: google.protobuf.Timestamp +} +var file_mockgrafeas_v1_slsa_provenance_proto_depIdxs = []int32{ + 4, // 0: mockgrafeas.v1.SlsaProvenance.builder:type_name -> mockgrafeas.v1.SlsaProvenance.SlsaBuilder + 1, // 1: mockgrafeas.v1.SlsaProvenance.recipe:type_name -> mockgrafeas.v1.SlsaProvenance.SlsaRecipe + 3, // 2: mockgrafeas.v1.SlsaProvenance.metadata:type_name -> mockgrafeas.v1.SlsaProvenance.SlsaMetadata + 5, // 3: mockgrafeas.v1.SlsaProvenance.materials:type_name -> mockgrafeas.v1.SlsaProvenance.Material + 7, // 4: mockgrafeas.v1.SlsaProvenance.SlsaRecipe.arguments:type_name -> google.protobuf.Any + 7, // 5: mockgrafeas.v1.SlsaProvenance.SlsaRecipe.environment:type_name -> google.protobuf.Any + 8, // 6: mockgrafeas.v1.SlsaProvenance.SlsaMetadata.build_started_on:type_name -> google.protobuf.Timestamp + 8, // 7: mockgrafeas.v1.SlsaProvenance.SlsaMetadata.build_finished_on:type_name -> google.protobuf.Timestamp + 2, // 8: mockgrafeas.v1.SlsaProvenance.SlsaMetadata.completeness:type_name -> mockgrafeas.v1.SlsaProvenance.SlsaCompleteness + 6, // 9: mockgrafeas.v1.SlsaProvenance.Material.digest:type_name -> mockgrafeas.v1.SlsaProvenance.Material.DigestEntry + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { file_mockgrafeas_v1_slsa_provenance_proto_init() } +func file_mockgrafeas_v1_slsa_provenance_proto_init() { + if File_mockgrafeas_v1_slsa_provenance_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgrafeas_v1_slsa_provenance_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SlsaProvenance); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_slsa_provenance_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SlsaProvenance_SlsaRecipe); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_slsa_provenance_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SlsaProvenance_SlsaCompleteness); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_slsa_provenance_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SlsaProvenance_SlsaMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_slsa_provenance_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SlsaProvenance_SlsaBuilder); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_slsa_provenance_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SlsaProvenance_Material); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgrafeas_v1_slsa_provenance_proto_rawDesc, + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgrafeas_v1_slsa_provenance_proto_goTypes, + DependencyIndexes: file_mockgrafeas_v1_slsa_provenance_proto_depIdxs, + MessageInfos: file_mockgrafeas_v1_slsa_provenance_proto_msgTypes, + }.Build() + File_mockgrafeas_v1_slsa_provenance_proto = out.File + file_mockgrafeas_v1_slsa_provenance_proto_rawDesc = nil + file_mockgrafeas_v1_slsa_provenance_proto_goTypes = nil + file_mockgrafeas_v1_slsa_provenance_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgrafeas/v1/slsa_provenance_zero_two.pb.go b/mockgcp/generated/mockgrafeas/v1/slsa_provenance_zero_two.pb.go new file mode 100644 index 0000000000..25efa089be --- /dev/null +++ b/mockgcp/generated/mockgrafeas/v1/slsa_provenance_zero_two.pb.go @@ -0,0 +1,781 @@ +// Copyright 2021 The Grafeas Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgrafeas/v1/slsa_provenance_zero_two.proto + +package grafeas + +import ( + _struct "github.com/golang/protobuf/ptypes/struct" + timestamp "github.com/golang/protobuf/ptypes/timestamp" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type SlsaProvenanceZeroTwo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Builder *SlsaProvenanceZeroTwo_SlsaBuilder `protobuf:"bytes,1,opt,name=builder,proto3" json:"builder,omitempty"` + BuildType string `protobuf:"bytes,2,opt,name=build_type,json=buildType,proto3" json:"build_type,omitempty"` + Invocation *SlsaProvenanceZeroTwo_SlsaInvocation `protobuf:"bytes,3,opt,name=invocation,proto3" json:"invocation,omitempty"` + BuildConfig *_struct.Struct `protobuf:"bytes,4,opt,name=build_config,json=buildConfig,proto3" json:"build_config,omitempty"` + Metadata *SlsaProvenanceZeroTwo_SlsaMetadata `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"` + Materials []*SlsaProvenanceZeroTwo_SlsaMaterial `protobuf:"bytes,6,rep,name=materials,proto3" json:"materials,omitempty"` +} + +func (x *SlsaProvenanceZeroTwo) Reset() { + *x = SlsaProvenanceZeroTwo{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_slsa_provenance_zero_two_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlsaProvenanceZeroTwo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlsaProvenanceZeroTwo) ProtoMessage() {} + +func (x *SlsaProvenanceZeroTwo) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_slsa_provenance_zero_two_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlsaProvenanceZeroTwo.ProtoReflect.Descriptor instead. +func (*SlsaProvenanceZeroTwo) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_slsa_provenance_zero_two_proto_rawDescGZIP(), []int{0} +} + +func (x *SlsaProvenanceZeroTwo) GetBuilder() *SlsaProvenanceZeroTwo_SlsaBuilder { + if x != nil { + return x.Builder + } + return nil +} + +func (x *SlsaProvenanceZeroTwo) GetBuildType() string { + if x != nil { + return x.BuildType + } + return "" +} + +func (x *SlsaProvenanceZeroTwo) GetInvocation() *SlsaProvenanceZeroTwo_SlsaInvocation { + if x != nil { + return x.Invocation + } + return nil +} + +func (x *SlsaProvenanceZeroTwo) GetBuildConfig() *_struct.Struct { + if x != nil { + return x.BuildConfig + } + return nil +} + +func (x *SlsaProvenanceZeroTwo) GetMetadata() *SlsaProvenanceZeroTwo_SlsaMetadata { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *SlsaProvenanceZeroTwo) GetMaterials() []*SlsaProvenanceZeroTwo_SlsaMaterial { + if x != nil { + return x.Materials + } + return nil +} + +// Identifies the entity that executed the recipe, which is trusted to have +// correctly performed the operation and populated this provenance. +type SlsaProvenanceZeroTwo_SlsaBuilder struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *SlsaProvenanceZeroTwo_SlsaBuilder) Reset() { + *x = SlsaProvenanceZeroTwo_SlsaBuilder{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_slsa_provenance_zero_two_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlsaProvenanceZeroTwo_SlsaBuilder) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlsaProvenanceZeroTwo_SlsaBuilder) ProtoMessage() {} + +func (x *SlsaProvenanceZeroTwo_SlsaBuilder) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_slsa_provenance_zero_two_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlsaProvenanceZeroTwo_SlsaBuilder.ProtoReflect.Descriptor instead. +func (*SlsaProvenanceZeroTwo_SlsaBuilder) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_slsa_provenance_zero_two_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *SlsaProvenanceZeroTwo_SlsaBuilder) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +// The collection of artifacts that influenced the build including sources, +// dependencies, build tools, base images, and so on. +type SlsaProvenanceZeroTwo_SlsaMaterial struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` + Digest map[string]string `protobuf:"bytes,2,rep,name=digest,proto3" json:"digest,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *SlsaProvenanceZeroTwo_SlsaMaterial) Reset() { + *x = SlsaProvenanceZeroTwo_SlsaMaterial{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_slsa_provenance_zero_two_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlsaProvenanceZeroTwo_SlsaMaterial) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlsaProvenanceZeroTwo_SlsaMaterial) ProtoMessage() {} + +func (x *SlsaProvenanceZeroTwo_SlsaMaterial) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_slsa_provenance_zero_two_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlsaProvenanceZeroTwo_SlsaMaterial.ProtoReflect.Descriptor instead. +func (*SlsaProvenanceZeroTwo_SlsaMaterial) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_slsa_provenance_zero_two_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *SlsaProvenanceZeroTwo_SlsaMaterial) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *SlsaProvenanceZeroTwo_SlsaMaterial) GetDigest() map[string]string { + if x != nil { + return x.Digest + } + return nil +} + +// Identifies the event that kicked off the build. +type SlsaProvenanceZeroTwo_SlsaInvocation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ConfigSource *SlsaProvenanceZeroTwo_SlsaConfigSource `protobuf:"bytes,1,opt,name=config_source,json=configSource,proto3" json:"config_source,omitempty"` + Parameters *_struct.Struct `protobuf:"bytes,2,opt,name=parameters,proto3" json:"parameters,omitempty"` + Environment *_struct.Struct `protobuf:"bytes,3,opt,name=environment,proto3" json:"environment,omitempty"` +} + +func (x *SlsaProvenanceZeroTwo_SlsaInvocation) Reset() { + *x = SlsaProvenanceZeroTwo_SlsaInvocation{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_slsa_provenance_zero_two_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlsaProvenanceZeroTwo_SlsaInvocation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlsaProvenanceZeroTwo_SlsaInvocation) ProtoMessage() {} + +func (x *SlsaProvenanceZeroTwo_SlsaInvocation) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_slsa_provenance_zero_two_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlsaProvenanceZeroTwo_SlsaInvocation.ProtoReflect.Descriptor instead. +func (*SlsaProvenanceZeroTwo_SlsaInvocation) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_slsa_provenance_zero_two_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *SlsaProvenanceZeroTwo_SlsaInvocation) GetConfigSource() *SlsaProvenanceZeroTwo_SlsaConfigSource { + if x != nil { + return x.ConfigSource + } + return nil +} + +func (x *SlsaProvenanceZeroTwo_SlsaInvocation) GetParameters() *_struct.Struct { + if x != nil { + return x.Parameters + } + return nil +} + +func (x *SlsaProvenanceZeroTwo_SlsaInvocation) GetEnvironment() *_struct.Struct { + if x != nil { + return x.Environment + } + return nil +} + +// Describes where the config file that kicked off the build came from. +// This is effectively a pointer to the source where buildConfig came from. +type SlsaProvenanceZeroTwo_SlsaConfigSource struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"` + Digest map[string]string `protobuf:"bytes,2,rep,name=digest,proto3" json:"digest,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + EntryPoint string `protobuf:"bytes,3,opt,name=entry_point,json=entryPoint,proto3" json:"entry_point,omitempty"` +} + +func (x *SlsaProvenanceZeroTwo_SlsaConfigSource) Reset() { + *x = SlsaProvenanceZeroTwo_SlsaConfigSource{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_slsa_provenance_zero_two_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlsaProvenanceZeroTwo_SlsaConfigSource) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlsaProvenanceZeroTwo_SlsaConfigSource) ProtoMessage() {} + +func (x *SlsaProvenanceZeroTwo_SlsaConfigSource) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_slsa_provenance_zero_two_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlsaProvenanceZeroTwo_SlsaConfigSource.ProtoReflect.Descriptor instead. +func (*SlsaProvenanceZeroTwo_SlsaConfigSource) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_slsa_provenance_zero_two_proto_rawDescGZIP(), []int{0, 3} +} + +func (x *SlsaProvenanceZeroTwo_SlsaConfigSource) GetUri() string { + if x != nil { + return x.Uri + } + return "" +} + +func (x *SlsaProvenanceZeroTwo_SlsaConfigSource) GetDigest() map[string]string { + if x != nil { + return x.Digest + } + return nil +} + +func (x *SlsaProvenanceZeroTwo_SlsaConfigSource) GetEntryPoint() string { + if x != nil { + return x.EntryPoint + } + return "" +} + +// Other properties of the build. +type SlsaProvenanceZeroTwo_SlsaMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BuildInvocationId string `protobuf:"bytes,1,opt,name=build_invocation_id,json=buildInvocationId,proto3" json:"build_invocation_id,omitempty"` + BuildStartedOn *timestamp.Timestamp `protobuf:"bytes,2,opt,name=build_started_on,json=buildStartedOn,proto3" json:"build_started_on,omitempty"` + BuildFinishedOn *timestamp.Timestamp `protobuf:"bytes,3,opt,name=build_finished_on,json=buildFinishedOn,proto3" json:"build_finished_on,omitempty"` + Completeness *SlsaProvenanceZeroTwo_SlsaCompleteness `protobuf:"bytes,4,opt,name=completeness,proto3" json:"completeness,omitempty"` + Reproducible bool `protobuf:"varint,5,opt,name=reproducible,proto3" json:"reproducible,omitempty"` +} + +func (x *SlsaProvenanceZeroTwo_SlsaMetadata) Reset() { + *x = SlsaProvenanceZeroTwo_SlsaMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_slsa_provenance_zero_two_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlsaProvenanceZeroTwo_SlsaMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlsaProvenanceZeroTwo_SlsaMetadata) ProtoMessage() {} + +func (x *SlsaProvenanceZeroTwo_SlsaMetadata) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_slsa_provenance_zero_two_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlsaProvenanceZeroTwo_SlsaMetadata.ProtoReflect.Descriptor instead. +func (*SlsaProvenanceZeroTwo_SlsaMetadata) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_slsa_provenance_zero_two_proto_rawDescGZIP(), []int{0, 4} +} + +func (x *SlsaProvenanceZeroTwo_SlsaMetadata) GetBuildInvocationId() string { + if x != nil { + return x.BuildInvocationId + } + return "" +} + +func (x *SlsaProvenanceZeroTwo_SlsaMetadata) GetBuildStartedOn() *timestamp.Timestamp { + if x != nil { + return x.BuildStartedOn + } + return nil +} + +func (x *SlsaProvenanceZeroTwo_SlsaMetadata) GetBuildFinishedOn() *timestamp.Timestamp { + if x != nil { + return x.BuildFinishedOn + } + return nil +} + +func (x *SlsaProvenanceZeroTwo_SlsaMetadata) GetCompleteness() *SlsaProvenanceZeroTwo_SlsaCompleteness { + if x != nil { + return x.Completeness + } + return nil +} + +func (x *SlsaProvenanceZeroTwo_SlsaMetadata) GetReproducible() bool { + if x != nil { + return x.Reproducible + } + return false +} + +// Indicates that the builder claims certain fields in this message to be +// complete. +type SlsaProvenanceZeroTwo_SlsaCompleteness struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Parameters bool `protobuf:"varint,1,opt,name=parameters,proto3" json:"parameters,omitempty"` + Environment bool `protobuf:"varint,2,opt,name=environment,proto3" json:"environment,omitempty"` + Materials bool `protobuf:"varint,3,opt,name=materials,proto3" json:"materials,omitempty"` +} + +func (x *SlsaProvenanceZeroTwo_SlsaCompleteness) Reset() { + *x = SlsaProvenanceZeroTwo_SlsaCompleteness{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_slsa_provenance_zero_two_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SlsaProvenanceZeroTwo_SlsaCompleteness) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SlsaProvenanceZeroTwo_SlsaCompleteness) ProtoMessage() {} + +func (x *SlsaProvenanceZeroTwo_SlsaCompleteness) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_slsa_provenance_zero_two_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SlsaProvenanceZeroTwo_SlsaCompleteness.ProtoReflect.Descriptor instead. +func (*SlsaProvenanceZeroTwo_SlsaCompleteness) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_slsa_provenance_zero_two_proto_rawDescGZIP(), []int{0, 5} +} + +func (x *SlsaProvenanceZeroTwo_SlsaCompleteness) GetParameters() bool { + if x != nil { + return x.Parameters + } + return false +} + +func (x *SlsaProvenanceZeroTwo_SlsaCompleteness) GetEnvironment() bool { + if x != nil { + return x.Environment + } + return false +} + +func (x *SlsaProvenanceZeroTwo_SlsaCompleteness) GetMaterials() bool { + if x != nil { + return x.Materials + } + return false +} + +var File_mockgrafeas_v1_slsa_provenance_zero_two_proto protoreflect.FileDescriptor + +var file_mockgrafeas_v1_slsa_provenance_zero_two_proto_rawDesc = []byte{ + 0x0a, 0x2d, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, + 0x2f, 0x73, 0x6c, 0x73, 0x61, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, + 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x74, 0x77, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x0e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x1a, + 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x92, + 0x0c, 0x0a, 0x15, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, + 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, 0x12, 0x4b, 0x0a, 0x07, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x50, + 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, + 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x07, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x54, 0x0a, 0x0a, 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, + 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, 0x2e, + 0x53, 0x6c, 0x73, 0x61, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, + 0x69, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x0a, 0x0c, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4e, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, + 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, 0x2e, + 0x53, 0x6c, 0x73, 0x61, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x50, 0x0a, 0x09, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x50, + 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, + 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x52, 0x09, 0x6d, + 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x73, 0x1a, 0x1d, 0x0a, 0x0b, 0x53, 0x6c, 0x73, 0x61, + 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x1a, 0xb3, 0x01, 0x0a, 0x0c, 0x53, 0x6c, 0x73, 0x61, + 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x56, 0x0a, 0x06, 0x64, 0x69, + 0x67, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x73, 0x61, + 0x50, 0x72, 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, + 0x6f, 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x2e, 0x44, + 0x69, 0x67, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, + 0x73, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xe1, 0x01, + 0x0a, 0x0e, 0x53, 0x6c, 0x73, 0x61, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x5b, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, + 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, + 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, 0x2e, 0x53, + 0x6c, 0x73, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, + 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x37, 0x0a, + 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x39, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, + 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, + 0x74, 0x1a, 0xdc, 0x01, 0x0a, 0x10, 0x53, 0x6c, 0x73, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x69, 0x12, 0x5a, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, + 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, + 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, 0x2e, + 0x53, 0x6c, 0x73, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x2e, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x64, 0x69, + 0x67, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, + 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x1a, 0x39, 0x0a, 0x0b, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0xcc, 0x02, 0x0a, 0x0c, 0x53, 0x6c, 0x73, 0x61, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x2e, 0x0a, 0x13, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x6e, 0x76, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x6e, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x44, 0x0a, 0x10, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x12, 0x46, 0x0a, 0x11, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x5f, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0f, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x46, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x65, 0x64, 0x4f, 0x6e, 0x12, + 0x5a, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, + 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, 0x6f, 0x76, 0x65, + 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, 0x2e, 0x53, 0x6c, 0x73, + 0x61, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6e, 0x65, 0x73, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x72, + 0x65, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x69, 0x62, 0x6c, 0x65, 0x1a, + 0x72, 0x0a, 0x10, 0x53, 0x6c, 0x73, 0x61, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x6e, + 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, + 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, + 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, + 0x61, 0x6c, 0x73, 0x42, 0x75, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, + 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x1a, 0x53, 0x6c, 0x73, 0x61, 0x50, 0x72, + 0x6f, 0x76, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x5a, 0x65, 0x72, 0x6f, 0x54, 0x77, 0x6f, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, + 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x67, 0x72, 0x61, + 0x66, 0x65, 0x61, 0x73, 0xa2, 0x02, 0x03, 0x47, 0x52, 0x41, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var ( + file_mockgrafeas_v1_slsa_provenance_zero_two_proto_rawDescOnce sync.Once + file_mockgrafeas_v1_slsa_provenance_zero_two_proto_rawDescData = file_mockgrafeas_v1_slsa_provenance_zero_two_proto_rawDesc +) + +func file_mockgrafeas_v1_slsa_provenance_zero_two_proto_rawDescGZIP() []byte { + file_mockgrafeas_v1_slsa_provenance_zero_two_proto_rawDescOnce.Do(func() { + file_mockgrafeas_v1_slsa_provenance_zero_two_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgrafeas_v1_slsa_provenance_zero_two_proto_rawDescData) + }) + return file_mockgrafeas_v1_slsa_provenance_zero_two_proto_rawDescData +} + +var file_mockgrafeas_v1_slsa_provenance_zero_two_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_mockgrafeas_v1_slsa_provenance_zero_two_proto_goTypes = []interface{}{ + (*SlsaProvenanceZeroTwo)(nil), // 0: mockgrafeas.v1.SlsaProvenanceZeroTwo + (*SlsaProvenanceZeroTwo_SlsaBuilder)(nil), // 1: mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaBuilder + (*SlsaProvenanceZeroTwo_SlsaMaterial)(nil), // 2: mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaMaterial + (*SlsaProvenanceZeroTwo_SlsaInvocation)(nil), // 3: mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaInvocation + (*SlsaProvenanceZeroTwo_SlsaConfigSource)(nil), // 4: mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaConfigSource + (*SlsaProvenanceZeroTwo_SlsaMetadata)(nil), // 5: mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaMetadata + (*SlsaProvenanceZeroTwo_SlsaCompleteness)(nil), // 6: mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaCompleteness + nil, // 7: mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaMaterial.DigestEntry + nil, // 8: mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaConfigSource.DigestEntry + (*_struct.Struct)(nil), // 9: google.protobuf.Struct + (*timestamp.Timestamp)(nil), // 10: google.protobuf.Timestamp +} +var file_mockgrafeas_v1_slsa_provenance_zero_two_proto_depIdxs = []int32{ + 1, // 0: mockgrafeas.v1.SlsaProvenanceZeroTwo.builder:type_name -> mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaBuilder + 3, // 1: mockgrafeas.v1.SlsaProvenanceZeroTwo.invocation:type_name -> mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaInvocation + 9, // 2: mockgrafeas.v1.SlsaProvenanceZeroTwo.build_config:type_name -> google.protobuf.Struct + 5, // 3: mockgrafeas.v1.SlsaProvenanceZeroTwo.metadata:type_name -> mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaMetadata + 2, // 4: mockgrafeas.v1.SlsaProvenanceZeroTwo.materials:type_name -> mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaMaterial + 7, // 5: mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaMaterial.digest:type_name -> mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaMaterial.DigestEntry + 4, // 6: mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaInvocation.config_source:type_name -> mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaConfigSource + 9, // 7: mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaInvocation.parameters:type_name -> google.protobuf.Struct + 9, // 8: mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaInvocation.environment:type_name -> google.protobuf.Struct + 8, // 9: mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaConfigSource.digest:type_name -> mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaConfigSource.DigestEntry + 10, // 10: mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaMetadata.build_started_on:type_name -> google.protobuf.Timestamp + 10, // 11: mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaMetadata.build_finished_on:type_name -> google.protobuf.Timestamp + 6, // 12: mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaMetadata.completeness:type_name -> mockgrafeas.v1.SlsaProvenanceZeroTwo.SlsaCompleteness + 13, // [13:13] is the sub-list for method output_type + 13, // [13:13] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name +} + +func init() { file_mockgrafeas_v1_slsa_provenance_zero_two_proto_init() } +func file_mockgrafeas_v1_slsa_provenance_zero_two_proto_init() { + if File_mockgrafeas_v1_slsa_provenance_zero_two_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_mockgrafeas_v1_slsa_provenance_zero_two_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SlsaProvenanceZeroTwo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_slsa_provenance_zero_two_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SlsaProvenanceZeroTwo_SlsaBuilder); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_slsa_provenance_zero_two_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SlsaProvenanceZeroTwo_SlsaMaterial); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_slsa_provenance_zero_two_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SlsaProvenanceZeroTwo_SlsaInvocation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_slsa_provenance_zero_two_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SlsaProvenanceZeroTwo_SlsaConfigSource); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_slsa_provenance_zero_two_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SlsaProvenanceZeroTwo_SlsaMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_slsa_provenance_zero_two_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SlsaProvenanceZeroTwo_SlsaCompleteness); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgrafeas_v1_slsa_provenance_zero_two_proto_rawDesc, + NumEnums: 0, + NumMessages: 9, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgrafeas_v1_slsa_provenance_zero_two_proto_goTypes, + DependencyIndexes: file_mockgrafeas_v1_slsa_provenance_zero_two_proto_depIdxs, + MessageInfos: file_mockgrafeas_v1_slsa_provenance_zero_two_proto_msgTypes, + }.Build() + File_mockgrafeas_v1_slsa_provenance_zero_two_proto = out.File + file_mockgrafeas_v1_slsa_provenance_zero_two_proto_rawDesc = nil + file_mockgrafeas_v1_slsa_provenance_zero_two_proto_goTypes = nil + file_mockgrafeas_v1_slsa_provenance_zero_two_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgrafeas/v1/upgrade.pb.go b/mockgcp/generated/mockgrafeas/v1/upgrade.pb.go new file mode 100644 index 0000000000..1f4d70c940 --- /dev/null +++ b/mockgcp/generated/mockgrafeas/v1/upgrade.pb.go @@ -0,0 +1,733 @@ +// Copyright 2019 The Grafeas Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgrafeas/v1/upgrade.proto + +package grafeas + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// An Upgrade Note represents a potential upgrade of a package to a given +// version. For each package version combination (i.e. bash 4.0, bash 4.1, +// bash 4.1.2), there will be an Upgrade Note. For Windows, windows_update field +// represents the information related to the update. +type UpgradeNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required for non-Windows OS. The package this Upgrade is for. + Package string `protobuf:"bytes,1,opt,name=package,proto3" json:"package,omitempty"` + // Required for non-Windows OS. The version of the package in machine + human + // readable form. + Version *Version `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + // Metadata about the upgrade for each specific operating system. + Distributions []*UpgradeDistribution `protobuf:"bytes,3,rep,name=distributions,proto3" json:"distributions,omitempty"` + // Required for Windows OS. Represents the metadata about the Windows update. + WindowsUpdate *WindowsUpdate `protobuf:"bytes,4,opt,name=windows_update,json=windowsUpdate,proto3" json:"windows_update,omitempty"` +} + +func (x *UpgradeNote) Reset() { + *x = UpgradeNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_upgrade_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpgradeNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpgradeNote) ProtoMessage() {} + +func (x *UpgradeNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_upgrade_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpgradeNote.ProtoReflect.Descriptor instead. +func (*UpgradeNote) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_upgrade_proto_rawDescGZIP(), []int{0} +} + +func (x *UpgradeNote) GetPackage() string { + if x != nil { + return x.Package + } + return "" +} + +func (x *UpgradeNote) GetVersion() *Version { + if x != nil { + return x.Version + } + return nil +} + +func (x *UpgradeNote) GetDistributions() []*UpgradeDistribution { + if x != nil { + return x.Distributions + } + return nil +} + +func (x *UpgradeNote) GetWindowsUpdate() *WindowsUpdate { + if x != nil { + return x.WindowsUpdate + } + return nil +} + +// The Upgrade Distribution represents metadata about the Upgrade for each +// operating system (CPE). Some distributions have additional metadata around +// updates, classifying them into various categories and severities. +type UpgradeDistribution struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required - The specific operating system this metadata applies to. See + // https://cpe.mitre.org/specification/. + CpeUri string `protobuf:"bytes,1,opt,name=cpe_uri,json=cpeUri,proto3" json:"cpe_uri,omitempty"` + // The operating system classification of this Upgrade, as specified by the + // upstream operating system upgrade feed. For Windows the classification is + // one of the category_ids listed at + // https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ff357803(v=vs.85) + Classification string `protobuf:"bytes,2,opt,name=classification,proto3" json:"classification,omitempty"` + // The severity as specified by the upstream operating system. + Severity string `protobuf:"bytes,3,opt,name=severity,proto3" json:"severity,omitempty"` + // The cve tied to this Upgrade. + Cve []string `protobuf:"bytes,4,rep,name=cve,proto3" json:"cve,omitempty"` +} + +func (x *UpgradeDistribution) Reset() { + *x = UpgradeDistribution{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_upgrade_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpgradeDistribution) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpgradeDistribution) ProtoMessage() {} + +func (x *UpgradeDistribution) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_upgrade_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpgradeDistribution.ProtoReflect.Descriptor instead. +func (*UpgradeDistribution) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_upgrade_proto_rawDescGZIP(), []int{1} +} + +func (x *UpgradeDistribution) GetCpeUri() string { + if x != nil { + return x.CpeUri + } + return "" +} + +func (x *UpgradeDistribution) GetClassification() string { + if x != nil { + return x.Classification + } + return "" +} + +func (x *UpgradeDistribution) GetSeverity() string { + if x != nil { + return x.Severity + } + return "" +} + +func (x *UpgradeDistribution) GetCve() []string { + if x != nil { + return x.Cve + } + return nil +} + +// Windows Update represents the metadata about the update for the Windows +// operating system. The fields in this message come from the Windows Update API +// documented at +// https://docs.microsoft.com/en-us/windows/win32/api/wuapi/nn-wuapi-iupdate. +type WindowsUpdate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required - The unique identifier for the update. + Identity *WindowsUpdate_Identity `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` + // The localized title of the update. + Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` + // The localized description of the update. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // The list of categories to which the update belongs. + Categories []*WindowsUpdate_Category `protobuf:"bytes,4,rep,name=categories,proto3" json:"categories,omitempty"` + // The Microsoft Knowledge Base article IDs that are associated with the + // update. + KbArticleIds []string `protobuf:"bytes,5,rep,name=kb_article_ids,json=kbArticleIds,proto3" json:"kb_article_ids,omitempty"` + // The hyperlink to the support information for the update. + SupportUrl string `protobuf:"bytes,6,opt,name=support_url,json=supportUrl,proto3" json:"support_url,omitempty"` + // The last published timestamp of the update. + LastPublishedTimestamp *timestamp.Timestamp `protobuf:"bytes,7,opt,name=last_published_timestamp,json=lastPublishedTimestamp,proto3" json:"last_published_timestamp,omitempty"` +} + +func (x *WindowsUpdate) Reset() { + *x = WindowsUpdate{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_upgrade_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WindowsUpdate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WindowsUpdate) ProtoMessage() {} + +func (x *WindowsUpdate) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_upgrade_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WindowsUpdate.ProtoReflect.Descriptor instead. +func (*WindowsUpdate) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_upgrade_proto_rawDescGZIP(), []int{2} +} + +func (x *WindowsUpdate) GetIdentity() *WindowsUpdate_Identity { + if x != nil { + return x.Identity + } + return nil +} + +func (x *WindowsUpdate) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *WindowsUpdate) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *WindowsUpdate) GetCategories() []*WindowsUpdate_Category { + if x != nil { + return x.Categories + } + return nil +} + +func (x *WindowsUpdate) GetKbArticleIds() []string { + if x != nil { + return x.KbArticleIds + } + return nil +} + +func (x *WindowsUpdate) GetSupportUrl() string { + if x != nil { + return x.SupportUrl + } + return "" +} + +func (x *WindowsUpdate) GetLastPublishedTimestamp() *timestamp.Timestamp { + if x != nil { + return x.LastPublishedTimestamp + } + return nil +} + +// An Upgrade Occurrence represents that a specific resource_url could install a +// specific upgrade. This presence is supplied via local sources (i.e. it is +// present in the mirror and the running system has noticed its availability). +// For Windows, both distribution and windows_update contain information for the +// Windows update. +type UpgradeOccurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required for non-Windows OS. The package this Upgrade is for. + Package string `protobuf:"bytes,1,opt,name=package,proto3" json:"package,omitempty"` + // Required for non-Windows OS. The version of the package in a machine + + // human readable form. + ParsedVersion *Version `protobuf:"bytes,3,opt,name=parsed_version,json=parsedVersion,proto3" json:"parsed_version,omitempty"` + // Metadata about the upgrade for available for the specific operating system + // for the resource_url. This allows efficient filtering, as well as + // making it easier to use the occurrence. + Distribution *UpgradeDistribution `protobuf:"bytes,4,opt,name=distribution,proto3" json:"distribution,omitempty"` + // Required for Windows OS. Represents the metadata about the Windows update. + WindowsUpdate *WindowsUpdate `protobuf:"bytes,5,opt,name=windows_update,json=windowsUpdate,proto3" json:"windows_update,omitempty"` +} + +func (x *UpgradeOccurrence) Reset() { + *x = UpgradeOccurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_upgrade_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpgradeOccurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpgradeOccurrence) ProtoMessage() {} + +func (x *UpgradeOccurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_upgrade_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpgradeOccurrence.ProtoReflect.Descriptor instead. +func (*UpgradeOccurrence) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_upgrade_proto_rawDescGZIP(), []int{3} +} + +func (x *UpgradeOccurrence) GetPackage() string { + if x != nil { + return x.Package + } + return "" +} + +func (x *UpgradeOccurrence) GetParsedVersion() *Version { + if x != nil { + return x.ParsedVersion + } + return nil +} + +func (x *UpgradeOccurrence) GetDistribution() *UpgradeDistribution { + if x != nil { + return x.Distribution + } + return nil +} + +func (x *UpgradeOccurrence) GetWindowsUpdate() *WindowsUpdate { + if x != nil { + return x.WindowsUpdate + } + return nil +} + +// The unique identifier of the update. +type WindowsUpdate_Identity struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The revision independent identifier of the update. + UpdateId string `protobuf:"bytes,1,opt,name=update_id,json=updateId,proto3" json:"update_id,omitempty"` + // The revision number of the update. + Revision int32 `protobuf:"varint,2,opt,name=revision,proto3" json:"revision,omitempty"` +} + +func (x *WindowsUpdate_Identity) Reset() { + *x = WindowsUpdate_Identity{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_upgrade_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WindowsUpdate_Identity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WindowsUpdate_Identity) ProtoMessage() {} + +func (x *WindowsUpdate_Identity) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_upgrade_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WindowsUpdate_Identity.ProtoReflect.Descriptor instead. +func (*WindowsUpdate_Identity) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_upgrade_proto_rawDescGZIP(), []int{2, 0} +} + +func (x *WindowsUpdate_Identity) GetUpdateId() string { + if x != nil { + return x.UpdateId + } + return "" +} + +func (x *WindowsUpdate_Identity) GetRevision() int32 { + if x != nil { + return x.Revision + } + return 0 +} + +// The category to which the update belongs. +type WindowsUpdate_Category struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The identifier of the category. + CategoryId string `protobuf:"bytes,1,opt,name=category_id,json=categoryId,proto3" json:"category_id,omitempty"` + // The localized name of the category. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` +} + +func (x *WindowsUpdate_Category) Reset() { + *x = WindowsUpdate_Category{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_upgrade_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WindowsUpdate_Category) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WindowsUpdate_Category) ProtoMessage() {} + +func (x *WindowsUpdate_Category) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_upgrade_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WindowsUpdate_Category.ProtoReflect.Descriptor instead. +func (*WindowsUpdate_Category) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_upgrade_proto_rawDescGZIP(), []int{2, 1} +} + +func (x *WindowsUpdate_Category) GetCategoryId() string { + if x != nil { + return x.CategoryId + } + return "" +} + +func (x *WindowsUpdate_Category) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +var File_mockgrafeas_v1_upgrade_proto protoreflect.FileDescriptor + +var file_mockgrafeas_v1_upgrade_proto_rawDesc = []byte{ + 0x0a, 0x1c, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, + 0x2f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1c, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, + 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xeb, 0x01, + 0x0a, 0x0b, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x31, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x0d, 0x64, 0x69, + 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x44, 0x0a, 0x0e, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, + 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x77, 0x69, + 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x13, + 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x70, 0x65, 0x55, 0x72, 0x69, 0x12, 0x26, 0x0a, 0x0e, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x63, 0x76, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x03, 0x63, + 0x76, 0x65, 0x22, 0xf6, 0x03, 0x0a, 0x0d, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, + 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x08, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x46, 0x0a, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, + 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6b, 0x62, 0x5f, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0c, 0x6b, 0x62, 0x41, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x12, 0x1f, + 0x0a, 0x0b, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x55, 0x72, 0x6c, 0x12, + 0x54, 0x0a, 0x18, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x16, 0x6c, + 0x61, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x1a, 0x43, 0x0a, 0x08, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x3f, 0x0a, 0x08, 0x43, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x74, + 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xfc, 0x01, 0x0a, 0x11, + 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x0e, 0x70, + 0x61, 0x72, 0x73, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x70, 0x61, + 0x72, 0x73, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x0c, 0x64, + 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x44, 0x69, 0x73, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x0e, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x5f, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69, + 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x77, 0x69, 0x6e, + 0x64, 0x6f, 0x77, 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x59, 0x0a, 0x11, 0x69, 0x6f, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x50, + 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, + 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, + 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0xa2, + 0x02, 0x03, 0x47, 0x52, 0x41, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgrafeas_v1_upgrade_proto_rawDescOnce sync.Once + file_mockgrafeas_v1_upgrade_proto_rawDescData = file_mockgrafeas_v1_upgrade_proto_rawDesc +) + +func file_mockgrafeas_v1_upgrade_proto_rawDescGZIP() []byte { + file_mockgrafeas_v1_upgrade_proto_rawDescOnce.Do(func() { + file_mockgrafeas_v1_upgrade_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgrafeas_v1_upgrade_proto_rawDescData) + }) + return file_mockgrafeas_v1_upgrade_proto_rawDescData +} + +var file_mockgrafeas_v1_upgrade_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_mockgrafeas_v1_upgrade_proto_goTypes = []interface{}{ + (*UpgradeNote)(nil), // 0: mockgrafeas.v1.UpgradeNote + (*UpgradeDistribution)(nil), // 1: mockgrafeas.v1.UpgradeDistribution + (*WindowsUpdate)(nil), // 2: mockgrafeas.v1.WindowsUpdate + (*UpgradeOccurrence)(nil), // 3: mockgrafeas.v1.UpgradeOccurrence + (*WindowsUpdate_Identity)(nil), // 4: mockgrafeas.v1.WindowsUpdate.Identity + (*WindowsUpdate_Category)(nil), // 5: mockgrafeas.v1.WindowsUpdate.Category + (*Version)(nil), // 6: mockgrafeas.v1.Version + (*timestamp.Timestamp)(nil), // 7: google.protobuf.Timestamp +} +var file_mockgrafeas_v1_upgrade_proto_depIdxs = []int32{ + 6, // 0: mockgrafeas.v1.UpgradeNote.version:type_name -> mockgrafeas.v1.Version + 1, // 1: mockgrafeas.v1.UpgradeNote.distributions:type_name -> mockgrafeas.v1.UpgradeDistribution + 2, // 2: mockgrafeas.v1.UpgradeNote.windows_update:type_name -> mockgrafeas.v1.WindowsUpdate + 4, // 3: mockgrafeas.v1.WindowsUpdate.identity:type_name -> mockgrafeas.v1.WindowsUpdate.Identity + 5, // 4: mockgrafeas.v1.WindowsUpdate.categories:type_name -> mockgrafeas.v1.WindowsUpdate.Category + 7, // 5: mockgrafeas.v1.WindowsUpdate.last_published_timestamp:type_name -> google.protobuf.Timestamp + 6, // 6: mockgrafeas.v1.UpgradeOccurrence.parsed_version:type_name -> mockgrafeas.v1.Version + 1, // 7: mockgrafeas.v1.UpgradeOccurrence.distribution:type_name -> mockgrafeas.v1.UpgradeDistribution + 2, // 8: mockgrafeas.v1.UpgradeOccurrence.windows_update:type_name -> mockgrafeas.v1.WindowsUpdate + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name +} + +func init() { file_mockgrafeas_v1_upgrade_proto_init() } +func file_mockgrafeas_v1_upgrade_proto_init() { + if File_mockgrafeas_v1_upgrade_proto != nil { + return + } + file_mockgrafeas_v1_package_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgrafeas_v1_upgrade_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpgradeNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_upgrade_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpgradeDistribution); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_upgrade_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WindowsUpdate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_upgrade_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpgradeOccurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_upgrade_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WindowsUpdate_Identity); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_upgrade_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WindowsUpdate_Category); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgrafeas_v1_upgrade_proto_rawDesc, + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgrafeas_v1_upgrade_proto_goTypes, + DependencyIndexes: file_mockgrafeas_v1_upgrade_proto_depIdxs, + MessageInfos: file_mockgrafeas_v1_upgrade_proto_msgTypes, + }.Build() + File_mockgrafeas_v1_upgrade_proto = out.File + file_mockgrafeas_v1_upgrade_proto_rawDesc = nil + file_mockgrafeas_v1_upgrade_proto_goTypes = nil + file_mockgrafeas_v1_upgrade_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgrafeas/v1/vex.pb.go b/mockgcp/generated/mockgrafeas/v1/vex.pb.go new file mode 100644 index 0000000000..51c13d1adb --- /dev/null +++ b/mockgcp/generated/mockgrafeas/v1/vex.pb.go @@ -0,0 +1,1069 @@ +// Copyright 2023 The Grafeas Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgrafeas/v1/vex.proto + +package grafeas + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// Provides the state of this Vulnerability assessment. +type VulnerabilityAssessmentNote_Assessment_State int32 + +const ( + // No state is specified. + VulnerabilityAssessmentNote_Assessment_STATE_UNSPECIFIED VulnerabilityAssessmentNote_Assessment_State = 0 + // This product is known to be affected by this vulnerability. + VulnerabilityAssessmentNote_Assessment_AFFECTED VulnerabilityAssessmentNote_Assessment_State = 1 + // This product is known to be not affected by this vulnerability. + VulnerabilityAssessmentNote_Assessment_NOT_AFFECTED VulnerabilityAssessmentNote_Assessment_State = 2 + // This product contains a fix for this vulnerability. + VulnerabilityAssessmentNote_Assessment_FIXED VulnerabilityAssessmentNote_Assessment_State = 3 + // It is not known yet whether these versions are or are not affected + // by the vulnerability. However, it is still under investigation. + VulnerabilityAssessmentNote_Assessment_UNDER_INVESTIGATION VulnerabilityAssessmentNote_Assessment_State = 4 +) + +// Enum value maps for VulnerabilityAssessmentNote_Assessment_State. +var ( + VulnerabilityAssessmentNote_Assessment_State_name = map[int32]string{ + 0: "STATE_UNSPECIFIED", + 1: "AFFECTED", + 2: "NOT_AFFECTED", + 3: "FIXED", + 4: "UNDER_INVESTIGATION", + } + VulnerabilityAssessmentNote_Assessment_State_value = map[string]int32{ + "STATE_UNSPECIFIED": 0, + "AFFECTED": 1, + "NOT_AFFECTED": 2, + "FIXED": 3, + "UNDER_INVESTIGATION": 4, + } +) + +func (x VulnerabilityAssessmentNote_Assessment_State) Enum() *VulnerabilityAssessmentNote_Assessment_State { + p := new(VulnerabilityAssessmentNote_Assessment_State) + *p = x + return p +} + +func (x VulnerabilityAssessmentNote_Assessment_State) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (VulnerabilityAssessmentNote_Assessment_State) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_vex_proto_enumTypes[0].Descriptor() +} + +func (VulnerabilityAssessmentNote_Assessment_State) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_vex_proto_enumTypes[0] +} + +func (x VulnerabilityAssessmentNote_Assessment_State) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use VulnerabilityAssessmentNote_Assessment_State.Descriptor instead. +func (VulnerabilityAssessmentNote_Assessment_State) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_vex_proto_rawDescGZIP(), []int{0, 2, 0} +} + +// Provides the type of justification. +type VulnerabilityAssessmentNote_Assessment_Justification_JustificationType int32 + +const ( + // JUSTIFICATION_TYPE_UNSPECIFIED. + VulnerabilityAssessmentNote_Assessment_Justification_JUSTIFICATION_TYPE_UNSPECIFIED VulnerabilityAssessmentNote_Assessment_Justification_JustificationType = 0 + // The vulnerable component is not present in the product. + VulnerabilityAssessmentNote_Assessment_Justification_COMPONENT_NOT_PRESENT VulnerabilityAssessmentNote_Assessment_Justification_JustificationType = 1 + // The vulnerable code is not present. Typically this case + // occurs when source code is configured or built in a way that excludes + // the vulnerable code. + VulnerabilityAssessmentNote_Assessment_Justification_VULNERABLE_CODE_NOT_PRESENT VulnerabilityAssessmentNote_Assessment_Justification_JustificationType = 2 + // The vulnerable code can not be executed. + // Typically this case occurs when the product includes the vulnerable + // code but does not call or use the vulnerable code. + VulnerabilityAssessmentNote_Assessment_Justification_VULNERABLE_CODE_NOT_IN_EXECUTE_PATH VulnerabilityAssessmentNote_Assessment_Justification_JustificationType = 3 + // The vulnerable code cannot be controlled by an attacker to exploit + // the vulnerability. + VulnerabilityAssessmentNote_Assessment_Justification_VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY VulnerabilityAssessmentNote_Assessment_Justification_JustificationType = 4 + // The product includes built-in protections or features that prevent + // exploitation of the vulnerability. These built-in protections cannot + // be subverted by the attacker and cannot be configured or disabled by + // the user. These mitigations completely prevent exploitation based on + // known attack vectors. + VulnerabilityAssessmentNote_Assessment_Justification_INLINE_MITIGATIONS_ALREADY_EXIST VulnerabilityAssessmentNote_Assessment_Justification_JustificationType = 5 +) + +// Enum value maps for VulnerabilityAssessmentNote_Assessment_Justification_JustificationType. +var ( + VulnerabilityAssessmentNote_Assessment_Justification_JustificationType_name = map[int32]string{ + 0: "JUSTIFICATION_TYPE_UNSPECIFIED", + 1: "COMPONENT_NOT_PRESENT", + 2: "VULNERABLE_CODE_NOT_PRESENT", + 3: "VULNERABLE_CODE_NOT_IN_EXECUTE_PATH", + 4: "VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY", + 5: "INLINE_MITIGATIONS_ALREADY_EXIST", + } + VulnerabilityAssessmentNote_Assessment_Justification_JustificationType_value = map[string]int32{ + "JUSTIFICATION_TYPE_UNSPECIFIED": 0, + "COMPONENT_NOT_PRESENT": 1, + "VULNERABLE_CODE_NOT_PRESENT": 2, + "VULNERABLE_CODE_NOT_IN_EXECUTE_PATH": 3, + "VULNERABLE_CODE_CANNOT_BE_CONTROLLED_BY_ADVERSARY": 4, + "INLINE_MITIGATIONS_ALREADY_EXIST": 5, + } +) + +func (x VulnerabilityAssessmentNote_Assessment_Justification_JustificationType) Enum() *VulnerabilityAssessmentNote_Assessment_Justification_JustificationType { + p := new(VulnerabilityAssessmentNote_Assessment_Justification_JustificationType) + *p = x + return p +} + +func (x VulnerabilityAssessmentNote_Assessment_Justification_JustificationType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (VulnerabilityAssessmentNote_Assessment_Justification_JustificationType) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_vex_proto_enumTypes[1].Descriptor() +} + +func (VulnerabilityAssessmentNote_Assessment_Justification_JustificationType) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_vex_proto_enumTypes[1] +} + +func (x VulnerabilityAssessmentNote_Assessment_Justification_JustificationType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use VulnerabilityAssessmentNote_Assessment_Justification_JustificationType.Descriptor instead. +func (VulnerabilityAssessmentNote_Assessment_Justification_JustificationType) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_vex_proto_rawDescGZIP(), []int{0, 2, 0, 0} +} + +// The type of remediation that can be applied. +type VulnerabilityAssessmentNote_Assessment_Remediation_RemediationType int32 + +const ( + // No remediation type specified. + VulnerabilityAssessmentNote_Assessment_Remediation_REMEDIATION_TYPE_UNSPECIFIED VulnerabilityAssessmentNote_Assessment_Remediation_RemediationType = 0 + // A MITIGATION is available. + VulnerabilityAssessmentNote_Assessment_Remediation_MITIGATION VulnerabilityAssessmentNote_Assessment_Remediation_RemediationType = 1 + // No fix is planned. + VulnerabilityAssessmentNote_Assessment_Remediation_NO_FIX_PLANNED VulnerabilityAssessmentNote_Assessment_Remediation_RemediationType = 2 + // Not available. + VulnerabilityAssessmentNote_Assessment_Remediation_NONE_AVAILABLE VulnerabilityAssessmentNote_Assessment_Remediation_RemediationType = 3 + // A vendor fix is available. + VulnerabilityAssessmentNote_Assessment_Remediation_VENDOR_FIX VulnerabilityAssessmentNote_Assessment_Remediation_RemediationType = 4 + // A workaround is available. + VulnerabilityAssessmentNote_Assessment_Remediation_WORKAROUND VulnerabilityAssessmentNote_Assessment_Remediation_RemediationType = 5 +) + +// Enum value maps for VulnerabilityAssessmentNote_Assessment_Remediation_RemediationType. +var ( + VulnerabilityAssessmentNote_Assessment_Remediation_RemediationType_name = map[int32]string{ + 0: "REMEDIATION_TYPE_UNSPECIFIED", + 1: "MITIGATION", + 2: "NO_FIX_PLANNED", + 3: "NONE_AVAILABLE", + 4: "VENDOR_FIX", + 5: "WORKAROUND", + } + VulnerabilityAssessmentNote_Assessment_Remediation_RemediationType_value = map[string]int32{ + "REMEDIATION_TYPE_UNSPECIFIED": 0, + "MITIGATION": 1, + "NO_FIX_PLANNED": 2, + "NONE_AVAILABLE": 3, + "VENDOR_FIX": 4, + "WORKAROUND": 5, + } +) + +func (x VulnerabilityAssessmentNote_Assessment_Remediation_RemediationType) Enum() *VulnerabilityAssessmentNote_Assessment_Remediation_RemediationType { + p := new(VulnerabilityAssessmentNote_Assessment_Remediation_RemediationType) + *p = x + return p +} + +func (x VulnerabilityAssessmentNote_Assessment_Remediation_RemediationType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (VulnerabilityAssessmentNote_Assessment_Remediation_RemediationType) Descriptor() protoreflect.EnumDescriptor { + return file_mockgrafeas_v1_vex_proto_enumTypes[2].Descriptor() +} + +func (VulnerabilityAssessmentNote_Assessment_Remediation_RemediationType) Type() protoreflect.EnumType { + return &file_mockgrafeas_v1_vex_proto_enumTypes[2] +} + +func (x VulnerabilityAssessmentNote_Assessment_Remediation_RemediationType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use VulnerabilityAssessmentNote_Assessment_Remediation_RemediationType.Descriptor instead. +func (VulnerabilityAssessmentNote_Assessment_Remediation_RemediationType) EnumDescriptor() ([]byte, []int) { + return file_mockgrafeas_v1_vex_proto_rawDescGZIP(), []int{0, 2, 1, 0} +} + +// A single VulnerabilityAssessmentNote represents +// one particular product's vulnerability assessment for one CVE. +type VulnerabilityAssessmentNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The title of the note. E.g. `Vex-Debian-11.4` + Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"` + // A one sentence description of this Vex. + ShortDescription string `protobuf:"bytes,2,opt,name=short_description,json=shortDescription,proto3" json:"short_description,omitempty"` + // A detailed description of this Vex. + LongDescription string `protobuf:"bytes,3,opt,name=long_description,json=longDescription,proto3" json:"long_description,omitempty"` + // Identifies the language used by this document, + // corresponding to IETF BCP 47 / RFC 5646. + LanguageCode string `protobuf:"bytes,4,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` + // Publisher details of this Note. + Publisher *VulnerabilityAssessmentNote_Publisher `protobuf:"bytes,5,opt,name=publisher,proto3" json:"publisher,omitempty"` + // The product affected by this vex. + Product *VulnerabilityAssessmentNote_Product `protobuf:"bytes,6,opt,name=product,proto3" json:"product,omitempty"` + // Represents a vulnerability assessment for the product. + Assessment *VulnerabilityAssessmentNote_Assessment `protobuf:"bytes,7,opt,name=assessment,proto3" json:"assessment,omitempty"` +} + +func (x *VulnerabilityAssessmentNote) Reset() { + *x = VulnerabilityAssessmentNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_vex_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VulnerabilityAssessmentNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VulnerabilityAssessmentNote) ProtoMessage() {} + +func (x *VulnerabilityAssessmentNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_vex_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VulnerabilityAssessmentNote.ProtoReflect.Descriptor instead. +func (*VulnerabilityAssessmentNote) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_vex_proto_rawDescGZIP(), []int{0} +} + +func (x *VulnerabilityAssessmentNote) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *VulnerabilityAssessmentNote) GetShortDescription() string { + if x != nil { + return x.ShortDescription + } + return "" +} + +func (x *VulnerabilityAssessmentNote) GetLongDescription() string { + if x != nil { + return x.LongDescription + } + return "" +} + +func (x *VulnerabilityAssessmentNote) GetLanguageCode() string { + if x != nil { + return x.LanguageCode + } + return "" +} + +func (x *VulnerabilityAssessmentNote) GetPublisher() *VulnerabilityAssessmentNote_Publisher { + if x != nil { + return x.Publisher + } + return nil +} + +func (x *VulnerabilityAssessmentNote) GetProduct() *VulnerabilityAssessmentNote_Product { + if x != nil { + return x.Product + } + return nil +} + +func (x *VulnerabilityAssessmentNote) GetAssessment() *VulnerabilityAssessmentNote_Assessment { + if x != nil { + return x.Assessment + } + return nil +} + +// Publisher contains information about the publisher of +// this Note. +// (-- api-linter: core::0123::resource-annotation=disabled +// +// aip.dev/not-precedent: Publisher is not a separate resource. --) +type VulnerabilityAssessmentNote_Publisher struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the publisher. + // Examples: 'Google', 'Google Cloud Platform'. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Provides information about the authority of the issuing party to + // release the document, in particular, the party's constituency and + // responsibilities or other obligations. + IssuingAuthority string `protobuf:"bytes,2,opt,name=issuing_authority,json=issuingAuthority,proto3" json:"issuing_authority,omitempty"` + // The context or namespace. + // Contains a URL which is under control of the issuing party and can + // be used as a globally unique identifier for that issuing party. + // Example: https://csaf.io + PublisherNamespace string `protobuf:"bytes,3,opt,name=publisher_namespace,json=publisherNamespace,proto3" json:"publisher_namespace,omitempty"` +} + +func (x *VulnerabilityAssessmentNote_Publisher) Reset() { + *x = VulnerabilityAssessmentNote_Publisher{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_vex_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VulnerabilityAssessmentNote_Publisher) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VulnerabilityAssessmentNote_Publisher) ProtoMessage() {} + +func (x *VulnerabilityAssessmentNote_Publisher) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_vex_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VulnerabilityAssessmentNote_Publisher.ProtoReflect.Descriptor instead. +func (*VulnerabilityAssessmentNote_Publisher) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_vex_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *VulnerabilityAssessmentNote_Publisher) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *VulnerabilityAssessmentNote_Publisher) GetIssuingAuthority() string { + if x != nil { + return x.IssuingAuthority + } + return "" +} + +func (x *VulnerabilityAssessmentNote_Publisher) GetPublisherNamespace() string { + if x != nil { + return x.PublisherNamespace + } + return "" +} + +// Product contains information about a product and how to uniquely identify +// it. +// (-- api-linter: core::0123::resource-annotation=disabled +// +// aip.dev/not-precedent: Product is not a separate resource. --) +type VulnerabilityAssessmentNote_Product struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the product. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Token that identifies a product so that it can be referred to from other + // parts in the document. There is no predefined format as long as it + // uniquely identifies a group in the context of the current document. + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + // Types that are assignable to Identifier: + // + // *VulnerabilityAssessmentNote_Product_GenericUri + Identifier isVulnerabilityAssessmentNote_Product_Identifier `protobuf_oneof:"identifier"` +} + +func (x *VulnerabilityAssessmentNote_Product) Reset() { + *x = VulnerabilityAssessmentNote_Product{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_vex_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VulnerabilityAssessmentNote_Product) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VulnerabilityAssessmentNote_Product) ProtoMessage() {} + +func (x *VulnerabilityAssessmentNote_Product) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_vex_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VulnerabilityAssessmentNote_Product.ProtoReflect.Descriptor instead. +func (*VulnerabilityAssessmentNote_Product) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_vex_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *VulnerabilityAssessmentNote_Product) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *VulnerabilityAssessmentNote_Product) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (m *VulnerabilityAssessmentNote_Product) GetIdentifier() isVulnerabilityAssessmentNote_Product_Identifier { + if m != nil { + return m.Identifier + } + return nil +} + +func (x *VulnerabilityAssessmentNote_Product) GetGenericUri() string { + if x, ok := x.GetIdentifier().(*VulnerabilityAssessmentNote_Product_GenericUri); ok { + return x.GenericUri + } + return "" +} + +type isVulnerabilityAssessmentNote_Product_Identifier interface { + isVulnerabilityAssessmentNote_Product_Identifier() +} + +type VulnerabilityAssessmentNote_Product_GenericUri struct { + // Contains a URI which is vendor-specific. + // Example: The artifact repository URL of an image. + GenericUri string `protobuf:"bytes,3,opt,name=generic_uri,json=genericUri,proto3,oneof"` +} + +func (*VulnerabilityAssessmentNote_Product_GenericUri) isVulnerabilityAssessmentNote_Product_Identifier() { +} + +// Assessment provides all information that is related to a single +// vulnerability for this product. +type VulnerabilityAssessmentNote_Assessment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Holds the MITRE standard Common Vulnerabilities and Exposures (CVE) + // tracking number for the vulnerability. + // Deprecated: Use vulnerability_id instead to denote CVEs. + // + // Deprecated: Do not use. + Cve string `protobuf:"bytes,1,opt,name=cve,proto3" json:"cve,omitempty"` + // The vulnerability identifier for this Assessment. Will hold one of + // common identifiers e.g. CVE, GHSA etc. + VulnerabilityId string `protobuf:"bytes,9,opt,name=vulnerability_id,json=vulnerabilityId,proto3" json:"vulnerability_id,omitempty"` + // A one sentence description of this Vex. + ShortDescription string `protobuf:"bytes,2,opt,name=short_description,json=shortDescription,proto3" json:"short_description,omitempty"` + // A detailed description of this Vex. + LongDescription string `protobuf:"bytes,3,opt,name=long_description,json=longDescription,proto3" json:"long_description,omitempty"` + // Holds a list of references associated with this vulnerability item and + // assessment. These uris have additional information about the + // vulnerability and the assessment itself. E.g. Link to a document which + // details how this assessment concluded the state of this vulnerability. + RelatedUris []*RelatedUrl `protobuf:"bytes,4,rep,name=related_uris,json=relatedUris,proto3" json:"related_uris,omitempty"` + // Provides the state of this Vulnerability assessment. + State VulnerabilityAssessmentNote_Assessment_State `protobuf:"varint,5,opt,name=state,proto3,enum=mockgrafeas.v1.VulnerabilityAssessmentNote_Assessment_State" json:"state,omitempty"` + // Contains information about the impact of this vulnerability, + // this will change with time. + Impacts []string `protobuf:"bytes,6,rep,name=impacts,proto3" json:"impacts,omitempty"` + // Justification provides the justification when the state of the + // assessment if NOT_AFFECTED. + Justification *VulnerabilityAssessmentNote_Assessment_Justification `protobuf:"bytes,7,opt,name=justification,proto3" json:"justification,omitempty"` + // Specifies details on how to handle (and presumably, fix) a vulnerability. + Remediations []*VulnerabilityAssessmentNote_Assessment_Remediation `protobuf:"bytes,8,rep,name=remediations,proto3" json:"remediations,omitempty"` +} + +func (x *VulnerabilityAssessmentNote_Assessment) Reset() { + *x = VulnerabilityAssessmentNote_Assessment{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_vex_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VulnerabilityAssessmentNote_Assessment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VulnerabilityAssessmentNote_Assessment) ProtoMessage() {} + +func (x *VulnerabilityAssessmentNote_Assessment) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_vex_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VulnerabilityAssessmentNote_Assessment.ProtoReflect.Descriptor instead. +func (*VulnerabilityAssessmentNote_Assessment) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_vex_proto_rawDescGZIP(), []int{0, 2} +} + +// Deprecated: Do not use. +func (x *VulnerabilityAssessmentNote_Assessment) GetCve() string { + if x != nil { + return x.Cve + } + return "" +} + +func (x *VulnerabilityAssessmentNote_Assessment) GetVulnerabilityId() string { + if x != nil { + return x.VulnerabilityId + } + return "" +} + +func (x *VulnerabilityAssessmentNote_Assessment) GetShortDescription() string { + if x != nil { + return x.ShortDescription + } + return "" +} + +func (x *VulnerabilityAssessmentNote_Assessment) GetLongDescription() string { + if x != nil { + return x.LongDescription + } + return "" +} + +func (x *VulnerabilityAssessmentNote_Assessment) GetRelatedUris() []*RelatedUrl { + if x != nil { + return x.RelatedUris + } + return nil +} + +func (x *VulnerabilityAssessmentNote_Assessment) GetState() VulnerabilityAssessmentNote_Assessment_State { + if x != nil { + return x.State + } + return VulnerabilityAssessmentNote_Assessment_STATE_UNSPECIFIED +} + +func (x *VulnerabilityAssessmentNote_Assessment) GetImpacts() []string { + if x != nil { + return x.Impacts + } + return nil +} + +func (x *VulnerabilityAssessmentNote_Assessment) GetJustification() *VulnerabilityAssessmentNote_Assessment_Justification { + if x != nil { + return x.Justification + } + return nil +} + +func (x *VulnerabilityAssessmentNote_Assessment) GetRemediations() []*VulnerabilityAssessmentNote_Assessment_Remediation { + if x != nil { + return x.Remediations + } + return nil +} + +// Justification provides the justification when the state of the +// assessment if NOT_AFFECTED. +type VulnerabilityAssessmentNote_Assessment_Justification struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The justification type for this vulnerability. + JustificationType VulnerabilityAssessmentNote_Assessment_Justification_JustificationType `protobuf:"varint,1,opt,name=justification_type,json=justificationType,proto3,enum=mockgrafeas.v1.VulnerabilityAssessmentNote_Assessment_Justification_JustificationType" json:"justification_type,omitempty"` + // Additional details on why this justification was chosen. + Details string `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` +} + +func (x *VulnerabilityAssessmentNote_Assessment_Justification) Reset() { + *x = VulnerabilityAssessmentNote_Assessment_Justification{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_vex_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VulnerabilityAssessmentNote_Assessment_Justification) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VulnerabilityAssessmentNote_Assessment_Justification) ProtoMessage() {} + +func (x *VulnerabilityAssessmentNote_Assessment_Justification) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_vex_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VulnerabilityAssessmentNote_Assessment_Justification.ProtoReflect.Descriptor instead. +func (*VulnerabilityAssessmentNote_Assessment_Justification) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_vex_proto_rawDescGZIP(), []int{0, 2, 0} +} + +func (x *VulnerabilityAssessmentNote_Assessment_Justification) GetJustificationType() VulnerabilityAssessmentNote_Assessment_Justification_JustificationType { + if x != nil { + return x.JustificationType + } + return VulnerabilityAssessmentNote_Assessment_Justification_JUSTIFICATION_TYPE_UNSPECIFIED +} + +func (x *VulnerabilityAssessmentNote_Assessment_Justification) GetDetails() string { + if x != nil { + return x.Details + } + return "" +} + +// Specifies details on how to handle (and presumably, fix) a vulnerability. +type VulnerabilityAssessmentNote_Assessment_Remediation struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The type of remediation that can be applied. + RemediationType VulnerabilityAssessmentNote_Assessment_Remediation_RemediationType `protobuf:"varint,1,opt,name=remediation_type,json=remediationType,proto3,enum=mockgrafeas.v1.VulnerabilityAssessmentNote_Assessment_Remediation_RemediationType" json:"remediation_type,omitempty"` + // Contains a comprehensive human-readable discussion of the remediation. + Details string `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` + // Contains the URL where to obtain the remediation. + RemediationUri *RelatedUrl `protobuf:"bytes,3,opt,name=remediation_uri,json=remediationUri,proto3" json:"remediation_uri,omitempty"` +} + +func (x *VulnerabilityAssessmentNote_Assessment_Remediation) Reset() { + *x = VulnerabilityAssessmentNote_Assessment_Remediation{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_vex_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VulnerabilityAssessmentNote_Assessment_Remediation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VulnerabilityAssessmentNote_Assessment_Remediation) ProtoMessage() {} + +func (x *VulnerabilityAssessmentNote_Assessment_Remediation) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_vex_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VulnerabilityAssessmentNote_Assessment_Remediation.ProtoReflect.Descriptor instead. +func (*VulnerabilityAssessmentNote_Assessment_Remediation) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_vex_proto_rawDescGZIP(), []int{0, 2, 1} +} + +func (x *VulnerabilityAssessmentNote_Assessment_Remediation) GetRemediationType() VulnerabilityAssessmentNote_Assessment_Remediation_RemediationType { + if x != nil { + return x.RemediationType + } + return VulnerabilityAssessmentNote_Assessment_Remediation_REMEDIATION_TYPE_UNSPECIFIED +} + +func (x *VulnerabilityAssessmentNote_Assessment_Remediation) GetDetails() string { + if x != nil { + return x.Details + } + return "" +} + +func (x *VulnerabilityAssessmentNote_Assessment_Remediation) GetRemediationUri() *RelatedUrl { + if x != nil { + return x.RemediationUri + } + return nil +} + +var File_mockgrafeas_v1_vex_proto protoreflect.FileDescriptor + +var file_mockgrafeas_v1_vex_proto_rawDesc = []byte{ + 0x0a, 0x18, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, + 0x2f, 0x76, 0x65, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1b, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc4, 0x10, 0x0a, 0x1b, 0x56, 0x75, 0x6c, 0x6e, + 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, + 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x2b, 0x0a, + 0x11, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x44, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x6f, + 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x6f, 0x6e, 0x67, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, + 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x53, 0x0a, 0x09, 0x70, 0x75, + 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, + 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x73, 0x73, 0x65, + 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, + 0x73, 0x68, 0x65, 0x72, 0x52, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x12, + 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x33, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, + 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x2e, 0x50, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x56, + 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x79, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x2e, + 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x65, + 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x7d, 0x0a, 0x09, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, + 0x68, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x73, 0x73, 0x75, 0x69, + 0x6e, 0x67, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x69, 0x73, 0x73, 0x75, 0x69, 0x6e, 0x67, 0x41, 0x75, 0x74, 0x68, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x12, 0x2f, 0x0a, 0x13, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, + 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x12, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x1a, 0x5e, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0b, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, 0x5f, + 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x69, 0x63, 0x55, 0x72, 0x69, 0x42, 0x0c, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x1a, 0xb6, 0x0b, 0x0a, 0x0a, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x03, 0x63, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x03, 0x63, 0x76, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x76, 0x75, + 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x6f, + 0x6e, 0x67, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, + 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x52, + 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x55, 0x72, 0x69, 0x73, 0x12, 0x52, 0x0a, 0x05, + 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x75, 0x6c, + 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, + 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x07, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x73, 0x12, 0x6a, 0x0a, 0x0d, 0x6a, 0x75, + 0x73, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x44, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x2e, 0x41, + 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x75, 0x73, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x66, 0x0a, 0x0c, 0x72, 0x65, 0x6d, 0x65, 0x64, 0x69, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x75, + 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x73, 0x73, 0x65, 0x73, + 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xad, + 0x03, 0x0a, 0x0d, 0x4a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x85, 0x01, 0x0a, 0x12, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x56, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, + 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x73, 0x73, 0x65, + 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x73, + 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x4a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x11, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x22, 0xf9, 0x01, 0x0a, 0x11, 0x4a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x4a, 0x55, 0x53, 0x54, + 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, + 0x43, 0x4f, 0x4d, 0x50, 0x4f, 0x4e, 0x45, 0x4e, 0x54, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x50, 0x52, + 0x45, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x1f, 0x0a, 0x1b, 0x56, 0x55, 0x4c, 0x4e, 0x45, + 0x52, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x50, + 0x52, 0x45, 0x53, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x56, 0x55, 0x4c, 0x4e, + 0x45, 0x52, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, + 0x49, 0x4e, 0x5f, 0x45, 0x58, 0x45, 0x43, 0x55, 0x54, 0x45, 0x5f, 0x50, 0x41, 0x54, 0x48, 0x10, + 0x03, 0x12, 0x35, 0x0a, 0x31, 0x56, 0x55, 0x4c, 0x4e, 0x45, 0x52, 0x41, 0x42, 0x4c, 0x45, 0x5f, + 0x43, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x5f, 0x42, 0x45, 0x5f, 0x43, + 0x4f, 0x4e, 0x54, 0x52, 0x4f, 0x4c, 0x4c, 0x45, 0x44, 0x5f, 0x42, 0x59, 0x5f, 0x41, 0x44, 0x56, + 0x45, 0x52, 0x53, 0x41, 0x52, 0x59, 0x10, 0x04, 0x12, 0x24, 0x0a, 0x20, 0x49, 0x4e, 0x4c, 0x49, + 0x4e, 0x45, 0x5f, 0x4d, 0x49, 0x54, 0x49, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x5f, 0x41, + 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x10, 0x05, 0x1a, 0xf9, + 0x02, 0x0a, 0x0b, 0x52, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7d, + 0x0a, 0x10, 0x72, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x52, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, + 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x52, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x6d, + 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x72, 0x65, + 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x43, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x65, 0x64, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x0e, 0x72, 0x65, + 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x69, 0x22, 0x8b, 0x01, 0x0a, + 0x0f, 0x52, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x45, 0x4d, 0x45, 0x44, 0x49, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x49, 0x54, 0x49, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x4f, 0x5f, 0x46, 0x49, 0x58, 0x5f, 0x50, 0x4c, 0x41, + 0x4e, 0x4e, 0x45, 0x44, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x4f, 0x4e, 0x45, 0x5f, 0x41, + 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x56, 0x45, + 0x4e, 0x44, 0x4f, 0x52, 0x5f, 0x46, 0x49, 0x58, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x57, 0x4f, + 0x52, 0x4b, 0x41, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x05, 0x22, 0x62, 0x0a, 0x05, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x46, + 0x46, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x4f, 0x54, 0x5f, + 0x41, 0x46, 0x46, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x49, + 0x58, 0x45, 0x44, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x55, 0x4e, 0x44, 0x45, 0x52, 0x5f, 0x49, + 0x4e, 0x56, 0x45, 0x53, 0x54, 0x49, 0x47, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x42, 0x59, + 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, + 0x2e, 0x76, 0x31, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, + 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x67, 0x72, 0x61, 0x66, + 0x65, 0x61, 0x73, 0xa2, 0x02, 0x03, 0x47, 0x52, 0x41, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, +} + +var ( + file_mockgrafeas_v1_vex_proto_rawDescOnce sync.Once + file_mockgrafeas_v1_vex_proto_rawDescData = file_mockgrafeas_v1_vex_proto_rawDesc +) + +func file_mockgrafeas_v1_vex_proto_rawDescGZIP() []byte { + file_mockgrafeas_v1_vex_proto_rawDescOnce.Do(func() { + file_mockgrafeas_v1_vex_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgrafeas_v1_vex_proto_rawDescData) + }) + return file_mockgrafeas_v1_vex_proto_rawDescData +} + +var file_mockgrafeas_v1_vex_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_mockgrafeas_v1_vex_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_mockgrafeas_v1_vex_proto_goTypes = []interface{}{ + (VulnerabilityAssessmentNote_Assessment_State)(0), // 0: mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment.State + (VulnerabilityAssessmentNote_Assessment_Justification_JustificationType)(0), // 1: mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment.Justification.JustificationType + (VulnerabilityAssessmentNote_Assessment_Remediation_RemediationType)(0), // 2: mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment.Remediation.RemediationType + (*VulnerabilityAssessmentNote)(nil), // 3: mockgrafeas.v1.VulnerabilityAssessmentNote + (*VulnerabilityAssessmentNote_Publisher)(nil), // 4: mockgrafeas.v1.VulnerabilityAssessmentNote.Publisher + (*VulnerabilityAssessmentNote_Product)(nil), // 5: mockgrafeas.v1.VulnerabilityAssessmentNote.Product + (*VulnerabilityAssessmentNote_Assessment)(nil), // 6: mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment + (*VulnerabilityAssessmentNote_Assessment_Justification)(nil), // 7: mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment.Justification + (*VulnerabilityAssessmentNote_Assessment_Remediation)(nil), // 8: mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment.Remediation + (*RelatedUrl)(nil), // 9: mockgrafeas.v1.RelatedUrl +} +var file_mockgrafeas_v1_vex_proto_depIdxs = []int32{ + 4, // 0: mockgrafeas.v1.VulnerabilityAssessmentNote.publisher:type_name -> mockgrafeas.v1.VulnerabilityAssessmentNote.Publisher + 5, // 1: mockgrafeas.v1.VulnerabilityAssessmentNote.product:type_name -> mockgrafeas.v1.VulnerabilityAssessmentNote.Product + 6, // 2: mockgrafeas.v1.VulnerabilityAssessmentNote.assessment:type_name -> mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment + 9, // 3: mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment.related_uris:type_name -> mockgrafeas.v1.RelatedUrl + 0, // 4: mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment.state:type_name -> mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment.State + 7, // 5: mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment.justification:type_name -> mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment.Justification + 8, // 6: mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment.remediations:type_name -> mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment.Remediation + 1, // 7: mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment.Justification.justification_type:type_name -> mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment.Justification.JustificationType + 2, // 8: mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment.Remediation.remediation_type:type_name -> mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment.Remediation.RemediationType + 9, // 9: mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment.Remediation.remediation_uri:type_name -> mockgrafeas.v1.RelatedUrl + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { file_mockgrafeas_v1_vex_proto_init() } +func file_mockgrafeas_v1_vex_proto_init() { + if File_mockgrafeas_v1_vex_proto != nil { + return + } + file_mockgrafeas_v1_common_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgrafeas_v1_vex_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VulnerabilityAssessmentNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_vex_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VulnerabilityAssessmentNote_Publisher); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_vex_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VulnerabilityAssessmentNote_Product); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_vex_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VulnerabilityAssessmentNote_Assessment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_vex_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VulnerabilityAssessmentNote_Assessment_Justification); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_vex_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VulnerabilityAssessmentNote_Assessment_Remediation); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_mockgrafeas_v1_vex_proto_msgTypes[2].OneofWrappers = []interface{}{ + (*VulnerabilityAssessmentNote_Product_GenericUri)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgrafeas_v1_vex_proto_rawDesc, + NumEnums: 3, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgrafeas_v1_vex_proto_goTypes, + DependencyIndexes: file_mockgrafeas_v1_vex_proto_depIdxs, + EnumInfos: file_mockgrafeas_v1_vex_proto_enumTypes, + MessageInfos: file_mockgrafeas_v1_vex_proto_msgTypes, + }.Build() + File_mockgrafeas_v1_vex_proto = out.File + file_mockgrafeas_v1_vex_proto_rawDesc = nil + file_mockgrafeas_v1_vex_proto_goTypes = nil + file_mockgrafeas_v1_vex_proto_depIdxs = nil +} diff --git a/mockgcp/generated/mockgrafeas/v1/vulnerability.pb.go b/mockgcp/generated/mockgrafeas/v1/vulnerability.pb.go new file mode 100644 index 0000000000..e81bf5e6c0 --- /dev/null +++ b/mockgcp/generated/mockgrafeas/v1/vulnerability.pb.go @@ -0,0 +1,1339 @@ +// Copyright 2019 The Grafeas Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v3.12.4 +// source: mockgrafeas/v1/vulnerability.proto + +package grafeas + +import ( + timestamp "github.com/golang/protobuf/ptypes/timestamp" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// A security vulnerability that can be found in resources. +type VulnerabilityNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The CVSS score of this vulnerability. CVSS score is on a scale of 0 - 10 + // where 0 indicates low severity and 10 indicates high severity. + CvssScore float32 `protobuf:"fixed32,1,opt,name=cvss_score,json=cvssScore,proto3" json:"cvss_score,omitempty"` + // The note provider assigned severity of this vulnerability. + Severity Severity `protobuf:"varint,2,opt,name=severity,proto3,enum=mockgrafeas.v1.Severity" json:"severity,omitempty"` + // Details of all known distros and packages affected by this vulnerability. + Details []*VulnerabilityNote_Detail `protobuf:"bytes,3,rep,name=details,proto3" json:"details,omitempty"` + // The full description of the CVSSv3 for this vulnerability. + CvssV3 *CVSSv3 `protobuf:"bytes,4,opt,name=cvss_v3,json=cvssV3,proto3" json:"cvss_v3,omitempty"` + // Windows details get their own format because the information format and + // model don't match a normal detail. Specifically Windows updates are done as + // patches, thus Windows vulnerabilities really are a missing package, rather + // than a package being at an incorrect version. + WindowsDetails []*VulnerabilityNote_WindowsDetail `protobuf:"bytes,5,rep,name=windows_details,json=windowsDetails,proto3" json:"windows_details,omitempty"` + // The time this information was last changed at the source. This is an + // upstream timestamp from the underlying information source - e.g. Ubuntu + // security tracker. + SourceUpdateTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=source_update_time,json=sourceUpdateTime,proto3" json:"source_update_time,omitempty"` + // CVSS version used to populate cvss_score and severity. + CvssVersion CVSSVersion `protobuf:"varint,7,opt,name=cvss_version,json=cvssVersion,proto3,enum=mockgrafeas.v1.CVSSVersion" json:"cvss_version,omitempty"` + // The full description of the v2 CVSS for this vulnerability. + CvssV2 *CVSS `protobuf:"bytes,8,opt,name=cvss_v2,json=cvssV2,proto3" json:"cvss_v2,omitempty"` +} + +func (x *VulnerabilityNote) Reset() { + *x = VulnerabilityNote{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_vulnerability_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VulnerabilityNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VulnerabilityNote) ProtoMessage() {} + +func (x *VulnerabilityNote) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_vulnerability_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VulnerabilityNote.ProtoReflect.Descriptor instead. +func (*VulnerabilityNote) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_vulnerability_proto_rawDescGZIP(), []int{0} +} + +func (x *VulnerabilityNote) GetCvssScore() float32 { + if x != nil { + return x.CvssScore + } + return 0 +} + +func (x *VulnerabilityNote) GetSeverity() Severity { + if x != nil { + return x.Severity + } + return Severity_SEVERITY_UNSPECIFIED +} + +func (x *VulnerabilityNote) GetDetails() []*VulnerabilityNote_Detail { + if x != nil { + return x.Details + } + return nil +} + +func (x *VulnerabilityNote) GetCvssV3() *CVSSv3 { + if x != nil { + return x.CvssV3 + } + return nil +} + +func (x *VulnerabilityNote) GetWindowsDetails() []*VulnerabilityNote_WindowsDetail { + if x != nil { + return x.WindowsDetails + } + return nil +} + +func (x *VulnerabilityNote) GetSourceUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.SourceUpdateTime + } + return nil +} + +func (x *VulnerabilityNote) GetCvssVersion() CVSSVersion { + if x != nil { + return x.CvssVersion + } + return CVSSVersion_CVSS_VERSION_UNSPECIFIED +} + +func (x *VulnerabilityNote) GetCvssV2() *CVSS { + if x != nil { + return x.CvssV2 + } + return nil +} + +// An occurrence of a severity vulnerability on a resource. +type VulnerabilityOccurrence struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The type of package; whether native or non native (e.g., ruby gems, node.js + // packages, etc.). + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // Output only. The note provider assigned severity of this vulnerability. + Severity Severity `protobuf:"varint,2,opt,name=severity,proto3,enum=mockgrafeas.v1.Severity" json:"severity,omitempty"` + // Output only. The CVSS score of this vulnerability. CVSS score is on a + // scale of 0 - 10 where 0 indicates low severity and 10 indicates high + // severity. + CvssScore float32 `protobuf:"fixed32,3,opt,name=cvss_score,json=cvssScore,proto3" json:"cvss_score,omitempty"` + // The cvss v3 score for the vulnerability. + Cvssv3 *CVSS `protobuf:"bytes,10,opt,name=cvssv3,proto3" json:"cvssv3,omitempty"` + // Required. The set of affected locations and their fixes (if available) + // within the associated resource. + PackageIssue []*VulnerabilityOccurrence_PackageIssue `protobuf:"bytes,4,rep,name=package_issue,json=packageIssue,proto3" json:"package_issue,omitempty"` + // Output only. A one sentence description of this vulnerability. + ShortDescription string `protobuf:"bytes,5,opt,name=short_description,json=shortDescription,proto3" json:"short_description,omitempty"` + // Output only. A detailed description of this vulnerability. + LongDescription string `protobuf:"bytes,6,opt,name=long_description,json=longDescription,proto3" json:"long_description,omitempty"` + // Output only. URLs related to this vulnerability. + RelatedUrls []*RelatedUrl `protobuf:"bytes,7,rep,name=related_urls,json=relatedUrls,proto3" json:"related_urls,omitempty"` + // The distro assigned severity for this vulnerability when it is available, + // otherwise this is the note provider assigned severity. + // + // When there are multiple PackageIssues for this vulnerability, they can have + // different effective severities because some might be provided by the distro + // while others are provided by the language ecosystem for a language pack. + // For this reason, it is advised to use the effective severity on the + // PackageIssue level. In the case where multiple PackageIssues have differing + // effective severities, this field should be the highest severity for any of + // the PackageIssues. + EffectiveSeverity Severity `protobuf:"varint,8,opt,name=effective_severity,json=effectiveSeverity,proto3,enum=mockgrafeas.v1.Severity" json:"effective_severity,omitempty"` + // Output only. Whether at least one of the affected packages has a fix + // available. + FixAvailable bool `protobuf:"varint,9,opt,name=fix_available,json=fixAvailable,proto3" json:"fix_available,omitempty"` + // Output only. CVSS version used to populate cvss_score and severity. + CvssVersion CVSSVersion `protobuf:"varint,11,opt,name=cvss_version,json=cvssVersion,proto3,enum=mockgrafeas.v1.CVSSVersion" json:"cvss_version,omitempty"` + // The cvss v2 score for the vulnerability. + CvssV2 *CVSS `protobuf:"bytes,12,opt,name=cvss_v2,json=cvssV2,proto3" json:"cvss_v2,omitempty"` + VexAssessment *VulnerabilityOccurrence_VexAssessment `protobuf:"bytes,13,opt,name=vex_assessment,json=vexAssessment,proto3" json:"vex_assessment,omitempty"` + // Occurrence-specific extra details about the vulnerability. + ExtraDetails string `protobuf:"bytes,14,opt,name=extra_details,json=extraDetails,proto3" json:"extra_details,omitempty"` +} + +func (x *VulnerabilityOccurrence) Reset() { + *x = VulnerabilityOccurrence{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_vulnerability_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VulnerabilityOccurrence) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VulnerabilityOccurrence) ProtoMessage() {} + +func (x *VulnerabilityOccurrence) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_vulnerability_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VulnerabilityOccurrence.ProtoReflect.Descriptor instead. +func (*VulnerabilityOccurrence) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_vulnerability_proto_rawDescGZIP(), []int{1} +} + +func (x *VulnerabilityOccurrence) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *VulnerabilityOccurrence) GetSeverity() Severity { + if x != nil { + return x.Severity + } + return Severity_SEVERITY_UNSPECIFIED +} + +func (x *VulnerabilityOccurrence) GetCvssScore() float32 { + if x != nil { + return x.CvssScore + } + return 0 +} + +func (x *VulnerabilityOccurrence) GetCvssv3() *CVSS { + if x != nil { + return x.Cvssv3 + } + return nil +} + +func (x *VulnerabilityOccurrence) GetPackageIssue() []*VulnerabilityOccurrence_PackageIssue { + if x != nil { + return x.PackageIssue + } + return nil +} + +func (x *VulnerabilityOccurrence) GetShortDescription() string { + if x != nil { + return x.ShortDescription + } + return "" +} + +func (x *VulnerabilityOccurrence) GetLongDescription() string { + if x != nil { + return x.LongDescription + } + return "" +} + +func (x *VulnerabilityOccurrence) GetRelatedUrls() []*RelatedUrl { + if x != nil { + return x.RelatedUrls + } + return nil +} + +func (x *VulnerabilityOccurrence) GetEffectiveSeverity() Severity { + if x != nil { + return x.EffectiveSeverity + } + return Severity_SEVERITY_UNSPECIFIED +} + +func (x *VulnerabilityOccurrence) GetFixAvailable() bool { + if x != nil { + return x.FixAvailable + } + return false +} + +func (x *VulnerabilityOccurrence) GetCvssVersion() CVSSVersion { + if x != nil { + return x.CvssVersion + } + return CVSSVersion_CVSS_VERSION_UNSPECIFIED +} + +func (x *VulnerabilityOccurrence) GetCvssV2() *CVSS { + if x != nil { + return x.CvssV2 + } + return nil +} + +func (x *VulnerabilityOccurrence) GetVexAssessment() *VulnerabilityOccurrence_VexAssessment { + if x != nil { + return x.VexAssessment + } + return nil +} + +func (x *VulnerabilityOccurrence) GetExtraDetails() string { + if x != nil { + return x.ExtraDetails + } + return "" +} + +// A detail for a distro and package affected by this vulnerability and its +// associated fix (if one is available). +type VulnerabilityNote_Detail struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The distro assigned severity of this vulnerability. + SeverityName string `protobuf:"bytes,1,opt,name=severity_name,json=severityName,proto3" json:"severity_name,omitempty"` + // A vendor-specific description of this vulnerability. + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // The type of package; whether native or non native (e.g., ruby gems, + // node.js packages, etc.). + PackageType string `protobuf:"bytes,3,opt,name=package_type,json=packageType,proto3" json:"package_type,omitempty"` + // Required. The [CPE URI](https://cpe.mitre.org/specification/) this + // vulnerability affects. + AffectedCpeUri string `protobuf:"bytes,4,opt,name=affected_cpe_uri,json=affectedCpeUri,proto3" json:"affected_cpe_uri,omitempty"` + // Required. The package this vulnerability affects. + AffectedPackage string `protobuf:"bytes,5,opt,name=affected_package,json=affectedPackage,proto3" json:"affected_package,omitempty"` + // The version number at the start of an interval in which this + // vulnerability exists. A vulnerability can affect a package between + // version numbers that are disjoint sets of intervals (example: + // [1.0.0-1.1.0], [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be + // represented in its own Detail. If a specific affected version is provided + // by a vulnerability database, affected_version_start and + // affected_version_end will be the same in that Detail. + AffectedVersionStart *Version `protobuf:"bytes,6,opt,name=affected_version_start,json=affectedVersionStart,proto3" json:"affected_version_start,omitempty"` + // The version number at the end of an interval in which this vulnerability + // exists. A vulnerability can affect a package between version numbers + // that are disjoint sets of intervals (example: [1.0.0-1.1.0], + // [2.4.6-2.4.8] and [4.5.6-4.6.8]) each of which will be represented in its + // own Detail. If a specific affected version is provided by a vulnerability + // database, affected_version_start and affected_version_end will be the + // same in that Detail. + AffectedVersionEnd *Version `protobuf:"bytes,7,opt,name=affected_version_end,json=affectedVersionEnd,proto3" json:"affected_version_end,omitempty"` + // The distro recommended [CPE URI](https://cpe.mitre.org/specification/) + // to update to that contains a fix for this vulnerability. It is possible + // for this to be different from the affected_cpe_uri. + FixedCpeUri string `protobuf:"bytes,8,opt,name=fixed_cpe_uri,json=fixedCpeUri,proto3" json:"fixed_cpe_uri,omitempty"` + // The distro recommended package to update to that contains a fix for this + // vulnerability. It is possible for this to be different from the + // affected_package. + FixedPackage string `protobuf:"bytes,9,opt,name=fixed_package,json=fixedPackage,proto3" json:"fixed_package,omitempty"` + // The distro recommended version to update to that contains a + // fix for this vulnerability. Setting this to VersionKind.MAXIMUM means no + // such version is yet available. + FixedVersion *Version `protobuf:"bytes,10,opt,name=fixed_version,json=fixedVersion,proto3" json:"fixed_version,omitempty"` + // Whether this detail is obsolete. Occurrences are expected not to point to + // obsolete details. + IsObsolete bool `protobuf:"varint,11,opt,name=is_obsolete,json=isObsolete,proto3" json:"is_obsolete,omitempty"` + // The time this information was last changed at the source. This is an + // upstream timestamp from the underlying information source - e.g. Ubuntu + // security tracker. + SourceUpdateTime *timestamp.Timestamp `protobuf:"bytes,12,opt,name=source_update_time,json=sourceUpdateTime,proto3" json:"source_update_time,omitempty"` + // The source from which the information in this Detail was obtained. + Source string `protobuf:"bytes,13,opt,name=source,proto3" json:"source,omitempty"` + // The name of the vendor of the product. + Vendor string `protobuf:"bytes,14,opt,name=vendor,proto3" json:"vendor,omitempty"` +} + +func (x *VulnerabilityNote_Detail) Reset() { + *x = VulnerabilityNote_Detail{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_vulnerability_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VulnerabilityNote_Detail) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VulnerabilityNote_Detail) ProtoMessage() {} + +func (x *VulnerabilityNote_Detail) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_vulnerability_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VulnerabilityNote_Detail.ProtoReflect.Descriptor instead. +func (*VulnerabilityNote_Detail) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_vulnerability_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *VulnerabilityNote_Detail) GetSeverityName() string { + if x != nil { + return x.SeverityName + } + return "" +} + +func (x *VulnerabilityNote_Detail) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *VulnerabilityNote_Detail) GetPackageType() string { + if x != nil { + return x.PackageType + } + return "" +} + +func (x *VulnerabilityNote_Detail) GetAffectedCpeUri() string { + if x != nil { + return x.AffectedCpeUri + } + return "" +} + +func (x *VulnerabilityNote_Detail) GetAffectedPackage() string { + if x != nil { + return x.AffectedPackage + } + return "" +} + +func (x *VulnerabilityNote_Detail) GetAffectedVersionStart() *Version { + if x != nil { + return x.AffectedVersionStart + } + return nil +} + +func (x *VulnerabilityNote_Detail) GetAffectedVersionEnd() *Version { + if x != nil { + return x.AffectedVersionEnd + } + return nil +} + +func (x *VulnerabilityNote_Detail) GetFixedCpeUri() string { + if x != nil { + return x.FixedCpeUri + } + return "" +} + +func (x *VulnerabilityNote_Detail) GetFixedPackage() string { + if x != nil { + return x.FixedPackage + } + return "" +} + +func (x *VulnerabilityNote_Detail) GetFixedVersion() *Version { + if x != nil { + return x.FixedVersion + } + return nil +} + +func (x *VulnerabilityNote_Detail) GetIsObsolete() bool { + if x != nil { + return x.IsObsolete + } + return false +} + +func (x *VulnerabilityNote_Detail) GetSourceUpdateTime() *timestamp.Timestamp { + if x != nil { + return x.SourceUpdateTime + } + return nil +} + +func (x *VulnerabilityNote_Detail) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +func (x *VulnerabilityNote_Detail) GetVendor() string { + if x != nil { + return x.Vendor + } + return "" +} + +type VulnerabilityNote_WindowsDetail struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The [CPE URI](https://cpe.mitre.org/specification/) this + // vulnerability affects. + CpeUri string `protobuf:"bytes,1,opt,name=cpe_uri,json=cpeUri,proto3" json:"cpe_uri,omitempty"` + // Required. The name of this vulnerability. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // The description of this vulnerability. + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + // Required. The names of the KBs which have hotfixes to mitigate this + // vulnerability. Note that there may be multiple hotfixes (and thus + // multiple KBs) that mitigate a given vulnerability. Currently any listed + // KBs presence is considered a fix. + FixingKbs []*VulnerabilityNote_WindowsDetail_KnowledgeBase `protobuf:"bytes,4,rep,name=fixing_kbs,json=fixingKbs,proto3" json:"fixing_kbs,omitempty"` +} + +func (x *VulnerabilityNote_WindowsDetail) Reset() { + *x = VulnerabilityNote_WindowsDetail{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_vulnerability_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VulnerabilityNote_WindowsDetail) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VulnerabilityNote_WindowsDetail) ProtoMessage() {} + +func (x *VulnerabilityNote_WindowsDetail) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_vulnerability_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VulnerabilityNote_WindowsDetail.ProtoReflect.Descriptor instead. +func (*VulnerabilityNote_WindowsDetail) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_vulnerability_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *VulnerabilityNote_WindowsDetail) GetCpeUri() string { + if x != nil { + return x.CpeUri + } + return "" +} + +func (x *VulnerabilityNote_WindowsDetail) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *VulnerabilityNote_WindowsDetail) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *VulnerabilityNote_WindowsDetail) GetFixingKbs() []*VulnerabilityNote_WindowsDetail_KnowledgeBase { + if x != nil { + return x.FixingKbs + } + return nil +} + +type VulnerabilityNote_WindowsDetail_KnowledgeBase struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The KB name (generally of the form KB[0-9]+ (e.g., KB123456)). + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // A link to the KB in the [Windows update catalog] + // (https://www.catalog.update.microsoft.com/). + Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` +} + +func (x *VulnerabilityNote_WindowsDetail_KnowledgeBase) Reset() { + *x = VulnerabilityNote_WindowsDetail_KnowledgeBase{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_vulnerability_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VulnerabilityNote_WindowsDetail_KnowledgeBase) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VulnerabilityNote_WindowsDetail_KnowledgeBase) ProtoMessage() {} + +func (x *VulnerabilityNote_WindowsDetail_KnowledgeBase) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_vulnerability_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VulnerabilityNote_WindowsDetail_KnowledgeBase.ProtoReflect.Descriptor instead. +func (*VulnerabilityNote_WindowsDetail_KnowledgeBase) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_vulnerability_proto_rawDescGZIP(), []int{0, 1, 0} +} + +func (x *VulnerabilityNote_WindowsDetail_KnowledgeBase) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *VulnerabilityNote_WindowsDetail_KnowledgeBase) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +// A detail for a distro and package this vulnerability occurrence was found +// in and its associated fix (if one is available). +type VulnerabilityOccurrence_PackageIssue struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Required. The [CPE URI](https://cpe.mitre.org/specification/) this + // vulnerability was found in. + AffectedCpeUri string `protobuf:"bytes,1,opt,name=affected_cpe_uri,json=affectedCpeUri,proto3" json:"affected_cpe_uri,omitempty"` + // Required. The package this vulnerability was found in. + AffectedPackage string `protobuf:"bytes,2,opt,name=affected_package,json=affectedPackage,proto3" json:"affected_package,omitempty"` + // Required. The version of the package that is installed on the resource + // affected by this vulnerability. + AffectedVersion *Version `protobuf:"bytes,3,opt,name=affected_version,json=affectedVersion,proto3" json:"affected_version,omitempty"` + // The [CPE URI](https://cpe.mitre.org/specification/) this vulnerability + // was fixed in. It is possible for this to be different from the + // affected_cpe_uri. + FixedCpeUri string `protobuf:"bytes,4,opt,name=fixed_cpe_uri,json=fixedCpeUri,proto3" json:"fixed_cpe_uri,omitempty"` + // The package this vulnerability was fixed in. It is possible for this to + // be different from the affected_package. + FixedPackage string `protobuf:"bytes,5,opt,name=fixed_package,json=fixedPackage,proto3" json:"fixed_package,omitempty"` + // Required. The version of the package this vulnerability was fixed in. + // Setting this to VersionKind.MAXIMUM means no fix is yet available. + FixedVersion *Version `protobuf:"bytes,6,opt,name=fixed_version,json=fixedVersion,proto3" json:"fixed_version,omitempty"` + // Output only. Whether a fix is available for this package. + FixAvailable bool `protobuf:"varint,7,opt,name=fix_available,json=fixAvailable,proto3" json:"fix_available,omitempty"` + // The type of package (e.g. OS, MAVEN, GO). + PackageType string `protobuf:"bytes,8,opt,name=package_type,json=packageType,proto3" json:"package_type,omitempty"` + // The distro or language system assigned severity for this vulnerability + // when that is available and note provider assigned severity when it is not + // available. + EffectiveSeverity Severity `protobuf:"varint,9,opt,name=effective_severity,json=effectiveSeverity,proto3,enum=mockgrafeas.v1.Severity" json:"effective_severity,omitempty"` + // The location at which this package was found. + FileLocation []*FileLocation `protobuf:"bytes,10,rep,name=file_location,json=fileLocation,proto3" json:"file_location,omitempty"` +} + +func (x *VulnerabilityOccurrence_PackageIssue) Reset() { + *x = VulnerabilityOccurrence_PackageIssue{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_vulnerability_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VulnerabilityOccurrence_PackageIssue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VulnerabilityOccurrence_PackageIssue) ProtoMessage() {} + +func (x *VulnerabilityOccurrence_PackageIssue) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_vulnerability_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VulnerabilityOccurrence_PackageIssue.ProtoReflect.Descriptor instead. +func (*VulnerabilityOccurrence_PackageIssue) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_vulnerability_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *VulnerabilityOccurrence_PackageIssue) GetAffectedCpeUri() string { + if x != nil { + return x.AffectedCpeUri + } + return "" +} + +func (x *VulnerabilityOccurrence_PackageIssue) GetAffectedPackage() string { + if x != nil { + return x.AffectedPackage + } + return "" +} + +func (x *VulnerabilityOccurrence_PackageIssue) GetAffectedVersion() *Version { + if x != nil { + return x.AffectedVersion + } + return nil +} + +func (x *VulnerabilityOccurrence_PackageIssue) GetFixedCpeUri() string { + if x != nil { + return x.FixedCpeUri + } + return "" +} + +func (x *VulnerabilityOccurrence_PackageIssue) GetFixedPackage() string { + if x != nil { + return x.FixedPackage + } + return "" +} + +func (x *VulnerabilityOccurrence_PackageIssue) GetFixedVersion() *Version { + if x != nil { + return x.FixedVersion + } + return nil +} + +func (x *VulnerabilityOccurrence_PackageIssue) GetFixAvailable() bool { + if x != nil { + return x.FixAvailable + } + return false +} + +func (x *VulnerabilityOccurrence_PackageIssue) GetPackageType() string { + if x != nil { + return x.PackageType + } + return "" +} + +func (x *VulnerabilityOccurrence_PackageIssue) GetEffectiveSeverity() Severity { + if x != nil { + return x.EffectiveSeverity + } + return Severity_SEVERITY_UNSPECIFIED +} + +func (x *VulnerabilityOccurrence_PackageIssue) GetFileLocation() []*FileLocation { + if x != nil { + return x.FileLocation + } + return nil +} + +// VexAssessment provides all publisher provided Vex information that is +// related to this vulnerability. +type VulnerabilityOccurrence_VexAssessment struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Holds the MITRE standard Common Vulnerabilities and Exposures (CVE) + // tracking number for the vulnerability. + // Deprecated: Use vulnerability_id instead to denote CVEs. + // + // Deprecated: Do not use. + Cve string `protobuf:"bytes,1,opt,name=cve,proto3" json:"cve,omitempty"` + // The vulnerability identifier for this Assessment. Will hold one of + // common identifiers e.g. CVE, GHSA etc. + VulnerabilityId string `protobuf:"bytes,8,opt,name=vulnerability_id,json=vulnerabilityId,proto3" json:"vulnerability_id,omitempty"` + // Holds a list of references associated with this vulnerability item and + // assessment. + RelatedUris []*RelatedUrl `protobuf:"bytes,2,rep,name=related_uris,json=relatedUris,proto3" json:"related_uris,omitempty"` + // The VulnerabilityAssessment note from which this VexAssessment was + // generated. + // This will be of the form: `projects/[PROJECT_ID]/notes/[NOTE_ID]`. + // (-- api-linter: core::0122::name-suffix=disabled + // + // aip.dev/not-precedent: The suffix is kept for consistency. --) + NoteName string `protobuf:"bytes,3,opt,name=note_name,json=noteName,proto3" json:"note_name,omitempty"` + // Provides the state of this Vulnerability assessment. + State VulnerabilityAssessmentNote_Assessment_State `protobuf:"varint,4,opt,name=state,proto3,enum=mockgrafeas.v1.VulnerabilityAssessmentNote_Assessment_State" json:"state,omitempty"` + // Contains information about the impact of this vulnerability, + // this will change with time. + Impacts []string `protobuf:"bytes,5,rep,name=impacts,proto3" json:"impacts,omitempty"` + // Specifies details on how to handle (and presumably, fix) a vulnerability. + Remediations []*VulnerabilityAssessmentNote_Assessment_Remediation `protobuf:"bytes,6,rep,name=remediations,proto3" json:"remediations,omitempty"` + // Justification provides the justification when the state of the + // assessment if NOT_AFFECTED. + Justification *VulnerabilityAssessmentNote_Assessment_Justification `protobuf:"bytes,7,opt,name=justification,proto3" json:"justification,omitempty"` +} + +func (x *VulnerabilityOccurrence_VexAssessment) Reset() { + *x = VulnerabilityOccurrence_VexAssessment{} + if protoimpl.UnsafeEnabled { + mi := &file_mockgrafeas_v1_vulnerability_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *VulnerabilityOccurrence_VexAssessment) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VulnerabilityOccurrence_VexAssessment) ProtoMessage() {} + +func (x *VulnerabilityOccurrence_VexAssessment) ProtoReflect() protoreflect.Message { + mi := &file_mockgrafeas_v1_vulnerability_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VulnerabilityOccurrence_VexAssessment.ProtoReflect.Descriptor instead. +func (*VulnerabilityOccurrence_VexAssessment) Descriptor() ([]byte, []int) { + return file_mockgrafeas_v1_vulnerability_proto_rawDescGZIP(), []int{1, 1} +} + +// Deprecated: Do not use. +func (x *VulnerabilityOccurrence_VexAssessment) GetCve() string { + if x != nil { + return x.Cve + } + return "" +} + +func (x *VulnerabilityOccurrence_VexAssessment) GetVulnerabilityId() string { + if x != nil { + return x.VulnerabilityId + } + return "" +} + +func (x *VulnerabilityOccurrence_VexAssessment) GetRelatedUris() []*RelatedUrl { + if x != nil { + return x.RelatedUris + } + return nil +} + +func (x *VulnerabilityOccurrence_VexAssessment) GetNoteName() string { + if x != nil { + return x.NoteName + } + return "" +} + +func (x *VulnerabilityOccurrence_VexAssessment) GetState() VulnerabilityAssessmentNote_Assessment_State { + if x != nil { + return x.State + } + return VulnerabilityAssessmentNote_Assessment_STATE_UNSPECIFIED +} + +func (x *VulnerabilityOccurrence_VexAssessment) GetImpacts() []string { + if x != nil { + return x.Impacts + } + return nil +} + +func (x *VulnerabilityOccurrence_VexAssessment) GetRemediations() []*VulnerabilityAssessmentNote_Assessment_Remediation { + if x != nil { + return x.Remediations + } + return nil +} + +func (x *VulnerabilityOccurrence_VexAssessment) GetJustification() *VulnerabilityAssessmentNote_Assessment_Justification { + if x != nil { + return x.Justification + } + return nil +} + +var File_mockgrafeas_v1_vulnerability_proto protoreflect.FileDescriptor + +var file_mockgrafeas_v1_vulnerability_proto_rawDesc = []byte{ + 0x0a, 0x22, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, + 0x2f, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, + 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, + 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x76, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x70, + 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x6d, 0x6f, + 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x76, + 0x65, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x76, 0x65, 0x78, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xec, 0x0a, 0x0a, 0x11, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, + 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, + 0x76, 0x73, 0x73, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x09, 0x63, 0x76, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x34, 0x0a, 0x08, 0x73, 0x65, + 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, + 0x12, 0x42, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x4e, 0x6f, 0x74, 0x65, 0x2e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x07, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2f, 0x0a, 0x07, 0x63, 0x76, 0x73, 0x73, 0x5f, 0x76, 0x33, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, + 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x56, 0x53, 0x53, 0x76, 0x33, 0x52, 0x06, 0x63, + 0x76, 0x73, 0x73, 0x56, 0x33, 0x12, 0x58, 0x0a, 0x0f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, + 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4e, 0x6f, 0x74, + 0x65, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, + 0x0e, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, + 0x48, 0x0a, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x76, 0x73, + 0x73, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x1b, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x56, 0x53, 0x53, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x63, 0x76, + 0x73, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x07, 0x63, 0x76, 0x73, + 0x73, 0x5f, 0x76, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x6f, 0x63, + 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x56, 0x53, 0x53, + 0x52, 0x06, 0x63, 0x76, 0x73, 0x73, 0x56, 0x32, 0x1a, 0x83, 0x05, 0x0a, 0x06, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x76, 0x65, + 0x72, 0x69, 0x74, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, + 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 0x0a, + 0x10, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x70, 0x65, 0x5f, 0x75, 0x72, + 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, + 0x64, 0x43, 0x70, 0x65, 0x55, 0x72, 0x69, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x66, 0x66, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x12, 0x4d, 0x0a, 0x16, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x61, 0x66, 0x66, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x72, + 0x74, 0x12, 0x49, 0x0a, 0x14, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, + 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x64, 0x12, 0x22, 0x0a, 0x0d, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x63, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x43, 0x70, 0x65, 0x55, 0x72, 0x69, + 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, + 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x66, 0x69, 0x78, 0x65, 0x64, 0x50, 0x61, + 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x66, 0x69, 0x78, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x6f, 0x62, 0x73, 0x6f, 0x6c, 0x65, + 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x4f, 0x62, 0x73, 0x6f, + 0x6c, 0x65, 0x74, 0x65, 0x12, 0x48, 0x0a, 0x12, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x76, 0x65, 0x6e, 0x64, 0x6f, 0x72, 0x1a, 0xf3, + 0x01, 0x0a, 0x0d, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x12, 0x17, 0x0a, 0x07, 0x63, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x63, 0x70, 0x65, 0x55, 0x72, 0x69, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x5c, 0x0a, 0x0a, 0x66, 0x69, 0x78, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x62, 0x73, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x4e, 0x6f, 0x74, 0x65, 0x2e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x2e, 0x4b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x42, 0x61, + 0x73, 0x65, 0x52, 0x09, 0x66, 0x69, 0x78, 0x69, 0x6e, 0x67, 0x4b, 0x62, 0x73, 0x1a, 0x35, 0x0a, + 0x0d, 0x4b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x75, 0x72, 0x6c, 0x22, 0xfd, 0x0d, 0x0a, 0x17, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, + 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, + 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, + 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x76, + 0x73, 0x73, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, + 0x63, 0x76, 0x73, 0x73, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x2c, 0x0a, 0x06, 0x63, 0x76, 0x73, + 0x73, 0x76, 0x33, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x56, 0x53, 0x53, 0x52, + 0x06, 0x63, 0x76, 0x73, 0x73, 0x76, 0x33, 0x12, 0x59, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x5f, 0x69, 0x73, 0x73, 0x75, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x63, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, + 0x73, 0x73, 0x75, 0x65, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x73, 0x73, + 0x75, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x73, + 0x68, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x29, 0x0a, 0x10, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x6f, 0x6e, 0x67, 0x44, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x0c, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x0b, 0x72, 0x65, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x73, 0x12, 0x47, 0x0a, 0x12, 0x65, 0x66, 0x66, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, + 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x52, + 0x11, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, + 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x66, 0x69, 0x78, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x76, 0x73, 0x73, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, + 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x56, 0x53, 0x53, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x63, 0x76, 0x73, 0x73, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x07, 0x63, 0x76, 0x73, 0x73, 0x5f, + 0x76, 0x32, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x56, 0x53, 0x53, 0x52, 0x06, + 0x63, 0x76, 0x73, 0x73, 0x56, 0x32, 0x12, 0x5c, 0x0a, 0x0e, 0x76, 0x65, 0x78, 0x5f, 0x61, 0x73, + 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x4f, 0x63, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x56, 0x65, 0x78, 0x41, 0x73, 0x73, 0x65, 0x73, + 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0d, 0x76, 0x65, 0x78, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x64, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x78, 0x74, + 0x72, 0x61, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x1a, 0x87, 0x04, 0x0a, 0x0c, 0x50, 0x61, + 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x73, 0x73, 0x75, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x61, 0x66, + 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x43, 0x70, + 0x65, 0x55, 0x72, 0x69, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, + 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, + 0x42, 0x0a, 0x10, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, + 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x0f, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x63, 0x70, 0x65, + 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x43, 0x70, 0x65, 0x55, 0x72, 0x69, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x0d, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x69, + 0x78, 0x5f, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0c, 0x66, 0x69, 0x78, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, + 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x4c, 0x0a, 0x12, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, + 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x65, + 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, + 0x12, 0x41, 0x0a, 0x0d, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, + 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x4c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x1a, 0xee, 0x03, 0x0a, 0x0d, 0x56, 0x65, 0x78, 0x41, 0x73, 0x73, 0x65, 0x73, + 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x03, 0x63, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x03, 0x63, 0x76, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x76, + 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x76, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x3d, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x75, 0x72, 0x69, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6d, + 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x55, 0x72, 0x69, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x65, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x74, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x3c, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x2e, 0x41, + 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x73, + 0x12, 0x66, 0x0a, 0x0c, 0x72, 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, + 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, + 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x4e, + 0x6f, 0x74, 0x65, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x52, + 0x65, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x65, + 0x64, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x6a, 0x0a, 0x0d, 0x6a, 0x75, 0x73, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x44, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x56, 0x75, 0x6c, 0x6e, 0x65, 0x72, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x41, 0x73, + 0x73, 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x2e, 0x41, 0x73, 0x73, + 0x65, 0x73, 0x73, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x59, 0x0a, 0x11, 0x69, 0x6f, 0x2e, 0x6d, 0x6f, 0x63, 0x6b, 0x67, + 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2e, 0x76, 0x31, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, + 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2f, 0x6d, 0x6f, 0x63, 0x6b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0x2f, 0x76, + 0x31, 0x3b, 0x67, 0x72, 0x61, 0x66, 0x65, 0x61, 0x73, 0xa2, 0x02, 0x03, 0x47, 0x52, 0x41, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_mockgrafeas_v1_vulnerability_proto_rawDescOnce sync.Once + file_mockgrafeas_v1_vulnerability_proto_rawDescData = file_mockgrafeas_v1_vulnerability_proto_rawDesc +) + +func file_mockgrafeas_v1_vulnerability_proto_rawDescGZIP() []byte { + file_mockgrafeas_v1_vulnerability_proto_rawDescOnce.Do(func() { + file_mockgrafeas_v1_vulnerability_proto_rawDescData = protoimpl.X.CompressGZIP(file_mockgrafeas_v1_vulnerability_proto_rawDescData) + }) + return file_mockgrafeas_v1_vulnerability_proto_rawDescData +} + +var file_mockgrafeas_v1_vulnerability_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_mockgrafeas_v1_vulnerability_proto_goTypes = []interface{}{ + (*VulnerabilityNote)(nil), // 0: mockgrafeas.v1.VulnerabilityNote + (*VulnerabilityOccurrence)(nil), // 1: mockgrafeas.v1.VulnerabilityOccurrence + (*VulnerabilityNote_Detail)(nil), // 2: mockgrafeas.v1.VulnerabilityNote.Detail + (*VulnerabilityNote_WindowsDetail)(nil), // 3: mockgrafeas.v1.VulnerabilityNote.WindowsDetail + (*VulnerabilityNote_WindowsDetail_KnowledgeBase)(nil), // 4: mockgrafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase + (*VulnerabilityOccurrence_PackageIssue)(nil), // 5: mockgrafeas.v1.VulnerabilityOccurrence.PackageIssue + (*VulnerabilityOccurrence_VexAssessment)(nil), // 6: mockgrafeas.v1.VulnerabilityOccurrence.VexAssessment + (Severity)(0), // 7: mockgrafeas.v1.Severity + (*CVSSv3)(nil), // 8: mockgrafeas.v1.CVSSv3 + (*timestamp.Timestamp)(nil), // 9: google.protobuf.Timestamp + (CVSSVersion)(0), // 10: mockgrafeas.v1.CVSSVersion + (*CVSS)(nil), // 11: mockgrafeas.v1.CVSS + (*RelatedUrl)(nil), // 12: mockgrafeas.v1.RelatedUrl + (*Version)(nil), // 13: mockgrafeas.v1.Version + (*FileLocation)(nil), // 14: mockgrafeas.v1.FileLocation + (VulnerabilityAssessmentNote_Assessment_State)(0), // 15: mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment.State + (*VulnerabilityAssessmentNote_Assessment_Remediation)(nil), // 16: mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment.Remediation + (*VulnerabilityAssessmentNote_Assessment_Justification)(nil), // 17: mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment.Justification +} +var file_mockgrafeas_v1_vulnerability_proto_depIdxs = []int32{ + 7, // 0: mockgrafeas.v1.VulnerabilityNote.severity:type_name -> mockgrafeas.v1.Severity + 2, // 1: mockgrafeas.v1.VulnerabilityNote.details:type_name -> mockgrafeas.v1.VulnerabilityNote.Detail + 8, // 2: mockgrafeas.v1.VulnerabilityNote.cvss_v3:type_name -> mockgrafeas.v1.CVSSv3 + 3, // 3: mockgrafeas.v1.VulnerabilityNote.windows_details:type_name -> mockgrafeas.v1.VulnerabilityNote.WindowsDetail + 9, // 4: mockgrafeas.v1.VulnerabilityNote.source_update_time:type_name -> google.protobuf.Timestamp + 10, // 5: mockgrafeas.v1.VulnerabilityNote.cvss_version:type_name -> mockgrafeas.v1.CVSSVersion + 11, // 6: mockgrafeas.v1.VulnerabilityNote.cvss_v2:type_name -> mockgrafeas.v1.CVSS + 7, // 7: mockgrafeas.v1.VulnerabilityOccurrence.severity:type_name -> mockgrafeas.v1.Severity + 11, // 8: mockgrafeas.v1.VulnerabilityOccurrence.cvssv3:type_name -> mockgrafeas.v1.CVSS + 5, // 9: mockgrafeas.v1.VulnerabilityOccurrence.package_issue:type_name -> mockgrafeas.v1.VulnerabilityOccurrence.PackageIssue + 12, // 10: mockgrafeas.v1.VulnerabilityOccurrence.related_urls:type_name -> mockgrafeas.v1.RelatedUrl + 7, // 11: mockgrafeas.v1.VulnerabilityOccurrence.effective_severity:type_name -> mockgrafeas.v1.Severity + 10, // 12: mockgrafeas.v1.VulnerabilityOccurrence.cvss_version:type_name -> mockgrafeas.v1.CVSSVersion + 11, // 13: mockgrafeas.v1.VulnerabilityOccurrence.cvss_v2:type_name -> mockgrafeas.v1.CVSS + 6, // 14: mockgrafeas.v1.VulnerabilityOccurrence.vex_assessment:type_name -> mockgrafeas.v1.VulnerabilityOccurrence.VexAssessment + 13, // 15: mockgrafeas.v1.VulnerabilityNote.Detail.affected_version_start:type_name -> mockgrafeas.v1.Version + 13, // 16: mockgrafeas.v1.VulnerabilityNote.Detail.affected_version_end:type_name -> mockgrafeas.v1.Version + 13, // 17: mockgrafeas.v1.VulnerabilityNote.Detail.fixed_version:type_name -> mockgrafeas.v1.Version + 9, // 18: mockgrafeas.v1.VulnerabilityNote.Detail.source_update_time:type_name -> google.protobuf.Timestamp + 4, // 19: mockgrafeas.v1.VulnerabilityNote.WindowsDetail.fixing_kbs:type_name -> mockgrafeas.v1.VulnerabilityNote.WindowsDetail.KnowledgeBase + 13, // 20: mockgrafeas.v1.VulnerabilityOccurrence.PackageIssue.affected_version:type_name -> mockgrafeas.v1.Version + 13, // 21: mockgrafeas.v1.VulnerabilityOccurrence.PackageIssue.fixed_version:type_name -> mockgrafeas.v1.Version + 7, // 22: mockgrafeas.v1.VulnerabilityOccurrence.PackageIssue.effective_severity:type_name -> mockgrafeas.v1.Severity + 14, // 23: mockgrafeas.v1.VulnerabilityOccurrence.PackageIssue.file_location:type_name -> mockgrafeas.v1.FileLocation + 12, // 24: mockgrafeas.v1.VulnerabilityOccurrence.VexAssessment.related_uris:type_name -> mockgrafeas.v1.RelatedUrl + 15, // 25: mockgrafeas.v1.VulnerabilityOccurrence.VexAssessment.state:type_name -> mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment.State + 16, // 26: mockgrafeas.v1.VulnerabilityOccurrence.VexAssessment.remediations:type_name -> mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment.Remediation + 17, // 27: mockgrafeas.v1.VulnerabilityOccurrence.VexAssessment.justification:type_name -> mockgrafeas.v1.VulnerabilityAssessmentNote.Assessment.Justification + 28, // [28:28] is the sub-list for method output_type + 28, // [28:28] is the sub-list for method input_type + 28, // [28:28] is the sub-list for extension type_name + 28, // [28:28] is the sub-list for extension extendee + 0, // [0:28] is the sub-list for field type_name +} + +func init() { file_mockgrafeas_v1_vulnerability_proto_init() } +func file_mockgrafeas_v1_vulnerability_proto_init() { + if File_mockgrafeas_v1_vulnerability_proto != nil { + return + } + file_mockgrafeas_v1_common_proto_init() + file_mockgrafeas_v1_cvss_proto_init() + file_mockgrafeas_v1_package_proto_init() + file_mockgrafeas_v1_severity_proto_init() + file_mockgrafeas_v1_vex_proto_init() + if !protoimpl.UnsafeEnabled { + file_mockgrafeas_v1_vulnerability_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VulnerabilityNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_vulnerability_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VulnerabilityOccurrence); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_vulnerability_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VulnerabilityNote_Detail); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_vulnerability_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VulnerabilityNote_WindowsDetail); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_vulnerability_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VulnerabilityNote_WindowsDetail_KnowledgeBase); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_vulnerability_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VulnerabilityOccurrence_PackageIssue); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_mockgrafeas_v1_vulnerability_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*VulnerabilityOccurrence_VexAssessment); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_mockgrafeas_v1_vulnerability_proto_rawDesc, + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_mockgrafeas_v1_vulnerability_proto_goTypes, + DependencyIndexes: file_mockgrafeas_v1_vulnerability_proto_depIdxs, + MessageInfos: file_mockgrafeas_v1_vulnerability_proto_msgTypes, + }.Build() + File_mockgrafeas_v1_vulnerability_proto = out.File + file_mockgrafeas_v1_vulnerability_proto_rawDesc = nil + file_mockgrafeas_v1_vulnerability_proto_goTypes = nil + file_mockgrafeas_v1_vulnerability_proto_depIdxs = nil +} diff --git a/mockgcp/mock_http_roundtrip.go b/mockgcp/mock_http_roundtrip.go index af44c07ccc..a85dfb802a 100644 --- a/mockgcp/mock_http_roundtrip.go +++ b/mockgcp/mock_http_roundtrip.go @@ -45,6 +45,7 @@ import ( "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockcloudids" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockcompute" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockcontainer" + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockcontaineranalysis" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockedgecontainer" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockedgenetwork" "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/mockgkehub" @@ -148,6 +149,7 @@ func NewMockRoundTripper(t *testing.T, k8sClient client.Client, storage storage. services = append(services, mockalloydb.New(env, storage)) services = append(services, mockcloudids.New(env, storage)) services = append(services, mockcloudbuild.New(env, storage)) + services = append(services, mockcontaineranalysis.New(env, storage)) for _, service := range services { service.Register(server) diff --git a/mockgcp/mockcontaineranalysis/note.go b/mockgcp/mockcontaineranalysis/note.go new file mode 100644 index 0000000000..28d841aa16 --- /dev/null +++ b/mockgcp/mockcontaineranalysis/note.go @@ -0,0 +1,163 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package mockcontaineranalysis + +import ( + "context" + "strings" + + "google.golang.org/protobuf/types/known/timestamppb" + + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/common/projects" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + pb "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/generated/mockgrafeas/v1" + "github.com/golang/protobuf/ptypes/empty" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/types/known/emptypb" +) + +type NoteName struct { + Project *projects.ProjectData + NoteName string +} + +type ContainerAnalysisV1 struct { + *MockService + pb.UnimplementedGrafeasServer +} + +func (s *ContainerAnalysisV1) GetNote(ctx context.Context, req *pb.GetNoteRequest) (*pb.Note, error) { + name, err := s.parseNoteName(req.Name) + if err != nil { + return nil, err + } + + fqn := name.String() + + obj := &pb.Note{} + if err := s.storage.Get(ctx, fqn, obj); err != nil { + return nil, err + } + + return obj, nil +} + +func (s *ContainerAnalysisV1) CreateNote(ctx context.Context, req *pb.CreateNoteRequest) (*pb.Note, error) { + reqName := req.Parent + "/notes/" + req.NoteId + name, err := s.parseNoteName(reqName) + if err != nil { + return nil, err + } + + fqn := name.String() + + obj := proto.Clone(req.Note).(*pb.Note) + obj.Name = fqn + obj.Kind = pb.NoteKind_ATTESTATION + now := timestamppb.Now() + obj.CreateTime = now + obj.UpdateTime = now + + if err := s.storage.Create(ctx, fqn, obj); err != nil { + return nil, err + } + + return obj, nil +} + +func (s *ContainerAnalysisV1) UpdateNote(ctx context.Context, req *pb.UpdateNoteRequest) (*pb.Note, error) { + reqName := req.GetName() + + name, err := s.parseNoteName(reqName) + if err != nil { + return nil, err + } + + fqn := name.String() + obj := &pb.Note{} + if err := s.storage.Get(ctx, fqn, obj); err != nil { + return nil, err + } + + // Required. A list of fields to be updated in this request. + paths := req.GetUpdateMask().GetPaths() + + // TODO: Some sort of helper for fieldmask? + for _, path := range paths { + switch path { + case "short_description": + obj.ShortDescription = req.Note.GetShortDescription() + case "long_description": + obj.LongDescription = req.Note.GetLongDescription() + case "related_url": + obj.RelatedUrl = req.Note.GetRelatedUrl() + case "attestation.hint.human_readable_name": + obj.Type = req.Note.GetType() + default: + return nil, status.Errorf(codes.InvalidArgument, "update_mask path %q not valid", path) + } + } + + if err := s.storage.Update(ctx, fqn, obj); err != nil { + return nil, err + } + + return obj, nil +} + +func (s *ContainerAnalysisV1) DeleteNote(ctx context.Context, req *pb.DeleteNoteRequest) (*empty.Empty, error) { + name, err := s.parseNoteName(req.Name) + if err != nil { + return nil, err + } + + fqn := name.String() + + oldObj := &pb.Note{} + if err := s.storage.Delete(ctx, fqn, oldObj); err != nil { + return nil, err + } + + return &emptypb.Empty{}, nil +} + +func (n *NoteName) String() string { + return "projects/" + n.Project.ID + "/notes/" + n.NoteName +} + +// parseNoteName parses a string into a NoteName. +// The expected form is projects//notes/ +func (s *MockService) parseNoteName(name string) (*NoteName, error) { + tokens := strings.Split(name, "/") + + if len(tokens) == 4 && tokens[0] == "projects" && tokens[2] == "notes" { + project, err := s.Projects.GetProjectByID(tokens[1]) + if err != nil { + return nil, err + } + + name := &NoteName{ + Project: project, + NoteName: tokens[3], + } + + return name, nil + } else { + return nil, status.Errorf(codes.InvalidArgument, "name %q is not valid", name) + } +} diff --git a/mockgcp/mockcontaineranalysis/service.go b/mockgcp/mockcontaineranalysis/service.go new file mode 100644 index 0000000000..613660595d --- /dev/null +++ b/mockgcp/mockcontaineranalysis/service.go @@ -0,0 +1,73 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package mockcontaineranalysis + +import ( + "context" + "net/http" + + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/common/httpmux" + + "google.golang.org/grpc" + + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/common" + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/common/operations" + pb "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/generated/mockgrafeas/v1" + "github.com/GoogleCloudPlatform/k8s-config-connector/mockgcp/pkg/storage" +) + +// MockService represents a mocked containeranalysis service. +type MockService struct { + *common.MockEnvironment + storage storage.Storage + operations *operations.Operations + v1 *ContainerAnalysisV1 +} + +// New creates a MockService. +func New(env *common.MockEnvironment, storage storage.Storage) *MockService { + s := &MockService{ + MockEnvironment: env, + storage: storage, + operations: operations.NewOperationsService(storage), + } + return s +} + +func (s *MockService) ExpectedHost() string { + return "containeranalysis.googleapis.com" +} + +func (s *MockService) Register(grpcServer *grpc.Server) { + pb.RegisterGrafeasServer(grpcServer, &ContainerAnalysisV1{MockService: s}) +} + +func (s *MockService) NewHTTPMux(ctx context.Context, conn *grpc.ClientConn) (http.Handler, error) { + mux, err := httpmux.NewServeMux(ctx, conn, httpmux.Options{}, + pb.RegisterGrafeasHandler) + if err != nil { + return nil, err + } + + // Returns slightly non-standard errors + mux.RewriteError = func(ctx context.Context, error *httpmux.ErrorResponse) { + if error.Code == 404 { + error.Message = "Requested entity was not found" + error.Errors = nil + } + } + + return mux, nil +} diff --git a/pkg/test/resourcefixture/testdata/basic/containeranalysis/v1beta1/containeranalysisnote/_generated_object_containeranalysisnote.golden.yaml b/pkg/test/resourcefixture/testdata/basic/containeranalysis/v1beta1/containeranalysisnote/_generated_object_containeranalysisnote.golden.yaml new file mode 100644 index 0000000000..201b4aaa56 --- /dev/null +++ b/pkg/test/resourcefixture/testdata/basic/containeranalysis/v1beta1/containeranalysisnote/_generated_object_containeranalysisnote.golden.yaml @@ -0,0 +1,35 @@ +apiVersion: containeranalysis.cnrm.cloud.google.com/v1beta1 +kind: ContainerAnalysisNote +metadata: + annotations: + cnrm.cloud.google.com/management-conflict-prevention-policy: none + cnrm.cloud.google.com/project-id: ${projectId} + cnrm.cloud.google.com/state-into-spec: merge + finalizers: + - cnrm.cloud.google.com/finalizer + - cnrm.cloud.google.com/deletion-defender + generation: 3 + labels: + cnrm-test: "true" + name: containeranalysisnote-${uniqueId} + namespace: ${uniqueId} +spec: + attestation: + hint: + humanReadableName: Attestor Note2 + longDescription: new long description + relatedUrl: + - label: test + url: some.url + resourceID: containeranalysisnote-${uniqueId} + shortDescription: short description +status: + conditions: + - lastTransitionTime: "1970-01-01T00:00:00Z" + message: The resource is up to date + reason: UpToDate + status: "True" + type: Ready + createTime: "1970-01-01T00:00:00Z" + observedGeneration: 3 + updateTime: "1970-01-01T00:00:00Z" diff --git a/pkg/test/resourcefixture/testdata/basic/containeranalysis/v1beta1/containeranalysisnote/_http.log b/pkg/test/resourcefixture/testdata/basic/containeranalysis/v1beta1/containeranalysisnote/_http.log new file mode 100644 index 0000000000..4bdcb1a5dc --- /dev/null +++ b/pkg/test/resourcefixture/testdata/basic/containeranalysis/v1beta1/containeranalysisnote/_http.log @@ -0,0 +1,259 @@ +GET https://containeranalysis.googleapis.com/v1/projects/${projectId}/notes/containeranalysisnote-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +404 Not Found +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "error": { + "code": 404, + "message": "Requested entity was not found", + "status": "NOT_FOUND" + } +} + +--- + +POST https://containeranalysis.googleapis.com/v1/projects/${projectId}/notes?alt=json¬eId=containeranalysisnote-${uniqueId} +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +{ + "attestation": { + "hint": { + "humanReadableName": "Attestor Note1" + } + }, + "longDescription": "long description", + "name": "projects/${projectId}/notes/containeranalysisnote-${uniqueId}", + "relatedUrl": [ + { + "label": "test", + "url": "some.url" + }, + { + "label": "google", + "url": "google.com" + } + ], + "shortDescription": "short description" +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "attestation": { + "hint": { + "humanReadableName": "Attestor Note1" + } + }, + "createTime": "2024-04-01T12:34:56.123456Z", + "kind": "ATTESTATION", + "longDescription": "long description", + "name": "projects/${projectId}/notes/containeranalysisnote-${uniqueId}", + "relatedUrl": [ + { + "label": "test", + "url": "some.url" + }, + { + "label": "google", + "url": "google.com" + } + ], + "shortDescription": "short description", + "updateTime": "2024-04-01T12:34:56.123456Z" +} + +--- + +GET https://containeranalysis.googleapis.com/v1/projects/${projectId}/notes/containeranalysisnote-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "attestation": { + "hint": { + "humanReadableName": "Attestor Note1" + } + }, + "createTime": "2024-04-01T12:34:56.123456Z", + "kind": "ATTESTATION", + "longDescription": "long description", + "name": "projects/${projectId}/notes/containeranalysisnote-${uniqueId}", + "relatedUrl": [ + { + "label": "test", + "url": "some.url" + }, + { + "label": "google", + "url": "google.com" + } + ], + "shortDescription": "short description", + "updateTime": "2024-04-01T12:34:56.123456Z" +} + +--- + +PATCH https://containeranalysis.googleapis.com/v1/projects/${projectId}/notes/containeranalysisnote-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +{ + "attestation": { + "hint": { + "humanReadableName": "Attestor Note2" + } + }, + "longDescription": "new long description", + "relatedUrl": [ + { + "label": "test", + "url": "some.url" + } + ], + "shortDescription": "short description" +} + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "attestation": { + "hint": { + "humanReadableName": "Attestor Note2" + } + }, + "createTime": "2024-04-01T12:34:56.123456Z", + "kind": "ATTESTATION", + "longDescription": "new long description", + "name": "projects/${projectId}/notes/containeranalysisnote-${uniqueId}", + "relatedUrl": [ + { + "label": "test", + "url": "some.url" + } + ], + "shortDescription": "short description", + "updateTime": "2024-04-01T12:34:56.123456Z" +} + +--- + +GET https://containeranalysis.googleapis.com/v1/projects/${projectId}/notes/containeranalysisnote-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "attestation": { + "hint": { + "humanReadableName": "Attestor Note2" + } + }, + "createTime": "2024-04-01T12:34:56.123456Z", + "kind": "ATTESTATION", + "longDescription": "new long description", + "name": "projects/${projectId}/notes/containeranalysisnote-${uniqueId}", + "relatedUrl": [ + { + "label": "test", + "url": "some.url" + } + ], + "shortDescription": "short description", + "updateTime": "2024-04-01T12:34:56.123456Z" +} + +--- + +DELETE https://containeranalysis.googleapis.com/v1/projects/${projectId}/notes/containeranalysisnote-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +200 OK +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{} + +--- + +GET https://containeranalysis.googleapis.com/v1/projects/${projectId}/notes/containeranalysisnote-${uniqueId}?alt=json +Content-Type: application/json +User-Agent: kcc/controller-manager DeclarativeClientLib/0.0.1 + +404 Not Found +Cache-Control: private +Content-Type: application/json; charset=UTF-8 +Server: ESF +Vary: Origin +Vary: X-Origin +Vary: Referer +X-Content-Type-Options: nosniff +X-Frame-Options: SAMEORIGIN +X-Xss-Protection: 0 + +{ + "error": { + "code": 404, + "message": "Requested entity was not found", + "status": "NOT_FOUND" + } +} \ No newline at end of file