1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/devtools/containeranalysis/v1beta1/vulnerability/vulnerability.proto
3
4package vulnerability
5
6import (
7	fmt "fmt"
8	math "math"
9
10	proto "github.com/golang/protobuf/proto"
11	timestamp "github.com/golang/protobuf/ptypes/timestamp"
12	common "google.golang.org/genproto/googleapis/devtools/containeranalysis/v1beta1/common"
13	cvss "google.golang.org/genproto/googleapis/devtools/containeranalysis/v1beta1/cvss"
14	_package "google.golang.org/genproto/googleapis/devtools/containeranalysis/v1beta1/package"
15)
16
17// Reference imports to suppress errors if they are not otherwise used.
18var _ = proto.Marshal
19var _ = fmt.Errorf
20var _ = math.Inf
21
22// This is a compile-time assertion to ensure that this generated file
23// is compatible with the proto package it is being compiled against.
24// A compilation error at this line likely means your copy of the
25// proto package needs to be updated.
26const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
27
28// Note provider-assigned severity/impact ranking.
29type Severity int32
30
31const (
32	// Unknown.
33	Severity_SEVERITY_UNSPECIFIED Severity = 0
34	// Minimal severity.
35	Severity_MINIMAL Severity = 1
36	// Low severity.
37	Severity_LOW Severity = 2
38	// Medium severity.
39	Severity_MEDIUM Severity = 3
40	// High severity.
41	Severity_HIGH Severity = 4
42	// Critical severity.
43	Severity_CRITICAL Severity = 5
44)
45
46var Severity_name = map[int32]string{
47	0: "SEVERITY_UNSPECIFIED",
48	1: "MINIMAL",
49	2: "LOW",
50	3: "MEDIUM",
51	4: "HIGH",
52	5: "CRITICAL",
53}
54
55var Severity_value = map[string]int32{
56	"SEVERITY_UNSPECIFIED": 0,
57	"MINIMAL":              1,
58	"LOW":                  2,
59	"MEDIUM":               3,
60	"HIGH":                 4,
61	"CRITICAL":             5,
62}
63
64func (x Severity) String() string {
65	return proto.EnumName(Severity_name, int32(x))
66}
67
68func (Severity) EnumDescriptor() ([]byte, []int) {
69	return fileDescriptor_2a1e5608ee0186b1, []int{0}
70}
71
72// Vulnerability provides metadata about a security vulnerability in a Note.
73type Vulnerability struct {
74	// The CVSS score for this vulnerability.
75	CvssScore float32 `protobuf:"fixed32,1,opt,name=cvss_score,json=cvssScore,proto3" json:"cvss_score,omitempty"`
76	// Note provider assigned impact of the vulnerability.
77	Severity Severity `protobuf:"varint,2,opt,name=severity,proto3,enum=grafeas.v1beta1.vulnerability.Severity" json:"severity,omitempty"`
78	// All information about the package to specifically identify this
79	// vulnerability. One entry per (version range and cpe_uri) the package
80	// vulnerability has manifested in.
81	Details []*Vulnerability_Detail `protobuf:"bytes,3,rep,name=details,proto3" json:"details,omitempty"`
82	// The full description of the CVSSv3.
83	CvssV3 *cvss.CVSSv3 `protobuf:"bytes,4,opt,name=cvss_v3,json=cvssV3,proto3" json:"cvss_v3,omitempty"`
84	// Windows details get their own format because the information format and
85	// model don't match a normal detail. Specifically Windows updates are done as
86	// patches, thus Windows vulnerabilities really are a missing package, rather
87	// than a package being at an incorrect version.
88	WindowsDetails []*Vulnerability_WindowsDetail `protobuf:"bytes,5,rep,name=windows_details,json=windowsDetails,proto3" json:"windows_details,omitempty"`
89	// The time this information was last changed at the source. This is an
90	// upstream timestamp from the underlying information source - e.g. Ubuntu
91	// security tracker.
92	SourceUpdateTime     *timestamp.Timestamp `protobuf:"bytes,6,opt,name=source_update_time,json=sourceUpdateTime,proto3" json:"source_update_time,omitempty"`
93	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
94	XXX_unrecognized     []byte               `json:"-"`
95	XXX_sizecache        int32                `json:"-"`
96}
97
98func (m *Vulnerability) Reset()         { *m = Vulnerability{} }
99func (m *Vulnerability) String() string { return proto.CompactTextString(m) }
100func (*Vulnerability) ProtoMessage()    {}
101func (*Vulnerability) Descriptor() ([]byte, []int) {
102	return fileDescriptor_2a1e5608ee0186b1, []int{0}
103}
104
105func (m *Vulnerability) XXX_Unmarshal(b []byte) error {
106	return xxx_messageInfo_Vulnerability.Unmarshal(m, b)
107}
108func (m *Vulnerability) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
109	return xxx_messageInfo_Vulnerability.Marshal(b, m, deterministic)
110}
111func (m *Vulnerability) XXX_Merge(src proto.Message) {
112	xxx_messageInfo_Vulnerability.Merge(m, src)
113}
114func (m *Vulnerability) XXX_Size() int {
115	return xxx_messageInfo_Vulnerability.Size(m)
116}
117func (m *Vulnerability) XXX_DiscardUnknown() {
118	xxx_messageInfo_Vulnerability.DiscardUnknown(m)
119}
120
121var xxx_messageInfo_Vulnerability proto.InternalMessageInfo
122
123func (m *Vulnerability) GetCvssScore() float32 {
124	if m != nil {
125		return m.CvssScore
126	}
127	return 0
128}
129
130func (m *Vulnerability) GetSeverity() Severity {
131	if m != nil {
132		return m.Severity
133	}
134	return Severity_SEVERITY_UNSPECIFIED
135}
136
137func (m *Vulnerability) GetDetails() []*Vulnerability_Detail {
138	if m != nil {
139		return m.Details
140	}
141	return nil
142}
143
144func (m *Vulnerability) GetCvssV3() *cvss.CVSSv3 {
145	if m != nil {
146		return m.CvssV3
147	}
148	return nil
149}
150
151func (m *Vulnerability) GetWindowsDetails() []*Vulnerability_WindowsDetail {
152	if m != nil {
153		return m.WindowsDetails
154	}
155	return nil
156}
157
158func (m *Vulnerability) GetSourceUpdateTime() *timestamp.Timestamp {
159	if m != nil {
160		return m.SourceUpdateTime
161	}
162	return nil
163}
164
165// Identifies all appearances of this vulnerability in the package for a
166// specific distro/location. For example: glibc in
167// cpe:/o:debian:debian_linux:8 for versions 2.1 - 2.2
168type Vulnerability_Detail struct {
169	// Required. The CPE URI in
170	// [cpe format](https://cpe.mitre.org/specification/) in which the
171	// vulnerability manifests. Examples include distro or storage location for
172	// vulnerable jar.
173	CpeUri string `protobuf:"bytes,1,opt,name=cpe_uri,json=cpeUri,proto3" json:"cpe_uri,omitempty"`
174	// Required. The name of the package where the vulnerability was found.
175	Package string `protobuf:"bytes,2,opt,name=package,proto3" json:"package,omitempty"`
176	// The min version of the package in which the vulnerability exists.
177	MinAffectedVersion *_package.Version `protobuf:"bytes,3,opt,name=min_affected_version,json=minAffectedVersion,proto3" json:"min_affected_version,omitempty"`
178	// The max version of the package in which the vulnerability exists.
179	MaxAffectedVersion *_package.Version `protobuf:"bytes,4,opt,name=max_affected_version,json=maxAffectedVersion,proto3" json:"max_affected_version,omitempty"`
180	// The severity (eg: distro assigned severity) for this vulnerability.
181	SeverityName string `protobuf:"bytes,5,opt,name=severity_name,json=severityName,proto3" json:"severity_name,omitempty"`
182	// A vendor-specific description of this note.
183	Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
184	// The fix for this specific package version.
185	FixedLocation *VulnerabilityLocation `protobuf:"bytes,7,opt,name=fixed_location,json=fixedLocation,proto3" json:"fixed_location,omitempty"`
186	// The type of package; whether native or non native(ruby gems, node.js
187	// packages etc).
188	PackageType string `protobuf:"bytes,8,opt,name=package_type,json=packageType,proto3" json:"package_type,omitempty"`
189	// Whether this detail is obsolete. Occurrences are expected not to point to
190	// obsolete details.
191	IsObsolete bool `protobuf:"varint,9,opt,name=is_obsolete,json=isObsolete,proto3" json:"is_obsolete,omitempty"`
192	// The time this information was last changed at the source. This is an
193	// upstream timestamp from the underlying information source - e.g. Ubuntu
194	// security tracker.
195	SourceUpdateTime     *timestamp.Timestamp `protobuf:"bytes,10,opt,name=source_update_time,json=sourceUpdateTime,proto3" json:"source_update_time,omitempty"`
196	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
197	XXX_unrecognized     []byte               `json:"-"`
198	XXX_sizecache        int32                `json:"-"`
199}
200
201func (m *Vulnerability_Detail) Reset()         { *m = Vulnerability_Detail{} }
202func (m *Vulnerability_Detail) String() string { return proto.CompactTextString(m) }
203func (*Vulnerability_Detail) ProtoMessage()    {}
204func (*Vulnerability_Detail) Descriptor() ([]byte, []int) {
205	return fileDescriptor_2a1e5608ee0186b1, []int{0, 0}
206}
207
208func (m *Vulnerability_Detail) XXX_Unmarshal(b []byte) error {
209	return xxx_messageInfo_Vulnerability_Detail.Unmarshal(m, b)
210}
211func (m *Vulnerability_Detail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
212	return xxx_messageInfo_Vulnerability_Detail.Marshal(b, m, deterministic)
213}
214func (m *Vulnerability_Detail) XXX_Merge(src proto.Message) {
215	xxx_messageInfo_Vulnerability_Detail.Merge(m, src)
216}
217func (m *Vulnerability_Detail) XXX_Size() int {
218	return xxx_messageInfo_Vulnerability_Detail.Size(m)
219}
220func (m *Vulnerability_Detail) XXX_DiscardUnknown() {
221	xxx_messageInfo_Vulnerability_Detail.DiscardUnknown(m)
222}
223
224var xxx_messageInfo_Vulnerability_Detail proto.InternalMessageInfo
225
226func (m *Vulnerability_Detail) GetCpeUri() string {
227	if m != nil {
228		return m.CpeUri
229	}
230	return ""
231}
232
233func (m *Vulnerability_Detail) GetPackage() string {
234	if m != nil {
235		return m.Package
236	}
237	return ""
238}
239
240func (m *Vulnerability_Detail) GetMinAffectedVersion() *_package.Version {
241	if m != nil {
242		return m.MinAffectedVersion
243	}
244	return nil
245}
246
247func (m *Vulnerability_Detail) GetMaxAffectedVersion() *_package.Version {
248	if m != nil {
249		return m.MaxAffectedVersion
250	}
251	return nil
252}
253
254func (m *Vulnerability_Detail) GetSeverityName() string {
255	if m != nil {
256		return m.SeverityName
257	}
258	return ""
259}
260
261func (m *Vulnerability_Detail) GetDescription() string {
262	if m != nil {
263		return m.Description
264	}
265	return ""
266}
267
268func (m *Vulnerability_Detail) GetFixedLocation() *VulnerabilityLocation {
269	if m != nil {
270		return m.FixedLocation
271	}
272	return nil
273}
274
275func (m *Vulnerability_Detail) GetPackageType() string {
276	if m != nil {
277		return m.PackageType
278	}
279	return ""
280}
281
282func (m *Vulnerability_Detail) GetIsObsolete() bool {
283	if m != nil {
284		return m.IsObsolete
285	}
286	return false
287}
288
289func (m *Vulnerability_Detail) GetSourceUpdateTime() *timestamp.Timestamp {
290	if m != nil {
291		return m.SourceUpdateTime
292	}
293	return nil
294}
295
296type Vulnerability_WindowsDetail struct {
297	// Required. The CPE URI in
298	// [cpe format](https://cpe.mitre.org/specification/) in which the
299	// vulnerability manifests. Examples include distro or storage location for
300	// vulnerable jar.
301	CpeUri string `protobuf:"bytes,1,opt,name=cpe_uri,json=cpeUri,proto3" json:"cpe_uri,omitempty"`
302	// Required. The name of the vulnerability.
303	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
304	// The description of the vulnerability.
305	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
306	// Required. The names of the KBs which have hotfixes to mitigate this
307	// vulnerability. Note that there may be multiple hotfixes (and thus
308	// multiple KBs) that mitigate a given vulnerability. Currently any listed
309	// kb's presence is considered a fix.
310	FixingKbs            []*Vulnerability_WindowsDetail_KnowledgeBase `protobuf:"bytes,4,rep,name=fixing_kbs,json=fixingKbs,proto3" json:"fixing_kbs,omitempty"`
311	XXX_NoUnkeyedLiteral struct{}                                     `json:"-"`
312	XXX_unrecognized     []byte                                       `json:"-"`
313	XXX_sizecache        int32                                        `json:"-"`
314}
315
316func (m *Vulnerability_WindowsDetail) Reset()         { *m = Vulnerability_WindowsDetail{} }
317func (m *Vulnerability_WindowsDetail) String() string { return proto.CompactTextString(m) }
318func (*Vulnerability_WindowsDetail) ProtoMessage()    {}
319func (*Vulnerability_WindowsDetail) Descriptor() ([]byte, []int) {
320	return fileDescriptor_2a1e5608ee0186b1, []int{0, 1}
321}
322
323func (m *Vulnerability_WindowsDetail) XXX_Unmarshal(b []byte) error {
324	return xxx_messageInfo_Vulnerability_WindowsDetail.Unmarshal(m, b)
325}
326func (m *Vulnerability_WindowsDetail) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
327	return xxx_messageInfo_Vulnerability_WindowsDetail.Marshal(b, m, deterministic)
328}
329func (m *Vulnerability_WindowsDetail) XXX_Merge(src proto.Message) {
330	xxx_messageInfo_Vulnerability_WindowsDetail.Merge(m, src)
331}
332func (m *Vulnerability_WindowsDetail) XXX_Size() int {
333	return xxx_messageInfo_Vulnerability_WindowsDetail.Size(m)
334}
335func (m *Vulnerability_WindowsDetail) XXX_DiscardUnknown() {
336	xxx_messageInfo_Vulnerability_WindowsDetail.DiscardUnknown(m)
337}
338
339var xxx_messageInfo_Vulnerability_WindowsDetail proto.InternalMessageInfo
340
341func (m *Vulnerability_WindowsDetail) GetCpeUri() string {
342	if m != nil {
343		return m.CpeUri
344	}
345	return ""
346}
347
348func (m *Vulnerability_WindowsDetail) GetName() string {
349	if m != nil {
350		return m.Name
351	}
352	return ""
353}
354
355func (m *Vulnerability_WindowsDetail) GetDescription() string {
356	if m != nil {
357		return m.Description
358	}
359	return ""
360}
361
362func (m *Vulnerability_WindowsDetail) GetFixingKbs() []*Vulnerability_WindowsDetail_KnowledgeBase {
363	if m != nil {
364		return m.FixingKbs
365	}
366	return nil
367}
368
369type Vulnerability_WindowsDetail_KnowledgeBase struct {
370	// The KB name (generally of the form KB[0-9]+ i.e. KB123456).
371	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
372	// A link to the KB in the Windows update catalog -
373	// https://www.catalog.update.microsoft.com/
374	Url                  string   `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
375	XXX_NoUnkeyedLiteral struct{} `json:"-"`
376	XXX_unrecognized     []byte   `json:"-"`
377	XXX_sizecache        int32    `json:"-"`
378}
379
380func (m *Vulnerability_WindowsDetail_KnowledgeBase) Reset() {
381	*m = Vulnerability_WindowsDetail_KnowledgeBase{}
382}
383func (m *Vulnerability_WindowsDetail_KnowledgeBase) String() string { return proto.CompactTextString(m) }
384func (*Vulnerability_WindowsDetail_KnowledgeBase) ProtoMessage()    {}
385func (*Vulnerability_WindowsDetail_KnowledgeBase) Descriptor() ([]byte, []int) {
386	return fileDescriptor_2a1e5608ee0186b1, []int{0, 1, 0}
387}
388
389func (m *Vulnerability_WindowsDetail_KnowledgeBase) XXX_Unmarshal(b []byte) error {
390	return xxx_messageInfo_Vulnerability_WindowsDetail_KnowledgeBase.Unmarshal(m, b)
391}
392func (m *Vulnerability_WindowsDetail_KnowledgeBase) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
393	return xxx_messageInfo_Vulnerability_WindowsDetail_KnowledgeBase.Marshal(b, m, deterministic)
394}
395func (m *Vulnerability_WindowsDetail_KnowledgeBase) XXX_Merge(src proto.Message) {
396	xxx_messageInfo_Vulnerability_WindowsDetail_KnowledgeBase.Merge(m, src)
397}
398func (m *Vulnerability_WindowsDetail_KnowledgeBase) XXX_Size() int {
399	return xxx_messageInfo_Vulnerability_WindowsDetail_KnowledgeBase.Size(m)
400}
401func (m *Vulnerability_WindowsDetail_KnowledgeBase) XXX_DiscardUnknown() {
402	xxx_messageInfo_Vulnerability_WindowsDetail_KnowledgeBase.DiscardUnknown(m)
403}
404
405var xxx_messageInfo_Vulnerability_WindowsDetail_KnowledgeBase proto.InternalMessageInfo
406
407func (m *Vulnerability_WindowsDetail_KnowledgeBase) GetName() string {
408	if m != nil {
409		return m.Name
410	}
411	return ""
412}
413
414func (m *Vulnerability_WindowsDetail_KnowledgeBase) GetUrl() string {
415	if m != nil {
416		return m.Url
417	}
418	return ""
419}
420
421// Details of a vulnerability Occurrence.
422type Details struct {
423	// The type of package; whether native or non native(ruby gems, node.js
424	// packages etc)
425	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
426	// Output only. The note provider assigned Severity of the vulnerability.
427	Severity Severity `protobuf:"varint,2,opt,name=severity,proto3,enum=grafeas.v1beta1.vulnerability.Severity" json:"severity,omitempty"`
428	// Output only. The CVSS score of this vulnerability. CVSS score is on a
429	// scale of 0-10 where 0 indicates low severity and 10 indicates high
430	// severity.
431	CvssScore float32 `protobuf:"fixed32,3,opt,name=cvss_score,json=cvssScore,proto3" json:"cvss_score,omitempty"`
432	// Required. The set of affected locations and their fixes (if available)
433	// within the associated resource.
434	PackageIssue []*PackageIssue `protobuf:"bytes,4,rep,name=package_issue,json=packageIssue,proto3" json:"package_issue,omitempty"`
435	// Output only. A one sentence description of this vulnerability.
436	ShortDescription string `protobuf:"bytes,5,opt,name=short_description,json=shortDescription,proto3" json:"short_description,omitempty"`
437	// Output only. A detailed description of this vulnerability.
438	LongDescription string `protobuf:"bytes,6,opt,name=long_description,json=longDescription,proto3" json:"long_description,omitempty"`
439	// Output only. URLs related to this vulnerability.
440	RelatedUrls []*common.RelatedUrl `protobuf:"bytes,7,rep,name=related_urls,json=relatedUrls,proto3" json:"related_urls,omitempty"`
441	// The distro assigned severity for this vulnerability when it is
442	// available, and note provider assigned severity when distro has not yet
443	// assigned a severity for this vulnerability.
444	EffectiveSeverity    Severity `protobuf:"varint,8,opt,name=effective_severity,json=effectiveSeverity,proto3,enum=grafeas.v1beta1.vulnerability.Severity" json:"effective_severity,omitempty"`
445	XXX_NoUnkeyedLiteral struct{} `json:"-"`
446	XXX_unrecognized     []byte   `json:"-"`
447	XXX_sizecache        int32    `json:"-"`
448}
449
450func (m *Details) Reset()         { *m = Details{} }
451func (m *Details) String() string { return proto.CompactTextString(m) }
452func (*Details) ProtoMessage()    {}
453func (*Details) Descriptor() ([]byte, []int) {
454	return fileDescriptor_2a1e5608ee0186b1, []int{1}
455}
456
457func (m *Details) XXX_Unmarshal(b []byte) error {
458	return xxx_messageInfo_Details.Unmarshal(m, b)
459}
460func (m *Details) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
461	return xxx_messageInfo_Details.Marshal(b, m, deterministic)
462}
463func (m *Details) XXX_Merge(src proto.Message) {
464	xxx_messageInfo_Details.Merge(m, src)
465}
466func (m *Details) XXX_Size() int {
467	return xxx_messageInfo_Details.Size(m)
468}
469func (m *Details) XXX_DiscardUnknown() {
470	xxx_messageInfo_Details.DiscardUnknown(m)
471}
472
473var xxx_messageInfo_Details proto.InternalMessageInfo
474
475func (m *Details) GetType() string {
476	if m != nil {
477		return m.Type
478	}
479	return ""
480}
481
482func (m *Details) GetSeverity() Severity {
483	if m != nil {
484		return m.Severity
485	}
486	return Severity_SEVERITY_UNSPECIFIED
487}
488
489func (m *Details) GetCvssScore() float32 {
490	if m != nil {
491		return m.CvssScore
492	}
493	return 0
494}
495
496func (m *Details) GetPackageIssue() []*PackageIssue {
497	if m != nil {
498		return m.PackageIssue
499	}
500	return nil
501}
502
503func (m *Details) GetShortDescription() string {
504	if m != nil {
505		return m.ShortDescription
506	}
507	return ""
508}
509
510func (m *Details) GetLongDescription() string {
511	if m != nil {
512		return m.LongDescription
513	}
514	return ""
515}
516
517func (m *Details) GetRelatedUrls() []*common.RelatedUrl {
518	if m != nil {
519		return m.RelatedUrls
520	}
521	return nil
522}
523
524func (m *Details) GetEffectiveSeverity() Severity {
525	if m != nil {
526		return m.EffectiveSeverity
527	}
528	return Severity_SEVERITY_UNSPECIFIED
529}
530
531// This message wraps a location affected by a vulnerability and its
532// associated fix (if one is available).
533type PackageIssue struct {
534	// Required. The location of the vulnerability.
535	AffectedLocation *VulnerabilityLocation `protobuf:"bytes,1,opt,name=affected_location,json=affectedLocation,proto3" json:"affected_location,omitempty"`
536	// The location of the available fix for vulnerability.
537	FixedLocation *VulnerabilityLocation `protobuf:"bytes,2,opt,name=fixed_location,json=fixedLocation,proto3" json:"fixed_location,omitempty"`
538	// Deprecated, use Details.effective_severity instead
539	// The severity (e.g., distro assigned severity) for this vulnerability.
540	SeverityName         string   `protobuf:"bytes,3,opt,name=severity_name,json=severityName,proto3" json:"severity_name,omitempty"`
541	XXX_NoUnkeyedLiteral struct{} `json:"-"`
542	XXX_unrecognized     []byte   `json:"-"`
543	XXX_sizecache        int32    `json:"-"`
544}
545
546func (m *PackageIssue) Reset()         { *m = PackageIssue{} }
547func (m *PackageIssue) String() string { return proto.CompactTextString(m) }
548func (*PackageIssue) ProtoMessage()    {}
549func (*PackageIssue) Descriptor() ([]byte, []int) {
550	return fileDescriptor_2a1e5608ee0186b1, []int{2}
551}
552
553func (m *PackageIssue) XXX_Unmarshal(b []byte) error {
554	return xxx_messageInfo_PackageIssue.Unmarshal(m, b)
555}
556func (m *PackageIssue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
557	return xxx_messageInfo_PackageIssue.Marshal(b, m, deterministic)
558}
559func (m *PackageIssue) XXX_Merge(src proto.Message) {
560	xxx_messageInfo_PackageIssue.Merge(m, src)
561}
562func (m *PackageIssue) XXX_Size() int {
563	return xxx_messageInfo_PackageIssue.Size(m)
564}
565func (m *PackageIssue) XXX_DiscardUnknown() {
566	xxx_messageInfo_PackageIssue.DiscardUnknown(m)
567}
568
569var xxx_messageInfo_PackageIssue proto.InternalMessageInfo
570
571func (m *PackageIssue) GetAffectedLocation() *VulnerabilityLocation {
572	if m != nil {
573		return m.AffectedLocation
574	}
575	return nil
576}
577
578func (m *PackageIssue) GetFixedLocation() *VulnerabilityLocation {
579	if m != nil {
580		return m.FixedLocation
581	}
582	return nil
583}
584
585func (m *PackageIssue) GetSeverityName() string {
586	if m != nil {
587		return m.SeverityName
588	}
589	return ""
590}
591
592// The location of the vulnerability.
593type VulnerabilityLocation struct {
594	// Required. The CPE URI in [cpe format](https://cpe.mitre.org/specification/)
595	// format. Examples include distro or storage location for vulnerable jar.
596	CpeUri string `protobuf:"bytes,1,opt,name=cpe_uri,json=cpeUri,proto3" json:"cpe_uri,omitempty"`
597	// Required. The package being described.
598	Package string `protobuf:"bytes,2,opt,name=package,proto3" json:"package,omitempty"`
599	// Required. The version of the package being described.
600	Version              *_package.Version `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
601	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
602	XXX_unrecognized     []byte            `json:"-"`
603	XXX_sizecache        int32             `json:"-"`
604}
605
606func (m *VulnerabilityLocation) Reset()         { *m = VulnerabilityLocation{} }
607func (m *VulnerabilityLocation) String() string { return proto.CompactTextString(m) }
608func (*VulnerabilityLocation) ProtoMessage()    {}
609func (*VulnerabilityLocation) Descriptor() ([]byte, []int) {
610	return fileDescriptor_2a1e5608ee0186b1, []int{3}
611}
612
613func (m *VulnerabilityLocation) XXX_Unmarshal(b []byte) error {
614	return xxx_messageInfo_VulnerabilityLocation.Unmarshal(m, b)
615}
616func (m *VulnerabilityLocation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
617	return xxx_messageInfo_VulnerabilityLocation.Marshal(b, m, deterministic)
618}
619func (m *VulnerabilityLocation) XXX_Merge(src proto.Message) {
620	xxx_messageInfo_VulnerabilityLocation.Merge(m, src)
621}
622func (m *VulnerabilityLocation) XXX_Size() int {
623	return xxx_messageInfo_VulnerabilityLocation.Size(m)
624}
625func (m *VulnerabilityLocation) XXX_DiscardUnknown() {
626	xxx_messageInfo_VulnerabilityLocation.DiscardUnknown(m)
627}
628
629var xxx_messageInfo_VulnerabilityLocation proto.InternalMessageInfo
630
631func (m *VulnerabilityLocation) GetCpeUri() string {
632	if m != nil {
633		return m.CpeUri
634	}
635	return ""
636}
637
638func (m *VulnerabilityLocation) GetPackage() string {
639	if m != nil {
640		return m.Package
641	}
642	return ""
643}
644
645func (m *VulnerabilityLocation) GetVersion() *_package.Version {
646	if m != nil {
647		return m.Version
648	}
649	return nil
650}
651
652func init() {
653	proto.RegisterEnum("grafeas.v1beta1.vulnerability.Severity", Severity_name, Severity_value)
654	proto.RegisterType((*Vulnerability)(nil), "grafeas.v1beta1.vulnerability.Vulnerability")
655	proto.RegisterType((*Vulnerability_Detail)(nil), "grafeas.v1beta1.vulnerability.Vulnerability.Detail")
656	proto.RegisterType((*Vulnerability_WindowsDetail)(nil), "grafeas.v1beta1.vulnerability.Vulnerability.WindowsDetail")
657	proto.RegisterType((*Vulnerability_WindowsDetail_KnowledgeBase)(nil), "grafeas.v1beta1.vulnerability.Vulnerability.WindowsDetail.KnowledgeBase")
658	proto.RegisterType((*Details)(nil), "grafeas.v1beta1.vulnerability.Details")
659	proto.RegisterType((*PackageIssue)(nil), "grafeas.v1beta1.vulnerability.PackageIssue")
660	proto.RegisterType((*VulnerabilityLocation)(nil), "grafeas.v1beta1.vulnerability.VulnerabilityLocation")
661}
662
663func init() {
664	proto.RegisterFile("google/devtools/containeranalysis/v1beta1/vulnerability/vulnerability.proto", fileDescriptor_2a1e5608ee0186b1)
665}
666
667var fileDescriptor_2a1e5608ee0186b1 = []byte{
668	// 943 bytes of a gzipped FileDescriptorProto
669	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x56, 0xdd, 0x6e, 0xe3, 0x44,
670	0x14, 0xc6, 0x71, 0x1a, 0x27, 0x27, 0x49, 0xd7, 0x1d, 0x2d, 0xc2, 0x0a, 0x5a, 0x6d, 0x28, 0x42,
671	0x04, 0x56, 0x72, 0xb4, 0x0d, 0x5c, 0xb0, 0x88, 0x45, 0xdd, 0x34, 0x6c, 0xad, 0x36, 0xdd, 0xca,
672	0x69, 0xb2, 0x02, 0x24, 0xac, 0x89, 0x33, 0x31, 0xa3, 0x75, 0x3c, 0x96, 0xc7, 0x71, 0x9b, 0x17,
673	0xe0, 0x9a, 0x1b, 0x5e, 0x80, 0x57, 0xe1, 0x8e, 0xd7, 0xe1, 0x1e, 0x21, 0x8f, 0xc7, 0x51, 0xd2,
674	0xb0, 0xdb, 0xa6, 0xdb, 0x9b, 0x78, 0xe6, 0xcc, 0xf9, 0xbe, 0xf9, 0xe6, 0xfc, 0x29, 0x70, 0xe2,
675	0x31, 0xe6, 0xf9, 0xa4, 0x3d, 0x21, 0x49, 0xcc, 0x98, 0xcf, 0xdb, 0x2e, 0x0b, 0x62, 0x4c, 0x03,
676	0x12, 0xe1, 0x00, 0xfb, 0x0b, 0x4e, 0x79, 0x3b, 0x79, 0x3a, 0x26, 0x31, 0x7e, 0xda, 0x4e, 0xe6,
677	0x7e, 0x6a, 0x1e, 0x53, 0x9f, 0xc6, 0x8b, 0xf5, 0x9d, 0x19, 0x46, 0x2c, 0x66, 0xe8, 0x91, 0x17,
678	0xe1, 0x29, 0xc1, 0xdc, 0x94, 0x10, 0x73, 0xcd, 0xa9, 0xf1, 0x58, 0xde, 0x25, 0x9c, 0xc7, 0xf3,
679	0x69, 0x3b, 0xa6, 0x33, 0xc2, 0x63, 0x3c, 0x0b, 0x33, 0x7c, 0xe3, 0xbb, 0xdb, 0x8b, 0x71, 0xd9,
680	0x6c, 0xc6, 0x02, 0xf9, 0x91, 0xf0, 0x6f, 0xb6, 0x80, 0x27, 0x9c, 0x8b, 0x1f, 0x09, 0xfd, 0xfe,
681	0xf6, 0xd0, 0x10, 0xbb, 0x6f, 0xb0, 0x47, 0xf2, 0x6f, 0x46, 0xb0, 0xff, 0x77, 0x05, 0xea, 0xa3,
682	0xd5, 0xd7, 0xa2, 0x47, 0x00, 0xe9, 0x05, 0x0e, 0x77, 0x59, 0x44, 0x0c, 0xa5, 0xa9, 0xb4, 0x0a,
683	0x76, 0x25, 0xb5, 0x0c, 0x52, 0x03, 0xea, 0x42, 0x99, 0x93, 0x84, 0x44, 0x34, 0x5e, 0x18, 0x85,
684	0xa6, 0xd2, 0xda, 0x3d, 0xf8, 0xdc, 0x7c, 0x67, 0xf8, 0xcc, 0x81, 0x74, 0xb7, 0x97, 0x40, 0xd4,
685	0x07, 0x6d, 0x42, 0x62, 0x4c, 0x7d, 0x6e, 0xa8, 0x4d, 0xb5, 0x55, 0x3d, 0xe8, 0xdc, 0xc0, 0xb1,
686	0x26, 0xd1, 0x3c, 0x12, 0x58, 0x3b, 0xe7, 0x40, 0xcf, 0x41, 0x13, 0x92, 0x93, 0x8e, 0x51, 0x6c,
687	0x2a, 0xad, 0xea, 0xc1, 0x67, 0x37, 0xd0, 0x75, 0x47, 0x83, 0x41, 0xd2, 0xb1, 0x4b, 0x29, 0x6a,
688	0xd4, 0x41, 0x2e, 0x3c, 0xb8, 0xa4, 0xc1, 0x84, 0x5d, 0x72, 0x27, 0x97, 0xb5, 0x23, 0x64, 0x3d,
689	0xdb, 0x4a, 0xd6, 0xeb, 0x8c, 0x43, 0xaa, 0xdb, 0xbd, 0x5c, 0xdd, 0x72, 0x74, 0x0c, 0x88, 0xb3,
690	0x79, 0xe4, 0x12, 0x67, 0x1e, 0x4e, 0x70, 0x4c, 0x9c, 0xb4, 0x8a, 0x8c, 0x92, 0xd0, 0xdb, 0x30,
691	0xb3, 0x3c, 0x9a, 0x79, 0x89, 0x99, 0x17, 0x79, 0x89, 0xd9, 0x7a, 0x86, 0x1a, 0x0a, 0x50, 0x6a,
692	0x6e, 0xfc, 0x51, 0x84, 0x52, 0xc6, 0x8a, 0x3e, 0x02, 0xcd, 0x0d, 0x89, 0x33, 0x8f, 0xa8, 0xc8,
693	0x54, 0xc5, 0x2e, 0xb9, 0x21, 0x19, 0x46, 0x14, 0x19, 0xa0, 0xc9, 0x44, 0x8b, 0x2c, 0x55, 0xec,
694	0x7c, 0x8b, 0x6c, 0x78, 0x38, 0xa3, 0x81, 0x83, 0xa7, 0x53, 0xe2, 0xc6, 0x64, 0xe2, 0x24, 0x24,
695	0xe2, 0x94, 0x05, 0x86, 0x2a, 0x94, 0x34, 0x37, 0x5e, 0x9c, 0xd7, 0xcb, 0x28, 0xf3, 0xb3, 0xd1,
696	0x8c, 0x06, 0x87, 0x12, 0x2c, 0x6d, 0x82, 0x13, 0x5f, 0x6d, 0x72, 0x16, 0x6f, 0xcd, 0x89, 0xaf,
697	0xae, 0x73, 0x7e, 0x0a, 0xf5, 0xbc, 0x5e, 0x9c, 0x00, 0xcf, 0x88, 0xb1, 0x23, 0xde, 0x51, 0xcb,
698	0x8d, 0x67, 0x78, 0x46, 0x50, 0x13, 0xaa, 0x13, 0xc2, 0xdd, 0x88, 0x86, 0x71, 0x7a, 0x5f, 0x49,
699	0xb8, 0xac, 0x9a, 0xd0, 0xcf, 0xb0, 0x3b, 0xa5, 0x57, 0x64, 0xe2, 0xf8, 0xcc, 0xc5, 0xc2, 0x49,
700	0x13, 0xa2, 0xbe, 0xda, 0x26, 0xb5, 0xa7, 0x12, 0x6b, 0xd7, 0x05, 0x57, 0xbe, 0x45, 0x9f, 0x40,
701	0x4d, 0x3e, 0xc5, 0x89, 0x17, 0x21, 0x31, 0xca, 0xd9, 0xfd, 0xd2, 0x76, 0xb1, 0x08, 0x09, 0x7a,
702	0x0c, 0x55, 0xca, 0x1d, 0x36, 0xe6, 0xcc, 0x27, 0x31, 0x31, 0x2a, 0x4d, 0xa5, 0x55, 0xb6, 0x81,
703	0xf2, 0x57, 0xd2, 0xf2, 0x96, 0xba, 0x80, 0x3b, 0xd4, 0xc5, 0xbf, 0x0a, 0xd4, 0xd7, 0x6a, 0xf0,
704	0xed, 0xe5, 0x81, 0xa0, 0x28, 0x62, 0x9a, 0xd5, 0x86, 0x58, 0x5f, 0x8f, 0xa5, 0xba, 0x19, 0x4b,
705	0x0f, 0x60, 0x4a, 0xaf, 0x68, 0xe0, 0x39, 0x6f, 0xc6, 0xdc, 0x28, 0x8a, 0x16, 0x39, 0xbe, 0x7b,
706	0x8b, 0x98, 0x27, 0x01, 0xbb, 0xf4, 0xc9, 0xc4, 0x23, 0x2f, 0x30, 0x27, 0x76, 0x25, 0xe3, 0x3e,
707	0x19, 0xf3, 0xc6, 0xd7, 0x50, 0x5f, 0x3b, 0x5b, 0xea, 0x55, 0x56, 0xf4, 0xea, 0xa0, 0xce, 0x23,
708	0x5f, 0x3e, 0x21, 0x5d, 0xee, 0xff, 0xa5, 0x82, 0x96, 0xb7, 0x1b, 0x82, 0xa2, 0x48, 0x89, 0x44,
709	0xa4, 0xeb, 0xfb, 0x99, 0x5d, 0xeb, 0xf3, 0x51, 0xbd, 0x3e, 0x1f, 0xcf, 0xa1, 0x9e, 0x97, 0x04,
710	0xe5, 0x7c, 0x4e, 0x64, 0x98, 0x9e, 0xdc, 0x70, 0xd1, 0x79, 0x86, 0xb1, 0x52, 0x88, 0x9d, 0x17,
711	0x95, 0xd8, 0xa1, 0x27, 0xb0, 0xc7, 0x7f, 0x65, 0x51, 0xec, 0xac, 0x66, 0x27, 0x6b, 0x06, 0x5d,
712	0x1c, 0x1c, 0xad, 0xa4, 0xe8, 0x0b, 0xd0, 0x7d, 0x16, 0x78, 0xce, 0x66, 0x57, 0x3c, 0x48, 0xed,
713	0xab, 0xae, 0xcf, 0xa1, 0x16, 0x11, 0x1f, 0xa7, 0xfd, 0x3a, 0x8f, 0x7c, 0x6e, 0x68, 0x42, 0xe8,
714	0xc7, 0x1b, 0x42, 0xed, 0xcc, 0x69, 0x18, 0xf9, 0x76, 0x35, 0x5a, 0xae, 0x39, 0x1a, 0x01, 0x22,
715	0xa2, 0x67, 0x69, 0x42, 0x9c, 0x65, 0x5c, 0xcb, 0xdb, 0xc5, 0x75, 0x6f, 0x49, 0x91, 0x9b, 0xf6,
716	0xff, 0x51, 0xa0, 0xb6, 0x1a, 0x0e, 0x84, 0x61, 0x6f, 0x39, 0x59, 0x96, 0x5d, 0xac, 0xbc, 0x47,
717	0x17, 0xeb, 0x39, 0xdd, 0xb2, 0x91, 0x37, 0xa7, 0x44, 0xe1, 0xfe, 0xa6, 0xc4, 0xc6, 0x24, 0x53,
718	0x37, 0x27, 0xd9, 0xfe, 0x6f, 0x0a, 0x7c, 0xf8, 0xbf, 0x6c, 0x77, 0x99, 0xf1, 0xcf, 0x40, 0xdb,
719	0x76, 0xac, 0xe7, 0x80, 0x2f, 0x7f, 0x81, 0x72, 0x9e, 0x0a, 0x64, 0xc0, 0xc3, 0x41, 0x6f, 0xd4,
720	0xb3, 0xad, 0x8b, 0x1f, 0x9d, 0xe1, 0xd9, 0xe0, 0xbc, 0xd7, 0xb5, 0x7e, 0xb0, 0x7a, 0x47, 0xfa,
721	0x07, 0xa8, 0x0a, 0x5a, 0xdf, 0x3a, 0xb3, 0xfa, 0x87, 0xa7, 0xba, 0x82, 0x34, 0x50, 0x4f, 0x5f,
722	0xbd, 0xd6, 0x0b, 0x08, 0xa0, 0xd4, 0xef, 0x1d, 0x59, 0xc3, 0xbe, 0xae, 0xa2, 0x32, 0x14, 0x8f,
723	0xad, 0x97, 0xc7, 0x7a, 0x11, 0xd5, 0xa0, 0xdc, 0xb5, 0xad, 0x0b, 0xab, 0x7b, 0x78, 0xaa, 0xef,
724	0xbc, 0xf8, 0x5d, 0x81, 0x26, 0x65, 0xef, 0x8e, 0xeb, 0xb9, 0xf2, 0xd3, 0x44, 0x4e, 0x3e, 0x8f,
725	0xf9, 0x38, 0xf0, 0x4c, 0x16, 0x79, 0x6d, 0x8f, 0x04, 0x62, 0x0e, 0xb6, 0xb3, 0x23, 0x1c, 0x52,
726	0xbe, 0xf5, 0xff, 0xbf, 0x6f, 0xd7, 0x76, 0x7f, 0x16, 0xd4, 0x97, 0xf6, 0xe1, 0xb8, 0x24, 0x68,
727	0x3b, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0xa4, 0x56, 0x03, 0x08, 0x55, 0x0a, 0x00, 0x00,
728}
729