google_cloud_rust_raw/cloud/osconfig/agentendpoint/v1/
inventory.rs

1// This file is generated by rust-protobuf 2.28.0. Do not edit
2// @generated
3
4// https://github.com/rust-lang/rust-clippy/issues/702
5#![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//! Generated file from `google/cloud/osconfig/agentendpoint/v1/inventory.proto`
21
22/// Generated files are compatible only with the same version
23/// of protobuf runtime.
24// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_28_0;
25
26#[derive(PartialEq,Clone,Default)]
27pub struct Inventory {
28    // message fields
29    pub os_info: ::protobuf::SingularPtrField<Inventory_OsInfo>,
30    pub installed_packages: ::protobuf::RepeatedField<Inventory_SoftwarePackage>,
31    pub available_packages: ::protobuf::RepeatedField<Inventory_SoftwarePackage>,
32    // special fields
33    pub unknown_fields: ::protobuf::UnknownFields,
34    pub cached_size: ::protobuf::CachedSize,
35}
36
37impl<'a> ::std::default::Default for &'a Inventory {
38    fn default() -> &'a Inventory {
39        <Inventory as ::protobuf::Message>::default_instance()
40    }
41}
42
43impl Inventory {
44    pub fn new() -> Inventory {
45        ::std::default::Default::default()
46    }
47
48    // .google.cloud.osconfig.agentendpoint.v1.Inventory.OsInfo os_info = 1;
49
50
51    pub fn get_os_info(&self) -> &Inventory_OsInfo {
52        self.os_info.as_ref().unwrap_or_else(|| <Inventory_OsInfo as ::protobuf::Message>::default_instance())
53    }
54    pub fn clear_os_info(&mut self) {
55        self.os_info.clear();
56    }
57
58    pub fn has_os_info(&self) -> bool {
59        self.os_info.is_some()
60    }
61
62    // Param is passed by value, moved
63    pub fn set_os_info(&mut self, v: Inventory_OsInfo) {
64        self.os_info = ::protobuf::SingularPtrField::some(v);
65    }
66
67    // Mutable pointer to the field.
68    // If field is not initialized, it is initialized with default value first.
69    pub fn mut_os_info(&mut self) -> &mut Inventory_OsInfo {
70        if self.os_info.is_none() {
71            self.os_info.set_default();
72        }
73        self.os_info.as_mut().unwrap()
74    }
75
76    // Take field
77    pub fn take_os_info(&mut self) -> Inventory_OsInfo {
78        self.os_info.take().unwrap_or_else(|| Inventory_OsInfo::new())
79    }
80
81    // repeated .google.cloud.osconfig.agentendpoint.v1.Inventory.SoftwarePackage installed_packages = 2;
82
83
84    pub fn get_installed_packages(&self) -> &[Inventory_SoftwarePackage] {
85        &self.installed_packages
86    }
87    pub fn clear_installed_packages(&mut self) {
88        self.installed_packages.clear();
89    }
90
91    // Param is passed by value, moved
92    pub fn set_installed_packages(&mut self, v: ::protobuf::RepeatedField<Inventory_SoftwarePackage>) {
93        self.installed_packages = v;
94    }
95
96    // Mutable pointer to the field.
97    pub fn mut_installed_packages(&mut self) -> &mut ::protobuf::RepeatedField<Inventory_SoftwarePackage> {
98        &mut self.installed_packages
99    }
100
101    // Take field
102    pub fn take_installed_packages(&mut self) -> ::protobuf::RepeatedField<Inventory_SoftwarePackage> {
103        ::std::mem::replace(&mut self.installed_packages, ::protobuf::RepeatedField::new())
104    }
105
106    // repeated .google.cloud.osconfig.agentendpoint.v1.Inventory.SoftwarePackage available_packages = 3;
107
108
109    pub fn get_available_packages(&self) -> &[Inventory_SoftwarePackage] {
110        &self.available_packages
111    }
112    pub fn clear_available_packages(&mut self) {
113        self.available_packages.clear();
114    }
115
116    // Param is passed by value, moved
117    pub fn set_available_packages(&mut self, v: ::protobuf::RepeatedField<Inventory_SoftwarePackage>) {
118        self.available_packages = v;
119    }
120
121    // Mutable pointer to the field.
122    pub fn mut_available_packages(&mut self) -> &mut ::protobuf::RepeatedField<Inventory_SoftwarePackage> {
123        &mut self.available_packages
124    }
125
126    // Take field
127    pub fn take_available_packages(&mut self) -> ::protobuf::RepeatedField<Inventory_SoftwarePackage> {
128        ::std::mem::replace(&mut self.available_packages, ::protobuf::RepeatedField::new())
129    }
130}
131
132impl ::protobuf::Message for Inventory {
133    fn is_initialized(&self) -> bool {
134        for v in &self.os_info {
135            if !v.is_initialized() {
136                return false;
137            }
138        };
139        for v in &self.installed_packages {
140            if !v.is_initialized() {
141                return false;
142            }
143        };
144        for v in &self.available_packages {
145            if !v.is_initialized() {
146                return false;
147            }
148        };
149        true
150    }
151
152    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
153        while !is.eof()? {
154            let (field_number, wire_type) = is.read_tag_unpack()?;
155            match field_number {
156                1 => {
157                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.os_info)?;
158                },
159                2 => {
160                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.installed_packages)?;
161                },
162                3 => {
163                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.available_packages)?;
164                },
165                _ => {
166                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
167                },
168            };
169        }
170        ::std::result::Result::Ok(())
171    }
172
173    // Compute sizes of nested messages
174    #[allow(unused_variables)]
175    fn compute_size(&self) -> u32 {
176        let mut my_size = 0;
177        if let Some(ref v) = self.os_info.as_ref() {
178            let len = v.compute_size();
179            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
180        }
181        for value in &self.installed_packages {
182            let len = value.compute_size();
183            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
184        };
185        for value in &self.available_packages {
186            let len = value.compute_size();
187            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
188        };
189        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
190        self.cached_size.set(my_size);
191        my_size
192    }
193
194    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
195        if let Some(ref v) = self.os_info.as_ref() {
196            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
197            os.write_raw_varint32(v.get_cached_size())?;
198            v.write_to_with_cached_sizes(os)?;
199        }
200        for v in &self.installed_packages {
201            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
202            os.write_raw_varint32(v.get_cached_size())?;
203            v.write_to_with_cached_sizes(os)?;
204        };
205        for v in &self.available_packages {
206            os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
207            os.write_raw_varint32(v.get_cached_size())?;
208            v.write_to_with_cached_sizes(os)?;
209        };
210        os.write_unknown_fields(self.get_unknown_fields())?;
211        ::std::result::Result::Ok(())
212    }
213
214    fn get_cached_size(&self) -> u32 {
215        self.cached_size.get()
216    }
217
218    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
219        &self.unknown_fields
220    }
221
222    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
223        &mut self.unknown_fields
224    }
225
226    fn as_any(&self) -> &dyn (::std::any::Any) {
227        self as &dyn (::std::any::Any)
228    }
229    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
230        self as &mut dyn (::std::any::Any)
231    }
232    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
233        self
234    }
235
236    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
237        Self::descriptor_static()
238    }
239
240    fn new() -> Inventory {
241        Inventory::new()
242    }
243
244    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
245        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
246        descriptor.get(|| {
247            let mut fields = ::std::vec::Vec::new();
248            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Inventory_OsInfo>>(
249                "os_info",
250                |m: &Inventory| { &m.os_info },
251                |m: &mut Inventory| { &mut m.os_info },
252            ));
253            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Inventory_SoftwarePackage>>(
254                "installed_packages",
255                |m: &Inventory| { &m.installed_packages },
256                |m: &mut Inventory| { &mut m.installed_packages },
257            ));
258            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Inventory_SoftwarePackage>>(
259                "available_packages",
260                |m: &Inventory| { &m.available_packages },
261                |m: &mut Inventory| { &mut m.available_packages },
262            ));
263            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Inventory>(
264                "Inventory",
265                fields,
266                file_descriptor_proto()
267            )
268        })
269    }
270
271    fn default_instance() -> &'static Inventory {
272        static instance: ::protobuf::rt::LazyV2<Inventory> = ::protobuf::rt::LazyV2::INIT;
273        instance.get(Inventory::new)
274    }
275}
276
277impl ::protobuf::Clear for Inventory {
278    fn clear(&mut self) {
279        self.os_info.clear();
280        self.installed_packages.clear();
281        self.available_packages.clear();
282        self.unknown_fields.clear();
283    }
284}
285
286impl ::std::fmt::Debug for Inventory {
287    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
288        ::protobuf::text_format::fmt(self, f)
289    }
290}
291
292impl ::protobuf::reflect::ProtobufValue for Inventory {
293    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
294        ::protobuf::reflect::ReflectValueRef::Message(self)
295    }
296}
297
298#[derive(PartialEq,Clone,Default)]
299pub struct Inventory_OsInfo {
300    // message fields
301    pub hostname: ::std::string::String,
302    pub long_name: ::std::string::String,
303    pub short_name: ::std::string::String,
304    pub version: ::std::string::String,
305    pub architecture: ::std::string::String,
306    pub kernel_version: ::std::string::String,
307    pub kernel_release: ::std::string::String,
308    pub osconfig_agent_version: ::std::string::String,
309    // special fields
310    pub unknown_fields: ::protobuf::UnknownFields,
311    pub cached_size: ::protobuf::CachedSize,
312}
313
314impl<'a> ::std::default::Default for &'a Inventory_OsInfo {
315    fn default() -> &'a Inventory_OsInfo {
316        <Inventory_OsInfo as ::protobuf::Message>::default_instance()
317    }
318}
319
320impl Inventory_OsInfo {
321    pub fn new() -> Inventory_OsInfo {
322        ::std::default::Default::default()
323    }
324
325    // string hostname = 1;
326
327
328    pub fn get_hostname(&self) -> &str {
329        &self.hostname
330    }
331    pub fn clear_hostname(&mut self) {
332        self.hostname.clear();
333    }
334
335    // Param is passed by value, moved
336    pub fn set_hostname(&mut self, v: ::std::string::String) {
337        self.hostname = v;
338    }
339
340    // Mutable pointer to the field.
341    // If field is not initialized, it is initialized with default value first.
342    pub fn mut_hostname(&mut self) -> &mut ::std::string::String {
343        &mut self.hostname
344    }
345
346    // Take field
347    pub fn take_hostname(&mut self) -> ::std::string::String {
348        ::std::mem::replace(&mut self.hostname, ::std::string::String::new())
349    }
350
351    // string long_name = 2;
352
353
354    pub fn get_long_name(&self) -> &str {
355        &self.long_name
356    }
357    pub fn clear_long_name(&mut self) {
358        self.long_name.clear();
359    }
360
361    // Param is passed by value, moved
362    pub fn set_long_name(&mut self, v: ::std::string::String) {
363        self.long_name = v;
364    }
365
366    // Mutable pointer to the field.
367    // If field is not initialized, it is initialized with default value first.
368    pub fn mut_long_name(&mut self) -> &mut ::std::string::String {
369        &mut self.long_name
370    }
371
372    // Take field
373    pub fn take_long_name(&mut self) -> ::std::string::String {
374        ::std::mem::replace(&mut self.long_name, ::std::string::String::new())
375    }
376
377    // string short_name = 3;
378
379
380    pub fn get_short_name(&self) -> &str {
381        &self.short_name
382    }
383    pub fn clear_short_name(&mut self) {
384        self.short_name.clear();
385    }
386
387    // Param is passed by value, moved
388    pub fn set_short_name(&mut self, v: ::std::string::String) {
389        self.short_name = v;
390    }
391
392    // Mutable pointer to the field.
393    // If field is not initialized, it is initialized with default value first.
394    pub fn mut_short_name(&mut self) -> &mut ::std::string::String {
395        &mut self.short_name
396    }
397
398    // Take field
399    pub fn take_short_name(&mut self) -> ::std::string::String {
400        ::std::mem::replace(&mut self.short_name, ::std::string::String::new())
401    }
402
403    // string version = 4;
404
405
406    pub fn get_version(&self) -> &str {
407        &self.version
408    }
409    pub fn clear_version(&mut self) {
410        self.version.clear();
411    }
412
413    // Param is passed by value, moved
414    pub fn set_version(&mut self, v: ::std::string::String) {
415        self.version = v;
416    }
417
418    // Mutable pointer to the field.
419    // If field is not initialized, it is initialized with default value first.
420    pub fn mut_version(&mut self) -> &mut ::std::string::String {
421        &mut self.version
422    }
423
424    // Take field
425    pub fn take_version(&mut self) -> ::std::string::String {
426        ::std::mem::replace(&mut self.version, ::std::string::String::new())
427    }
428
429    // string architecture = 5;
430
431
432    pub fn get_architecture(&self) -> &str {
433        &self.architecture
434    }
435    pub fn clear_architecture(&mut self) {
436        self.architecture.clear();
437    }
438
439    // Param is passed by value, moved
440    pub fn set_architecture(&mut self, v: ::std::string::String) {
441        self.architecture = v;
442    }
443
444    // Mutable pointer to the field.
445    // If field is not initialized, it is initialized with default value first.
446    pub fn mut_architecture(&mut self) -> &mut ::std::string::String {
447        &mut self.architecture
448    }
449
450    // Take field
451    pub fn take_architecture(&mut self) -> ::std::string::String {
452        ::std::mem::replace(&mut self.architecture, ::std::string::String::new())
453    }
454
455    // string kernel_version = 6;
456
457
458    pub fn get_kernel_version(&self) -> &str {
459        &self.kernel_version
460    }
461    pub fn clear_kernel_version(&mut self) {
462        self.kernel_version.clear();
463    }
464
465    // Param is passed by value, moved
466    pub fn set_kernel_version(&mut self, v: ::std::string::String) {
467        self.kernel_version = v;
468    }
469
470    // Mutable pointer to the field.
471    // If field is not initialized, it is initialized with default value first.
472    pub fn mut_kernel_version(&mut self) -> &mut ::std::string::String {
473        &mut self.kernel_version
474    }
475
476    // Take field
477    pub fn take_kernel_version(&mut self) -> ::std::string::String {
478        ::std::mem::replace(&mut self.kernel_version, ::std::string::String::new())
479    }
480
481    // string kernel_release = 7;
482
483
484    pub fn get_kernel_release(&self) -> &str {
485        &self.kernel_release
486    }
487    pub fn clear_kernel_release(&mut self) {
488        self.kernel_release.clear();
489    }
490
491    // Param is passed by value, moved
492    pub fn set_kernel_release(&mut self, v: ::std::string::String) {
493        self.kernel_release = v;
494    }
495
496    // Mutable pointer to the field.
497    // If field is not initialized, it is initialized with default value first.
498    pub fn mut_kernel_release(&mut self) -> &mut ::std::string::String {
499        &mut self.kernel_release
500    }
501
502    // Take field
503    pub fn take_kernel_release(&mut self) -> ::std::string::String {
504        ::std::mem::replace(&mut self.kernel_release, ::std::string::String::new())
505    }
506
507    // string osconfig_agent_version = 8;
508
509
510    pub fn get_osconfig_agent_version(&self) -> &str {
511        &self.osconfig_agent_version
512    }
513    pub fn clear_osconfig_agent_version(&mut self) {
514        self.osconfig_agent_version.clear();
515    }
516
517    // Param is passed by value, moved
518    pub fn set_osconfig_agent_version(&mut self, v: ::std::string::String) {
519        self.osconfig_agent_version = v;
520    }
521
522    // Mutable pointer to the field.
523    // If field is not initialized, it is initialized with default value first.
524    pub fn mut_osconfig_agent_version(&mut self) -> &mut ::std::string::String {
525        &mut self.osconfig_agent_version
526    }
527
528    // Take field
529    pub fn take_osconfig_agent_version(&mut self) -> ::std::string::String {
530        ::std::mem::replace(&mut self.osconfig_agent_version, ::std::string::String::new())
531    }
532}
533
534impl ::protobuf::Message for Inventory_OsInfo {
535    fn is_initialized(&self) -> bool {
536        true
537    }
538
539    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
540        while !is.eof()? {
541            let (field_number, wire_type) = is.read_tag_unpack()?;
542            match field_number {
543                1 => {
544                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.hostname)?;
545                },
546                2 => {
547                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.long_name)?;
548                },
549                3 => {
550                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.short_name)?;
551                },
552                4 => {
553                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.version)?;
554                },
555                5 => {
556                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.architecture)?;
557                },
558                6 => {
559                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.kernel_version)?;
560                },
561                7 => {
562                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.kernel_release)?;
563                },
564                8 => {
565                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.osconfig_agent_version)?;
566                },
567                _ => {
568                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
569                },
570            };
571        }
572        ::std::result::Result::Ok(())
573    }
574
575    // Compute sizes of nested messages
576    #[allow(unused_variables)]
577    fn compute_size(&self) -> u32 {
578        let mut my_size = 0;
579        if !self.hostname.is_empty() {
580            my_size += ::protobuf::rt::string_size(1, &self.hostname);
581        }
582        if !self.long_name.is_empty() {
583            my_size += ::protobuf::rt::string_size(2, &self.long_name);
584        }
585        if !self.short_name.is_empty() {
586            my_size += ::protobuf::rt::string_size(3, &self.short_name);
587        }
588        if !self.version.is_empty() {
589            my_size += ::protobuf::rt::string_size(4, &self.version);
590        }
591        if !self.architecture.is_empty() {
592            my_size += ::protobuf::rt::string_size(5, &self.architecture);
593        }
594        if !self.kernel_version.is_empty() {
595            my_size += ::protobuf::rt::string_size(6, &self.kernel_version);
596        }
597        if !self.kernel_release.is_empty() {
598            my_size += ::protobuf::rt::string_size(7, &self.kernel_release);
599        }
600        if !self.osconfig_agent_version.is_empty() {
601            my_size += ::protobuf::rt::string_size(8, &self.osconfig_agent_version);
602        }
603        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
604        self.cached_size.set(my_size);
605        my_size
606    }
607
608    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
609        if !self.hostname.is_empty() {
610            os.write_string(1, &self.hostname)?;
611        }
612        if !self.long_name.is_empty() {
613            os.write_string(2, &self.long_name)?;
614        }
615        if !self.short_name.is_empty() {
616            os.write_string(3, &self.short_name)?;
617        }
618        if !self.version.is_empty() {
619            os.write_string(4, &self.version)?;
620        }
621        if !self.architecture.is_empty() {
622            os.write_string(5, &self.architecture)?;
623        }
624        if !self.kernel_version.is_empty() {
625            os.write_string(6, &self.kernel_version)?;
626        }
627        if !self.kernel_release.is_empty() {
628            os.write_string(7, &self.kernel_release)?;
629        }
630        if !self.osconfig_agent_version.is_empty() {
631            os.write_string(8, &self.osconfig_agent_version)?;
632        }
633        os.write_unknown_fields(self.get_unknown_fields())?;
634        ::std::result::Result::Ok(())
635    }
636
637    fn get_cached_size(&self) -> u32 {
638        self.cached_size.get()
639    }
640
641    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
642        &self.unknown_fields
643    }
644
645    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
646        &mut self.unknown_fields
647    }
648
649    fn as_any(&self) -> &dyn (::std::any::Any) {
650        self as &dyn (::std::any::Any)
651    }
652    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
653        self as &mut dyn (::std::any::Any)
654    }
655    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
656        self
657    }
658
659    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
660        Self::descriptor_static()
661    }
662
663    fn new() -> Inventory_OsInfo {
664        Inventory_OsInfo::new()
665    }
666
667    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
668        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
669        descriptor.get(|| {
670            let mut fields = ::std::vec::Vec::new();
671            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
672                "hostname",
673                |m: &Inventory_OsInfo| { &m.hostname },
674                |m: &mut Inventory_OsInfo| { &mut m.hostname },
675            ));
676            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
677                "long_name",
678                |m: &Inventory_OsInfo| { &m.long_name },
679                |m: &mut Inventory_OsInfo| { &mut m.long_name },
680            ));
681            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
682                "short_name",
683                |m: &Inventory_OsInfo| { &m.short_name },
684                |m: &mut Inventory_OsInfo| { &mut m.short_name },
685            ));
686            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
687                "version",
688                |m: &Inventory_OsInfo| { &m.version },
689                |m: &mut Inventory_OsInfo| { &mut m.version },
690            ));
691            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
692                "architecture",
693                |m: &Inventory_OsInfo| { &m.architecture },
694                |m: &mut Inventory_OsInfo| { &mut m.architecture },
695            ));
696            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
697                "kernel_version",
698                |m: &Inventory_OsInfo| { &m.kernel_version },
699                |m: &mut Inventory_OsInfo| { &mut m.kernel_version },
700            ));
701            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
702                "kernel_release",
703                |m: &Inventory_OsInfo| { &m.kernel_release },
704                |m: &mut Inventory_OsInfo| { &mut m.kernel_release },
705            ));
706            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
707                "osconfig_agent_version",
708                |m: &Inventory_OsInfo| { &m.osconfig_agent_version },
709                |m: &mut Inventory_OsInfo| { &mut m.osconfig_agent_version },
710            ));
711            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Inventory_OsInfo>(
712                "Inventory.OsInfo",
713                fields,
714                file_descriptor_proto()
715            )
716        })
717    }
718
719    fn default_instance() -> &'static Inventory_OsInfo {
720        static instance: ::protobuf::rt::LazyV2<Inventory_OsInfo> = ::protobuf::rt::LazyV2::INIT;
721        instance.get(Inventory_OsInfo::new)
722    }
723}
724
725impl ::protobuf::Clear for Inventory_OsInfo {
726    fn clear(&mut self) {
727        self.hostname.clear();
728        self.long_name.clear();
729        self.short_name.clear();
730        self.version.clear();
731        self.architecture.clear();
732        self.kernel_version.clear();
733        self.kernel_release.clear();
734        self.osconfig_agent_version.clear();
735        self.unknown_fields.clear();
736    }
737}
738
739impl ::std::fmt::Debug for Inventory_OsInfo {
740    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
741        ::protobuf::text_format::fmt(self, f)
742    }
743}
744
745impl ::protobuf::reflect::ProtobufValue for Inventory_OsInfo {
746    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
747        ::protobuf::reflect::ReflectValueRef::Message(self)
748    }
749}
750
751#[derive(PartialEq,Clone,Default)]
752pub struct Inventory_SoftwarePackage {
753    // message oneof groups
754    pub details: ::std::option::Option<Inventory_SoftwarePackage_oneof_details>,
755    // special fields
756    pub unknown_fields: ::protobuf::UnknownFields,
757    pub cached_size: ::protobuf::CachedSize,
758}
759
760impl<'a> ::std::default::Default for &'a Inventory_SoftwarePackage {
761    fn default() -> &'a Inventory_SoftwarePackage {
762        <Inventory_SoftwarePackage as ::protobuf::Message>::default_instance()
763    }
764}
765
766#[derive(Clone,PartialEq,Debug)]
767pub enum Inventory_SoftwarePackage_oneof_details {
768    yum_package(Inventory_VersionedPackage),
769    apt_package(Inventory_VersionedPackage),
770    zypper_package(Inventory_VersionedPackage),
771    googet_package(Inventory_VersionedPackage),
772    zypper_patch(Inventory_ZypperPatch),
773    wua_package(Inventory_WindowsUpdatePackage),
774    qfe_package(Inventory_WindowsQuickFixEngineeringPackage),
775    cos_package(Inventory_VersionedPackage),
776    windows_application(Inventory_WindowsApplication),
777}
778
779impl Inventory_SoftwarePackage {
780    pub fn new() -> Inventory_SoftwarePackage {
781        ::std::default::Default::default()
782    }
783
784    // .google.cloud.osconfig.agentendpoint.v1.Inventory.VersionedPackage yum_package = 1;
785
786
787    pub fn get_yum_package(&self) -> &Inventory_VersionedPackage {
788        match self.details {
789            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::yum_package(ref v)) => v,
790            _ => <Inventory_VersionedPackage as ::protobuf::Message>::default_instance(),
791        }
792    }
793    pub fn clear_yum_package(&mut self) {
794        self.details = ::std::option::Option::None;
795    }
796
797    pub fn has_yum_package(&self) -> bool {
798        match self.details {
799            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::yum_package(..)) => true,
800            _ => false,
801        }
802    }
803
804    // Param is passed by value, moved
805    pub fn set_yum_package(&mut self, v: Inventory_VersionedPackage) {
806        self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::yum_package(v))
807    }
808
809    // Mutable pointer to the field.
810    pub fn mut_yum_package(&mut self) -> &mut Inventory_VersionedPackage {
811        if let ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::yum_package(_)) = self.details {
812        } else {
813            self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::yum_package(Inventory_VersionedPackage::new()));
814        }
815        match self.details {
816            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::yum_package(ref mut v)) => v,
817            _ => panic!(),
818        }
819    }
820
821    // Take field
822    pub fn take_yum_package(&mut self) -> Inventory_VersionedPackage {
823        if self.has_yum_package() {
824            match self.details.take() {
825                ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::yum_package(v)) => v,
826                _ => panic!(),
827            }
828        } else {
829            Inventory_VersionedPackage::new()
830        }
831    }
832
833    // .google.cloud.osconfig.agentendpoint.v1.Inventory.VersionedPackage apt_package = 2;
834
835
836    pub fn get_apt_package(&self) -> &Inventory_VersionedPackage {
837        match self.details {
838            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::apt_package(ref v)) => v,
839            _ => <Inventory_VersionedPackage as ::protobuf::Message>::default_instance(),
840        }
841    }
842    pub fn clear_apt_package(&mut self) {
843        self.details = ::std::option::Option::None;
844    }
845
846    pub fn has_apt_package(&self) -> bool {
847        match self.details {
848            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::apt_package(..)) => true,
849            _ => false,
850        }
851    }
852
853    // Param is passed by value, moved
854    pub fn set_apt_package(&mut self, v: Inventory_VersionedPackage) {
855        self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::apt_package(v))
856    }
857
858    // Mutable pointer to the field.
859    pub fn mut_apt_package(&mut self) -> &mut Inventory_VersionedPackage {
860        if let ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::apt_package(_)) = self.details {
861        } else {
862            self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::apt_package(Inventory_VersionedPackage::new()));
863        }
864        match self.details {
865            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::apt_package(ref mut v)) => v,
866            _ => panic!(),
867        }
868    }
869
870    // Take field
871    pub fn take_apt_package(&mut self) -> Inventory_VersionedPackage {
872        if self.has_apt_package() {
873            match self.details.take() {
874                ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::apt_package(v)) => v,
875                _ => panic!(),
876            }
877        } else {
878            Inventory_VersionedPackage::new()
879        }
880    }
881
882    // .google.cloud.osconfig.agentendpoint.v1.Inventory.VersionedPackage zypper_package = 3;
883
884
885    pub fn get_zypper_package(&self) -> &Inventory_VersionedPackage {
886        match self.details {
887            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_package(ref v)) => v,
888            _ => <Inventory_VersionedPackage as ::protobuf::Message>::default_instance(),
889        }
890    }
891    pub fn clear_zypper_package(&mut self) {
892        self.details = ::std::option::Option::None;
893    }
894
895    pub fn has_zypper_package(&self) -> bool {
896        match self.details {
897            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_package(..)) => true,
898            _ => false,
899        }
900    }
901
902    // Param is passed by value, moved
903    pub fn set_zypper_package(&mut self, v: Inventory_VersionedPackage) {
904        self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_package(v))
905    }
906
907    // Mutable pointer to the field.
908    pub fn mut_zypper_package(&mut self) -> &mut Inventory_VersionedPackage {
909        if let ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_package(_)) = self.details {
910        } else {
911            self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_package(Inventory_VersionedPackage::new()));
912        }
913        match self.details {
914            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_package(ref mut v)) => v,
915            _ => panic!(),
916        }
917    }
918
919    // Take field
920    pub fn take_zypper_package(&mut self) -> Inventory_VersionedPackage {
921        if self.has_zypper_package() {
922            match self.details.take() {
923                ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_package(v)) => v,
924                _ => panic!(),
925            }
926        } else {
927            Inventory_VersionedPackage::new()
928        }
929    }
930
931    // .google.cloud.osconfig.agentendpoint.v1.Inventory.VersionedPackage googet_package = 4;
932
933
934    pub fn get_googet_package(&self) -> &Inventory_VersionedPackage {
935        match self.details {
936            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::googet_package(ref v)) => v,
937            _ => <Inventory_VersionedPackage as ::protobuf::Message>::default_instance(),
938        }
939    }
940    pub fn clear_googet_package(&mut self) {
941        self.details = ::std::option::Option::None;
942    }
943
944    pub fn has_googet_package(&self) -> bool {
945        match self.details {
946            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::googet_package(..)) => true,
947            _ => false,
948        }
949    }
950
951    // Param is passed by value, moved
952    pub fn set_googet_package(&mut self, v: Inventory_VersionedPackage) {
953        self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::googet_package(v))
954    }
955
956    // Mutable pointer to the field.
957    pub fn mut_googet_package(&mut self) -> &mut Inventory_VersionedPackage {
958        if let ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::googet_package(_)) = self.details {
959        } else {
960            self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::googet_package(Inventory_VersionedPackage::new()));
961        }
962        match self.details {
963            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::googet_package(ref mut v)) => v,
964            _ => panic!(),
965        }
966    }
967
968    // Take field
969    pub fn take_googet_package(&mut self) -> Inventory_VersionedPackage {
970        if self.has_googet_package() {
971            match self.details.take() {
972                ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::googet_package(v)) => v,
973                _ => panic!(),
974            }
975        } else {
976            Inventory_VersionedPackage::new()
977        }
978    }
979
980    // .google.cloud.osconfig.agentendpoint.v1.Inventory.ZypperPatch zypper_patch = 5;
981
982
983    pub fn get_zypper_patch(&self) -> &Inventory_ZypperPatch {
984        match self.details {
985            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_patch(ref v)) => v,
986            _ => <Inventory_ZypperPatch as ::protobuf::Message>::default_instance(),
987        }
988    }
989    pub fn clear_zypper_patch(&mut self) {
990        self.details = ::std::option::Option::None;
991    }
992
993    pub fn has_zypper_patch(&self) -> bool {
994        match self.details {
995            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_patch(..)) => true,
996            _ => false,
997        }
998    }
999
1000    // Param is passed by value, moved
1001    pub fn set_zypper_patch(&mut self, v: Inventory_ZypperPatch) {
1002        self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_patch(v))
1003    }
1004
1005    // Mutable pointer to the field.
1006    pub fn mut_zypper_patch(&mut self) -> &mut Inventory_ZypperPatch {
1007        if let ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_patch(_)) = self.details {
1008        } else {
1009            self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_patch(Inventory_ZypperPatch::new()));
1010        }
1011        match self.details {
1012            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_patch(ref mut v)) => v,
1013            _ => panic!(),
1014        }
1015    }
1016
1017    // Take field
1018    pub fn take_zypper_patch(&mut self) -> Inventory_ZypperPatch {
1019        if self.has_zypper_patch() {
1020            match self.details.take() {
1021                ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_patch(v)) => v,
1022                _ => panic!(),
1023            }
1024        } else {
1025            Inventory_ZypperPatch::new()
1026        }
1027    }
1028
1029    // .google.cloud.osconfig.agentendpoint.v1.Inventory.WindowsUpdatePackage wua_package = 6;
1030
1031
1032    pub fn get_wua_package(&self) -> &Inventory_WindowsUpdatePackage {
1033        match self.details {
1034            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::wua_package(ref v)) => v,
1035            _ => <Inventory_WindowsUpdatePackage as ::protobuf::Message>::default_instance(),
1036        }
1037    }
1038    pub fn clear_wua_package(&mut self) {
1039        self.details = ::std::option::Option::None;
1040    }
1041
1042    pub fn has_wua_package(&self) -> bool {
1043        match self.details {
1044            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::wua_package(..)) => true,
1045            _ => false,
1046        }
1047    }
1048
1049    // Param is passed by value, moved
1050    pub fn set_wua_package(&mut self, v: Inventory_WindowsUpdatePackage) {
1051        self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::wua_package(v))
1052    }
1053
1054    // Mutable pointer to the field.
1055    pub fn mut_wua_package(&mut self) -> &mut Inventory_WindowsUpdatePackage {
1056        if let ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::wua_package(_)) = self.details {
1057        } else {
1058            self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::wua_package(Inventory_WindowsUpdatePackage::new()));
1059        }
1060        match self.details {
1061            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::wua_package(ref mut v)) => v,
1062            _ => panic!(),
1063        }
1064    }
1065
1066    // Take field
1067    pub fn take_wua_package(&mut self) -> Inventory_WindowsUpdatePackage {
1068        if self.has_wua_package() {
1069            match self.details.take() {
1070                ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::wua_package(v)) => v,
1071                _ => panic!(),
1072            }
1073        } else {
1074            Inventory_WindowsUpdatePackage::new()
1075        }
1076    }
1077
1078    // .google.cloud.osconfig.agentendpoint.v1.Inventory.WindowsQuickFixEngineeringPackage qfe_package = 7;
1079
1080
1081    pub fn get_qfe_package(&self) -> &Inventory_WindowsQuickFixEngineeringPackage {
1082        match self.details {
1083            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::qfe_package(ref v)) => v,
1084            _ => <Inventory_WindowsQuickFixEngineeringPackage as ::protobuf::Message>::default_instance(),
1085        }
1086    }
1087    pub fn clear_qfe_package(&mut self) {
1088        self.details = ::std::option::Option::None;
1089    }
1090
1091    pub fn has_qfe_package(&self) -> bool {
1092        match self.details {
1093            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::qfe_package(..)) => true,
1094            _ => false,
1095        }
1096    }
1097
1098    // Param is passed by value, moved
1099    pub fn set_qfe_package(&mut self, v: Inventory_WindowsQuickFixEngineeringPackage) {
1100        self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::qfe_package(v))
1101    }
1102
1103    // Mutable pointer to the field.
1104    pub fn mut_qfe_package(&mut self) -> &mut Inventory_WindowsQuickFixEngineeringPackage {
1105        if let ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::qfe_package(_)) = self.details {
1106        } else {
1107            self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::qfe_package(Inventory_WindowsQuickFixEngineeringPackage::new()));
1108        }
1109        match self.details {
1110            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::qfe_package(ref mut v)) => v,
1111            _ => panic!(),
1112        }
1113    }
1114
1115    // Take field
1116    pub fn take_qfe_package(&mut self) -> Inventory_WindowsQuickFixEngineeringPackage {
1117        if self.has_qfe_package() {
1118            match self.details.take() {
1119                ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::qfe_package(v)) => v,
1120                _ => panic!(),
1121            }
1122        } else {
1123            Inventory_WindowsQuickFixEngineeringPackage::new()
1124        }
1125    }
1126
1127    // .google.cloud.osconfig.agentendpoint.v1.Inventory.VersionedPackage cos_package = 8;
1128
1129
1130    pub fn get_cos_package(&self) -> &Inventory_VersionedPackage {
1131        match self.details {
1132            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::cos_package(ref v)) => v,
1133            _ => <Inventory_VersionedPackage as ::protobuf::Message>::default_instance(),
1134        }
1135    }
1136    pub fn clear_cos_package(&mut self) {
1137        self.details = ::std::option::Option::None;
1138    }
1139
1140    pub fn has_cos_package(&self) -> bool {
1141        match self.details {
1142            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::cos_package(..)) => true,
1143            _ => false,
1144        }
1145    }
1146
1147    // Param is passed by value, moved
1148    pub fn set_cos_package(&mut self, v: Inventory_VersionedPackage) {
1149        self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::cos_package(v))
1150    }
1151
1152    // Mutable pointer to the field.
1153    pub fn mut_cos_package(&mut self) -> &mut Inventory_VersionedPackage {
1154        if let ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::cos_package(_)) = self.details {
1155        } else {
1156            self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::cos_package(Inventory_VersionedPackage::new()));
1157        }
1158        match self.details {
1159            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::cos_package(ref mut v)) => v,
1160            _ => panic!(),
1161        }
1162    }
1163
1164    // Take field
1165    pub fn take_cos_package(&mut self) -> Inventory_VersionedPackage {
1166        if self.has_cos_package() {
1167            match self.details.take() {
1168                ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::cos_package(v)) => v,
1169                _ => panic!(),
1170            }
1171        } else {
1172            Inventory_VersionedPackage::new()
1173        }
1174    }
1175
1176    // .google.cloud.osconfig.agentendpoint.v1.Inventory.WindowsApplication windows_application = 9;
1177
1178
1179    pub fn get_windows_application(&self) -> &Inventory_WindowsApplication {
1180        match self.details {
1181            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::windows_application(ref v)) => v,
1182            _ => <Inventory_WindowsApplication as ::protobuf::Message>::default_instance(),
1183        }
1184    }
1185    pub fn clear_windows_application(&mut self) {
1186        self.details = ::std::option::Option::None;
1187    }
1188
1189    pub fn has_windows_application(&self) -> bool {
1190        match self.details {
1191            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::windows_application(..)) => true,
1192            _ => false,
1193        }
1194    }
1195
1196    // Param is passed by value, moved
1197    pub fn set_windows_application(&mut self, v: Inventory_WindowsApplication) {
1198        self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::windows_application(v))
1199    }
1200
1201    // Mutable pointer to the field.
1202    pub fn mut_windows_application(&mut self) -> &mut Inventory_WindowsApplication {
1203        if let ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::windows_application(_)) = self.details {
1204        } else {
1205            self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::windows_application(Inventory_WindowsApplication::new()));
1206        }
1207        match self.details {
1208            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::windows_application(ref mut v)) => v,
1209            _ => panic!(),
1210        }
1211    }
1212
1213    // Take field
1214    pub fn take_windows_application(&mut self) -> Inventory_WindowsApplication {
1215        if self.has_windows_application() {
1216            match self.details.take() {
1217                ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::windows_application(v)) => v,
1218                _ => panic!(),
1219            }
1220        } else {
1221            Inventory_WindowsApplication::new()
1222        }
1223    }
1224}
1225
1226impl ::protobuf::Message for Inventory_SoftwarePackage {
1227    fn is_initialized(&self) -> bool {
1228        if let Some(Inventory_SoftwarePackage_oneof_details::yum_package(ref v)) = self.details {
1229            if !v.is_initialized() {
1230                return false;
1231            }
1232        }
1233        if let Some(Inventory_SoftwarePackage_oneof_details::apt_package(ref v)) = self.details {
1234            if !v.is_initialized() {
1235                return false;
1236            }
1237        }
1238        if let Some(Inventory_SoftwarePackage_oneof_details::zypper_package(ref v)) = self.details {
1239            if !v.is_initialized() {
1240                return false;
1241            }
1242        }
1243        if let Some(Inventory_SoftwarePackage_oneof_details::googet_package(ref v)) = self.details {
1244            if !v.is_initialized() {
1245                return false;
1246            }
1247        }
1248        if let Some(Inventory_SoftwarePackage_oneof_details::zypper_patch(ref v)) = self.details {
1249            if !v.is_initialized() {
1250                return false;
1251            }
1252        }
1253        if let Some(Inventory_SoftwarePackage_oneof_details::wua_package(ref v)) = self.details {
1254            if !v.is_initialized() {
1255                return false;
1256            }
1257        }
1258        if let Some(Inventory_SoftwarePackage_oneof_details::qfe_package(ref v)) = self.details {
1259            if !v.is_initialized() {
1260                return false;
1261            }
1262        }
1263        if let Some(Inventory_SoftwarePackage_oneof_details::cos_package(ref v)) = self.details {
1264            if !v.is_initialized() {
1265                return false;
1266            }
1267        }
1268        if let Some(Inventory_SoftwarePackage_oneof_details::windows_application(ref v)) = self.details {
1269            if !v.is_initialized() {
1270                return false;
1271            }
1272        }
1273        true
1274    }
1275
1276    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1277        while !is.eof()? {
1278            let (field_number, wire_type) = is.read_tag_unpack()?;
1279            match field_number {
1280                1 => {
1281                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1282                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1283                    }
1284                    self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::yum_package(is.read_message()?));
1285                },
1286                2 => {
1287                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1288                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1289                    }
1290                    self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::apt_package(is.read_message()?));
1291                },
1292                3 => {
1293                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1294                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1295                    }
1296                    self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_package(is.read_message()?));
1297                },
1298                4 => {
1299                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1300                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1301                    }
1302                    self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::googet_package(is.read_message()?));
1303                },
1304                5 => {
1305                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1306                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1307                    }
1308                    self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_patch(is.read_message()?));
1309                },
1310                6 => {
1311                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1312                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1313                    }
1314                    self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::wua_package(is.read_message()?));
1315                },
1316                7 => {
1317                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1318                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1319                    }
1320                    self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::qfe_package(is.read_message()?));
1321                },
1322                8 => {
1323                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1324                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1325                    }
1326                    self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::cos_package(is.read_message()?));
1327                },
1328                9 => {
1329                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1330                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1331                    }
1332                    self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::windows_application(is.read_message()?));
1333                },
1334                _ => {
1335                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1336                },
1337            };
1338        }
1339        ::std::result::Result::Ok(())
1340    }
1341
1342    // Compute sizes of nested messages
1343    #[allow(unused_variables)]
1344    fn compute_size(&self) -> u32 {
1345        let mut my_size = 0;
1346        if let ::std::option::Option::Some(ref v) = self.details {
1347            match v {
1348                &Inventory_SoftwarePackage_oneof_details::yum_package(ref v) => {
1349                    let len = v.compute_size();
1350                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1351                },
1352                &Inventory_SoftwarePackage_oneof_details::apt_package(ref v) => {
1353                    let len = v.compute_size();
1354                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1355                },
1356                &Inventory_SoftwarePackage_oneof_details::zypper_package(ref v) => {
1357                    let len = v.compute_size();
1358                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1359                },
1360                &Inventory_SoftwarePackage_oneof_details::googet_package(ref v) => {
1361                    let len = v.compute_size();
1362                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1363                },
1364                &Inventory_SoftwarePackage_oneof_details::zypper_patch(ref v) => {
1365                    let len = v.compute_size();
1366                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1367                },
1368                &Inventory_SoftwarePackage_oneof_details::wua_package(ref v) => {
1369                    let len = v.compute_size();
1370                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1371                },
1372                &Inventory_SoftwarePackage_oneof_details::qfe_package(ref v) => {
1373                    let len = v.compute_size();
1374                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1375                },
1376                &Inventory_SoftwarePackage_oneof_details::cos_package(ref v) => {
1377                    let len = v.compute_size();
1378                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1379                },
1380                &Inventory_SoftwarePackage_oneof_details::windows_application(ref v) => {
1381                    let len = v.compute_size();
1382                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1383                },
1384            };
1385        }
1386        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1387        self.cached_size.set(my_size);
1388        my_size
1389    }
1390
1391    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1392        if let ::std::option::Option::Some(ref v) = self.details {
1393            match v {
1394                &Inventory_SoftwarePackage_oneof_details::yum_package(ref v) => {
1395                    os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1396                    os.write_raw_varint32(v.get_cached_size())?;
1397                    v.write_to_with_cached_sizes(os)?;
1398                },
1399                &Inventory_SoftwarePackage_oneof_details::apt_package(ref v) => {
1400                    os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1401                    os.write_raw_varint32(v.get_cached_size())?;
1402                    v.write_to_with_cached_sizes(os)?;
1403                },
1404                &Inventory_SoftwarePackage_oneof_details::zypper_package(ref v) => {
1405                    os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1406                    os.write_raw_varint32(v.get_cached_size())?;
1407                    v.write_to_with_cached_sizes(os)?;
1408                },
1409                &Inventory_SoftwarePackage_oneof_details::googet_package(ref v) => {
1410                    os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1411                    os.write_raw_varint32(v.get_cached_size())?;
1412                    v.write_to_with_cached_sizes(os)?;
1413                },
1414                &Inventory_SoftwarePackage_oneof_details::zypper_patch(ref v) => {
1415                    os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1416                    os.write_raw_varint32(v.get_cached_size())?;
1417                    v.write_to_with_cached_sizes(os)?;
1418                },
1419                &Inventory_SoftwarePackage_oneof_details::wua_package(ref v) => {
1420                    os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1421                    os.write_raw_varint32(v.get_cached_size())?;
1422                    v.write_to_with_cached_sizes(os)?;
1423                },
1424                &Inventory_SoftwarePackage_oneof_details::qfe_package(ref v) => {
1425                    os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1426                    os.write_raw_varint32(v.get_cached_size())?;
1427                    v.write_to_with_cached_sizes(os)?;
1428                },
1429                &Inventory_SoftwarePackage_oneof_details::cos_package(ref v) => {
1430                    os.write_tag(8, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1431                    os.write_raw_varint32(v.get_cached_size())?;
1432                    v.write_to_with_cached_sizes(os)?;
1433                },
1434                &Inventory_SoftwarePackage_oneof_details::windows_application(ref v) => {
1435                    os.write_tag(9, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1436                    os.write_raw_varint32(v.get_cached_size())?;
1437                    v.write_to_with_cached_sizes(os)?;
1438                },
1439            };
1440        }
1441        os.write_unknown_fields(self.get_unknown_fields())?;
1442        ::std::result::Result::Ok(())
1443    }
1444
1445    fn get_cached_size(&self) -> u32 {
1446        self.cached_size.get()
1447    }
1448
1449    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1450        &self.unknown_fields
1451    }
1452
1453    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1454        &mut self.unknown_fields
1455    }
1456
1457    fn as_any(&self) -> &dyn (::std::any::Any) {
1458        self as &dyn (::std::any::Any)
1459    }
1460    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1461        self as &mut dyn (::std::any::Any)
1462    }
1463    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1464        self
1465    }
1466
1467    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1468        Self::descriptor_static()
1469    }
1470
1471    fn new() -> Inventory_SoftwarePackage {
1472        Inventory_SoftwarePackage::new()
1473    }
1474
1475    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1476        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1477        descriptor.get(|| {
1478            let mut fields = ::std::vec::Vec::new();
1479            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Inventory_VersionedPackage>(
1480                "yum_package",
1481                Inventory_SoftwarePackage::has_yum_package,
1482                Inventory_SoftwarePackage::get_yum_package,
1483            ));
1484            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Inventory_VersionedPackage>(
1485                "apt_package",
1486                Inventory_SoftwarePackage::has_apt_package,
1487                Inventory_SoftwarePackage::get_apt_package,
1488            ));
1489            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Inventory_VersionedPackage>(
1490                "zypper_package",
1491                Inventory_SoftwarePackage::has_zypper_package,
1492                Inventory_SoftwarePackage::get_zypper_package,
1493            ));
1494            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Inventory_VersionedPackage>(
1495                "googet_package",
1496                Inventory_SoftwarePackage::has_googet_package,
1497                Inventory_SoftwarePackage::get_googet_package,
1498            ));
1499            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Inventory_ZypperPatch>(
1500                "zypper_patch",
1501                Inventory_SoftwarePackage::has_zypper_patch,
1502                Inventory_SoftwarePackage::get_zypper_patch,
1503            ));
1504            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Inventory_WindowsUpdatePackage>(
1505                "wua_package",
1506                Inventory_SoftwarePackage::has_wua_package,
1507                Inventory_SoftwarePackage::get_wua_package,
1508            ));
1509            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Inventory_WindowsQuickFixEngineeringPackage>(
1510                "qfe_package",
1511                Inventory_SoftwarePackage::has_qfe_package,
1512                Inventory_SoftwarePackage::get_qfe_package,
1513            ));
1514            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Inventory_VersionedPackage>(
1515                "cos_package",
1516                Inventory_SoftwarePackage::has_cos_package,
1517                Inventory_SoftwarePackage::get_cos_package,
1518            ));
1519            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Inventory_WindowsApplication>(
1520                "windows_application",
1521                Inventory_SoftwarePackage::has_windows_application,
1522                Inventory_SoftwarePackage::get_windows_application,
1523            ));
1524            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Inventory_SoftwarePackage>(
1525                "Inventory.SoftwarePackage",
1526                fields,
1527                file_descriptor_proto()
1528            )
1529        })
1530    }
1531
1532    fn default_instance() -> &'static Inventory_SoftwarePackage {
1533        static instance: ::protobuf::rt::LazyV2<Inventory_SoftwarePackage> = ::protobuf::rt::LazyV2::INIT;
1534        instance.get(Inventory_SoftwarePackage::new)
1535    }
1536}
1537
1538impl ::protobuf::Clear for Inventory_SoftwarePackage {
1539    fn clear(&mut self) {
1540        self.details = ::std::option::Option::None;
1541        self.details = ::std::option::Option::None;
1542        self.details = ::std::option::Option::None;
1543        self.details = ::std::option::Option::None;
1544        self.details = ::std::option::Option::None;
1545        self.details = ::std::option::Option::None;
1546        self.details = ::std::option::Option::None;
1547        self.details = ::std::option::Option::None;
1548        self.details = ::std::option::Option::None;
1549        self.unknown_fields.clear();
1550    }
1551}
1552
1553impl ::std::fmt::Debug for Inventory_SoftwarePackage {
1554    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1555        ::protobuf::text_format::fmt(self, f)
1556    }
1557}
1558
1559impl ::protobuf::reflect::ProtobufValue for Inventory_SoftwarePackage {
1560    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1561        ::protobuf::reflect::ReflectValueRef::Message(self)
1562    }
1563}
1564
1565#[derive(PartialEq,Clone,Default)]
1566pub struct Inventory_VersionedPackage {
1567    // message fields
1568    pub package_name: ::std::string::String,
1569    pub architecture: ::std::string::String,
1570    pub version: ::std::string::String,
1571    // special fields
1572    pub unknown_fields: ::protobuf::UnknownFields,
1573    pub cached_size: ::protobuf::CachedSize,
1574}
1575
1576impl<'a> ::std::default::Default for &'a Inventory_VersionedPackage {
1577    fn default() -> &'a Inventory_VersionedPackage {
1578        <Inventory_VersionedPackage as ::protobuf::Message>::default_instance()
1579    }
1580}
1581
1582impl Inventory_VersionedPackage {
1583    pub fn new() -> Inventory_VersionedPackage {
1584        ::std::default::Default::default()
1585    }
1586
1587    // string package_name = 1;
1588
1589
1590    pub fn get_package_name(&self) -> &str {
1591        &self.package_name
1592    }
1593    pub fn clear_package_name(&mut self) {
1594        self.package_name.clear();
1595    }
1596
1597    // Param is passed by value, moved
1598    pub fn set_package_name(&mut self, v: ::std::string::String) {
1599        self.package_name = v;
1600    }
1601
1602    // Mutable pointer to the field.
1603    // If field is not initialized, it is initialized with default value first.
1604    pub fn mut_package_name(&mut self) -> &mut ::std::string::String {
1605        &mut self.package_name
1606    }
1607
1608    // Take field
1609    pub fn take_package_name(&mut self) -> ::std::string::String {
1610        ::std::mem::replace(&mut self.package_name, ::std::string::String::new())
1611    }
1612
1613    // string architecture = 2;
1614
1615
1616    pub fn get_architecture(&self) -> &str {
1617        &self.architecture
1618    }
1619    pub fn clear_architecture(&mut self) {
1620        self.architecture.clear();
1621    }
1622
1623    // Param is passed by value, moved
1624    pub fn set_architecture(&mut self, v: ::std::string::String) {
1625        self.architecture = v;
1626    }
1627
1628    // Mutable pointer to the field.
1629    // If field is not initialized, it is initialized with default value first.
1630    pub fn mut_architecture(&mut self) -> &mut ::std::string::String {
1631        &mut self.architecture
1632    }
1633
1634    // Take field
1635    pub fn take_architecture(&mut self) -> ::std::string::String {
1636        ::std::mem::replace(&mut self.architecture, ::std::string::String::new())
1637    }
1638
1639    // string version = 3;
1640
1641
1642    pub fn get_version(&self) -> &str {
1643        &self.version
1644    }
1645    pub fn clear_version(&mut self) {
1646        self.version.clear();
1647    }
1648
1649    // Param is passed by value, moved
1650    pub fn set_version(&mut self, v: ::std::string::String) {
1651        self.version = v;
1652    }
1653
1654    // Mutable pointer to the field.
1655    // If field is not initialized, it is initialized with default value first.
1656    pub fn mut_version(&mut self) -> &mut ::std::string::String {
1657        &mut self.version
1658    }
1659
1660    // Take field
1661    pub fn take_version(&mut self) -> ::std::string::String {
1662        ::std::mem::replace(&mut self.version, ::std::string::String::new())
1663    }
1664}
1665
1666impl ::protobuf::Message for Inventory_VersionedPackage {
1667    fn is_initialized(&self) -> bool {
1668        true
1669    }
1670
1671    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1672        while !is.eof()? {
1673            let (field_number, wire_type) = is.read_tag_unpack()?;
1674            match field_number {
1675                1 => {
1676                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.package_name)?;
1677                },
1678                2 => {
1679                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.architecture)?;
1680                },
1681                3 => {
1682                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.version)?;
1683                },
1684                _ => {
1685                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1686                },
1687            };
1688        }
1689        ::std::result::Result::Ok(())
1690    }
1691
1692    // Compute sizes of nested messages
1693    #[allow(unused_variables)]
1694    fn compute_size(&self) -> u32 {
1695        let mut my_size = 0;
1696        if !self.package_name.is_empty() {
1697            my_size += ::protobuf::rt::string_size(1, &self.package_name);
1698        }
1699        if !self.architecture.is_empty() {
1700            my_size += ::protobuf::rt::string_size(2, &self.architecture);
1701        }
1702        if !self.version.is_empty() {
1703            my_size += ::protobuf::rt::string_size(3, &self.version);
1704        }
1705        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1706        self.cached_size.set(my_size);
1707        my_size
1708    }
1709
1710    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1711        if !self.package_name.is_empty() {
1712            os.write_string(1, &self.package_name)?;
1713        }
1714        if !self.architecture.is_empty() {
1715            os.write_string(2, &self.architecture)?;
1716        }
1717        if !self.version.is_empty() {
1718            os.write_string(3, &self.version)?;
1719        }
1720        os.write_unknown_fields(self.get_unknown_fields())?;
1721        ::std::result::Result::Ok(())
1722    }
1723
1724    fn get_cached_size(&self) -> u32 {
1725        self.cached_size.get()
1726    }
1727
1728    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1729        &self.unknown_fields
1730    }
1731
1732    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1733        &mut self.unknown_fields
1734    }
1735
1736    fn as_any(&self) -> &dyn (::std::any::Any) {
1737        self as &dyn (::std::any::Any)
1738    }
1739    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1740        self as &mut dyn (::std::any::Any)
1741    }
1742    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1743        self
1744    }
1745
1746    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1747        Self::descriptor_static()
1748    }
1749
1750    fn new() -> Inventory_VersionedPackage {
1751        Inventory_VersionedPackage::new()
1752    }
1753
1754    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1755        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1756        descriptor.get(|| {
1757            let mut fields = ::std::vec::Vec::new();
1758            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1759                "package_name",
1760                |m: &Inventory_VersionedPackage| { &m.package_name },
1761                |m: &mut Inventory_VersionedPackage| { &mut m.package_name },
1762            ));
1763            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1764                "architecture",
1765                |m: &Inventory_VersionedPackage| { &m.architecture },
1766                |m: &mut Inventory_VersionedPackage| { &mut m.architecture },
1767            ));
1768            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1769                "version",
1770                |m: &Inventory_VersionedPackage| { &m.version },
1771                |m: &mut Inventory_VersionedPackage| { &mut m.version },
1772            ));
1773            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Inventory_VersionedPackage>(
1774                "Inventory.VersionedPackage",
1775                fields,
1776                file_descriptor_proto()
1777            )
1778        })
1779    }
1780
1781    fn default_instance() -> &'static Inventory_VersionedPackage {
1782        static instance: ::protobuf::rt::LazyV2<Inventory_VersionedPackage> = ::protobuf::rt::LazyV2::INIT;
1783        instance.get(Inventory_VersionedPackage::new)
1784    }
1785}
1786
1787impl ::protobuf::Clear for Inventory_VersionedPackage {
1788    fn clear(&mut self) {
1789        self.package_name.clear();
1790        self.architecture.clear();
1791        self.version.clear();
1792        self.unknown_fields.clear();
1793    }
1794}
1795
1796impl ::std::fmt::Debug for Inventory_VersionedPackage {
1797    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1798        ::protobuf::text_format::fmt(self, f)
1799    }
1800}
1801
1802impl ::protobuf::reflect::ProtobufValue for Inventory_VersionedPackage {
1803    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1804        ::protobuf::reflect::ReflectValueRef::Message(self)
1805    }
1806}
1807
1808#[derive(PartialEq,Clone,Default)]
1809pub struct Inventory_ZypperPatch {
1810    // message fields
1811    pub patch_name: ::std::string::String,
1812    pub category: ::std::string::String,
1813    pub severity: ::std::string::String,
1814    pub summary: ::std::string::String,
1815    // special fields
1816    pub unknown_fields: ::protobuf::UnknownFields,
1817    pub cached_size: ::protobuf::CachedSize,
1818}
1819
1820impl<'a> ::std::default::Default for &'a Inventory_ZypperPatch {
1821    fn default() -> &'a Inventory_ZypperPatch {
1822        <Inventory_ZypperPatch as ::protobuf::Message>::default_instance()
1823    }
1824}
1825
1826impl Inventory_ZypperPatch {
1827    pub fn new() -> Inventory_ZypperPatch {
1828        ::std::default::Default::default()
1829    }
1830
1831    // string patch_name = 1;
1832
1833
1834    pub fn get_patch_name(&self) -> &str {
1835        &self.patch_name
1836    }
1837    pub fn clear_patch_name(&mut self) {
1838        self.patch_name.clear();
1839    }
1840
1841    // Param is passed by value, moved
1842    pub fn set_patch_name(&mut self, v: ::std::string::String) {
1843        self.patch_name = v;
1844    }
1845
1846    // Mutable pointer to the field.
1847    // If field is not initialized, it is initialized with default value first.
1848    pub fn mut_patch_name(&mut self) -> &mut ::std::string::String {
1849        &mut self.patch_name
1850    }
1851
1852    // Take field
1853    pub fn take_patch_name(&mut self) -> ::std::string::String {
1854        ::std::mem::replace(&mut self.patch_name, ::std::string::String::new())
1855    }
1856
1857    // string category = 2;
1858
1859
1860    pub fn get_category(&self) -> &str {
1861        &self.category
1862    }
1863    pub fn clear_category(&mut self) {
1864        self.category.clear();
1865    }
1866
1867    // Param is passed by value, moved
1868    pub fn set_category(&mut self, v: ::std::string::String) {
1869        self.category = v;
1870    }
1871
1872    // Mutable pointer to the field.
1873    // If field is not initialized, it is initialized with default value first.
1874    pub fn mut_category(&mut self) -> &mut ::std::string::String {
1875        &mut self.category
1876    }
1877
1878    // Take field
1879    pub fn take_category(&mut self) -> ::std::string::String {
1880        ::std::mem::replace(&mut self.category, ::std::string::String::new())
1881    }
1882
1883    // string severity = 3;
1884
1885
1886    pub fn get_severity(&self) -> &str {
1887        &self.severity
1888    }
1889    pub fn clear_severity(&mut self) {
1890        self.severity.clear();
1891    }
1892
1893    // Param is passed by value, moved
1894    pub fn set_severity(&mut self, v: ::std::string::String) {
1895        self.severity = v;
1896    }
1897
1898    // Mutable pointer to the field.
1899    // If field is not initialized, it is initialized with default value first.
1900    pub fn mut_severity(&mut self) -> &mut ::std::string::String {
1901        &mut self.severity
1902    }
1903
1904    // Take field
1905    pub fn take_severity(&mut self) -> ::std::string::String {
1906        ::std::mem::replace(&mut self.severity, ::std::string::String::new())
1907    }
1908
1909    // string summary = 4;
1910
1911
1912    pub fn get_summary(&self) -> &str {
1913        &self.summary
1914    }
1915    pub fn clear_summary(&mut self) {
1916        self.summary.clear();
1917    }
1918
1919    // Param is passed by value, moved
1920    pub fn set_summary(&mut self, v: ::std::string::String) {
1921        self.summary = v;
1922    }
1923
1924    // Mutable pointer to the field.
1925    // If field is not initialized, it is initialized with default value first.
1926    pub fn mut_summary(&mut self) -> &mut ::std::string::String {
1927        &mut self.summary
1928    }
1929
1930    // Take field
1931    pub fn take_summary(&mut self) -> ::std::string::String {
1932        ::std::mem::replace(&mut self.summary, ::std::string::String::new())
1933    }
1934}
1935
1936impl ::protobuf::Message for Inventory_ZypperPatch {
1937    fn is_initialized(&self) -> bool {
1938        true
1939    }
1940
1941    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1942        while !is.eof()? {
1943            let (field_number, wire_type) = is.read_tag_unpack()?;
1944            match field_number {
1945                1 => {
1946                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.patch_name)?;
1947                },
1948                2 => {
1949                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.category)?;
1950                },
1951                3 => {
1952                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.severity)?;
1953                },
1954                4 => {
1955                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.summary)?;
1956                },
1957                _ => {
1958                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1959                },
1960            };
1961        }
1962        ::std::result::Result::Ok(())
1963    }
1964
1965    // Compute sizes of nested messages
1966    #[allow(unused_variables)]
1967    fn compute_size(&self) -> u32 {
1968        let mut my_size = 0;
1969        if !self.patch_name.is_empty() {
1970            my_size += ::protobuf::rt::string_size(1, &self.patch_name);
1971        }
1972        if !self.category.is_empty() {
1973            my_size += ::protobuf::rt::string_size(2, &self.category);
1974        }
1975        if !self.severity.is_empty() {
1976            my_size += ::protobuf::rt::string_size(3, &self.severity);
1977        }
1978        if !self.summary.is_empty() {
1979            my_size += ::protobuf::rt::string_size(4, &self.summary);
1980        }
1981        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1982        self.cached_size.set(my_size);
1983        my_size
1984    }
1985
1986    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1987        if !self.patch_name.is_empty() {
1988            os.write_string(1, &self.patch_name)?;
1989        }
1990        if !self.category.is_empty() {
1991            os.write_string(2, &self.category)?;
1992        }
1993        if !self.severity.is_empty() {
1994            os.write_string(3, &self.severity)?;
1995        }
1996        if !self.summary.is_empty() {
1997            os.write_string(4, &self.summary)?;
1998        }
1999        os.write_unknown_fields(self.get_unknown_fields())?;
2000        ::std::result::Result::Ok(())
2001    }
2002
2003    fn get_cached_size(&self) -> u32 {
2004        self.cached_size.get()
2005    }
2006
2007    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2008        &self.unknown_fields
2009    }
2010
2011    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2012        &mut self.unknown_fields
2013    }
2014
2015    fn as_any(&self) -> &dyn (::std::any::Any) {
2016        self as &dyn (::std::any::Any)
2017    }
2018    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2019        self as &mut dyn (::std::any::Any)
2020    }
2021    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2022        self
2023    }
2024
2025    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2026        Self::descriptor_static()
2027    }
2028
2029    fn new() -> Inventory_ZypperPatch {
2030        Inventory_ZypperPatch::new()
2031    }
2032
2033    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2034        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2035        descriptor.get(|| {
2036            let mut fields = ::std::vec::Vec::new();
2037            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2038                "patch_name",
2039                |m: &Inventory_ZypperPatch| { &m.patch_name },
2040                |m: &mut Inventory_ZypperPatch| { &mut m.patch_name },
2041            ));
2042            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2043                "category",
2044                |m: &Inventory_ZypperPatch| { &m.category },
2045                |m: &mut Inventory_ZypperPatch| { &mut m.category },
2046            ));
2047            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2048                "severity",
2049                |m: &Inventory_ZypperPatch| { &m.severity },
2050                |m: &mut Inventory_ZypperPatch| { &mut m.severity },
2051            ));
2052            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2053                "summary",
2054                |m: &Inventory_ZypperPatch| { &m.summary },
2055                |m: &mut Inventory_ZypperPatch| { &mut m.summary },
2056            ));
2057            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Inventory_ZypperPatch>(
2058                "Inventory.ZypperPatch",
2059                fields,
2060                file_descriptor_proto()
2061            )
2062        })
2063    }
2064
2065    fn default_instance() -> &'static Inventory_ZypperPatch {
2066        static instance: ::protobuf::rt::LazyV2<Inventory_ZypperPatch> = ::protobuf::rt::LazyV2::INIT;
2067        instance.get(Inventory_ZypperPatch::new)
2068    }
2069}
2070
2071impl ::protobuf::Clear for Inventory_ZypperPatch {
2072    fn clear(&mut self) {
2073        self.patch_name.clear();
2074        self.category.clear();
2075        self.severity.clear();
2076        self.summary.clear();
2077        self.unknown_fields.clear();
2078    }
2079}
2080
2081impl ::std::fmt::Debug for Inventory_ZypperPatch {
2082    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2083        ::protobuf::text_format::fmt(self, f)
2084    }
2085}
2086
2087impl ::protobuf::reflect::ProtobufValue for Inventory_ZypperPatch {
2088    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2089        ::protobuf::reflect::ReflectValueRef::Message(self)
2090    }
2091}
2092
2093#[derive(PartialEq,Clone,Default)]
2094pub struct Inventory_WindowsUpdatePackage {
2095    // message fields
2096    pub title: ::std::string::String,
2097    pub description: ::std::string::String,
2098    pub categories: ::protobuf::RepeatedField<Inventory_WindowsUpdatePackage_WindowsUpdateCategory>,
2099    pub kb_article_ids: ::protobuf::RepeatedField<::std::string::String>,
2100    pub support_url: ::std::string::String,
2101    pub more_info_urls: ::protobuf::RepeatedField<::std::string::String>,
2102    pub update_id: ::std::string::String,
2103    pub revision_number: i32,
2104    pub last_deployment_change_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
2105    // special fields
2106    pub unknown_fields: ::protobuf::UnknownFields,
2107    pub cached_size: ::protobuf::CachedSize,
2108}
2109
2110impl<'a> ::std::default::Default for &'a Inventory_WindowsUpdatePackage {
2111    fn default() -> &'a Inventory_WindowsUpdatePackage {
2112        <Inventory_WindowsUpdatePackage as ::protobuf::Message>::default_instance()
2113    }
2114}
2115
2116impl Inventory_WindowsUpdatePackage {
2117    pub fn new() -> Inventory_WindowsUpdatePackage {
2118        ::std::default::Default::default()
2119    }
2120
2121    // string title = 1;
2122
2123
2124    pub fn get_title(&self) -> &str {
2125        &self.title
2126    }
2127    pub fn clear_title(&mut self) {
2128        self.title.clear();
2129    }
2130
2131    // Param is passed by value, moved
2132    pub fn set_title(&mut self, v: ::std::string::String) {
2133        self.title = v;
2134    }
2135
2136    // Mutable pointer to the field.
2137    // If field is not initialized, it is initialized with default value first.
2138    pub fn mut_title(&mut self) -> &mut ::std::string::String {
2139        &mut self.title
2140    }
2141
2142    // Take field
2143    pub fn take_title(&mut self) -> ::std::string::String {
2144        ::std::mem::replace(&mut self.title, ::std::string::String::new())
2145    }
2146
2147    // string description = 2;
2148
2149
2150    pub fn get_description(&self) -> &str {
2151        &self.description
2152    }
2153    pub fn clear_description(&mut self) {
2154        self.description.clear();
2155    }
2156
2157    // Param is passed by value, moved
2158    pub fn set_description(&mut self, v: ::std::string::String) {
2159        self.description = v;
2160    }
2161
2162    // Mutable pointer to the field.
2163    // If field is not initialized, it is initialized with default value first.
2164    pub fn mut_description(&mut self) -> &mut ::std::string::String {
2165        &mut self.description
2166    }
2167
2168    // Take field
2169    pub fn take_description(&mut self) -> ::std::string::String {
2170        ::std::mem::replace(&mut self.description, ::std::string::String::new())
2171    }
2172
2173    // repeated .google.cloud.osconfig.agentendpoint.v1.Inventory.WindowsUpdatePackage.WindowsUpdateCategory categories = 3;
2174
2175
2176    pub fn get_categories(&self) -> &[Inventory_WindowsUpdatePackage_WindowsUpdateCategory] {
2177        &self.categories
2178    }
2179    pub fn clear_categories(&mut self) {
2180        self.categories.clear();
2181    }
2182
2183    // Param is passed by value, moved
2184    pub fn set_categories(&mut self, v: ::protobuf::RepeatedField<Inventory_WindowsUpdatePackage_WindowsUpdateCategory>) {
2185        self.categories = v;
2186    }
2187
2188    // Mutable pointer to the field.
2189    pub fn mut_categories(&mut self) -> &mut ::protobuf::RepeatedField<Inventory_WindowsUpdatePackage_WindowsUpdateCategory> {
2190        &mut self.categories
2191    }
2192
2193    // Take field
2194    pub fn take_categories(&mut self) -> ::protobuf::RepeatedField<Inventory_WindowsUpdatePackage_WindowsUpdateCategory> {
2195        ::std::mem::replace(&mut self.categories, ::protobuf::RepeatedField::new())
2196    }
2197
2198    // repeated string kb_article_ids = 4;
2199
2200
2201    pub fn get_kb_article_ids(&self) -> &[::std::string::String] {
2202        &self.kb_article_ids
2203    }
2204    pub fn clear_kb_article_ids(&mut self) {
2205        self.kb_article_ids.clear();
2206    }
2207
2208    // Param is passed by value, moved
2209    pub fn set_kb_article_ids(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
2210        self.kb_article_ids = v;
2211    }
2212
2213    // Mutable pointer to the field.
2214    pub fn mut_kb_article_ids(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
2215        &mut self.kb_article_ids
2216    }
2217
2218    // Take field
2219    pub fn take_kb_article_ids(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
2220        ::std::mem::replace(&mut self.kb_article_ids, ::protobuf::RepeatedField::new())
2221    }
2222
2223    // string support_url = 5;
2224
2225
2226    pub fn get_support_url(&self) -> &str {
2227        &self.support_url
2228    }
2229    pub fn clear_support_url(&mut self) {
2230        self.support_url.clear();
2231    }
2232
2233    // Param is passed by value, moved
2234    pub fn set_support_url(&mut self, v: ::std::string::String) {
2235        self.support_url = v;
2236    }
2237
2238    // Mutable pointer to the field.
2239    // If field is not initialized, it is initialized with default value first.
2240    pub fn mut_support_url(&mut self) -> &mut ::std::string::String {
2241        &mut self.support_url
2242    }
2243
2244    // Take field
2245    pub fn take_support_url(&mut self) -> ::std::string::String {
2246        ::std::mem::replace(&mut self.support_url, ::std::string::String::new())
2247    }
2248
2249    // repeated string more_info_urls = 6;
2250
2251
2252    pub fn get_more_info_urls(&self) -> &[::std::string::String] {
2253        &self.more_info_urls
2254    }
2255    pub fn clear_more_info_urls(&mut self) {
2256        self.more_info_urls.clear();
2257    }
2258
2259    // Param is passed by value, moved
2260    pub fn set_more_info_urls(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
2261        self.more_info_urls = v;
2262    }
2263
2264    // Mutable pointer to the field.
2265    pub fn mut_more_info_urls(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
2266        &mut self.more_info_urls
2267    }
2268
2269    // Take field
2270    pub fn take_more_info_urls(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
2271        ::std::mem::replace(&mut self.more_info_urls, ::protobuf::RepeatedField::new())
2272    }
2273
2274    // string update_id = 7;
2275
2276
2277    pub fn get_update_id(&self) -> &str {
2278        &self.update_id
2279    }
2280    pub fn clear_update_id(&mut self) {
2281        self.update_id.clear();
2282    }
2283
2284    // Param is passed by value, moved
2285    pub fn set_update_id(&mut self, v: ::std::string::String) {
2286        self.update_id = v;
2287    }
2288
2289    // Mutable pointer to the field.
2290    // If field is not initialized, it is initialized with default value first.
2291    pub fn mut_update_id(&mut self) -> &mut ::std::string::String {
2292        &mut self.update_id
2293    }
2294
2295    // Take field
2296    pub fn take_update_id(&mut self) -> ::std::string::String {
2297        ::std::mem::replace(&mut self.update_id, ::std::string::String::new())
2298    }
2299
2300    // int32 revision_number = 8;
2301
2302
2303    pub fn get_revision_number(&self) -> i32 {
2304        self.revision_number
2305    }
2306    pub fn clear_revision_number(&mut self) {
2307        self.revision_number = 0;
2308    }
2309
2310    // Param is passed by value, moved
2311    pub fn set_revision_number(&mut self, v: i32) {
2312        self.revision_number = v;
2313    }
2314
2315    // .google.protobuf.Timestamp last_deployment_change_time = 9;
2316
2317
2318    pub fn get_last_deployment_change_time(&self) -> &::protobuf::well_known_types::Timestamp {
2319        self.last_deployment_change_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
2320    }
2321    pub fn clear_last_deployment_change_time(&mut self) {
2322        self.last_deployment_change_time.clear();
2323    }
2324
2325    pub fn has_last_deployment_change_time(&self) -> bool {
2326        self.last_deployment_change_time.is_some()
2327    }
2328
2329    // Param is passed by value, moved
2330    pub fn set_last_deployment_change_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
2331        self.last_deployment_change_time = ::protobuf::SingularPtrField::some(v);
2332    }
2333
2334    // Mutable pointer to the field.
2335    // If field is not initialized, it is initialized with default value first.
2336    pub fn mut_last_deployment_change_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
2337        if self.last_deployment_change_time.is_none() {
2338            self.last_deployment_change_time.set_default();
2339        }
2340        self.last_deployment_change_time.as_mut().unwrap()
2341    }
2342
2343    // Take field
2344    pub fn take_last_deployment_change_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
2345        self.last_deployment_change_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
2346    }
2347}
2348
2349impl ::protobuf::Message for Inventory_WindowsUpdatePackage {
2350    fn is_initialized(&self) -> bool {
2351        for v in &self.categories {
2352            if !v.is_initialized() {
2353                return false;
2354            }
2355        };
2356        for v in &self.last_deployment_change_time {
2357            if !v.is_initialized() {
2358                return false;
2359            }
2360        };
2361        true
2362    }
2363
2364    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2365        while !is.eof()? {
2366            let (field_number, wire_type) = is.read_tag_unpack()?;
2367            match field_number {
2368                1 => {
2369                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.title)?;
2370                },
2371                2 => {
2372                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.description)?;
2373                },
2374                3 => {
2375                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.categories)?;
2376                },
2377                4 => {
2378                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.kb_article_ids)?;
2379                },
2380                5 => {
2381                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.support_url)?;
2382                },
2383                6 => {
2384                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.more_info_urls)?;
2385                },
2386                7 => {
2387                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.update_id)?;
2388                },
2389                8 => {
2390                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2391                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2392                    }
2393                    let tmp = is.read_int32()?;
2394                    self.revision_number = tmp;
2395                },
2396                9 => {
2397                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.last_deployment_change_time)?;
2398                },
2399                _ => {
2400                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2401                },
2402            };
2403        }
2404        ::std::result::Result::Ok(())
2405    }
2406
2407    // Compute sizes of nested messages
2408    #[allow(unused_variables)]
2409    fn compute_size(&self) -> u32 {
2410        let mut my_size = 0;
2411        if !self.title.is_empty() {
2412            my_size += ::protobuf::rt::string_size(1, &self.title);
2413        }
2414        if !self.description.is_empty() {
2415            my_size += ::protobuf::rt::string_size(2, &self.description);
2416        }
2417        for value in &self.categories {
2418            let len = value.compute_size();
2419            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2420        };
2421        for value in &self.kb_article_ids {
2422            my_size += ::protobuf::rt::string_size(4, &value);
2423        };
2424        if !self.support_url.is_empty() {
2425            my_size += ::protobuf::rt::string_size(5, &self.support_url);
2426        }
2427        for value in &self.more_info_urls {
2428            my_size += ::protobuf::rt::string_size(6, &value);
2429        };
2430        if !self.update_id.is_empty() {
2431            my_size += ::protobuf::rt::string_size(7, &self.update_id);
2432        }
2433        if self.revision_number != 0 {
2434            my_size += ::protobuf::rt::value_size(8, self.revision_number, ::protobuf::wire_format::WireTypeVarint);
2435        }
2436        if let Some(ref v) = self.last_deployment_change_time.as_ref() {
2437            let len = v.compute_size();
2438            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2439        }
2440        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2441        self.cached_size.set(my_size);
2442        my_size
2443    }
2444
2445    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2446        if !self.title.is_empty() {
2447            os.write_string(1, &self.title)?;
2448        }
2449        if !self.description.is_empty() {
2450            os.write_string(2, &self.description)?;
2451        }
2452        for v in &self.categories {
2453            os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2454            os.write_raw_varint32(v.get_cached_size())?;
2455            v.write_to_with_cached_sizes(os)?;
2456        };
2457        for v in &self.kb_article_ids {
2458            os.write_string(4, &v)?;
2459        };
2460        if !self.support_url.is_empty() {
2461            os.write_string(5, &self.support_url)?;
2462        }
2463        for v in &self.more_info_urls {
2464            os.write_string(6, &v)?;
2465        };
2466        if !self.update_id.is_empty() {
2467            os.write_string(7, &self.update_id)?;
2468        }
2469        if self.revision_number != 0 {
2470            os.write_int32(8, self.revision_number)?;
2471        }
2472        if let Some(ref v) = self.last_deployment_change_time.as_ref() {
2473            os.write_tag(9, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2474            os.write_raw_varint32(v.get_cached_size())?;
2475            v.write_to_with_cached_sizes(os)?;
2476        }
2477        os.write_unknown_fields(self.get_unknown_fields())?;
2478        ::std::result::Result::Ok(())
2479    }
2480
2481    fn get_cached_size(&self) -> u32 {
2482        self.cached_size.get()
2483    }
2484
2485    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2486        &self.unknown_fields
2487    }
2488
2489    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2490        &mut self.unknown_fields
2491    }
2492
2493    fn as_any(&self) -> &dyn (::std::any::Any) {
2494        self as &dyn (::std::any::Any)
2495    }
2496    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2497        self as &mut dyn (::std::any::Any)
2498    }
2499    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2500        self
2501    }
2502
2503    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2504        Self::descriptor_static()
2505    }
2506
2507    fn new() -> Inventory_WindowsUpdatePackage {
2508        Inventory_WindowsUpdatePackage::new()
2509    }
2510
2511    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2512        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2513        descriptor.get(|| {
2514            let mut fields = ::std::vec::Vec::new();
2515            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2516                "title",
2517                |m: &Inventory_WindowsUpdatePackage| { &m.title },
2518                |m: &mut Inventory_WindowsUpdatePackage| { &mut m.title },
2519            ));
2520            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2521                "description",
2522                |m: &Inventory_WindowsUpdatePackage| { &m.description },
2523                |m: &mut Inventory_WindowsUpdatePackage| { &mut m.description },
2524            ));
2525            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Inventory_WindowsUpdatePackage_WindowsUpdateCategory>>(
2526                "categories",
2527                |m: &Inventory_WindowsUpdatePackage| { &m.categories },
2528                |m: &mut Inventory_WindowsUpdatePackage| { &mut m.categories },
2529            ));
2530            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2531                "kb_article_ids",
2532                |m: &Inventory_WindowsUpdatePackage| { &m.kb_article_ids },
2533                |m: &mut Inventory_WindowsUpdatePackage| { &mut m.kb_article_ids },
2534            ));
2535            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2536                "support_url",
2537                |m: &Inventory_WindowsUpdatePackage| { &m.support_url },
2538                |m: &mut Inventory_WindowsUpdatePackage| { &mut m.support_url },
2539            ));
2540            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2541                "more_info_urls",
2542                |m: &Inventory_WindowsUpdatePackage| { &m.more_info_urls },
2543                |m: &mut Inventory_WindowsUpdatePackage| { &mut m.more_info_urls },
2544            ));
2545            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2546                "update_id",
2547                |m: &Inventory_WindowsUpdatePackage| { &m.update_id },
2548                |m: &mut Inventory_WindowsUpdatePackage| { &mut m.update_id },
2549            ));
2550            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
2551                "revision_number",
2552                |m: &Inventory_WindowsUpdatePackage| { &m.revision_number },
2553                |m: &mut Inventory_WindowsUpdatePackage| { &mut m.revision_number },
2554            ));
2555            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
2556                "last_deployment_change_time",
2557                |m: &Inventory_WindowsUpdatePackage| { &m.last_deployment_change_time },
2558                |m: &mut Inventory_WindowsUpdatePackage| { &mut m.last_deployment_change_time },
2559            ));
2560            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Inventory_WindowsUpdatePackage>(
2561                "Inventory.WindowsUpdatePackage",
2562                fields,
2563                file_descriptor_proto()
2564            )
2565        })
2566    }
2567
2568    fn default_instance() -> &'static Inventory_WindowsUpdatePackage {
2569        static instance: ::protobuf::rt::LazyV2<Inventory_WindowsUpdatePackage> = ::protobuf::rt::LazyV2::INIT;
2570        instance.get(Inventory_WindowsUpdatePackage::new)
2571    }
2572}
2573
2574impl ::protobuf::Clear for Inventory_WindowsUpdatePackage {
2575    fn clear(&mut self) {
2576        self.title.clear();
2577        self.description.clear();
2578        self.categories.clear();
2579        self.kb_article_ids.clear();
2580        self.support_url.clear();
2581        self.more_info_urls.clear();
2582        self.update_id.clear();
2583        self.revision_number = 0;
2584        self.last_deployment_change_time.clear();
2585        self.unknown_fields.clear();
2586    }
2587}
2588
2589impl ::std::fmt::Debug for Inventory_WindowsUpdatePackage {
2590    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2591        ::protobuf::text_format::fmt(self, f)
2592    }
2593}
2594
2595impl ::protobuf::reflect::ProtobufValue for Inventory_WindowsUpdatePackage {
2596    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2597        ::protobuf::reflect::ReflectValueRef::Message(self)
2598    }
2599}
2600
2601#[derive(PartialEq,Clone,Default)]
2602pub struct Inventory_WindowsUpdatePackage_WindowsUpdateCategory {
2603    // message fields
2604    pub id: ::std::string::String,
2605    pub name: ::std::string::String,
2606    // special fields
2607    pub unknown_fields: ::protobuf::UnknownFields,
2608    pub cached_size: ::protobuf::CachedSize,
2609}
2610
2611impl<'a> ::std::default::Default for &'a Inventory_WindowsUpdatePackage_WindowsUpdateCategory {
2612    fn default() -> &'a Inventory_WindowsUpdatePackage_WindowsUpdateCategory {
2613        <Inventory_WindowsUpdatePackage_WindowsUpdateCategory as ::protobuf::Message>::default_instance()
2614    }
2615}
2616
2617impl Inventory_WindowsUpdatePackage_WindowsUpdateCategory {
2618    pub fn new() -> Inventory_WindowsUpdatePackage_WindowsUpdateCategory {
2619        ::std::default::Default::default()
2620    }
2621
2622    // string id = 1;
2623
2624
2625    pub fn get_id(&self) -> &str {
2626        &self.id
2627    }
2628    pub fn clear_id(&mut self) {
2629        self.id.clear();
2630    }
2631
2632    // Param is passed by value, moved
2633    pub fn set_id(&mut self, v: ::std::string::String) {
2634        self.id = v;
2635    }
2636
2637    // Mutable pointer to the field.
2638    // If field is not initialized, it is initialized with default value first.
2639    pub fn mut_id(&mut self) -> &mut ::std::string::String {
2640        &mut self.id
2641    }
2642
2643    // Take field
2644    pub fn take_id(&mut self) -> ::std::string::String {
2645        ::std::mem::replace(&mut self.id, ::std::string::String::new())
2646    }
2647
2648    // string name = 2;
2649
2650
2651    pub fn get_name(&self) -> &str {
2652        &self.name
2653    }
2654    pub fn clear_name(&mut self) {
2655        self.name.clear();
2656    }
2657
2658    // Param is passed by value, moved
2659    pub fn set_name(&mut self, v: ::std::string::String) {
2660        self.name = v;
2661    }
2662
2663    // Mutable pointer to the field.
2664    // If field is not initialized, it is initialized with default value first.
2665    pub fn mut_name(&mut self) -> &mut ::std::string::String {
2666        &mut self.name
2667    }
2668
2669    // Take field
2670    pub fn take_name(&mut self) -> ::std::string::String {
2671        ::std::mem::replace(&mut self.name, ::std::string::String::new())
2672    }
2673}
2674
2675impl ::protobuf::Message for Inventory_WindowsUpdatePackage_WindowsUpdateCategory {
2676    fn is_initialized(&self) -> bool {
2677        true
2678    }
2679
2680    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2681        while !is.eof()? {
2682            let (field_number, wire_type) = is.read_tag_unpack()?;
2683            match field_number {
2684                1 => {
2685                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.id)?;
2686                },
2687                2 => {
2688                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
2689                },
2690                _ => {
2691                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2692                },
2693            };
2694        }
2695        ::std::result::Result::Ok(())
2696    }
2697
2698    // Compute sizes of nested messages
2699    #[allow(unused_variables)]
2700    fn compute_size(&self) -> u32 {
2701        let mut my_size = 0;
2702        if !self.id.is_empty() {
2703            my_size += ::protobuf::rt::string_size(1, &self.id);
2704        }
2705        if !self.name.is_empty() {
2706            my_size += ::protobuf::rt::string_size(2, &self.name);
2707        }
2708        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2709        self.cached_size.set(my_size);
2710        my_size
2711    }
2712
2713    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2714        if !self.id.is_empty() {
2715            os.write_string(1, &self.id)?;
2716        }
2717        if !self.name.is_empty() {
2718            os.write_string(2, &self.name)?;
2719        }
2720        os.write_unknown_fields(self.get_unknown_fields())?;
2721        ::std::result::Result::Ok(())
2722    }
2723
2724    fn get_cached_size(&self) -> u32 {
2725        self.cached_size.get()
2726    }
2727
2728    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2729        &self.unknown_fields
2730    }
2731
2732    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2733        &mut self.unknown_fields
2734    }
2735
2736    fn as_any(&self) -> &dyn (::std::any::Any) {
2737        self as &dyn (::std::any::Any)
2738    }
2739    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2740        self as &mut dyn (::std::any::Any)
2741    }
2742    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2743        self
2744    }
2745
2746    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2747        Self::descriptor_static()
2748    }
2749
2750    fn new() -> Inventory_WindowsUpdatePackage_WindowsUpdateCategory {
2751        Inventory_WindowsUpdatePackage_WindowsUpdateCategory::new()
2752    }
2753
2754    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2755        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2756        descriptor.get(|| {
2757            let mut fields = ::std::vec::Vec::new();
2758            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2759                "id",
2760                |m: &Inventory_WindowsUpdatePackage_WindowsUpdateCategory| { &m.id },
2761                |m: &mut Inventory_WindowsUpdatePackage_WindowsUpdateCategory| { &mut m.id },
2762            ));
2763            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2764                "name",
2765                |m: &Inventory_WindowsUpdatePackage_WindowsUpdateCategory| { &m.name },
2766                |m: &mut Inventory_WindowsUpdatePackage_WindowsUpdateCategory| { &mut m.name },
2767            ));
2768            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Inventory_WindowsUpdatePackage_WindowsUpdateCategory>(
2769                "Inventory.WindowsUpdatePackage.WindowsUpdateCategory",
2770                fields,
2771                file_descriptor_proto()
2772            )
2773        })
2774    }
2775
2776    fn default_instance() -> &'static Inventory_WindowsUpdatePackage_WindowsUpdateCategory {
2777        static instance: ::protobuf::rt::LazyV2<Inventory_WindowsUpdatePackage_WindowsUpdateCategory> = ::protobuf::rt::LazyV2::INIT;
2778        instance.get(Inventory_WindowsUpdatePackage_WindowsUpdateCategory::new)
2779    }
2780}
2781
2782impl ::protobuf::Clear for Inventory_WindowsUpdatePackage_WindowsUpdateCategory {
2783    fn clear(&mut self) {
2784        self.id.clear();
2785        self.name.clear();
2786        self.unknown_fields.clear();
2787    }
2788}
2789
2790impl ::std::fmt::Debug for Inventory_WindowsUpdatePackage_WindowsUpdateCategory {
2791    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2792        ::protobuf::text_format::fmt(self, f)
2793    }
2794}
2795
2796impl ::protobuf::reflect::ProtobufValue for Inventory_WindowsUpdatePackage_WindowsUpdateCategory {
2797    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2798        ::protobuf::reflect::ReflectValueRef::Message(self)
2799    }
2800}
2801
2802#[derive(PartialEq,Clone,Default)]
2803pub struct Inventory_WindowsQuickFixEngineeringPackage {
2804    // message fields
2805    pub caption: ::std::string::String,
2806    pub description: ::std::string::String,
2807    pub hot_fix_id: ::std::string::String,
2808    pub install_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
2809    // special fields
2810    pub unknown_fields: ::protobuf::UnknownFields,
2811    pub cached_size: ::protobuf::CachedSize,
2812}
2813
2814impl<'a> ::std::default::Default for &'a Inventory_WindowsQuickFixEngineeringPackage {
2815    fn default() -> &'a Inventory_WindowsQuickFixEngineeringPackage {
2816        <Inventory_WindowsQuickFixEngineeringPackage as ::protobuf::Message>::default_instance()
2817    }
2818}
2819
2820impl Inventory_WindowsQuickFixEngineeringPackage {
2821    pub fn new() -> Inventory_WindowsQuickFixEngineeringPackage {
2822        ::std::default::Default::default()
2823    }
2824
2825    // string caption = 1;
2826
2827
2828    pub fn get_caption(&self) -> &str {
2829        &self.caption
2830    }
2831    pub fn clear_caption(&mut self) {
2832        self.caption.clear();
2833    }
2834
2835    // Param is passed by value, moved
2836    pub fn set_caption(&mut self, v: ::std::string::String) {
2837        self.caption = v;
2838    }
2839
2840    // Mutable pointer to the field.
2841    // If field is not initialized, it is initialized with default value first.
2842    pub fn mut_caption(&mut self) -> &mut ::std::string::String {
2843        &mut self.caption
2844    }
2845
2846    // Take field
2847    pub fn take_caption(&mut self) -> ::std::string::String {
2848        ::std::mem::replace(&mut self.caption, ::std::string::String::new())
2849    }
2850
2851    // string description = 2;
2852
2853
2854    pub fn get_description(&self) -> &str {
2855        &self.description
2856    }
2857    pub fn clear_description(&mut self) {
2858        self.description.clear();
2859    }
2860
2861    // Param is passed by value, moved
2862    pub fn set_description(&mut self, v: ::std::string::String) {
2863        self.description = v;
2864    }
2865
2866    // Mutable pointer to the field.
2867    // If field is not initialized, it is initialized with default value first.
2868    pub fn mut_description(&mut self) -> &mut ::std::string::String {
2869        &mut self.description
2870    }
2871
2872    // Take field
2873    pub fn take_description(&mut self) -> ::std::string::String {
2874        ::std::mem::replace(&mut self.description, ::std::string::String::new())
2875    }
2876
2877    // string hot_fix_id = 3;
2878
2879
2880    pub fn get_hot_fix_id(&self) -> &str {
2881        &self.hot_fix_id
2882    }
2883    pub fn clear_hot_fix_id(&mut self) {
2884        self.hot_fix_id.clear();
2885    }
2886
2887    // Param is passed by value, moved
2888    pub fn set_hot_fix_id(&mut self, v: ::std::string::String) {
2889        self.hot_fix_id = v;
2890    }
2891
2892    // Mutable pointer to the field.
2893    // If field is not initialized, it is initialized with default value first.
2894    pub fn mut_hot_fix_id(&mut self) -> &mut ::std::string::String {
2895        &mut self.hot_fix_id
2896    }
2897
2898    // Take field
2899    pub fn take_hot_fix_id(&mut self) -> ::std::string::String {
2900        ::std::mem::replace(&mut self.hot_fix_id, ::std::string::String::new())
2901    }
2902
2903    // .google.protobuf.Timestamp install_time = 4;
2904
2905
2906    pub fn get_install_time(&self) -> &::protobuf::well_known_types::Timestamp {
2907        self.install_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
2908    }
2909    pub fn clear_install_time(&mut self) {
2910        self.install_time.clear();
2911    }
2912
2913    pub fn has_install_time(&self) -> bool {
2914        self.install_time.is_some()
2915    }
2916
2917    // Param is passed by value, moved
2918    pub fn set_install_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
2919        self.install_time = ::protobuf::SingularPtrField::some(v);
2920    }
2921
2922    // Mutable pointer to the field.
2923    // If field is not initialized, it is initialized with default value first.
2924    pub fn mut_install_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
2925        if self.install_time.is_none() {
2926            self.install_time.set_default();
2927        }
2928        self.install_time.as_mut().unwrap()
2929    }
2930
2931    // Take field
2932    pub fn take_install_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
2933        self.install_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
2934    }
2935}
2936
2937impl ::protobuf::Message for Inventory_WindowsQuickFixEngineeringPackage {
2938    fn is_initialized(&self) -> bool {
2939        for v in &self.install_time {
2940            if !v.is_initialized() {
2941                return false;
2942            }
2943        };
2944        true
2945    }
2946
2947    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2948        while !is.eof()? {
2949            let (field_number, wire_type) = is.read_tag_unpack()?;
2950            match field_number {
2951                1 => {
2952                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.caption)?;
2953                },
2954                2 => {
2955                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.description)?;
2956                },
2957                3 => {
2958                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.hot_fix_id)?;
2959                },
2960                4 => {
2961                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.install_time)?;
2962                },
2963                _ => {
2964                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2965                },
2966            };
2967        }
2968        ::std::result::Result::Ok(())
2969    }
2970
2971    // Compute sizes of nested messages
2972    #[allow(unused_variables)]
2973    fn compute_size(&self) -> u32 {
2974        let mut my_size = 0;
2975        if !self.caption.is_empty() {
2976            my_size += ::protobuf::rt::string_size(1, &self.caption);
2977        }
2978        if !self.description.is_empty() {
2979            my_size += ::protobuf::rt::string_size(2, &self.description);
2980        }
2981        if !self.hot_fix_id.is_empty() {
2982            my_size += ::protobuf::rt::string_size(3, &self.hot_fix_id);
2983        }
2984        if let Some(ref v) = self.install_time.as_ref() {
2985            let len = v.compute_size();
2986            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2987        }
2988        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2989        self.cached_size.set(my_size);
2990        my_size
2991    }
2992
2993    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2994        if !self.caption.is_empty() {
2995            os.write_string(1, &self.caption)?;
2996        }
2997        if !self.description.is_empty() {
2998            os.write_string(2, &self.description)?;
2999        }
3000        if !self.hot_fix_id.is_empty() {
3001            os.write_string(3, &self.hot_fix_id)?;
3002        }
3003        if let Some(ref v) = self.install_time.as_ref() {
3004            os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3005            os.write_raw_varint32(v.get_cached_size())?;
3006            v.write_to_with_cached_sizes(os)?;
3007        }
3008        os.write_unknown_fields(self.get_unknown_fields())?;
3009        ::std::result::Result::Ok(())
3010    }
3011
3012    fn get_cached_size(&self) -> u32 {
3013        self.cached_size.get()
3014    }
3015
3016    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3017        &self.unknown_fields
3018    }
3019
3020    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3021        &mut self.unknown_fields
3022    }
3023
3024    fn as_any(&self) -> &dyn (::std::any::Any) {
3025        self as &dyn (::std::any::Any)
3026    }
3027    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3028        self as &mut dyn (::std::any::Any)
3029    }
3030    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3031        self
3032    }
3033
3034    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3035        Self::descriptor_static()
3036    }
3037
3038    fn new() -> Inventory_WindowsQuickFixEngineeringPackage {
3039        Inventory_WindowsQuickFixEngineeringPackage::new()
3040    }
3041
3042    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3043        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3044        descriptor.get(|| {
3045            let mut fields = ::std::vec::Vec::new();
3046            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3047                "caption",
3048                |m: &Inventory_WindowsQuickFixEngineeringPackage| { &m.caption },
3049                |m: &mut Inventory_WindowsQuickFixEngineeringPackage| { &mut m.caption },
3050            ));
3051            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3052                "description",
3053                |m: &Inventory_WindowsQuickFixEngineeringPackage| { &m.description },
3054                |m: &mut Inventory_WindowsQuickFixEngineeringPackage| { &mut m.description },
3055            ));
3056            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3057                "hot_fix_id",
3058                |m: &Inventory_WindowsQuickFixEngineeringPackage| { &m.hot_fix_id },
3059                |m: &mut Inventory_WindowsQuickFixEngineeringPackage| { &mut m.hot_fix_id },
3060            ));
3061            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
3062                "install_time",
3063                |m: &Inventory_WindowsQuickFixEngineeringPackage| { &m.install_time },
3064                |m: &mut Inventory_WindowsQuickFixEngineeringPackage| { &mut m.install_time },
3065            ));
3066            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Inventory_WindowsQuickFixEngineeringPackage>(
3067                "Inventory.WindowsQuickFixEngineeringPackage",
3068                fields,
3069                file_descriptor_proto()
3070            )
3071        })
3072    }
3073
3074    fn default_instance() -> &'static Inventory_WindowsQuickFixEngineeringPackage {
3075        static instance: ::protobuf::rt::LazyV2<Inventory_WindowsQuickFixEngineeringPackage> = ::protobuf::rt::LazyV2::INIT;
3076        instance.get(Inventory_WindowsQuickFixEngineeringPackage::new)
3077    }
3078}
3079
3080impl ::protobuf::Clear for Inventory_WindowsQuickFixEngineeringPackage {
3081    fn clear(&mut self) {
3082        self.caption.clear();
3083        self.description.clear();
3084        self.hot_fix_id.clear();
3085        self.install_time.clear();
3086        self.unknown_fields.clear();
3087    }
3088}
3089
3090impl ::std::fmt::Debug for Inventory_WindowsQuickFixEngineeringPackage {
3091    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3092        ::protobuf::text_format::fmt(self, f)
3093    }
3094}
3095
3096impl ::protobuf::reflect::ProtobufValue for Inventory_WindowsQuickFixEngineeringPackage {
3097    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3098        ::protobuf::reflect::ReflectValueRef::Message(self)
3099    }
3100}
3101
3102#[derive(PartialEq,Clone,Default)]
3103pub struct Inventory_WindowsApplication {
3104    // message fields
3105    pub display_name: ::std::string::String,
3106    pub display_version: ::std::string::String,
3107    pub publisher: ::std::string::String,
3108    pub install_date: ::protobuf::SingularPtrField<super::date::Date>,
3109    pub help_link: ::std::string::String,
3110    // special fields
3111    pub unknown_fields: ::protobuf::UnknownFields,
3112    pub cached_size: ::protobuf::CachedSize,
3113}
3114
3115impl<'a> ::std::default::Default for &'a Inventory_WindowsApplication {
3116    fn default() -> &'a Inventory_WindowsApplication {
3117        <Inventory_WindowsApplication as ::protobuf::Message>::default_instance()
3118    }
3119}
3120
3121impl Inventory_WindowsApplication {
3122    pub fn new() -> Inventory_WindowsApplication {
3123        ::std::default::Default::default()
3124    }
3125
3126    // string display_name = 1;
3127
3128
3129    pub fn get_display_name(&self) -> &str {
3130        &self.display_name
3131    }
3132    pub fn clear_display_name(&mut self) {
3133        self.display_name.clear();
3134    }
3135
3136    // Param is passed by value, moved
3137    pub fn set_display_name(&mut self, v: ::std::string::String) {
3138        self.display_name = v;
3139    }
3140
3141    // Mutable pointer to the field.
3142    // If field is not initialized, it is initialized with default value first.
3143    pub fn mut_display_name(&mut self) -> &mut ::std::string::String {
3144        &mut self.display_name
3145    }
3146
3147    // Take field
3148    pub fn take_display_name(&mut self) -> ::std::string::String {
3149        ::std::mem::replace(&mut self.display_name, ::std::string::String::new())
3150    }
3151
3152    // string display_version = 2;
3153
3154
3155    pub fn get_display_version(&self) -> &str {
3156        &self.display_version
3157    }
3158    pub fn clear_display_version(&mut self) {
3159        self.display_version.clear();
3160    }
3161
3162    // Param is passed by value, moved
3163    pub fn set_display_version(&mut self, v: ::std::string::String) {
3164        self.display_version = v;
3165    }
3166
3167    // Mutable pointer to the field.
3168    // If field is not initialized, it is initialized with default value first.
3169    pub fn mut_display_version(&mut self) -> &mut ::std::string::String {
3170        &mut self.display_version
3171    }
3172
3173    // Take field
3174    pub fn take_display_version(&mut self) -> ::std::string::String {
3175        ::std::mem::replace(&mut self.display_version, ::std::string::String::new())
3176    }
3177
3178    // string publisher = 3;
3179
3180
3181    pub fn get_publisher(&self) -> &str {
3182        &self.publisher
3183    }
3184    pub fn clear_publisher(&mut self) {
3185        self.publisher.clear();
3186    }
3187
3188    // Param is passed by value, moved
3189    pub fn set_publisher(&mut self, v: ::std::string::String) {
3190        self.publisher = v;
3191    }
3192
3193    // Mutable pointer to the field.
3194    // If field is not initialized, it is initialized with default value first.
3195    pub fn mut_publisher(&mut self) -> &mut ::std::string::String {
3196        &mut self.publisher
3197    }
3198
3199    // Take field
3200    pub fn take_publisher(&mut self) -> ::std::string::String {
3201        ::std::mem::replace(&mut self.publisher, ::std::string::String::new())
3202    }
3203
3204    // .google.type.Date install_date = 4;
3205
3206
3207    pub fn get_install_date(&self) -> &super::date::Date {
3208        self.install_date.as_ref().unwrap_or_else(|| <super::date::Date as ::protobuf::Message>::default_instance())
3209    }
3210    pub fn clear_install_date(&mut self) {
3211        self.install_date.clear();
3212    }
3213
3214    pub fn has_install_date(&self) -> bool {
3215        self.install_date.is_some()
3216    }
3217
3218    // Param is passed by value, moved
3219    pub fn set_install_date(&mut self, v: super::date::Date) {
3220        self.install_date = ::protobuf::SingularPtrField::some(v);
3221    }
3222
3223    // Mutable pointer to the field.
3224    // If field is not initialized, it is initialized with default value first.
3225    pub fn mut_install_date(&mut self) -> &mut super::date::Date {
3226        if self.install_date.is_none() {
3227            self.install_date.set_default();
3228        }
3229        self.install_date.as_mut().unwrap()
3230    }
3231
3232    // Take field
3233    pub fn take_install_date(&mut self) -> super::date::Date {
3234        self.install_date.take().unwrap_or_else(|| super::date::Date::new())
3235    }
3236
3237    // string help_link = 5;
3238
3239
3240    pub fn get_help_link(&self) -> &str {
3241        &self.help_link
3242    }
3243    pub fn clear_help_link(&mut self) {
3244        self.help_link.clear();
3245    }
3246
3247    // Param is passed by value, moved
3248    pub fn set_help_link(&mut self, v: ::std::string::String) {
3249        self.help_link = v;
3250    }
3251
3252    // Mutable pointer to the field.
3253    // If field is not initialized, it is initialized with default value first.
3254    pub fn mut_help_link(&mut self) -> &mut ::std::string::String {
3255        &mut self.help_link
3256    }
3257
3258    // Take field
3259    pub fn take_help_link(&mut self) -> ::std::string::String {
3260        ::std::mem::replace(&mut self.help_link, ::std::string::String::new())
3261    }
3262}
3263
3264impl ::protobuf::Message for Inventory_WindowsApplication {
3265    fn is_initialized(&self) -> bool {
3266        for v in &self.install_date {
3267            if !v.is_initialized() {
3268                return false;
3269            }
3270        };
3271        true
3272    }
3273
3274    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3275        while !is.eof()? {
3276            let (field_number, wire_type) = is.read_tag_unpack()?;
3277            match field_number {
3278                1 => {
3279                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.display_name)?;
3280                },
3281                2 => {
3282                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.display_version)?;
3283                },
3284                3 => {
3285                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.publisher)?;
3286                },
3287                4 => {
3288                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.install_date)?;
3289                },
3290                5 => {
3291                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.help_link)?;
3292                },
3293                _ => {
3294                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3295                },
3296            };
3297        }
3298        ::std::result::Result::Ok(())
3299    }
3300
3301    // Compute sizes of nested messages
3302    #[allow(unused_variables)]
3303    fn compute_size(&self) -> u32 {
3304        let mut my_size = 0;
3305        if !self.display_name.is_empty() {
3306            my_size += ::protobuf::rt::string_size(1, &self.display_name);
3307        }
3308        if !self.display_version.is_empty() {
3309            my_size += ::protobuf::rt::string_size(2, &self.display_version);
3310        }
3311        if !self.publisher.is_empty() {
3312            my_size += ::protobuf::rt::string_size(3, &self.publisher);
3313        }
3314        if let Some(ref v) = self.install_date.as_ref() {
3315            let len = v.compute_size();
3316            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3317        }
3318        if !self.help_link.is_empty() {
3319            my_size += ::protobuf::rt::string_size(5, &self.help_link);
3320        }
3321        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3322        self.cached_size.set(my_size);
3323        my_size
3324    }
3325
3326    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3327        if !self.display_name.is_empty() {
3328            os.write_string(1, &self.display_name)?;
3329        }
3330        if !self.display_version.is_empty() {
3331            os.write_string(2, &self.display_version)?;
3332        }
3333        if !self.publisher.is_empty() {
3334            os.write_string(3, &self.publisher)?;
3335        }
3336        if let Some(ref v) = self.install_date.as_ref() {
3337            os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3338            os.write_raw_varint32(v.get_cached_size())?;
3339            v.write_to_with_cached_sizes(os)?;
3340        }
3341        if !self.help_link.is_empty() {
3342            os.write_string(5, &self.help_link)?;
3343        }
3344        os.write_unknown_fields(self.get_unknown_fields())?;
3345        ::std::result::Result::Ok(())
3346    }
3347
3348    fn get_cached_size(&self) -> u32 {
3349        self.cached_size.get()
3350    }
3351
3352    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3353        &self.unknown_fields
3354    }
3355
3356    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3357        &mut self.unknown_fields
3358    }
3359
3360    fn as_any(&self) -> &dyn (::std::any::Any) {
3361        self as &dyn (::std::any::Any)
3362    }
3363    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3364        self as &mut dyn (::std::any::Any)
3365    }
3366    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3367        self
3368    }
3369
3370    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3371        Self::descriptor_static()
3372    }
3373
3374    fn new() -> Inventory_WindowsApplication {
3375        Inventory_WindowsApplication::new()
3376    }
3377
3378    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3379        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3380        descriptor.get(|| {
3381            let mut fields = ::std::vec::Vec::new();
3382            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3383                "display_name",
3384                |m: &Inventory_WindowsApplication| { &m.display_name },
3385                |m: &mut Inventory_WindowsApplication| { &mut m.display_name },
3386            ));
3387            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3388                "display_version",
3389                |m: &Inventory_WindowsApplication| { &m.display_version },
3390                |m: &mut Inventory_WindowsApplication| { &mut m.display_version },
3391            ));
3392            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3393                "publisher",
3394                |m: &Inventory_WindowsApplication| { &m.publisher },
3395                |m: &mut Inventory_WindowsApplication| { &mut m.publisher },
3396            ));
3397            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::date::Date>>(
3398                "install_date",
3399                |m: &Inventory_WindowsApplication| { &m.install_date },
3400                |m: &mut Inventory_WindowsApplication| { &mut m.install_date },
3401            ));
3402            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3403                "help_link",
3404                |m: &Inventory_WindowsApplication| { &m.help_link },
3405                |m: &mut Inventory_WindowsApplication| { &mut m.help_link },
3406            ));
3407            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Inventory_WindowsApplication>(
3408                "Inventory.WindowsApplication",
3409                fields,
3410                file_descriptor_proto()
3411            )
3412        })
3413    }
3414
3415    fn default_instance() -> &'static Inventory_WindowsApplication {
3416        static instance: ::protobuf::rt::LazyV2<Inventory_WindowsApplication> = ::protobuf::rt::LazyV2::INIT;
3417        instance.get(Inventory_WindowsApplication::new)
3418    }
3419}
3420
3421impl ::protobuf::Clear for Inventory_WindowsApplication {
3422    fn clear(&mut self) {
3423        self.display_name.clear();
3424        self.display_version.clear();
3425        self.publisher.clear();
3426        self.install_date.clear();
3427        self.help_link.clear();
3428        self.unknown_fields.clear();
3429    }
3430}
3431
3432impl ::std::fmt::Debug for Inventory_WindowsApplication {
3433    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3434        ::protobuf::text_format::fmt(self, f)
3435    }
3436}
3437
3438impl ::protobuf::reflect::ProtobufValue for Inventory_WindowsApplication {
3439    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3440        ::protobuf::reflect::ReflectValueRef::Message(self)
3441    }
3442}
3443
3444static file_descriptor_proto_data: &'static [u8] = b"\
3445    \n6google/cloud/osconfig/agentendpoint/v1/inventory.proto\x12&google.clo\
3446    ud.osconfig.agentendpoint.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\
3447    \x16google/type/date.proto\"\xf7\x15\n\tInventory\x12Q\n\x07os_info\x18\
3448    \x01\x20\x01(\x0b28.google.cloud.osconfig.agentendpoint.v1.Inventory.OsI\
3449    nfoR\x06osInfo\x12p\n\x12installed_packages\x18\x02\x20\x03(\x0b2A.googl\
3450    e.cloud.osconfig.agentendpoint.v1.Inventory.SoftwarePackageR\x11installe\
3451    dPackages\x12p\n\x12available_packages\x18\x03\x20\x03(\x0b2A.google.clo\
3452    ud.osconfig.agentendpoint.v1.Inventory.SoftwarePackageR\x11availablePack\
3453    ages\x1a\xa2\x02\n\x06OsInfo\x12\x1a\n\x08hostname\x18\x01\x20\x01(\tR\
3454    \x08hostname\x12\x1b\n\tlong_name\x18\x02\x20\x01(\tR\x08longName\x12\
3455    \x1d\n\nshort_name\x18\x03\x20\x01(\tR\tshortName\x12\x18\n\x07version\
3456    \x18\x04\x20\x01(\tR\x07version\x12\"\n\x0carchitecture\x18\x05\x20\x01(\
3457    \tR\x0carchitecture\x12%\n\x0ekernel_version\x18\x06\x20\x01(\tR\rkernel\
3458    Version\x12%\n\x0ekernel_release\x18\x07\x20\x01(\tR\rkernelRelease\x124\
3459    \n\x16osconfig_agent_version\x18\x08\x20\x01(\tR\x14osconfigAgentVersion\
3460    \x1a\xeb\x07\n\x0fSoftwarePackage\x12e\n\x0byum_package\x18\x01\x20\x01(\
3461    \x0b2B.google.cloud.osconfig.agentendpoint.v1.Inventory.VersionedPackage\
3462    H\0R\nyumPackage\x12e\n\x0bapt_package\x18\x02\x20\x01(\x0b2B.google.clo\
3463    ud.osconfig.agentendpoint.v1.Inventory.VersionedPackageH\0R\naptPackage\
3464    \x12k\n\x0ezypper_package\x18\x03\x20\x01(\x0b2B.google.cloud.osconfig.a\
3465    gentendpoint.v1.Inventory.VersionedPackageH\0R\rzypperPackage\x12k\n\x0e\
3466    googet_package\x18\x04\x20\x01(\x0b2B.google.cloud.osconfig.agentendpoin\
3467    t.v1.Inventory.VersionedPackageH\0R\rgoogetPackage\x12b\n\x0czypper_patc\
3468    h\x18\x05\x20\x01(\x0b2=.google.cloud.osconfig.agentendpoint.v1.Inventor\
3469    y.ZypperPatchH\0R\x0bzypperPatch\x12i\n\x0bwua_package\x18\x06\x20\x01(\
3470    \x0b2F.google.cloud.osconfig.agentendpoint.v1.Inventory.WindowsUpdatePac\
3471    kageH\0R\nwuaPackage\x12v\n\x0bqfe_package\x18\x07\x20\x01(\x0b2S.google\
3472    .cloud.osconfig.agentendpoint.v1.Inventory.WindowsQuickFixEngineeringPac\
3473    kageH\0R\nqfePackage\x12e\n\x0bcos_package\x18\x08\x20\x01(\x0b2B.google\
3474    .cloud.osconfig.agentendpoint.v1.Inventory.VersionedPackageH\0R\ncosPack\
3475    age\x12w\n\x13windows_application\x18\t\x20\x01(\x0b2D.google.cloud.osco\
3476    nfig.agentendpoint.v1.Inventory.WindowsApplicationH\0R\x12windowsApplica\
3477    tionB\t\n\x07details\x1as\n\x10VersionedPackage\x12!\n\x0cpackage_name\
3478    \x18\x01\x20\x01(\tR\x0bpackageName\x12\"\n\x0carchitecture\x18\x02\x20\
3479    \x01(\tR\x0carchitecture\x12\x18\n\x07version\x18\x03\x20\x01(\tR\x07ver\
3480    sion\x1a~\n\x0bZypperPatch\x12\x1d\n\npatch_name\x18\x01\x20\x01(\tR\tpa\
3481    tchName\x12\x1a\n\x08category\x18\x02\x20\x01(\tR\x08category\x12\x1a\n\
3482    \x08severity\x18\x03\x20\x01(\tR\x08severity\x12\x18\n\x07summary\x18\
3483    \x04\x20\x01(\tR\x07summary\x1a\x97\x04\n\x14WindowsUpdatePackage\x12\
3484    \x14\n\x05title\x18\x01\x20\x01(\tR\x05title\x12\x20\n\x0bdescription\
3485    \x18\x02\x20\x01(\tR\x0bdescription\x12|\n\ncategories\x18\x03\x20\x03(\
3486    \x0b2\\.google.cloud.osconfig.agentendpoint.v1.Inventory.WindowsUpdatePa\
3487    ckage.WindowsUpdateCategoryR\ncategories\x12$\n\x0ekb_article_ids\x18\
3488    \x04\x20\x03(\tR\x0ckbArticleIds\x12\x1f\n\x0bsupport_url\x18\x05\x20\
3489    \x01(\tR\nsupportUrl\x12$\n\x0emore_info_urls\x18\x06\x20\x03(\tR\x0cmor\
3490    eInfoUrls\x12\x1b\n\tupdate_id\x18\x07\x20\x01(\tR\x08updateId\x12'\n\
3491    \x0frevision_number\x18\x08\x20\x01(\x05R\x0erevisionNumber\x12Y\n\x1bla\
3492    st_deployment_change_time\x18\t\x20\x01(\x0b2\x1a.google.protobuf.Timest\
3493    ampR\x18lastDeploymentChangeTime\x1a;\n\x15WindowsUpdateCategory\x12\x0e\
3494    \n\x02id\x18\x01\x20\x01(\tR\x02id\x12\x12\n\x04name\x18\x02\x20\x01(\tR\
3495    \x04name\x1a\xbc\x01\n!WindowsQuickFixEngineeringPackage\x12\x18\n\x07ca\
3496    ption\x18\x01\x20\x01(\tR\x07caption\x12\x20\n\x0bdescription\x18\x02\
3497    \x20\x01(\tR\x0bdescription\x12\x1c\n\nhot_fix_id\x18\x03\x20\x01(\tR\
3498    \x08hotFixId\x12=\n\x0cinstall_time\x18\x04\x20\x01(\x0b2\x1a.google.pro\
3499    tobuf.TimestampR\x0binstallTime\x1a\xd1\x01\n\x12WindowsApplication\x12!\
3500    \n\x0cdisplay_name\x18\x01\x20\x01(\tR\x0bdisplayName\x12'\n\x0fdisplay_\
3501    version\x18\x02\x20\x01(\tR\x0edisplayVersion\x12\x1c\n\tpublisher\x18\
3502    \x03\x20\x01(\tR\tpublisher\x124\n\x0cinstall_date\x18\x04\x20\x01(\x0b2\
3503    \x11.google.type.DateR\x0binstallDate\x12\x1b\n\thelp_link\x18\x05\x20\
3504    \x01(\tR\x08helpLinkB\x90\x01\n*com.google.cloud.osconfig.agentendpoint.\
3505    v1B\x0eInventoryProtoP\x01ZPcloud.google.com/go/osconfig/agentendpoint/a\
3506    piv1/agentendpointpb;agentendpointpbJ\xe4B\n\x07\x12\x05\x0e\0\xe6\x01\
3507    \x01\n\xbc\x04\n\x01\x0c\x12\x03\x0e\0\x122\xb1\x04\x20Copyright\x202020\
3508    \x20Google\x20LLC\n\n\x20Licensed\x20under\x20the\x20Apache\x20License,\
3509    \x20Version\x202.0\x20(the\x20\"License\");\n\x20you\x20may\x20not\x20us\
3510    e\x20this\x20file\x20except\x20in\x20compliance\x20with\x20the\x20Licens\
3511    e.\n\x20You\x20may\x20obtain\x20a\x20copy\x20of\x20the\x20License\x20at\
3512    \n\n\x20\x20\x20\x20\x20http://www.apache.org/licenses/LICENSE-2.0\n\n\
3513    \x20Unless\x20required\x20by\x20applicable\x20law\x20or\x20agreed\x20to\
3514    \x20in\x20writing,\x20software\n\x20distributed\x20under\x20the\x20Licen\
3515    se\x20is\x20distributed\x20on\x20an\x20\"AS\x20IS\"\x20BASIS,\n\x20WITHO\
3516    UT\x20WARRANTIES\x20OR\x20CONDITIONS\x20OF\x20ANY\x20KIND,\x20either\x20\
3517    express\x20or\x20implied.\n\x20See\x20the\x20License\x20for\x20the\x20sp\
3518    ecific\x20language\x20governing\x20permissions\x20and\n\x20limitations\
3519    \x20under\x20the\x20License.\n\n\x08\n\x01\x02\x12\x03\x10\0/\n\t\n\x02\
3520    \x03\0\x12\x03\x12\0)\n\t\n\x02\x03\x01\x12\x03\x13\0\x20\n\x08\n\x01\
3521    \x08\x12\x03\x15\0g\n\t\n\x02\x08\x0b\x12\x03\x15\0g\n\x08\n\x01\x08\x12\
3522    \x03\x16\0\"\n\t\n\x02\x08\n\x12\x03\x16\0\"\n\x08\n\x01\x08\x12\x03\x17\
3523    \0/\n\t\n\x02\x08\x08\x12\x03\x17\0/\n\x08\n\x01\x08\x12\x03\x18\0C\n\t\
3524    \n\x02\x08\x01\x12\x03\x18\0C\n\xa9\x01\n\x02\x04\0\x12\x05\x1e\0\xe6\
3525    \x01\x01\x1a\x20\x20The\x20inventory\x20details\x20of\x20a\x20VM.\n2z\
3526    \x20OS\x20Config\x20Inventory\x20is\x20a\x20service\x20for\x20collecting\
3527    \x20and\x20reporting\x20operating\n\x20system\x20and\x20package\x20infor\
3528    mation\x20on\x20VM\x20instances.\n\n\n\n\x03\x04\0\x01\x12\x03\x1e\x08\
3529    \x11\n8\n\x04\x04\0\x03\0\x12\x04\x20\x02;\x03\x1a*\x20Operating\x20syst\
3530    em\x20information\x20for\x20the\x20VM.\n\n\x0c\n\x05\x04\0\x03\0\x01\x12\
3531    \x03\x20\n\x10\n!\n\x06\x04\0\x03\0\x02\0\x12\x03\"\x04\x18\x1a\x12\x20T\
3532    he\x20VM\x20hostname.\n\n\x0e\n\x07\x04\0\x03\0\x02\0\x05\x12\x03\"\x04\
3533    \n\n\x0e\n\x07\x04\0\x03\0\x02\0\x01\x12\x03\"\x0b\x13\n\x0e\n\x07\x04\0\
3534    \x03\0\x02\0\x03\x12\x03\"\x16\x17\n\x81\x01\n\x06\x04\0\x03\0\x02\x01\
3535    \x12\x03'\x04\x19\x1ar\x20The\x20operating\x20system\x20long\x20name.\n\
3536    \x20For\x20example\x20'Debian\x20GNU/Linux\x209'\x20or\x20'Microsoft\x20\
3537    Window\x20Server\x202019\n\x20Datacenter'.\n\n\x0e\n\x07\x04\0\x03\0\x02\
3538    \x01\x05\x12\x03'\x04\n\n\x0e\n\x07\x04\0\x03\0\x02\x01\x01\x12\x03'\x0b\
3539    \x14\n\x0e\n\x07\x04\0\x03\0\x02\x01\x03\x12\x03'\x17\x18\nV\n\x06\x04\0\
3540    \x03\0\x02\x02\x12\x03+\x04\x1a\x1aG\x20The\x20operating\x20system\x20sh\
3541    ort\x20name.\n\x20For\x20example,\x20'windows'\x20or\x20'debian'.\n\n\
3542    \x0e\n\x07\x04\0\x03\0\x02\x02\x05\x12\x03+\x04\n\n\x0e\n\x07\x04\0\x03\
3543    \0\x02\x02\x01\x12\x03+\x0b\x15\n\x0e\n\x07\x04\0\x03\0\x02\x02\x03\x12\
3544    \x03+\x18\x19\n5\n\x06\x04\0\x03\0\x02\x03\x12\x03.\x04\x17\x1a&\x20The\
3545    \x20version\x20of\x20the\x20operating\x20system.\n\n\x0e\n\x07\x04\0\x03\
3546    \0\x02\x03\x05\x12\x03.\x04\n\n\x0e\n\x07\x04\0\x03\0\x02\x03\x01\x12\
3547    \x03.\x0b\x12\n\x0e\n\x07\x04\0\x03\0\x02\x03\x03\x12\x03.\x15\x16\nA\n\
3548    \x06\x04\0\x03\0\x02\x04\x12\x031\x04\x1c\x1a2\x20The\x20system\x20archi\
3549    tecture\x20of\x20the\x20operating\x20system.\n\n\x0e\n\x07\x04\0\x03\0\
3550    \x02\x04\x05\x12\x031\x04\n\n\x0e\n\x07\x04\0\x03\0\x02\x04\x01\x12\x031\
3551    \x0b\x17\n\x0e\n\x07\x04\0\x03\0\x02\x04\x03\x12\x031\x1a\x1b\n<\n\x06\
3552    \x04\0\x03\0\x02\x05\x12\x034\x04\x1e\x1a-\x20The\x20kernel\x20version\
3553    \x20of\x20the\x20operating\x20system.\n\n\x0e\n\x07\x04\0\x03\0\x02\x05\
3554    \x05\x12\x034\x04\n\n\x0e\n\x07\x04\0\x03\0\x02\x05\x01\x12\x034\x0b\x19\
3555    \n\x0e\n\x07\x04\0\x03\0\x02\x05\x03\x12\x034\x1c\x1d\n<\n\x06\x04\0\x03\
3556    \0\x02\x06\x12\x037\x04\x1e\x1a-\x20The\x20kernel\x20release\x20of\x20th\
3557    e\x20operating\x20system.\n\n\x0e\n\x07\x04\0\x03\0\x02\x06\x05\x12\x037\
3558    \x04\n\n\x0e\n\x07\x04\0\x03\0\x02\x06\x01\x12\x037\x0b\x19\n\x0e\n\x07\
3559    \x04\0\x03\0\x02\x06\x03\x12\x037\x1c\x1d\nN\n\x06\x04\0\x03\0\x02\x07\
3560    \x12\x03:\x04&\x1a?\x20The\x20current\x20version\x20of\x20the\x20OS\x20C\
3561    onfig\x20agent\x20running\x20on\x20the\x20VM.\n\n\x0e\n\x07\x04\0\x03\0\
3562    \x02\x07\x05\x12\x03:\x04\n\n\x0e\n\x07\x04\0\x03\0\x02\x07\x01\x12\x03:\
3563    \x0b!\n\x0e\n\x07\x04\0\x03\0\x02\x07\x03\x12\x03:$%\nE\n\x04\x04\0\x03\
3564    \x01\x12\x04>\x02k\x03\x1a7\x20Software\x20package\x20information\x20of\
3565    \x20the\x20operating\x20system.\n\n\x0c\n\x05\x04\0\x03\x01\x01\x12\x03>\
3566    \n\x19\nM\n\x06\x04\0\x03\x01\x08\0\x12\x04@\x04j\x05\x1a=\x20Informatio\
3567    n\x20about\x20the\x20different\x20types\x20of\x20software\x20packages.\n\
3568    \n\x0e\n\x07\x04\0\x03\x01\x08\0\x01\x12\x03@\n\x11\n\xbb\x01\n\x06\x04\
3569    \0\x03\x01\x02\0\x12\x03D\x06'\x1a\xab\x01\x20Yum\x20package\x20info.\n\
3570    \x20For\x20details\x20about\x20the\x20yum\x20package\x20manager,\x20see\
3571    \n\x20https://access.redhat.com/documentation/en-us/red_hat_enterprise_l\
3572    inux/6/html/deployment_guide/ch-yum.\n\n\x0e\n\x07\x04\0\x03\x01\x02\0\
3573    \x06\x12\x03D\x06\x16\n\x0e\n\x07\x04\0\x03\x01\x02\0\x01\x12\x03D\x17\"\
3574    \n\x0e\n\x07\x04\0\x03\x01\x02\0\x03\x12\x03D%&\ny\n\x06\x04\0\x03\x01\
3575    \x02\x01\x12\x03I\x06'\x1aj\x20Details\x20of\x20an\x20APT\x20package.\n\
3576    \x20For\x20details\x20about\x20the\x20apt\x20package\x20manager,\x20see\
3577    \n\x20https://wiki.debian.org/Apt.\n\n\x0e\n\x07\x04\0\x03\x01\x02\x01\
3578    \x06\x12\x03I\x06\x16\n\x0e\n\x07\x04\0\x03\x01\x02\x01\x01\x12\x03I\x17\
3579    \"\n\x0e\n\x07\x04\0\x03\x01\x02\x01\x03\x12\x03I%&\n\x8c\x01\n\x06\x04\
3580    \0\x03\x01\x02\x02\x12\x03N\x06*\x1a}\x20Details\x20of\x20a\x20Zypper\
3581    \x20package.\n\x20For\x20details\x20about\x20the\x20Zypper\x20package\
3582    \x20manager,\x20see\n\x20https://en.opensuse.org/SDB:Zypper_manual.\n\n\
3583    \x0e\n\x07\x04\0\x03\x01\x02\x02\x06\x12\x03N\x06\x16\n\x0e\n\x07\x04\0\
3584    \x03\x01\x02\x02\x01\x12\x03N\x17%\n\x0e\n\x07\x04\0\x03\x01\x02\x02\x03\
3585    \x12\x03N()\n\x85\x01\n\x06\x04\0\x03\x01\x02\x03\x12\x03S\x06*\x1av\x20\
3586    Details\x20of\x20a\x20Googet\x20package.\n\x20\x20For\x20details\x20abou\
3587    t\x20the\x20googet\x20package\x20manager,\x20see\n\x20\x20https://github\
3588    .com/google/googet.\n\n\x0e\n\x07\x04\0\x03\x01\x02\x03\x06\x12\x03S\x06\
3589    \x16\n\x0e\n\x07\x04\0\x03\x01\x02\x03\x01\x12\x03S\x17%\n\x0e\n\x07\x04\
3590    \0\x03\x01\x02\x03\x03\x12\x03S()\n\x8a\x01\n\x06\x04\0\x03\x01\x02\x04\
3591    \x12\x03X\x06#\x1a{\x20Details\x20of\x20a\x20Zypper\x20patch.\n\x20For\
3592    \x20details\x20about\x20the\x20Zypper\x20package\x20manager,\x20see\n\
3593    \x20https://en.opensuse.org/SDB:Zypper_manual.\n\n\x0e\n\x07\x04\0\x03\
3594    \x01\x02\x04\x06\x12\x03X\x06\x11\n\x0e\n\x07\x04\0\x03\x01\x02\x04\x01\
3595    \x12\x03X\x12\x1e\n\x0e\n\x07\x04\0\x03\x01\x02\x04\x03\x12\x03X!\"\n\
3596    \x9b\x01\n\x06\x04\0\x03\x01\x02\x05\x12\x03]\x06+\x1a\x8b\x01\x20Detail\
3597    s\x20of\x20a\x20Windows\x20Update\x20package.\n\x20See\x20https://docs.m\
3598    icrosoft.com/en-us/windows/win32/api/_wua/\x20for\n\x20information\x20ab\
3599    out\x20Windows\x20Update.\n\n\x0e\n\x07\x04\0\x03\x01\x02\x05\x06\x12\
3600    \x03]\x06\x1a\n\x0e\n\x07\x04\0\x03\x01\x02\x05\x01\x12\x03]\x1b&\n\x0e\
3601    \n\x07\x04\0\x03\x01\x02\x05\x03\x12\x03])*\n\xcd\x01\n\x06\x04\0\x03\
3602    \x01\x02\x06\x12\x03c\x068\x1a\xbd\x01\x20Details\x20of\x20a\x20Windows\
3603    \x20Quick\x20Fix\x20engineering\x20package.\n\x20See\n\x20https://docs.m\
3604    icrosoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengineering\
3605    \n\x20for\x20info\x20in\x20Windows\x20Quick\x20Fix\x20Engineering.\n\n\
3606    \x0e\n\x07\x04\0\x03\x01\x02\x06\x06\x12\x03c\x06'\n\x0e\n\x07\x04\0\x03\
3607    \x01\x02\x06\x01\x12\x03c(3\n\x0e\n\x07\x04\0\x03\x01\x02\x06\x03\x12\
3608    \x03c67\n*\n\x06\x04\0\x03\x01\x02\x07\x12\x03f\x06'\x1a\x1b\x20Details\
3609    \x20of\x20a\x20COS\x20package.\n\n\x0e\n\x07\x04\0\x03\x01\x02\x07\x06\
3610    \x12\x03f\x06\x16\n\x0e\n\x07\x04\0\x03\x01\x02\x07\x01\x12\x03f\x17\"\n\
3611    \x0e\n\x07\x04\0\x03\x01\x02\x07\x03\x12\x03f%&\n0\n\x06\x04\0\x03\x01\
3612    \x02\x08\x12\x03i\x061\x1a!\x20Details\x20of\x20Windows\x20Application.\
3613    \n\n\x0e\n\x07\x04\0\x03\x01\x02\x08\x06\x12\x03i\x06\x18\n\x0e\n\x07\
3614    \x04\0\x03\x01\x02\x08\x01\x12\x03i\x19,\n\x0e\n\x07\x04\0\x03\x01\x02\
3615    \x08\x03\x12\x03i/0\n\x99\x01\n\x04\x04\0\x03\x02\x12\x04o\x02x\x03\x1a\
3616    \x8a\x01\x20Information\x20related\x20to\x20the\x20a\x20standard\x20vers\
3617    ioned\x20package.\x20\x20This\x20includes\n\x20package\x20info\x20for\
3618    \x20APT,\x20Yum,\x20Zypper,\x20and\x20Googet\x20package\x20managers.\n\n\
3619    \x0c\n\x05\x04\0\x03\x02\x01\x12\x03o\n\x1a\n)\n\x06\x04\0\x03\x02\x02\0\
3620    \x12\x03q\x04\x1c\x1a\x1a\x20The\x20name\x20of\x20the\x20package.\n\n\
3621    \x0e\n\x07\x04\0\x03\x02\x02\0\x05\x12\x03q\x04\n\n\x0e\n\x07\x04\0\x03\
3622    \x02\x02\0\x01\x12\x03q\x0b\x17\n\x0e\n\x07\x04\0\x03\x02\x02\0\x03\x12\
3623    \x03q\x1a\x1b\nF\n\x06\x04\0\x03\x02\x02\x01\x12\x03t\x04\x1c\x1a7\x20Th\
3624    e\x20system\x20architecture\x20this\x20package\x20is\x20intended\x20for.\
3625    \n\n\x0e\n\x07\x04\0\x03\x02\x02\x01\x05\x12\x03t\x04\n\n\x0e\n\x07\x04\
3626    \0\x03\x02\x02\x01\x01\x12\x03t\x0b\x17\n\x0e\n\x07\x04\0\x03\x02\x02\
3627    \x01\x03\x12\x03t\x1a\x1b\n,\n\x06\x04\0\x03\x02\x02\x02\x12\x03w\x04\
3628    \x17\x1a\x1d\x20The\x20version\x20of\x20the\x20package.\n\n\x0e\n\x07\
3629    \x04\0\x03\x02\x02\x02\x05\x12\x03w\x04\n\n\x0e\n\x07\x04\0\x03\x02\x02\
3630    \x02\x01\x12\x03w\x0b\x12\n\x0e\n\x07\x04\0\x03\x02\x02\x02\x03\x12\x03w\
3631    \x15\x16\n3\n\x04\x04\0\x03\x03\x12\x05{\x02\x87\x01\x03\x1a$\x20Details\
3632    \x20related\x20to\x20a\x20Zypper\x20Patch.\n\n\x0c\n\x05\x04\0\x03\x03\
3633    \x01\x12\x03{\n\x15\n'\n\x06\x04\0\x03\x03\x02\0\x12\x03}\x04\x1a\x1a\
3634    \x18\x20The\x20name\x20of\x20the\x20patch.\n\n\x0e\n\x07\x04\0\x03\x03\
3635    \x02\0\x05\x12\x03}\x04\n\n\x0e\n\x07\x04\0\x03\x03\x02\0\x01\x12\x03}\
3636    \x0b\x15\n\x0e\n\x07\x04\0\x03\x03\x02\0\x03\x12\x03}\x18\x19\n,\n\x06\
3637    \x04\0\x03\x03\x02\x01\x12\x04\x80\x01\x04\x18\x1a\x1c\x20The\x20categor\
3638    y\x20of\x20the\x20patch.\n\n\x0f\n\x07\x04\0\x03\x03\x02\x01\x05\x12\x04\
3639    \x80\x01\x04\n\n\x0f\n\x07\x04\0\x03\x03\x02\x01\x01\x12\x04\x80\x01\x0b\
3640    \x13\n\x0f\n\x07\x04\0\x03\x03\x02\x01\x03\x12\x04\x80\x01\x16\x17\n7\n\
3641    \x06\x04\0\x03\x03\x02\x02\x12\x04\x83\x01\x04\x18\x1a'\x20The\x20severi\
3642    ty\x20specified\x20for\x20this\x20patch\n\n\x0f\n\x07\x04\0\x03\x03\x02\
3643    \x02\x05\x12\x04\x83\x01\x04\n\n\x0f\n\x07\x04\0\x03\x03\x02\x02\x01\x12\
3644    \x04\x83\x01\x0b\x13\n\x0f\n\x07\x04\0\x03\x03\x02\x02\x03\x12\x04\x83\
3645    \x01\x16\x17\nD\n\x06\x04\0\x03\x03\x02\x03\x12\x04\x86\x01\x04\x17\x1a4\
3646    \x20Any\x20summary\x20information\x20provided\x20about\x20this\x20patch.\
3647    \n\n\x0f\n\x07\x04\0\x03\x03\x02\x03\x05\x12\x04\x86\x01\x04\n\n\x0f\n\
3648    \x07\x04\0\x03\x03\x02\x03\x01\x12\x04\x86\x01\x0b\x12\n\x0f\n\x07\x04\0\
3649    \x03\x03\x02\x03\x03\x12\x04\x86\x01\x15\x16\n\xb0\x02\n\x04\x04\0\x03\
3650    \x04\x12\x06\x8e\x01\x02\xb5\x01\x03\x1a\x9f\x02\x20Details\x20related\
3651    \x20to\x20a\x20Windows\x20Update\x20package.\n\x20Field\x20data\x20and\
3652    \x20names\x20are\x20taken\x20from\x20Windows\x20Update\x20API\x20IUpdate\
3653    \x20Interface:\n\x20https://docs.microsoft.com/en-us/windows/win32/api/_\
3654    wua/\n\x20Descriptive\x20fields\x20like\x20title,\x20and\x20description\
3655    \x20are\x20localized\x20based\x20on\n\x20the\x20locale\x20of\x20the\x20V\
3656    M\x20being\x20updated.\n\n\r\n\x05\x04\0\x03\x04\x01\x12\x04\x8e\x01\n\
3657    \x1e\n?\n\x06\x04\0\x03\x04\x03\0\x12\x06\x90\x01\x04\x96\x01\x05\x1a-\
3658    \x20Categories\x20specified\x20by\x20the\x20Windows\x20Update.\n\n\x0f\n\
3659    \x07\x04\0\x03\x04\x03\0\x01\x12\x04\x90\x01\x0c!\nB\n\x08\x04\0\x03\x04\
3660    \x03\0\x02\0\x12\x04\x92\x01\x06\x14\x1a0\x20The\x20identifier\x20of\x20\
3661    the\x20windows\x20update\x20category.\n\n\x11\n\t\x04\0\x03\x04\x03\0\
3662    \x02\0\x05\x12\x04\x92\x01\x06\x0c\n\x11\n\t\x04\0\x03\x04\x03\0\x02\0\
3663    \x01\x12\x04\x92\x01\r\x0f\n\x11\n\t\x04\0\x03\x04\x03\0\x02\0\x03\x12\
3664    \x04\x92\x01\x12\x13\n<\n\x08\x04\0\x03\x04\x03\0\x02\x01\x12\x04\x95\
3665    \x01\x06\x16\x1a*\x20The\x20name\x20of\x20the\x20windows\x20update\x20ca\
3666    tegory.\n\n\x11\n\t\x04\0\x03\x04\x03\0\x02\x01\x05\x12\x04\x95\x01\x06\
3667    \x0c\n\x11\n\t\x04\0\x03\x04\x03\0\x02\x01\x01\x12\x04\x95\x01\r\x11\n\
3668    \x11\n\t\x04\0\x03\x04\x03\0\x02\x01\x03\x12\x04\x95\x01\x14\x15\n<\n\
3669    \x06\x04\0\x03\x04\x02\0\x12\x04\x99\x01\x04\x15\x1a,\x20The\x20localize\
3670    d\x20title\x20of\x20the\x20update\x20package.\n\n\x0f\n\x07\x04\0\x03\
3671    \x04\x02\0\x05\x12\x04\x99\x01\x04\n\n\x0f\n\x07\x04\0\x03\x04\x02\0\x01\
3672    \x12\x04\x99\x01\x0b\x10\n\x0f\n\x07\x04\0\x03\x04\x02\0\x03\x12\x04\x99\
3673    \x01\x13\x14\nB\n\x06\x04\0\x03\x04\x02\x01\x12\x04\x9c\x01\x04\x1b\x1a2\
3674    \x20The\x20localized\x20description\x20of\x20the\x20update\x20package.\n\
3675    \n\x0f\n\x07\x04\0\x03\x04\x02\x01\x05\x12\x04\x9c\x01\x04\n\n\x0f\n\x07\
3676    \x04\0\x03\x04\x02\x01\x01\x12\x04\x9c\x01\x0b\x16\n\x0f\n\x07\x04\0\x03\
3677    \x04\x02\x01\x03\x12\x04\x9c\x01\x19\x1a\nN\n\x06\x04\0\x03\x04\x02\x02\
3678    \x12\x04\x9f\x01\x042\x1a>\x20The\x20categories\x20that\x20are\x20associ\
3679    ated\x20with\x20this\x20update\x20package.\n\n\x0f\n\x07\x04\0\x03\x04\
3680    \x02\x02\x04\x12\x04\x9f\x01\x04\x0c\n\x0f\n\x07\x04\0\x03\x04\x02\x02\
3681    \x06\x12\x04\x9f\x01\r\"\n\x0f\n\x07\x04\0\x03\x04\x02\x02\x01\x12\x04\
3682    \x9f\x01#-\n\x0f\n\x07\x04\0\x03\x04\x02\x02\x03\x12\x04\x9f\x0101\nt\n\
3683    \x06\x04\0\x03\x04\x02\x03\x12\x04\xa3\x01\x04'\x1ad\x20A\x20collection\
3684    \x20of\x20Microsoft\x20Knowledge\x20Base\x20article\x20IDs\x20that\x20ar\
3685    e\x20associated\n\x20with\x20the\x20update\x20package.\n\n\x0f\n\x07\x04\
3686    \0\x03\x04\x02\x03\x04\x12\x04\xa3\x01\x04\x0c\n\x0f\n\x07\x04\0\x03\x04\
3687    \x02\x03\x05\x12\x04\xa3\x01\r\x13\n\x0f\n\x07\x04\0\x03\x04\x02\x03\x01\
3688    \x12\x04\xa3\x01\x14\"\n\x0f\n\x07\x04\0\x03\x04\x02\x03\x03\x12\x04\xa3\
3689    \x01%&\nZ\n\x06\x04\0\x03\x04\x02\x04\x12\x04\xa6\x01\x04\x1b\x1aJ\x20A\
3690    \x20hyperlink\x20to\x20the\x20language-specific\x20support\x20informatio\
3691    n\x20for\x20the\x20update.\n\n\x0f\n\x07\x04\0\x03\x04\x02\x04\x05\x12\
3692    \x04\xa6\x01\x04\n\n\x0f\n\x07\x04\0\x03\x04\x02\x04\x01\x12\x04\xa6\x01\
3693    \x0b\x16\n\x0f\n\x07\x04\0\x03\x04\x02\x04\x03\x12\x04\xa6\x01\x19\x1a\n\
3694    _\n\x06\x04\0\x03\x04\x02\x05\x12\x04\xaa\x01\x04'\x1aO\x20A\x20collecti\
3695    on\x20of\x20URLs\x20that\x20provide\x20more\x20information\x20about\x20t\
3696    he\x20update\n\x20package.\n\n\x0f\n\x07\x04\0\x03\x04\x02\x05\x04\x12\
3697    \x04\xaa\x01\x04\x0c\n\x0f\n\x07\x04\0\x03\x04\x02\x05\x05\x12\x04\xaa\
3698    \x01\r\x13\n\x0f\n\x07\x04\0\x03\x04\x02\x05\x01\x12\x04\xaa\x01\x14\"\n\
3699    \x0f\n\x07\x04\0\x03\x04\x02\x05\x03\x12\x04\xaa\x01%&\n^\n\x06\x04\0\
3700    \x03\x04\x02\x06\x12\x04\xae\x01\x04\x19\x1aN\x20Gets\x20the\x20identifi\
3701    er\x20of\x20an\x20update\x20package.\x20\x20Stays\x20the\x20same\x20acro\
3702    ss\n\x20revisions.\n\n\x0f\n\x07\x04\0\x03\x04\x02\x06\x05\x12\x04\xae\
3703    \x01\x04\n\n\x0f\n\x07\x04\0\x03\x04\x02\x06\x01\x12\x04\xae\x01\x0b\x14\
3704    \n\x0f\n\x07\x04\0\x03\x04\x02\x06\x03\x12\x04\xae\x01\x17\x18\n=\n\x06\
3705    \x04\0\x03\x04\x02\x07\x12\x04\xb1\x01\x04\x1e\x1a-\x20The\x20revision\
3706    \x20number\x20of\x20this\x20update\x20package.\n\n\x0f\n\x07\x04\0\x03\
3707    \x04\x02\x07\x05\x12\x04\xb1\x01\x04\t\n\x0f\n\x07\x04\0\x03\x04\x02\x07\
3708    \x01\x12\x04\xb1\x01\n\x19\n\x0f\n\x07\x04\0\x03\x04\x02\x07\x03\x12\x04\
3709    \xb1\x01\x1c\x1d\nP\n\x06\x04\0\x03\x04\x02\x08\x12\x04\xb4\x01\x04>\x1a\
3710    @\x20The\x20last\x20published\x20date\x20of\x20the\x20update,\x20in\x20(\
3711    UTC)\x20date\x20and\x20time.\n\n\x0f\n\x07\x04\0\x03\x04\x02\x08\x06\x12\
3712    \x04\xb4\x01\x04\x1d\n\x0f\n\x07\x04\0\x03\x04\x02\x08\x01\x12\x04\xb4\
3713    \x01\x1e9\n\x0f\n\x07\x04\0\x03\x04\x02\x08\x03\x12\x04\xb4\x01<=\n\xfb\
3714    \x01\n\x04\x04\0\x03\x05\x12\x06\xbb\x01\x02\xc7\x01\x03\x1a\xea\x01\x20\
3715    Information\x20related\x20to\x20a\x20Quick\x20Fix\x20Engineering\x20pack\
3716    age.\n\x20Fields\x20are\x20taken\x20from\x20Windows\x20QuickFixEngineeri\
3717    ng\x20Interface\x20and\x20match\n\x20the\x20source\x20names:\n\x20https:\
3718    //docs.microsoft.com/en-us/windows/win32/cimwin32prov/win32-quickfixengi\
3719    neering\n\n\r\n\x05\x04\0\x03\x05\x01\x12\x04\xbb\x01\n+\n@\n\x06\x04\0\
3720    \x03\x05\x02\0\x12\x04\xbd\x01\x04\x17\x1a0\x20A\x20short\x20textual\x20\
3721    description\x20of\x20the\x20QFE\x20update.\n\n\x0f\n\x07\x04\0\x03\x05\
3722    \x02\0\x05\x12\x04\xbd\x01\x04\n\n\x0f\n\x07\x04\0\x03\x05\x02\0\x01\x12\
3723    \x04\xbd\x01\x0b\x12\n\x0f\n\x07\x04\0\x03\x05\x02\0\x03\x12\x04\xbd\x01\
3724    \x15\x16\n:\n\x06\x04\0\x03\x05\x02\x01\x12\x04\xc0\x01\x04\x1b\x1a*\x20\
3725    A\x20textual\x20description\x20of\x20the\x20QFE\x20update.\n\n\x0f\n\x07\
3726    \x04\0\x03\x05\x02\x01\x05\x12\x04\xc0\x01\x04\n\n\x0f\n\x07\x04\0\x03\
3727    \x05\x02\x01\x01\x12\x04\xc0\x01\x0b\x16\n\x0f\n\x07\x04\0\x03\x05\x02\
3728    \x01\x03\x12\x04\xc0\x01\x19\x1a\nL\n\x06\x04\0\x03\x05\x02\x02\x12\x04\
3729    \xc3\x01\x04\x1a\x1a<\x20Unique\x20identifier\x20associated\x20with\x20a\
3730    \x20particular\x20QFE\x20update.\n\n\x0f\n\x07\x04\0\x03\x05\x02\x02\x05\
3731    \x12\x04\xc3\x01\x04\n\n\x0f\n\x07\x04\0\x03\x05\x02\x02\x01\x12\x04\xc3\
3732    \x01\x0b\x15\n\x0f\n\x07\x04\0\x03\x05\x02\x02\x03\x12\x04\xc3\x01\x18\
3733    \x19\nZ\n\x06\x04\0\x03\x05\x02\x03\x12\x04\xc6\x01\x04/\x1aJ\x20Date\
3734    \x20that\x20the\x20QFE\x20update\x20was\x20installed.\x20\x20Mapped\x20f\
3735    rom\x20installed_on\x20field.\n\n\x0f\n\x07\x04\0\x03\x05\x02\x03\x06\
3736    \x12\x04\xc6\x01\x04\x1d\n\x0f\n\x07\x04\0\x03\x05\x02\x03\x01\x12\x04\
3737    \xc6\x01\x1e*\n\x0f\n\x07\x04\0\x03\x05\x02\x03\x03\x12\x04\xc6\x01-.\n\
3738    \xc8\x01\n\x04\x04\0\x03\x06\x12\x06\xcc\x01\x02\xdb\x01\x03\x1a\xb7\x01\
3739    \x20Details\x20about\x20Windows\x20Application\x20-\x20based\x20on\x20Wi\
3740    ndows\x20Registry.\n\x20All\x20fields\x20in\x20this\x20message\x20are\
3741    \x20taken\x20from:\n\x20https://docs.microsoft.com/en-us/windows/win32/m\
3742    si/uninstall-registry-key\n\n\r\n\x05\x04\0\x03\x06\x01\x12\x04\xcc\x01\
3743    \n\x1c\n:\n\x06\x04\0\x03\x06\x02\0\x12\x04\xce\x01\x04\x1c\x1a*\x20Disp\
3744    layName\x20field\x20from\x20Windows\x20Registry.\n\n\x0f\n\x07\x04\0\x03\
3745    \x06\x02\0\x05\x12\x04\xce\x01\x04\n\n\x0f\n\x07\x04\0\x03\x06\x02\0\x01\
3746    \x12\x04\xce\x01\x0b\x17\n\x0f\n\x07\x04\0\x03\x06\x02\0\x03\x12\x04\xce\
3747    \x01\x1a\x1b\n=\n\x06\x04\0\x03\x06\x02\x01\x12\x04\xd1\x01\x04\x1f\x1a-\
3748    \x20DisplayVersion\x20field\x20from\x20Windows\x20Registry.\n\n\x0f\n\
3749    \x07\x04\0\x03\x06\x02\x01\x05\x12\x04\xd1\x01\x04\n\n\x0f\n\x07\x04\0\
3750    \x03\x06\x02\x01\x01\x12\x04\xd1\x01\x0b\x1a\n\x0f\n\x07\x04\0\x03\x06\
3751    \x02\x01\x03\x12\x04\xd1\x01\x1d\x1e\n8\n\x06\x04\0\x03\x06\x02\x02\x12\
3752    \x04\xd4\x01\x04\x19\x1a(\x20Publisher\x20field\x20from\x20Windows\x20Re\
3753    gistry.\n\n\x0f\n\x07\x04\0\x03\x06\x02\x02\x05\x12\x04\xd4\x01\x04\n\n\
3754    \x0f\n\x07\x04\0\x03\x06\x02\x02\x01\x12\x04\xd4\x01\x0b\x14\n\x0f\n\x07\
3755    \x04\0\x03\x06\x02\x02\x03\x12\x04\xd4\x01\x17\x18\n@\n\x06\x04\0\x03\
3756    \x06\x02\x03\x12\x04\xd7\x01\x04&\x1a0\x20Installation\x20date\x20field\
3757    \x20from\x20Windows\x20Registry.\n\n\x0f\n\x07\x04\0\x03\x06\x02\x03\x06\
3758    \x12\x04\xd7\x01\x04\x14\n\x0f\n\x07\x04\0\x03\x06\x02\x03\x01\x12\x04\
3759    \xd7\x01\x15!\n\x0f\n\x07\x04\0\x03\x06\x02\x03\x03\x12\x04\xd7\x01$%\n7\
3760    \n\x06\x04\0\x03\x06\x02\x04\x12\x04\xda\x01\x04\x19\x1a'\x20HelpLink\
3761    \x20field\x20from\x20Windows\x20Registry.\n\n\x0f\n\x07\x04\0\x03\x06\
3762    \x02\x04\x05\x12\x04\xda\x01\x04\n\n\x0f\n\x07\x04\0\x03\x06\x02\x04\x01\
3763    \x12\x04\xda\x01\x0b\x14\n\x0f\n\x07\x04\0\x03\x06\x02\x04\x03\x12\x04\
3764    \xda\x01\x17\x18\nC\n\x04\x04\0\x02\0\x12\x04\xde\x01\x02\x15\x1a5\x20Ba\
3765    se\x20level\x20operating\x20system\x20information\x20for\x20the\x20VM.\n\
3766    \n\r\n\x05\x04\0\x02\0\x06\x12\x04\xde\x01\x02\x08\n\r\n\x05\x04\0\x02\0\
3767    \x01\x12\x04\xde\x01\t\x10\n\r\n\x05\x04\0\x02\0\x03\x12\x04\xde\x01\x13\
3768    \x14\nA\n\x04\x04\0\x02\x01\x12\x04\xe1\x01\x022\x1a3\x20A\x20list\x20of\
3769    \x20installed\x20packages\x20currently\x20on\x20the\x20VM.\n\n\r\n\x05\
3770    \x04\0\x02\x01\x04\x12\x04\xe1\x01\x02\n\n\r\n\x05\x04\0\x02\x01\x06\x12\
3771    \x04\xe1\x01\x0b\x1a\n\r\n\x05\x04\0\x02\x01\x01\x12\x04\xe1\x01\x1b-\n\
3772    \r\n\x05\x04\0\x02\x01\x03\x12\x04\xe1\x0101\nd\n\x04\x04\0\x02\x02\x12\
3773    \x04\xe5\x01\x022\x1aV\x20A\x20list\x20of\x20software\x20updates\x20avai\
3774    lable\x20for\x20the\x20VM\x20as\x20reported\x20by\x20the\x20update\n\x20\
3775    managers.\n\n\r\n\x05\x04\0\x02\x02\x04\x12\x04\xe5\x01\x02\n\n\r\n\x05\
3776    \x04\0\x02\x02\x06\x12\x04\xe5\x01\x0b\x1a\n\r\n\x05\x04\0\x02\x02\x01\
3777    \x12\x04\xe5\x01\x1b-\n\r\n\x05\x04\0\x02\x02\x03\x12\x04\xe5\x0101b\x06\
3778    proto3\
3779";
3780
3781static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
3782
3783fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
3784    ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
3785}
3786
3787pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
3788    file_descriptor_proto_lazy.get(|| {
3789        parse_descriptor_proto()
3790    })
3791}