1#![allow(unknown_lints)]
6#![allow(clippy::all)]
7
8#![allow(unused_attributes)]
9#![cfg_attr(rustfmt, rustfmt::skip)]
10
11#![allow(box_pointers)]
12#![allow(dead_code)]
13#![allow(missing_docs)]
14#![allow(non_camel_case_types)]
15#![allow(non_snake_case)]
16#![allow(non_upper_case_globals)]
17#![allow(trivial_casts)]
18#![allow(unused_imports)]
19#![allow(unused_results)]
20#[derive(PartialEq,Clone,Default)]
27pub struct VulnerabilityReport {
28 pub name: ::std::string::String,
30 pub vulnerabilities: ::protobuf::RepeatedField<VulnerabilityReport_Vulnerability>,
31 pub update_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
32 pub unknown_fields: ::protobuf::UnknownFields,
34 pub cached_size: ::protobuf::CachedSize,
35}
36
37impl<'a> ::std::default::Default for &'a VulnerabilityReport {
38 fn default() -> &'a VulnerabilityReport {
39 <VulnerabilityReport as ::protobuf::Message>::default_instance()
40 }
41}
42
43impl VulnerabilityReport {
44 pub fn new() -> VulnerabilityReport {
45 ::std::default::Default::default()
46 }
47
48 pub fn get_name(&self) -> &str {
52 &self.name
53 }
54 pub fn clear_name(&mut self) {
55 self.name.clear();
56 }
57
58 pub fn set_name(&mut self, v: ::std::string::String) {
60 self.name = v;
61 }
62
63 pub fn mut_name(&mut self) -> &mut ::std::string::String {
66 &mut self.name
67 }
68
69 pub fn take_name(&mut self) -> ::std::string::String {
71 ::std::mem::replace(&mut self.name, ::std::string::String::new())
72 }
73
74 pub fn get_vulnerabilities(&self) -> &[VulnerabilityReport_Vulnerability] {
78 &self.vulnerabilities
79 }
80 pub fn clear_vulnerabilities(&mut self) {
81 self.vulnerabilities.clear();
82 }
83
84 pub fn set_vulnerabilities(&mut self, v: ::protobuf::RepeatedField<VulnerabilityReport_Vulnerability>) {
86 self.vulnerabilities = v;
87 }
88
89 pub fn mut_vulnerabilities(&mut self) -> &mut ::protobuf::RepeatedField<VulnerabilityReport_Vulnerability> {
91 &mut self.vulnerabilities
92 }
93
94 pub fn take_vulnerabilities(&mut self) -> ::protobuf::RepeatedField<VulnerabilityReport_Vulnerability> {
96 ::std::mem::replace(&mut self.vulnerabilities, ::protobuf::RepeatedField::new())
97 }
98
99 pub fn get_update_time(&self) -> &::protobuf::well_known_types::Timestamp {
103 self.update_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
104 }
105 pub fn clear_update_time(&mut self) {
106 self.update_time.clear();
107 }
108
109 pub fn has_update_time(&self) -> bool {
110 self.update_time.is_some()
111 }
112
113 pub fn set_update_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
115 self.update_time = ::protobuf::SingularPtrField::some(v);
116 }
117
118 pub fn mut_update_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
121 if self.update_time.is_none() {
122 self.update_time.set_default();
123 }
124 self.update_time.as_mut().unwrap()
125 }
126
127 pub fn take_update_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
129 self.update_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
130 }
131}
132
133impl ::protobuf::Message for VulnerabilityReport {
134 fn is_initialized(&self) -> bool {
135 for v in &self.vulnerabilities {
136 if !v.is_initialized() {
137 return false;
138 }
139 };
140 for v in &self.update_time {
141 if !v.is_initialized() {
142 return false;
143 }
144 };
145 true
146 }
147
148 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
149 while !is.eof()? {
150 let (field_number, wire_type) = is.read_tag_unpack()?;
151 match field_number {
152 1 => {
153 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
154 },
155 2 => {
156 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.vulnerabilities)?;
157 },
158 3 => {
159 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.update_time)?;
160 },
161 _ => {
162 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
163 },
164 };
165 }
166 ::std::result::Result::Ok(())
167 }
168
169 #[allow(unused_variables)]
171 fn compute_size(&self) -> u32 {
172 let mut my_size = 0;
173 if !self.name.is_empty() {
174 my_size += ::protobuf::rt::string_size(1, &self.name);
175 }
176 for value in &self.vulnerabilities {
177 let len = value.compute_size();
178 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
179 };
180 if let Some(ref v) = self.update_time.as_ref() {
181 let len = v.compute_size();
182 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
183 }
184 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
185 self.cached_size.set(my_size);
186 my_size
187 }
188
189 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
190 if !self.name.is_empty() {
191 os.write_string(1, &self.name)?;
192 }
193 for v in &self.vulnerabilities {
194 os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
195 os.write_raw_varint32(v.get_cached_size())?;
196 v.write_to_with_cached_sizes(os)?;
197 };
198 if let Some(ref v) = self.update_time.as_ref() {
199 os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
200 os.write_raw_varint32(v.get_cached_size())?;
201 v.write_to_with_cached_sizes(os)?;
202 }
203 os.write_unknown_fields(self.get_unknown_fields())?;
204 ::std::result::Result::Ok(())
205 }
206
207 fn get_cached_size(&self) -> u32 {
208 self.cached_size.get()
209 }
210
211 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
212 &self.unknown_fields
213 }
214
215 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
216 &mut self.unknown_fields
217 }
218
219 fn as_any(&self) -> &dyn (::std::any::Any) {
220 self as &dyn (::std::any::Any)
221 }
222 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
223 self as &mut dyn (::std::any::Any)
224 }
225 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
226 self
227 }
228
229 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
230 Self::descriptor_static()
231 }
232
233 fn new() -> VulnerabilityReport {
234 VulnerabilityReport::new()
235 }
236
237 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
238 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
239 descriptor.get(|| {
240 let mut fields = ::std::vec::Vec::new();
241 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
242 "name",
243 |m: &VulnerabilityReport| { &m.name },
244 |m: &mut VulnerabilityReport| { &mut m.name },
245 ));
246 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<VulnerabilityReport_Vulnerability>>(
247 "vulnerabilities",
248 |m: &VulnerabilityReport| { &m.vulnerabilities },
249 |m: &mut VulnerabilityReport| { &mut m.vulnerabilities },
250 ));
251 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
252 "update_time",
253 |m: &VulnerabilityReport| { &m.update_time },
254 |m: &mut VulnerabilityReport| { &mut m.update_time },
255 ));
256 ::protobuf::reflect::MessageDescriptor::new_pb_name::<VulnerabilityReport>(
257 "VulnerabilityReport",
258 fields,
259 file_descriptor_proto()
260 )
261 })
262 }
263
264 fn default_instance() -> &'static VulnerabilityReport {
265 static instance: ::protobuf::rt::LazyV2<VulnerabilityReport> = ::protobuf::rt::LazyV2::INIT;
266 instance.get(VulnerabilityReport::new)
267 }
268}
269
270impl ::protobuf::Clear for VulnerabilityReport {
271 fn clear(&mut self) {
272 self.name.clear();
273 self.vulnerabilities.clear();
274 self.update_time.clear();
275 self.unknown_fields.clear();
276 }
277}
278
279impl ::std::fmt::Debug for VulnerabilityReport {
280 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
281 ::protobuf::text_format::fmt(self, f)
282 }
283}
284
285impl ::protobuf::reflect::ProtobufValue for VulnerabilityReport {
286 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
287 ::protobuf::reflect::ReflectValueRef::Message(self)
288 }
289}
290
291#[derive(PartialEq,Clone,Default)]
292pub struct VulnerabilityReport_Vulnerability {
293 pub details: ::protobuf::SingularPtrField<VulnerabilityReport_Vulnerability_Details>,
295 pub installed_inventory_item_ids: ::protobuf::RepeatedField<::std::string::String>,
296 pub available_inventory_item_ids: ::protobuf::RepeatedField<::std::string::String>,
297 pub create_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
298 pub update_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
299 pub items: ::protobuf::RepeatedField<VulnerabilityReport_Vulnerability_Item>,
300 pub unknown_fields: ::protobuf::UnknownFields,
302 pub cached_size: ::protobuf::CachedSize,
303}
304
305impl<'a> ::std::default::Default for &'a VulnerabilityReport_Vulnerability {
306 fn default() -> &'a VulnerabilityReport_Vulnerability {
307 <VulnerabilityReport_Vulnerability as ::protobuf::Message>::default_instance()
308 }
309}
310
311impl VulnerabilityReport_Vulnerability {
312 pub fn new() -> VulnerabilityReport_Vulnerability {
313 ::std::default::Default::default()
314 }
315
316 pub fn get_details(&self) -> &VulnerabilityReport_Vulnerability_Details {
320 self.details.as_ref().unwrap_or_else(|| <VulnerabilityReport_Vulnerability_Details as ::protobuf::Message>::default_instance())
321 }
322 pub fn clear_details(&mut self) {
323 self.details.clear();
324 }
325
326 pub fn has_details(&self) -> bool {
327 self.details.is_some()
328 }
329
330 pub fn set_details(&mut self, v: VulnerabilityReport_Vulnerability_Details) {
332 self.details = ::protobuf::SingularPtrField::some(v);
333 }
334
335 pub fn mut_details(&mut self) -> &mut VulnerabilityReport_Vulnerability_Details {
338 if self.details.is_none() {
339 self.details.set_default();
340 }
341 self.details.as_mut().unwrap()
342 }
343
344 pub fn take_details(&mut self) -> VulnerabilityReport_Vulnerability_Details {
346 self.details.take().unwrap_or_else(|| VulnerabilityReport_Vulnerability_Details::new())
347 }
348
349 pub fn get_installed_inventory_item_ids(&self) -> &[::std::string::String] {
353 &self.installed_inventory_item_ids
354 }
355 pub fn clear_installed_inventory_item_ids(&mut self) {
356 self.installed_inventory_item_ids.clear();
357 }
358
359 pub fn set_installed_inventory_item_ids(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
361 self.installed_inventory_item_ids = v;
362 }
363
364 pub fn mut_installed_inventory_item_ids(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
366 &mut self.installed_inventory_item_ids
367 }
368
369 pub fn take_installed_inventory_item_ids(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
371 ::std::mem::replace(&mut self.installed_inventory_item_ids, ::protobuf::RepeatedField::new())
372 }
373
374 pub fn get_available_inventory_item_ids(&self) -> &[::std::string::String] {
378 &self.available_inventory_item_ids
379 }
380 pub fn clear_available_inventory_item_ids(&mut self) {
381 self.available_inventory_item_ids.clear();
382 }
383
384 pub fn set_available_inventory_item_ids(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
386 self.available_inventory_item_ids = v;
387 }
388
389 pub fn mut_available_inventory_item_ids(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
391 &mut self.available_inventory_item_ids
392 }
393
394 pub fn take_available_inventory_item_ids(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
396 ::std::mem::replace(&mut self.available_inventory_item_ids, ::protobuf::RepeatedField::new())
397 }
398
399 pub fn get_create_time(&self) -> &::protobuf::well_known_types::Timestamp {
403 self.create_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
404 }
405 pub fn clear_create_time(&mut self) {
406 self.create_time.clear();
407 }
408
409 pub fn has_create_time(&self) -> bool {
410 self.create_time.is_some()
411 }
412
413 pub fn set_create_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
415 self.create_time = ::protobuf::SingularPtrField::some(v);
416 }
417
418 pub fn mut_create_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
421 if self.create_time.is_none() {
422 self.create_time.set_default();
423 }
424 self.create_time.as_mut().unwrap()
425 }
426
427 pub fn take_create_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
429 self.create_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
430 }
431
432 pub fn get_update_time(&self) -> &::protobuf::well_known_types::Timestamp {
436 self.update_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
437 }
438 pub fn clear_update_time(&mut self) {
439 self.update_time.clear();
440 }
441
442 pub fn has_update_time(&self) -> bool {
443 self.update_time.is_some()
444 }
445
446 pub fn set_update_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
448 self.update_time = ::protobuf::SingularPtrField::some(v);
449 }
450
451 pub fn mut_update_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
454 if self.update_time.is_none() {
455 self.update_time.set_default();
456 }
457 self.update_time.as_mut().unwrap()
458 }
459
460 pub fn take_update_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
462 self.update_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
463 }
464
465 pub fn get_items(&self) -> &[VulnerabilityReport_Vulnerability_Item] {
469 &self.items
470 }
471 pub fn clear_items(&mut self) {
472 self.items.clear();
473 }
474
475 pub fn set_items(&mut self, v: ::protobuf::RepeatedField<VulnerabilityReport_Vulnerability_Item>) {
477 self.items = v;
478 }
479
480 pub fn mut_items(&mut self) -> &mut ::protobuf::RepeatedField<VulnerabilityReport_Vulnerability_Item> {
482 &mut self.items
483 }
484
485 pub fn take_items(&mut self) -> ::protobuf::RepeatedField<VulnerabilityReport_Vulnerability_Item> {
487 ::std::mem::replace(&mut self.items, ::protobuf::RepeatedField::new())
488 }
489}
490
491impl ::protobuf::Message for VulnerabilityReport_Vulnerability {
492 fn is_initialized(&self) -> bool {
493 for v in &self.details {
494 if !v.is_initialized() {
495 return false;
496 }
497 };
498 for v in &self.create_time {
499 if !v.is_initialized() {
500 return false;
501 }
502 };
503 for v in &self.update_time {
504 if !v.is_initialized() {
505 return false;
506 }
507 };
508 for v in &self.items {
509 if !v.is_initialized() {
510 return false;
511 }
512 };
513 true
514 }
515
516 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
517 while !is.eof()? {
518 let (field_number, wire_type) = is.read_tag_unpack()?;
519 match field_number {
520 1 => {
521 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.details)?;
522 },
523 2 => {
524 ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.installed_inventory_item_ids)?;
525 },
526 3 => {
527 ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.available_inventory_item_ids)?;
528 },
529 4 => {
530 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.create_time)?;
531 },
532 5 => {
533 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.update_time)?;
534 },
535 6 => {
536 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.items)?;
537 },
538 _ => {
539 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
540 },
541 };
542 }
543 ::std::result::Result::Ok(())
544 }
545
546 #[allow(unused_variables)]
548 fn compute_size(&self) -> u32 {
549 let mut my_size = 0;
550 if let Some(ref v) = self.details.as_ref() {
551 let len = v.compute_size();
552 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
553 }
554 for value in &self.installed_inventory_item_ids {
555 my_size += ::protobuf::rt::string_size(2, &value);
556 };
557 for value in &self.available_inventory_item_ids {
558 my_size += ::protobuf::rt::string_size(3, &value);
559 };
560 if let Some(ref v) = self.create_time.as_ref() {
561 let len = v.compute_size();
562 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
563 }
564 if let Some(ref v) = self.update_time.as_ref() {
565 let len = v.compute_size();
566 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
567 }
568 for value in &self.items {
569 let len = value.compute_size();
570 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
571 };
572 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
573 self.cached_size.set(my_size);
574 my_size
575 }
576
577 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
578 if let Some(ref v) = self.details.as_ref() {
579 os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
580 os.write_raw_varint32(v.get_cached_size())?;
581 v.write_to_with_cached_sizes(os)?;
582 }
583 for v in &self.installed_inventory_item_ids {
584 os.write_string(2, &v)?;
585 };
586 for v in &self.available_inventory_item_ids {
587 os.write_string(3, &v)?;
588 };
589 if let Some(ref v) = self.create_time.as_ref() {
590 os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
591 os.write_raw_varint32(v.get_cached_size())?;
592 v.write_to_with_cached_sizes(os)?;
593 }
594 if let Some(ref v) = self.update_time.as_ref() {
595 os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
596 os.write_raw_varint32(v.get_cached_size())?;
597 v.write_to_with_cached_sizes(os)?;
598 }
599 for v in &self.items {
600 os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
601 os.write_raw_varint32(v.get_cached_size())?;
602 v.write_to_with_cached_sizes(os)?;
603 };
604 os.write_unknown_fields(self.get_unknown_fields())?;
605 ::std::result::Result::Ok(())
606 }
607
608 fn get_cached_size(&self) -> u32 {
609 self.cached_size.get()
610 }
611
612 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
613 &self.unknown_fields
614 }
615
616 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
617 &mut self.unknown_fields
618 }
619
620 fn as_any(&self) -> &dyn (::std::any::Any) {
621 self as &dyn (::std::any::Any)
622 }
623 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
624 self as &mut dyn (::std::any::Any)
625 }
626 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
627 self
628 }
629
630 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
631 Self::descriptor_static()
632 }
633
634 fn new() -> VulnerabilityReport_Vulnerability {
635 VulnerabilityReport_Vulnerability::new()
636 }
637
638 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
639 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
640 descriptor.get(|| {
641 let mut fields = ::std::vec::Vec::new();
642 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<VulnerabilityReport_Vulnerability_Details>>(
643 "details",
644 |m: &VulnerabilityReport_Vulnerability| { &m.details },
645 |m: &mut VulnerabilityReport_Vulnerability| { &mut m.details },
646 ));
647 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
648 "installed_inventory_item_ids",
649 |m: &VulnerabilityReport_Vulnerability| { &m.installed_inventory_item_ids },
650 |m: &mut VulnerabilityReport_Vulnerability| { &mut m.installed_inventory_item_ids },
651 ));
652 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
653 "available_inventory_item_ids",
654 |m: &VulnerabilityReport_Vulnerability| { &m.available_inventory_item_ids },
655 |m: &mut VulnerabilityReport_Vulnerability| { &mut m.available_inventory_item_ids },
656 ));
657 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
658 "create_time",
659 |m: &VulnerabilityReport_Vulnerability| { &m.create_time },
660 |m: &mut VulnerabilityReport_Vulnerability| { &mut m.create_time },
661 ));
662 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
663 "update_time",
664 |m: &VulnerabilityReport_Vulnerability| { &m.update_time },
665 |m: &mut VulnerabilityReport_Vulnerability| { &mut m.update_time },
666 ));
667 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<VulnerabilityReport_Vulnerability_Item>>(
668 "items",
669 |m: &VulnerabilityReport_Vulnerability| { &m.items },
670 |m: &mut VulnerabilityReport_Vulnerability| { &mut m.items },
671 ));
672 ::protobuf::reflect::MessageDescriptor::new_pb_name::<VulnerabilityReport_Vulnerability>(
673 "VulnerabilityReport.Vulnerability",
674 fields,
675 file_descriptor_proto()
676 )
677 })
678 }
679
680 fn default_instance() -> &'static VulnerabilityReport_Vulnerability {
681 static instance: ::protobuf::rt::LazyV2<VulnerabilityReport_Vulnerability> = ::protobuf::rt::LazyV2::INIT;
682 instance.get(VulnerabilityReport_Vulnerability::new)
683 }
684}
685
686impl ::protobuf::Clear for VulnerabilityReport_Vulnerability {
687 fn clear(&mut self) {
688 self.details.clear();
689 self.installed_inventory_item_ids.clear();
690 self.available_inventory_item_ids.clear();
691 self.create_time.clear();
692 self.update_time.clear();
693 self.items.clear();
694 self.unknown_fields.clear();
695 }
696}
697
698impl ::std::fmt::Debug for VulnerabilityReport_Vulnerability {
699 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
700 ::protobuf::text_format::fmt(self, f)
701 }
702}
703
704impl ::protobuf::reflect::ProtobufValue for VulnerabilityReport_Vulnerability {
705 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
706 ::protobuf::reflect::ReflectValueRef::Message(self)
707 }
708}
709
710#[derive(PartialEq,Clone,Default)]
711pub struct VulnerabilityReport_Vulnerability_Details {
712 pub cve: ::std::string::String,
714 pub cvss_v2_score: f32,
715 pub cvss_v3: ::protobuf::SingularPtrField<CVSSv3>,
716 pub severity: ::std::string::String,
717 pub description: ::std::string::String,
718 pub references: ::protobuf::RepeatedField<VulnerabilityReport_Vulnerability_Details_Reference>,
719 pub unknown_fields: ::protobuf::UnknownFields,
721 pub cached_size: ::protobuf::CachedSize,
722}
723
724impl<'a> ::std::default::Default for &'a VulnerabilityReport_Vulnerability_Details {
725 fn default() -> &'a VulnerabilityReport_Vulnerability_Details {
726 <VulnerabilityReport_Vulnerability_Details as ::protobuf::Message>::default_instance()
727 }
728}
729
730impl VulnerabilityReport_Vulnerability_Details {
731 pub fn new() -> VulnerabilityReport_Vulnerability_Details {
732 ::std::default::Default::default()
733 }
734
735 pub fn get_cve(&self) -> &str {
739 &self.cve
740 }
741 pub fn clear_cve(&mut self) {
742 self.cve.clear();
743 }
744
745 pub fn set_cve(&mut self, v: ::std::string::String) {
747 self.cve = v;
748 }
749
750 pub fn mut_cve(&mut self) -> &mut ::std::string::String {
753 &mut self.cve
754 }
755
756 pub fn take_cve(&mut self) -> ::std::string::String {
758 ::std::mem::replace(&mut self.cve, ::std::string::String::new())
759 }
760
761 pub fn get_cvss_v2_score(&self) -> f32 {
765 self.cvss_v2_score
766 }
767 pub fn clear_cvss_v2_score(&mut self) {
768 self.cvss_v2_score = 0.;
769 }
770
771 pub fn set_cvss_v2_score(&mut self, v: f32) {
773 self.cvss_v2_score = v;
774 }
775
776 pub fn get_cvss_v3(&self) -> &CVSSv3 {
780 self.cvss_v3.as_ref().unwrap_or_else(|| <CVSSv3 as ::protobuf::Message>::default_instance())
781 }
782 pub fn clear_cvss_v3(&mut self) {
783 self.cvss_v3.clear();
784 }
785
786 pub fn has_cvss_v3(&self) -> bool {
787 self.cvss_v3.is_some()
788 }
789
790 pub fn set_cvss_v3(&mut self, v: CVSSv3) {
792 self.cvss_v3 = ::protobuf::SingularPtrField::some(v);
793 }
794
795 pub fn mut_cvss_v3(&mut self) -> &mut CVSSv3 {
798 if self.cvss_v3.is_none() {
799 self.cvss_v3.set_default();
800 }
801 self.cvss_v3.as_mut().unwrap()
802 }
803
804 pub fn take_cvss_v3(&mut self) -> CVSSv3 {
806 self.cvss_v3.take().unwrap_or_else(|| CVSSv3::new())
807 }
808
809 pub fn get_severity(&self) -> &str {
813 &self.severity
814 }
815 pub fn clear_severity(&mut self) {
816 self.severity.clear();
817 }
818
819 pub fn set_severity(&mut self, v: ::std::string::String) {
821 self.severity = v;
822 }
823
824 pub fn mut_severity(&mut self) -> &mut ::std::string::String {
827 &mut self.severity
828 }
829
830 pub fn take_severity(&mut self) -> ::std::string::String {
832 ::std::mem::replace(&mut self.severity, ::std::string::String::new())
833 }
834
835 pub fn get_description(&self) -> &str {
839 &self.description
840 }
841 pub fn clear_description(&mut self) {
842 self.description.clear();
843 }
844
845 pub fn set_description(&mut self, v: ::std::string::String) {
847 self.description = v;
848 }
849
850 pub fn mut_description(&mut self) -> &mut ::std::string::String {
853 &mut self.description
854 }
855
856 pub fn take_description(&mut self) -> ::std::string::String {
858 ::std::mem::replace(&mut self.description, ::std::string::String::new())
859 }
860
861 pub fn get_references(&self) -> &[VulnerabilityReport_Vulnerability_Details_Reference] {
865 &self.references
866 }
867 pub fn clear_references(&mut self) {
868 self.references.clear();
869 }
870
871 pub fn set_references(&mut self, v: ::protobuf::RepeatedField<VulnerabilityReport_Vulnerability_Details_Reference>) {
873 self.references = v;
874 }
875
876 pub fn mut_references(&mut self) -> &mut ::protobuf::RepeatedField<VulnerabilityReport_Vulnerability_Details_Reference> {
878 &mut self.references
879 }
880
881 pub fn take_references(&mut self) -> ::protobuf::RepeatedField<VulnerabilityReport_Vulnerability_Details_Reference> {
883 ::std::mem::replace(&mut self.references, ::protobuf::RepeatedField::new())
884 }
885}
886
887impl ::protobuf::Message for VulnerabilityReport_Vulnerability_Details {
888 fn is_initialized(&self) -> bool {
889 for v in &self.cvss_v3 {
890 if !v.is_initialized() {
891 return false;
892 }
893 };
894 for v in &self.references {
895 if !v.is_initialized() {
896 return false;
897 }
898 };
899 true
900 }
901
902 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
903 while !is.eof()? {
904 let (field_number, wire_type) = is.read_tag_unpack()?;
905 match field_number {
906 1 => {
907 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.cve)?;
908 },
909 2 => {
910 if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
911 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
912 }
913 let tmp = is.read_float()?;
914 self.cvss_v2_score = tmp;
915 },
916 3 => {
917 ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.cvss_v3)?;
918 },
919 4 => {
920 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.severity)?;
921 },
922 5 => {
923 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.description)?;
924 },
925 6 => {
926 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.references)?;
927 },
928 _ => {
929 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
930 },
931 };
932 }
933 ::std::result::Result::Ok(())
934 }
935
936 #[allow(unused_variables)]
938 fn compute_size(&self) -> u32 {
939 let mut my_size = 0;
940 if !self.cve.is_empty() {
941 my_size += ::protobuf::rt::string_size(1, &self.cve);
942 }
943 if self.cvss_v2_score != 0. {
944 my_size += 5;
945 }
946 if let Some(ref v) = self.cvss_v3.as_ref() {
947 let len = v.compute_size();
948 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
949 }
950 if !self.severity.is_empty() {
951 my_size += ::protobuf::rt::string_size(4, &self.severity);
952 }
953 if !self.description.is_empty() {
954 my_size += ::protobuf::rt::string_size(5, &self.description);
955 }
956 for value in &self.references {
957 let len = value.compute_size();
958 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
959 };
960 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
961 self.cached_size.set(my_size);
962 my_size
963 }
964
965 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
966 if !self.cve.is_empty() {
967 os.write_string(1, &self.cve)?;
968 }
969 if self.cvss_v2_score != 0. {
970 os.write_float(2, self.cvss_v2_score)?;
971 }
972 if let Some(ref v) = self.cvss_v3.as_ref() {
973 os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
974 os.write_raw_varint32(v.get_cached_size())?;
975 v.write_to_with_cached_sizes(os)?;
976 }
977 if !self.severity.is_empty() {
978 os.write_string(4, &self.severity)?;
979 }
980 if !self.description.is_empty() {
981 os.write_string(5, &self.description)?;
982 }
983 for v in &self.references {
984 os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
985 os.write_raw_varint32(v.get_cached_size())?;
986 v.write_to_with_cached_sizes(os)?;
987 };
988 os.write_unknown_fields(self.get_unknown_fields())?;
989 ::std::result::Result::Ok(())
990 }
991
992 fn get_cached_size(&self) -> u32 {
993 self.cached_size.get()
994 }
995
996 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
997 &self.unknown_fields
998 }
999
1000 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1001 &mut self.unknown_fields
1002 }
1003
1004 fn as_any(&self) -> &dyn (::std::any::Any) {
1005 self as &dyn (::std::any::Any)
1006 }
1007 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1008 self as &mut dyn (::std::any::Any)
1009 }
1010 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1011 self
1012 }
1013
1014 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1015 Self::descriptor_static()
1016 }
1017
1018 fn new() -> VulnerabilityReport_Vulnerability_Details {
1019 VulnerabilityReport_Vulnerability_Details::new()
1020 }
1021
1022 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1023 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1024 descriptor.get(|| {
1025 let mut fields = ::std::vec::Vec::new();
1026 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1027 "cve",
1028 |m: &VulnerabilityReport_Vulnerability_Details| { &m.cve },
1029 |m: &mut VulnerabilityReport_Vulnerability_Details| { &mut m.cve },
1030 ));
1031 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeFloat>(
1032 "cvss_v2_score",
1033 |m: &VulnerabilityReport_Vulnerability_Details| { &m.cvss_v2_score },
1034 |m: &mut VulnerabilityReport_Vulnerability_Details| { &mut m.cvss_v2_score },
1035 ));
1036 fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<CVSSv3>>(
1037 "cvss_v3",
1038 |m: &VulnerabilityReport_Vulnerability_Details| { &m.cvss_v3 },
1039 |m: &mut VulnerabilityReport_Vulnerability_Details| { &mut m.cvss_v3 },
1040 ));
1041 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1042 "severity",
1043 |m: &VulnerabilityReport_Vulnerability_Details| { &m.severity },
1044 |m: &mut VulnerabilityReport_Vulnerability_Details| { &mut m.severity },
1045 ));
1046 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1047 "description",
1048 |m: &VulnerabilityReport_Vulnerability_Details| { &m.description },
1049 |m: &mut VulnerabilityReport_Vulnerability_Details| { &mut m.description },
1050 ));
1051 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<VulnerabilityReport_Vulnerability_Details_Reference>>(
1052 "references",
1053 |m: &VulnerabilityReport_Vulnerability_Details| { &m.references },
1054 |m: &mut VulnerabilityReport_Vulnerability_Details| { &mut m.references },
1055 ));
1056 ::protobuf::reflect::MessageDescriptor::new_pb_name::<VulnerabilityReport_Vulnerability_Details>(
1057 "VulnerabilityReport.Vulnerability.Details",
1058 fields,
1059 file_descriptor_proto()
1060 )
1061 })
1062 }
1063
1064 fn default_instance() -> &'static VulnerabilityReport_Vulnerability_Details {
1065 static instance: ::protobuf::rt::LazyV2<VulnerabilityReport_Vulnerability_Details> = ::protobuf::rt::LazyV2::INIT;
1066 instance.get(VulnerabilityReport_Vulnerability_Details::new)
1067 }
1068}
1069
1070impl ::protobuf::Clear for VulnerabilityReport_Vulnerability_Details {
1071 fn clear(&mut self) {
1072 self.cve.clear();
1073 self.cvss_v2_score = 0.;
1074 self.cvss_v3.clear();
1075 self.severity.clear();
1076 self.description.clear();
1077 self.references.clear();
1078 self.unknown_fields.clear();
1079 }
1080}
1081
1082impl ::std::fmt::Debug for VulnerabilityReport_Vulnerability_Details {
1083 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1084 ::protobuf::text_format::fmt(self, f)
1085 }
1086}
1087
1088impl ::protobuf::reflect::ProtobufValue for VulnerabilityReport_Vulnerability_Details {
1089 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1090 ::protobuf::reflect::ReflectValueRef::Message(self)
1091 }
1092}
1093
1094#[derive(PartialEq,Clone,Default)]
1095pub struct VulnerabilityReport_Vulnerability_Details_Reference {
1096 pub url: ::std::string::String,
1098 pub source: ::std::string::String,
1099 pub unknown_fields: ::protobuf::UnknownFields,
1101 pub cached_size: ::protobuf::CachedSize,
1102}
1103
1104impl<'a> ::std::default::Default for &'a VulnerabilityReport_Vulnerability_Details_Reference {
1105 fn default() -> &'a VulnerabilityReport_Vulnerability_Details_Reference {
1106 <VulnerabilityReport_Vulnerability_Details_Reference as ::protobuf::Message>::default_instance()
1107 }
1108}
1109
1110impl VulnerabilityReport_Vulnerability_Details_Reference {
1111 pub fn new() -> VulnerabilityReport_Vulnerability_Details_Reference {
1112 ::std::default::Default::default()
1113 }
1114
1115 pub fn get_url(&self) -> &str {
1119 &self.url
1120 }
1121 pub fn clear_url(&mut self) {
1122 self.url.clear();
1123 }
1124
1125 pub fn set_url(&mut self, v: ::std::string::String) {
1127 self.url = v;
1128 }
1129
1130 pub fn mut_url(&mut self) -> &mut ::std::string::String {
1133 &mut self.url
1134 }
1135
1136 pub fn take_url(&mut self) -> ::std::string::String {
1138 ::std::mem::replace(&mut self.url, ::std::string::String::new())
1139 }
1140
1141 pub fn get_source(&self) -> &str {
1145 &self.source
1146 }
1147 pub fn clear_source(&mut self) {
1148 self.source.clear();
1149 }
1150
1151 pub fn set_source(&mut self, v: ::std::string::String) {
1153 self.source = v;
1154 }
1155
1156 pub fn mut_source(&mut self) -> &mut ::std::string::String {
1159 &mut self.source
1160 }
1161
1162 pub fn take_source(&mut self) -> ::std::string::String {
1164 ::std::mem::replace(&mut self.source, ::std::string::String::new())
1165 }
1166}
1167
1168impl ::protobuf::Message for VulnerabilityReport_Vulnerability_Details_Reference {
1169 fn is_initialized(&self) -> bool {
1170 true
1171 }
1172
1173 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1174 while !is.eof()? {
1175 let (field_number, wire_type) = is.read_tag_unpack()?;
1176 match field_number {
1177 1 => {
1178 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.url)?;
1179 },
1180 2 => {
1181 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.source)?;
1182 },
1183 _ => {
1184 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1185 },
1186 };
1187 }
1188 ::std::result::Result::Ok(())
1189 }
1190
1191 #[allow(unused_variables)]
1193 fn compute_size(&self) -> u32 {
1194 let mut my_size = 0;
1195 if !self.url.is_empty() {
1196 my_size += ::protobuf::rt::string_size(1, &self.url);
1197 }
1198 if !self.source.is_empty() {
1199 my_size += ::protobuf::rt::string_size(2, &self.source);
1200 }
1201 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1202 self.cached_size.set(my_size);
1203 my_size
1204 }
1205
1206 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1207 if !self.url.is_empty() {
1208 os.write_string(1, &self.url)?;
1209 }
1210 if !self.source.is_empty() {
1211 os.write_string(2, &self.source)?;
1212 }
1213 os.write_unknown_fields(self.get_unknown_fields())?;
1214 ::std::result::Result::Ok(())
1215 }
1216
1217 fn get_cached_size(&self) -> u32 {
1218 self.cached_size.get()
1219 }
1220
1221 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1222 &self.unknown_fields
1223 }
1224
1225 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1226 &mut self.unknown_fields
1227 }
1228
1229 fn as_any(&self) -> &dyn (::std::any::Any) {
1230 self as &dyn (::std::any::Any)
1231 }
1232 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1233 self as &mut dyn (::std::any::Any)
1234 }
1235 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1236 self
1237 }
1238
1239 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1240 Self::descriptor_static()
1241 }
1242
1243 fn new() -> VulnerabilityReport_Vulnerability_Details_Reference {
1244 VulnerabilityReport_Vulnerability_Details_Reference::new()
1245 }
1246
1247 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1248 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1249 descriptor.get(|| {
1250 let mut fields = ::std::vec::Vec::new();
1251 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1252 "url",
1253 |m: &VulnerabilityReport_Vulnerability_Details_Reference| { &m.url },
1254 |m: &mut VulnerabilityReport_Vulnerability_Details_Reference| { &mut m.url },
1255 ));
1256 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1257 "source",
1258 |m: &VulnerabilityReport_Vulnerability_Details_Reference| { &m.source },
1259 |m: &mut VulnerabilityReport_Vulnerability_Details_Reference| { &mut m.source },
1260 ));
1261 ::protobuf::reflect::MessageDescriptor::new_pb_name::<VulnerabilityReport_Vulnerability_Details_Reference>(
1262 "VulnerabilityReport.Vulnerability.Details.Reference",
1263 fields,
1264 file_descriptor_proto()
1265 )
1266 })
1267 }
1268
1269 fn default_instance() -> &'static VulnerabilityReport_Vulnerability_Details_Reference {
1270 static instance: ::protobuf::rt::LazyV2<VulnerabilityReport_Vulnerability_Details_Reference> = ::protobuf::rt::LazyV2::INIT;
1271 instance.get(VulnerabilityReport_Vulnerability_Details_Reference::new)
1272 }
1273}
1274
1275impl ::protobuf::Clear for VulnerabilityReport_Vulnerability_Details_Reference {
1276 fn clear(&mut self) {
1277 self.url.clear();
1278 self.source.clear();
1279 self.unknown_fields.clear();
1280 }
1281}
1282
1283impl ::std::fmt::Debug for VulnerabilityReport_Vulnerability_Details_Reference {
1284 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1285 ::protobuf::text_format::fmt(self, f)
1286 }
1287}
1288
1289impl ::protobuf::reflect::ProtobufValue for VulnerabilityReport_Vulnerability_Details_Reference {
1290 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1291 ::protobuf::reflect::ReflectValueRef::Message(self)
1292 }
1293}
1294
1295#[derive(PartialEq,Clone,Default)]
1296pub struct VulnerabilityReport_Vulnerability_Item {
1297 pub installed_inventory_item_id: ::std::string::String,
1299 pub available_inventory_item_id: ::std::string::String,
1300 pub fixed_cpe_uri: ::std::string::String,
1301 pub upstream_fix: ::std::string::String,
1302 pub unknown_fields: ::protobuf::UnknownFields,
1304 pub cached_size: ::protobuf::CachedSize,
1305}
1306
1307impl<'a> ::std::default::Default for &'a VulnerabilityReport_Vulnerability_Item {
1308 fn default() -> &'a VulnerabilityReport_Vulnerability_Item {
1309 <VulnerabilityReport_Vulnerability_Item as ::protobuf::Message>::default_instance()
1310 }
1311}
1312
1313impl VulnerabilityReport_Vulnerability_Item {
1314 pub fn new() -> VulnerabilityReport_Vulnerability_Item {
1315 ::std::default::Default::default()
1316 }
1317
1318 pub fn get_installed_inventory_item_id(&self) -> &str {
1322 &self.installed_inventory_item_id
1323 }
1324 pub fn clear_installed_inventory_item_id(&mut self) {
1325 self.installed_inventory_item_id.clear();
1326 }
1327
1328 pub fn set_installed_inventory_item_id(&mut self, v: ::std::string::String) {
1330 self.installed_inventory_item_id = v;
1331 }
1332
1333 pub fn mut_installed_inventory_item_id(&mut self) -> &mut ::std::string::String {
1336 &mut self.installed_inventory_item_id
1337 }
1338
1339 pub fn take_installed_inventory_item_id(&mut self) -> ::std::string::String {
1341 ::std::mem::replace(&mut self.installed_inventory_item_id, ::std::string::String::new())
1342 }
1343
1344 pub fn get_available_inventory_item_id(&self) -> &str {
1348 &self.available_inventory_item_id
1349 }
1350 pub fn clear_available_inventory_item_id(&mut self) {
1351 self.available_inventory_item_id.clear();
1352 }
1353
1354 pub fn set_available_inventory_item_id(&mut self, v: ::std::string::String) {
1356 self.available_inventory_item_id = v;
1357 }
1358
1359 pub fn mut_available_inventory_item_id(&mut self) -> &mut ::std::string::String {
1362 &mut self.available_inventory_item_id
1363 }
1364
1365 pub fn take_available_inventory_item_id(&mut self) -> ::std::string::String {
1367 ::std::mem::replace(&mut self.available_inventory_item_id, ::std::string::String::new())
1368 }
1369
1370 pub fn get_fixed_cpe_uri(&self) -> &str {
1374 &self.fixed_cpe_uri
1375 }
1376 pub fn clear_fixed_cpe_uri(&mut self) {
1377 self.fixed_cpe_uri.clear();
1378 }
1379
1380 pub fn set_fixed_cpe_uri(&mut self, v: ::std::string::String) {
1382 self.fixed_cpe_uri = v;
1383 }
1384
1385 pub fn mut_fixed_cpe_uri(&mut self) -> &mut ::std::string::String {
1388 &mut self.fixed_cpe_uri
1389 }
1390
1391 pub fn take_fixed_cpe_uri(&mut self) -> ::std::string::String {
1393 ::std::mem::replace(&mut self.fixed_cpe_uri, ::std::string::String::new())
1394 }
1395
1396 pub fn get_upstream_fix(&self) -> &str {
1400 &self.upstream_fix
1401 }
1402 pub fn clear_upstream_fix(&mut self) {
1403 self.upstream_fix.clear();
1404 }
1405
1406 pub fn set_upstream_fix(&mut self, v: ::std::string::String) {
1408 self.upstream_fix = v;
1409 }
1410
1411 pub fn mut_upstream_fix(&mut self) -> &mut ::std::string::String {
1414 &mut self.upstream_fix
1415 }
1416
1417 pub fn take_upstream_fix(&mut self) -> ::std::string::String {
1419 ::std::mem::replace(&mut self.upstream_fix, ::std::string::String::new())
1420 }
1421}
1422
1423impl ::protobuf::Message for VulnerabilityReport_Vulnerability_Item {
1424 fn is_initialized(&self) -> bool {
1425 true
1426 }
1427
1428 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1429 while !is.eof()? {
1430 let (field_number, wire_type) = is.read_tag_unpack()?;
1431 match field_number {
1432 1 => {
1433 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.installed_inventory_item_id)?;
1434 },
1435 2 => {
1436 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.available_inventory_item_id)?;
1437 },
1438 3 => {
1439 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.fixed_cpe_uri)?;
1440 },
1441 4 => {
1442 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.upstream_fix)?;
1443 },
1444 _ => {
1445 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1446 },
1447 };
1448 }
1449 ::std::result::Result::Ok(())
1450 }
1451
1452 #[allow(unused_variables)]
1454 fn compute_size(&self) -> u32 {
1455 let mut my_size = 0;
1456 if !self.installed_inventory_item_id.is_empty() {
1457 my_size += ::protobuf::rt::string_size(1, &self.installed_inventory_item_id);
1458 }
1459 if !self.available_inventory_item_id.is_empty() {
1460 my_size += ::protobuf::rt::string_size(2, &self.available_inventory_item_id);
1461 }
1462 if !self.fixed_cpe_uri.is_empty() {
1463 my_size += ::protobuf::rt::string_size(3, &self.fixed_cpe_uri);
1464 }
1465 if !self.upstream_fix.is_empty() {
1466 my_size += ::protobuf::rt::string_size(4, &self.upstream_fix);
1467 }
1468 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1469 self.cached_size.set(my_size);
1470 my_size
1471 }
1472
1473 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1474 if !self.installed_inventory_item_id.is_empty() {
1475 os.write_string(1, &self.installed_inventory_item_id)?;
1476 }
1477 if !self.available_inventory_item_id.is_empty() {
1478 os.write_string(2, &self.available_inventory_item_id)?;
1479 }
1480 if !self.fixed_cpe_uri.is_empty() {
1481 os.write_string(3, &self.fixed_cpe_uri)?;
1482 }
1483 if !self.upstream_fix.is_empty() {
1484 os.write_string(4, &self.upstream_fix)?;
1485 }
1486 os.write_unknown_fields(self.get_unknown_fields())?;
1487 ::std::result::Result::Ok(())
1488 }
1489
1490 fn get_cached_size(&self) -> u32 {
1491 self.cached_size.get()
1492 }
1493
1494 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1495 &self.unknown_fields
1496 }
1497
1498 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1499 &mut self.unknown_fields
1500 }
1501
1502 fn as_any(&self) -> &dyn (::std::any::Any) {
1503 self as &dyn (::std::any::Any)
1504 }
1505 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1506 self as &mut dyn (::std::any::Any)
1507 }
1508 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1509 self
1510 }
1511
1512 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1513 Self::descriptor_static()
1514 }
1515
1516 fn new() -> VulnerabilityReport_Vulnerability_Item {
1517 VulnerabilityReport_Vulnerability_Item::new()
1518 }
1519
1520 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1521 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1522 descriptor.get(|| {
1523 let mut fields = ::std::vec::Vec::new();
1524 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1525 "installed_inventory_item_id",
1526 |m: &VulnerabilityReport_Vulnerability_Item| { &m.installed_inventory_item_id },
1527 |m: &mut VulnerabilityReport_Vulnerability_Item| { &mut m.installed_inventory_item_id },
1528 ));
1529 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1530 "available_inventory_item_id",
1531 |m: &VulnerabilityReport_Vulnerability_Item| { &m.available_inventory_item_id },
1532 |m: &mut VulnerabilityReport_Vulnerability_Item| { &mut m.available_inventory_item_id },
1533 ));
1534 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1535 "fixed_cpe_uri",
1536 |m: &VulnerabilityReport_Vulnerability_Item| { &m.fixed_cpe_uri },
1537 |m: &mut VulnerabilityReport_Vulnerability_Item| { &mut m.fixed_cpe_uri },
1538 ));
1539 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1540 "upstream_fix",
1541 |m: &VulnerabilityReport_Vulnerability_Item| { &m.upstream_fix },
1542 |m: &mut VulnerabilityReport_Vulnerability_Item| { &mut m.upstream_fix },
1543 ));
1544 ::protobuf::reflect::MessageDescriptor::new_pb_name::<VulnerabilityReport_Vulnerability_Item>(
1545 "VulnerabilityReport.Vulnerability.Item",
1546 fields,
1547 file_descriptor_proto()
1548 )
1549 })
1550 }
1551
1552 fn default_instance() -> &'static VulnerabilityReport_Vulnerability_Item {
1553 static instance: ::protobuf::rt::LazyV2<VulnerabilityReport_Vulnerability_Item> = ::protobuf::rt::LazyV2::INIT;
1554 instance.get(VulnerabilityReport_Vulnerability_Item::new)
1555 }
1556}
1557
1558impl ::protobuf::Clear for VulnerabilityReport_Vulnerability_Item {
1559 fn clear(&mut self) {
1560 self.installed_inventory_item_id.clear();
1561 self.available_inventory_item_id.clear();
1562 self.fixed_cpe_uri.clear();
1563 self.upstream_fix.clear();
1564 self.unknown_fields.clear();
1565 }
1566}
1567
1568impl ::std::fmt::Debug for VulnerabilityReport_Vulnerability_Item {
1569 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1570 ::protobuf::text_format::fmt(self, f)
1571 }
1572}
1573
1574impl ::protobuf::reflect::ProtobufValue for VulnerabilityReport_Vulnerability_Item {
1575 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1576 ::protobuf::reflect::ReflectValueRef::Message(self)
1577 }
1578}
1579
1580#[derive(PartialEq,Clone,Default)]
1581pub struct GetVulnerabilityReportRequest {
1582 pub name: ::std::string::String,
1584 pub unknown_fields: ::protobuf::UnknownFields,
1586 pub cached_size: ::protobuf::CachedSize,
1587}
1588
1589impl<'a> ::std::default::Default for &'a GetVulnerabilityReportRequest {
1590 fn default() -> &'a GetVulnerabilityReportRequest {
1591 <GetVulnerabilityReportRequest as ::protobuf::Message>::default_instance()
1592 }
1593}
1594
1595impl GetVulnerabilityReportRequest {
1596 pub fn new() -> GetVulnerabilityReportRequest {
1597 ::std::default::Default::default()
1598 }
1599
1600 pub fn get_name(&self) -> &str {
1604 &self.name
1605 }
1606 pub fn clear_name(&mut self) {
1607 self.name.clear();
1608 }
1609
1610 pub fn set_name(&mut self, v: ::std::string::String) {
1612 self.name = v;
1613 }
1614
1615 pub fn mut_name(&mut self) -> &mut ::std::string::String {
1618 &mut self.name
1619 }
1620
1621 pub fn take_name(&mut self) -> ::std::string::String {
1623 ::std::mem::replace(&mut self.name, ::std::string::String::new())
1624 }
1625}
1626
1627impl ::protobuf::Message for GetVulnerabilityReportRequest {
1628 fn is_initialized(&self) -> bool {
1629 true
1630 }
1631
1632 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1633 while !is.eof()? {
1634 let (field_number, wire_type) = is.read_tag_unpack()?;
1635 match field_number {
1636 1 => {
1637 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
1638 },
1639 _ => {
1640 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1641 },
1642 };
1643 }
1644 ::std::result::Result::Ok(())
1645 }
1646
1647 #[allow(unused_variables)]
1649 fn compute_size(&self) -> u32 {
1650 let mut my_size = 0;
1651 if !self.name.is_empty() {
1652 my_size += ::protobuf::rt::string_size(1, &self.name);
1653 }
1654 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1655 self.cached_size.set(my_size);
1656 my_size
1657 }
1658
1659 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1660 if !self.name.is_empty() {
1661 os.write_string(1, &self.name)?;
1662 }
1663 os.write_unknown_fields(self.get_unknown_fields())?;
1664 ::std::result::Result::Ok(())
1665 }
1666
1667 fn get_cached_size(&self) -> u32 {
1668 self.cached_size.get()
1669 }
1670
1671 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1672 &self.unknown_fields
1673 }
1674
1675 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1676 &mut self.unknown_fields
1677 }
1678
1679 fn as_any(&self) -> &dyn (::std::any::Any) {
1680 self as &dyn (::std::any::Any)
1681 }
1682 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1683 self as &mut dyn (::std::any::Any)
1684 }
1685 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1686 self
1687 }
1688
1689 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1690 Self::descriptor_static()
1691 }
1692
1693 fn new() -> GetVulnerabilityReportRequest {
1694 GetVulnerabilityReportRequest::new()
1695 }
1696
1697 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1698 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1699 descriptor.get(|| {
1700 let mut fields = ::std::vec::Vec::new();
1701 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1702 "name",
1703 |m: &GetVulnerabilityReportRequest| { &m.name },
1704 |m: &mut GetVulnerabilityReportRequest| { &mut m.name },
1705 ));
1706 ::protobuf::reflect::MessageDescriptor::new_pb_name::<GetVulnerabilityReportRequest>(
1707 "GetVulnerabilityReportRequest",
1708 fields,
1709 file_descriptor_proto()
1710 )
1711 })
1712 }
1713
1714 fn default_instance() -> &'static GetVulnerabilityReportRequest {
1715 static instance: ::protobuf::rt::LazyV2<GetVulnerabilityReportRequest> = ::protobuf::rt::LazyV2::INIT;
1716 instance.get(GetVulnerabilityReportRequest::new)
1717 }
1718}
1719
1720impl ::protobuf::Clear for GetVulnerabilityReportRequest {
1721 fn clear(&mut self) {
1722 self.name.clear();
1723 self.unknown_fields.clear();
1724 }
1725}
1726
1727impl ::std::fmt::Debug for GetVulnerabilityReportRequest {
1728 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1729 ::protobuf::text_format::fmt(self, f)
1730 }
1731}
1732
1733impl ::protobuf::reflect::ProtobufValue for GetVulnerabilityReportRequest {
1734 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1735 ::protobuf::reflect::ReflectValueRef::Message(self)
1736 }
1737}
1738
1739#[derive(PartialEq,Clone,Default)]
1740pub struct ListVulnerabilityReportsRequest {
1741 pub parent: ::std::string::String,
1743 pub page_size: i32,
1744 pub page_token: ::std::string::String,
1745 pub filter: ::std::string::String,
1746 pub unknown_fields: ::protobuf::UnknownFields,
1748 pub cached_size: ::protobuf::CachedSize,
1749}
1750
1751impl<'a> ::std::default::Default for &'a ListVulnerabilityReportsRequest {
1752 fn default() -> &'a ListVulnerabilityReportsRequest {
1753 <ListVulnerabilityReportsRequest as ::protobuf::Message>::default_instance()
1754 }
1755}
1756
1757impl ListVulnerabilityReportsRequest {
1758 pub fn new() -> ListVulnerabilityReportsRequest {
1759 ::std::default::Default::default()
1760 }
1761
1762 pub fn get_parent(&self) -> &str {
1766 &self.parent
1767 }
1768 pub fn clear_parent(&mut self) {
1769 self.parent.clear();
1770 }
1771
1772 pub fn set_parent(&mut self, v: ::std::string::String) {
1774 self.parent = v;
1775 }
1776
1777 pub fn mut_parent(&mut self) -> &mut ::std::string::String {
1780 &mut self.parent
1781 }
1782
1783 pub fn take_parent(&mut self) -> ::std::string::String {
1785 ::std::mem::replace(&mut self.parent, ::std::string::String::new())
1786 }
1787
1788 pub fn get_page_size(&self) -> i32 {
1792 self.page_size
1793 }
1794 pub fn clear_page_size(&mut self) {
1795 self.page_size = 0;
1796 }
1797
1798 pub fn set_page_size(&mut self, v: i32) {
1800 self.page_size = v;
1801 }
1802
1803 pub fn get_page_token(&self) -> &str {
1807 &self.page_token
1808 }
1809 pub fn clear_page_token(&mut self) {
1810 self.page_token.clear();
1811 }
1812
1813 pub fn set_page_token(&mut self, v: ::std::string::String) {
1815 self.page_token = v;
1816 }
1817
1818 pub fn mut_page_token(&mut self) -> &mut ::std::string::String {
1821 &mut self.page_token
1822 }
1823
1824 pub fn take_page_token(&mut self) -> ::std::string::String {
1826 ::std::mem::replace(&mut self.page_token, ::std::string::String::new())
1827 }
1828
1829 pub fn get_filter(&self) -> &str {
1833 &self.filter
1834 }
1835 pub fn clear_filter(&mut self) {
1836 self.filter.clear();
1837 }
1838
1839 pub fn set_filter(&mut self, v: ::std::string::String) {
1841 self.filter = v;
1842 }
1843
1844 pub fn mut_filter(&mut self) -> &mut ::std::string::String {
1847 &mut self.filter
1848 }
1849
1850 pub fn take_filter(&mut self) -> ::std::string::String {
1852 ::std::mem::replace(&mut self.filter, ::std::string::String::new())
1853 }
1854}
1855
1856impl ::protobuf::Message for ListVulnerabilityReportsRequest {
1857 fn is_initialized(&self) -> bool {
1858 true
1859 }
1860
1861 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1862 while !is.eof()? {
1863 let (field_number, wire_type) = is.read_tag_unpack()?;
1864 match field_number {
1865 1 => {
1866 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent)?;
1867 },
1868 2 => {
1869 if wire_type != ::protobuf::wire_format::WireTypeVarint {
1870 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1871 }
1872 let tmp = is.read_int32()?;
1873 self.page_size = tmp;
1874 },
1875 3 => {
1876 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.page_token)?;
1877 },
1878 4 => {
1879 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.filter)?;
1880 },
1881 _ => {
1882 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1883 },
1884 };
1885 }
1886 ::std::result::Result::Ok(())
1887 }
1888
1889 #[allow(unused_variables)]
1891 fn compute_size(&self) -> u32 {
1892 let mut my_size = 0;
1893 if !self.parent.is_empty() {
1894 my_size += ::protobuf::rt::string_size(1, &self.parent);
1895 }
1896 if self.page_size != 0 {
1897 my_size += ::protobuf::rt::value_size(2, self.page_size, ::protobuf::wire_format::WireTypeVarint);
1898 }
1899 if !self.page_token.is_empty() {
1900 my_size += ::protobuf::rt::string_size(3, &self.page_token);
1901 }
1902 if !self.filter.is_empty() {
1903 my_size += ::protobuf::rt::string_size(4, &self.filter);
1904 }
1905 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1906 self.cached_size.set(my_size);
1907 my_size
1908 }
1909
1910 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1911 if !self.parent.is_empty() {
1912 os.write_string(1, &self.parent)?;
1913 }
1914 if self.page_size != 0 {
1915 os.write_int32(2, self.page_size)?;
1916 }
1917 if !self.page_token.is_empty() {
1918 os.write_string(3, &self.page_token)?;
1919 }
1920 if !self.filter.is_empty() {
1921 os.write_string(4, &self.filter)?;
1922 }
1923 os.write_unknown_fields(self.get_unknown_fields())?;
1924 ::std::result::Result::Ok(())
1925 }
1926
1927 fn get_cached_size(&self) -> u32 {
1928 self.cached_size.get()
1929 }
1930
1931 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1932 &self.unknown_fields
1933 }
1934
1935 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1936 &mut self.unknown_fields
1937 }
1938
1939 fn as_any(&self) -> &dyn (::std::any::Any) {
1940 self as &dyn (::std::any::Any)
1941 }
1942 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1943 self as &mut dyn (::std::any::Any)
1944 }
1945 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1946 self
1947 }
1948
1949 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1950 Self::descriptor_static()
1951 }
1952
1953 fn new() -> ListVulnerabilityReportsRequest {
1954 ListVulnerabilityReportsRequest::new()
1955 }
1956
1957 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1958 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1959 descriptor.get(|| {
1960 let mut fields = ::std::vec::Vec::new();
1961 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1962 "parent",
1963 |m: &ListVulnerabilityReportsRequest| { &m.parent },
1964 |m: &mut ListVulnerabilityReportsRequest| { &mut m.parent },
1965 ));
1966 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
1967 "page_size",
1968 |m: &ListVulnerabilityReportsRequest| { &m.page_size },
1969 |m: &mut ListVulnerabilityReportsRequest| { &mut m.page_size },
1970 ));
1971 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1972 "page_token",
1973 |m: &ListVulnerabilityReportsRequest| { &m.page_token },
1974 |m: &mut ListVulnerabilityReportsRequest| { &mut m.page_token },
1975 ));
1976 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1977 "filter",
1978 |m: &ListVulnerabilityReportsRequest| { &m.filter },
1979 |m: &mut ListVulnerabilityReportsRequest| { &mut m.filter },
1980 ));
1981 ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListVulnerabilityReportsRequest>(
1982 "ListVulnerabilityReportsRequest",
1983 fields,
1984 file_descriptor_proto()
1985 )
1986 })
1987 }
1988
1989 fn default_instance() -> &'static ListVulnerabilityReportsRequest {
1990 static instance: ::protobuf::rt::LazyV2<ListVulnerabilityReportsRequest> = ::protobuf::rt::LazyV2::INIT;
1991 instance.get(ListVulnerabilityReportsRequest::new)
1992 }
1993}
1994
1995impl ::protobuf::Clear for ListVulnerabilityReportsRequest {
1996 fn clear(&mut self) {
1997 self.parent.clear();
1998 self.page_size = 0;
1999 self.page_token.clear();
2000 self.filter.clear();
2001 self.unknown_fields.clear();
2002 }
2003}
2004
2005impl ::std::fmt::Debug for ListVulnerabilityReportsRequest {
2006 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2007 ::protobuf::text_format::fmt(self, f)
2008 }
2009}
2010
2011impl ::protobuf::reflect::ProtobufValue for ListVulnerabilityReportsRequest {
2012 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2013 ::protobuf::reflect::ReflectValueRef::Message(self)
2014 }
2015}
2016
2017#[derive(PartialEq,Clone,Default)]
2018pub struct ListVulnerabilityReportsResponse {
2019 pub vulnerability_reports: ::protobuf::RepeatedField<VulnerabilityReport>,
2021 pub next_page_token: ::std::string::String,
2022 pub unknown_fields: ::protobuf::UnknownFields,
2024 pub cached_size: ::protobuf::CachedSize,
2025}
2026
2027impl<'a> ::std::default::Default for &'a ListVulnerabilityReportsResponse {
2028 fn default() -> &'a ListVulnerabilityReportsResponse {
2029 <ListVulnerabilityReportsResponse as ::protobuf::Message>::default_instance()
2030 }
2031}
2032
2033impl ListVulnerabilityReportsResponse {
2034 pub fn new() -> ListVulnerabilityReportsResponse {
2035 ::std::default::Default::default()
2036 }
2037
2038 pub fn get_vulnerability_reports(&self) -> &[VulnerabilityReport] {
2042 &self.vulnerability_reports
2043 }
2044 pub fn clear_vulnerability_reports(&mut self) {
2045 self.vulnerability_reports.clear();
2046 }
2047
2048 pub fn set_vulnerability_reports(&mut self, v: ::protobuf::RepeatedField<VulnerabilityReport>) {
2050 self.vulnerability_reports = v;
2051 }
2052
2053 pub fn mut_vulnerability_reports(&mut self) -> &mut ::protobuf::RepeatedField<VulnerabilityReport> {
2055 &mut self.vulnerability_reports
2056 }
2057
2058 pub fn take_vulnerability_reports(&mut self) -> ::protobuf::RepeatedField<VulnerabilityReport> {
2060 ::std::mem::replace(&mut self.vulnerability_reports, ::protobuf::RepeatedField::new())
2061 }
2062
2063 pub fn get_next_page_token(&self) -> &str {
2067 &self.next_page_token
2068 }
2069 pub fn clear_next_page_token(&mut self) {
2070 self.next_page_token.clear();
2071 }
2072
2073 pub fn set_next_page_token(&mut self, v: ::std::string::String) {
2075 self.next_page_token = v;
2076 }
2077
2078 pub fn mut_next_page_token(&mut self) -> &mut ::std::string::String {
2081 &mut self.next_page_token
2082 }
2083
2084 pub fn take_next_page_token(&mut self) -> ::std::string::String {
2086 ::std::mem::replace(&mut self.next_page_token, ::std::string::String::new())
2087 }
2088}
2089
2090impl ::protobuf::Message for ListVulnerabilityReportsResponse {
2091 fn is_initialized(&self) -> bool {
2092 for v in &self.vulnerability_reports {
2093 if !v.is_initialized() {
2094 return false;
2095 }
2096 };
2097 true
2098 }
2099
2100 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2101 while !is.eof()? {
2102 let (field_number, wire_type) = is.read_tag_unpack()?;
2103 match field_number {
2104 1 => {
2105 ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.vulnerability_reports)?;
2106 },
2107 2 => {
2108 ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.next_page_token)?;
2109 },
2110 _ => {
2111 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2112 },
2113 };
2114 }
2115 ::std::result::Result::Ok(())
2116 }
2117
2118 #[allow(unused_variables)]
2120 fn compute_size(&self) -> u32 {
2121 let mut my_size = 0;
2122 for value in &self.vulnerability_reports {
2123 let len = value.compute_size();
2124 my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2125 };
2126 if !self.next_page_token.is_empty() {
2127 my_size += ::protobuf::rt::string_size(2, &self.next_page_token);
2128 }
2129 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2130 self.cached_size.set(my_size);
2131 my_size
2132 }
2133
2134 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2135 for v in &self.vulnerability_reports {
2136 os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2137 os.write_raw_varint32(v.get_cached_size())?;
2138 v.write_to_with_cached_sizes(os)?;
2139 };
2140 if !self.next_page_token.is_empty() {
2141 os.write_string(2, &self.next_page_token)?;
2142 }
2143 os.write_unknown_fields(self.get_unknown_fields())?;
2144 ::std::result::Result::Ok(())
2145 }
2146
2147 fn get_cached_size(&self) -> u32 {
2148 self.cached_size.get()
2149 }
2150
2151 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2152 &self.unknown_fields
2153 }
2154
2155 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2156 &mut self.unknown_fields
2157 }
2158
2159 fn as_any(&self) -> &dyn (::std::any::Any) {
2160 self as &dyn (::std::any::Any)
2161 }
2162 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2163 self as &mut dyn (::std::any::Any)
2164 }
2165 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2166 self
2167 }
2168
2169 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2170 Self::descriptor_static()
2171 }
2172
2173 fn new() -> ListVulnerabilityReportsResponse {
2174 ListVulnerabilityReportsResponse::new()
2175 }
2176
2177 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2178 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2179 descriptor.get(|| {
2180 let mut fields = ::std::vec::Vec::new();
2181 fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<VulnerabilityReport>>(
2182 "vulnerability_reports",
2183 |m: &ListVulnerabilityReportsResponse| { &m.vulnerability_reports },
2184 |m: &mut ListVulnerabilityReportsResponse| { &mut m.vulnerability_reports },
2185 ));
2186 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2187 "next_page_token",
2188 |m: &ListVulnerabilityReportsResponse| { &m.next_page_token },
2189 |m: &mut ListVulnerabilityReportsResponse| { &mut m.next_page_token },
2190 ));
2191 ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListVulnerabilityReportsResponse>(
2192 "ListVulnerabilityReportsResponse",
2193 fields,
2194 file_descriptor_proto()
2195 )
2196 })
2197 }
2198
2199 fn default_instance() -> &'static ListVulnerabilityReportsResponse {
2200 static instance: ::protobuf::rt::LazyV2<ListVulnerabilityReportsResponse> = ::protobuf::rt::LazyV2::INIT;
2201 instance.get(ListVulnerabilityReportsResponse::new)
2202 }
2203}
2204
2205impl ::protobuf::Clear for ListVulnerabilityReportsResponse {
2206 fn clear(&mut self) {
2207 self.vulnerability_reports.clear();
2208 self.next_page_token.clear();
2209 self.unknown_fields.clear();
2210 }
2211}
2212
2213impl ::std::fmt::Debug for ListVulnerabilityReportsResponse {
2214 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2215 ::protobuf::text_format::fmt(self, f)
2216 }
2217}
2218
2219impl ::protobuf::reflect::ProtobufValue for ListVulnerabilityReportsResponse {
2220 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2221 ::protobuf::reflect::ReflectValueRef::Message(self)
2222 }
2223}
2224
2225#[derive(PartialEq,Clone,Default)]
2226pub struct CVSSv3 {
2227 pub base_score: f32,
2229 pub exploitability_score: f32,
2230 pub impact_score: f32,
2231 pub attack_vector: CVSSv3_AttackVector,
2232 pub attack_complexity: CVSSv3_AttackComplexity,
2233 pub privileges_required: CVSSv3_PrivilegesRequired,
2234 pub user_interaction: CVSSv3_UserInteraction,
2235 pub scope: CVSSv3_Scope,
2236 pub confidentiality_impact: CVSSv3_Impact,
2237 pub integrity_impact: CVSSv3_Impact,
2238 pub availability_impact: CVSSv3_Impact,
2239 pub unknown_fields: ::protobuf::UnknownFields,
2241 pub cached_size: ::protobuf::CachedSize,
2242}
2243
2244impl<'a> ::std::default::Default for &'a CVSSv3 {
2245 fn default() -> &'a CVSSv3 {
2246 <CVSSv3 as ::protobuf::Message>::default_instance()
2247 }
2248}
2249
2250impl CVSSv3 {
2251 pub fn new() -> CVSSv3 {
2252 ::std::default::Default::default()
2253 }
2254
2255 pub fn get_base_score(&self) -> f32 {
2259 self.base_score
2260 }
2261 pub fn clear_base_score(&mut self) {
2262 self.base_score = 0.;
2263 }
2264
2265 pub fn set_base_score(&mut self, v: f32) {
2267 self.base_score = v;
2268 }
2269
2270 pub fn get_exploitability_score(&self) -> f32 {
2274 self.exploitability_score
2275 }
2276 pub fn clear_exploitability_score(&mut self) {
2277 self.exploitability_score = 0.;
2278 }
2279
2280 pub fn set_exploitability_score(&mut self, v: f32) {
2282 self.exploitability_score = v;
2283 }
2284
2285 pub fn get_impact_score(&self) -> f32 {
2289 self.impact_score
2290 }
2291 pub fn clear_impact_score(&mut self) {
2292 self.impact_score = 0.;
2293 }
2294
2295 pub fn set_impact_score(&mut self, v: f32) {
2297 self.impact_score = v;
2298 }
2299
2300 pub fn get_attack_vector(&self) -> CVSSv3_AttackVector {
2304 self.attack_vector
2305 }
2306 pub fn clear_attack_vector(&mut self) {
2307 self.attack_vector = CVSSv3_AttackVector::ATTACK_VECTOR_UNSPECIFIED;
2308 }
2309
2310 pub fn set_attack_vector(&mut self, v: CVSSv3_AttackVector) {
2312 self.attack_vector = v;
2313 }
2314
2315 pub fn get_attack_complexity(&self) -> CVSSv3_AttackComplexity {
2319 self.attack_complexity
2320 }
2321 pub fn clear_attack_complexity(&mut self) {
2322 self.attack_complexity = CVSSv3_AttackComplexity::ATTACK_COMPLEXITY_UNSPECIFIED;
2323 }
2324
2325 pub fn set_attack_complexity(&mut self, v: CVSSv3_AttackComplexity) {
2327 self.attack_complexity = v;
2328 }
2329
2330 pub fn get_privileges_required(&self) -> CVSSv3_PrivilegesRequired {
2334 self.privileges_required
2335 }
2336 pub fn clear_privileges_required(&mut self) {
2337 self.privileges_required = CVSSv3_PrivilegesRequired::PRIVILEGES_REQUIRED_UNSPECIFIED;
2338 }
2339
2340 pub fn set_privileges_required(&mut self, v: CVSSv3_PrivilegesRequired) {
2342 self.privileges_required = v;
2343 }
2344
2345 pub fn get_user_interaction(&self) -> CVSSv3_UserInteraction {
2349 self.user_interaction
2350 }
2351 pub fn clear_user_interaction(&mut self) {
2352 self.user_interaction = CVSSv3_UserInteraction::USER_INTERACTION_UNSPECIFIED;
2353 }
2354
2355 pub fn set_user_interaction(&mut self, v: CVSSv3_UserInteraction) {
2357 self.user_interaction = v;
2358 }
2359
2360 pub fn get_scope(&self) -> CVSSv3_Scope {
2364 self.scope
2365 }
2366 pub fn clear_scope(&mut self) {
2367 self.scope = CVSSv3_Scope::SCOPE_UNSPECIFIED;
2368 }
2369
2370 pub fn set_scope(&mut self, v: CVSSv3_Scope) {
2372 self.scope = v;
2373 }
2374
2375 pub fn get_confidentiality_impact(&self) -> CVSSv3_Impact {
2379 self.confidentiality_impact
2380 }
2381 pub fn clear_confidentiality_impact(&mut self) {
2382 self.confidentiality_impact = CVSSv3_Impact::IMPACT_UNSPECIFIED;
2383 }
2384
2385 pub fn set_confidentiality_impact(&mut self, v: CVSSv3_Impact) {
2387 self.confidentiality_impact = v;
2388 }
2389
2390 pub fn get_integrity_impact(&self) -> CVSSv3_Impact {
2394 self.integrity_impact
2395 }
2396 pub fn clear_integrity_impact(&mut self) {
2397 self.integrity_impact = CVSSv3_Impact::IMPACT_UNSPECIFIED;
2398 }
2399
2400 pub fn set_integrity_impact(&mut self, v: CVSSv3_Impact) {
2402 self.integrity_impact = v;
2403 }
2404
2405 pub fn get_availability_impact(&self) -> CVSSv3_Impact {
2409 self.availability_impact
2410 }
2411 pub fn clear_availability_impact(&mut self) {
2412 self.availability_impact = CVSSv3_Impact::IMPACT_UNSPECIFIED;
2413 }
2414
2415 pub fn set_availability_impact(&mut self, v: CVSSv3_Impact) {
2417 self.availability_impact = v;
2418 }
2419}
2420
2421impl ::protobuf::Message for CVSSv3 {
2422 fn is_initialized(&self) -> bool {
2423 true
2424 }
2425
2426 fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2427 while !is.eof()? {
2428 let (field_number, wire_type) = is.read_tag_unpack()?;
2429 match field_number {
2430 1 => {
2431 if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
2432 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2433 }
2434 let tmp = is.read_float()?;
2435 self.base_score = tmp;
2436 },
2437 2 => {
2438 if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
2439 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2440 }
2441 let tmp = is.read_float()?;
2442 self.exploitability_score = tmp;
2443 },
2444 3 => {
2445 if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
2446 return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2447 }
2448 let tmp = is.read_float()?;
2449 self.impact_score = tmp;
2450 },
2451 5 => {
2452 ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.attack_vector, 5, &mut self.unknown_fields)?
2453 },
2454 6 => {
2455 ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.attack_complexity, 6, &mut self.unknown_fields)?
2456 },
2457 7 => {
2458 ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.privileges_required, 7, &mut self.unknown_fields)?
2459 },
2460 8 => {
2461 ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.user_interaction, 8, &mut self.unknown_fields)?
2462 },
2463 9 => {
2464 ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.scope, 9, &mut self.unknown_fields)?
2465 },
2466 10 => {
2467 ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.confidentiality_impact, 10, &mut self.unknown_fields)?
2468 },
2469 11 => {
2470 ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.integrity_impact, 11, &mut self.unknown_fields)?
2471 },
2472 12 => {
2473 ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.availability_impact, 12, &mut self.unknown_fields)?
2474 },
2475 _ => {
2476 ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2477 },
2478 };
2479 }
2480 ::std::result::Result::Ok(())
2481 }
2482
2483 #[allow(unused_variables)]
2485 fn compute_size(&self) -> u32 {
2486 let mut my_size = 0;
2487 if self.base_score != 0. {
2488 my_size += 5;
2489 }
2490 if self.exploitability_score != 0. {
2491 my_size += 5;
2492 }
2493 if self.impact_score != 0. {
2494 my_size += 5;
2495 }
2496 if self.attack_vector != CVSSv3_AttackVector::ATTACK_VECTOR_UNSPECIFIED {
2497 my_size += ::protobuf::rt::enum_size(5, self.attack_vector);
2498 }
2499 if self.attack_complexity != CVSSv3_AttackComplexity::ATTACK_COMPLEXITY_UNSPECIFIED {
2500 my_size += ::protobuf::rt::enum_size(6, self.attack_complexity);
2501 }
2502 if self.privileges_required != CVSSv3_PrivilegesRequired::PRIVILEGES_REQUIRED_UNSPECIFIED {
2503 my_size += ::protobuf::rt::enum_size(7, self.privileges_required);
2504 }
2505 if self.user_interaction != CVSSv3_UserInteraction::USER_INTERACTION_UNSPECIFIED {
2506 my_size += ::protobuf::rt::enum_size(8, self.user_interaction);
2507 }
2508 if self.scope != CVSSv3_Scope::SCOPE_UNSPECIFIED {
2509 my_size += ::protobuf::rt::enum_size(9, self.scope);
2510 }
2511 if self.confidentiality_impact != CVSSv3_Impact::IMPACT_UNSPECIFIED {
2512 my_size += ::protobuf::rt::enum_size(10, self.confidentiality_impact);
2513 }
2514 if self.integrity_impact != CVSSv3_Impact::IMPACT_UNSPECIFIED {
2515 my_size += ::protobuf::rt::enum_size(11, self.integrity_impact);
2516 }
2517 if self.availability_impact != CVSSv3_Impact::IMPACT_UNSPECIFIED {
2518 my_size += ::protobuf::rt::enum_size(12, self.availability_impact);
2519 }
2520 my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2521 self.cached_size.set(my_size);
2522 my_size
2523 }
2524
2525 fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2526 if self.base_score != 0. {
2527 os.write_float(1, self.base_score)?;
2528 }
2529 if self.exploitability_score != 0. {
2530 os.write_float(2, self.exploitability_score)?;
2531 }
2532 if self.impact_score != 0. {
2533 os.write_float(3, self.impact_score)?;
2534 }
2535 if self.attack_vector != CVSSv3_AttackVector::ATTACK_VECTOR_UNSPECIFIED {
2536 os.write_enum(5, ::protobuf::ProtobufEnum::value(&self.attack_vector))?;
2537 }
2538 if self.attack_complexity != CVSSv3_AttackComplexity::ATTACK_COMPLEXITY_UNSPECIFIED {
2539 os.write_enum(6, ::protobuf::ProtobufEnum::value(&self.attack_complexity))?;
2540 }
2541 if self.privileges_required != CVSSv3_PrivilegesRequired::PRIVILEGES_REQUIRED_UNSPECIFIED {
2542 os.write_enum(7, ::protobuf::ProtobufEnum::value(&self.privileges_required))?;
2543 }
2544 if self.user_interaction != CVSSv3_UserInteraction::USER_INTERACTION_UNSPECIFIED {
2545 os.write_enum(8, ::protobuf::ProtobufEnum::value(&self.user_interaction))?;
2546 }
2547 if self.scope != CVSSv3_Scope::SCOPE_UNSPECIFIED {
2548 os.write_enum(9, ::protobuf::ProtobufEnum::value(&self.scope))?;
2549 }
2550 if self.confidentiality_impact != CVSSv3_Impact::IMPACT_UNSPECIFIED {
2551 os.write_enum(10, ::protobuf::ProtobufEnum::value(&self.confidentiality_impact))?;
2552 }
2553 if self.integrity_impact != CVSSv3_Impact::IMPACT_UNSPECIFIED {
2554 os.write_enum(11, ::protobuf::ProtobufEnum::value(&self.integrity_impact))?;
2555 }
2556 if self.availability_impact != CVSSv3_Impact::IMPACT_UNSPECIFIED {
2557 os.write_enum(12, ::protobuf::ProtobufEnum::value(&self.availability_impact))?;
2558 }
2559 os.write_unknown_fields(self.get_unknown_fields())?;
2560 ::std::result::Result::Ok(())
2561 }
2562
2563 fn get_cached_size(&self) -> u32 {
2564 self.cached_size.get()
2565 }
2566
2567 fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2568 &self.unknown_fields
2569 }
2570
2571 fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2572 &mut self.unknown_fields
2573 }
2574
2575 fn as_any(&self) -> &dyn (::std::any::Any) {
2576 self as &dyn (::std::any::Any)
2577 }
2578 fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2579 self as &mut dyn (::std::any::Any)
2580 }
2581 fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2582 self
2583 }
2584
2585 fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2586 Self::descriptor_static()
2587 }
2588
2589 fn new() -> CVSSv3 {
2590 CVSSv3::new()
2591 }
2592
2593 fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2594 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2595 descriptor.get(|| {
2596 let mut fields = ::std::vec::Vec::new();
2597 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeFloat>(
2598 "base_score",
2599 |m: &CVSSv3| { &m.base_score },
2600 |m: &mut CVSSv3| { &mut m.base_score },
2601 ));
2602 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeFloat>(
2603 "exploitability_score",
2604 |m: &CVSSv3| { &m.exploitability_score },
2605 |m: &mut CVSSv3| { &mut m.exploitability_score },
2606 ));
2607 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeFloat>(
2608 "impact_score",
2609 |m: &CVSSv3| { &m.impact_score },
2610 |m: &mut CVSSv3| { &mut m.impact_score },
2611 ));
2612 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<CVSSv3_AttackVector>>(
2613 "attack_vector",
2614 |m: &CVSSv3| { &m.attack_vector },
2615 |m: &mut CVSSv3| { &mut m.attack_vector },
2616 ));
2617 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<CVSSv3_AttackComplexity>>(
2618 "attack_complexity",
2619 |m: &CVSSv3| { &m.attack_complexity },
2620 |m: &mut CVSSv3| { &mut m.attack_complexity },
2621 ));
2622 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<CVSSv3_PrivilegesRequired>>(
2623 "privileges_required",
2624 |m: &CVSSv3| { &m.privileges_required },
2625 |m: &mut CVSSv3| { &mut m.privileges_required },
2626 ));
2627 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<CVSSv3_UserInteraction>>(
2628 "user_interaction",
2629 |m: &CVSSv3| { &m.user_interaction },
2630 |m: &mut CVSSv3| { &mut m.user_interaction },
2631 ));
2632 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<CVSSv3_Scope>>(
2633 "scope",
2634 |m: &CVSSv3| { &m.scope },
2635 |m: &mut CVSSv3| { &mut m.scope },
2636 ));
2637 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<CVSSv3_Impact>>(
2638 "confidentiality_impact",
2639 |m: &CVSSv3| { &m.confidentiality_impact },
2640 |m: &mut CVSSv3| { &mut m.confidentiality_impact },
2641 ));
2642 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<CVSSv3_Impact>>(
2643 "integrity_impact",
2644 |m: &CVSSv3| { &m.integrity_impact },
2645 |m: &mut CVSSv3| { &mut m.integrity_impact },
2646 ));
2647 fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<CVSSv3_Impact>>(
2648 "availability_impact",
2649 |m: &CVSSv3| { &m.availability_impact },
2650 |m: &mut CVSSv3| { &mut m.availability_impact },
2651 ));
2652 ::protobuf::reflect::MessageDescriptor::new_pb_name::<CVSSv3>(
2653 "CVSSv3",
2654 fields,
2655 file_descriptor_proto()
2656 )
2657 })
2658 }
2659
2660 fn default_instance() -> &'static CVSSv3 {
2661 static instance: ::protobuf::rt::LazyV2<CVSSv3> = ::protobuf::rt::LazyV2::INIT;
2662 instance.get(CVSSv3::new)
2663 }
2664}
2665
2666impl ::protobuf::Clear for CVSSv3 {
2667 fn clear(&mut self) {
2668 self.base_score = 0.;
2669 self.exploitability_score = 0.;
2670 self.impact_score = 0.;
2671 self.attack_vector = CVSSv3_AttackVector::ATTACK_VECTOR_UNSPECIFIED;
2672 self.attack_complexity = CVSSv3_AttackComplexity::ATTACK_COMPLEXITY_UNSPECIFIED;
2673 self.privileges_required = CVSSv3_PrivilegesRequired::PRIVILEGES_REQUIRED_UNSPECIFIED;
2674 self.user_interaction = CVSSv3_UserInteraction::USER_INTERACTION_UNSPECIFIED;
2675 self.scope = CVSSv3_Scope::SCOPE_UNSPECIFIED;
2676 self.confidentiality_impact = CVSSv3_Impact::IMPACT_UNSPECIFIED;
2677 self.integrity_impact = CVSSv3_Impact::IMPACT_UNSPECIFIED;
2678 self.availability_impact = CVSSv3_Impact::IMPACT_UNSPECIFIED;
2679 self.unknown_fields.clear();
2680 }
2681}
2682
2683impl ::std::fmt::Debug for CVSSv3 {
2684 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2685 ::protobuf::text_format::fmt(self, f)
2686 }
2687}
2688
2689impl ::protobuf::reflect::ProtobufValue for CVSSv3 {
2690 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2691 ::protobuf::reflect::ReflectValueRef::Message(self)
2692 }
2693}
2694
2695#[derive(Clone,PartialEq,Eq,Debug,Hash)]
2696pub enum CVSSv3_AttackVector {
2697 ATTACK_VECTOR_UNSPECIFIED = 0,
2698 ATTACK_VECTOR_NETWORK = 1,
2699 ATTACK_VECTOR_ADJACENT = 2,
2700 ATTACK_VECTOR_LOCAL = 3,
2701 ATTACK_VECTOR_PHYSICAL = 4,
2702}
2703
2704impl ::protobuf::ProtobufEnum for CVSSv3_AttackVector {
2705 fn value(&self) -> i32 {
2706 *self as i32
2707 }
2708
2709 fn from_i32(value: i32) -> ::std::option::Option<CVSSv3_AttackVector> {
2710 match value {
2711 0 => ::std::option::Option::Some(CVSSv3_AttackVector::ATTACK_VECTOR_UNSPECIFIED),
2712 1 => ::std::option::Option::Some(CVSSv3_AttackVector::ATTACK_VECTOR_NETWORK),
2713 2 => ::std::option::Option::Some(CVSSv3_AttackVector::ATTACK_VECTOR_ADJACENT),
2714 3 => ::std::option::Option::Some(CVSSv3_AttackVector::ATTACK_VECTOR_LOCAL),
2715 4 => ::std::option::Option::Some(CVSSv3_AttackVector::ATTACK_VECTOR_PHYSICAL),
2716 _ => ::std::option::Option::None
2717 }
2718 }
2719
2720 fn values() -> &'static [Self] {
2721 static values: &'static [CVSSv3_AttackVector] = &[
2722 CVSSv3_AttackVector::ATTACK_VECTOR_UNSPECIFIED,
2723 CVSSv3_AttackVector::ATTACK_VECTOR_NETWORK,
2724 CVSSv3_AttackVector::ATTACK_VECTOR_ADJACENT,
2725 CVSSv3_AttackVector::ATTACK_VECTOR_LOCAL,
2726 CVSSv3_AttackVector::ATTACK_VECTOR_PHYSICAL,
2727 ];
2728 values
2729 }
2730
2731 fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
2732 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
2733 descriptor.get(|| {
2734 ::protobuf::reflect::EnumDescriptor::new_pb_name::<CVSSv3_AttackVector>("CVSSv3.AttackVector", file_descriptor_proto())
2735 })
2736 }
2737}
2738
2739impl ::std::marker::Copy for CVSSv3_AttackVector {
2740}
2741
2742impl ::std::default::Default for CVSSv3_AttackVector {
2743 fn default() -> Self {
2744 CVSSv3_AttackVector::ATTACK_VECTOR_UNSPECIFIED
2745 }
2746}
2747
2748impl ::protobuf::reflect::ProtobufValue for CVSSv3_AttackVector {
2749 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2750 ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
2751 }
2752}
2753
2754#[derive(Clone,PartialEq,Eq,Debug,Hash)]
2755pub enum CVSSv3_AttackComplexity {
2756 ATTACK_COMPLEXITY_UNSPECIFIED = 0,
2757 ATTACK_COMPLEXITY_LOW = 1,
2758 ATTACK_COMPLEXITY_HIGH = 2,
2759}
2760
2761impl ::protobuf::ProtobufEnum for CVSSv3_AttackComplexity {
2762 fn value(&self) -> i32 {
2763 *self as i32
2764 }
2765
2766 fn from_i32(value: i32) -> ::std::option::Option<CVSSv3_AttackComplexity> {
2767 match value {
2768 0 => ::std::option::Option::Some(CVSSv3_AttackComplexity::ATTACK_COMPLEXITY_UNSPECIFIED),
2769 1 => ::std::option::Option::Some(CVSSv3_AttackComplexity::ATTACK_COMPLEXITY_LOW),
2770 2 => ::std::option::Option::Some(CVSSv3_AttackComplexity::ATTACK_COMPLEXITY_HIGH),
2771 _ => ::std::option::Option::None
2772 }
2773 }
2774
2775 fn values() -> &'static [Self] {
2776 static values: &'static [CVSSv3_AttackComplexity] = &[
2777 CVSSv3_AttackComplexity::ATTACK_COMPLEXITY_UNSPECIFIED,
2778 CVSSv3_AttackComplexity::ATTACK_COMPLEXITY_LOW,
2779 CVSSv3_AttackComplexity::ATTACK_COMPLEXITY_HIGH,
2780 ];
2781 values
2782 }
2783
2784 fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
2785 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
2786 descriptor.get(|| {
2787 ::protobuf::reflect::EnumDescriptor::new_pb_name::<CVSSv3_AttackComplexity>("CVSSv3.AttackComplexity", file_descriptor_proto())
2788 })
2789 }
2790}
2791
2792impl ::std::marker::Copy for CVSSv3_AttackComplexity {
2793}
2794
2795impl ::std::default::Default for CVSSv3_AttackComplexity {
2796 fn default() -> Self {
2797 CVSSv3_AttackComplexity::ATTACK_COMPLEXITY_UNSPECIFIED
2798 }
2799}
2800
2801impl ::protobuf::reflect::ProtobufValue for CVSSv3_AttackComplexity {
2802 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2803 ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
2804 }
2805}
2806
2807#[derive(Clone,PartialEq,Eq,Debug,Hash)]
2808pub enum CVSSv3_PrivilegesRequired {
2809 PRIVILEGES_REQUIRED_UNSPECIFIED = 0,
2810 PRIVILEGES_REQUIRED_NONE = 1,
2811 PRIVILEGES_REQUIRED_LOW = 2,
2812 PRIVILEGES_REQUIRED_HIGH = 3,
2813}
2814
2815impl ::protobuf::ProtobufEnum for CVSSv3_PrivilegesRequired {
2816 fn value(&self) -> i32 {
2817 *self as i32
2818 }
2819
2820 fn from_i32(value: i32) -> ::std::option::Option<CVSSv3_PrivilegesRequired> {
2821 match value {
2822 0 => ::std::option::Option::Some(CVSSv3_PrivilegesRequired::PRIVILEGES_REQUIRED_UNSPECIFIED),
2823 1 => ::std::option::Option::Some(CVSSv3_PrivilegesRequired::PRIVILEGES_REQUIRED_NONE),
2824 2 => ::std::option::Option::Some(CVSSv3_PrivilegesRequired::PRIVILEGES_REQUIRED_LOW),
2825 3 => ::std::option::Option::Some(CVSSv3_PrivilegesRequired::PRIVILEGES_REQUIRED_HIGH),
2826 _ => ::std::option::Option::None
2827 }
2828 }
2829
2830 fn values() -> &'static [Self] {
2831 static values: &'static [CVSSv3_PrivilegesRequired] = &[
2832 CVSSv3_PrivilegesRequired::PRIVILEGES_REQUIRED_UNSPECIFIED,
2833 CVSSv3_PrivilegesRequired::PRIVILEGES_REQUIRED_NONE,
2834 CVSSv3_PrivilegesRequired::PRIVILEGES_REQUIRED_LOW,
2835 CVSSv3_PrivilegesRequired::PRIVILEGES_REQUIRED_HIGH,
2836 ];
2837 values
2838 }
2839
2840 fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
2841 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
2842 descriptor.get(|| {
2843 ::protobuf::reflect::EnumDescriptor::new_pb_name::<CVSSv3_PrivilegesRequired>("CVSSv3.PrivilegesRequired", file_descriptor_proto())
2844 })
2845 }
2846}
2847
2848impl ::std::marker::Copy for CVSSv3_PrivilegesRequired {
2849}
2850
2851impl ::std::default::Default for CVSSv3_PrivilegesRequired {
2852 fn default() -> Self {
2853 CVSSv3_PrivilegesRequired::PRIVILEGES_REQUIRED_UNSPECIFIED
2854 }
2855}
2856
2857impl ::protobuf::reflect::ProtobufValue for CVSSv3_PrivilegesRequired {
2858 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2859 ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
2860 }
2861}
2862
2863#[derive(Clone,PartialEq,Eq,Debug,Hash)]
2864pub enum CVSSv3_UserInteraction {
2865 USER_INTERACTION_UNSPECIFIED = 0,
2866 USER_INTERACTION_NONE = 1,
2867 USER_INTERACTION_REQUIRED = 2,
2868}
2869
2870impl ::protobuf::ProtobufEnum for CVSSv3_UserInteraction {
2871 fn value(&self) -> i32 {
2872 *self as i32
2873 }
2874
2875 fn from_i32(value: i32) -> ::std::option::Option<CVSSv3_UserInteraction> {
2876 match value {
2877 0 => ::std::option::Option::Some(CVSSv3_UserInteraction::USER_INTERACTION_UNSPECIFIED),
2878 1 => ::std::option::Option::Some(CVSSv3_UserInteraction::USER_INTERACTION_NONE),
2879 2 => ::std::option::Option::Some(CVSSv3_UserInteraction::USER_INTERACTION_REQUIRED),
2880 _ => ::std::option::Option::None
2881 }
2882 }
2883
2884 fn values() -> &'static [Self] {
2885 static values: &'static [CVSSv3_UserInteraction] = &[
2886 CVSSv3_UserInteraction::USER_INTERACTION_UNSPECIFIED,
2887 CVSSv3_UserInteraction::USER_INTERACTION_NONE,
2888 CVSSv3_UserInteraction::USER_INTERACTION_REQUIRED,
2889 ];
2890 values
2891 }
2892
2893 fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
2894 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
2895 descriptor.get(|| {
2896 ::protobuf::reflect::EnumDescriptor::new_pb_name::<CVSSv3_UserInteraction>("CVSSv3.UserInteraction", file_descriptor_proto())
2897 })
2898 }
2899}
2900
2901impl ::std::marker::Copy for CVSSv3_UserInteraction {
2902}
2903
2904impl ::std::default::Default for CVSSv3_UserInteraction {
2905 fn default() -> Self {
2906 CVSSv3_UserInteraction::USER_INTERACTION_UNSPECIFIED
2907 }
2908}
2909
2910impl ::protobuf::reflect::ProtobufValue for CVSSv3_UserInteraction {
2911 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2912 ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
2913 }
2914}
2915
2916#[derive(Clone,PartialEq,Eq,Debug,Hash)]
2917pub enum CVSSv3_Scope {
2918 SCOPE_UNSPECIFIED = 0,
2919 SCOPE_UNCHANGED = 1,
2920 SCOPE_CHANGED = 2,
2921}
2922
2923impl ::protobuf::ProtobufEnum for CVSSv3_Scope {
2924 fn value(&self) -> i32 {
2925 *self as i32
2926 }
2927
2928 fn from_i32(value: i32) -> ::std::option::Option<CVSSv3_Scope> {
2929 match value {
2930 0 => ::std::option::Option::Some(CVSSv3_Scope::SCOPE_UNSPECIFIED),
2931 1 => ::std::option::Option::Some(CVSSv3_Scope::SCOPE_UNCHANGED),
2932 2 => ::std::option::Option::Some(CVSSv3_Scope::SCOPE_CHANGED),
2933 _ => ::std::option::Option::None
2934 }
2935 }
2936
2937 fn values() -> &'static [Self] {
2938 static values: &'static [CVSSv3_Scope] = &[
2939 CVSSv3_Scope::SCOPE_UNSPECIFIED,
2940 CVSSv3_Scope::SCOPE_UNCHANGED,
2941 CVSSv3_Scope::SCOPE_CHANGED,
2942 ];
2943 values
2944 }
2945
2946 fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
2947 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
2948 descriptor.get(|| {
2949 ::protobuf::reflect::EnumDescriptor::new_pb_name::<CVSSv3_Scope>("CVSSv3.Scope", file_descriptor_proto())
2950 })
2951 }
2952}
2953
2954impl ::std::marker::Copy for CVSSv3_Scope {
2955}
2956
2957impl ::std::default::Default for CVSSv3_Scope {
2958 fn default() -> Self {
2959 CVSSv3_Scope::SCOPE_UNSPECIFIED
2960 }
2961}
2962
2963impl ::protobuf::reflect::ProtobufValue for CVSSv3_Scope {
2964 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2965 ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
2966 }
2967}
2968
2969#[derive(Clone,PartialEq,Eq,Debug,Hash)]
2970pub enum CVSSv3_Impact {
2971 IMPACT_UNSPECIFIED = 0,
2972 IMPACT_HIGH = 1,
2973 IMPACT_LOW = 2,
2974 IMPACT_NONE = 3,
2975}
2976
2977impl ::protobuf::ProtobufEnum for CVSSv3_Impact {
2978 fn value(&self) -> i32 {
2979 *self as i32
2980 }
2981
2982 fn from_i32(value: i32) -> ::std::option::Option<CVSSv3_Impact> {
2983 match value {
2984 0 => ::std::option::Option::Some(CVSSv3_Impact::IMPACT_UNSPECIFIED),
2985 1 => ::std::option::Option::Some(CVSSv3_Impact::IMPACT_HIGH),
2986 2 => ::std::option::Option::Some(CVSSv3_Impact::IMPACT_LOW),
2987 3 => ::std::option::Option::Some(CVSSv3_Impact::IMPACT_NONE),
2988 _ => ::std::option::Option::None
2989 }
2990 }
2991
2992 fn values() -> &'static [Self] {
2993 static values: &'static [CVSSv3_Impact] = &[
2994 CVSSv3_Impact::IMPACT_UNSPECIFIED,
2995 CVSSv3_Impact::IMPACT_HIGH,
2996 CVSSv3_Impact::IMPACT_LOW,
2997 CVSSv3_Impact::IMPACT_NONE,
2998 ];
2999 values
3000 }
3001
3002 fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
3003 static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
3004 descriptor.get(|| {
3005 ::protobuf::reflect::EnumDescriptor::new_pb_name::<CVSSv3_Impact>("CVSSv3.Impact", file_descriptor_proto())
3006 })
3007 }
3008}
3009
3010impl ::std::marker::Copy for CVSSv3_Impact {
3011}
3012
3013impl ::std::default::Default for CVSSv3_Impact {
3014 fn default() -> Self {
3015 CVSSv3_Impact::IMPACT_UNSPECIFIED
3016 }
3017}
3018
3019impl ::protobuf::reflect::ProtobufValue for CVSSv3_Impact {
3020 fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3021 ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
3022 }
3023}
3024
3025static file_descriptor_proto_data: &'static [u8] = b"\
3026 \n1google/cloud/osconfig/v1alpha/vulnerability.proto\x12\x1dgoogle.cloud\
3027 .osconfig.v1alpha\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/a\
3028 pi/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xf6\n\n\x13Vu\
3029 lnerabilityReport\x12\x17\n\x04name\x18\x01\x20\x01(\tR\x04nameB\x03\xe0\
3030 A\x03\x12o\n\x0fvulnerabilities\x18\x02\x20\x03(\x0b2@.google.cloud.osco\
3031 nfig.v1alpha.VulnerabilityReport.VulnerabilityR\x0fvulnerabilitiesB\x03\
3032 \xe0A\x03\x12@\n\x0bupdate_time\x18\x03\x20\x01(\x0b2\x1a.google.protobu\
3033 f.TimestampR\nupdateTimeB\x03\xe0A\x03\x1a\x8d\x08\n\rVulnerability\x12b\
3034 \n\x07details\x18\x01\x20\x01(\x0b2H.google.cloud.osconfig.v1alpha.Vulne\
3035 rabilityReport.Vulnerability.DetailsR\x07details\x12C\n\x1cinstalled_inv\
3036 entory_item_ids\x18\x02\x20\x03(\tR\x19installedInventoryItemIdsB\x02\
3037 \x18\x01\x12C\n\x1cavailable_inventory_item_ids\x18\x03\x20\x03(\tR\x19a\
3038 vailableInventoryItemIdsB\x02\x18\x01\x12;\n\x0bcreate_time\x18\x04\x20\
3039 \x01(\x0b2\x1a.google.protobuf.TimestampR\ncreateTime\x12;\n\x0bupdate_t\
3040 ime\x18\x05\x20\x01(\x0b2\x1a.google.protobuf.TimestampR\nupdateTime\x12\
3041 [\n\x05items\x18\x06\x20\x03(\x0b2E.google.cloud.osconfig.v1alpha.Vulner\
3042 abilityReport.Vulnerability.ItemR\x05items\x1a\xe8\x02\n\x07Details\x12\
3043 \x10\n\x03cve\x18\x01\x20\x01(\tR\x03cve\x12\"\n\rcvss_v2_score\x18\x02\
3044 \x20\x01(\x02R\x0bcvssV2Score\x12>\n\x07cvss_v3\x18\x03\x20\x01(\x0b2%.g\
3045 oogle.cloud.osconfig.v1alpha.CVSSv3R\x06cvssV3\x12\x1a\n\x08severity\x18\
3046 \x04\x20\x01(\tR\x08severity\x12\x20\n\x0bdescription\x18\x05\x20\x01(\t\
3047 R\x0bdescription\x12r\n\nreferences\x18\x06\x20\x03(\x0b2R.google.cloud.\
3048 osconfig.v1alpha.VulnerabilityReport.Vulnerability.Details.ReferenceR\nr\
3049 eferences\x1a5\n\tReference\x12\x10\n\x03url\x18\x01\x20\x01(\tR\x03url\
3050 \x12\x16\n\x06source\x18\x02\x20\x01(\tR\x06source\x1a\xcb\x01\n\x04Item\
3051 \x12=\n\x1binstalled_inventory_item_id\x18\x01\x20\x01(\tR\x18installedI\
3052 nventoryItemId\x12=\n\x1bavailable_inventory_item_id\x18\x02\x20\x01(\tR\
3053 \x18availableInventoryItemId\x12\"\n\rfixed_cpe_uri\x18\x03\x20\x01(\tR\
3054 \x0bfixedCpeUri\x12!\n\x0cupstream_fix\x18\x04\x20\x01(\tR\x0bupstreamFi\
3055 x:\x82\x01\xeaA\x7f\n+osconfig.googleapis.com/VulnerabilityReport\x12Ppr\
3056 ojects/{project}/locations/{location}/instances/{instance}/vulnerability\
3057 Report\"h\n\x1dGetVulnerabilityReportRequest\x12G\n\x04name\x18\x01\x20\
3058 \x01(\tR\x04nameB3\xfaA-\n+osconfig.googleapis.com/VulnerabilityReport\
3059 \xe0A\x02\"\xb6\x01\n\x1fListVulnerabilityReportsRequest\x12?\n\x06paren\
3060 t\x18\x01\x20\x01(\tR\x06parentB'\xfaA!\n\x1fcompute.googleapis.com/Inst\
3061 ance\xe0A\x02\x12\x1b\n\tpage_size\x18\x02\x20\x01(\x05R\x08pageSize\x12\
3062 \x1d\n\npage_token\x18\x03\x20\x01(\tR\tpageToken\x12\x16\n\x06filter\
3063 \x18\x04\x20\x01(\tR\x06filter\"\xb3\x01\n\x20ListVulnerabilityReportsRe\
3064 sponse\x12g\n\x15vulnerability_reports\x18\x01\x20\x03(\x0b22.google.clo\
3065 ud.osconfig.v1alpha.VulnerabilityReportR\x14vulnerabilityReports\x12&\n\
3066 \x0fnext_page_token\x18\x02\x20\x01(\tR\rnextPageToken\"\x92\x0c\n\x06CV\
3067 SSv3\x12\x1d\n\nbase_score\x18\x01\x20\x01(\x02R\tbaseScore\x121\n\x14ex\
3068 ploitability_score\x18\x02\x20\x01(\x02R\x13exploitabilityScore\x12!\n\
3069 \x0cimpact_score\x18\x03\x20\x01(\x02R\x0bimpactScore\x12W\n\rattack_vec\
3070 tor\x18\x05\x20\x01(\x0e22.google.cloud.osconfig.v1alpha.CVSSv3.AttackVe\
3071 ctorR\x0cattackVector\x12c\n\x11attack_complexity\x18\x06\x20\x01(\x0e26\
3072 .google.cloud.osconfig.v1alpha.CVSSv3.AttackComplexityR\x10attackComplex\
3073 ity\x12i\n\x13privileges_required\x18\x07\x20\x01(\x0e28.google.cloud.os\
3074 config.v1alpha.CVSSv3.PrivilegesRequiredR\x12privilegesRequired\x12`\n\
3075 \x10user_interaction\x18\x08\x20\x01(\x0e25.google.cloud.osconfig.v1alph\
3076 a.CVSSv3.UserInteractionR\x0fuserInteraction\x12A\n\x05scope\x18\t\x20\
3077 \x01(\x0e2+.google.cloud.osconfig.v1alpha.CVSSv3.ScopeR\x05scope\x12c\n\
3078 \x16confidentiality_impact\x18\n\x20\x01(\x0e2,.google.cloud.osconfig.v1\
3079 alpha.CVSSv3.ImpactR\x15confidentialityImpact\x12W\n\x10integrity_impact\
3080 \x18\x0b\x20\x01(\x0e2,.google.cloud.osconfig.v1alpha.CVSSv3.ImpactR\x0f\
3081 integrityImpact\x12]\n\x13availability_impact\x18\x0c\x20\x01(\x0e2,.goo\
3082 gle.cloud.osconfig.v1alpha.CVSSv3.ImpactR\x12availabilityImpact\"\x99\
3083 \x01\n\x0cAttackVector\x12\x1d\n\x19ATTACK_VECTOR_UNSPECIFIED\x10\0\x12\
3084 \x19\n\x15ATTACK_VECTOR_NETWORK\x10\x01\x12\x1a\n\x16ATTACK_VECTOR_ADJAC\
3085 ENT\x10\x02\x12\x17\n\x13ATTACK_VECTOR_LOCAL\x10\x03\x12\x1a\n\x16ATTACK\
3086 _VECTOR_PHYSICAL\x10\x04\"l\n\x10AttackComplexity\x12!\n\x1dATTACK_COMPL\
3087 EXITY_UNSPECIFIED\x10\0\x12\x19\n\x15ATTACK_COMPLEXITY_LOW\x10\x01\x12\
3088 \x1a\n\x16ATTACK_COMPLEXITY_HIGH\x10\x02\"\x92\x01\n\x12PrivilegesRequir\
3089 ed\x12#\n\x1fPRIVILEGES_REQUIRED_UNSPECIFIED\x10\0\x12\x1c\n\x18PRIVILEG\
3090 ES_REQUIRED_NONE\x10\x01\x12\x1b\n\x17PRIVILEGES_REQUIRED_LOW\x10\x02\
3091 \x12\x1c\n\x18PRIVILEGES_REQUIRED_HIGH\x10\x03\"m\n\x0fUserInteraction\
3092 \x12\x20\n\x1cUSER_INTERACTION_UNSPECIFIED\x10\0\x12\x19\n\x15USER_INTER\
3093 ACTION_NONE\x10\x01\x12\x1d\n\x19USER_INTERACTION_REQUIRED\x10\x02\"F\n\
3094 \x05Scope\x12\x15\n\x11SCOPE_UNSPECIFIED\x10\0\x12\x13\n\x0fSCOPE_UNCHAN\
3095 GED\x10\x01\x12\x11\n\rSCOPE_CHANGED\x10\x02\"R\n\x06Impact\x12\x16\n\
3096 \x12IMPACT_UNSPECIFIED\x10\0\x12\x0f\n\x0bIMPACT_HIGH\x10\x01\x12\x0e\n\
3097 \nIMPACT_LOW\x10\x02\x12\x0f\n\x0bIMPACT_NONE\x10\x03B\xdb\x01\n!com.goo\
3098 gle.cloud.osconfig.v1alphaB\x12VulnerabilityProtoP\x01Z=cloud.google.com\
3099 /go/osconfig/apiv1alpha/osconfigpb;osconfigpb\xaa\x02\x1dGoogle.Cloud.Os\
3100 Config.V1Alpha\xca\x02\x1dGoogle\\Cloud\\OsConfig\\V1alpha\xea\x02\x20Go\
3101 ogle::Cloud::OsConfig::V1alphaJ\xf2p\n\x07\x12\x05\x0e\0\xec\x02\x01\n\
3102 \xbc\x04\n\x01\x0c\x12\x03\x0e\0\x122\xb1\x04\x20Copyright\x202021\x20Go\
3103 ogle\x20LLC\n\n\x20Licensed\x20under\x20the\x20Apache\x20License,\x20Ver\
3104 sion\x202.0\x20(the\x20\"License\");\n\x20you\x20may\x20not\x20use\x20th\
3105 is\x20file\x20except\x20in\x20compliance\x20with\x20the\x20License.\n\
3106 \x20You\x20may\x20obtain\x20a\x20copy\x20of\x20the\x20License\x20at\n\n\
3107 \x20\x20\x20\x20\x20http://www.apache.org/licenses/LICENSE-2.0\n\n\x20Un\
3108 less\x20required\x20by\x20applicable\x20law\x20or\x20agreed\x20to\x20in\
3109 \x20writing,\x20software\n\x20distributed\x20under\x20the\x20License\x20\
3110 is\x20distributed\x20on\x20an\x20\"AS\x20IS\"\x20BASIS,\n\x20WITHOUT\x20\
3111 WARRANTIES\x20OR\x20CONDITIONS\x20OF\x20ANY\x20KIND,\x20either\x20expres\
3112 s\x20or\x20implied.\n\x20See\x20the\x20License\x20for\x20the\x20specific\
3113 \x20language\x20governing\x20permissions\x20and\n\x20limitations\x20unde\
3114 r\x20the\x20License.\n\n\x08\n\x01\x02\x12\x03\x10\0&\n\t\n\x02\x03\0\
3115 \x12\x03\x12\0)\n\t\n\x02\x03\x01\x12\x03\x13\0#\n\t\n\x02\x03\x02\x12\
3116 \x03\x14\0)\n\x08\n\x01\x08\x12\x03\x16\0:\n\t\n\x02\x08%\x12\x03\x16\0:\
3117 \n\x08\n\x01\x08\x12\x03\x17\0T\n\t\n\x02\x08\x0b\x12\x03\x17\0T\n\x08\n\
3118 \x01\x08\x12\x03\x18\0\"\n\t\n\x02\x08\n\x12\x03\x18\0\"\n\x08\n\x01\x08\
3119 \x12\x03\x19\03\n\t\n\x02\x08\x08\x12\x03\x19\03\n\x08\n\x01\x08\x12\x03\
3120 \x1a\0:\n\t\n\x02\x08\x01\x12\x03\x1a\0:\n\x08\n\x01\x08\x12\x03\x1b\0:\
3121 \n\t\n\x02\x08)\x12\x03\x1b\0:\n\x08\n\x01\x08\x12\x03\x1c\09\n\t\n\x02\
3122 \x08-\x12\x03\x1c\09\n\xb2\x02\n\x02\x04\0\x12\x05#\0\x90\x01\x01\x1a\
3123 \xa4\x02\x20This\x20API\x20resource\x20represents\x20the\x20vulnerabilit\
3124 y\x20report\x20for\x20a\x20specified\n\x20Compute\x20Engine\x20virtual\
3125 \x20machine\x20(VM)\x20instance\x20at\x20a\x20given\x20point\x20in\x20ti\
3126 me.\n\n\x20For\x20more\x20information,\x20see\x20[Vulnerability\n\x20rep\
3127 orts](https://cloud.google.com/compute/docs/instances/os-inventory-manag\
3128 ement#vulnerability-reports).\n\n\n\n\x03\x04\0\x01\x12\x03#\x08\x1b\n\
3129 \x0b\n\x03\x04\0\x07\x12\x04$\x02'\x04\n\r\n\x05\x04\0\x07\x9d\x08\x12\
3130 \x04$\x02'\x04\n;\n\x04\x04\0\x03\0\x12\x05*\x02\x82\x01\x03\x1a,\x20A\
3131 \x20vulnerability\x20affecting\x20the\x20VM\x20instance.\n\n\x0c\n\x05\
3132 \x04\0\x03\0\x01\x12\x03*\n\x17\n\x96\x01\n\x06\x04\0\x03\0\x03\0\x12\
3133 \x04-\x04K\x05\x1a\x85\x01\x20Contains\x20metadata\x20information\x20for\
3134 \x20the\x20vulnerability.\x20This\x20information\x20is\n\x20collected\
3135 \x20from\x20the\x20upstream\x20feed\x20of\x20the\x20operating\x20system.\
3136 \n\n\x0e\n\x07\x04\0\x03\0\x03\0\x01\x12\x03-\x0c\x13\n7\n\x08\x04\0\x03\
3137 \0\x03\0\x03\0\x12\x04/\x065\x07\x1a%\x20A\x20reference\x20for\x20this\
3138 \x20vulnerability.\n\n\x10\n\t\x04\0\x03\0\x03\0\x03\0\x01\x12\x03/\x0e\
3139 \x17\n.\n\n\x04\0\x03\0\x03\0\x03\0\x02\0\x12\x031\x08\x17\x1a\x1b\x20Th\
3140 e\x20url\x20of\x20the\x20reference.\n\n\x12\n\x0b\x04\0\x03\0\x03\0\x03\
3141 \0\x02\0\x05\x12\x031\x08\x0e\n\x12\n\x0b\x04\0\x03\0\x03\0\x03\0\x02\0\
3142 \x01\x12\x031\x0f\x12\n\x12\n\x0b\x04\0\x03\0\x03\0\x03\0\x02\0\x03\x12\
3143 \x031\x15\x16\n:\n\n\x04\0\x03\0\x03\0\x03\0\x02\x01\x12\x034\x08\x1a\
3144 \x1a'\x20The\x20source\x20of\x20the\x20reference\x20e.g.\x20NVD.\n\n\x12\
3145 \n\x0b\x04\0\x03\0\x03\0\x03\0\x02\x01\x05\x12\x034\x08\x0e\n\x12\n\x0b\
3146 \x04\0\x03\0\x03\0\x03\0\x02\x01\x01\x12\x034\x0f\x15\n\x12\n\x0b\x04\0\
3147 \x03\0\x03\0\x03\0\x02\x01\x03\x12\x034\x18\x19\n\xa6\x01\n\x08\x04\0\
3148 \x03\0\x03\0\x02\0\x12\x03:\x06\x15\x1a\x94\x01\x20The\x20CVE\x20of\x20t\
3149 he\x20vulnerability.\x20CVE\x20cannot\x20be\n\x20empty\x20and\x20the\x20\
3150 combination\x20of\x20<cve,\x20classification>\x20should\x20be\x20unique\
3151 \n\x20across\x20vulnerabilities\x20for\x20a\x20VM.\n\n\x10\n\t\x04\0\x03\
3152 \0\x03\0\x02\0\x05\x12\x03:\x06\x0c\n\x10\n\t\x04\0\x03\0\x03\0\x02\0\
3153 \x01\x12\x03:\r\x10\n\x10\n\t\x04\0\x03\0\x03\0\x02\0\x03\x12\x03:\x13\
3154 \x14\n\xa2\x01\n\x08\x04\0\x03\0\x03\0\x02\x01\x12\x03>\x06\x1e\x1a\x90\
3155 \x01\x20The\x20CVSS\x20V2\x20score\x20of\x20this\x20vulnerability.\x20CV\
3156 SS\x20V2\x20score\x20is\x20on\x20a\x20scale\x20of\n\x200\x20-\x2010\x20w\
3157 here\x200\x20indicates\x20low\x20severity\x20and\x2010\x20indicates\x20h\
3158 igh\x20severity.\n\n\x10\n\t\x04\0\x03\0\x03\0\x02\x01\x05\x12\x03>\x06\
3159 \x0b\n\x10\n\t\x04\0\x03\0\x03\0\x02\x01\x01\x12\x03>\x0c\x19\n\x10\n\t\
3160 \x04\0\x03\0\x03\0\x02\x01\x03\x12\x03>\x1c\x1d\nV\n\x08\x04\0\x03\0\x03\
3161 \0\x02\x02\x12\x03A\x06\x19\x1aE\x20The\x20full\x20description\x20of\x20\
3162 the\x20CVSSv3\x20for\x20this\x20vulnerability\x20from\x20NVD.\n\n\x10\n\
3163 \t\x04\0\x03\0\x03\0\x02\x02\x06\x12\x03A\x06\x0c\n\x10\n\t\x04\0\x03\0\
3164 \x03\0\x02\x02\x01\x12\x03A\r\x14\n\x10\n\t\x04\0\x03\0\x03\0\x02\x02\
3165 \x03\x12\x03A\x17\x18\nD\n\x08\x04\0\x03\0\x03\0\x02\x03\x12\x03D\x06\
3166 \x1a\x1a3\x20Assigned\x20severity/impact\x20ranking\x20from\x20the\x20di\
3167 stro.\n\n\x10\n\t\x04\0\x03\0\x03\0\x02\x03\x05\x12\x03D\x06\x0c\n\x10\n\
3168 \t\x04\0\x03\0\x03\0\x02\x03\x01\x12\x03D\r\x15\n\x10\n\t\x04\0\x03\0\
3169 \x03\0\x02\x03\x03\x12\x03D\x18\x19\nX\n\x08\x04\0\x03\0\x03\0\x02\x04\
3170 \x12\x03G\x06\x1d\x1aG\x20The\x20note\x20or\x20description\x20describing\
3171 \x20the\x20vulnerability\x20from\x20the\x20distro.\n\n\x10\n\t\x04\0\x03\
3172 \0\x03\0\x02\x04\x05\x12\x03G\x06\x0c\n\x10\n\t\x04\0\x03\0\x03\0\x02\
3173 \x04\x01\x12\x03G\r\x18\n\x10\n\t\x04\0\x03\0\x03\0\x02\x04\x03\x12\x03G\
3174 \x1b\x1c\nX\n\x08\x04\0\x03\0\x03\0\x02\x05\x12\x03J\x06(\x1aG\x20Corres\
3175 ponds\x20to\x20the\x20references\x20attached\x20to\x20the\x20`Vulnerabil\
3176 ityDetails`.\n\n\x10\n\t\x04\0\x03\0\x03\0\x02\x05\x04\x12\x03J\x06\x0e\
3177 \n\x10\n\t\x04\0\x03\0\x03\0\x02\x05\x06\x12\x03J\x0f\x18\n\x10\n\t\x04\
3178 \0\x03\0\x03\0\x02\x05\x01\x12\x03J\x19#\n\x10\n\t\x04\0\x03\0\x03\0\x02\
3179 \x05\x03\x12\x03J&'\nq\n\x06\x04\0\x03\0\x03\x01\x12\x04O\x04e\x05\x1aa\
3180 \x20OS\x20inventory\x20item\x20that\x20is\x20affected\x20by\x20a\x20vuln\
3181 erability\x20or\x20fixed\x20as\x20a\n\x20result\x20of\x20a\x20vulnerabil\
3182 ity.\n\n\x0e\n\x07\x04\0\x03\0\x03\x01\x01\x12\x03O\x0c\x10\n\xd2\x02\n\
3183 \x08\x04\0\x03\0\x03\x01\x02\0\x12\x03U\x06-\x1a\xc0\x02\x20Corresponds\
3184 \x20to\x20the\x20`INSTALLED_PACKAGE`\x20inventory\x20item\x20on\x20the\
3185 \x20VM.\n\x20This\x20field\x20displays\x20the\x20inventory\x20items\x20a\
3186 ffected\x20by\x20this\x20vulnerability.\n\x20If\x20the\x20vulnerability\
3187 \x20report\x20was\x20not\x20updated\x20after\x20the\x20VM\x20inventory\n\
3188 \x20update,\x20these\x20values\x20might\x20not\x20display\x20in\x20VM\
3189 \x20inventory.\x20For\x20some\n\x20operating\x20systems,\x20this\x20fiel\
3190 d\x20might\x20be\x20empty.\n\n\x10\n\t\x04\0\x03\0\x03\x01\x02\0\x05\x12\
3191 \x03U\x06\x0c\n\x10\n\t\x04\0\x03\0\x03\x01\x02\0\x01\x12\x03U\r(\n\x10\
3192 \n\t\x04\0\x03\0\x03\x01\x02\0\x03\x12\x03U+,\n\xfa\x02\n\x08\x04\0\x03\
3193 \0\x03\x01\x02\x01\x12\x03]\x06-\x1a\xe8\x02\x20Corresponds\x20to\x20the\
3194 \x20`AVAILABLE_PACKAGE`\x20inventory\x20item\x20on\x20the\x20VM.\n\x20If\
3195 \x20the\x20vulnerability\x20report\x20was\x20not\x20updated\x20after\x20\
3196 the\x20VM\x20inventory\n\x20update,\x20these\x20values\x20might\x20not\
3197 \x20display\x20in\x20VM\x20inventory.\x20If\x20there\x20is\x20no\n\x20av\
3198 ailable\x20fix,\x20the\x20field\x20is\x20empty.\x20The\x20`inventory_ite\
3199 m`\x20value\x20specifies\n\x20the\x20latest\x20`SoftwarePackage`\x20avai\
3200 lable\x20to\x20the\x20VM\x20that\x20fixes\x20the\n\x20vulnerability.\n\n\
3201 \x10\n\t\x04\0\x03\0\x03\x01\x02\x01\x05\x12\x03]\x06\x0c\n\x10\n\t\x04\
3202 \0\x03\0\x03\x01\x02\x01\x01\x12\x03]\r(\n\x10\n\t\x04\0\x03\0\x03\x01\
3203 \x02\x01\x03\x12\x03]+,\n\x86\x01\n\x08\x04\0\x03\0\x03\x01\x02\x02\x12\
3204 \x03a\x06\x1f\x1au\x20The\x20recommended\x20[CPE\x20URI](https://cpe.mit\
3205 re.org/specification/)\x20update\n\x20that\x20contains\x20a\x20fix\x20fo\
3206 r\x20this\x20vulnerability.\n\n\x10\n\t\x04\0\x03\0\x03\x01\x02\x02\x05\
3207 \x12\x03a\x06\x0c\n\x10\n\t\x04\0\x03\0\x03\x01\x02\x02\x01\x12\x03a\r\
3208 \x1a\n\x10\n\t\x04\0\x03\0\x03\x01\x02\x02\x03\x12\x03a\x1d\x1e\nV\n\x08\
3209 \x04\0\x03\0\x03\x01\x02\x03\x12\x03d\x06\x1e\x1aE\x20The\x20upstream\
3210 \x20OS\x20patch,\x20packages\x20or\x20KB\x20that\x20fixes\x20the\x20vuln\
3211 erability.\n\n\x10\n\t\x04\0\x03\0\x03\x01\x02\x03\x05\x12\x03d\x06\x0c\
3212 \n\x10\n\t\x04\0\x03\0\x03\x01\x02\x03\x01\x12\x03d\r\x19\n\x10\n\t\x04\
3213 \0\x03\0\x03\x01\x02\x03\x03\x12\x03d\x1c\x1d\n]\n\x06\x04\0\x03\0\x02\0\
3214 \x12\x03i\x04\x18\x1aN\x20Contains\x20metadata\x20as\x20per\x20the\x20up\
3215 stream\x20feed\x20of\x20the\x20operating\x20system\x20and\n\x20NVD.\n\n\
3216 \x0e\n\x07\x04\0\x03\0\x02\0\x06\x12\x03i\x04\x0b\n\x0e\n\x07\x04\0\x03\
3217 \0\x02\0\x01\x12\x03i\x0c\x13\n\x0e\n\x07\x04\0\x03\0\x02\0\x03\x12\x03i\
3218 \x16\x17\n\xc4\x02\n\x06\x04\0\x03\0\x02\x01\x12\x03p\x04I\x1a\xb4\x02\
3219 \x20Corresponds\x20to\x20the\x20`INSTALLED_PACKAGE`\x20inventory\x20item\
3220 \x20on\x20the\x20VM.\n\x20This\x20field\x20displays\x20the\x20inventory\
3221 \x20items\x20affected\x20by\x20this\x20vulnerability.\n\x20If\x20the\x20\
3222 vulnerability\x20report\x20was\x20not\x20updated\x20after\x20the\x20VM\
3223 \x20inventory\n\x20update,\x20these\x20values\x20might\x20not\x20display\
3224 \x20in\x20VM\x20inventory.\x20For\x20some\x20distros,\n\x20this\x20field\
3225 \x20may\x20be\x20empty.\n\n\x0e\n\x07\x04\0\x03\0\x02\x01\x04\x12\x03p\
3226 \x04\x0c\n\x0e\n\x07\x04\0\x03\0\x02\x01\x05\x12\x03p\r\x13\n\x0e\n\x07\
3227 \x04\0\x03\0\x02\x01\x01\x12\x03p\x140\n\x0e\n\x07\x04\0\x03\0\x02\x01\
3228 \x03\x12\x03p34\n\x0e\n\x07\x04\0\x03\0\x02\x01\x08\x12\x03p5H\n\x0f\n\
3229 \x08\x04\0\x03\0\x02\x01\x08\x03\x12\x03p6G\n\xf8\x02\n\x06\x04\0\x03\0\
3230 \x02\x02\x12\x03x\x04I\x1a\xe8\x02\x20Corresponds\x20to\x20the\x20`AVAIL\
3231 ABLE_PACKAGE`\x20inventory\x20item\x20on\x20the\x20VM.\n\x20If\x20the\
3232 \x20vulnerability\x20report\x20was\x20not\x20updated\x20after\x20the\x20\
3233 VM\x20inventory\n\x20update,\x20these\x20values\x20might\x20not\x20displ\
3234 ay\x20in\x20VM\x20inventory.\x20If\x20there\x20is\x20no\n\x20available\
3235 \x20fix,\x20the\x20field\x20is\x20empty.\x20The\x20`inventory_item`\x20v\
3236 alue\x20specifies\n\x20the\x20latest\x20`SoftwarePackage`\x20available\
3237 \x20to\x20the\x20VM\x20that\x20fixes\x20the\n\x20vulnerability.\n\n\x0e\
3238 \n\x07\x04\0\x03\0\x02\x02\x04\x12\x03x\x04\x0c\n\x0e\n\x07\x04\0\x03\0\
3239 \x02\x02\x05\x12\x03x\r\x13\n\x0e\n\x07\x04\0\x03\0\x02\x02\x01\x12\x03x\
3240 \x140\n\x0e\n\x07\x04\0\x03\0\x02\x02\x03\x12\x03x34\n\x0e\n\x07\x04\0\
3241 \x03\0\x02\x02\x08\x12\x03x5H\n\x0f\n\x08\x04\0\x03\0\x02\x02\x08\x03\
3242 \x12\x03x6G\nM\n\x06\x04\0\x03\0\x02\x03\x12\x03{\x04.\x1a>\x20The\x20ti\
3243 mestamp\x20for\x20when\x20the\x20vulnerability\x20was\x20first\x20detect\
3244 ed.\n\n\x0e\n\x07\x04\0\x03\0\x02\x03\x06\x12\x03{\x04\x1d\n\x0e\n\x07\
3245 \x04\0\x03\0\x02\x03\x01\x12\x03{\x1e)\n\x0e\n\x07\x04\0\x03\0\x02\x03\
3246 \x03\x12\x03{,-\nL\n\x06\x04\0\x03\0\x02\x04\x12\x03~\x04.\x1a=\x20The\
3247 \x20timestamp\x20for\x20when\x20the\x20vulnerability\x20was\x20last\x20m\
3248 odified.\n\n\x0e\n\x07\x04\0\x03\0\x02\x04\x06\x12\x03~\x04\x1d\n\x0e\n\
3249 \x07\x04\0\x03\0\x02\x04\x01\x12\x03~\x1e)\n\x0e\n\x07\x04\0\x03\0\x02\
3250 \x04\x03\x12\x03~,-\n>\n\x06\x04\0\x03\0\x02\x05\x12\x04\x81\x01\x04\x1c\
3251 \x1a.\x20List\x20of\x20items\x20affected\x20by\x20the\x20vulnerability.\
3252 \n\n\x0f\n\x07\x04\0\x03\0\x02\x05\x04\x12\x04\x81\x01\x04\x0c\n\x0f\n\
3253 \x07\x04\0\x03\0\x02\x05\x06\x12\x04\x81\x01\r\x11\n\x0f\n\x07\x04\0\x03\
3254 \0\x02\x05\x01\x12\x04\x81\x01\x12\x17\n\x0f\n\x07\x04\0\x03\0\x02\x05\
3255 \x03\x12\x04\x81\x01\x1a\x1b\n\xb2\x01\n\x04\x04\0\x02\0\x12\x04\x88\x01\
3256 \x02>\x1a\xa3\x01\x20Output\x20only.\x20The\x20`vulnerabilityReport`\x20\
3257 API\x20resource\x20name.\n\n\x20Format:\n\x20`projects/{project_number}/\
3258 locations/{location}/instances/{instance_id}/vulnerabilityReport`\n\n\r\
3259 \n\x05\x04\0\x02\0\x05\x12\x04\x88\x01\x02\x08\n\r\n\x05\x04\0\x02\0\x01\
3260 \x12\x04\x88\x01\t\r\n\r\n\x05\x04\0\x02\0\x03\x12\x04\x88\x01\x10\x11\n\
3261 \r\n\x05\x04\0\x02\0\x08\x12\x04\x88\x01\x12=\n\x10\n\x08\x04\0\x02\0\
3262 \x08\x9c\x08\0\x12\x04\x88\x01\x13<\nF\n\x04\x04\0\x02\x01\x12\x04\x8b\
3263 \x01\x02Y\x1a8\x20Output\x20only.\x20List\x20of\x20vulnerabilities\x20af\
3264 fecting\x20the\x20VM.\n\n\r\n\x05\x04\0\x02\x01\x04\x12\x04\x8b\x01\x02\
3265 \n\n\r\n\x05\x04\0\x02\x01\x06\x12\x04\x8b\x01\x0b\x18\n\r\n\x05\x04\0\
3266 \x02\x01\x01\x12\x04\x8b\x01\x19(\n\r\n\x05\x04\0\x02\x01\x03\x12\x04\
3267 \x8b\x01+,\n\r\n\x05\x04\0\x02\x01\x08\x12\x04\x8b\x01-X\n\x10\n\x08\x04\
3268 \0\x02\x01\x08\x9c\x08\0\x12\x04\x8b\x01.W\nl\n\x04\x04\0\x02\x02\x12\
3269 \x04\x8f\x01\x02X\x1a^\x20Output\x20only.\x20The\x20timestamp\x20for\x20\
3270 when\x20the\x20last\x20vulnerability\x20report\x20was\x20generated\x20fo\
3271 r\x20the\n\x20VM.\n\n\r\n\x05\x04\0\x02\x02\x06\x12\x04\x8f\x01\x02\x1b\
3272 \n\r\n\x05\x04\0\x02\x02\x01\x12\x04\x8f\x01\x1c'\n\r\n\x05\x04\0\x02\
3273 \x02\x03\x12\x04\x8f\x01*+\n\r\n\x05\x04\0\x02\x02\x08\x12\x04\x8f\x01,W\
3274 \n\x10\n\x08\x04\0\x02\x02\x08\x9c\x08\0\x12\x04\x8f\x01-V\n\\\n\x02\x04\
3275 \x01\x12\x06\x93\x01\0\xa2\x01\x01\x1aN\x20A\x20request\x20message\x20fo\
3276 r\x20getting\x20the\x20vulnerability\x20report\x20for\x20the\x20specifie\
3277 d\x20VM.\n\n\x0b\n\x03\x04\x01\x01\x12\x04\x93\x01\x08%\n\xd0\x02\n\x04\
3278 \x04\x01\x02\0\x12\x06\x9c\x01\x02\xa1\x01\x04\x1a\xbf\x02\x20Required.\
3279 \x20API\x20resource\x20name\x20for\x20vulnerability\x20resource.\n\n\x20\
3280 Format:\n\x20`projects/{project}/locations/{location}/instances/{instanc\
3281 e}/vulnerabilityReport`\n\n\x20For\x20`{project}`,\x20either\x20`project\
3282 -number`\x20or\x20`project-id`\x20can\x20be\x20provided.\n\x20For\x20`{i\
3283 nstance}`,\x20either\x20Compute\x20Engine\x20`instance-id`\x20or\x20`ins\
3284 tance-name`\n\x20can\x20be\x20provided.\n\n\r\n\x05\x04\x01\x02\0\x05\
3285 \x12\x04\x9c\x01\x02\x08\n\r\n\x05\x04\x01\x02\0\x01\x12\x04\x9c\x01\t\r\
3286 \n\r\n\x05\x04\x01\x02\0\x03\x12\x04\x9c\x01\x10\x11\n\x0f\n\x05\x04\x01\
3287 \x02\0\x08\x12\x06\x9c\x01\x12\xa1\x01\x03\n\x10\n\x08\x04\x01\x02\0\x08\
3288 \x9c\x08\0\x12\x04\x9d\x01\x04*\n\x11\n\x07\x04\x01\x02\0\x08\x9f\x08\
3289 \x12\x06\x9e\x01\x04\xa0\x01\x05\nt\n\x02\x04\x02\x12\x06\xa6\x01\0\xbe\
3290 \x01\x01\x1af\x20A\x20request\x20message\x20for\x20listing\x20vulnerabil\
3291 ity\x20reports\x20for\x20all\x20VM\x20instances\x20in\n\x20the\x20specif\
3292 ied\x20location.\n\n\x0b\n\x03\x04\x02\x01\x12\x04\xa6\x01\x08'\n\xc2\
3293 \x01\n\x04\x04\x02\x02\0\x12\x06\xac\x01\x02\xb1\x01\x04\x1a\xb1\x01\x20\
3294 Required.\x20The\x20parent\x20resource\x20name.\n\n\x20Format:\x20`proje\
3295 cts/{project}/locations/{location}/instances/-`\n\n\x20For\x20`{project}\
3296 `,\x20either\x20`project-number`\x20or\x20`project-id`\x20can\x20be\x20p\
3297 rovided.\n\n\r\n\x05\x04\x02\x02\0\x05\x12\x04\xac\x01\x02\x08\n\r\n\x05\
3298 \x04\x02\x02\0\x01\x12\x04\xac\x01\t\x0f\n\r\n\x05\x04\x02\x02\0\x03\x12\
3299 \x04\xac\x01\x12\x13\n\x0f\n\x05\x04\x02\x02\0\x08\x12\x06\xac\x01\x14\
3300 \xb1\x01\x03\n\x10\n\x08\x04\x02\x02\0\x08\x9c\x08\0\x12\x04\xad\x01\x04\
3301 *\n\x11\n\x07\x04\x02\x02\0\x08\x9f\x08\x12\x06\xae\x01\x04\xb0\x01\x05\
3302 \n8\n\x04\x04\x02\x02\x01\x12\x04\xb4\x01\x02\x16\x1a*\x20The\x20maximum\
3303 \x20number\x20of\x20results\x20to\x20return.\n\n\r\n\x05\x04\x02\x02\x01\
3304 \x05\x12\x04\xb4\x01\x02\x07\n\r\n\x05\x04\x02\x02\x01\x01\x12\x04\xb4\
3305 \x01\x08\x11\n\r\n\x05\x04\x02\x02\x01\x03\x12\x04\xb4\x01\x14\x15\n\x99\
3306 \x01\n\x04\x04\x02\x02\x02\x12\x04\xb9\x01\x02\x18\x1a\x8a\x01\x20A\x20p\
3307 agination\x20token\x20returned\x20from\x20a\x20previous\x20call\x20to\n\
3308 \x20`ListVulnerabilityReports`\x20that\x20indicates\x20where\x20this\x20\
3309 listing\n\x20should\x20continue\x20from.\n\n\r\n\x05\x04\x02\x02\x02\x05\
3310 \x12\x04\xb9\x01\x02\x08\n\r\n\x05\x04\x02\x02\x02\x01\x12\x04\xb9\x01\t\
3311 \x13\n\r\n\x05\x04\x02\x02\x02\x03\x12\x04\xb9\x01\x16\x17\n\x99\x01\n\
3312 \x04\x04\x02\x02\x03\x12\x04\xbd\x01\x02\x14\x1a\x8a\x01\x20If\x20provid\
3313 ed,\x20this\x20field\x20specifies\x20the\x20criteria\x20that\x20must\x20\
3314 be\x20met\x20by\x20a\n\x20`vulnerabilityReport`\x20API\x20resource\x20to\
3315 \x20be\x20included\x20in\x20the\x20response.\n\n\r\n\x05\x04\x02\x02\x03\
3316 \x05\x12\x04\xbd\x01\x02\x08\n\r\n\x05\x04\x02\x02\x03\x01\x12\x04\xbd\
3317 \x01\t\x0f\n\r\n\x05\x04\x02\x02\x03\x03\x12\x04\xbd\x01\x12\x13\nu\n\
3318 \x02\x04\x03\x12\x06\xc2\x01\0\xc9\x01\x01\x1ag\x20A\x20response\x20mess\
3319 age\x20for\x20listing\x20vulnerability\x20reports\x20for\x20all\x20VM\
3320 \x20instances\x20in\n\x20the\x20specified\x20location.\n\n\x0b\n\x03\x04\
3321 \x03\x01\x12\x04\xc2\x01\x08(\n4\n\x04\x04\x03\x02\0\x12\x04\xc4\x01\x02\
3322 9\x1a&\x20List\x20of\x20vulnerabilityReport\x20objects.\n\n\r\n\x05\x04\
3323 \x03\x02\0\x04\x12\x04\xc4\x01\x02\n\n\r\n\x05\x04\x03\x02\0\x06\x12\x04\
3324 \xc4\x01\x0b\x1e\n\r\n\x05\x04\x03\x02\0\x01\x12\x04\xc4\x01\x1f4\n\r\n\
3325 \x05\x04\x03\x02\0\x03\x12\x04\xc4\x0178\n_\n\x04\x04\x03\x02\x01\x12\
3326 \x04\xc8\x01\x02\x1d\x1aQ\x20The\x20pagination\x20token\x20to\x20retriev\
3327 e\x20the\x20next\x20page\x20of\x20vulnerabilityReports\n\x20object.\n\n\
3328 \r\n\x05\x04\x03\x02\x01\x05\x12\x04\xc8\x01\x02\x08\n\r\n\x05\x04\x03\
3329 \x02\x01\x01\x12\x04\xc8\x01\t\x18\n\r\n\x05\x04\x03\x02\x01\x03\x12\x04\
3330 \xc8\x01\x1b\x1c\n\x82\x01\n\x02\x04\x04\x12\x06\xcd\x01\0\xec\x02\x01\
3331 \x1at\x20Common\x20Vulnerability\x20Scoring\x20System\x20version\x203.\n\
3332 \x20For\x20details,\x20see\x20https://www.first.org/cvss/specification-d\
3333 ocument\n\n\x0b\n\x03\x04\x04\x01\x12\x04\xcd\x01\x08\x0e\nd\n\x04\x04\
3334 \x04\x04\0\x12\x06\xd0\x01\x02\xe4\x01\x03\x1aT\x20This\x20metric\x20ref\
3335 lects\x20the\x20context\x20by\x20which\x20vulnerability\x20exploitation\
3336 \x20is\n\x20possible.\n\n\r\n\x05\x04\x04\x04\0\x01\x12\x04\xd0\x01\x07\
3337 \x13\n\x20\n\x06\x04\x04\x04\0\x02\0\x12\x04\xd2\x01\x04\"\x1a\x10\x20In\
3338 valid\x20value.\n\n\x0f\n\x07\x04\x04\x04\0\x02\0\x01\x12\x04\xd2\x01\
3339 \x04\x1d\n\x0f\n\x07\x04\x04\x04\0\x02\0\x02\x12\x04\xd2\x01\x20!\n\xc5\
3340 \x01\n\x06\x04\x04\x04\0\x02\x01\x12\x04\xd7\x01\x04\x1e\x1a\xb4\x01\x20\
3341 The\x20vulnerable\x20component\x20is\x20bound\x20to\x20the\x20network\
3342 \x20stack\x20and\x20the\x20set\x20of\n\x20possible\x20attackers\x20exten\
3343 ds\x20beyond\x20the\x20other\x20options\x20listed\x20below,\x20up\x20to\
3344 \n\x20and\x20including\x20the\x20entire\x20Internet.\n\n\x0f\n\x07\x04\
3345 \x04\x04\0\x02\x01\x01\x12\x04\xd7\x01\x04\x19\n\x0f\n\x07\x04\x04\x04\0\
3346 \x02\x01\x02\x12\x04\xd7\x01\x1c\x1d\n\x9d\x01\n\x06\x04\x04\x04\0\x02\
3347 \x02\x12\x04\xdb\x01\x04\x1f\x1a\x8c\x01\x20The\x20vulnerable\x20compone\
3348 nt\x20is\x20bound\x20to\x20the\x20network\x20stack,\x20but\x20the\x20att\
3349 ack\x20is\n\x20limited\x20at\x20the\x20protocol\x20level\x20to\x20a\x20l\
3350 ogically\x20adjacent\x20topology.\n\n\x0f\n\x07\x04\x04\x04\0\x02\x02\
3351 \x01\x12\x04\xdb\x01\x04\x1a\n\x0f\n\x07\x04\x04\x04\0\x02\x02\x02\x12\
3352 \x04\xdb\x01\x1d\x1e\n\x8d\x01\n\x06\x04\x04\x04\0\x02\x03\x12\x04\xdf\
3353 \x01\x04\x1c\x1a}\x20The\x20vulnerable\x20component\x20is\x20not\x20boun\
3354 d\x20to\x20the\x20network\x20stack\x20and\x20the\n\x20attacker's\x20path\
3355 \x20is\x20via\x20read/write/execute\x20capabilities.\n\n\x0f\n\x07\x04\
3356 \x04\x04\0\x02\x03\x01\x12\x04\xdf\x01\x04\x17\n\x0f\n\x07\x04\x04\x04\0\
3357 \x02\x03\x02\x12\x04\xdf\x01\x1a\x1b\no\n\x06\x04\x04\x04\0\x02\x04\x12\
3358 \x04\xe3\x01\x04\x1f\x1a_\x20The\x20attack\x20requires\x20the\x20attacke\
3359 r\x20to\x20physically\x20touch\x20or\x20manipulate\x20the\n\x20vulnerabl\
3360 e\x20component.\n\n\x0f\n\x07\x04\x04\x04\0\x02\x04\x01\x12\x04\xe3\x01\
3361 \x04\x1a\n\x0f\n\x07\x04\x04\x04\0\x02\x04\x02\x12\x04\xe3\x01\x1d\x1e\n\
3362 \x8c\x01\n\x04\x04\x04\x04\x01\x12\x06\xe8\x01\x02\xf7\x01\x03\x1a|\x20T\
3363 his\x20metric\x20describes\x20the\x20conditions\x20beyond\x20the\x20atta\
3364 cker's\x20control\x20that\n\x20must\x20exist\x20in\x20order\x20to\x20exp\
3365 loit\x20the\x20vulnerability.\n\n\r\n\x05\x04\x04\x04\x01\x01\x12\x04\
3366 \xe8\x01\x07\x17\n\x20\n\x06\x04\x04\x04\x01\x02\0\x12\x04\xea\x01\x04&\
3367 \x1a\x10\x20Invalid\x20value.\n\n\x0f\n\x07\x04\x04\x04\x01\x02\0\x01\
3368 \x12\x04\xea\x01\x04!\n\x0f\n\x07\x04\x04\x04\x01\x02\0\x02\x12\x04\xea\
3369 \x01$%\n\xb0\x01\n\x06\x04\x04\x04\x01\x02\x01\x12\x04\xef\x01\x04\x1e\
3370 \x1a\x9f\x01\x20Specialized\x20access\x20conditions\x20or\x20extenuating\
3371 \x20circumstances\x20do\x20not\x20exist.\n\x20An\x20attacker\x20can\x20e\
3372 xpect\x20repeatable\x20success\x20when\x20attacking\x20the\x20vulnerable\
3373 \n\x20component.\n\n\x0f\n\x07\x04\x04\x04\x01\x02\x01\x01\x12\x04\xef\
3374 \x01\x04\x19\n\x0f\n\x07\x04\x04\x04\x01\x02\x01\x02\x12\x04\xef\x01\x1c\
3375 \x1d\n\xcd\x02\n\x06\x04\x04\x04\x01\x02\x02\x12\x04\xf6\x01\x04\x1f\x1a\
3376 \xbc\x02\x20A\x20successful\x20attack\x20depends\x20on\x20conditions\x20\
3377 beyond\x20the\x20attacker's\x20control.\n\x20That\x20is,\x20a\x20success\
3378 ful\x20attack\x20cannot\x20be\x20accomplished\x20at\x20will,\x20but\x20r\
3379 equires\n\x20the\x20attacker\x20to\x20invest\x20in\x20some\x20measurable\
3380 \x20amount\x20of\x20effort\x20in\x20preparation\n\x20or\x20execution\x20\
3381 against\x20the\x20vulnerable\x20component\x20before\x20a\x20successful\
3382 \x20attack\n\x20can\x20be\x20expected.\n\n\x0f\n\x07\x04\x04\x04\x01\x02\
3383 \x02\x01\x12\x04\xf6\x01\x04\x1a\n\x0f\n\x07\x04\x04\x04\x01\x02\x02\x02\
3384 \x12\x04\xf6\x01\x1d\x1e\n\x8b\x01\n\x04\x04\x04\x04\x02\x12\x06\xfb\x01\
3385 \x02\x8e\x02\x03\x1a{\x20This\x20metric\x20describes\x20the\x20level\x20\
3386 of\x20privileges\x20an\x20attacker\x20must\x20possess\n\x20before\x20suc\
3387 cessfully\x20exploiting\x20the\x20vulnerability.\n\n\r\n\x05\x04\x04\x04\
3388 \x02\x01\x12\x04\xfb\x01\x07\x19\n\x20\n\x06\x04\x04\x04\x02\x02\0\x12\
3389 \x04\xfd\x01\x04(\x1a\x10\x20Invalid\x20value.\n\n\x0f\n\x07\x04\x04\x04\
3390 \x02\x02\0\x01\x12\x04\xfd\x01\x04#\n\x0f\n\x07\x04\x04\x04\x02\x02\0\
3391 \x02\x12\x04\xfd\x01&'\n\xb2\x01\n\x06\x04\x04\x04\x02\x02\x01\x12\x04\
3392 \x82\x02\x04!\x1a\xa1\x01\x20The\x20attacker\x20is\x20unauthorized\x20pr\
3393 ior\x20to\x20attack,\x20and\x20therefore\x20does\x20not\n\x20require\x20\
3394 any\x20access\x20to\x20settings\x20or\x20files\x20of\x20the\x20vulnerabl\
3395 e\x20system\x20to\n\x20carry\x20out\x20an\x20attack.\n\n\x0f\n\x07\x04\
3396 \x04\x04\x02\x02\x01\x01\x12\x04\x82\x02\x04\x1c\n\x0f\n\x07\x04\x04\x04\
3397 \x02\x02\x01\x02\x12\x04\x82\x02\x1f\x20\n\x86\x02\n\x06\x04\x04\x04\x02\
3398 \x02\x02\x12\x04\x88\x02\x04\x20\x1a\xf5\x01\x20The\x20attacker\x20requi\
3399 res\x20privileges\x20that\x20provide\x20basic\x20user\x20capabilities\n\
3400 \x20that\x20could\x20normally\x20affect\x20only\x20settings\x20and\x20fi\
3401 les\x20owned\x20by\x20a\x20user.\n\x20Alternatively,\x20an\x20attacker\
3402 \x20with\x20Low\x20privileges\x20has\x20the\x20ability\x20to\x20access\n\
3403 \x20only\x20non-sensitive\x20resources.\n\n\x0f\n\x07\x04\x04\x04\x02\
3404 \x02\x02\x01\x12\x04\x88\x02\x04\x1b\n\x0f\n\x07\x04\x04\x04\x02\x02\x02\
3405 \x02\x12\x04\x88\x02\x1e\x1f\n\xc1\x01\n\x06\x04\x04\x04\x02\x02\x03\x12\
3406 \x04\x8d\x02\x04!\x1a\xb0\x01\x20The\x20attacker\x20requires\x20privileg\
3407 es\x20that\x20provide\x20significant\x20(e.g.,\n\x20administrative)\x20c\
3408 ontrol\x20over\x20the\x20vulnerable\x20component\x20allowing\x20access\
3409 \x20to\n\x20component-wide\x20settings\x20and\x20files.\n\n\x0f\n\x07\
3410 \x04\x04\x04\x02\x02\x03\x01\x12\x04\x8d\x02\x04\x1c\n\x0f\n\x07\x04\x04\
3411 \x04\x02\x02\x03\x02\x12\x04\x8d\x02\x1f\x20\n\xad\x01\n\x04\x04\x04\x04\
3412 \x03\x12\x06\x93\x02\x02\x9d\x02\x03\x1a\x9c\x01\x20This\x20metric\x20ca\
3413 ptures\x20the\x20requirement\x20for\x20a\x20human\x20user,\x20other\x20t\
3414 han\x20the\n\x20attacker,\x20to\x20participate\x20in\x20the\x20successfu\
3415 l\x20compromise\x20of\x20the\x20vulnerable\n\x20component.\n\n\r\n\x05\
3416 \x04\x04\x04\x03\x01\x12\x04\x93\x02\x07\x16\n\x20\n\x06\x04\x04\x04\x03\
3417 \x02\0\x12\x04\x95\x02\x04%\x1a\x10\x20Invalid\x20value.\n\n\x0f\n\x07\
3418 \x04\x04\x04\x03\x02\0\x01\x12\x04\x95\x02\x04\x20\n\x0f\n\x07\x04\x04\
3419 \x04\x03\x02\0\x02\x12\x04\x95\x02#$\n[\n\x06\x04\x04\x04\x03\x02\x01\
3420 \x12\x04\x98\x02\x04\x1e\x1aK\x20The\x20vulnerable\x20system\x20can\x20b\
3421 e\x20exploited\x20without\x20interaction\x20from\x20any\x20user.\n\n\x0f\
3422 \n\x07\x04\x04\x04\x03\x02\x01\x01\x12\x04\x98\x02\x04\x19\n\x0f\n\x07\
3423 \x04\x04\x04\x03\x02\x01\x02\x12\x04\x98\x02\x1c\x1d\n\x8f\x01\n\x06\x04\
3424 \x04\x04\x03\x02\x02\x12\x04\x9c\x02\x04\"\x1a\x7f\x20Successful\x20expl\
3425 oitation\x20of\x20this\x20vulnerability\x20requires\x20a\x20user\x20to\
3426 \x20take\n\x20some\x20action\x20before\x20the\x20vulnerability\x20can\
3427 \x20be\x20exploited.\n\n\x0f\n\x07\x04\x04\x04\x03\x02\x02\x01\x12\x04\
3428 \x9c\x02\x04\x1d\n\x0f\n\x07\x04\x04\x04\x03\x02\x02\x02\x12\x04\x9c\x02\
3429 \x20!\n\x9c\x01\n\x04\x04\x04\x04\x04\x12\x06\xa1\x02\x02\xac\x02\x03\
3430 \x1a\x8b\x01\x20The\x20Scope\x20metric\x20captures\x20whether\x20a\x20vu\
3431 lnerability\x20in\x20one\x20vulnerable\n\x20component\x20impacts\x20reso\
3432 urces\x20in\x20components\x20beyond\x20its\x20security\x20scope.\n\n\r\n\
3433 \x05\x04\x04\x04\x04\x01\x12\x04\xa1\x02\x07\x0c\n\x20\n\x06\x04\x04\x04\
3434 \x04\x02\0\x12\x04\xa3\x02\x04\x1a\x1a\x10\x20Invalid\x20value.\n\n\x0f\
3435 \n\x07\x04\x04\x04\x04\x02\0\x01\x12\x04\xa3\x02\x04\x15\n\x0f\n\x07\x04\
3436 \x04\x04\x04\x02\0\x02\x12\x04\xa3\x02\x18\x19\no\n\x06\x04\x04\x04\x04\
3437 \x02\x01\x12\x04\xa7\x02\x04\x18\x1a_\x20An\x20exploited\x20vulnerabilit\
3438 y\x20can\x20only\x20affect\x20resources\x20managed\x20by\x20the\x20same\
3439 \n\x20security\x20authority.\n\n\x0f\n\x07\x04\x04\x04\x04\x02\x01\x01\
3440 \x12\x04\xa7\x02\x04\x13\n\x0f\n\x07\x04\x04\x04\x04\x02\x01\x02\x12\x04\
3441 \xa7\x02\x16\x17\n\x9c\x01\n\x06\x04\x04\x04\x04\x02\x02\x12\x04\xab\x02\
3442 \x04\x16\x1a\x8b\x01\x20An\x20exploited\x20vulnerability\x20can\x20affec\
3443 t\x20resources\x20beyond\x20the\x20security\x20scope\n\x20managed\x20by\
3444 \x20the\x20security\x20authority\x20of\x20the\x20vulnerable\x20component\
3445 .\n\n\x0f\n\x07\x04\x04\x04\x04\x02\x02\x01\x12\x04\xab\x02\x04\x11\n\
3446 \x0f\n\x07\x04\x04\x04\x04\x02\x02\x02\x12\x04\xab\x02\x14\x15\n\xd7\x01\
3447 \n\x04\x04\x04\x04\x05\x12\x06\xb1\x02\x02\xbd\x02\x03\x1a\xc6\x01\x20Th\
3448 e\x20Impact\x20metrics\x20capture\x20the\x20effects\x20of\x20a\x20succes\
3449 sfully\x20exploited\n\x20vulnerability\x20on\x20the\x20component\x20that\
3450 \x20suffers\x20the\x20worst\x20outcome\x20that\x20is\x20most\n\x20direct\
3451 ly\x20and\x20predictably\x20associated\x20with\x20the\x20attack.\n\n\r\n\
3452 \x05\x04\x04\x04\x05\x01\x12\x04\xb1\x02\x07\r\n\x20\n\x06\x04\x04\x04\
3453 \x05\x02\0\x12\x04\xb3\x02\x04\x1b\x1a\x10\x20Invalid\x20value.\n\n\x0f\
3454 \n\x07\x04\x04\x04\x05\x02\0\x01\x12\x04\xb3\x02\x04\x16\n\x0f\n\x07\x04\
3455 \x04\x04\x05\x02\0\x02\x12\x04\xb3\x02\x19\x1a\n\x1e\n\x06\x04\x04\x04\
3456 \x05\x02\x01\x12\x04\xb6\x02\x04\x14\x1a\x0e\x20High\x20impact.\n\n\x0f\
3457 \n\x07\x04\x04\x04\x05\x02\x01\x01\x12\x04\xb6\x02\x04\x0f\n\x0f\n\x07\
3458 \x04\x04\x04\x05\x02\x01\x02\x12\x04\xb6\x02\x12\x13\n\x1d\n\x06\x04\x04\
3459 \x04\x05\x02\x02\x12\x04\xb9\x02\x04\x13\x1a\r\x20Low\x20impact.\n\n\x0f\
3460 \n\x07\x04\x04\x04\x05\x02\x02\x01\x12\x04\xb9\x02\x04\x0e\n\x0f\n\x07\
3461 \x04\x04\x04\x05\x02\x02\x02\x12\x04\xb9\x02\x11\x12\n\x1c\n\x06\x04\x04\
3462 \x04\x05\x02\x03\x12\x04\xbc\x02\x04\x14\x1a\x0c\x20No\x20impact.\n\n\
3463 \x0f\n\x07\x04\x04\x04\x05\x02\x03\x01\x12\x04\xbc\x02\x04\x0f\n\x0f\n\
3464 \x07\x04\x04\x04\x05\x02\x03\x02\x12\x04\xbc\x02\x12\x13\n\x87\x01\n\x04\
3465 \x04\x04\x02\0\x12\x04\xc1\x02\x02\x17\x1ay\x20The\x20base\x20score\x20i\
3466 s\x20a\x20function\x20of\x20the\x20base\x20metric\x20scores.\n\x20https:\
3467 //www.first.org/cvss/specification-document#Base-Metrics\n\n\r\n\x05\x04\
3468 \x04\x02\0\x05\x12\x04\xc1\x02\x02\x07\n\r\n\x05\x04\x04\x02\0\x01\x12\
3469 \x04\xc1\x02\x08\x12\n\r\n\x05\x04\x04\x02\0\x03\x12\x04\xc1\x02\x15\x16\
3470 \n\xb6\x01\n\x04\x04\x04\x02\x01\x12\x04\xc6\x02\x02!\x1a\xa7\x01\x20The\
3471 \x20Exploitability\x20sub-score\x20equation\x20is\x20derived\x20from\x20\
3472 the\x20Base\n\x20Exploitability\x20metrics.\n\x20https://www.first.org/c\
3473 vss/specification-document#2-1-Exploitability-Metrics\n\n\r\n\x05\x04\
3474 \x04\x02\x01\x05\x12\x04\xc6\x02\x02\x07\n\r\n\x05\x04\x04\x02\x01\x01\
3475 \x12\x04\xc6\x02\x08\x1c\n\r\n\x05\x04\x04\x02\x01\x03\x12\x04\xc6\x02\
3476 \x1f\x20\nV\n\x04\x04\x04\x02\x02\x12\x04\xc9\x02\x02\x19\x1aH\x20The\
3477 \x20Impact\x20sub-score\x20equation\x20is\x20derived\x20from\x20the\x20B\
3478 ase\x20Impact\x20metrics.\n\n\r\n\x05\x04\x04\x02\x02\x05\x12\x04\xc9\
3479 \x02\x02\x07\n\r\n\x05\x04\x04\x02\x02\x01\x12\x04\xc9\x02\x08\x14\n\r\n\
3480 \x05\x04\x04\x02\x02\x03\x12\x04\xc9\x02\x17\x18\nb\n\x04\x04\x04\x02\
3481 \x03\x12\x04\xcd\x02\x02!\x1aT\x20This\x20metric\x20reflects\x20the\x20c\
3482 ontext\x20by\x20which\x20vulnerability\x20exploitation\x20is\n\x20possib\
3483 le.\n\n\r\n\x05\x04\x04\x02\x03\x06\x12\x04\xcd\x02\x02\x0e\n\r\n\x05\
3484 \x04\x04\x02\x03\x01\x12\x04\xcd\x02\x0f\x1c\n\r\n\x05\x04\x04\x02\x03\
3485 \x03\x12\x04\xcd\x02\x1f\x20\n\x8a\x01\n\x04\x04\x04\x02\x04\x12\x04\xd1\
3486 \x02\x02)\x1a|\x20This\x20metric\x20describes\x20the\x20conditions\x20be\
3487 yond\x20the\x20attacker's\x20control\x20that\n\x20must\x20exist\x20in\
3488 \x20order\x20to\x20exploit\x20the\x20vulnerability.\n\n\r\n\x05\x04\x04\
3489 \x02\x04\x06\x12\x04\xd1\x02\x02\x12\n\r\n\x05\x04\x04\x02\x04\x01\x12\
3490 \x04\xd1\x02\x13$\n\r\n\x05\x04\x04\x02\x04\x03\x12\x04\xd1\x02'(\n\x89\
3491 \x01\n\x04\x04\x04\x02\x05\x12\x04\xd5\x02\x02-\x1a{\x20This\x20metric\
3492 \x20describes\x20the\x20level\x20of\x20privileges\x20an\x20attacker\x20m\
3493 ust\x20possess\n\x20before\x20successfully\x20exploiting\x20the\x20vulne\
3494 rability.\n\n\r\n\x05\x04\x04\x02\x05\x06\x12\x04\xd5\x02\x02\x14\n\r\n\
3495 \x05\x04\x04\x02\x05\x01\x12\x04\xd5\x02\x15(\n\r\n\x05\x04\x04\x02\x05\
3496 \x03\x12\x04\xd5\x02+,\n\xab\x01\n\x04\x04\x04\x02\x06\x12\x04\xda\x02\
3497 \x02'\x1a\x9c\x01\x20This\x20metric\x20captures\x20the\x20requirement\
3498 \x20for\x20a\x20human\x20user,\x20other\x20than\x20the\n\x20attacker,\
3499 \x20to\x20participate\x20in\x20the\x20successful\x20compromise\x20of\x20\
3500 the\x20vulnerable\n\x20component.\n\n\r\n\x05\x04\x04\x02\x06\x06\x12\
3501 \x04\xda\x02\x02\x11\n\r\n\x05\x04\x04\x02\x06\x01\x12\x04\xda\x02\x12\"\
3502 \n\r\n\x05\x04\x04\x02\x06\x03\x12\x04\xda\x02%&\n\x9a\x01\n\x04\x04\x04\
3503 \x02\x07\x12\x04\xde\x02\x02\x12\x1a\x8b\x01\x20The\x20Scope\x20metric\
3504 \x20captures\x20whether\x20a\x20vulnerability\x20in\x20one\x20vulnerable\
3505 \n\x20component\x20impacts\x20resources\x20in\x20components\x20beyond\
3506 \x20its\x20security\x20scope.\n\n\r\n\x05\x04\x04\x02\x07\x06\x12\x04\
3507 \xde\x02\x02\x07\n\r\n\x05\x04\x04\x02\x07\x01\x12\x04\xde\x02\x08\r\n\r\
3508 \n\x05\x04\x04\x02\x07\x03\x12\x04\xde\x02\x10\x11\n\xb5\x01\n\x04\x04\
3509 \x04\x02\x08\x12\x04\xe3\x02\x02%\x1a\xa6\x01\x20This\x20metric\x20measu\
3510 res\x20the\x20impact\x20to\x20the\x20confidentiality\x20of\x20the\x20inf\
3511 ormation\n\x20resources\x20managed\x20by\x20a\x20software\x20component\
3512 \x20due\x20to\x20a\x20successfully\x20exploited\n\x20vulnerability.\n\n\
3513 \r\n\x05\x04\x04\x02\x08\x06\x12\x04\xe3\x02\x02\x08\n\r\n\x05\x04\x04\
3514 \x02\x08\x01\x12\x04\xe3\x02\t\x1f\n\r\n\x05\x04\x04\x02\x08\x03\x12\x04\
3515 \xe3\x02\"$\nh\n\x04\x04\x04\x02\t\x12\x04\xe7\x02\x02\x1f\x1aZ\x20This\
3516 \x20metric\x20measures\x20the\x20impact\x20to\x20integrity\x20of\x20a\
3517 \x20successfully\x20exploited\n\x20vulnerability.\n\n\r\n\x05\x04\x04\
3518 \x02\t\x06\x12\x04\xe7\x02\x02\x08\n\r\n\x05\x04\x04\x02\t\x01\x12\x04\
3519 \xe7\x02\t\x19\n\r\n\x05\x04\x04\x02\t\x03\x12\x04\xe7\x02\x1c\x1e\n\x96\
3520 \x01\n\x04\x04\x04\x02\n\x12\x04\xeb\x02\x02\"\x1a\x87\x01\x20This\x20me\
3521 tric\x20measures\x20the\x20impact\x20to\x20the\x20availability\x20of\x20\
3522 the\x20impacted\n\x20component\x20resulting\x20from\x20a\x20successfully\
3523 \x20exploited\x20vulnerability.\n\n\r\n\x05\x04\x04\x02\n\x06\x12\x04\
3524 \xeb\x02\x02\x08\n\r\n\x05\x04\x04\x02\n\x01\x12\x04\xeb\x02\t\x1c\n\r\n\
3525 \x05\x04\x04\x02\n\x03\x12\x04\xeb\x02\x1f!b\x06proto3\
3526";
3527
3528static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
3529
3530fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
3531 ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
3532}
3533
3534pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
3535 file_descriptor_proto_lazy.get(|| {
3536 parse_descriptor_proto()
3537 })
3538}