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