google_cloud_rust_raw/cloud/osconfig/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/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 name: ::std::string::String,
30    pub os_info: ::protobuf::SingularPtrField<Inventory_OsInfo>,
31    pub items: ::std::collections::HashMap<::std::string::String, Inventory_Item>,
32    pub update_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
33    // special fields
34    pub unknown_fields: ::protobuf::UnknownFields,
35    pub cached_size: ::protobuf::CachedSize,
36}
37
38impl<'a> ::std::default::Default for &'a Inventory {
39    fn default() -> &'a Inventory {
40        <Inventory as ::protobuf::Message>::default_instance()
41    }
42}
43
44impl Inventory {
45    pub fn new() -> Inventory {
46        ::std::default::Default::default()
47    }
48
49    // string name = 3;
50
51
52    pub fn get_name(&self) -> &str {
53        &self.name
54    }
55    pub fn clear_name(&mut self) {
56        self.name.clear();
57    }
58
59    // Param is passed by value, moved
60    pub fn set_name(&mut self, v: ::std::string::String) {
61        self.name = v;
62    }
63
64    // Mutable pointer to the field.
65    // If field is not initialized, it is initialized with default value first.
66    pub fn mut_name(&mut self) -> &mut ::std::string::String {
67        &mut self.name
68    }
69
70    // Take field
71    pub fn take_name(&mut self) -> ::std::string::String {
72        ::std::mem::replace(&mut self.name, ::std::string::String::new())
73    }
74
75    // .google.cloud.osconfig.v1.Inventory.OsInfo os_info = 1;
76
77
78    pub fn get_os_info(&self) -> &Inventory_OsInfo {
79        self.os_info.as_ref().unwrap_or_else(|| <Inventory_OsInfo as ::protobuf::Message>::default_instance())
80    }
81    pub fn clear_os_info(&mut self) {
82        self.os_info.clear();
83    }
84
85    pub fn has_os_info(&self) -> bool {
86        self.os_info.is_some()
87    }
88
89    // Param is passed by value, moved
90    pub fn set_os_info(&mut self, v: Inventory_OsInfo) {
91        self.os_info = ::protobuf::SingularPtrField::some(v);
92    }
93
94    // Mutable pointer to the field.
95    // If field is not initialized, it is initialized with default value first.
96    pub fn mut_os_info(&mut self) -> &mut Inventory_OsInfo {
97        if self.os_info.is_none() {
98            self.os_info.set_default();
99        }
100        self.os_info.as_mut().unwrap()
101    }
102
103    // Take field
104    pub fn take_os_info(&mut self) -> Inventory_OsInfo {
105        self.os_info.take().unwrap_or_else(|| Inventory_OsInfo::new())
106    }
107
108    // repeated .google.cloud.osconfig.v1.Inventory.ItemsEntry items = 2;
109
110
111    pub fn get_items(&self) -> &::std::collections::HashMap<::std::string::String, Inventory_Item> {
112        &self.items
113    }
114    pub fn clear_items(&mut self) {
115        self.items.clear();
116    }
117
118    // Param is passed by value, moved
119    pub fn set_items(&mut self, v: ::std::collections::HashMap<::std::string::String, Inventory_Item>) {
120        self.items = v;
121    }
122
123    // Mutable pointer to the field.
124    pub fn mut_items(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, Inventory_Item> {
125        &mut self.items
126    }
127
128    // Take field
129    pub fn take_items(&mut self) -> ::std::collections::HashMap<::std::string::String, Inventory_Item> {
130        ::std::mem::replace(&mut self.items, ::std::collections::HashMap::new())
131    }
132
133    // .google.protobuf.Timestamp update_time = 4;
134
135
136    pub fn get_update_time(&self) -> &::protobuf::well_known_types::Timestamp {
137        self.update_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
138    }
139    pub fn clear_update_time(&mut self) {
140        self.update_time.clear();
141    }
142
143    pub fn has_update_time(&self) -> bool {
144        self.update_time.is_some()
145    }
146
147    // Param is passed by value, moved
148    pub fn set_update_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
149        self.update_time = ::protobuf::SingularPtrField::some(v);
150    }
151
152    // Mutable pointer to the field.
153    // If field is not initialized, it is initialized with default value first.
154    pub fn mut_update_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
155        if self.update_time.is_none() {
156            self.update_time.set_default();
157        }
158        self.update_time.as_mut().unwrap()
159    }
160
161    // Take field
162    pub fn take_update_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
163        self.update_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
164    }
165}
166
167impl ::protobuf::Message for Inventory {
168    fn is_initialized(&self) -> bool {
169        for v in &self.os_info {
170            if !v.is_initialized() {
171                return false;
172            }
173        };
174        for v in &self.update_time {
175            if !v.is_initialized() {
176                return false;
177            }
178        };
179        true
180    }
181
182    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
183        while !is.eof()? {
184            let (field_number, wire_type) = is.read_tag_unpack()?;
185            match field_number {
186                3 => {
187                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
188                },
189                1 => {
190                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.os_info)?;
191                },
192                2 => {
193                    ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Inventory_Item>>(wire_type, is, &mut self.items)?;
194                },
195                4 => {
196                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.update_time)?;
197                },
198                _ => {
199                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
200                },
201            };
202        }
203        ::std::result::Result::Ok(())
204    }
205
206    // Compute sizes of nested messages
207    #[allow(unused_variables)]
208    fn compute_size(&self) -> u32 {
209        let mut my_size = 0;
210        if !self.name.is_empty() {
211            my_size += ::protobuf::rt::string_size(3, &self.name);
212        }
213        if let Some(ref v) = self.os_info.as_ref() {
214            let len = v.compute_size();
215            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
216        }
217        my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Inventory_Item>>(2, &self.items);
218        if let Some(ref v) = self.update_time.as_ref() {
219            let len = v.compute_size();
220            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
221        }
222        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
223        self.cached_size.set(my_size);
224        my_size
225    }
226
227    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
228        if !self.name.is_empty() {
229            os.write_string(3, &self.name)?;
230        }
231        if let Some(ref v) = self.os_info.as_ref() {
232            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
233            os.write_raw_varint32(v.get_cached_size())?;
234            v.write_to_with_cached_sizes(os)?;
235        }
236        ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Inventory_Item>>(2, &self.items, os)?;
237        if let Some(ref v) = self.update_time.as_ref() {
238            os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
239            os.write_raw_varint32(v.get_cached_size())?;
240            v.write_to_with_cached_sizes(os)?;
241        }
242        os.write_unknown_fields(self.get_unknown_fields())?;
243        ::std::result::Result::Ok(())
244    }
245
246    fn get_cached_size(&self) -> u32 {
247        self.cached_size.get()
248    }
249
250    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
251        &self.unknown_fields
252    }
253
254    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
255        &mut self.unknown_fields
256    }
257
258    fn as_any(&self) -> &dyn (::std::any::Any) {
259        self as &dyn (::std::any::Any)
260    }
261    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
262        self as &mut dyn (::std::any::Any)
263    }
264    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
265        self
266    }
267
268    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
269        Self::descriptor_static()
270    }
271
272    fn new() -> Inventory {
273        Inventory::new()
274    }
275
276    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
277        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
278        descriptor.get(|| {
279            let mut fields = ::std::vec::Vec::new();
280            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
281                "name",
282                |m: &Inventory| { &m.name },
283                |m: &mut Inventory| { &mut m.name },
284            ));
285            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Inventory_OsInfo>>(
286                "os_info",
287                |m: &Inventory| { &m.os_info },
288                |m: &mut Inventory| { &mut m.os_info },
289            ));
290            fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Inventory_Item>>(
291                "items",
292                |m: &Inventory| { &m.items },
293                |m: &mut Inventory| { &mut m.items },
294            ));
295            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
296                "update_time",
297                |m: &Inventory| { &m.update_time },
298                |m: &mut Inventory| { &mut m.update_time },
299            ));
300            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Inventory>(
301                "Inventory",
302                fields,
303                file_descriptor_proto()
304            )
305        })
306    }
307
308    fn default_instance() -> &'static Inventory {
309        static instance: ::protobuf::rt::LazyV2<Inventory> = ::protobuf::rt::LazyV2::INIT;
310        instance.get(Inventory::new)
311    }
312}
313
314impl ::protobuf::Clear for Inventory {
315    fn clear(&mut self) {
316        self.name.clear();
317        self.os_info.clear();
318        self.items.clear();
319        self.update_time.clear();
320        self.unknown_fields.clear();
321    }
322}
323
324impl ::std::fmt::Debug for Inventory {
325    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
326        ::protobuf::text_format::fmt(self, f)
327    }
328}
329
330impl ::protobuf::reflect::ProtobufValue for Inventory {
331    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
332        ::protobuf::reflect::ReflectValueRef::Message(self)
333    }
334}
335
336#[derive(PartialEq,Clone,Default)]
337pub struct Inventory_OsInfo {
338    // message fields
339    pub hostname: ::std::string::String,
340    pub long_name: ::std::string::String,
341    pub short_name: ::std::string::String,
342    pub version: ::std::string::String,
343    pub architecture: ::std::string::String,
344    pub kernel_version: ::std::string::String,
345    pub kernel_release: ::std::string::String,
346    pub osconfig_agent_version: ::std::string::String,
347    // special fields
348    pub unknown_fields: ::protobuf::UnknownFields,
349    pub cached_size: ::protobuf::CachedSize,
350}
351
352impl<'a> ::std::default::Default for &'a Inventory_OsInfo {
353    fn default() -> &'a Inventory_OsInfo {
354        <Inventory_OsInfo as ::protobuf::Message>::default_instance()
355    }
356}
357
358impl Inventory_OsInfo {
359    pub fn new() -> Inventory_OsInfo {
360        ::std::default::Default::default()
361    }
362
363    // string hostname = 9;
364
365
366    pub fn get_hostname(&self) -> &str {
367        &self.hostname
368    }
369    pub fn clear_hostname(&mut self) {
370        self.hostname.clear();
371    }
372
373    // Param is passed by value, moved
374    pub fn set_hostname(&mut self, v: ::std::string::String) {
375        self.hostname = v;
376    }
377
378    // Mutable pointer to the field.
379    // If field is not initialized, it is initialized with default value first.
380    pub fn mut_hostname(&mut self) -> &mut ::std::string::String {
381        &mut self.hostname
382    }
383
384    // Take field
385    pub fn take_hostname(&mut self) -> ::std::string::String {
386        ::std::mem::replace(&mut self.hostname, ::std::string::String::new())
387    }
388
389    // string long_name = 2;
390
391
392    pub fn get_long_name(&self) -> &str {
393        &self.long_name
394    }
395    pub fn clear_long_name(&mut self) {
396        self.long_name.clear();
397    }
398
399    // Param is passed by value, moved
400    pub fn set_long_name(&mut self, v: ::std::string::String) {
401        self.long_name = v;
402    }
403
404    // Mutable pointer to the field.
405    // If field is not initialized, it is initialized with default value first.
406    pub fn mut_long_name(&mut self) -> &mut ::std::string::String {
407        &mut self.long_name
408    }
409
410    // Take field
411    pub fn take_long_name(&mut self) -> ::std::string::String {
412        ::std::mem::replace(&mut self.long_name, ::std::string::String::new())
413    }
414
415    // string short_name = 3;
416
417
418    pub fn get_short_name(&self) -> &str {
419        &self.short_name
420    }
421    pub fn clear_short_name(&mut self) {
422        self.short_name.clear();
423    }
424
425    // Param is passed by value, moved
426    pub fn set_short_name(&mut self, v: ::std::string::String) {
427        self.short_name = v;
428    }
429
430    // Mutable pointer to the field.
431    // If field is not initialized, it is initialized with default value first.
432    pub fn mut_short_name(&mut self) -> &mut ::std::string::String {
433        &mut self.short_name
434    }
435
436    // Take field
437    pub fn take_short_name(&mut self) -> ::std::string::String {
438        ::std::mem::replace(&mut self.short_name, ::std::string::String::new())
439    }
440
441    // string version = 4;
442
443
444    pub fn get_version(&self) -> &str {
445        &self.version
446    }
447    pub fn clear_version(&mut self) {
448        self.version.clear();
449    }
450
451    // Param is passed by value, moved
452    pub fn set_version(&mut self, v: ::std::string::String) {
453        self.version = v;
454    }
455
456    // Mutable pointer to the field.
457    // If field is not initialized, it is initialized with default value first.
458    pub fn mut_version(&mut self) -> &mut ::std::string::String {
459        &mut self.version
460    }
461
462    // Take field
463    pub fn take_version(&mut self) -> ::std::string::String {
464        ::std::mem::replace(&mut self.version, ::std::string::String::new())
465    }
466
467    // string architecture = 5;
468
469
470    pub fn get_architecture(&self) -> &str {
471        &self.architecture
472    }
473    pub fn clear_architecture(&mut self) {
474        self.architecture.clear();
475    }
476
477    // Param is passed by value, moved
478    pub fn set_architecture(&mut self, v: ::std::string::String) {
479        self.architecture = v;
480    }
481
482    // Mutable pointer to the field.
483    // If field is not initialized, it is initialized with default value first.
484    pub fn mut_architecture(&mut self) -> &mut ::std::string::String {
485        &mut self.architecture
486    }
487
488    // Take field
489    pub fn take_architecture(&mut self) -> ::std::string::String {
490        ::std::mem::replace(&mut self.architecture, ::std::string::String::new())
491    }
492
493    // string kernel_version = 6;
494
495
496    pub fn get_kernel_version(&self) -> &str {
497        &self.kernel_version
498    }
499    pub fn clear_kernel_version(&mut self) {
500        self.kernel_version.clear();
501    }
502
503    // Param is passed by value, moved
504    pub fn set_kernel_version(&mut self, v: ::std::string::String) {
505        self.kernel_version = v;
506    }
507
508    // Mutable pointer to the field.
509    // If field is not initialized, it is initialized with default value first.
510    pub fn mut_kernel_version(&mut self) -> &mut ::std::string::String {
511        &mut self.kernel_version
512    }
513
514    // Take field
515    pub fn take_kernel_version(&mut self) -> ::std::string::String {
516        ::std::mem::replace(&mut self.kernel_version, ::std::string::String::new())
517    }
518
519    // string kernel_release = 7;
520
521
522    pub fn get_kernel_release(&self) -> &str {
523        &self.kernel_release
524    }
525    pub fn clear_kernel_release(&mut self) {
526        self.kernel_release.clear();
527    }
528
529    // Param is passed by value, moved
530    pub fn set_kernel_release(&mut self, v: ::std::string::String) {
531        self.kernel_release = v;
532    }
533
534    // Mutable pointer to the field.
535    // If field is not initialized, it is initialized with default value first.
536    pub fn mut_kernel_release(&mut self) -> &mut ::std::string::String {
537        &mut self.kernel_release
538    }
539
540    // Take field
541    pub fn take_kernel_release(&mut self) -> ::std::string::String {
542        ::std::mem::replace(&mut self.kernel_release, ::std::string::String::new())
543    }
544
545    // string osconfig_agent_version = 8;
546
547
548    pub fn get_osconfig_agent_version(&self) -> &str {
549        &self.osconfig_agent_version
550    }
551    pub fn clear_osconfig_agent_version(&mut self) {
552        self.osconfig_agent_version.clear();
553    }
554
555    // Param is passed by value, moved
556    pub fn set_osconfig_agent_version(&mut self, v: ::std::string::String) {
557        self.osconfig_agent_version = v;
558    }
559
560    // Mutable pointer to the field.
561    // If field is not initialized, it is initialized with default value first.
562    pub fn mut_osconfig_agent_version(&mut self) -> &mut ::std::string::String {
563        &mut self.osconfig_agent_version
564    }
565
566    // Take field
567    pub fn take_osconfig_agent_version(&mut self) -> ::std::string::String {
568        ::std::mem::replace(&mut self.osconfig_agent_version, ::std::string::String::new())
569    }
570}
571
572impl ::protobuf::Message for Inventory_OsInfo {
573    fn is_initialized(&self) -> bool {
574        true
575    }
576
577    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
578        while !is.eof()? {
579            let (field_number, wire_type) = is.read_tag_unpack()?;
580            match field_number {
581                9 => {
582                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.hostname)?;
583                },
584                2 => {
585                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.long_name)?;
586                },
587                3 => {
588                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.short_name)?;
589                },
590                4 => {
591                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.version)?;
592                },
593                5 => {
594                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.architecture)?;
595                },
596                6 => {
597                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.kernel_version)?;
598                },
599                7 => {
600                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.kernel_release)?;
601                },
602                8 => {
603                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.osconfig_agent_version)?;
604                },
605                _ => {
606                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
607                },
608            };
609        }
610        ::std::result::Result::Ok(())
611    }
612
613    // Compute sizes of nested messages
614    #[allow(unused_variables)]
615    fn compute_size(&self) -> u32 {
616        let mut my_size = 0;
617        if !self.hostname.is_empty() {
618            my_size += ::protobuf::rt::string_size(9, &self.hostname);
619        }
620        if !self.long_name.is_empty() {
621            my_size += ::protobuf::rt::string_size(2, &self.long_name);
622        }
623        if !self.short_name.is_empty() {
624            my_size += ::protobuf::rt::string_size(3, &self.short_name);
625        }
626        if !self.version.is_empty() {
627            my_size += ::protobuf::rt::string_size(4, &self.version);
628        }
629        if !self.architecture.is_empty() {
630            my_size += ::protobuf::rt::string_size(5, &self.architecture);
631        }
632        if !self.kernel_version.is_empty() {
633            my_size += ::protobuf::rt::string_size(6, &self.kernel_version);
634        }
635        if !self.kernel_release.is_empty() {
636            my_size += ::protobuf::rt::string_size(7, &self.kernel_release);
637        }
638        if !self.osconfig_agent_version.is_empty() {
639            my_size += ::protobuf::rt::string_size(8, &self.osconfig_agent_version);
640        }
641        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
642        self.cached_size.set(my_size);
643        my_size
644    }
645
646    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
647        if !self.hostname.is_empty() {
648            os.write_string(9, &self.hostname)?;
649        }
650        if !self.long_name.is_empty() {
651            os.write_string(2, &self.long_name)?;
652        }
653        if !self.short_name.is_empty() {
654            os.write_string(3, &self.short_name)?;
655        }
656        if !self.version.is_empty() {
657            os.write_string(4, &self.version)?;
658        }
659        if !self.architecture.is_empty() {
660            os.write_string(5, &self.architecture)?;
661        }
662        if !self.kernel_version.is_empty() {
663            os.write_string(6, &self.kernel_version)?;
664        }
665        if !self.kernel_release.is_empty() {
666            os.write_string(7, &self.kernel_release)?;
667        }
668        if !self.osconfig_agent_version.is_empty() {
669            os.write_string(8, &self.osconfig_agent_version)?;
670        }
671        os.write_unknown_fields(self.get_unknown_fields())?;
672        ::std::result::Result::Ok(())
673    }
674
675    fn get_cached_size(&self) -> u32 {
676        self.cached_size.get()
677    }
678
679    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
680        &self.unknown_fields
681    }
682
683    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
684        &mut self.unknown_fields
685    }
686
687    fn as_any(&self) -> &dyn (::std::any::Any) {
688        self as &dyn (::std::any::Any)
689    }
690    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
691        self as &mut dyn (::std::any::Any)
692    }
693    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
694        self
695    }
696
697    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
698        Self::descriptor_static()
699    }
700
701    fn new() -> Inventory_OsInfo {
702        Inventory_OsInfo::new()
703    }
704
705    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
706        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
707        descriptor.get(|| {
708            let mut fields = ::std::vec::Vec::new();
709            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
710                "hostname",
711                |m: &Inventory_OsInfo| { &m.hostname },
712                |m: &mut Inventory_OsInfo| { &mut m.hostname },
713            ));
714            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
715                "long_name",
716                |m: &Inventory_OsInfo| { &m.long_name },
717                |m: &mut Inventory_OsInfo| { &mut m.long_name },
718            ));
719            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
720                "short_name",
721                |m: &Inventory_OsInfo| { &m.short_name },
722                |m: &mut Inventory_OsInfo| { &mut m.short_name },
723            ));
724            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
725                "version",
726                |m: &Inventory_OsInfo| { &m.version },
727                |m: &mut Inventory_OsInfo| { &mut m.version },
728            ));
729            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
730                "architecture",
731                |m: &Inventory_OsInfo| { &m.architecture },
732                |m: &mut Inventory_OsInfo| { &mut m.architecture },
733            ));
734            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
735                "kernel_version",
736                |m: &Inventory_OsInfo| { &m.kernel_version },
737                |m: &mut Inventory_OsInfo| { &mut m.kernel_version },
738            ));
739            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
740                "kernel_release",
741                |m: &Inventory_OsInfo| { &m.kernel_release },
742                |m: &mut Inventory_OsInfo| { &mut m.kernel_release },
743            ));
744            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
745                "osconfig_agent_version",
746                |m: &Inventory_OsInfo| { &m.osconfig_agent_version },
747                |m: &mut Inventory_OsInfo| { &mut m.osconfig_agent_version },
748            ));
749            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Inventory_OsInfo>(
750                "Inventory.OsInfo",
751                fields,
752                file_descriptor_proto()
753            )
754        })
755    }
756
757    fn default_instance() -> &'static Inventory_OsInfo {
758        static instance: ::protobuf::rt::LazyV2<Inventory_OsInfo> = ::protobuf::rt::LazyV2::INIT;
759        instance.get(Inventory_OsInfo::new)
760    }
761}
762
763impl ::protobuf::Clear for Inventory_OsInfo {
764    fn clear(&mut self) {
765        self.hostname.clear();
766        self.long_name.clear();
767        self.short_name.clear();
768        self.version.clear();
769        self.architecture.clear();
770        self.kernel_version.clear();
771        self.kernel_release.clear();
772        self.osconfig_agent_version.clear();
773        self.unknown_fields.clear();
774    }
775}
776
777impl ::std::fmt::Debug for Inventory_OsInfo {
778    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
779        ::protobuf::text_format::fmt(self, f)
780    }
781}
782
783impl ::protobuf::reflect::ProtobufValue for Inventory_OsInfo {
784    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
785        ::protobuf::reflect::ReflectValueRef::Message(self)
786    }
787}
788
789#[derive(PartialEq,Clone,Default)]
790pub struct Inventory_Item {
791    // message fields
792    pub id: ::std::string::String,
793    pub origin_type: Inventory_Item_OriginType,
794    pub create_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
795    pub update_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
796    pub field_type: Inventory_Item_Type,
797    // message oneof groups
798    pub details: ::std::option::Option<Inventory_Item_oneof_details>,
799    // special fields
800    pub unknown_fields: ::protobuf::UnknownFields,
801    pub cached_size: ::protobuf::CachedSize,
802}
803
804impl<'a> ::std::default::Default for &'a Inventory_Item {
805    fn default() -> &'a Inventory_Item {
806        <Inventory_Item as ::protobuf::Message>::default_instance()
807    }
808}
809
810#[derive(Clone,PartialEq,Debug)]
811pub enum Inventory_Item_oneof_details {
812    installed_package(Inventory_SoftwarePackage),
813    available_package(Inventory_SoftwarePackage),
814}
815
816impl Inventory_Item {
817    pub fn new() -> Inventory_Item {
818        ::std::default::Default::default()
819    }
820
821    // string id = 1;
822
823
824    pub fn get_id(&self) -> &str {
825        &self.id
826    }
827    pub fn clear_id(&mut self) {
828        self.id.clear();
829    }
830
831    // Param is passed by value, moved
832    pub fn set_id(&mut self, v: ::std::string::String) {
833        self.id = v;
834    }
835
836    // Mutable pointer to the field.
837    // If field is not initialized, it is initialized with default value first.
838    pub fn mut_id(&mut self) -> &mut ::std::string::String {
839        &mut self.id
840    }
841
842    // Take field
843    pub fn take_id(&mut self) -> ::std::string::String {
844        ::std::mem::replace(&mut self.id, ::std::string::String::new())
845    }
846
847    // .google.cloud.osconfig.v1.Inventory.Item.OriginType origin_type = 2;
848
849
850    pub fn get_origin_type(&self) -> Inventory_Item_OriginType {
851        self.origin_type
852    }
853    pub fn clear_origin_type(&mut self) {
854        self.origin_type = Inventory_Item_OriginType::ORIGIN_TYPE_UNSPECIFIED;
855    }
856
857    // Param is passed by value, moved
858    pub fn set_origin_type(&mut self, v: Inventory_Item_OriginType) {
859        self.origin_type = v;
860    }
861
862    // .google.protobuf.Timestamp create_time = 8;
863
864
865    pub fn get_create_time(&self) -> &::protobuf::well_known_types::Timestamp {
866        self.create_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
867    }
868    pub fn clear_create_time(&mut self) {
869        self.create_time.clear();
870    }
871
872    pub fn has_create_time(&self) -> bool {
873        self.create_time.is_some()
874    }
875
876    // Param is passed by value, moved
877    pub fn set_create_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
878        self.create_time = ::protobuf::SingularPtrField::some(v);
879    }
880
881    // Mutable pointer to the field.
882    // If field is not initialized, it is initialized with default value first.
883    pub fn mut_create_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
884        if self.create_time.is_none() {
885            self.create_time.set_default();
886        }
887        self.create_time.as_mut().unwrap()
888    }
889
890    // Take field
891    pub fn take_create_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
892        self.create_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
893    }
894
895    // .google.protobuf.Timestamp update_time = 9;
896
897
898    pub fn get_update_time(&self) -> &::protobuf::well_known_types::Timestamp {
899        self.update_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
900    }
901    pub fn clear_update_time(&mut self) {
902        self.update_time.clear();
903    }
904
905    pub fn has_update_time(&self) -> bool {
906        self.update_time.is_some()
907    }
908
909    // Param is passed by value, moved
910    pub fn set_update_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
911        self.update_time = ::protobuf::SingularPtrField::some(v);
912    }
913
914    // Mutable pointer to the field.
915    // If field is not initialized, it is initialized with default value first.
916    pub fn mut_update_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
917        if self.update_time.is_none() {
918            self.update_time.set_default();
919        }
920        self.update_time.as_mut().unwrap()
921    }
922
923    // Take field
924    pub fn take_update_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
925        self.update_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
926    }
927
928    // .google.cloud.osconfig.v1.Inventory.Item.Type type = 5;
929
930
931    pub fn get_field_type(&self) -> Inventory_Item_Type {
932        self.field_type
933    }
934    pub fn clear_field_type(&mut self) {
935        self.field_type = Inventory_Item_Type::TYPE_UNSPECIFIED;
936    }
937
938    // Param is passed by value, moved
939    pub fn set_field_type(&mut self, v: Inventory_Item_Type) {
940        self.field_type = v;
941    }
942
943    // .google.cloud.osconfig.v1.Inventory.SoftwarePackage installed_package = 6;
944
945
946    pub fn get_installed_package(&self) -> &Inventory_SoftwarePackage {
947        match self.details {
948            ::std::option::Option::Some(Inventory_Item_oneof_details::installed_package(ref v)) => v,
949            _ => <Inventory_SoftwarePackage as ::protobuf::Message>::default_instance(),
950        }
951    }
952    pub fn clear_installed_package(&mut self) {
953        self.details = ::std::option::Option::None;
954    }
955
956    pub fn has_installed_package(&self) -> bool {
957        match self.details {
958            ::std::option::Option::Some(Inventory_Item_oneof_details::installed_package(..)) => true,
959            _ => false,
960        }
961    }
962
963    // Param is passed by value, moved
964    pub fn set_installed_package(&mut self, v: Inventory_SoftwarePackage) {
965        self.details = ::std::option::Option::Some(Inventory_Item_oneof_details::installed_package(v))
966    }
967
968    // Mutable pointer to the field.
969    pub fn mut_installed_package(&mut self) -> &mut Inventory_SoftwarePackage {
970        if let ::std::option::Option::Some(Inventory_Item_oneof_details::installed_package(_)) = self.details {
971        } else {
972            self.details = ::std::option::Option::Some(Inventory_Item_oneof_details::installed_package(Inventory_SoftwarePackage::new()));
973        }
974        match self.details {
975            ::std::option::Option::Some(Inventory_Item_oneof_details::installed_package(ref mut v)) => v,
976            _ => panic!(),
977        }
978    }
979
980    // Take field
981    pub fn take_installed_package(&mut self) -> Inventory_SoftwarePackage {
982        if self.has_installed_package() {
983            match self.details.take() {
984                ::std::option::Option::Some(Inventory_Item_oneof_details::installed_package(v)) => v,
985                _ => panic!(),
986            }
987        } else {
988            Inventory_SoftwarePackage::new()
989        }
990    }
991
992    // .google.cloud.osconfig.v1.Inventory.SoftwarePackage available_package = 7;
993
994
995    pub fn get_available_package(&self) -> &Inventory_SoftwarePackage {
996        match self.details {
997            ::std::option::Option::Some(Inventory_Item_oneof_details::available_package(ref v)) => v,
998            _ => <Inventory_SoftwarePackage as ::protobuf::Message>::default_instance(),
999        }
1000    }
1001    pub fn clear_available_package(&mut self) {
1002        self.details = ::std::option::Option::None;
1003    }
1004
1005    pub fn has_available_package(&self) -> bool {
1006        match self.details {
1007            ::std::option::Option::Some(Inventory_Item_oneof_details::available_package(..)) => true,
1008            _ => false,
1009        }
1010    }
1011
1012    // Param is passed by value, moved
1013    pub fn set_available_package(&mut self, v: Inventory_SoftwarePackage) {
1014        self.details = ::std::option::Option::Some(Inventory_Item_oneof_details::available_package(v))
1015    }
1016
1017    // Mutable pointer to the field.
1018    pub fn mut_available_package(&mut self) -> &mut Inventory_SoftwarePackage {
1019        if let ::std::option::Option::Some(Inventory_Item_oneof_details::available_package(_)) = self.details {
1020        } else {
1021            self.details = ::std::option::Option::Some(Inventory_Item_oneof_details::available_package(Inventory_SoftwarePackage::new()));
1022        }
1023        match self.details {
1024            ::std::option::Option::Some(Inventory_Item_oneof_details::available_package(ref mut v)) => v,
1025            _ => panic!(),
1026        }
1027    }
1028
1029    // Take field
1030    pub fn take_available_package(&mut self) -> Inventory_SoftwarePackage {
1031        if self.has_available_package() {
1032            match self.details.take() {
1033                ::std::option::Option::Some(Inventory_Item_oneof_details::available_package(v)) => v,
1034                _ => panic!(),
1035            }
1036        } else {
1037            Inventory_SoftwarePackage::new()
1038        }
1039    }
1040}
1041
1042impl ::protobuf::Message for Inventory_Item {
1043    fn is_initialized(&self) -> bool {
1044        for v in &self.create_time {
1045            if !v.is_initialized() {
1046                return false;
1047            }
1048        };
1049        for v in &self.update_time {
1050            if !v.is_initialized() {
1051                return false;
1052            }
1053        };
1054        if let Some(Inventory_Item_oneof_details::installed_package(ref v)) = self.details {
1055            if !v.is_initialized() {
1056                return false;
1057            }
1058        }
1059        if let Some(Inventory_Item_oneof_details::available_package(ref v)) = self.details {
1060            if !v.is_initialized() {
1061                return false;
1062            }
1063        }
1064        true
1065    }
1066
1067    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1068        while !is.eof()? {
1069            let (field_number, wire_type) = is.read_tag_unpack()?;
1070            match field_number {
1071                1 => {
1072                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.id)?;
1073                },
1074                2 => {
1075                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.origin_type, 2, &mut self.unknown_fields)?
1076                },
1077                8 => {
1078                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.create_time)?;
1079                },
1080                9 => {
1081                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.update_time)?;
1082                },
1083                5 => {
1084                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.field_type, 5, &mut self.unknown_fields)?
1085                },
1086                6 => {
1087                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1088                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1089                    }
1090                    self.details = ::std::option::Option::Some(Inventory_Item_oneof_details::installed_package(is.read_message()?));
1091                },
1092                7 => {
1093                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1094                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1095                    }
1096                    self.details = ::std::option::Option::Some(Inventory_Item_oneof_details::available_package(is.read_message()?));
1097                },
1098                _ => {
1099                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1100                },
1101            };
1102        }
1103        ::std::result::Result::Ok(())
1104    }
1105
1106    // Compute sizes of nested messages
1107    #[allow(unused_variables)]
1108    fn compute_size(&self) -> u32 {
1109        let mut my_size = 0;
1110        if !self.id.is_empty() {
1111            my_size += ::protobuf::rt::string_size(1, &self.id);
1112        }
1113        if self.origin_type != Inventory_Item_OriginType::ORIGIN_TYPE_UNSPECIFIED {
1114            my_size += ::protobuf::rt::enum_size(2, self.origin_type);
1115        }
1116        if let Some(ref v) = self.create_time.as_ref() {
1117            let len = v.compute_size();
1118            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1119        }
1120        if let Some(ref v) = self.update_time.as_ref() {
1121            let len = v.compute_size();
1122            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1123        }
1124        if self.field_type != Inventory_Item_Type::TYPE_UNSPECIFIED {
1125            my_size += ::protobuf::rt::enum_size(5, self.field_type);
1126        }
1127        if let ::std::option::Option::Some(ref v) = self.details {
1128            match v {
1129                &Inventory_Item_oneof_details::installed_package(ref v) => {
1130                    let len = v.compute_size();
1131                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1132                },
1133                &Inventory_Item_oneof_details::available_package(ref v) => {
1134                    let len = v.compute_size();
1135                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1136                },
1137            };
1138        }
1139        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1140        self.cached_size.set(my_size);
1141        my_size
1142    }
1143
1144    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1145        if !self.id.is_empty() {
1146            os.write_string(1, &self.id)?;
1147        }
1148        if self.origin_type != Inventory_Item_OriginType::ORIGIN_TYPE_UNSPECIFIED {
1149            os.write_enum(2, ::protobuf::ProtobufEnum::value(&self.origin_type))?;
1150        }
1151        if let Some(ref v) = self.create_time.as_ref() {
1152            os.write_tag(8, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1153            os.write_raw_varint32(v.get_cached_size())?;
1154            v.write_to_with_cached_sizes(os)?;
1155        }
1156        if let Some(ref v) = self.update_time.as_ref() {
1157            os.write_tag(9, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1158            os.write_raw_varint32(v.get_cached_size())?;
1159            v.write_to_with_cached_sizes(os)?;
1160        }
1161        if self.field_type != Inventory_Item_Type::TYPE_UNSPECIFIED {
1162            os.write_enum(5, ::protobuf::ProtobufEnum::value(&self.field_type))?;
1163        }
1164        if let ::std::option::Option::Some(ref v) = self.details {
1165            match v {
1166                &Inventory_Item_oneof_details::installed_package(ref v) => {
1167                    os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1168                    os.write_raw_varint32(v.get_cached_size())?;
1169                    v.write_to_with_cached_sizes(os)?;
1170                },
1171                &Inventory_Item_oneof_details::available_package(ref v) => {
1172                    os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1173                    os.write_raw_varint32(v.get_cached_size())?;
1174                    v.write_to_with_cached_sizes(os)?;
1175                },
1176            };
1177        }
1178        os.write_unknown_fields(self.get_unknown_fields())?;
1179        ::std::result::Result::Ok(())
1180    }
1181
1182    fn get_cached_size(&self) -> u32 {
1183        self.cached_size.get()
1184    }
1185
1186    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1187        &self.unknown_fields
1188    }
1189
1190    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1191        &mut self.unknown_fields
1192    }
1193
1194    fn as_any(&self) -> &dyn (::std::any::Any) {
1195        self as &dyn (::std::any::Any)
1196    }
1197    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1198        self as &mut dyn (::std::any::Any)
1199    }
1200    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1201        self
1202    }
1203
1204    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1205        Self::descriptor_static()
1206    }
1207
1208    fn new() -> Inventory_Item {
1209        Inventory_Item::new()
1210    }
1211
1212    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1213        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1214        descriptor.get(|| {
1215            let mut fields = ::std::vec::Vec::new();
1216            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1217                "id",
1218                |m: &Inventory_Item| { &m.id },
1219                |m: &mut Inventory_Item| { &mut m.id },
1220            ));
1221            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Inventory_Item_OriginType>>(
1222                "origin_type",
1223                |m: &Inventory_Item| { &m.origin_type },
1224                |m: &mut Inventory_Item| { &mut m.origin_type },
1225            ));
1226            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
1227                "create_time",
1228                |m: &Inventory_Item| { &m.create_time },
1229                |m: &mut Inventory_Item| { &mut m.create_time },
1230            ));
1231            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
1232                "update_time",
1233                |m: &Inventory_Item| { &m.update_time },
1234                |m: &mut Inventory_Item| { &mut m.update_time },
1235            ));
1236            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Inventory_Item_Type>>(
1237                "type",
1238                |m: &Inventory_Item| { &m.field_type },
1239                |m: &mut Inventory_Item| { &mut m.field_type },
1240            ));
1241            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Inventory_SoftwarePackage>(
1242                "installed_package",
1243                Inventory_Item::has_installed_package,
1244                Inventory_Item::get_installed_package,
1245            ));
1246            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Inventory_SoftwarePackage>(
1247                "available_package",
1248                Inventory_Item::has_available_package,
1249                Inventory_Item::get_available_package,
1250            ));
1251            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Inventory_Item>(
1252                "Inventory.Item",
1253                fields,
1254                file_descriptor_proto()
1255            )
1256        })
1257    }
1258
1259    fn default_instance() -> &'static Inventory_Item {
1260        static instance: ::protobuf::rt::LazyV2<Inventory_Item> = ::protobuf::rt::LazyV2::INIT;
1261        instance.get(Inventory_Item::new)
1262    }
1263}
1264
1265impl ::protobuf::Clear for Inventory_Item {
1266    fn clear(&mut self) {
1267        self.id.clear();
1268        self.origin_type = Inventory_Item_OriginType::ORIGIN_TYPE_UNSPECIFIED;
1269        self.create_time.clear();
1270        self.update_time.clear();
1271        self.field_type = Inventory_Item_Type::TYPE_UNSPECIFIED;
1272        self.details = ::std::option::Option::None;
1273        self.details = ::std::option::Option::None;
1274        self.unknown_fields.clear();
1275    }
1276}
1277
1278impl ::std::fmt::Debug for Inventory_Item {
1279    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1280        ::protobuf::text_format::fmt(self, f)
1281    }
1282}
1283
1284impl ::protobuf::reflect::ProtobufValue for Inventory_Item {
1285    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1286        ::protobuf::reflect::ReflectValueRef::Message(self)
1287    }
1288}
1289
1290#[derive(Clone,PartialEq,Eq,Debug,Hash)]
1291pub enum Inventory_Item_OriginType {
1292    ORIGIN_TYPE_UNSPECIFIED = 0,
1293    INVENTORY_REPORT = 1,
1294}
1295
1296impl ::protobuf::ProtobufEnum for Inventory_Item_OriginType {
1297    fn value(&self) -> i32 {
1298        *self as i32
1299    }
1300
1301    fn from_i32(value: i32) -> ::std::option::Option<Inventory_Item_OriginType> {
1302        match value {
1303            0 => ::std::option::Option::Some(Inventory_Item_OriginType::ORIGIN_TYPE_UNSPECIFIED),
1304            1 => ::std::option::Option::Some(Inventory_Item_OriginType::INVENTORY_REPORT),
1305            _ => ::std::option::Option::None
1306        }
1307    }
1308
1309    fn values() -> &'static [Self] {
1310        static values: &'static [Inventory_Item_OriginType] = &[
1311            Inventory_Item_OriginType::ORIGIN_TYPE_UNSPECIFIED,
1312            Inventory_Item_OriginType::INVENTORY_REPORT,
1313        ];
1314        values
1315    }
1316
1317    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
1318        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
1319        descriptor.get(|| {
1320            ::protobuf::reflect::EnumDescriptor::new_pb_name::<Inventory_Item_OriginType>("Inventory.Item.OriginType", file_descriptor_proto())
1321        })
1322    }
1323}
1324
1325impl ::std::marker::Copy for Inventory_Item_OriginType {
1326}
1327
1328impl ::std::default::Default for Inventory_Item_OriginType {
1329    fn default() -> Self {
1330        Inventory_Item_OriginType::ORIGIN_TYPE_UNSPECIFIED
1331    }
1332}
1333
1334impl ::protobuf::reflect::ProtobufValue for Inventory_Item_OriginType {
1335    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1336        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
1337    }
1338}
1339
1340#[derive(Clone,PartialEq,Eq,Debug,Hash)]
1341pub enum Inventory_Item_Type {
1342    TYPE_UNSPECIFIED = 0,
1343    INSTALLED_PACKAGE = 1,
1344    AVAILABLE_PACKAGE = 2,
1345}
1346
1347impl ::protobuf::ProtobufEnum for Inventory_Item_Type {
1348    fn value(&self) -> i32 {
1349        *self as i32
1350    }
1351
1352    fn from_i32(value: i32) -> ::std::option::Option<Inventory_Item_Type> {
1353        match value {
1354            0 => ::std::option::Option::Some(Inventory_Item_Type::TYPE_UNSPECIFIED),
1355            1 => ::std::option::Option::Some(Inventory_Item_Type::INSTALLED_PACKAGE),
1356            2 => ::std::option::Option::Some(Inventory_Item_Type::AVAILABLE_PACKAGE),
1357            _ => ::std::option::Option::None
1358        }
1359    }
1360
1361    fn values() -> &'static [Self] {
1362        static values: &'static [Inventory_Item_Type] = &[
1363            Inventory_Item_Type::TYPE_UNSPECIFIED,
1364            Inventory_Item_Type::INSTALLED_PACKAGE,
1365            Inventory_Item_Type::AVAILABLE_PACKAGE,
1366        ];
1367        values
1368    }
1369
1370    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
1371        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
1372        descriptor.get(|| {
1373            ::protobuf::reflect::EnumDescriptor::new_pb_name::<Inventory_Item_Type>("Inventory.Item.Type", file_descriptor_proto())
1374        })
1375    }
1376}
1377
1378impl ::std::marker::Copy for Inventory_Item_Type {
1379}
1380
1381impl ::std::default::Default for Inventory_Item_Type {
1382    fn default() -> Self {
1383        Inventory_Item_Type::TYPE_UNSPECIFIED
1384    }
1385}
1386
1387impl ::protobuf::reflect::ProtobufValue for Inventory_Item_Type {
1388    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1389        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
1390    }
1391}
1392
1393#[derive(PartialEq,Clone,Default)]
1394pub struct Inventory_SoftwarePackage {
1395    // message oneof groups
1396    pub details: ::std::option::Option<Inventory_SoftwarePackage_oneof_details>,
1397    // special fields
1398    pub unknown_fields: ::protobuf::UnknownFields,
1399    pub cached_size: ::protobuf::CachedSize,
1400}
1401
1402impl<'a> ::std::default::Default for &'a Inventory_SoftwarePackage {
1403    fn default() -> &'a Inventory_SoftwarePackage {
1404        <Inventory_SoftwarePackage as ::protobuf::Message>::default_instance()
1405    }
1406}
1407
1408#[derive(Clone,PartialEq,Debug)]
1409pub enum Inventory_SoftwarePackage_oneof_details {
1410    yum_package(Inventory_VersionedPackage),
1411    apt_package(Inventory_VersionedPackage),
1412    zypper_package(Inventory_VersionedPackage),
1413    googet_package(Inventory_VersionedPackage),
1414    zypper_patch(Inventory_ZypperPatch),
1415    wua_package(Inventory_WindowsUpdatePackage),
1416    qfe_package(Inventory_WindowsQuickFixEngineeringPackage),
1417    cos_package(Inventory_VersionedPackage),
1418    windows_application(Inventory_WindowsApplication),
1419}
1420
1421impl Inventory_SoftwarePackage {
1422    pub fn new() -> Inventory_SoftwarePackage {
1423        ::std::default::Default::default()
1424    }
1425
1426    // .google.cloud.osconfig.v1.Inventory.VersionedPackage yum_package = 1;
1427
1428
1429    pub fn get_yum_package(&self) -> &Inventory_VersionedPackage {
1430        match self.details {
1431            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::yum_package(ref v)) => v,
1432            _ => <Inventory_VersionedPackage as ::protobuf::Message>::default_instance(),
1433        }
1434    }
1435    pub fn clear_yum_package(&mut self) {
1436        self.details = ::std::option::Option::None;
1437    }
1438
1439    pub fn has_yum_package(&self) -> bool {
1440        match self.details {
1441            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::yum_package(..)) => true,
1442            _ => false,
1443        }
1444    }
1445
1446    // Param is passed by value, moved
1447    pub fn set_yum_package(&mut self, v: Inventory_VersionedPackage) {
1448        self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::yum_package(v))
1449    }
1450
1451    // Mutable pointer to the field.
1452    pub fn mut_yum_package(&mut self) -> &mut Inventory_VersionedPackage {
1453        if let ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::yum_package(_)) = self.details {
1454        } else {
1455            self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::yum_package(Inventory_VersionedPackage::new()));
1456        }
1457        match self.details {
1458            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::yum_package(ref mut v)) => v,
1459            _ => panic!(),
1460        }
1461    }
1462
1463    // Take field
1464    pub fn take_yum_package(&mut self) -> Inventory_VersionedPackage {
1465        if self.has_yum_package() {
1466            match self.details.take() {
1467                ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::yum_package(v)) => v,
1468                _ => panic!(),
1469            }
1470        } else {
1471            Inventory_VersionedPackage::new()
1472        }
1473    }
1474
1475    // .google.cloud.osconfig.v1.Inventory.VersionedPackage apt_package = 2;
1476
1477
1478    pub fn get_apt_package(&self) -> &Inventory_VersionedPackage {
1479        match self.details {
1480            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::apt_package(ref v)) => v,
1481            _ => <Inventory_VersionedPackage as ::protobuf::Message>::default_instance(),
1482        }
1483    }
1484    pub fn clear_apt_package(&mut self) {
1485        self.details = ::std::option::Option::None;
1486    }
1487
1488    pub fn has_apt_package(&self) -> bool {
1489        match self.details {
1490            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::apt_package(..)) => true,
1491            _ => false,
1492        }
1493    }
1494
1495    // Param is passed by value, moved
1496    pub fn set_apt_package(&mut self, v: Inventory_VersionedPackage) {
1497        self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::apt_package(v))
1498    }
1499
1500    // Mutable pointer to the field.
1501    pub fn mut_apt_package(&mut self) -> &mut Inventory_VersionedPackage {
1502        if let ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::apt_package(_)) = self.details {
1503        } else {
1504            self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::apt_package(Inventory_VersionedPackage::new()));
1505        }
1506        match self.details {
1507            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::apt_package(ref mut v)) => v,
1508            _ => panic!(),
1509        }
1510    }
1511
1512    // Take field
1513    pub fn take_apt_package(&mut self) -> Inventory_VersionedPackage {
1514        if self.has_apt_package() {
1515            match self.details.take() {
1516                ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::apt_package(v)) => v,
1517                _ => panic!(),
1518            }
1519        } else {
1520            Inventory_VersionedPackage::new()
1521        }
1522    }
1523
1524    // .google.cloud.osconfig.v1.Inventory.VersionedPackage zypper_package = 3;
1525
1526
1527    pub fn get_zypper_package(&self) -> &Inventory_VersionedPackage {
1528        match self.details {
1529            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_package(ref v)) => v,
1530            _ => <Inventory_VersionedPackage as ::protobuf::Message>::default_instance(),
1531        }
1532    }
1533    pub fn clear_zypper_package(&mut self) {
1534        self.details = ::std::option::Option::None;
1535    }
1536
1537    pub fn has_zypper_package(&self) -> bool {
1538        match self.details {
1539            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_package(..)) => true,
1540            _ => false,
1541        }
1542    }
1543
1544    // Param is passed by value, moved
1545    pub fn set_zypper_package(&mut self, v: Inventory_VersionedPackage) {
1546        self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_package(v))
1547    }
1548
1549    // Mutable pointer to the field.
1550    pub fn mut_zypper_package(&mut self) -> &mut Inventory_VersionedPackage {
1551        if let ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_package(_)) = self.details {
1552        } else {
1553            self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_package(Inventory_VersionedPackage::new()));
1554        }
1555        match self.details {
1556            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_package(ref mut v)) => v,
1557            _ => panic!(),
1558        }
1559    }
1560
1561    // Take field
1562    pub fn take_zypper_package(&mut self) -> Inventory_VersionedPackage {
1563        if self.has_zypper_package() {
1564            match self.details.take() {
1565                ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_package(v)) => v,
1566                _ => panic!(),
1567            }
1568        } else {
1569            Inventory_VersionedPackage::new()
1570        }
1571    }
1572
1573    // .google.cloud.osconfig.v1.Inventory.VersionedPackage googet_package = 4;
1574
1575
1576    pub fn get_googet_package(&self) -> &Inventory_VersionedPackage {
1577        match self.details {
1578            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::googet_package(ref v)) => v,
1579            _ => <Inventory_VersionedPackage as ::protobuf::Message>::default_instance(),
1580        }
1581    }
1582    pub fn clear_googet_package(&mut self) {
1583        self.details = ::std::option::Option::None;
1584    }
1585
1586    pub fn has_googet_package(&self) -> bool {
1587        match self.details {
1588            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::googet_package(..)) => true,
1589            _ => false,
1590        }
1591    }
1592
1593    // Param is passed by value, moved
1594    pub fn set_googet_package(&mut self, v: Inventory_VersionedPackage) {
1595        self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::googet_package(v))
1596    }
1597
1598    // Mutable pointer to the field.
1599    pub fn mut_googet_package(&mut self) -> &mut Inventory_VersionedPackage {
1600        if let ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::googet_package(_)) = self.details {
1601        } else {
1602            self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::googet_package(Inventory_VersionedPackage::new()));
1603        }
1604        match self.details {
1605            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::googet_package(ref mut v)) => v,
1606            _ => panic!(),
1607        }
1608    }
1609
1610    // Take field
1611    pub fn take_googet_package(&mut self) -> Inventory_VersionedPackage {
1612        if self.has_googet_package() {
1613            match self.details.take() {
1614                ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::googet_package(v)) => v,
1615                _ => panic!(),
1616            }
1617        } else {
1618            Inventory_VersionedPackage::new()
1619        }
1620    }
1621
1622    // .google.cloud.osconfig.v1.Inventory.ZypperPatch zypper_patch = 5;
1623
1624
1625    pub fn get_zypper_patch(&self) -> &Inventory_ZypperPatch {
1626        match self.details {
1627            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_patch(ref v)) => v,
1628            _ => <Inventory_ZypperPatch as ::protobuf::Message>::default_instance(),
1629        }
1630    }
1631    pub fn clear_zypper_patch(&mut self) {
1632        self.details = ::std::option::Option::None;
1633    }
1634
1635    pub fn has_zypper_patch(&self) -> bool {
1636        match self.details {
1637            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_patch(..)) => true,
1638            _ => false,
1639        }
1640    }
1641
1642    // Param is passed by value, moved
1643    pub fn set_zypper_patch(&mut self, v: Inventory_ZypperPatch) {
1644        self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_patch(v))
1645    }
1646
1647    // Mutable pointer to the field.
1648    pub fn mut_zypper_patch(&mut self) -> &mut Inventory_ZypperPatch {
1649        if let ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_patch(_)) = self.details {
1650        } else {
1651            self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_patch(Inventory_ZypperPatch::new()));
1652        }
1653        match self.details {
1654            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_patch(ref mut v)) => v,
1655            _ => panic!(),
1656        }
1657    }
1658
1659    // Take field
1660    pub fn take_zypper_patch(&mut self) -> Inventory_ZypperPatch {
1661        if self.has_zypper_patch() {
1662            match self.details.take() {
1663                ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_patch(v)) => v,
1664                _ => panic!(),
1665            }
1666        } else {
1667            Inventory_ZypperPatch::new()
1668        }
1669    }
1670
1671    // .google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage wua_package = 6;
1672
1673
1674    pub fn get_wua_package(&self) -> &Inventory_WindowsUpdatePackage {
1675        match self.details {
1676            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::wua_package(ref v)) => v,
1677            _ => <Inventory_WindowsUpdatePackage as ::protobuf::Message>::default_instance(),
1678        }
1679    }
1680    pub fn clear_wua_package(&mut self) {
1681        self.details = ::std::option::Option::None;
1682    }
1683
1684    pub fn has_wua_package(&self) -> bool {
1685        match self.details {
1686            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::wua_package(..)) => true,
1687            _ => false,
1688        }
1689    }
1690
1691    // Param is passed by value, moved
1692    pub fn set_wua_package(&mut self, v: Inventory_WindowsUpdatePackage) {
1693        self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::wua_package(v))
1694    }
1695
1696    // Mutable pointer to the field.
1697    pub fn mut_wua_package(&mut self) -> &mut Inventory_WindowsUpdatePackage {
1698        if let ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::wua_package(_)) = self.details {
1699        } else {
1700            self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::wua_package(Inventory_WindowsUpdatePackage::new()));
1701        }
1702        match self.details {
1703            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::wua_package(ref mut v)) => v,
1704            _ => panic!(),
1705        }
1706    }
1707
1708    // Take field
1709    pub fn take_wua_package(&mut self) -> Inventory_WindowsUpdatePackage {
1710        if self.has_wua_package() {
1711            match self.details.take() {
1712                ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::wua_package(v)) => v,
1713                _ => panic!(),
1714            }
1715        } else {
1716            Inventory_WindowsUpdatePackage::new()
1717        }
1718    }
1719
1720    // .google.cloud.osconfig.v1.Inventory.WindowsQuickFixEngineeringPackage qfe_package = 7;
1721
1722
1723    pub fn get_qfe_package(&self) -> &Inventory_WindowsQuickFixEngineeringPackage {
1724        match self.details {
1725            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::qfe_package(ref v)) => v,
1726            _ => <Inventory_WindowsQuickFixEngineeringPackage as ::protobuf::Message>::default_instance(),
1727        }
1728    }
1729    pub fn clear_qfe_package(&mut self) {
1730        self.details = ::std::option::Option::None;
1731    }
1732
1733    pub fn has_qfe_package(&self) -> bool {
1734        match self.details {
1735            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::qfe_package(..)) => true,
1736            _ => false,
1737        }
1738    }
1739
1740    // Param is passed by value, moved
1741    pub fn set_qfe_package(&mut self, v: Inventory_WindowsQuickFixEngineeringPackage) {
1742        self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::qfe_package(v))
1743    }
1744
1745    // Mutable pointer to the field.
1746    pub fn mut_qfe_package(&mut self) -> &mut Inventory_WindowsQuickFixEngineeringPackage {
1747        if let ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::qfe_package(_)) = self.details {
1748        } else {
1749            self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::qfe_package(Inventory_WindowsQuickFixEngineeringPackage::new()));
1750        }
1751        match self.details {
1752            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::qfe_package(ref mut v)) => v,
1753            _ => panic!(),
1754        }
1755    }
1756
1757    // Take field
1758    pub fn take_qfe_package(&mut self) -> Inventory_WindowsQuickFixEngineeringPackage {
1759        if self.has_qfe_package() {
1760            match self.details.take() {
1761                ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::qfe_package(v)) => v,
1762                _ => panic!(),
1763            }
1764        } else {
1765            Inventory_WindowsQuickFixEngineeringPackage::new()
1766        }
1767    }
1768
1769    // .google.cloud.osconfig.v1.Inventory.VersionedPackage cos_package = 8;
1770
1771
1772    pub fn get_cos_package(&self) -> &Inventory_VersionedPackage {
1773        match self.details {
1774            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::cos_package(ref v)) => v,
1775            _ => <Inventory_VersionedPackage as ::protobuf::Message>::default_instance(),
1776        }
1777    }
1778    pub fn clear_cos_package(&mut self) {
1779        self.details = ::std::option::Option::None;
1780    }
1781
1782    pub fn has_cos_package(&self) -> bool {
1783        match self.details {
1784            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::cos_package(..)) => true,
1785            _ => false,
1786        }
1787    }
1788
1789    // Param is passed by value, moved
1790    pub fn set_cos_package(&mut self, v: Inventory_VersionedPackage) {
1791        self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::cos_package(v))
1792    }
1793
1794    // Mutable pointer to the field.
1795    pub fn mut_cos_package(&mut self) -> &mut Inventory_VersionedPackage {
1796        if let ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::cos_package(_)) = self.details {
1797        } else {
1798            self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::cos_package(Inventory_VersionedPackage::new()));
1799        }
1800        match self.details {
1801            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::cos_package(ref mut v)) => v,
1802            _ => panic!(),
1803        }
1804    }
1805
1806    // Take field
1807    pub fn take_cos_package(&mut self) -> Inventory_VersionedPackage {
1808        if self.has_cos_package() {
1809            match self.details.take() {
1810                ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::cos_package(v)) => v,
1811                _ => panic!(),
1812            }
1813        } else {
1814            Inventory_VersionedPackage::new()
1815        }
1816    }
1817
1818    // .google.cloud.osconfig.v1.Inventory.WindowsApplication windows_application = 9;
1819
1820
1821    pub fn get_windows_application(&self) -> &Inventory_WindowsApplication {
1822        match self.details {
1823            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::windows_application(ref v)) => v,
1824            _ => <Inventory_WindowsApplication as ::protobuf::Message>::default_instance(),
1825        }
1826    }
1827    pub fn clear_windows_application(&mut self) {
1828        self.details = ::std::option::Option::None;
1829    }
1830
1831    pub fn has_windows_application(&self) -> bool {
1832        match self.details {
1833            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::windows_application(..)) => true,
1834            _ => false,
1835        }
1836    }
1837
1838    // Param is passed by value, moved
1839    pub fn set_windows_application(&mut self, v: Inventory_WindowsApplication) {
1840        self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::windows_application(v))
1841    }
1842
1843    // Mutable pointer to the field.
1844    pub fn mut_windows_application(&mut self) -> &mut Inventory_WindowsApplication {
1845        if let ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::windows_application(_)) = self.details {
1846        } else {
1847            self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::windows_application(Inventory_WindowsApplication::new()));
1848        }
1849        match self.details {
1850            ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::windows_application(ref mut v)) => v,
1851            _ => panic!(),
1852        }
1853    }
1854
1855    // Take field
1856    pub fn take_windows_application(&mut self) -> Inventory_WindowsApplication {
1857        if self.has_windows_application() {
1858            match self.details.take() {
1859                ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::windows_application(v)) => v,
1860                _ => panic!(),
1861            }
1862        } else {
1863            Inventory_WindowsApplication::new()
1864        }
1865    }
1866}
1867
1868impl ::protobuf::Message for Inventory_SoftwarePackage {
1869    fn is_initialized(&self) -> bool {
1870        if let Some(Inventory_SoftwarePackage_oneof_details::yum_package(ref v)) = self.details {
1871            if !v.is_initialized() {
1872                return false;
1873            }
1874        }
1875        if let Some(Inventory_SoftwarePackage_oneof_details::apt_package(ref v)) = self.details {
1876            if !v.is_initialized() {
1877                return false;
1878            }
1879        }
1880        if let Some(Inventory_SoftwarePackage_oneof_details::zypper_package(ref v)) = self.details {
1881            if !v.is_initialized() {
1882                return false;
1883            }
1884        }
1885        if let Some(Inventory_SoftwarePackage_oneof_details::googet_package(ref v)) = self.details {
1886            if !v.is_initialized() {
1887                return false;
1888            }
1889        }
1890        if let Some(Inventory_SoftwarePackage_oneof_details::zypper_patch(ref v)) = self.details {
1891            if !v.is_initialized() {
1892                return false;
1893            }
1894        }
1895        if let Some(Inventory_SoftwarePackage_oneof_details::wua_package(ref v)) = self.details {
1896            if !v.is_initialized() {
1897                return false;
1898            }
1899        }
1900        if let Some(Inventory_SoftwarePackage_oneof_details::qfe_package(ref v)) = self.details {
1901            if !v.is_initialized() {
1902                return false;
1903            }
1904        }
1905        if let Some(Inventory_SoftwarePackage_oneof_details::cos_package(ref v)) = self.details {
1906            if !v.is_initialized() {
1907                return false;
1908            }
1909        }
1910        if let Some(Inventory_SoftwarePackage_oneof_details::windows_application(ref v)) = self.details {
1911            if !v.is_initialized() {
1912                return false;
1913            }
1914        }
1915        true
1916    }
1917
1918    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1919        while !is.eof()? {
1920            let (field_number, wire_type) = is.read_tag_unpack()?;
1921            match field_number {
1922                1 => {
1923                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1924                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1925                    }
1926                    self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::yum_package(is.read_message()?));
1927                },
1928                2 => {
1929                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1930                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1931                    }
1932                    self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::apt_package(is.read_message()?));
1933                },
1934                3 => {
1935                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1936                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1937                    }
1938                    self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_package(is.read_message()?));
1939                },
1940                4 => {
1941                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1942                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1943                    }
1944                    self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::googet_package(is.read_message()?));
1945                },
1946                5 => {
1947                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1948                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1949                    }
1950                    self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::zypper_patch(is.read_message()?));
1951                },
1952                6 => {
1953                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1954                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1955                    }
1956                    self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::wua_package(is.read_message()?));
1957                },
1958                7 => {
1959                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1960                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1961                    }
1962                    self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::qfe_package(is.read_message()?));
1963                },
1964                8 => {
1965                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1966                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1967                    }
1968                    self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::cos_package(is.read_message()?));
1969                },
1970                9 => {
1971                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1972                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1973                    }
1974                    self.details = ::std::option::Option::Some(Inventory_SoftwarePackage_oneof_details::windows_application(is.read_message()?));
1975                },
1976                _ => {
1977                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1978                },
1979            };
1980        }
1981        ::std::result::Result::Ok(())
1982    }
1983
1984    // Compute sizes of nested messages
1985    #[allow(unused_variables)]
1986    fn compute_size(&self) -> u32 {
1987        let mut my_size = 0;
1988        if let ::std::option::Option::Some(ref v) = self.details {
1989            match v {
1990                &Inventory_SoftwarePackage_oneof_details::yum_package(ref v) => {
1991                    let len = v.compute_size();
1992                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1993                },
1994                &Inventory_SoftwarePackage_oneof_details::apt_package(ref v) => {
1995                    let len = v.compute_size();
1996                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1997                },
1998                &Inventory_SoftwarePackage_oneof_details::zypper_package(ref v) => {
1999                    let len = v.compute_size();
2000                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2001                },
2002                &Inventory_SoftwarePackage_oneof_details::googet_package(ref v) => {
2003                    let len = v.compute_size();
2004                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2005                },
2006                &Inventory_SoftwarePackage_oneof_details::zypper_patch(ref v) => {
2007                    let len = v.compute_size();
2008                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2009                },
2010                &Inventory_SoftwarePackage_oneof_details::wua_package(ref v) => {
2011                    let len = v.compute_size();
2012                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2013                },
2014                &Inventory_SoftwarePackage_oneof_details::qfe_package(ref v) => {
2015                    let len = v.compute_size();
2016                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2017                },
2018                &Inventory_SoftwarePackage_oneof_details::cos_package(ref v) => {
2019                    let len = v.compute_size();
2020                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2021                },
2022                &Inventory_SoftwarePackage_oneof_details::windows_application(ref v) => {
2023                    let len = v.compute_size();
2024                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2025                },
2026            };
2027        }
2028        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2029        self.cached_size.set(my_size);
2030        my_size
2031    }
2032
2033    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2034        if let ::std::option::Option::Some(ref v) = self.details {
2035            match v {
2036                &Inventory_SoftwarePackage_oneof_details::yum_package(ref v) => {
2037                    os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2038                    os.write_raw_varint32(v.get_cached_size())?;
2039                    v.write_to_with_cached_sizes(os)?;
2040                },
2041                &Inventory_SoftwarePackage_oneof_details::apt_package(ref v) => {
2042                    os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2043                    os.write_raw_varint32(v.get_cached_size())?;
2044                    v.write_to_with_cached_sizes(os)?;
2045                },
2046                &Inventory_SoftwarePackage_oneof_details::zypper_package(ref v) => {
2047                    os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2048                    os.write_raw_varint32(v.get_cached_size())?;
2049                    v.write_to_with_cached_sizes(os)?;
2050                },
2051                &Inventory_SoftwarePackage_oneof_details::googet_package(ref v) => {
2052                    os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2053                    os.write_raw_varint32(v.get_cached_size())?;
2054                    v.write_to_with_cached_sizes(os)?;
2055                },
2056                &Inventory_SoftwarePackage_oneof_details::zypper_patch(ref v) => {
2057                    os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2058                    os.write_raw_varint32(v.get_cached_size())?;
2059                    v.write_to_with_cached_sizes(os)?;
2060                },
2061                &Inventory_SoftwarePackage_oneof_details::wua_package(ref v) => {
2062                    os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2063                    os.write_raw_varint32(v.get_cached_size())?;
2064                    v.write_to_with_cached_sizes(os)?;
2065                },
2066                &Inventory_SoftwarePackage_oneof_details::qfe_package(ref v) => {
2067                    os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2068                    os.write_raw_varint32(v.get_cached_size())?;
2069                    v.write_to_with_cached_sizes(os)?;
2070                },
2071                &Inventory_SoftwarePackage_oneof_details::cos_package(ref v) => {
2072                    os.write_tag(8, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2073                    os.write_raw_varint32(v.get_cached_size())?;
2074                    v.write_to_with_cached_sizes(os)?;
2075                },
2076                &Inventory_SoftwarePackage_oneof_details::windows_application(ref v) => {
2077                    os.write_tag(9, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2078                    os.write_raw_varint32(v.get_cached_size())?;
2079                    v.write_to_with_cached_sizes(os)?;
2080                },
2081            };
2082        }
2083        os.write_unknown_fields(self.get_unknown_fields())?;
2084        ::std::result::Result::Ok(())
2085    }
2086
2087    fn get_cached_size(&self) -> u32 {
2088        self.cached_size.get()
2089    }
2090
2091    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2092        &self.unknown_fields
2093    }
2094
2095    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2096        &mut self.unknown_fields
2097    }
2098
2099    fn as_any(&self) -> &dyn (::std::any::Any) {
2100        self as &dyn (::std::any::Any)
2101    }
2102    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2103        self as &mut dyn (::std::any::Any)
2104    }
2105    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2106        self
2107    }
2108
2109    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2110        Self::descriptor_static()
2111    }
2112
2113    fn new() -> Inventory_SoftwarePackage {
2114        Inventory_SoftwarePackage::new()
2115    }
2116
2117    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2118        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2119        descriptor.get(|| {
2120            let mut fields = ::std::vec::Vec::new();
2121            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Inventory_VersionedPackage>(
2122                "yum_package",
2123                Inventory_SoftwarePackage::has_yum_package,
2124                Inventory_SoftwarePackage::get_yum_package,
2125            ));
2126            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Inventory_VersionedPackage>(
2127                "apt_package",
2128                Inventory_SoftwarePackage::has_apt_package,
2129                Inventory_SoftwarePackage::get_apt_package,
2130            ));
2131            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Inventory_VersionedPackage>(
2132                "zypper_package",
2133                Inventory_SoftwarePackage::has_zypper_package,
2134                Inventory_SoftwarePackage::get_zypper_package,
2135            ));
2136            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Inventory_VersionedPackage>(
2137                "googet_package",
2138                Inventory_SoftwarePackage::has_googet_package,
2139                Inventory_SoftwarePackage::get_googet_package,
2140            ));
2141            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Inventory_ZypperPatch>(
2142                "zypper_patch",
2143                Inventory_SoftwarePackage::has_zypper_patch,
2144                Inventory_SoftwarePackage::get_zypper_patch,
2145            ));
2146            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Inventory_WindowsUpdatePackage>(
2147                "wua_package",
2148                Inventory_SoftwarePackage::has_wua_package,
2149                Inventory_SoftwarePackage::get_wua_package,
2150            ));
2151            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Inventory_WindowsQuickFixEngineeringPackage>(
2152                "qfe_package",
2153                Inventory_SoftwarePackage::has_qfe_package,
2154                Inventory_SoftwarePackage::get_qfe_package,
2155            ));
2156            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Inventory_VersionedPackage>(
2157                "cos_package",
2158                Inventory_SoftwarePackage::has_cos_package,
2159                Inventory_SoftwarePackage::get_cos_package,
2160            ));
2161            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Inventory_WindowsApplication>(
2162                "windows_application",
2163                Inventory_SoftwarePackage::has_windows_application,
2164                Inventory_SoftwarePackage::get_windows_application,
2165            ));
2166            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Inventory_SoftwarePackage>(
2167                "Inventory.SoftwarePackage",
2168                fields,
2169                file_descriptor_proto()
2170            )
2171        })
2172    }
2173
2174    fn default_instance() -> &'static Inventory_SoftwarePackage {
2175        static instance: ::protobuf::rt::LazyV2<Inventory_SoftwarePackage> = ::protobuf::rt::LazyV2::INIT;
2176        instance.get(Inventory_SoftwarePackage::new)
2177    }
2178}
2179
2180impl ::protobuf::Clear for Inventory_SoftwarePackage {
2181    fn clear(&mut self) {
2182        self.details = ::std::option::Option::None;
2183        self.details = ::std::option::Option::None;
2184        self.details = ::std::option::Option::None;
2185        self.details = ::std::option::Option::None;
2186        self.details = ::std::option::Option::None;
2187        self.details = ::std::option::Option::None;
2188        self.details = ::std::option::Option::None;
2189        self.details = ::std::option::Option::None;
2190        self.details = ::std::option::Option::None;
2191        self.unknown_fields.clear();
2192    }
2193}
2194
2195impl ::std::fmt::Debug for Inventory_SoftwarePackage {
2196    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2197        ::protobuf::text_format::fmt(self, f)
2198    }
2199}
2200
2201impl ::protobuf::reflect::ProtobufValue for Inventory_SoftwarePackage {
2202    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2203        ::protobuf::reflect::ReflectValueRef::Message(self)
2204    }
2205}
2206
2207#[derive(PartialEq,Clone,Default)]
2208pub struct Inventory_VersionedPackage {
2209    // message fields
2210    pub package_name: ::std::string::String,
2211    pub architecture: ::std::string::String,
2212    pub version: ::std::string::String,
2213    // special fields
2214    pub unknown_fields: ::protobuf::UnknownFields,
2215    pub cached_size: ::protobuf::CachedSize,
2216}
2217
2218impl<'a> ::std::default::Default for &'a Inventory_VersionedPackage {
2219    fn default() -> &'a Inventory_VersionedPackage {
2220        <Inventory_VersionedPackage as ::protobuf::Message>::default_instance()
2221    }
2222}
2223
2224impl Inventory_VersionedPackage {
2225    pub fn new() -> Inventory_VersionedPackage {
2226        ::std::default::Default::default()
2227    }
2228
2229    // string package_name = 4;
2230
2231
2232    pub fn get_package_name(&self) -> &str {
2233        &self.package_name
2234    }
2235    pub fn clear_package_name(&mut self) {
2236        self.package_name.clear();
2237    }
2238
2239    // Param is passed by value, moved
2240    pub fn set_package_name(&mut self, v: ::std::string::String) {
2241        self.package_name = v;
2242    }
2243
2244    // Mutable pointer to the field.
2245    // If field is not initialized, it is initialized with default value first.
2246    pub fn mut_package_name(&mut self) -> &mut ::std::string::String {
2247        &mut self.package_name
2248    }
2249
2250    // Take field
2251    pub fn take_package_name(&mut self) -> ::std::string::String {
2252        ::std::mem::replace(&mut self.package_name, ::std::string::String::new())
2253    }
2254
2255    // string architecture = 2;
2256
2257
2258    pub fn get_architecture(&self) -> &str {
2259        &self.architecture
2260    }
2261    pub fn clear_architecture(&mut self) {
2262        self.architecture.clear();
2263    }
2264
2265    // Param is passed by value, moved
2266    pub fn set_architecture(&mut self, v: ::std::string::String) {
2267        self.architecture = v;
2268    }
2269
2270    // Mutable pointer to the field.
2271    // If field is not initialized, it is initialized with default value first.
2272    pub fn mut_architecture(&mut self) -> &mut ::std::string::String {
2273        &mut self.architecture
2274    }
2275
2276    // Take field
2277    pub fn take_architecture(&mut self) -> ::std::string::String {
2278        ::std::mem::replace(&mut self.architecture, ::std::string::String::new())
2279    }
2280
2281    // string version = 3;
2282
2283
2284    pub fn get_version(&self) -> &str {
2285        &self.version
2286    }
2287    pub fn clear_version(&mut self) {
2288        self.version.clear();
2289    }
2290
2291    // Param is passed by value, moved
2292    pub fn set_version(&mut self, v: ::std::string::String) {
2293        self.version = v;
2294    }
2295
2296    // Mutable pointer to the field.
2297    // If field is not initialized, it is initialized with default value first.
2298    pub fn mut_version(&mut self) -> &mut ::std::string::String {
2299        &mut self.version
2300    }
2301
2302    // Take field
2303    pub fn take_version(&mut self) -> ::std::string::String {
2304        ::std::mem::replace(&mut self.version, ::std::string::String::new())
2305    }
2306}
2307
2308impl ::protobuf::Message for Inventory_VersionedPackage {
2309    fn is_initialized(&self) -> bool {
2310        true
2311    }
2312
2313    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2314        while !is.eof()? {
2315            let (field_number, wire_type) = is.read_tag_unpack()?;
2316            match field_number {
2317                4 => {
2318                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.package_name)?;
2319                },
2320                2 => {
2321                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.architecture)?;
2322                },
2323                3 => {
2324                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.version)?;
2325                },
2326                _ => {
2327                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2328                },
2329            };
2330        }
2331        ::std::result::Result::Ok(())
2332    }
2333
2334    // Compute sizes of nested messages
2335    #[allow(unused_variables)]
2336    fn compute_size(&self) -> u32 {
2337        let mut my_size = 0;
2338        if !self.package_name.is_empty() {
2339            my_size += ::protobuf::rt::string_size(4, &self.package_name);
2340        }
2341        if !self.architecture.is_empty() {
2342            my_size += ::protobuf::rt::string_size(2, &self.architecture);
2343        }
2344        if !self.version.is_empty() {
2345            my_size += ::protobuf::rt::string_size(3, &self.version);
2346        }
2347        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2348        self.cached_size.set(my_size);
2349        my_size
2350    }
2351
2352    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2353        if !self.package_name.is_empty() {
2354            os.write_string(4, &self.package_name)?;
2355        }
2356        if !self.architecture.is_empty() {
2357            os.write_string(2, &self.architecture)?;
2358        }
2359        if !self.version.is_empty() {
2360            os.write_string(3, &self.version)?;
2361        }
2362        os.write_unknown_fields(self.get_unknown_fields())?;
2363        ::std::result::Result::Ok(())
2364    }
2365
2366    fn get_cached_size(&self) -> u32 {
2367        self.cached_size.get()
2368    }
2369
2370    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2371        &self.unknown_fields
2372    }
2373
2374    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2375        &mut self.unknown_fields
2376    }
2377
2378    fn as_any(&self) -> &dyn (::std::any::Any) {
2379        self as &dyn (::std::any::Any)
2380    }
2381    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2382        self as &mut dyn (::std::any::Any)
2383    }
2384    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2385        self
2386    }
2387
2388    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2389        Self::descriptor_static()
2390    }
2391
2392    fn new() -> Inventory_VersionedPackage {
2393        Inventory_VersionedPackage::new()
2394    }
2395
2396    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2397        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2398        descriptor.get(|| {
2399            let mut fields = ::std::vec::Vec::new();
2400            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2401                "package_name",
2402                |m: &Inventory_VersionedPackage| { &m.package_name },
2403                |m: &mut Inventory_VersionedPackage| { &mut m.package_name },
2404            ));
2405            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2406                "architecture",
2407                |m: &Inventory_VersionedPackage| { &m.architecture },
2408                |m: &mut Inventory_VersionedPackage| { &mut m.architecture },
2409            ));
2410            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2411                "version",
2412                |m: &Inventory_VersionedPackage| { &m.version },
2413                |m: &mut Inventory_VersionedPackage| { &mut m.version },
2414            ));
2415            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Inventory_VersionedPackage>(
2416                "Inventory.VersionedPackage",
2417                fields,
2418                file_descriptor_proto()
2419            )
2420        })
2421    }
2422
2423    fn default_instance() -> &'static Inventory_VersionedPackage {
2424        static instance: ::protobuf::rt::LazyV2<Inventory_VersionedPackage> = ::protobuf::rt::LazyV2::INIT;
2425        instance.get(Inventory_VersionedPackage::new)
2426    }
2427}
2428
2429impl ::protobuf::Clear for Inventory_VersionedPackage {
2430    fn clear(&mut self) {
2431        self.package_name.clear();
2432        self.architecture.clear();
2433        self.version.clear();
2434        self.unknown_fields.clear();
2435    }
2436}
2437
2438impl ::std::fmt::Debug for Inventory_VersionedPackage {
2439    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2440        ::protobuf::text_format::fmt(self, f)
2441    }
2442}
2443
2444impl ::protobuf::reflect::ProtobufValue for Inventory_VersionedPackage {
2445    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2446        ::protobuf::reflect::ReflectValueRef::Message(self)
2447    }
2448}
2449
2450#[derive(PartialEq,Clone,Default)]
2451pub struct Inventory_ZypperPatch {
2452    // message fields
2453    pub patch_name: ::std::string::String,
2454    pub category: ::std::string::String,
2455    pub severity: ::std::string::String,
2456    pub summary: ::std::string::String,
2457    // special fields
2458    pub unknown_fields: ::protobuf::UnknownFields,
2459    pub cached_size: ::protobuf::CachedSize,
2460}
2461
2462impl<'a> ::std::default::Default for &'a Inventory_ZypperPatch {
2463    fn default() -> &'a Inventory_ZypperPatch {
2464        <Inventory_ZypperPatch as ::protobuf::Message>::default_instance()
2465    }
2466}
2467
2468impl Inventory_ZypperPatch {
2469    pub fn new() -> Inventory_ZypperPatch {
2470        ::std::default::Default::default()
2471    }
2472
2473    // string patch_name = 5;
2474
2475
2476    pub fn get_patch_name(&self) -> &str {
2477        &self.patch_name
2478    }
2479    pub fn clear_patch_name(&mut self) {
2480        self.patch_name.clear();
2481    }
2482
2483    // Param is passed by value, moved
2484    pub fn set_patch_name(&mut self, v: ::std::string::String) {
2485        self.patch_name = v;
2486    }
2487
2488    // Mutable pointer to the field.
2489    // If field is not initialized, it is initialized with default value first.
2490    pub fn mut_patch_name(&mut self) -> &mut ::std::string::String {
2491        &mut self.patch_name
2492    }
2493
2494    // Take field
2495    pub fn take_patch_name(&mut self) -> ::std::string::String {
2496        ::std::mem::replace(&mut self.patch_name, ::std::string::String::new())
2497    }
2498
2499    // string category = 2;
2500
2501
2502    pub fn get_category(&self) -> &str {
2503        &self.category
2504    }
2505    pub fn clear_category(&mut self) {
2506        self.category.clear();
2507    }
2508
2509    // Param is passed by value, moved
2510    pub fn set_category(&mut self, v: ::std::string::String) {
2511        self.category = v;
2512    }
2513
2514    // Mutable pointer to the field.
2515    // If field is not initialized, it is initialized with default value first.
2516    pub fn mut_category(&mut self) -> &mut ::std::string::String {
2517        &mut self.category
2518    }
2519
2520    // Take field
2521    pub fn take_category(&mut self) -> ::std::string::String {
2522        ::std::mem::replace(&mut self.category, ::std::string::String::new())
2523    }
2524
2525    // string severity = 3;
2526
2527
2528    pub fn get_severity(&self) -> &str {
2529        &self.severity
2530    }
2531    pub fn clear_severity(&mut self) {
2532        self.severity.clear();
2533    }
2534
2535    // Param is passed by value, moved
2536    pub fn set_severity(&mut self, v: ::std::string::String) {
2537        self.severity = v;
2538    }
2539
2540    // Mutable pointer to the field.
2541    // If field is not initialized, it is initialized with default value first.
2542    pub fn mut_severity(&mut self) -> &mut ::std::string::String {
2543        &mut self.severity
2544    }
2545
2546    // Take field
2547    pub fn take_severity(&mut self) -> ::std::string::String {
2548        ::std::mem::replace(&mut self.severity, ::std::string::String::new())
2549    }
2550
2551    // string summary = 4;
2552
2553
2554    pub fn get_summary(&self) -> &str {
2555        &self.summary
2556    }
2557    pub fn clear_summary(&mut self) {
2558        self.summary.clear();
2559    }
2560
2561    // Param is passed by value, moved
2562    pub fn set_summary(&mut self, v: ::std::string::String) {
2563        self.summary = v;
2564    }
2565
2566    // Mutable pointer to the field.
2567    // If field is not initialized, it is initialized with default value first.
2568    pub fn mut_summary(&mut self) -> &mut ::std::string::String {
2569        &mut self.summary
2570    }
2571
2572    // Take field
2573    pub fn take_summary(&mut self) -> ::std::string::String {
2574        ::std::mem::replace(&mut self.summary, ::std::string::String::new())
2575    }
2576}
2577
2578impl ::protobuf::Message for Inventory_ZypperPatch {
2579    fn is_initialized(&self) -> bool {
2580        true
2581    }
2582
2583    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2584        while !is.eof()? {
2585            let (field_number, wire_type) = is.read_tag_unpack()?;
2586            match field_number {
2587                5 => {
2588                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.patch_name)?;
2589                },
2590                2 => {
2591                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.category)?;
2592                },
2593                3 => {
2594                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.severity)?;
2595                },
2596                4 => {
2597                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.summary)?;
2598                },
2599                _ => {
2600                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2601                },
2602            };
2603        }
2604        ::std::result::Result::Ok(())
2605    }
2606
2607    // Compute sizes of nested messages
2608    #[allow(unused_variables)]
2609    fn compute_size(&self) -> u32 {
2610        let mut my_size = 0;
2611        if !self.patch_name.is_empty() {
2612            my_size += ::protobuf::rt::string_size(5, &self.patch_name);
2613        }
2614        if !self.category.is_empty() {
2615            my_size += ::protobuf::rt::string_size(2, &self.category);
2616        }
2617        if !self.severity.is_empty() {
2618            my_size += ::protobuf::rt::string_size(3, &self.severity);
2619        }
2620        if !self.summary.is_empty() {
2621            my_size += ::protobuf::rt::string_size(4, &self.summary);
2622        }
2623        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2624        self.cached_size.set(my_size);
2625        my_size
2626    }
2627
2628    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2629        if !self.patch_name.is_empty() {
2630            os.write_string(5, &self.patch_name)?;
2631        }
2632        if !self.category.is_empty() {
2633            os.write_string(2, &self.category)?;
2634        }
2635        if !self.severity.is_empty() {
2636            os.write_string(3, &self.severity)?;
2637        }
2638        if !self.summary.is_empty() {
2639            os.write_string(4, &self.summary)?;
2640        }
2641        os.write_unknown_fields(self.get_unknown_fields())?;
2642        ::std::result::Result::Ok(())
2643    }
2644
2645    fn get_cached_size(&self) -> u32 {
2646        self.cached_size.get()
2647    }
2648
2649    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2650        &self.unknown_fields
2651    }
2652
2653    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2654        &mut self.unknown_fields
2655    }
2656
2657    fn as_any(&self) -> &dyn (::std::any::Any) {
2658        self as &dyn (::std::any::Any)
2659    }
2660    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2661        self as &mut dyn (::std::any::Any)
2662    }
2663    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2664        self
2665    }
2666
2667    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2668        Self::descriptor_static()
2669    }
2670
2671    fn new() -> Inventory_ZypperPatch {
2672        Inventory_ZypperPatch::new()
2673    }
2674
2675    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2676        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2677        descriptor.get(|| {
2678            let mut fields = ::std::vec::Vec::new();
2679            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2680                "patch_name",
2681                |m: &Inventory_ZypperPatch| { &m.patch_name },
2682                |m: &mut Inventory_ZypperPatch| { &mut m.patch_name },
2683            ));
2684            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2685                "category",
2686                |m: &Inventory_ZypperPatch| { &m.category },
2687                |m: &mut Inventory_ZypperPatch| { &mut m.category },
2688            ));
2689            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2690                "severity",
2691                |m: &Inventory_ZypperPatch| { &m.severity },
2692                |m: &mut Inventory_ZypperPatch| { &mut m.severity },
2693            ));
2694            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2695                "summary",
2696                |m: &Inventory_ZypperPatch| { &m.summary },
2697                |m: &mut Inventory_ZypperPatch| { &mut m.summary },
2698            ));
2699            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Inventory_ZypperPatch>(
2700                "Inventory.ZypperPatch",
2701                fields,
2702                file_descriptor_proto()
2703            )
2704        })
2705    }
2706
2707    fn default_instance() -> &'static Inventory_ZypperPatch {
2708        static instance: ::protobuf::rt::LazyV2<Inventory_ZypperPatch> = ::protobuf::rt::LazyV2::INIT;
2709        instance.get(Inventory_ZypperPatch::new)
2710    }
2711}
2712
2713impl ::protobuf::Clear for Inventory_ZypperPatch {
2714    fn clear(&mut self) {
2715        self.patch_name.clear();
2716        self.category.clear();
2717        self.severity.clear();
2718        self.summary.clear();
2719        self.unknown_fields.clear();
2720    }
2721}
2722
2723impl ::std::fmt::Debug for Inventory_ZypperPatch {
2724    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2725        ::protobuf::text_format::fmt(self, f)
2726    }
2727}
2728
2729impl ::protobuf::reflect::ProtobufValue for Inventory_ZypperPatch {
2730    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2731        ::protobuf::reflect::ReflectValueRef::Message(self)
2732    }
2733}
2734
2735#[derive(PartialEq,Clone,Default)]
2736pub struct Inventory_WindowsUpdatePackage {
2737    // message fields
2738    pub title: ::std::string::String,
2739    pub description: ::std::string::String,
2740    pub categories: ::protobuf::RepeatedField<Inventory_WindowsUpdatePackage_WindowsUpdateCategory>,
2741    pub kb_article_ids: ::protobuf::RepeatedField<::std::string::String>,
2742    pub support_url: ::std::string::String,
2743    pub more_info_urls: ::protobuf::RepeatedField<::std::string::String>,
2744    pub update_id: ::std::string::String,
2745    pub revision_number: i32,
2746    pub last_deployment_change_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
2747    // special fields
2748    pub unknown_fields: ::protobuf::UnknownFields,
2749    pub cached_size: ::protobuf::CachedSize,
2750}
2751
2752impl<'a> ::std::default::Default for &'a Inventory_WindowsUpdatePackage {
2753    fn default() -> &'a Inventory_WindowsUpdatePackage {
2754        <Inventory_WindowsUpdatePackage as ::protobuf::Message>::default_instance()
2755    }
2756}
2757
2758impl Inventory_WindowsUpdatePackage {
2759    pub fn new() -> Inventory_WindowsUpdatePackage {
2760        ::std::default::Default::default()
2761    }
2762
2763    // string title = 1;
2764
2765
2766    pub fn get_title(&self) -> &str {
2767        &self.title
2768    }
2769    pub fn clear_title(&mut self) {
2770        self.title.clear();
2771    }
2772
2773    // Param is passed by value, moved
2774    pub fn set_title(&mut self, v: ::std::string::String) {
2775        self.title = v;
2776    }
2777
2778    // Mutable pointer to the field.
2779    // If field is not initialized, it is initialized with default value first.
2780    pub fn mut_title(&mut self) -> &mut ::std::string::String {
2781        &mut self.title
2782    }
2783
2784    // Take field
2785    pub fn take_title(&mut self) -> ::std::string::String {
2786        ::std::mem::replace(&mut self.title, ::std::string::String::new())
2787    }
2788
2789    // string description = 2;
2790
2791
2792    pub fn get_description(&self) -> &str {
2793        &self.description
2794    }
2795    pub fn clear_description(&mut self) {
2796        self.description.clear();
2797    }
2798
2799    // Param is passed by value, moved
2800    pub fn set_description(&mut self, v: ::std::string::String) {
2801        self.description = v;
2802    }
2803
2804    // Mutable pointer to the field.
2805    // If field is not initialized, it is initialized with default value first.
2806    pub fn mut_description(&mut self) -> &mut ::std::string::String {
2807        &mut self.description
2808    }
2809
2810    // Take field
2811    pub fn take_description(&mut self) -> ::std::string::String {
2812        ::std::mem::replace(&mut self.description, ::std::string::String::new())
2813    }
2814
2815    // repeated .google.cloud.osconfig.v1.Inventory.WindowsUpdatePackage.WindowsUpdateCategory categories = 3;
2816
2817
2818    pub fn get_categories(&self) -> &[Inventory_WindowsUpdatePackage_WindowsUpdateCategory] {
2819        &self.categories
2820    }
2821    pub fn clear_categories(&mut self) {
2822        self.categories.clear();
2823    }
2824
2825    // Param is passed by value, moved
2826    pub fn set_categories(&mut self, v: ::protobuf::RepeatedField<Inventory_WindowsUpdatePackage_WindowsUpdateCategory>) {
2827        self.categories = v;
2828    }
2829
2830    // Mutable pointer to the field.
2831    pub fn mut_categories(&mut self) -> &mut ::protobuf::RepeatedField<Inventory_WindowsUpdatePackage_WindowsUpdateCategory> {
2832        &mut self.categories
2833    }
2834
2835    // Take field
2836    pub fn take_categories(&mut self) -> ::protobuf::RepeatedField<Inventory_WindowsUpdatePackage_WindowsUpdateCategory> {
2837        ::std::mem::replace(&mut self.categories, ::protobuf::RepeatedField::new())
2838    }
2839
2840    // repeated string kb_article_ids = 4;
2841
2842
2843    pub fn get_kb_article_ids(&self) -> &[::std::string::String] {
2844        &self.kb_article_ids
2845    }
2846    pub fn clear_kb_article_ids(&mut self) {
2847        self.kb_article_ids.clear();
2848    }
2849
2850    // Param is passed by value, moved
2851    pub fn set_kb_article_ids(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
2852        self.kb_article_ids = v;
2853    }
2854
2855    // Mutable pointer to the field.
2856    pub fn mut_kb_article_ids(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
2857        &mut self.kb_article_ids
2858    }
2859
2860    // Take field
2861    pub fn take_kb_article_ids(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
2862        ::std::mem::replace(&mut self.kb_article_ids, ::protobuf::RepeatedField::new())
2863    }
2864
2865    // string support_url = 11;
2866
2867
2868    pub fn get_support_url(&self) -> &str {
2869        &self.support_url
2870    }
2871    pub fn clear_support_url(&mut self) {
2872        self.support_url.clear();
2873    }
2874
2875    // Param is passed by value, moved
2876    pub fn set_support_url(&mut self, v: ::std::string::String) {
2877        self.support_url = v;
2878    }
2879
2880    // Mutable pointer to the field.
2881    // If field is not initialized, it is initialized with default value first.
2882    pub fn mut_support_url(&mut self) -> &mut ::std::string::String {
2883        &mut self.support_url
2884    }
2885
2886    // Take field
2887    pub fn take_support_url(&mut self) -> ::std::string::String {
2888        ::std::mem::replace(&mut self.support_url, ::std::string::String::new())
2889    }
2890
2891    // repeated string more_info_urls = 5;
2892
2893
2894    pub fn get_more_info_urls(&self) -> &[::std::string::String] {
2895        &self.more_info_urls
2896    }
2897    pub fn clear_more_info_urls(&mut self) {
2898        self.more_info_urls.clear();
2899    }
2900
2901    // Param is passed by value, moved
2902    pub fn set_more_info_urls(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
2903        self.more_info_urls = v;
2904    }
2905
2906    // Mutable pointer to the field.
2907    pub fn mut_more_info_urls(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
2908        &mut self.more_info_urls
2909    }
2910
2911    // Take field
2912    pub fn take_more_info_urls(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
2913        ::std::mem::replace(&mut self.more_info_urls, ::protobuf::RepeatedField::new())
2914    }
2915
2916    // string update_id = 6;
2917
2918
2919    pub fn get_update_id(&self) -> &str {
2920        &self.update_id
2921    }
2922    pub fn clear_update_id(&mut self) {
2923        self.update_id.clear();
2924    }
2925
2926    // Param is passed by value, moved
2927    pub fn set_update_id(&mut self, v: ::std::string::String) {
2928        self.update_id = v;
2929    }
2930
2931    // Mutable pointer to the field.
2932    // If field is not initialized, it is initialized with default value first.
2933    pub fn mut_update_id(&mut self) -> &mut ::std::string::String {
2934        &mut self.update_id
2935    }
2936
2937    // Take field
2938    pub fn take_update_id(&mut self) -> ::std::string::String {
2939        ::std::mem::replace(&mut self.update_id, ::std::string::String::new())
2940    }
2941
2942    // int32 revision_number = 7;
2943
2944
2945    pub fn get_revision_number(&self) -> i32 {
2946        self.revision_number
2947    }
2948    pub fn clear_revision_number(&mut self) {
2949        self.revision_number = 0;
2950    }
2951
2952    // Param is passed by value, moved
2953    pub fn set_revision_number(&mut self, v: i32) {
2954        self.revision_number = v;
2955    }
2956
2957    // .google.protobuf.Timestamp last_deployment_change_time = 10;
2958
2959
2960    pub fn get_last_deployment_change_time(&self) -> &::protobuf::well_known_types::Timestamp {
2961        self.last_deployment_change_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
2962    }
2963    pub fn clear_last_deployment_change_time(&mut self) {
2964        self.last_deployment_change_time.clear();
2965    }
2966
2967    pub fn has_last_deployment_change_time(&self) -> bool {
2968        self.last_deployment_change_time.is_some()
2969    }
2970
2971    // Param is passed by value, moved
2972    pub fn set_last_deployment_change_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
2973        self.last_deployment_change_time = ::protobuf::SingularPtrField::some(v);
2974    }
2975
2976    // Mutable pointer to the field.
2977    // If field is not initialized, it is initialized with default value first.
2978    pub fn mut_last_deployment_change_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
2979        if self.last_deployment_change_time.is_none() {
2980            self.last_deployment_change_time.set_default();
2981        }
2982        self.last_deployment_change_time.as_mut().unwrap()
2983    }
2984
2985    // Take field
2986    pub fn take_last_deployment_change_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
2987        self.last_deployment_change_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
2988    }
2989}
2990
2991impl ::protobuf::Message for Inventory_WindowsUpdatePackage {
2992    fn is_initialized(&self) -> bool {
2993        for v in &self.categories {
2994            if !v.is_initialized() {
2995                return false;
2996            }
2997        };
2998        for v in &self.last_deployment_change_time {
2999            if !v.is_initialized() {
3000                return false;
3001            }
3002        };
3003        true
3004    }
3005
3006    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3007        while !is.eof()? {
3008            let (field_number, wire_type) = is.read_tag_unpack()?;
3009            match field_number {
3010                1 => {
3011                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.title)?;
3012                },
3013                2 => {
3014                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.description)?;
3015                },
3016                3 => {
3017                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.categories)?;
3018                },
3019                4 => {
3020                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.kb_article_ids)?;
3021                },
3022                11 => {
3023                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.support_url)?;
3024                },
3025                5 => {
3026                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.more_info_urls)?;
3027                },
3028                6 => {
3029                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.update_id)?;
3030                },
3031                7 => {
3032                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3033                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3034                    }
3035                    let tmp = is.read_int32()?;
3036                    self.revision_number = tmp;
3037                },
3038                10 => {
3039                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.last_deployment_change_time)?;
3040                },
3041                _ => {
3042                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3043                },
3044            };
3045        }
3046        ::std::result::Result::Ok(())
3047    }
3048
3049    // Compute sizes of nested messages
3050    #[allow(unused_variables)]
3051    fn compute_size(&self) -> u32 {
3052        let mut my_size = 0;
3053        if !self.title.is_empty() {
3054            my_size += ::protobuf::rt::string_size(1, &self.title);
3055        }
3056        if !self.description.is_empty() {
3057            my_size += ::protobuf::rt::string_size(2, &self.description);
3058        }
3059        for value in &self.categories {
3060            let len = value.compute_size();
3061            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3062        };
3063        for value in &self.kb_article_ids {
3064            my_size += ::protobuf::rt::string_size(4, &value);
3065        };
3066        if !self.support_url.is_empty() {
3067            my_size += ::protobuf::rt::string_size(11, &self.support_url);
3068        }
3069        for value in &self.more_info_urls {
3070            my_size += ::protobuf::rt::string_size(5, &value);
3071        };
3072        if !self.update_id.is_empty() {
3073            my_size += ::protobuf::rt::string_size(6, &self.update_id);
3074        }
3075        if self.revision_number != 0 {
3076            my_size += ::protobuf::rt::value_size(7, self.revision_number, ::protobuf::wire_format::WireTypeVarint);
3077        }
3078        if let Some(ref v) = self.last_deployment_change_time.as_ref() {
3079            let len = v.compute_size();
3080            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3081        }
3082        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3083        self.cached_size.set(my_size);
3084        my_size
3085    }
3086
3087    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3088        if !self.title.is_empty() {
3089            os.write_string(1, &self.title)?;
3090        }
3091        if !self.description.is_empty() {
3092            os.write_string(2, &self.description)?;
3093        }
3094        for v in &self.categories {
3095            os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3096            os.write_raw_varint32(v.get_cached_size())?;
3097            v.write_to_with_cached_sizes(os)?;
3098        };
3099        for v in &self.kb_article_ids {
3100            os.write_string(4, &v)?;
3101        };
3102        if !self.support_url.is_empty() {
3103            os.write_string(11, &self.support_url)?;
3104        }
3105        for v in &self.more_info_urls {
3106            os.write_string(5, &v)?;
3107        };
3108        if !self.update_id.is_empty() {
3109            os.write_string(6, &self.update_id)?;
3110        }
3111        if self.revision_number != 0 {
3112            os.write_int32(7, self.revision_number)?;
3113        }
3114        if let Some(ref v) = self.last_deployment_change_time.as_ref() {
3115            os.write_tag(10, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3116            os.write_raw_varint32(v.get_cached_size())?;
3117            v.write_to_with_cached_sizes(os)?;
3118        }
3119        os.write_unknown_fields(self.get_unknown_fields())?;
3120        ::std::result::Result::Ok(())
3121    }
3122
3123    fn get_cached_size(&self) -> u32 {
3124        self.cached_size.get()
3125    }
3126
3127    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3128        &self.unknown_fields
3129    }
3130
3131    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3132        &mut self.unknown_fields
3133    }
3134
3135    fn as_any(&self) -> &dyn (::std::any::Any) {
3136        self as &dyn (::std::any::Any)
3137    }
3138    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3139        self as &mut dyn (::std::any::Any)
3140    }
3141    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3142        self
3143    }
3144
3145    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3146        Self::descriptor_static()
3147    }
3148
3149    fn new() -> Inventory_WindowsUpdatePackage {
3150        Inventory_WindowsUpdatePackage::new()
3151    }
3152
3153    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3154        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3155        descriptor.get(|| {
3156            let mut fields = ::std::vec::Vec::new();
3157            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3158                "title",
3159                |m: &Inventory_WindowsUpdatePackage| { &m.title },
3160                |m: &mut Inventory_WindowsUpdatePackage| { &mut m.title },
3161            ));
3162            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3163                "description",
3164                |m: &Inventory_WindowsUpdatePackage| { &m.description },
3165                |m: &mut Inventory_WindowsUpdatePackage| { &mut m.description },
3166            ));
3167            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Inventory_WindowsUpdatePackage_WindowsUpdateCategory>>(
3168                "categories",
3169                |m: &Inventory_WindowsUpdatePackage| { &m.categories },
3170                |m: &mut Inventory_WindowsUpdatePackage| { &mut m.categories },
3171            ));
3172            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3173                "kb_article_ids",
3174                |m: &Inventory_WindowsUpdatePackage| { &m.kb_article_ids },
3175                |m: &mut Inventory_WindowsUpdatePackage| { &mut m.kb_article_ids },
3176            ));
3177            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3178                "support_url",
3179                |m: &Inventory_WindowsUpdatePackage| { &m.support_url },
3180                |m: &mut Inventory_WindowsUpdatePackage| { &mut m.support_url },
3181            ));
3182            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3183                "more_info_urls",
3184                |m: &Inventory_WindowsUpdatePackage| { &m.more_info_urls },
3185                |m: &mut Inventory_WindowsUpdatePackage| { &mut m.more_info_urls },
3186            ));
3187            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3188                "update_id",
3189                |m: &Inventory_WindowsUpdatePackage| { &m.update_id },
3190                |m: &mut Inventory_WindowsUpdatePackage| { &mut m.update_id },
3191            ));
3192            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
3193                "revision_number",
3194                |m: &Inventory_WindowsUpdatePackage| { &m.revision_number },
3195                |m: &mut Inventory_WindowsUpdatePackage| { &mut m.revision_number },
3196            ));
3197            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
3198                "last_deployment_change_time",
3199                |m: &Inventory_WindowsUpdatePackage| { &m.last_deployment_change_time },
3200                |m: &mut Inventory_WindowsUpdatePackage| { &mut m.last_deployment_change_time },
3201            ));
3202            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Inventory_WindowsUpdatePackage>(
3203                "Inventory.WindowsUpdatePackage",
3204                fields,
3205                file_descriptor_proto()
3206            )
3207        })
3208    }
3209
3210    fn default_instance() -> &'static Inventory_WindowsUpdatePackage {
3211        static instance: ::protobuf::rt::LazyV2<Inventory_WindowsUpdatePackage> = ::protobuf::rt::LazyV2::INIT;
3212        instance.get(Inventory_WindowsUpdatePackage::new)
3213    }
3214}
3215
3216impl ::protobuf::Clear for Inventory_WindowsUpdatePackage {
3217    fn clear(&mut self) {
3218        self.title.clear();
3219        self.description.clear();
3220        self.categories.clear();
3221        self.kb_article_ids.clear();
3222        self.support_url.clear();
3223        self.more_info_urls.clear();
3224        self.update_id.clear();
3225        self.revision_number = 0;
3226        self.last_deployment_change_time.clear();
3227        self.unknown_fields.clear();
3228    }
3229}
3230
3231impl ::std::fmt::Debug for Inventory_WindowsUpdatePackage {
3232    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3233        ::protobuf::text_format::fmt(self, f)
3234    }
3235}
3236
3237impl ::protobuf::reflect::ProtobufValue for Inventory_WindowsUpdatePackage {
3238    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3239        ::protobuf::reflect::ReflectValueRef::Message(self)
3240    }
3241}
3242
3243#[derive(PartialEq,Clone,Default)]
3244pub struct Inventory_WindowsUpdatePackage_WindowsUpdateCategory {
3245    // message fields
3246    pub id: ::std::string::String,
3247    pub name: ::std::string::String,
3248    // special fields
3249    pub unknown_fields: ::protobuf::UnknownFields,
3250    pub cached_size: ::protobuf::CachedSize,
3251}
3252
3253impl<'a> ::std::default::Default for &'a Inventory_WindowsUpdatePackage_WindowsUpdateCategory {
3254    fn default() -> &'a Inventory_WindowsUpdatePackage_WindowsUpdateCategory {
3255        <Inventory_WindowsUpdatePackage_WindowsUpdateCategory as ::protobuf::Message>::default_instance()
3256    }
3257}
3258
3259impl Inventory_WindowsUpdatePackage_WindowsUpdateCategory {
3260    pub fn new() -> Inventory_WindowsUpdatePackage_WindowsUpdateCategory {
3261        ::std::default::Default::default()
3262    }
3263
3264    // string id = 1;
3265
3266
3267    pub fn get_id(&self) -> &str {
3268        &self.id
3269    }
3270    pub fn clear_id(&mut self) {
3271        self.id.clear();
3272    }
3273
3274    // Param is passed by value, moved
3275    pub fn set_id(&mut self, v: ::std::string::String) {
3276        self.id = v;
3277    }
3278
3279    // Mutable pointer to the field.
3280    // If field is not initialized, it is initialized with default value first.
3281    pub fn mut_id(&mut self) -> &mut ::std::string::String {
3282        &mut self.id
3283    }
3284
3285    // Take field
3286    pub fn take_id(&mut self) -> ::std::string::String {
3287        ::std::mem::replace(&mut self.id, ::std::string::String::new())
3288    }
3289
3290    // string name = 2;
3291
3292
3293    pub fn get_name(&self) -> &str {
3294        &self.name
3295    }
3296    pub fn clear_name(&mut self) {
3297        self.name.clear();
3298    }
3299
3300    // Param is passed by value, moved
3301    pub fn set_name(&mut self, v: ::std::string::String) {
3302        self.name = v;
3303    }
3304
3305    // Mutable pointer to the field.
3306    // If field is not initialized, it is initialized with default value first.
3307    pub fn mut_name(&mut self) -> &mut ::std::string::String {
3308        &mut self.name
3309    }
3310
3311    // Take field
3312    pub fn take_name(&mut self) -> ::std::string::String {
3313        ::std::mem::replace(&mut self.name, ::std::string::String::new())
3314    }
3315}
3316
3317impl ::protobuf::Message for Inventory_WindowsUpdatePackage_WindowsUpdateCategory {
3318    fn is_initialized(&self) -> bool {
3319        true
3320    }
3321
3322    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3323        while !is.eof()? {
3324            let (field_number, wire_type) = is.read_tag_unpack()?;
3325            match field_number {
3326                1 => {
3327                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.id)?;
3328                },
3329                2 => {
3330                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
3331                },
3332                _ => {
3333                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3334                },
3335            };
3336        }
3337        ::std::result::Result::Ok(())
3338    }
3339
3340    // Compute sizes of nested messages
3341    #[allow(unused_variables)]
3342    fn compute_size(&self) -> u32 {
3343        let mut my_size = 0;
3344        if !self.id.is_empty() {
3345            my_size += ::protobuf::rt::string_size(1, &self.id);
3346        }
3347        if !self.name.is_empty() {
3348            my_size += ::protobuf::rt::string_size(2, &self.name);
3349        }
3350        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3351        self.cached_size.set(my_size);
3352        my_size
3353    }
3354
3355    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3356        if !self.id.is_empty() {
3357            os.write_string(1, &self.id)?;
3358        }
3359        if !self.name.is_empty() {
3360            os.write_string(2, &self.name)?;
3361        }
3362        os.write_unknown_fields(self.get_unknown_fields())?;
3363        ::std::result::Result::Ok(())
3364    }
3365
3366    fn get_cached_size(&self) -> u32 {
3367        self.cached_size.get()
3368    }
3369
3370    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3371        &self.unknown_fields
3372    }
3373
3374    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3375        &mut self.unknown_fields
3376    }
3377
3378    fn as_any(&self) -> &dyn (::std::any::Any) {
3379        self as &dyn (::std::any::Any)
3380    }
3381    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3382        self as &mut dyn (::std::any::Any)
3383    }
3384    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3385        self
3386    }
3387
3388    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3389        Self::descriptor_static()
3390    }
3391
3392    fn new() -> Inventory_WindowsUpdatePackage_WindowsUpdateCategory {
3393        Inventory_WindowsUpdatePackage_WindowsUpdateCategory::new()
3394    }
3395
3396    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3397        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3398        descriptor.get(|| {
3399            let mut fields = ::std::vec::Vec::new();
3400            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3401                "id",
3402                |m: &Inventory_WindowsUpdatePackage_WindowsUpdateCategory| { &m.id },
3403                |m: &mut Inventory_WindowsUpdatePackage_WindowsUpdateCategory| { &mut m.id },
3404            ));
3405            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3406                "name",
3407                |m: &Inventory_WindowsUpdatePackage_WindowsUpdateCategory| { &m.name },
3408                |m: &mut Inventory_WindowsUpdatePackage_WindowsUpdateCategory| { &mut m.name },
3409            ));
3410            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Inventory_WindowsUpdatePackage_WindowsUpdateCategory>(
3411                "Inventory.WindowsUpdatePackage.WindowsUpdateCategory",
3412                fields,
3413                file_descriptor_proto()
3414            )
3415        })
3416    }
3417
3418    fn default_instance() -> &'static Inventory_WindowsUpdatePackage_WindowsUpdateCategory {
3419        static instance: ::protobuf::rt::LazyV2<Inventory_WindowsUpdatePackage_WindowsUpdateCategory> = ::protobuf::rt::LazyV2::INIT;
3420        instance.get(Inventory_WindowsUpdatePackage_WindowsUpdateCategory::new)
3421    }
3422}
3423
3424impl ::protobuf::Clear for Inventory_WindowsUpdatePackage_WindowsUpdateCategory {
3425    fn clear(&mut self) {
3426        self.id.clear();
3427        self.name.clear();
3428        self.unknown_fields.clear();
3429    }
3430}
3431
3432impl ::std::fmt::Debug for Inventory_WindowsUpdatePackage_WindowsUpdateCategory {
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_WindowsUpdatePackage_WindowsUpdateCategory {
3439    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3440        ::protobuf::reflect::ReflectValueRef::Message(self)
3441    }
3442}
3443
3444#[derive(PartialEq,Clone,Default)]
3445pub struct Inventory_WindowsQuickFixEngineeringPackage {
3446    // message fields
3447    pub caption: ::std::string::String,
3448    pub description: ::std::string::String,
3449    pub hot_fix_id: ::std::string::String,
3450    pub install_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
3451    // special fields
3452    pub unknown_fields: ::protobuf::UnknownFields,
3453    pub cached_size: ::protobuf::CachedSize,
3454}
3455
3456impl<'a> ::std::default::Default for &'a Inventory_WindowsQuickFixEngineeringPackage {
3457    fn default() -> &'a Inventory_WindowsQuickFixEngineeringPackage {
3458        <Inventory_WindowsQuickFixEngineeringPackage as ::protobuf::Message>::default_instance()
3459    }
3460}
3461
3462impl Inventory_WindowsQuickFixEngineeringPackage {
3463    pub fn new() -> Inventory_WindowsQuickFixEngineeringPackage {
3464        ::std::default::Default::default()
3465    }
3466
3467    // string caption = 1;
3468
3469
3470    pub fn get_caption(&self) -> &str {
3471        &self.caption
3472    }
3473    pub fn clear_caption(&mut self) {
3474        self.caption.clear();
3475    }
3476
3477    // Param is passed by value, moved
3478    pub fn set_caption(&mut self, v: ::std::string::String) {
3479        self.caption = v;
3480    }
3481
3482    // Mutable pointer to the field.
3483    // If field is not initialized, it is initialized with default value first.
3484    pub fn mut_caption(&mut self) -> &mut ::std::string::String {
3485        &mut self.caption
3486    }
3487
3488    // Take field
3489    pub fn take_caption(&mut self) -> ::std::string::String {
3490        ::std::mem::replace(&mut self.caption, ::std::string::String::new())
3491    }
3492
3493    // string description = 2;
3494
3495
3496    pub fn get_description(&self) -> &str {
3497        &self.description
3498    }
3499    pub fn clear_description(&mut self) {
3500        self.description.clear();
3501    }
3502
3503    // Param is passed by value, moved
3504    pub fn set_description(&mut self, v: ::std::string::String) {
3505        self.description = v;
3506    }
3507
3508    // Mutable pointer to the field.
3509    // If field is not initialized, it is initialized with default value first.
3510    pub fn mut_description(&mut self) -> &mut ::std::string::String {
3511        &mut self.description
3512    }
3513
3514    // Take field
3515    pub fn take_description(&mut self) -> ::std::string::String {
3516        ::std::mem::replace(&mut self.description, ::std::string::String::new())
3517    }
3518
3519    // string hot_fix_id = 3;
3520
3521
3522    pub fn get_hot_fix_id(&self) -> &str {
3523        &self.hot_fix_id
3524    }
3525    pub fn clear_hot_fix_id(&mut self) {
3526        self.hot_fix_id.clear();
3527    }
3528
3529    // Param is passed by value, moved
3530    pub fn set_hot_fix_id(&mut self, v: ::std::string::String) {
3531        self.hot_fix_id = v;
3532    }
3533
3534    // Mutable pointer to the field.
3535    // If field is not initialized, it is initialized with default value first.
3536    pub fn mut_hot_fix_id(&mut self) -> &mut ::std::string::String {
3537        &mut self.hot_fix_id
3538    }
3539
3540    // Take field
3541    pub fn take_hot_fix_id(&mut self) -> ::std::string::String {
3542        ::std::mem::replace(&mut self.hot_fix_id, ::std::string::String::new())
3543    }
3544
3545    // .google.protobuf.Timestamp install_time = 5;
3546
3547
3548    pub fn get_install_time(&self) -> &::protobuf::well_known_types::Timestamp {
3549        self.install_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
3550    }
3551    pub fn clear_install_time(&mut self) {
3552        self.install_time.clear();
3553    }
3554
3555    pub fn has_install_time(&self) -> bool {
3556        self.install_time.is_some()
3557    }
3558
3559    // Param is passed by value, moved
3560    pub fn set_install_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
3561        self.install_time = ::protobuf::SingularPtrField::some(v);
3562    }
3563
3564    // Mutable pointer to the field.
3565    // If field is not initialized, it is initialized with default value first.
3566    pub fn mut_install_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
3567        if self.install_time.is_none() {
3568            self.install_time.set_default();
3569        }
3570        self.install_time.as_mut().unwrap()
3571    }
3572
3573    // Take field
3574    pub fn take_install_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
3575        self.install_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
3576    }
3577}
3578
3579impl ::protobuf::Message for Inventory_WindowsQuickFixEngineeringPackage {
3580    fn is_initialized(&self) -> bool {
3581        for v in &self.install_time {
3582            if !v.is_initialized() {
3583                return false;
3584            }
3585        };
3586        true
3587    }
3588
3589    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3590        while !is.eof()? {
3591            let (field_number, wire_type) = is.read_tag_unpack()?;
3592            match field_number {
3593                1 => {
3594                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.caption)?;
3595                },
3596                2 => {
3597                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.description)?;
3598                },
3599                3 => {
3600                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.hot_fix_id)?;
3601                },
3602                5 => {
3603                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.install_time)?;
3604                },
3605                _ => {
3606                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3607                },
3608            };
3609        }
3610        ::std::result::Result::Ok(())
3611    }
3612
3613    // Compute sizes of nested messages
3614    #[allow(unused_variables)]
3615    fn compute_size(&self) -> u32 {
3616        let mut my_size = 0;
3617        if !self.caption.is_empty() {
3618            my_size += ::protobuf::rt::string_size(1, &self.caption);
3619        }
3620        if !self.description.is_empty() {
3621            my_size += ::protobuf::rt::string_size(2, &self.description);
3622        }
3623        if !self.hot_fix_id.is_empty() {
3624            my_size += ::protobuf::rt::string_size(3, &self.hot_fix_id);
3625        }
3626        if let Some(ref v) = self.install_time.as_ref() {
3627            let len = v.compute_size();
3628            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3629        }
3630        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3631        self.cached_size.set(my_size);
3632        my_size
3633    }
3634
3635    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3636        if !self.caption.is_empty() {
3637            os.write_string(1, &self.caption)?;
3638        }
3639        if !self.description.is_empty() {
3640            os.write_string(2, &self.description)?;
3641        }
3642        if !self.hot_fix_id.is_empty() {
3643            os.write_string(3, &self.hot_fix_id)?;
3644        }
3645        if let Some(ref v) = self.install_time.as_ref() {
3646            os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3647            os.write_raw_varint32(v.get_cached_size())?;
3648            v.write_to_with_cached_sizes(os)?;
3649        }
3650        os.write_unknown_fields(self.get_unknown_fields())?;
3651        ::std::result::Result::Ok(())
3652    }
3653
3654    fn get_cached_size(&self) -> u32 {
3655        self.cached_size.get()
3656    }
3657
3658    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3659        &self.unknown_fields
3660    }
3661
3662    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3663        &mut self.unknown_fields
3664    }
3665
3666    fn as_any(&self) -> &dyn (::std::any::Any) {
3667        self as &dyn (::std::any::Any)
3668    }
3669    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3670        self as &mut dyn (::std::any::Any)
3671    }
3672    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3673        self
3674    }
3675
3676    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3677        Self::descriptor_static()
3678    }
3679
3680    fn new() -> Inventory_WindowsQuickFixEngineeringPackage {
3681        Inventory_WindowsQuickFixEngineeringPackage::new()
3682    }
3683
3684    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3685        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3686        descriptor.get(|| {
3687            let mut fields = ::std::vec::Vec::new();
3688            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3689                "caption",
3690                |m: &Inventory_WindowsQuickFixEngineeringPackage| { &m.caption },
3691                |m: &mut Inventory_WindowsQuickFixEngineeringPackage| { &mut m.caption },
3692            ));
3693            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3694                "description",
3695                |m: &Inventory_WindowsQuickFixEngineeringPackage| { &m.description },
3696                |m: &mut Inventory_WindowsQuickFixEngineeringPackage| { &mut m.description },
3697            ));
3698            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3699                "hot_fix_id",
3700                |m: &Inventory_WindowsQuickFixEngineeringPackage| { &m.hot_fix_id },
3701                |m: &mut Inventory_WindowsQuickFixEngineeringPackage| { &mut m.hot_fix_id },
3702            ));
3703            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
3704                "install_time",
3705                |m: &Inventory_WindowsQuickFixEngineeringPackage| { &m.install_time },
3706                |m: &mut Inventory_WindowsQuickFixEngineeringPackage| { &mut m.install_time },
3707            ));
3708            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Inventory_WindowsQuickFixEngineeringPackage>(
3709                "Inventory.WindowsQuickFixEngineeringPackage",
3710                fields,
3711                file_descriptor_proto()
3712            )
3713        })
3714    }
3715
3716    fn default_instance() -> &'static Inventory_WindowsQuickFixEngineeringPackage {
3717        static instance: ::protobuf::rt::LazyV2<Inventory_WindowsQuickFixEngineeringPackage> = ::protobuf::rt::LazyV2::INIT;
3718        instance.get(Inventory_WindowsQuickFixEngineeringPackage::new)
3719    }
3720}
3721
3722impl ::protobuf::Clear for Inventory_WindowsQuickFixEngineeringPackage {
3723    fn clear(&mut self) {
3724        self.caption.clear();
3725        self.description.clear();
3726        self.hot_fix_id.clear();
3727        self.install_time.clear();
3728        self.unknown_fields.clear();
3729    }
3730}
3731
3732impl ::std::fmt::Debug for Inventory_WindowsQuickFixEngineeringPackage {
3733    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3734        ::protobuf::text_format::fmt(self, f)
3735    }
3736}
3737
3738impl ::protobuf::reflect::ProtobufValue for Inventory_WindowsQuickFixEngineeringPackage {
3739    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3740        ::protobuf::reflect::ReflectValueRef::Message(self)
3741    }
3742}
3743
3744#[derive(PartialEq,Clone,Default)]
3745pub struct Inventory_WindowsApplication {
3746    // message fields
3747    pub display_name: ::std::string::String,
3748    pub display_version: ::std::string::String,
3749    pub publisher: ::std::string::String,
3750    pub install_date: ::protobuf::SingularPtrField<super::date::Date>,
3751    pub help_link: ::std::string::String,
3752    // special fields
3753    pub unknown_fields: ::protobuf::UnknownFields,
3754    pub cached_size: ::protobuf::CachedSize,
3755}
3756
3757impl<'a> ::std::default::Default for &'a Inventory_WindowsApplication {
3758    fn default() -> &'a Inventory_WindowsApplication {
3759        <Inventory_WindowsApplication as ::protobuf::Message>::default_instance()
3760    }
3761}
3762
3763impl Inventory_WindowsApplication {
3764    pub fn new() -> Inventory_WindowsApplication {
3765        ::std::default::Default::default()
3766    }
3767
3768    // string display_name = 1;
3769
3770
3771    pub fn get_display_name(&self) -> &str {
3772        &self.display_name
3773    }
3774    pub fn clear_display_name(&mut self) {
3775        self.display_name.clear();
3776    }
3777
3778    // Param is passed by value, moved
3779    pub fn set_display_name(&mut self, v: ::std::string::String) {
3780        self.display_name = v;
3781    }
3782
3783    // Mutable pointer to the field.
3784    // If field is not initialized, it is initialized with default value first.
3785    pub fn mut_display_name(&mut self) -> &mut ::std::string::String {
3786        &mut self.display_name
3787    }
3788
3789    // Take field
3790    pub fn take_display_name(&mut self) -> ::std::string::String {
3791        ::std::mem::replace(&mut self.display_name, ::std::string::String::new())
3792    }
3793
3794    // string display_version = 2;
3795
3796
3797    pub fn get_display_version(&self) -> &str {
3798        &self.display_version
3799    }
3800    pub fn clear_display_version(&mut self) {
3801        self.display_version.clear();
3802    }
3803
3804    // Param is passed by value, moved
3805    pub fn set_display_version(&mut self, v: ::std::string::String) {
3806        self.display_version = v;
3807    }
3808
3809    // Mutable pointer to the field.
3810    // If field is not initialized, it is initialized with default value first.
3811    pub fn mut_display_version(&mut self) -> &mut ::std::string::String {
3812        &mut self.display_version
3813    }
3814
3815    // Take field
3816    pub fn take_display_version(&mut self) -> ::std::string::String {
3817        ::std::mem::replace(&mut self.display_version, ::std::string::String::new())
3818    }
3819
3820    // string publisher = 3;
3821
3822
3823    pub fn get_publisher(&self) -> &str {
3824        &self.publisher
3825    }
3826    pub fn clear_publisher(&mut self) {
3827        self.publisher.clear();
3828    }
3829
3830    // Param is passed by value, moved
3831    pub fn set_publisher(&mut self, v: ::std::string::String) {
3832        self.publisher = v;
3833    }
3834
3835    // Mutable pointer to the field.
3836    // If field is not initialized, it is initialized with default value first.
3837    pub fn mut_publisher(&mut self) -> &mut ::std::string::String {
3838        &mut self.publisher
3839    }
3840
3841    // Take field
3842    pub fn take_publisher(&mut self) -> ::std::string::String {
3843        ::std::mem::replace(&mut self.publisher, ::std::string::String::new())
3844    }
3845
3846    // .google.type.Date install_date = 4;
3847
3848
3849    pub fn get_install_date(&self) -> &super::date::Date {
3850        self.install_date.as_ref().unwrap_or_else(|| <super::date::Date as ::protobuf::Message>::default_instance())
3851    }
3852    pub fn clear_install_date(&mut self) {
3853        self.install_date.clear();
3854    }
3855
3856    pub fn has_install_date(&self) -> bool {
3857        self.install_date.is_some()
3858    }
3859
3860    // Param is passed by value, moved
3861    pub fn set_install_date(&mut self, v: super::date::Date) {
3862        self.install_date = ::protobuf::SingularPtrField::some(v);
3863    }
3864
3865    // Mutable pointer to the field.
3866    // If field is not initialized, it is initialized with default value first.
3867    pub fn mut_install_date(&mut self) -> &mut super::date::Date {
3868        if self.install_date.is_none() {
3869            self.install_date.set_default();
3870        }
3871        self.install_date.as_mut().unwrap()
3872    }
3873
3874    // Take field
3875    pub fn take_install_date(&mut self) -> super::date::Date {
3876        self.install_date.take().unwrap_or_else(|| super::date::Date::new())
3877    }
3878
3879    // string help_link = 5;
3880
3881
3882    pub fn get_help_link(&self) -> &str {
3883        &self.help_link
3884    }
3885    pub fn clear_help_link(&mut self) {
3886        self.help_link.clear();
3887    }
3888
3889    // Param is passed by value, moved
3890    pub fn set_help_link(&mut self, v: ::std::string::String) {
3891        self.help_link = v;
3892    }
3893
3894    // Mutable pointer to the field.
3895    // If field is not initialized, it is initialized with default value first.
3896    pub fn mut_help_link(&mut self) -> &mut ::std::string::String {
3897        &mut self.help_link
3898    }
3899
3900    // Take field
3901    pub fn take_help_link(&mut self) -> ::std::string::String {
3902        ::std::mem::replace(&mut self.help_link, ::std::string::String::new())
3903    }
3904}
3905
3906impl ::protobuf::Message for Inventory_WindowsApplication {
3907    fn is_initialized(&self) -> bool {
3908        for v in &self.install_date {
3909            if !v.is_initialized() {
3910                return false;
3911            }
3912        };
3913        true
3914    }
3915
3916    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3917        while !is.eof()? {
3918            let (field_number, wire_type) = is.read_tag_unpack()?;
3919            match field_number {
3920                1 => {
3921                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.display_name)?;
3922                },
3923                2 => {
3924                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.display_version)?;
3925                },
3926                3 => {
3927                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.publisher)?;
3928                },
3929                4 => {
3930                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.install_date)?;
3931                },
3932                5 => {
3933                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.help_link)?;
3934                },
3935                _ => {
3936                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3937                },
3938            };
3939        }
3940        ::std::result::Result::Ok(())
3941    }
3942
3943    // Compute sizes of nested messages
3944    #[allow(unused_variables)]
3945    fn compute_size(&self) -> u32 {
3946        let mut my_size = 0;
3947        if !self.display_name.is_empty() {
3948            my_size += ::protobuf::rt::string_size(1, &self.display_name);
3949        }
3950        if !self.display_version.is_empty() {
3951            my_size += ::protobuf::rt::string_size(2, &self.display_version);
3952        }
3953        if !self.publisher.is_empty() {
3954            my_size += ::protobuf::rt::string_size(3, &self.publisher);
3955        }
3956        if let Some(ref v) = self.install_date.as_ref() {
3957            let len = v.compute_size();
3958            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3959        }
3960        if !self.help_link.is_empty() {
3961            my_size += ::protobuf::rt::string_size(5, &self.help_link);
3962        }
3963        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3964        self.cached_size.set(my_size);
3965        my_size
3966    }
3967
3968    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3969        if !self.display_name.is_empty() {
3970            os.write_string(1, &self.display_name)?;
3971        }
3972        if !self.display_version.is_empty() {
3973            os.write_string(2, &self.display_version)?;
3974        }
3975        if !self.publisher.is_empty() {
3976            os.write_string(3, &self.publisher)?;
3977        }
3978        if let Some(ref v) = self.install_date.as_ref() {
3979            os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3980            os.write_raw_varint32(v.get_cached_size())?;
3981            v.write_to_with_cached_sizes(os)?;
3982        }
3983        if !self.help_link.is_empty() {
3984            os.write_string(5, &self.help_link)?;
3985        }
3986        os.write_unknown_fields(self.get_unknown_fields())?;
3987        ::std::result::Result::Ok(())
3988    }
3989
3990    fn get_cached_size(&self) -> u32 {
3991        self.cached_size.get()
3992    }
3993
3994    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3995        &self.unknown_fields
3996    }
3997
3998    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3999        &mut self.unknown_fields
4000    }
4001
4002    fn as_any(&self) -> &dyn (::std::any::Any) {
4003        self as &dyn (::std::any::Any)
4004    }
4005    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4006        self as &mut dyn (::std::any::Any)
4007    }
4008    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4009        self
4010    }
4011
4012    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4013        Self::descriptor_static()
4014    }
4015
4016    fn new() -> Inventory_WindowsApplication {
4017        Inventory_WindowsApplication::new()
4018    }
4019
4020    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4021        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4022        descriptor.get(|| {
4023            let mut fields = ::std::vec::Vec::new();
4024            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4025                "display_name",
4026                |m: &Inventory_WindowsApplication| { &m.display_name },
4027                |m: &mut Inventory_WindowsApplication| { &mut m.display_name },
4028            ));
4029            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4030                "display_version",
4031                |m: &Inventory_WindowsApplication| { &m.display_version },
4032                |m: &mut Inventory_WindowsApplication| { &mut m.display_version },
4033            ));
4034            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4035                "publisher",
4036                |m: &Inventory_WindowsApplication| { &m.publisher },
4037                |m: &mut Inventory_WindowsApplication| { &mut m.publisher },
4038            ));
4039            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::date::Date>>(
4040                "install_date",
4041                |m: &Inventory_WindowsApplication| { &m.install_date },
4042                |m: &mut Inventory_WindowsApplication| { &mut m.install_date },
4043            ));
4044            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4045                "help_link",
4046                |m: &Inventory_WindowsApplication| { &m.help_link },
4047                |m: &mut Inventory_WindowsApplication| { &mut m.help_link },
4048            ));
4049            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Inventory_WindowsApplication>(
4050                "Inventory.WindowsApplication",
4051                fields,
4052                file_descriptor_proto()
4053            )
4054        })
4055    }
4056
4057    fn default_instance() -> &'static Inventory_WindowsApplication {
4058        static instance: ::protobuf::rt::LazyV2<Inventory_WindowsApplication> = ::protobuf::rt::LazyV2::INIT;
4059        instance.get(Inventory_WindowsApplication::new)
4060    }
4061}
4062
4063impl ::protobuf::Clear for Inventory_WindowsApplication {
4064    fn clear(&mut self) {
4065        self.display_name.clear();
4066        self.display_version.clear();
4067        self.publisher.clear();
4068        self.install_date.clear();
4069        self.help_link.clear();
4070        self.unknown_fields.clear();
4071    }
4072}
4073
4074impl ::std::fmt::Debug for Inventory_WindowsApplication {
4075    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4076        ::protobuf::text_format::fmt(self, f)
4077    }
4078}
4079
4080impl ::protobuf::reflect::ProtobufValue for Inventory_WindowsApplication {
4081    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4082        ::protobuf::reflect::ReflectValueRef::Message(self)
4083    }
4084}
4085
4086#[derive(PartialEq,Clone,Default)]
4087pub struct GetInventoryRequest {
4088    // message fields
4089    pub name: ::std::string::String,
4090    pub view: InventoryView,
4091    // special fields
4092    pub unknown_fields: ::protobuf::UnknownFields,
4093    pub cached_size: ::protobuf::CachedSize,
4094}
4095
4096impl<'a> ::std::default::Default for &'a GetInventoryRequest {
4097    fn default() -> &'a GetInventoryRequest {
4098        <GetInventoryRequest as ::protobuf::Message>::default_instance()
4099    }
4100}
4101
4102impl GetInventoryRequest {
4103    pub fn new() -> GetInventoryRequest {
4104        ::std::default::Default::default()
4105    }
4106
4107    // string name = 1;
4108
4109
4110    pub fn get_name(&self) -> &str {
4111        &self.name
4112    }
4113    pub fn clear_name(&mut self) {
4114        self.name.clear();
4115    }
4116
4117    // Param is passed by value, moved
4118    pub fn set_name(&mut self, v: ::std::string::String) {
4119        self.name = v;
4120    }
4121
4122    // Mutable pointer to the field.
4123    // If field is not initialized, it is initialized with default value first.
4124    pub fn mut_name(&mut self) -> &mut ::std::string::String {
4125        &mut self.name
4126    }
4127
4128    // Take field
4129    pub fn take_name(&mut self) -> ::std::string::String {
4130        ::std::mem::replace(&mut self.name, ::std::string::String::new())
4131    }
4132
4133    // .google.cloud.osconfig.v1.InventoryView view = 2;
4134
4135
4136    pub fn get_view(&self) -> InventoryView {
4137        self.view
4138    }
4139    pub fn clear_view(&mut self) {
4140        self.view = InventoryView::INVENTORY_VIEW_UNSPECIFIED;
4141    }
4142
4143    // Param is passed by value, moved
4144    pub fn set_view(&mut self, v: InventoryView) {
4145        self.view = v;
4146    }
4147}
4148
4149impl ::protobuf::Message for GetInventoryRequest {
4150    fn is_initialized(&self) -> bool {
4151        true
4152    }
4153
4154    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4155        while !is.eof()? {
4156            let (field_number, wire_type) = is.read_tag_unpack()?;
4157            match field_number {
4158                1 => {
4159                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
4160                },
4161                2 => {
4162                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.view, 2, &mut self.unknown_fields)?
4163                },
4164                _ => {
4165                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4166                },
4167            };
4168        }
4169        ::std::result::Result::Ok(())
4170    }
4171
4172    // Compute sizes of nested messages
4173    #[allow(unused_variables)]
4174    fn compute_size(&self) -> u32 {
4175        let mut my_size = 0;
4176        if !self.name.is_empty() {
4177            my_size += ::protobuf::rt::string_size(1, &self.name);
4178        }
4179        if self.view != InventoryView::INVENTORY_VIEW_UNSPECIFIED {
4180            my_size += ::protobuf::rt::enum_size(2, self.view);
4181        }
4182        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4183        self.cached_size.set(my_size);
4184        my_size
4185    }
4186
4187    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4188        if !self.name.is_empty() {
4189            os.write_string(1, &self.name)?;
4190        }
4191        if self.view != InventoryView::INVENTORY_VIEW_UNSPECIFIED {
4192            os.write_enum(2, ::protobuf::ProtobufEnum::value(&self.view))?;
4193        }
4194        os.write_unknown_fields(self.get_unknown_fields())?;
4195        ::std::result::Result::Ok(())
4196    }
4197
4198    fn get_cached_size(&self) -> u32 {
4199        self.cached_size.get()
4200    }
4201
4202    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4203        &self.unknown_fields
4204    }
4205
4206    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4207        &mut self.unknown_fields
4208    }
4209
4210    fn as_any(&self) -> &dyn (::std::any::Any) {
4211        self as &dyn (::std::any::Any)
4212    }
4213    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4214        self as &mut dyn (::std::any::Any)
4215    }
4216    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4217        self
4218    }
4219
4220    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4221        Self::descriptor_static()
4222    }
4223
4224    fn new() -> GetInventoryRequest {
4225        GetInventoryRequest::new()
4226    }
4227
4228    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4229        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4230        descriptor.get(|| {
4231            let mut fields = ::std::vec::Vec::new();
4232            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4233                "name",
4234                |m: &GetInventoryRequest| { &m.name },
4235                |m: &mut GetInventoryRequest| { &mut m.name },
4236            ));
4237            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<InventoryView>>(
4238                "view",
4239                |m: &GetInventoryRequest| { &m.view },
4240                |m: &mut GetInventoryRequest| { &mut m.view },
4241            ));
4242            ::protobuf::reflect::MessageDescriptor::new_pb_name::<GetInventoryRequest>(
4243                "GetInventoryRequest",
4244                fields,
4245                file_descriptor_proto()
4246            )
4247        })
4248    }
4249
4250    fn default_instance() -> &'static GetInventoryRequest {
4251        static instance: ::protobuf::rt::LazyV2<GetInventoryRequest> = ::protobuf::rt::LazyV2::INIT;
4252        instance.get(GetInventoryRequest::new)
4253    }
4254}
4255
4256impl ::protobuf::Clear for GetInventoryRequest {
4257    fn clear(&mut self) {
4258        self.name.clear();
4259        self.view = InventoryView::INVENTORY_VIEW_UNSPECIFIED;
4260        self.unknown_fields.clear();
4261    }
4262}
4263
4264impl ::std::fmt::Debug for GetInventoryRequest {
4265    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4266        ::protobuf::text_format::fmt(self, f)
4267    }
4268}
4269
4270impl ::protobuf::reflect::ProtobufValue for GetInventoryRequest {
4271    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4272        ::protobuf::reflect::ReflectValueRef::Message(self)
4273    }
4274}
4275
4276#[derive(PartialEq,Clone,Default)]
4277pub struct ListInventoriesRequest {
4278    // message fields
4279    pub parent: ::std::string::String,
4280    pub view: InventoryView,
4281    pub page_size: i32,
4282    pub page_token: ::std::string::String,
4283    pub filter: ::std::string::String,
4284    // special fields
4285    pub unknown_fields: ::protobuf::UnknownFields,
4286    pub cached_size: ::protobuf::CachedSize,
4287}
4288
4289impl<'a> ::std::default::Default for &'a ListInventoriesRequest {
4290    fn default() -> &'a ListInventoriesRequest {
4291        <ListInventoriesRequest as ::protobuf::Message>::default_instance()
4292    }
4293}
4294
4295impl ListInventoriesRequest {
4296    pub fn new() -> ListInventoriesRequest {
4297        ::std::default::Default::default()
4298    }
4299
4300    // string parent = 1;
4301
4302
4303    pub fn get_parent(&self) -> &str {
4304        &self.parent
4305    }
4306    pub fn clear_parent(&mut self) {
4307        self.parent.clear();
4308    }
4309
4310    // Param is passed by value, moved
4311    pub fn set_parent(&mut self, v: ::std::string::String) {
4312        self.parent = v;
4313    }
4314
4315    // Mutable pointer to the field.
4316    // If field is not initialized, it is initialized with default value first.
4317    pub fn mut_parent(&mut self) -> &mut ::std::string::String {
4318        &mut self.parent
4319    }
4320
4321    // Take field
4322    pub fn take_parent(&mut self) -> ::std::string::String {
4323        ::std::mem::replace(&mut self.parent, ::std::string::String::new())
4324    }
4325
4326    // .google.cloud.osconfig.v1.InventoryView view = 2;
4327
4328
4329    pub fn get_view(&self) -> InventoryView {
4330        self.view
4331    }
4332    pub fn clear_view(&mut self) {
4333        self.view = InventoryView::INVENTORY_VIEW_UNSPECIFIED;
4334    }
4335
4336    // Param is passed by value, moved
4337    pub fn set_view(&mut self, v: InventoryView) {
4338        self.view = v;
4339    }
4340
4341    // int32 page_size = 3;
4342
4343
4344    pub fn get_page_size(&self) -> i32 {
4345        self.page_size
4346    }
4347    pub fn clear_page_size(&mut self) {
4348        self.page_size = 0;
4349    }
4350
4351    // Param is passed by value, moved
4352    pub fn set_page_size(&mut self, v: i32) {
4353        self.page_size = v;
4354    }
4355
4356    // string page_token = 4;
4357
4358
4359    pub fn get_page_token(&self) -> &str {
4360        &self.page_token
4361    }
4362    pub fn clear_page_token(&mut self) {
4363        self.page_token.clear();
4364    }
4365
4366    // Param is passed by value, moved
4367    pub fn set_page_token(&mut self, v: ::std::string::String) {
4368        self.page_token = v;
4369    }
4370
4371    // Mutable pointer to the field.
4372    // If field is not initialized, it is initialized with default value first.
4373    pub fn mut_page_token(&mut self) -> &mut ::std::string::String {
4374        &mut self.page_token
4375    }
4376
4377    // Take field
4378    pub fn take_page_token(&mut self) -> ::std::string::String {
4379        ::std::mem::replace(&mut self.page_token, ::std::string::String::new())
4380    }
4381
4382    // string filter = 5;
4383
4384
4385    pub fn get_filter(&self) -> &str {
4386        &self.filter
4387    }
4388    pub fn clear_filter(&mut self) {
4389        self.filter.clear();
4390    }
4391
4392    // Param is passed by value, moved
4393    pub fn set_filter(&mut self, v: ::std::string::String) {
4394        self.filter = v;
4395    }
4396
4397    // Mutable pointer to the field.
4398    // If field is not initialized, it is initialized with default value first.
4399    pub fn mut_filter(&mut self) -> &mut ::std::string::String {
4400        &mut self.filter
4401    }
4402
4403    // Take field
4404    pub fn take_filter(&mut self) -> ::std::string::String {
4405        ::std::mem::replace(&mut self.filter, ::std::string::String::new())
4406    }
4407}
4408
4409impl ::protobuf::Message for ListInventoriesRequest {
4410    fn is_initialized(&self) -> bool {
4411        true
4412    }
4413
4414    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4415        while !is.eof()? {
4416            let (field_number, wire_type) = is.read_tag_unpack()?;
4417            match field_number {
4418                1 => {
4419                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent)?;
4420                },
4421                2 => {
4422                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.view, 2, &mut self.unknown_fields)?
4423                },
4424                3 => {
4425                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
4426                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
4427                    }
4428                    let tmp = is.read_int32()?;
4429                    self.page_size = tmp;
4430                },
4431                4 => {
4432                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.page_token)?;
4433                },
4434                5 => {
4435                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.filter)?;
4436                },
4437                _ => {
4438                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4439                },
4440            };
4441        }
4442        ::std::result::Result::Ok(())
4443    }
4444
4445    // Compute sizes of nested messages
4446    #[allow(unused_variables)]
4447    fn compute_size(&self) -> u32 {
4448        let mut my_size = 0;
4449        if !self.parent.is_empty() {
4450            my_size += ::protobuf::rt::string_size(1, &self.parent);
4451        }
4452        if self.view != InventoryView::INVENTORY_VIEW_UNSPECIFIED {
4453            my_size += ::protobuf::rt::enum_size(2, self.view);
4454        }
4455        if self.page_size != 0 {
4456            my_size += ::protobuf::rt::value_size(3, self.page_size, ::protobuf::wire_format::WireTypeVarint);
4457        }
4458        if !self.page_token.is_empty() {
4459            my_size += ::protobuf::rt::string_size(4, &self.page_token);
4460        }
4461        if !self.filter.is_empty() {
4462            my_size += ::protobuf::rt::string_size(5, &self.filter);
4463        }
4464        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4465        self.cached_size.set(my_size);
4466        my_size
4467    }
4468
4469    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4470        if !self.parent.is_empty() {
4471            os.write_string(1, &self.parent)?;
4472        }
4473        if self.view != InventoryView::INVENTORY_VIEW_UNSPECIFIED {
4474            os.write_enum(2, ::protobuf::ProtobufEnum::value(&self.view))?;
4475        }
4476        if self.page_size != 0 {
4477            os.write_int32(3, self.page_size)?;
4478        }
4479        if !self.page_token.is_empty() {
4480            os.write_string(4, &self.page_token)?;
4481        }
4482        if !self.filter.is_empty() {
4483            os.write_string(5, &self.filter)?;
4484        }
4485        os.write_unknown_fields(self.get_unknown_fields())?;
4486        ::std::result::Result::Ok(())
4487    }
4488
4489    fn get_cached_size(&self) -> u32 {
4490        self.cached_size.get()
4491    }
4492
4493    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4494        &self.unknown_fields
4495    }
4496
4497    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4498        &mut self.unknown_fields
4499    }
4500
4501    fn as_any(&self) -> &dyn (::std::any::Any) {
4502        self as &dyn (::std::any::Any)
4503    }
4504    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4505        self as &mut dyn (::std::any::Any)
4506    }
4507    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4508        self
4509    }
4510
4511    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4512        Self::descriptor_static()
4513    }
4514
4515    fn new() -> ListInventoriesRequest {
4516        ListInventoriesRequest::new()
4517    }
4518
4519    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4520        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4521        descriptor.get(|| {
4522            let mut fields = ::std::vec::Vec::new();
4523            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4524                "parent",
4525                |m: &ListInventoriesRequest| { &m.parent },
4526                |m: &mut ListInventoriesRequest| { &mut m.parent },
4527            ));
4528            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<InventoryView>>(
4529                "view",
4530                |m: &ListInventoriesRequest| { &m.view },
4531                |m: &mut ListInventoriesRequest| { &mut m.view },
4532            ));
4533            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
4534                "page_size",
4535                |m: &ListInventoriesRequest| { &m.page_size },
4536                |m: &mut ListInventoriesRequest| { &mut m.page_size },
4537            ));
4538            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4539                "page_token",
4540                |m: &ListInventoriesRequest| { &m.page_token },
4541                |m: &mut ListInventoriesRequest| { &mut m.page_token },
4542            ));
4543            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4544                "filter",
4545                |m: &ListInventoriesRequest| { &m.filter },
4546                |m: &mut ListInventoriesRequest| { &mut m.filter },
4547            ));
4548            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListInventoriesRequest>(
4549                "ListInventoriesRequest",
4550                fields,
4551                file_descriptor_proto()
4552            )
4553        })
4554    }
4555
4556    fn default_instance() -> &'static ListInventoriesRequest {
4557        static instance: ::protobuf::rt::LazyV2<ListInventoriesRequest> = ::protobuf::rt::LazyV2::INIT;
4558        instance.get(ListInventoriesRequest::new)
4559    }
4560}
4561
4562impl ::protobuf::Clear for ListInventoriesRequest {
4563    fn clear(&mut self) {
4564        self.parent.clear();
4565        self.view = InventoryView::INVENTORY_VIEW_UNSPECIFIED;
4566        self.page_size = 0;
4567        self.page_token.clear();
4568        self.filter.clear();
4569        self.unknown_fields.clear();
4570    }
4571}
4572
4573impl ::std::fmt::Debug for ListInventoriesRequest {
4574    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4575        ::protobuf::text_format::fmt(self, f)
4576    }
4577}
4578
4579impl ::protobuf::reflect::ProtobufValue for ListInventoriesRequest {
4580    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4581        ::protobuf::reflect::ReflectValueRef::Message(self)
4582    }
4583}
4584
4585#[derive(PartialEq,Clone,Default)]
4586pub struct ListInventoriesResponse {
4587    // message fields
4588    pub inventories: ::protobuf::RepeatedField<Inventory>,
4589    pub next_page_token: ::std::string::String,
4590    // special fields
4591    pub unknown_fields: ::protobuf::UnknownFields,
4592    pub cached_size: ::protobuf::CachedSize,
4593}
4594
4595impl<'a> ::std::default::Default for &'a ListInventoriesResponse {
4596    fn default() -> &'a ListInventoriesResponse {
4597        <ListInventoriesResponse as ::protobuf::Message>::default_instance()
4598    }
4599}
4600
4601impl ListInventoriesResponse {
4602    pub fn new() -> ListInventoriesResponse {
4603        ::std::default::Default::default()
4604    }
4605
4606    // repeated .google.cloud.osconfig.v1.Inventory inventories = 1;
4607
4608
4609    pub fn get_inventories(&self) -> &[Inventory] {
4610        &self.inventories
4611    }
4612    pub fn clear_inventories(&mut self) {
4613        self.inventories.clear();
4614    }
4615
4616    // Param is passed by value, moved
4617    pub fn set_inventories(&mut self, v: ::protobuf::RepeatedField<Inventory>) {
4618        self.inventories = v;
4619    }
4620
4621    // Mutable pointer to the field.
4622    pub fn mut_inventories(&mut self) -> &mut ::protobuf::RepeatedField<Inventory> {
4623        &mut self.inventories
4624    }
4625
4626    // Take field
4627    pub fn take_inventories(&mut self) -> ::protobuf::RepeatedField<Inventory> {
4628        ::std::mem::replace(&mut self.inventories, ::protobuf::RepeatedField::new())
4629    }
4630
4631    // string next_page_token = 2;
4632
4633
4634    pub fn get_next_page_token(&self) -> &str {
4635        &self.next_page_token
4636    }
4637    pub fn clear_next_page_token(&mut self) {
4638        self.next_page_token.clear();
4639    }
4640
4641    // Param is passed by value, moved
4642    pub fn set_next_page_token(&mut self, v: ::std::string::String) {
4643        self.next_page_token = v;
4644    }
4645
4646    // Mutable pointer to the field.
4647    // If field is not initialized, it is initialized with default value first.
4648    pub fn mut_next_page_token(&mut self) -> &mut ::std::string::String {
4649        &mut self.next_page_token
4650    }
4651
4652    // Take field
4653    pub fn take_next_page_token(&mut self) -> ::std::string::String {
4654        ::std::mem::replace(&mut self.next_page_token, ::std::string::String::new())
4655    }
4656}
4657
4658impl ::protobuf::Message for ListInventoriesResponse {
4659    fn is_initialized(&self) -> bool {
4660        for v in &self.inventories {
4661            if !v.is_initialized() {
4662                return false;
4663            }
4664        };
4665        true
4666    }
4667
4668    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4669        while !is.eof()? {
4670            let (field_number, wire_type) = is.read_tag_unpack()?;
4671            match field_number {
4672                1 => {
4673                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.inventories)?;
4674                },
4675                2 => {
4676                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.next_page_token)?;
4677                },
4678                _ => {
4679                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4680                },
4681            };
4682        }
4683        ::std::result::Result::Ok(())
4684    }
4685
4686    // Compute sizes of nested messages
4687    #[allow(unused_variables)]
4688    fn compute_size(&self) -> u32 {
4689        let mut my_size = 0;
4690        for value in &self.inventories {
4691            let len = value.compute_size();
4692            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
4693        };
4694        if !self.next_page_token.is_empty() {
4695            my_size += ::protobuf::rt::string_size(2, &self.next_page_token);
4696        }
4697        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4698        self.cached_size.set(my_size);
4699        my_size
4700    }
4701
4702    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4703        for v in &self.inventories {
4704            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
4705            os.write_raw_varint32(v.get_cached_size())?;
4706            v.write_to_with_cached_sizes(os)?;
4707        };
4708        if !self.next_page_token.is_empty() {
4709            os.write_string(2, &self.next_page_token)?;
4710        }
4711        os.write_unknown_fields(self.get_unknown_fields())?;
4712        ::std::result::Result::Ok(())
4713    }
4714
4715    fn get_cached_size(&self) -> u32 {
4716        self.cached_size.get()
4717    }
4718
4719    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4720        &self.unknown_fields
4721    }
4722
4723    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4724        &mut self.unknown_fields
4725    }
4726
4727    fn as_any(&self) -> &dyn (::std::any::Any) {
4728        self as &dyn (::std::any::Any)
4729    }
4730    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4731        self as &mut dyn (::std::any::Any)
4732    }
4733    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4734        self
4735    }
4736
4737    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4738        Self::descriptor_static()
4739    }
4740
4741    fn new() -> ListInventoriesResponse {
4742        ListInventoriesResponse::new()
4743    }
4744
4745    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4746        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4747        descriptor.get(|| {
4748            let mut fields = ::std::vec::Vec::new();
4749            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Inventory>>(
4750                "inventories",
4751                |m: &ListInventoriesResponse| { &m.inventories },
4752                |m: &mut ListInventoriesResponse| { &mut m.inventories },
4753            ));
4754            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4755                "next_page_token",
4756                |m: &ListInventoriesResponse| { &m.next_page_token },
4757                |m: &mut ListInventoriesResponse| { &mut m.next_page_token },
4758            ));
4759            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListInventoriesResponse>(
4760                "ListInventoriesResponse",
4761                fields,
4762                file_descriptor_proto()
4763            )
4764        })
4765    }
4766
4767    fn default_instance() -> &'static ListInventoriesResponse {
4768        static instance: ::protobuf::rt::LazyV2<ListInventoriesResponse> = ::protobuf::rt::LazyV2::INIT;
4769        instance.get(ListInventoriesResponse::new)
4770    }
4771}
4772
4773impl ::protobuf::Clear for ListInventoriesResponse {
4774    fn clear(&mut self) {
4775        self.inventories.clear();
4776        self.next_page_token.clear();
4777        self.unknown_fields.clear();
4778    }
4779}
4780
4781impl ::std::fmt::Debug for ListInventoriesResponse {
4782    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4783        ::protobuf::text_format::fmt(self, f)
4784    }
4785}
4786
4787impl ::protobuf::reflect::ProtobufValue for ListInventoriesResponse {
4788    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4789        ::protobuf::reflect::ReflectValueRef::Message(self)
4790    }
4791}
4792
4793#[derive(Clone,PartialEq,Eq,Debug,Hash)]
4794pub enum InventoryView {
4795    INVENTORY_VIEW_UNSPECIFIED = 0,
4796    BASIC = 1,
4797    FULL = 2,
4798}
4799
4800impl ::protobuf::ProtobufEnum for InventoryView {
4801    fn value(&self) -> i32 {
4802        *self as i32
4803    }
4804
4805    fn from_i32(value: i32) -> ::std::option::Option<InventoryView> {
4806        match value {
4807            0 => ::std::option::Option::Some(InventoryView::INVENTORY_VIEW_UNSPECIFIED),
4808            1 => ::std::option::Option::Some(InventoryView::BASIC),
4809            2 => ::std::option::Option::Some(InventoryView::FULL),
4810            _ => ::std::option::Option::None
4811        }
4812    }
4813
4814    fn values() -> &'static [Self] {
4815        static values: &'static [InventoryView] = &[
4816            InventoryView::INVENTORY_VIEW_UNSPECIFIED,
4817            InventoryView::BASIC,
4818            InventoryView::FULL,
4819        ];
4820        values
4821    }
4822
4823    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
4824        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
4825        descriptor.get(|| {
4826            ::protobuf::reflect::EnumDescriptor::new_pb_name::<InventoryView>("InventoryView", file_descriptor_proto())
4827        })
4828    }
4829}
4830
4831impl ::std::marker::Copy for InventoryView {
4832}
4833
4834impl ::std::default::Default for InventoryView {
4835    fn default() -> Self {
4836        InventoryView::INVENTORY_VIEW_UNSPECIFIED
4837    }
4838}
4839
4840impl ::protobuf::reflect::ProtobufValue for InventoryView {
4841    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4842        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
4843    }
4844}
4845
4846static file_descriptor_proto_data: &'static [u8] = b"\
4847    \n(google/cloud/osconfig/v1/inventory.proto\x12\x18google.cloud.osconfig\
4848    .v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.pr\
4849    oto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x16google/type/date.proto\
4850    \"\xfa\x1a\n\tInventory\x12\x17\n\x04name\x18\x03\x20\x01(\tR\x04nameB\
4851    \x03\xe0A\x03\x12C\n\x07os_info\x18\x01\x20\x01(\x0b2*.google.cloud.osco\
4852    nfig.v1.Inventory.OsInfoR\x06osInfo\x12D\n\x05items\x18\x02\x20\x03(\x0b\
4853    2..google.cloud.osconfig.v1.Inventory.ItemsEntryR\x05items\x12@\n\x0bupd\
4854    ate_time\x18\x04\x20\x01(\x0b2\x1a.google.protobuf.TimestampR\nupdateTim\
4855    eB\x03\xe0A\x03\x1a\xa2\x02\n\x06OsInfo\x12\x1a\n\x08hostname\x18\t\x20\
4856    \x01(\tR\x08hostname\x12\x1b\n\tlong_name\x18\x02\x20\x01(\tR\x08longNam\
4857    e\x12\x1d\n\nshort_name\x18\x03\x20\x01(\tR\tshortName\x12\x18\n\x07vers\
4858    ion\x18\x04\x20\x01(\tR\x07version\x12\"\n\x0carchitecture\x18\x05\x20\
4859    \x01(\tR\x0carchitecture\x12%\n\x0ekernel_version\x18\x06\x20\x01(\tR\rk\
4860    ernelVersion\x12%\n\x0ekernel_release\x18\x07\x20\x01(\tR\rkernelRelease\
4861    \x124\n\x16osconfig_agent_version\x18\x08\x20\x01(\tR\x14osconfigAgentVe\
4862    rsion\x1a\x89\x05\n\x04Item\x12\x0e\n\x02id\x18\x01\x20\x01(\tR\x02id\
4863    \x12T\n\x0borigin_type\x18\x02\x20\x01(\x0e23.google.cloud.osconfig.v1.I\
4864    nventory.Item.OriginTypeR\noriginType\x12;\n\x0bcreate_time\x18\x08\x20\
4865    \x01(\x0b2\x1a.google.protobuf.TimestampR\ncreateTime\x12;\n\x0bupdate_t\
4866    ime\x18\t\x20\x01(\x0b2\x1a.google.protobuf.TimestampR\nupdateTime\x12A\
4867    \n\x04type\x18\x05\x20\x01(\x0e2-.google.cloud.osconfig.v1.Inventory.Ite\
4868    m.TypeR\x04type\x12b\n\x11installed_package\x18\x06\x20\x01(\x0b23.googl\
4869    e.cloud.osconfig.v1.Inventory.SoftwarePackageH\0R\x10installedPackage\
4870    \x12b\n\x11available_package\x18\x07\x20\x01(\x0b23.google.cloud.osconfi\
4871    g.v1.Inventory.SoftwarePackageH\0R\x10availablePackage\"?\n\nOriginType\
4872    \x12\x1b\n\x17ORIGIN_TYPE_UNSPECIFIED\x10\0\x12\x14\n\x10INVENTORY_REPOR\
4873    T\x10\x01\"J\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\0\x12\x15\n\x11\
4874    INSTALLED_PACKAGE\x10\x01\x12\x15\n\x11AVAILABLE_PACKAGE\x10\x02B\t\n\
4875    \x07details\x1a\xed\x06\n\x0fSoftwarePackage\x12W\n\x0byum_package\x18\
4876    \x01\x20\x01(\x0b24.google.cloud.osconfig.v1.Inventory.VersionedPackageH\
4877    \0R\nyumPackage\x12W\n\x0bapt_package\x18\x02\x20\x01(\x0b24.google.clou\
4878    d.osconfig.v1.Inventory.VersionedPackageH\0R\naptPackage\x12]\n\x0ezyppe\
4879    r_package\x18\x03\x20\x01(\x0b24.google.cloud.osconfig.v1.Inventory.Vers\
4880    ionedPackageH\0R\rzypperPackage\x12]\n\x0egooget_package\x18\x04\x20\x01\
4881    (\x0b24.google.cloud.osconfig.v1.Inventory.VersionedPackageH\0R\rgoogetP\
4882    ackage\x12T\n\x0czypper_patch\x18\x05\x20\x01(\x0b2/.google.cloud.osconf\
4883    ig.v1.Inventory.ZypperPatchH\0R\x0bzypperPatch\x12[\n\x0bwua_package\x18\
4884    \x06\x20\x01(\x0b28.google.cloud.osconfig.v1.Inventory.WindowsUpdatePack\
4885    ageH\0R\nwuaPackage\x12h\n\x0bqfe_package\x18\x07\x20\x01(\x0b2E.google.\
4886    cloud.osconfig.v1.Inventory.WindowsQuickFixEngineeringPackageH\0R\nqfePa\
4887    ckage\x12W\n\x0bcos_package\x18\x08\x20\x01(\x0b24.google.cloud.osconfig\
4888    .v1.Inventory.VersionedPackageH\0R\ncosPackage\x12i\n\x13windows_applica\
4889    tion\x18\t\x20\x01(\x0b26.google.cloud.osconfig.v1.Inventory.WindowsAppl\
4890    icationH\0R\x12windowsApplicationB\t\n\x07details\x1as\n\x10VersionedPac\
4891    kage\x12!\n\x0cpackage_name\x18\x04\x20\x01(\tR\x0bpackageName\x12\"\n\
4892    \x0carchitecture\x18\x02\x20\x01(\tR\x0carchitecture\x12\x18\n\x07versio\
4893    n\x18\x03\x20\x01(\tR\x07version\x1a~\n\x0bZypperPatch\x12\x1d\n\npatch_\
4894    name\x18\x05\x20\x01(\tR\tpatchName\x12\x1a\n\x08category\x18\x02\x20\
4895    \x01(\tR\x08category\x12\x1a\n\x08severity\x18\x03\x20\x01(\tR\x08severi\
4896    ty\x12\x18\n\x07summary\x18\x04\x20\x01(\tR\x07summary\x1a\x89\x04\n\x14\
4897    WindowsUpdatePackage\x12\x14\n\x05title\x18\x01\x20\x01(\tR\x05title\x12\
4898    \x20\n\x0bdescription\x18\x02\x20\x01(\tR\x0bdescription\x12n\n\ncategor\
4899    ies\x18\x03\x20\x03(\x0b2N.google.cloud.osconfig.v1.Inventory.WindowsUpd\
4900    atePackage.WindowsUpdateCategoryR\ncategories\x12$\n\x0ekb_article_ids\
4901    \x18\x04\x20\x03(\tR\x0ckbArticleIds\x12\x1f\n\x0bsupport_url\x18\x0b\
4902    \x20\x01(\tR\nsupportUrl\x12$\n\x0emore_info_urls\x18\x05\x20\x03(\tR\
4903    \x0cmoreInfoUrls\x12\x1b\n\tupdate_id\x18\x06\x20\x01(\tR\x08updateId\
4904    \x12'\n\x0frevision_number\x18\x07\x20\x01(\x05R\x0erevisionNumber\x12Y\
4905    \n\x1blast_deployment_change_time\x18\n\x20\x01(\x0b2\x1a.google.protobu\
4906    f.TimestampR\x18lastDeploymentChangeTime\x1a;\n\x15WindowsUpdateCategory\
4907    \x12\x0e\n\x02id\x18\x01\x20\x01(\tR\x02id\x12\x12\n\x04name\x18\x02\x20\
4908    \x01(\tR\x04name\x1a\xbc\x01\n!WindowsQuickFixEngineeringPackage\x12\x18\
4909    \n\x07caption\x18\x01\x20\x01(\tR\x07caption\x12\x20\n\x0bdescription\
4910    \x18\x02\x20\x01(\tR\x0bdescription\x12\x1c\n\nhot_fix_id\x18\x03\x20\
4911    \x01(\tR\x08hotFixId\x12=\n\x0cinstall_time\x18\x05\x20\x01(\x0b2\x1a.go\
4912    ogle.protobuf.TimestampR\x0binstallTime\x1a\xd1\x01\n\x12WindowsApplicat\
4913    ion\x12!\n\x0cdisplay_name\x18\x01\x20\x01(\tR\x0bdisplayName\x12'\n\x0f\
4914    display_version\x18\x02\x20\x01(\tR\x0edisplayVersion\x12\x1c\n\tpublish\
4915    er\x18\x03\x20\x01(\tR\tpublisher\x124\n\x0cinstall_date\x18\x04\x20\x01\
4916    (\x0b2\x11.google.type.DateR\x0binstallDate\x12\x1b\n\thelp_link\x18\x05\
4917    \x20\x01(\tR\x08helpLink\x1ab\n\nItemsEntry\x12\x10\n\x03key\x18\x01\x20\
4918    \x01(\tR\x03key\x12>\n\x05value\x18\x02\x20\x01(\x0b2(.google.cloud.osco\
4919    nfig.v1.Inventory.ItemR\x05value:\x028\x01:n\xeaAk\n!osconfig.googleapis\
4920    .com/Inventory\x12Fprojects/{project}/locations/{location}/instances/{in\
4921    stance}/inventory\"\x91\x01\n\x13GetInventoryRequest\x12=\n\x04name\x18\
4922    \x01\x20\x01(\tR\x04nameB)\xfaA#\n!osconfig.googleapis.com/Inventory\xe0\
4923    A\x02\x12;\n\x04view\x18\x02\x20\x01(\x0e2'.google.cloud.osconfig.v1.Inv\
4924    entoryViewR\x04view\"\xea\x01\n\x16ListInventoriesRequest\x12?\n\x06pare\
4925    nt\x18\x01\x20\x01(\tR\x06parentB'\xfaA!\n\x1fcompute.googleapis.com/Ins\
4926    tance\xe0A\x02\x12;\n\x04view\x18\x02\x20\x01(\x0e2'.google.cloud.osconf\
4927    ig.v1.InventoryViewR\x04view\x12\x1b\n\tpage_size\x18\x03\x20\x01(\x05R\
4928    \x08pageSize\x12\x1d\n\npage_token\x18\x04\x20\x01(\tR\tpageToken\x12\
4929    \x16\n\x06filter\x18\x05\x20\x01(\tR\x06filter\"\x88\x01\n\x17ListInvent\
4930    oriesResponse\x12E\n\x0binventories\x18\x01\x20\x03(\x0b2#.google.cloud.\
4931    osconfig.v1.InventoryR\x0binventories\x12&\n\x0fnext_page_token\x18\x02\
4932    \x20\x01(\tR\rnextPageToken*D\n\rInventoryView\x12\x1e\n\x1aINVENTORY_VI\
4933    EW_UNSPECIFIED\x10\0\x12\t\n\x05BASIC\x10\x01\x12\x08\n\x04FULL\x10\x02B\
4934    \xbb\x01\n\x1ccom.google.cloud.osconfig.v1B\x0bInventoriesP\x01Z8cloud.g\
4935    oogle.com/go/osconfig/apiv1/osconfigpb;osconfigpb\xaa\x02\x18Google.Clou\
4936    d.OsConfig.V1\xca\x02\x18Google\\Cloud\\OsConfig\\V1\xea\x02\x1bGoogle::\
4937    Cloud::OsConfig::V1J\xfcl\n\x07\x12\x05\x0e\0\xff\x02\x01\n\xbc\x04\n\
4938    \x01\x0c\x12\x03\x0e\0\x122\xb1\x04\x20Copyright\x202021\x20Google\x20LL\
4939    C\n\n\x20Licensed\x20under\x20the\x20Apache\x20License,\x20Version\x202.\
4940    0\x20(the\x20\"License\");\n\x20you\x20may\x20not\x20use\x20this\x20file\
4941    \x20except\x20in\x20compliance\x20with\x20the\x20License.\n\x20You\x20ma\
4942    y\x20obtain\x20a\x20copy\x20of\x20the\x20License\x20at\n\n\x20\x20\x20\
4943    \x20\x20http://www.apache.org/licenses/LICENSE-2.0\n\n\x20Unless\x20requ\
4944    ired\x20by\x20applicable\x20law\x20or\x20agreed\x20to\x20in\x20writing,\
4945    \x20software\n\x20distributed\x20under\x20the\x20License\x20is\x20distri\
4946    buted\x20on\x20an\x20\"AS\x20IS\"\x20BASIS,\n\x20WITHOUT\x20WARRANTIES\
4947    \x20OR\x20CONDITIONS\x20OF\x20ANY\x20KIND,\x20either\x20express\x20or\
4948    \x20implied.\n\x20See\x20the\x20License\x20for\x20the\x20specific\x20lan\
4949    guage\x20governing\x20permissions\x20and\n\x20limitations\x20under\x20th\
4950    e\x20License.\n\n\x08\n\x01\x02\x12\x03\x10\0!\n\t\n\x02\x03\0\x12\x03\
4951    \x12\0)\n\t\n\x02\x03\x01\x12\x03\x13\0#\n\t\n\x02\x03\x02\x12\x03\x14\0\
4952    )\n\t\n\x02\x03\x03\x12\x03\x15\0\x20\n\x08\n\x01\x08\x12\x03\x17\05\n\t\
4953    \n\x02\x08%\x12\x03\x17\05\n\x08\n\x01\x08\x12\x03\x18\0O\n\t\n\x02\x08\
4954    \x0b\x12\x03\x18\0O\n\x08\n\x01\x08\x12\x03\x19\0\"\n\t\n\x02\x08\n\x12\
4955    \x03\x19\0\"\n\x08\n\x01\x08\x12\x03\x1a\0,\n\t\n\x02\x08\x08\x12\x03\
4956    \x1a\0,\n\x08\n\x01\x08\x12\x03\x1b\05\n\t\n\x02\x08\x01\x12\x03\x1b\05\
4957    \n\x08\n\x01\x08\x12\x03\x1c\05\n\t\n\x02\x08)\x12\x03\x1c\05\n\x08\n\
4958    \x01\x08\x12\x03\x1d\04\n\t\n\x02\x08-\x12\x03\x1d\04\n\x87\x04\n\x02\
4959    \x04\0\x12\x05)\0\xb2\x02\x01\x1a\xfd\x02\x20This\x20API\x20resource\x20\
4960    represents\x20the\x20available\x20inventory\x20data\x20for\x20a\n\x20Com\
4961    pute\x20Engine\x20virtual\x20machine\x20(VM)\x20instance\x20at\x20a\x20g\
4962    iven\x20point\x20in\x20time.\n\n\x20You\x20can\x20use\x20this\x20API\x20\
4963    resource\x20to\x20determine\x20the\x20inventory\x20data\x20of\x20your\
4964    \x20VM.\n\n\x20For\x20more\x20information,\x20see\x20[Information\x20pro\
4965    vided\x20by\x20OS\x20inventory\n\x20management](https://cloud.google.com\
4966    /compute/docs/instances/os-inventory-management#data-collected).\n2z\x20\
4967    OS\x20Config\x20Inventory\x20is\x20a\x20service\x20for\x20collecting\x20\
4968    and\x20reporting\x20operating\n\x20system\x20and\x20package\x20informati\
4969    on\x20on\x20VM\x20instances.\n\n\n\n\x03\x04\0\x01\x12\x03)\x08\x11\n\
4970    \x0b\n\x03\x04\0\x07\x12\x04*\x02-\x04\n\r\n\x05\x04\0\x07\x9d\x08\x12\
4971    \x04*\x02-\x04\n8\n\x04\x04\0\x03\0\x12\x040\x02K\x03\x1a*\x20Operating\
4972    \x20system\x20information\x20for\x20the\x20VM.\n\n\x0c\n\x05\x04\0\x03\0\
4973    \x01\x12\x030\n\x10\n!\n\x06\x04\0\x03\0\x02\0\x12\x032\x04\x18\x1a\x12\
4974    \x20The\x20VM\x20hostname.\n\n\x0e\n\x07\x04\0\x03\0\x02\0\x05\x12\x032\
4975    \x04\n\n\x0e\n\x07\x04\0\x03\0\x02\0\x01\x12\x032\x0b\x13\n\x0e\n\x07\
4976    \x04\0\x03\0\x02\0\x03\x12\x032\x16\x17\n\x81\x01\n\x06\x04\0\x03\0\x02\
4977    \x01\x12\x037\x04\x19\x1ar\x20The\x20operating\x20system\x20long\x20name\
4978    .\n\x20For\x20example\x20'Debian\x20GNU/Linux\x209'\x20or\x20'Microsoft\
4979    \x20Window\x20Server\x202019\n\x20Datacenter'.\n\n\x0e\n\x07\x04\0\x03\0\
4980    \x02\x01\x05\x12\x037\x04\n\n\x0e\n\x07\x04\0\x03\0\x02\x01\x01\x12\x037\
4981    \x0b\x14\n\x0e\n\x07\x04\0\x03\0\x02\x01\x03\x12\x037\x17\x18\nV\n\x06\
4982    \x04\0\x03\0\x02\x02\x12\x03;\x04\x1a\x1aG\x20The\x20operating\x20system\
4983    \x20short\x20name.\n\x20For\x20example,\x20'windows'\x20or\x20'debian'.\
4984    \n\n\x0e\n\x07\x04\0\x03\0\x02\x02\x05\x12\x03;\x04\n\n\x0e\n\x07\x04\0\
4985    \x03\0\x02\x02\x01\x12\x03;\x0b\x15\n\x0e\n\x07\x04\0\x03\0\x02\x02\x03\
4986    \x12\x03;\x18\x19\n5\n\x06\x04\0\x03\0\x02\x03\x12\x03>\x04\x17\x1a&\x20\
4987    The\x20version\x20of\x20the\x20operating\x20system.\n\n\x0e\n\x07\x04\0\
4988    \x03\0\x02\x03\x05\x12\x03>\x04\n\n\x0e\n\x07\x04\0\x03\0\x02\x03\x01\
4989    \x12\x03>\x0b\x12\n\x0e\n\x07\x04\0\x03\0\x02\x03\x03\x12\x03>\x15\x16\n\
4990    A\n\x06\x04\0\x03\0\x02\x04\x12\x03A\x04\x1c\x1a2\x20The\x20system\x20ar\
4991    chitecture\x20of\x20the\x20operating\x20system.\n\n\x0e\n\x07\x04\0\x03\
4992    \0\x02\x04\x05\x12\x03A\x04\n\n\x0e\n\x07\x04\0\x03\0\x02\x04\x01\x12\
4993    \x03A\x0b\x17\n\x0e\n\x07\x04\0\x03\0\x02\x04\x03\x12\x03A\x1a\x1b\n<\n\
4994    \x06\x04\0\x03\0\x02\x05\x12\x03D\x04\x1e\x1a-\x20The\x20kernel\x20versi\
4995    on\x20of\x20the\x20operating\x20system.\n\n\x0e\n\x07\x04\0\x03\0\x02\
4996    \x05\x05\x12\x03D\x04\n\n\x0e\n\x07\x04\0\x03\0\x02\x05\x01\x12\x03D\x0b\
4997    \x19\n\x0e\n\x07\x04\0\x03\0\x02\x05\x03\x12\x03D\x1c\x1d\n<\n\x06\x04\0\
4998    \x03\0\x02\x06\x12\x03G\x04\x1e\x1a-\x20The\x20kernel\x20release\x20of\
4999    \x20the\x20operating\x20system.\n\n\x0e\n\x07\x04\0\x03\0\x02\x06\x05\
5000    \x12\x03G\x04\n\n\x0e\n\x07\x04\0\x03\0\x02\x06\x01\x12\x03G\x0b\x19\n\
5001    \x0e\n\x07\x04\0\x03\0\x02\x06\x03\x12\x03G\x1c\x1d\nN\n\x06\x04\0\x03\0\
5002    \x02\x07\x12\x03J\x04&\x1a?\x20The\x20current\x20version\x20of\x20the\
5003    \x20OS\x20Config\x20agent\x20running\x20on\x20the\x20VM.\n\n\x0e\n\x07\
5004    \x04\0\x03\0\x02\x07\x05\x12\x03J\x04\n\n\x0e\n\x07\x04\0\x03\0\x02\x07\
5005    \x01\x12\x03J\x0b!\n\x0e\n\x07\x04\0\x03\0\x02\x07\x03\x12\x03J$%\n4\n\
5006    \x04\x04\0\x03\x01\x12\x04N\x02|\x03\x1a&\x20A\x20single\x20piece\x20of\
5007    \x20inventory\x20on\x20a\x20VM.\n\n\x0c\n\x05\x04\0\x03\x01\x01\x12\x03N\
5008    \n\x0e\n:\n\x06\x04\0\x03\x01\x04\0\x12\x04P\x04W\x05\x1a*\x20The\x20ori\
5009    gin\x20of\x20a\x20specific\x20inventory\x20item.\n\n\x0e\n\x07\x04\0\x03\
5010    \x01\x04\0\x01\x12\x03P\t\x13\n=\n\x08\x04\0\x03\x01\x04\0\x02\0\x12\x03\
5011    R\x06\"\x1a,\x20Invalid.\x20An\x20origin\x20type\x20must\x20be\x20specif\
5012    ied.\n\n\x10\n\t\x04\0\x03\x01\x04\0\x02\0\x01\x12\x03R\x06\x1d\n\x10\n\
5013    \t\x04\0\x03\x01\x04\0\x02\0\x02\x12\x03R\x20!\n|\n\x08\x04\0\x03\x01\
5014    \x04\0\x02\x01\x12\x03V\x06\x1b\x1ak\x20This\x20inventory\x20item\x20was\
5015    \x20discovered\x20as\x20the\x20result\x20of\x20the\x20agent\n\x20reporti\
5016    ng\x20inventory\x20via\x20the\x20reporting\x20API.\n\n\x10\n\t\x04\0\x03\
5017    \x01\x04\0\x02\x01\x01\x12\x03V\x06\x16\n\x10\n\t\x04\0\x03\x01\x04\0\
5018    \x02\x01\x02\x12\x03V\x19\x1a\nL\n\x06\x04\0\x03\x01\x04\x01\x12\x04Z\
5019    \x04c\x05\x1a<\x20The\x20different\x20types\x20of\x20inventory\x20that\
5020    \x20are\x20tracked\x20on\x20a\x20VM.\n\n\x0e\n\x07\x04\0\x03\x01\x04\x01\
5021    \x01\x12\x03Z\t\r\n6\n\x08\x04\0\x03\x01\x04\x01\x02\0\x12\x03\\\x06\x1b\
5022    \x1a%\x20Invalid.\x20An\x20type\x20must\x20be\x20specified.\n\n\x10\n\t\
5023    \x04\0\x03\x01\x04\x01\x02\0\x01\x12\x03\\\x06\x16\n\x10\n\t\x04\0\x03\
5024    \x01\x04\x01\x02\0\x02\x12\x03\\\x19\x1a\nI\n\x08\x04\0\x03\x01\x04\x01\
5025    \x02\x01\x12\x03_\x06\x1c\x1a8\x20This\x20represents\x20a\x20package\x20\
5026    that\x20is\x20installed\x20on\x20the\x20VM.\n\n\x10\n\t\x04\0\x03\x01\
5027    \x04\x01\x02\x01\x01\x12\x03_\x06\x17\n\x10\n\t\x04\0\x03\x01\x04\x01\
5028    \x02\x01\x02\x12\x03_\x1a\x1b\nM\n\x08\x04\0\x03\x01\x04\x01\x02\x02\x12\
5029    \x03b\x06\x1c\x1a<\x20This\x20represents\x20an\x20update\x20that\x20is\
5030    \x20available\x20for\x20a\x20package.\n\n\x10\n\t\x04\0\x03\x01\x04\x01\
5031    \x02\x02\x01\x12\x03b\x06\x17\n\x10\n\t\x04\0\x03\x01\x04\x01\x02\x02\
5032    \x02\x12\x03b\x1a\x1b\nK\n\x06\x04\0\x03\x01\x02\0\x12\x03f\x04\x12\x1a<\
5033    \x20Identifier\x20for\x20this\x20item,\x20unique\x20across\x20items\x20f\
5034    or\x20this\x20VM.\n\n\x0e\n\x07\x04\0\x03\x01\x02\0\x05\x12\x03f\x04\n\n\
5035    \x0e\n\x07\x04\0\x03\x01\x02\0\x01\x12\x03f\x0b\r\n\x0e\n\x07\x04\0\x03\
5036    \x01\x02\0\x03\x12\x03f\x10\x11\n3\n\x06\x04\0\x03\x01\x02\x01\x12\x03i\
5037    \x04\x1f\x1a$\x20The\x20origin\x20of\x20this\x20inventory\x20item.\n\n\
5038    \x0e\n\x07\x04\0\x03\x01\x02\x01\x06\x12\x03i\x04\x0e\n\x0e\n\x07\x04\0\
5039    \x03\x01\x02\x01\x01\x12\x03i\x0f\x1a\n\x0e\n\x07\x04\0\x03\x01\x02\x01\
5040    \x03\x12\x03i\x1d\x1e\n=\n\x06\x04\0\x03\x01\x02\x02\x12\x03l\x04.\x1a.\
5041    \x20When\x20this\x20inventory\x20item\x20was\x20first\x20detected.\n\n\
5042    \x0e\n\x07\x04\0\x03\x01\x02\x02\x06\x12\x03l\x04\x1d\n\x0e\n\x07\x04\0\
5043    \x03\x01\x02\x02\x01\x12\x03l\x1e)\n\x0e\n\x07\x04\0\x03\x01\x02\x02\x03\
5044    \x12\x03l,-\n<\n\x06\x04\0\x03\x01\x02\x03\x12\x03o\x04.\x1a-\x20When\
5045    \x20this\x20inventory\x20item\x20was\x20last\x20modified.\n\n\x0e\n\x07\
5046    \x04\0\x03\x01\x02\x03\x06\x12\x03o\x04\x1d\n\x0e\n\x07\x04\0\x03\x01\
5047    \x02\x03\x01\x12\x03o\x1e)\n\x0e\n\x07\x04\0\x03\x01\x02\x03\x03\x12\x03\
5048    o,-\nU\n\x06\x04\0\x03\x01\x02\x04\x12\x03r\x04\x12\x1aF\x20The\x20speci\
5049    fic\x20type\x20of\x20inventory,\x20correlating\x20to\x20its\x20specific\
5050    \x20details.\n\n\x0e\n\x07\x04\0\x03\x01\x02\x04\x06\x12\x03r\x04\x08\n\
5051    \x0e\n\x07\x04\0\x03\x01\x02\x04\x01\x12\x03r\t\r\n\x0e\n\x07\x04\0\x03\
5052    \x01\x02\x04\x03\x12\x03r\x10\x11\nL\n\x06\x04\0\x03\x01\x08\0\x12\x04u\
5053    \x04{\x05\x1a<\x20Specific\x20details\x20of\x20this\x20inventory\x20item\
5054    \x20based\x20on\x20its\x20type.\n\n\x0e\n\x07\x04\0\x03\x01\x08\0\x01\
5055    \x12\x03u\n\x11\n=\n\x06\x04\0\x03\x01\x02\x05\x12\x03w\x06,\x1a.\x20Sof\
5056    tware\x20package\x20present\x20on\x20the\x20VM\x20instance.\n\n\x0e\n\
5057    \x07\x04\0\x03\x01\x02\x05\x06\x12\x03w\x06\x15\n\x0e\n\x07\x04\0\x03\
5058    \x01\x02\x05\x01\x12\x03w\x16'\n\x0e\n\x07\x04\0\x03\x01\x02\x05\x03\x12\
5059    \x03w*+\nO\n\x06\x04\0\x03\x01\x02\x06\x12\x03z\x06,\x1a@\x20Software\
5060    \x20package\x20available\x20to\x20be\x20installed\x20on\x20the\x20VM\x20\
5061    instance.\n\n\x0e\n\x07\x04\0\x03\x01\x02\x06\x06\x12\x03z\x06\x15\n\x0e\
5062    \n\x07\x04\0\x03\x01\x02\x06\x01\x12\x03z\x16'\n\x0e\n\x07\x04\0\x03\x01\
5063    \x02\x06\x03\x12\x03z*+\nF\n\x04\x04\0\x03\x02\x12\x05\x7f\x02\xac\x01\
5064    \x03\x1a7\x20Software\x20package\x20information\x20of\x20the\x20operatin\
5065    g\x20system.\n\n\x0c\n\x05\x04\0\x03\x02\x01\x12\x03\x7f\n\x19\nO\n\x06\
5066    \x04\0\x03\x02\x08\0\x12\x06\x81\x01\x04\xab\x01\x05\x1a=\x20Information\
5067    \x20about\x20the\x20different\x20types\x20of\x20software\x20packages.\n\
5068    \n\x0f\n\x07\x04\0\x03\x02\x08\0\x01\x12\x04\x81\x01\n\x11\n\xbc\x01\n\
5069    \x06\x04\0\x03\x02\x02\0\x12\x04\x85\x01\x06'\x1a\xab\x01\x20Yum\x20pack\
5070    age\x20info.\n\x20For\x20details\x20about\x20the\x20yum\x20package\x20ma\
5071    nager,\x20see\n\x20https://access.redhat.com/documentation/en-us/red_hat\
5072    _enterprise_linux/6/html/deployment_guide/ch-yum.\n\n\x0f\n\x07\x04\0\
5073    \x03\x02\x02\0\x06\x12\x04\x85\x01\x06\x16\n\x0f\n\x07\x04\0\x03\x02\x02\
5074    \0\x01\x12\x04\x85\x01\x17\"\n\x0f\n\x07\x04\0\x03\x02\x02\0\x03\x12\x04\
5075    \x85\x01%&\nz\n\x06\x04\0\x03\x02\x02\x01\x12\x04\x8a\x01\x06'\x1aj\x20D\
5076    etails\x20of\x20an\x20APT\x20package.\n\x20For\x20details\x20about\x20th\
5077    e\x20apt\x20package\x20manager,\x20see\n\x20https://wiki.debian.org/Apt.\
5078    \n\n\x0f\n\x07\x04\0\x03\x02\x02\x01\x06\x12\x04\x8a\x01\x06\x16\n\x0f\n\
5079    \x07\x04\0\x03\x02\x02\x01\x01\x12\x04\x8a\x01\x17\"\n\x0f\n\x07\x04\0\
5080    \x03\x02\x02\x01\x03\x12\x04\x8a\x01%&\n\x8d\x01\n\x06\x04\0\x03\x02\x02\
5081    \x02\x12\x04\x8f\x01\x06*\x1a}\x20Details\x20of\x20a\x20Zypper\x20packag\
5082    e.\n\x20For\x20details\x20about\x20the\x20Zypper\x20package\x20manager,\
5083    \x20see\n\x20https://en.opensuse.org/SDB:Zypper_manual.\n\n\x0f\n\x07\
5084    \x04\0\x03\x02\x02\x02\x06\x12\x04\x8f\x01\x06\x16\n\x0f\n\x07\x04\0\x03\
5085    \x02\x02\x02\x01\x12\x04\x8f\x01\x17%\n\x0f\n\x07\x04\0\x03\x02\x02\x02\
5086    \x03\x12\x04\x8f\x01()\n\x86\x01\n\x06\x04\0\x03\x02\x02\x03\x12\x04\x94\
5087    \x01\x06*\x1av\x20Details\x20of\x20a\x20Googet\x20package.\n\x20\x20For\
5088    \x20details\x20about\x20the\x20googet\x20package\x20manager,\x20see\n\
5089    \x20\x20https://github.com/google/googet.\n\n\x0f\n\x07\x04\0\x03\x02\
5090    \x02\x03\x06\x12\x04\x94\x01\x06\x16\n\x0f\n\x07\x04\0\x03\x02\x02\x03\
5091    \x01\x12\x04\x94\x01\x17%\n\x0f\n\x07\x04\0\x03\x02\x02\x03\x03\x12\x04\
5092    \x94\x01()\n\x8b\x01\n\x06\x04\0\x03\x02\x02\x04\x12\x04\x99\x01\x06#\
5093    \x1a{\x20Details\x20of\x20a\x20Zypper\x20patch.\n\x20For\x20details\x20a\
5094    bout\x20the\x20Zypper\x20package\x20manager,\x20see\n\x20https://en.open\
5095    suse.org/SDB:Zypper_manual.\n\n\x0f\n\x07\x04\0\x03\x02\x02\x04\x06\x12\
5096    \x04\x99\x01\x06\x11\n\x0f\n\x07\x04\0\x03\x02\x02\x04\x01\x12\x04\x99\
5097    \x01\x12\x1e\n\x0f\n\x07\x04\0\x03\x02\x02\x04\x03\x12\x04\x99\x01!\"\n\
5098    \x9c\x01\n\x06\x04\0\x03\x02\x02\x05\x12\x04\x9e\x01\x06+\x1a\x8b\x01\
5099    \x20Details\x20of\x20a\x20Windows\x20Update\x20package.\n\x20See\x20http\
5100    s://docs.microsoft.com/en-us/windows/win32/api/_wua/\x20for\n\x20informa\
5101    tion\x20about\x20Windows\x20Update.\n\n\x0f\n\x07\x04\0\x03\x02\x02\x05\
5102    \x06\x12\x04\x9e\x01\x06\x1a\n\x0f\n\x07\x04\0\x03\x02\x02\x05\x01\x12\
5103    \x04\x9e\x01\x1b&\n\x0f\n\x07\x04\0\x03\x02\x02\x05\x03\x12\x04\x9e\x01)\
5104    *\n\xce\x01\n\x06\x04\0\x03\x02\x02\x06\x12\x04\xa4\x01\x068\x1a\xbd\x01\
5105    \x20Details\x20of\x20a\x20Windows\x20Quick\x20Fix\x20engineering\x20pack\
5106    age.\n\x20See\n\x20https://docs.microsoft.com/en-us/windows/win32/cimwin\
5107    32prov/win32-quickfixengineering\n\x20for\x20info\x20in\x20Windows\x20Qu\
5108    ick\x20Fix\x20Engineering.\n\n\x0f\n\x07\x04\0\x03\x02\x02\x06\x06\x12\
5109    \x04\xa4\x01\x06'\n\x0f\n\x07\x04\0\x03\x02\x02\x06\x01\x12\x04\xa4\x01(\
5110    3\n\x0f\n\x07\x04\0\x03\x02\x02\x06\x03\x12\x04\xa4\x0167\n+\n\x06\x04\0\
5111    \x03\x02\x02\x07\x12\x04\xa7\x01\x06'\x1a\x1b\x20Details\x20of\x20a\x20C\
5112    OS\x20package.\n\n\x0f\n\x07\x04\0\x03\x02\x02\x07\x06\x12\x04\xa7\x01\
5113    \x06\x16\n\x0f\n\x07\x04\0\x03\x02\x02\x07\x01\x12\x04\xa7\x01\x17\"\n\
5114    \x0f\n\x07\x04\0\x03\x02\x02\x07\x03\x12\x04\xa7\x01%&\n1\n\x06\x04\0\
5115    \x03\x02\x02\x08\x12\x04\xaa\x01\x061\x1a!\x20Details\x20of\x20Windows\
5116    \x20Application.\n\n\x0f\n\x07\x04\0\x03\x02\x02\x08\x06\x12\x04\xaa\x01\
5117    \x06\x18\n\x0f\n\x07\x04\0\x03\x02\x02\x08\x01\x12\x04\xaa\x01\x19,\n\
5118    \x0f\n\x07\x04\0\x03\x02\x02\x08\x03\x12\x04\xaa\x01/0\n\x9b\x01\n\x04\
5119    \x04\0\x03\x03\x12\x06\xb0\x01\x02\xb9\x01\x03\x1a\x8a\x01\x20Informatio\
5120    n\x20related\x20to\x20the\x20a\x20standard\x20versioned\x20package.\x20\
5121    \x20This\x20includes\n\x20package\x20info\x20for\x20APT,\x20Yum,\x20Zypp\
5122    er,\x20and\x20Googet\x20package\x20managers.\n\n\r\n\x05\x04\0\x03\x03\
5123    \x01\x12\x04\xb0\x01\n\x1a\n*\n\x06\x04\0\x03\x03\x02\0\x12\x04\xb2\x01\
5124    \x04\x1c\x1a\x1a\x20The\x20name\x20of\x20the\x20package.\n\n\x0f\n\x07\
5125    \x04\0\x03\x03\x02\0\x05\x12\x04\xb2\x01\x04\n\n\x0f\n\x07\x04\0\x03\x03\
5126    \x02\0\x01\x12\x04\xb2\x01\x0b\x17\n\x0f\n\x07\x04\0\x03\x03\x02\0\x03\
5127    \x12\x04\xb2\x01\x1a\x1b\nG\n\x06\x04\0\x03\x03\x02\x01\x12\x04\xb5\x01\
5128    \x04\x1c\x1a7\x20The\x20system\x20architecture\x20this\x20package\x20is\
5129    \x20intended\x20for.\n\n\x0f\n\x07\x04\0\x03\x03\x02\x01\x05\x12\x04\xb5\
5130    \x01\x04\n\n\x0f\n\x07\x04\0\x03\x03\x02\x01\x01\x12\x04\xb5\x01\x0b\x17\
5131    \n\x0f\n\x07\x04\0\x03\x03\x02\x01\x03\x12\x04\xb5\x01\x1a\x1b\n-\n\x06\
5132    \x04\0\x03\x03\x02\x02\x12\x04\xb8\x01\x04\x17\x1a\x1d\x20The\x20version\
5133    \x20of\x20the\x20package.\n\n\x0f\n\x07\x04\0\x03\x03\x02\x02\x05\x12\
5134    \x04\xb8\x01\x04\n\n\x0f\n\x07\x04\0\x03\x03\x02\x02\x01\x12\x04\xb8\x01\
5135    \x0b\x12\n\x0f\n\x07\x04\0\x03\x03\x02\x02\x03\x12\x04\xb8\x01\x15\x16\n\
5136    4\n\x04\x04\0\x03\x04\x12\x06\xbc\x01\x02\xc8\x01\x03\x1a$\x20Details\
5137    \x20related\x20to\x20a\x20Zypper\x20Patch.\n\n\r\n\x05\x04\0\x03\x04\x01\
5138    \x12\x04\xbc\x01\n\x15\n(\n\x06\x04\0\x03\x04\x02\0\x12\x04\xbe\x01\x04\
5139    \x1a\x1a\x18\x20The\x20name\x20of\x20the\x20patch.\n\n\x0f\n\x07\x04\0\
5140    \x03\x04\x02\0\x05\x12\x04\xbe\x01\x04\n\n\x0f\n\x07\x04\0\x03\x04\x02\0\
5141    \x01\x12\x04\xbe\x01\x0b\x15\n\x0f\n\x07\x04\0\x03\x04\x02\0\x03\x12\x04\
5142    \xbe\x01\x18\x19\n,\n\x06\x04\0\x03\x04\x02\x01\x12\x04\xc1\x01\x04\x18\
5143    \x1a\x1c\x20The\x20category\x20of\x20the\x20patch.\n\n\x0f\n\x07\x04\0\
5144    \x03\x04\x02\x01\x05\x12\x04\xc1\x01\x04\n\n\x0f\n\x07\x04\0\x03\x04\x02\
5145    \x01\x01\x12\x04\xc1\x01\x0b\x13\n\x0f\n\x07\x04\0\x03\x04\x02\x01\x03\
5146    \x12\x04\xc1\x01\x16\x17\n7\n\x06\x04\0\x03\x04\x02\x02\x12\x04\xc4\x01\
5147    \x04\x18\x1a'\x20The\x20severity\x20specified\x20for\x20this\x20patch\n\
5148    \n\x0f\n\x07\x04\0\x03\x04\x02\x02\x05\x12\x04\xc4\x01\x04\n\n\x0f\n\x07\
5149    \x04\0\x03\x04\x02\x02\x01\x12\x04\xc4\x01\x0b\x13\n\x0f\n\x07\x04\0\x03\
5150    \x04\x02\x02\x03\x12\x04\xc4\x01\x16\x17\nD\n\x06\x04\0\x03\x04\x02\x03\
5151    \x12\x04\xc7\x01\x04\x17\x1a4\x20Any\x20summary\x20information\x20provid\
5152    ed\x20about\x20this\x20patch.\n\n\x0f\n\x07\x04\0\x03\x04\x02\x03\x05\
5153    \x12\x04\xc7\x01\x04\n\n\x0f\n\x07\x04\0\x03\x04\x02\x03\x01\x12\x04\xc7\
5154    \x01\x0b\x12\n\x0f\n\x07\x04\0\x03\x04\x02\x03\x03\x12\x04\xc7\x01\x15\
5155    \x16\n\xb0\x02\n\x04\x04\0\x03\x05\x12\x06\xcf\x01\x02\xf6\x01\x03\x1a\
5156    \x9f\x02\x20Details\x20related\x20to\x20a\x20Windows\x20Update\x20packag\
5157    e.\n\x20Field\x20data\x20and\x20names\x20are\x20taken\x20from\x20Windows\
5158    \x20Update\x20API\x20IUpdate\x20Interface:\n\x20https://docs.microsoft.c\
5159    om/en-us/windows/win32/api/_wua/\n\x20Descriptive\x20fields\x20like\x20t\
5160    itle,\x20and\x20description\x20are\x20localized\x20based\x20on\n\x20the\
5161    \x20locale\x20of\x20the\x20VM\x20being\x20updated.\n\n\r\n\x05\x04\0\x03\
5162    \x05\x01\x12\x04\xcf\x01\n\x1e\n?\n\x06\x04\0\x03\x05\x03\0\x12\x06\xd1\
5163    \x01\x04\xd7\x01\x05\x1a-\x20Categories\x20specified\x20by\x20the\x20Win\
5164    dows\x20Update.\n\n\x0f\n\x07\x04\0\x03\x05\x03\0\x01\x12\x04\xd1\x01\
5165    \x0c!\nB\n\x08\x04\0\x03\x05\x03\0\x02\0\x12\x04\xd3\x01\x06\x14\x1a0\
5166    \x20The\x20identifier\x20of\x20the\x20windows\x20update\x20category.\n\n\
5167    \x11\n\t\x04\0\x03\x05\x03\0\x02\0\x05\x12\x04\xd3\x01\x06\x0c\n\x11\n\t\
5168    \x04\0\x03\x05\x03\0\x02\0\x01\x12\x04\xd3\x01\r\x0f\n\x11\n\t\x04\0\x03\
5169    \x05\x03\0\x02\0\x03\x12\x04\xd3\x01\x12\x13\n<\n\x08\x04\0\x03\x05\x03\
5170    \0\x02\x01\x12\x04\xd6\x01\x06\x16\x1a*\x20The\x20name\x20of\x20the\x20w\
5171    indows\x20update\x20category.\n\n\x11\n\t\x04\0\x03\x05\x03\0\x02\x01\
5172    \x05\x12\x04\xd6\x01\x06\x0c\n\x11\n\t\x04\0\x03\x05\x03\0\x02\x01\x01\
5173    \x12\x04\xd6\x01\r\x11\n\x11\n\t\x04\0\x03\x05\x03\0\x02\x01\x03\x12\x04\
5174    \xd6\x01\x14\x15\n<\n\x06\x04\0\x03\x05\x02\0\x12\x04\xda\x01\x04\x15\
5175    \x1a,\x20The\x20localized\x20title\x20of\x20the\x20update\x20package.\n\
5176    \n\x0f\n\x07\x04\0\x03\x05\x02\0\x05\x12\x04\xda\x01\x04\n\n\x0f\n\x07\
5177    \x04\0\x03\x05\x02\0\x01\x12\x04\xda\x01\x0b\x10\n\x0f\n\x07\x04\0\x03\
5178    \x05\x02\0\x03\x12\x04\xda\x01\x13\x14\nB\n\x06\x04\0\x03\x05\x02\x01\
5179    \x12\x04\xdd\x01\x04\x1b\x1a2\x20The\x20localized\x20description\x20of\
5180    \x20the\x20update\x20package.\n\n\x0f\n\x07\x04\0\x03\x05\x02\x01\x05\
5181    \x12\x04\xdd\x01\x04\n\n\x0f\n\x07\x04\0\x03\x05\x02\x01\x01\x12\x04\xdd\
5182    \x01\x0b\x16\n\x0f\n\x07\x04\0\x03\x05\x02\x01\x03\x12\x04\xdd\x01\x19\
5183    \x1a\nN\n\x06\x04\0\x03\x05\x02\x02\x12\x04\xe0\x01\x042\x1a>\x20The\x20\
5184    categories\x20that\x20are\x20associated\x20with\x20this\x20update\x20pac\
5185    kage.\n\n\x0f\n\x07\x04\0\x03\x05\x02\x02\x04\x12\x04\xe0\x01\x04\x0c\n\
5186    \x0f\n\x07\x04\0\x03\x05\x02\x02\x06\x12\x04\xe0\x01\r\"\n\x0f\n\x07\x04\
5187    \0\x03\x05\x02\x02\x01\x12\x04\xe0\x01#-\n\x0f\n\x07\x04\0\x03\x05\x02\
5188    \x02\x03\x12\x04\xe0\x0101\nt\n\x06\x04\0\x03\x05\x02\x03\x12\x04\xe4\
5189    \x01\x04'\x1ad\x20A\x20collection\x20of\x20Microsoft\x20Knowledge\x20Bas\
5190    e\x20article\x20IDs\x20that\x20are\x20associated\n\x20with\x20the\x20upd\
5191    ate\x20package.\n\n\x0f\n\x07\x04\0\x03\x05\x02\x03\x04\x12\x04\xe4\x01\
5192    \x04\x0c\n\x0f\n\x07\x04\0\x03\x05\x02\x03\x05\x12\x04\xe4\x01\r\x13\n\
5193    \x0f\n\x07\x04\0\x03\x05\x02\x03\x01\x12\x04\xe4\x01\x14\"\n\x0f\n\x07\
5194    \x04\0\x03\x05\x02\x03\x03\x12\x04\xe4\x01%&\nZ\n\x06\x04\0\x03\x05\x02\
5195    \x04\x12\x04\xe7\x01\x04\x1c\x1aJ\x20A\x20hyperlink\x20to\x20the\x20lang\
5196    uage-specific\x20support\x20information\x20for\x20the\x20update.\n\n\x0f\
5197    \n\x07\x04\0\x03\x05\x02\x04\x05\x12\x04\xe7\x01\x04\n\n\x0f\n\x07\x04\0\
5198    \x03\x05\x02\x04\x01\x12\x04\xe7\x01\x0b\x16\n\x0f\n\x07\x04\0\x03\x05\
5199    \x02\x04\x03\x12\x04\xe7\x01\x19\x1b\n_\n\x06\x04\0\x03\x05\x02\x05\x12\
5200    \x04\xeb\x01\x04'\x1aO\x20A\x20collection\x20of\x20URLs\x20that\x20provi\
5201    de\x20more\x20information\x20about\x20the\x20update\n\x20package.\n\n\
5202    \x0f\n\x07\x04\0\x03\x05\x02\x05\x04\x12\x04\xeb\x01\x04\x0c\n\x0f\n\x07\
5203    \x04\0\x03\x05\x02\x05\x05\x12\x04\xeb\x01\r\x13\n\x0f\n\x07\x04\0\x03\
5204    \x05\x02\x05\x01\x12\x04\xeb\x01\x14\"\n\x0f\n\x07\x04\0\x03\x05\x02\x05\
5205    \x03\x12\x04\xeb\x01%&\n^\n\x06\x04\0\x03\x05\x02\x06\x12\x04\xef\x01\
5206    \x04\x19\x1aN\x20Gets\x20the\x20identifier\x20of\x20an\x20update\x20pack\
5207    age.\x20\x20Stays\x20the\x20same\x20across\n\x20revisions.\n\n\x0f\n\x07\
5208    \x04\0\x03\x05\x02\x06\x05\x12\x04\xef\x01\x04\n\n\x0f\n\x07\x04\0\x03\
5209    \x05\x02\x06\x01\x12\x04\xef\x01\x0b\x14\n\x0f\n\x07\x04\0\x03\x05\x02\
5210    \x06\x03\x12\x04\xef\x01\x17\x18\n=\n\x06\x04\0\x03\x05\x02\x07\x12\x04\
5211    \xf2\x01\x04\x1e\x1a-\x20The\x20revision\x20number\x20of\x20this\x20upda\
5212    te\x20package.\n\n\x0f\n\x07\x04\0\x03\x05\x02\x07\x05\x12\x04\xf2\x01\
5213    \x04\t\n\x0f\n\x07\x04\0\x03\x05\x02\x07\x01\x12\x04\xf2\x01\n\x19\n\x0f\
5214    \n\x07\x04\0\x03\x05\x02\x07\x03\x12\x04\xf2\x01\x1c\x1d\nP\n\x06\x04\0\
5215    \x03\x05\x02\x08\x12\x04\xf5\x01\x04?\x1a@\x20The\x20last\x20published\
5216    \x20date\x20of\x20the\x20update,\x20in\x20(UTC)\x20date\x20and\x20time.\
5217    \n\n\x0f\n\x07\x04\0\x03\x05\x02\x08\x06\x12\x04\xf5\x01\x04\x1d\n\x0f\n\
5218    \x07\x04\0\x03\x05\x02\x08\x01\x12\x04\xf5\x01\x1e9\n\x0f\n\x07\x04\0\
5219    \x03\x05\x02\x08\x03\x12\x04\xf5\x01<>\n\xfb\x01\n\x04\x04\0\x03\x06\x12\
5220    \x06\xfc\x01\x02\x88\x02\x03\x1a\xea\x01\x20Information\x20related\x20to\
5221    \x20a\x20Quick\x20Fix\x20Engineering\x20package.\n\x20Fields\x20are\x20t\
5222    aken\x20from\x20Windows\x20QuickFixEngineering\x20Interface\x20and\x20ma\
5223    tch\n\x20the\x20source\x20names:\n\x20https://docs.microsoft.com/en-us/w\
5224    indows/win32/cimwin32prov/win32-quickfixengineering\n\n\r\n\x05\x04\0\
5225    \x03\x06\x01\x12\x04\xfc\x01\n+\n@\n\x06\x04\0\x03\x06\x02\0\x12\x04\xfe\
5226    \x01\x04\x17\x1a0\x20A\x20short\x20textual\x20description\x20of\x20the\
5227    \x20QFE\x20update.\n\n\x0f\n\x07\x04\0\x03\x06\x02\0\x05\x12\x04\xfe\x01\
5228    \x04\n\n\x0f\n\x07\x04\0\x03\x06\x02\0\x01\x12\x04\xfe\x01\x0b\x12\n\x0f\
5229    \n\x07\x04\0\x03\x06\x02\0\x03\x12\x04\xfe\x01\x15\x16\n:\n\x06\x04\0\
5230    \x03\x06\x02\x01\x12\x04\x81\x02\x04\x1b\x1a*\x20A\x20textual\x20descrip\
5231    tion\x20of\x20the\x20QFE\x20update.\n\n\x0f\n\x07\x04\0\x03\x06\x02\x01\
5232    \x05\x12\x04\x81\x02\x04\n\n\x0f\n\x07\x04\0\x03\x06\x02\x01\x01\x12\x04\
5233    \x81\x02\x0b\x16\n\x0f\n\x07\x04\0\x03\x06\x02\x01\x03\x12\x04\x81\x02\
5234    \x19\x1a\nL\n\x06\x04\0\x03\x06\x02\x02\x12\x04\x84\x02\x04\x1a\x1a<\x20\
5235    Unique\x20identifier\x20associated\x20with\x20a\x20particular\x20QFE\x20\
5236    update.\n\n\x0f\n\x07\x04\0\x03\x06\x02\x02\x05\x12\x04\x84\x02\x04\n\n\
5237    \x0f\n\x07\x04\0\x03\x06\x02\x02\x01\x12\x04\x84\x02\x0b\x15\n\x0f\n\x07\
5238    \x04\0\x03\x06\x02\x02\x03\x12\x04\x84\x02\x18\x19\nZ\n\x06\x04\0\x03\
5239    \x06\x02\x03\x12\x04\x87\x02\x04/\x1aJ\x20Date\x20that\x20the\x20QFE\x20\
5240    update\x20was\x20installed.\x20\x20Mapped\x20from\x20installed_on\x20fie\
5241    ld.\n\n\x0f\n\x07\x04\0\x03\x06\x02\x03\x06\x12\x04\x87\x02\x04\x1d\n\
5242    \x0f\n\x07\x04\0\x03\x06\x02\x03\x01\x12\x04\x87\x02\x1e*\n\x0f\n\x07\
5243    \x04\0\x03\x06\x02\x03\x03\x12\x04\x87\x02-.\n\xea\x01\n\x04\x04\0\x03\
5244    \x07\x12\x06\x8d\x02\x02\x9e\x02\x03\x1a\xd9\x01\x20Contains\x20informat\
5245    ion\x20about\x20a\x20Windows\x20application\x20that\x20is\x20retrieved\
5246    \x20from\x20the\n\x20Windows\x20Registry.\x20For\x20more\x20information\
5247    \x20about\x20these\x20fields,\x20see:\n\x20https://docs.microsoft.com/en\
5248    -us/windows/win32/msi/uninstall-registry-key\n\n\r\n\x05\x04\0\x03\x07\
5249    \x01\x12\x04\x8d\x02\n\x1c\n9\n\x06\x04\0\x03\x07\x02\0\x12\x04\x8f\x02\
5250    \x04\x1c\x1a)\x20The\x20name\x20of\x20the\x20application\x20or\x20produc\
5251    t.\n\n\x0f\n\x07\x04\0\x03\x07\x02\0\x05\x12\x04\x8f\x02\x04\n\n\x0f\n\
5252    \x07\x04\0\x03\x07\x02\0\x01\x12\x04\x8f\x02\x0b\x17\n\x0f\n\x07\x04\0\
5253    \x03\x07\x02\0\x03\x12\x04\x8f\x02\x1a\x1b\nM\n\x06\x04\0\x03\x07\x02\
5254    \x01\x12\x04\x92\x02\x04\x1f\x1a=\x20The\x20version\x20of\x20the\x20prod\
5255    uct\x20or\x20application\x20in\x20string\x20format.\n\n\x0f\n\x07\x04\0\
5256    \x03\x07\x02\x01\x05\x12\x04\x92\x02\x04\n\n\x0f\n\x07\x04\0\x03\x07\x02\
5257    \x01\x01\x12\x04\x92\x02\x0b\x1a\n\x0f\n\x07\x04\0\x03\x07\x02\x01\x03\
5258    \x12\x04\x92\x02\x1d\x1e\nN\n\x06\x04\0\x03\x07\x02\x02\x12\x04\x95\x02\
5259    \x04\x19\x1a>\x20The\x20name\x20of\x20the\x20manufacturer\x20for\x20the\
5260    \x20product\x20or\x20application.\n\n\x0f\n\x07\x04\0\x03\x07\x02\x02\
5261    \x05\x12\x04\x95\x02\x04\n\n\x0f\n\x07\x04\0\x03\x07\x02\x02\x01\x12\x04\
5262    \x95\x02\x0b\x14\n\x0f\n\x07\x04\0\x03\x07\x02\x02\x03\x12\x04\x95\x02\
5263    \x17\x18\n\xdb\x01\n\x06\x04\0\x03\x07\x02\x03\x12\x04\x9a\x02\x04&\x1a\
5264    \xca\x01\x20The\x20last\x20time\x20this\x20product\x20received\x20servic\
5265    e.\x20The\x20value\x20of\x20this\x20property\n\x20is\x20replaced\x20each\
5266    \x20time\x20a\x20patch\x20is\x20applied\x20or\x20removed\x20from\x20the\
5267    \x20product\x20or\n\x20the\x20command-line\x20option\x20is\x20used\x20to\
5268    \x20repair\x20the\x20product.\n\n\x0f\n\x07\x04\0\x03\x07\x02\x03\x06\
5269    \x12\x04\x9a\x02\x04\x14\n\x0f\n\x07\x04\0\x03\x07\x02\x03\x01\x12\x04\
5270    \x9a\x02\x15!\n\x0f\n\x07\x04\0\x03\x07\x02\x03\x03\x12\x04\x9a\x02$%\n=\
5271    \n\x06\x04\0\x03\x07\x02\x04\x12\x04\x9d\x02\x04\x19\x1a-\x20The\x20inte\
5272    rnet\x20address\x20for\x20technical\x20support.\n\n\x0f\n\x07\x04\0\x03\
5273    \x07\x02\x04\x05\x12\x04\x9d\x02\x04\n\n\x0f\n\x07\x04\0\x03\x07\x02\x04\
5274    \x01\x12\x04\x9d\x02\x0b\x14\n\x0f\n\x07\x04\0\x03\x07\x02\x04\x03\x12\
5275    \x04\x9d\x02\x17\x18\n\x9e\x01\n\x04\x04\0\x02\0\x12\x04\xa4\x02\x02>\
5276    \x1a\x8f\x01\x20Output\x20only.\x20The\x20`Inventory`\x20API\x20resource\
5277    \x20name.\n\n\x20Format:\n\x20`projects/{project_number}/locations/{loca\
5278    tion}/instances/{instance_id}/inventory`\n\n\r\n\x05\x04\0\x02\0\x05\x12\
5279    \x04\xa4\x02\x02\x08\n\r\n\x05\x04\0\x02\0\x01\x12\x04\xa4\x02\t\r\n\r\n\
5280    \x05\x04\0\x02\0\x03\x12\x04\xa4\x02\x10\x11\n\r\n\x05\x04\0\x02\0\x08\
5281    \x12\x04\xa4\x02\x12=\n\x10\n\x08\x04\0\x02\0\x08\x9c\x08\0\x12\x04\xa4\
5282    \x02\x13<\nC\n\x04\x04\0\x02\x01\x12\x04\xa7\x02\x02\x15\x1a5\x20Base\
5283    \x20level\x20operating\x20system\x20information\x20for\x20the\x20VM.\n\n\
5284    \r\n\x05\x04\0\x02\x01\x06\x12\x04\xa7\x02\x02\x08\n\r\n\x05\x04\0\x02\
5285    \x01\x01\x12\x04\xa7\x02\t\x10\n\r\n\x05\x04\0\x02\x01\x03\x12\x04\xa7\
5286    \x02\x13\x14\n\xf3\x01\n\x04\x04\0\x02\x02\x12\x04\xad\x02\x02\x1e\x1a\
5287    \xe4\x01\x20Inventory\x20items\x20related\x20to\x20the\x20VM\x20keyed\
5288    \x20by\x20an\x20opaque\x20unique\x20identifier\x20for\n\x20each\x20inven\
5289    tory\x20item.\x20\x20The\x20identifier\x20is\x20unique\x20to\x20each\x20\
5290    distinct\x20and\n\x20addressable\x20inventory\x20item\x20and\x20will\x20\
5291    change,\x20when\x20there\x20is\x20a\x20new\x20package\n\x20version.\n\n\
5292    \r\n\x05\x04\0\x02\x02\x06\x12\x04\xad\x02\x02\x13\n\r\n\x05\x04\0\x02\
5293    \x02\x01\x12\x04\xad\x02\x14\x19\n\r\n\x05\x04\0\x02\x02\x03\x12\x04\xad\
5294    \x02\x1c\x1d\nS\n\x04\x04\0\x02\x03\x12\x06\xb0\x02\x02\xb1\x022\x1aC\
5295    \x20Output\x20only.\x20Timestamp\x20of\x20the\x20last\x20reported\x20inv\
5296    entory\x20for\x20the\x20VM.\n\n\r\n\x05\x04\0\x02\x03\x06\x12\x04\xb0\
5297    \x02\x02\x1b\n\r\n\x05\x04\0\x02\x03\x01\x12\x04\xb0\x02\x1c'\n\r\n\x05\
5298    \x04\0\x02\x03\x03\x12\x04\xb0\x02*+\n\r\n\x05\x04\0\x02\x03\x08\x12\x04\
5299    \xb1\x02\x061\n\x10\n\x08\x04\0\x02\x03\x08\x9c\x08\0\x12\x04\xb1\x02\
5300    \x070\nR\n\x02\x04\x01\x12\x06\xb5\x02\0\xc8\x02\x01\x1aD\x20A\x20reques\
5301    t\x20message\x20for\x20getting\x20inventory\x20data\x20for\x20the\x20spe\
5302    cified\x20VM.\n\n\x0b\n\x03\x04\x01\x01\x12\x04\xb5\x02\x08\x1b\n\xc3\
5303    \x02\n\x04\x04\x01\x02\0\x12\x06\xbe\x02\x02\xc3\x02\x04\x1a\xb2\x02\x20\
5304    Required.\x20API\x20resource\x20name\x20for\x20inventory\x20resource.\n\
5305    \n\x20Format:\n\x20`projects/{project}/locations/{location}/instances/{i\
5306    nstance}/inventory`\n\n\x20For\x20`{project}`,\x20either\x20`project-num\
5307    ber`\x20or\x20`project-id`\x20can\x20be\x20provided.\n\x20For\x20`{insta\
5308    nce}`,\x20either\x20Compute\x20Engine\x20\x20`instance-id`\x20or\x20`ins\
5309    tance-name`\n\x20can\x20be\x20provided.\n\n\r\n\x05\x04\x01\x02\0\x05\
5310    \x12\x04\xbe\x02\x02\x08\n\r\n\x05\x04\x01\x02\0\x01\x12\x04\xbe\x02\t\r\
5311    \n\r\n\x05\x04\x01\x02\0\x03\x12\x04\xbe\x02\x10\x11\n\x0f\n\x05\x04\x01\
5312    \x02\0\x08\x12\x06\xbe\x02\x12\xc3\x02\x03\n\x10\n\x08\x04\x01\x02\0\x08\
5313    \x9c\x08\0\x12\x04\xbf\x02\x04*\n\x11\n\x07\x04\x01\x02\0\x08\x9f\x08\
5314    \x12\x06\xc0\x02\x04\xc2\x02\x05\n\x95\x01\n\x04\x04\x01\x02\x01\x12\x04\
5315    \xc7\x02\x02\x19\x1a\x86\x01\x20Inventory\x20view\x20indicating\x20what\
5316    \x20information\x20should\x20be\x20included\x20in\x20the\n\x20inventory\
5317    \x20resource.\x20If\x20unspecified,\x20the\x20default\x20view\x20is\x20B\
5318    ASIC.\n\n\r\n\x05\x04\x01\x02\x01\x06\x12\x04\xc7\x02\x02\x0f\n\r\n\x05\
5319    \x04\x01\x02\x01\x01\x12\x04\xc7\x02\x10\x14\n\r\n\x05\x04\x01\x02\x01\
5320    \x03\x12\x04\xc7\x02\x17\x18\nd\n\x02\x04\x02\x12\x06\xcc\x02\0\xe8\x02\
5321    \x01\x1aV\x20A\x20request\x20message\x20for\x20listing\x20inventory\x20d\
5322    ata\x20for\x20all\x20VMs\x20in\x20the\x20specified\n\x20location.\n\n\
5323    \x0b\n\x03\x04\x02\x01\x12\x04\xcc\x02\x08\x1e\n\xc2\x01\n\x04\x04\x02\
5324    \x02\0\x12\x06\xd2\x02\x02\xd7\x02\x04\x1a\xb1\x01\x20Required.\x20The\
5325    \x20parent\x20resource\x20name.\n\n\x20Format:\x20`projects/{project}/lo\
5326    cations/{location}/instances/-`\n\n\x20For\x20`{project}`,\x20either\x20\
5327    `project-number`\x20or\x20`project-id`\x20can\x20be\x20provided.\n\n\r\n\
5328    \x05\x04\x02\x02\0\x05\x12\x04\xd2\x02\x02\x08\n\r\n\x05\x04\x02\x02\0\
5329    \x01\x12\x04\xd2\x02\t\x0f\n\r\n\x05\x04\x02\x02\0\x03\x12\x04\xd2\x02\
5330    \x12\x13\n\x0f\n\x05\x04\x02\x02\0\x08\x12\x06\xd2\x02\x14\xd7\x02\x03\n\
5331    \x10\n\x08\x04\x02\x02\0\x08\x9c\x08\0\x12\x04\xd3\x02\x04*\n\x11\n\x07\
5332    \x04\x02\x02\0\x08\x9f\x08\x12\x06\xd4\x02\x04\xd6\x02\x05\n\x95\x01\n\
5333    \x04\x04\x02\x02\x01\x12\x04\xdb\x02\x02\x19\x1a\x86\x01\x20Inventory\
5334    \x20view\x20indicating\x20what\x20information\x20should\x20be\x20include\
5335    d\x20in\x20the\n\x20inventory\x20resource.\x20If\x20unspecified,\x20the\
5336    \x20default\x20view\x20is\x20BASIC.\n\n\r\n\x05\x04\x02\x02\x01\x06\x12\
5337    \x04\xdb\x02\x02\x0f\n\r\n\x05\x04\x02\x02\x01\x01\x12\x04\xdb\x02\x10\
5338    \x14\n\r\n\x05\x04\x02\x02\x01\x03\x12\x04\xdb\x02\x17\x18\n8\n\x04\x04\
5339    \x02\x02\x02\x12\x04\xde\x02\x02\x16\x1a*\x20The\x20maximum\x20number\
5340    \x20of\x20results\x20to\x20return.\n\n\r\n\x05\x04\x02\x02\x02\x05\x12\
5341    \x04\xde\x02\x02\x07\n\r\n\x05\x04\x02\x02\x02\x01\x12\x04\xde\x02\x08\
5342    \x11\n\r\n\x05\x04\x02\x02\x02\x03\x12\x04\xde\x02\x14\x15\n\x90\x01\n\
5343    \x04\x04\x02\x02\x03\x12\x04\xe3\x02\x02\x18\x1a\x81\x01\x20A\x20paginat\
5344    ion\x20token\x20returned\x20from\x20a\x20previous\x20call\x20to\n\x20`Li\
5345    stInventories`\x20that\x20indicates\x20where\x20this\x20listing\n\x20sho\
5346    uld\x20continue\x20from.\n\n\r\n\x05\x04\x02\x02\x03\x05\x12\x04\xe3\x02\
5347    \x02\x08\n\r\n\x05\x04\x02\x02\x03\x01\x12\x04\xe3\x02\t\x13\n\r\n\x05\
5348    \x04\x02\x02\x03\x03\x12\x04\xe3\x02\x16\x17\n\x8f\x01\n\x04\x04\x02\x02\
5349    \x04\x12\x04\xe7\x02\x02\x14\x1a\x80\x01\x20If\x20provided,\x20this\x20f\
5350    ield\x20specifies\x20the\x20criteria\x20that\x20must\x20be\x20met\x20by\
5351    \x20a\n\x20`Inventory`\x20API\x20resource\x20to\x20be\x20included\x20in\
5352    \x20the\x20response.\n\n\r\n\x05\x04\x02\x02\x04\x05\x12\x04\xe7\x02\x02\
5353    \x08\n\r\n\x05\x04\x02\x02\x04\x01\x12\x04\xe7\x02\t\x0f\n\r\n\x05\x04\
5354    \x02\x02\x04\x03\x12\x04\xe7\x02\x12\x13\nc\n\x02\x04\x03\x12\x06\xec\
5355    \x02\0\xf2\x02\x01\x1aU\x20A\x20response\x20message\x20for\x20listing\
5356    \x20inventory\x20data\x20for\x20all\x20VMs\x20in\x20a\x20specified\n\x20\
5357    location.\n\n\x0b\n\x03\x04\x03\x01\x12\x04\xec\x02\x08\x1f\n*\n\x04\x04\
5358    \x03\x02\0\x12\x04\xee\x02\x02%\x1a\x1c\x20List\x20of\x20inventory\x20ob\
5359    jects.\n\n\r\n\x05\x04\x03\x02\0\x04\x12\x04\xee\x02\x02\n\n\r\n\x05\x04\
5360    \x03\x02\0\x06\x12\x04\xee\x02\x0b\x14\n\r\n\x05\x04\x03\x02\0\x01\x12\
5361    \x04\xee\x02\x15\x20\n\r\n\x05\x04\x03\x02\0\x03\x12\x04\xee\x02#$\nT\n\
5362    \x04\x04\x03\x02\x01\x12\x04\xf1\x02\x02\x1d\x1aF\x20The\x20pagination\
5363    \x20token\x20to\x20retrieve\x20the\x20next\x20page\x20of\x20inventory\
5364    \x20objects.\n\n\r\n\x05\x04\x03\x02\x01\x05\x12\x04\xf1\x02\x02\x08\n\r\
5365    \n\x05\x04\x03\x02\x01\x01\x12\x04\xf1\x02\t\x18\n\r\n\x05\x04\x03\x02\
5366    \x01\x03\x12\x04\xf1\x02\x1b\x1c\n/\n\x02\x05\0\x12\x06\xf5\x02\0\xff\
5367    \x02\x01\x1a!\x20The\x20view\x20for\x20inventory\x20objects.\n\n\x0b\n\
5368    \x03\x05\0\x01\x12\x04\xf5\x02\x05\x12\nG\n\x04\x05\0\x02\0\x12\x04\xf8\
5369    \x02\x02!\x1a9\x20The\x20default\x20value.\n\x20The\x20API\x20defaults\
5370    \x20to\x20the\x20BASIC\x20view.\n\n\r\n\x05\x05\0\x02\0\x01\x12\x04\xf8\
5371    \x02\x02\x1c\n\r\n\x05\x05\0\x02\0\x02\x12\x04\xf8\x02\x1f\x20\nP\n\x04\
5372    \x05\0\x02\x01\x12\x04\xfb\x02\x02\x0c\x1aB\x20Returns\x20the\x20basic\
5373    \x20inventory\x20information\x20that\x20includes\x20`os_info`.\n\n\r\n\
5374    \x05\x05\0\x02\x01\x01\x12\x04\xfb\x02\x02\x07\n\r\n\x05\x05\0\x02\x01\
5375    \x02\x12\x04\xfb\x02\n\x0b\n#\n\x04\x05\0\x02\x02\x12\x04\xfe\x02\x02\
5376    \x0b\x1a\x15\x20Returns\x20all\x20fields.\n\n\r\n\x05\x05\0\x02\x02\x01\
5377    \x12\x04\xfe\x02\x02\x06\n\r\n\x05\x05\0\x02\x02\x02\x12\x04\xfe\x02\t\n\
5378    b\x06proto3\
5379";
5380
5381static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
5382
5383fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
5384    ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
5385}
5386
5387pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
5388    file_descriptor_proto_lazy.get(|| {
5389        parse_descriptor_proto()
5390    })
5391}