google_cloud_rust_raw/cloud/osconfig/v1/
os_policy.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/os_policy.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 OSPolicy {
28    // message fields
29    pub id: ::std::string::String,
30    pub description: ::std::string::String,
31    pub mode: OSPolicy_Mode,
32    pub resource_groups: ::protobuf::RepeatedField<OSPolicy_ResourceGroup>,
33    pub allow_no_resource_group_match: bool,
34    // special fields
35    pub unknown_fields: ::protobuf::UnknownFields,
36    pub cached_size: ::protobuf::CachedSize,
37}
38
39impl<'a> ::std::default::Default for &'a OSPolicy {
40    fn default() -> &'a OSPolicy {
41        <OSPolicy as ::protobuf::Message>::default_instance()
42    }
43}
44
45impl OSPolicy {
46    pub fn new() -> OSPolicy {
47        ::std::default::Default::default()
48    }
49
50    // string id = 1;
51
52
53    pub fn get_id(&self) -> &str {
54        &self.id
55    }
56    pub fn clear_id(&mut self) {
57        self.id.clear();
58    }
59
60    // Param is passed by value, moved
61    pub fn set_id(&mut self, v: ::std::string::String) {
62        self.id = v;
63    }
64
65    // Mutable pointer to the field.
66    // If field is not initialized, it is initialized with default value first.
67    pub fn mut_id(&mut self) -> &mut ::std::string::String {
68        &mut self.id
69    }
70
71    // Take field
72    pub fn take_id(&mut self) -> ::std::string::String {
73        ::std::mem::replace(&mut self.id, ::std::string::String::new())
74    }
75
76    // string description = 2;
77
78
79    pub fn get_description(&self) -> &str {
80        &self.description
81    }
82    pub fn clear_description(&mut self) {
83        self.description.clear();
84    }
85
86    // Param is passed by value, moved
87    pub fn set_description(&mut self, v: ::std::string::String) {
88        self.description = v;
89    }
90
91    // Mutable pointer to the field.
92    // If field is not initialized, it is initialized with default value first.
93    pub fn mut_description(&mut self) -> &mut ::std::string::String {
94        &mut self.description
95    }
96
97    // Take field
98    pub fn take_description(&mut self) -> ::std::string::String {
99        ::std::mem::replace(&mut self.description, ::std::string::String::new())
100    }
101
102    // .google.cloud.osconfig.v1.OSPolicy.Mode mode = 3;
103
104
105    pub fn get_mode(&self) -> OSPolicy_Mode {
106        self.mode
107    }
108    pub fn clear_mode(&mut self) {
109        self.mode = OSPolicy_Mode::MODE_UNSPECIFIED;
110    }
111
112    // Param is passed by value, moved
113    pub fn set_mode(&mut self, v: OSPolicy_Mode) {
114        self.mode = v;
115    }
116
117    // repeated .google.cloud.osconfig.v1.OSPolicy.ResourceGroup resource_groups = 4;
118
119
120    pub fn get_resource_groups(&self) -> &[OSPolicy_ResourceGroup] {
121        &self.resource_groups
122    }
123    pub fn clear_resource_groups(&mut self) {
124        self.resource_groups.clear();
125    }
126
127    // Param is passed by value, moved
128    pub fn set_resource_groups(&mut self, v: ::protobuf::RepeatedField<OSPolicy_ResourceGroup>) {
129        self.resource_groups = v;
130    }
131
132    // Mutable pointer to the field.
133    pub fn mut_resource_groups(&mut self) -> &mut ::protobuf::RepeatedField<OSPolicy_ResourceGroup> {
134        &mut self.resource_groups
135    }
136
137    // Take field
138    pub fn take_resource_groups(&mut self) -> ::protobuf::RepeatedField<OSPolicy_ResourceGroup> {
139        ::std::mem::replace(&mut self.resource_groups, ::protobuf::RepeatedField::new())
140    }
141
142    // bool allow_no_resource_group_match = 5;
143
144
145    pub fn get_allow_no_resource_group_match(&self) -> bool {
146        self.allow_no_resource_group_match
147    }
148    pub fn clear_allow_no_resource_group_match(&mut self) {
149        self.allow_no_resource_group_match = false;
150    }
151
152    // Param is passed by value, moved
153    pub fn set_allow_no_resource_group_match(&mut self, v: bool) {
154        self.allow_no_resource_group_match = v;
155    }
156}
157
158impl ::protobuf::Message for OSPolicy {
159    fn is_initialized(&self) -> bool {
160        for v in &self.resource_groups {
161            if !v.is_initialized() {
162                return false;
163            }
164        };
165        true
166    }
167
168    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
169        while !is.eof()? {
170            let (field_number, wire_type) = is.read_tag_unpack()?;
171            match field_number {
172                1 => {
173                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.id)?;
174                },
175                2 => {
176                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.description)?;
177                },
178                3 => {
179                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.mode, 3, &mut self.unknown_fields)?
180                },
181                4 => {
182                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.resource_groups)?;
183                },
184                5 => {
185                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
186                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
187                    }
188                    let tmp = is.read_bool()?;
189                    self.allow_no_resource_group_match = tmp;
190                },
191                _ => {
192                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
193                },
194            };
195        }
196        ::std::result::Result::Ok(())
197    }
198
199    // Compute sizes of nested messages
200    #[allow(unused_variables)]
201    fn compute_size(&self) -> u32 {
202        let mut my_size = 0;
203        if !self.id.is_empty() {
204            my_size += ::protobuf::rt::string_size(1, &self.id);
205        }
206        if !self.description.is_empty() {
207            my_size += ::protobuf::rt::string_size(2, &self.description);
208        }
209        if self.mode != OSPolicy_Mode::MODE_UNSPECIFIED {
210            my_size += ::protobuf::rt::enum_size(3, self.mode);
211        }
212        for value in &self.resource_groups {
213            let len = value.compute_size();
214            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
215        };
216        if self.allow_no_resource_group_match != false {
217            my_size += 2;
218        }
219        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
220        self.cached_size.set(my_size);
221        my_size
222    }
223
224    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
225        if !self.id.is_empty() {
226            os.write_string(1, &self.id)?;
227        }
228        if !self.description.is_empty() {
229            os.write_string(2, &self.description)?;
230        }
231        if self.mode != OSPolicy_Mode::MODE_UNSPECIFIED {
232            os.write_enum(3, ::protobuf::ProtobufEnum::value(&self.mode))?;
233        }
234        for v in &self.resource_groups {
235            os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
236            os.write_raw_varint32(v.get_cached_size())?;
237            v.write_to_with_cached_sizes(os)?;
238        };
239        if self.allow_no_resource_group_match != false {
240            os.write_bool(5, self.allow_no_resource_group_match)?;
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() -> OSPolicy {
273        OSPolicy::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                "id",
282                |m: &OSPolicy| { &m.id },
283                |m: &mut OSPolicy| { &mut m.id },
284            ));
285            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
286                "description",
287                |m: &OSPolicy| { &m.description },
288                |m: &mut OSPolicy| { &mut m.description },
289            ));
290            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<OSPolicy_Mode>>(
291                "mode",
292                |m: &OSPolicy| { &m.mode },
293                |m: &mut OSPolicy| { &mut m.mode },
294            ));
295            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<OSPolicy_ResourceGroup>>(
296                "resource_groups",
297                |m: &OSPolicy| { &m.resource_groups },
298                |m: &mut OSPolicy| { &mut m.resource_groups },
299            ));
300            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
301                "allow_no_resource_group_match",
302                |m: &OSPolicy| { &m.allow_no_resource_group_match },
303                |m: &mut OSPolicy| { &mut m.allow_no_resource_group_match },
304            ));
305            ::protobuf::reflect::MessageDescriptor::new_pb_name::<OSPolicy>(
306                "OSPolicy",
307                fields,
308                file_descriptor_proto()
309            )
310        })
311    }
312
313    fn default_instance() -> &'static OSPolicy {
314        static instance: ::protobuf::rt::LazyV2<OSPolicy> = ::protobuf::rt::LazyV2::INIT;
315        instance.get(OSPolicy::new)
316    }
317}
318
319impl ::protobuf::Clear for OSPolicy {
320    fn clear(&mut self) {
321        self.id.clear();
322        self.description.clear();
323        self.mode = OSPolicy_Mode::MODE_UNSPECIFIED;
324        self.resource_groups.clear();
325        self.allow_no_resource_group_match = false;
326        self.unknown_fields.clear();
327    }
328}
329
330impl ::std::fmt::Debug for OSPolicy {
331    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
332        ::protobuf::text_format::fmt(self, f)
333    }
334}
335
336impl ::protobuf::reflect::ProtobufValue for OSPolicy {
337    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
338        ::protobuf::reflect::ReflectValueRef::Message(self)
339    }
340}
341
342#[derive(PartialEq,Clone,Default)]
343pub struct OSPolicy_InventoryFilter {
344    // message fields
345    pub os_short_name: ::std::string::String,
346    pub os_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 OSPolicy_InventoryFilter {
353    fn default() -> &'a OSPolicy_InventoryFilter {
354        <OSPolicy_InventoryFilter as ::protobuf::Message>::default_instance()
355    }
356}
357
358impl OSPolicy_InventoryFilter {
359    pub fn new() -> OSPolicy_InventoryFilter {
360        ::std::default::Default::default()
361    }
362
363    // string os_short_name = 1;
364
365
366    pub fn get_os_short_name(&self) -> &str {
367        &self.os_short_name
368    }
369    pub fn clear_os_short_name(&mut self) {
370        self.os_short_name.clear();
371    }
372
373    // Param is passed by value, moved
374    pub fn set_os_short_name(&mut self, v: ::std::string::String) {
375        self.os_short_name = 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_os_short_name(&mut self) -> &mut ::std::string::String {
381        &mut self.os_short_name
382    }
383
384    // Take field
385    pub fn take_os_short_name(&mut self) -> ::std::string::String {
386        ::std::mem::replace(&mut self.os_short_name, ::std::string::String::new())
387    }
388
389    // string os_version = 2;
390
391
392    pub fn get_os_version(&self) -> &str {
393        &self.os_version
394    }
395    pub fn clear_os_version(&mut self) {
396        self.os_version.clear();
397    }
398
399    // Param is passed by value, moved
400    pub fn set_os_version(&mut self, v: ::std::string::String) {
401        self.os_version = 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_os_version(&mut self) -> &mut ::std::string::String {
407        &mut self.os_version
408    }
409
410    // Take field
411    pub fn take_os_version(&mut self) -> ::std::string::String {
412        ::std::mem::replace(&mut self.os_version, ::std::string::String::new())
413    }
414}
415
416impl ::protobuf::Message for OSPolicy_InventoryFilter {
417    fn is_initialized(&self) -> bool {
418        true
419    }
420
421    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
422        while !is.eof()? {
423            let (field_number, wire_type) = is.read_tag_unpack()?;
424            match field_number {
425                1 => {
426                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.os_short_name)?;
427                },
428                2 => {
429                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.os_version)?;
430                },
431                _ => {
432                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
433                },
434            };
435        }
436        ::std::result::Result::Ok(())
437    }
438
439    // Compute sizes of nested messages
440    #[allow(unused_variables)]
441    fn compute_size(&self) -> u32 {
442        let mut my_size = 0;
443        if !self.os_short_name.is_empty() {
444            my_size += ::protobuf::rt::string_size(1, &self.os_short_name);
445        }
446        if !self.os_version.is_empty() {
447            my_size += ::protobuf::rt::string_size(2, &self.os_version);
448        }
449        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
450        self.cached_size.set(my_size);
451        my_size
452    }
453
454    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
455        if !self.os_short_name.is_empty() {
456            os.write_string(1, &self.os_short_name)?;
457        }
458        if !self.os_version.is_empty() {
459            os.write_string(2, &self.os_version)?;
460        }
461        os.write_unknown_fields(self.get_unknown_fields())?;
462        ::std::result::Result::Ok(())
463    }
464
465    fn get_cached_size(&self) -> u32 {
466        self.cached_size.get()
467    }
468
469    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
470        &self.unknown_fields
471    }
472
473    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
474        &mut self.unknown_fields
475    }
476
477    fn as_any(&self) -> &dyn (::std::any::Any) {
478        self as &dyn (::std::any::Any)
479    }
480    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
481        self as &mut dyn (::std::any::Any)
482    }
483    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
484        self
485    }
486
487    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
488        Self::descriptor_static()
489    }
490
491    fn new() -> OSPolicy_InventoryFilter {
492        OSPolicy_InventoryFilter::new()
493    }
494
495    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
496        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
497        descriptor.get(|| {
498            let mut fields = ::std::vec::Vec::new();
499            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
500                "os_short_name",
501                |m: &OSPolicy_InventoryFilter| { &m.os_short_name },
502                |m: &mut OSPolicy_InventoryFilter| { &mut m.os_short_name },
503            ));
504            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
505                "os_version",
506                |m: &OSPolicy_InventoryFilter| { &m.os_version },
507                |m: &mut OSPolicy_InventoryFilter| { &mut m.os_version },
508            ));
509            ::protobuf::reflect::MessageDescriptor::new_pb_name::<OSPolicy_InventoryFilter>(
510                "OSPolicy.InventoryFilter",
511                fields,
512                file_descriptor_proto()
513            )
514        })
515    }
516
517    fn default_instance() -> &'static OSPolicy_InventoryFilter {
518        static instance: ::protobuf::rt::LazyV2<OSPolicy_InventoryFilter> = ::protobuf::rt::LazyV2::INIT;
519        instance.get(OSPolicy_InventoryFilter::new)
520    }
521}
522
523impl ::protobuf::Clear for OSPolicy_InventoryFilter {
524    fn clear(&mut self) {
525        self.os_short_name.clear();
526        self.os_version.clear();
527        self.unknown_fields.clear();
528    }
529}
530
531impl ::std::fmt::Debug for OSPolicy_InventoryFilter {
532    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
533        ::protobuf::text_format::fmt(self, f)
534    }
535}
536
537impl ::protobuf::reflect::ProtobufValue for OSPolicy_InventoryFilter {
538    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
539        ::protobuf::reflect::ReflectValueRef::Message(self)
540    }
541}
542
543#[derive(PartialEq,Clone,Default)]
544pub struct OSPolicy_Resource {
545    // message fields
546    pub id: ::std::string::String,
547    // message oneof groups
548    pub resource_type: ::std::option::Option<OSPolicy_Resource_oneof_resource_type>,
549    // special fields
550    pub unknown_fields: ::protobuf::UnknownFields,
551    pub cached_size: ::protobuf::CachedSize,
552}
553
554impl<'a> ::std::default::Default for &'a OSPolicy_Resource {
555    fn default() -> &'a OSPolicy_Resource {
556        <OSPolicy_Resource as ::protobuf::Message>::default_instance()
557    }
558}
559
560#[derive(Clone,PartialEq,Debug)]
561pub enum OSPolicy_Resource_oneof_resource_type {
562    pkg(OSPolicy_Resource_PackageResource),
563    repository(OSPolicy_Resource_RepositoryResource),
564    exec(OSPolicy_Resource_ExecResource),
565    file(OSPolicy_Resource_FileResource),
566}
567
568impl OSPolicy_Resource {
569    pub fn new() -> OSPolicy_Resource {
570        ::std::default::Default::default()
571    }
572
573    // string id = 1;
574
575
576    pub fn get_id(&self) -> &str {
577        &self.id
578    }
579    pub fn clear_id(&mut self) {
580        self.id.clear();
581    }
582
583    // Param is passed by value, moved
584    pub fn set_id(&mut self, v: ::std::string::String) {
585        self.id = v;
586    }
587
588    // Mutable pointer to the field.
589    // If field is not initialized, it is initialized with default value first.
590    pub fn mut_id(&mut self) -> &mut ::std::string::String {
591        &mut self.id
592    }
593
594    // Take field
595    pub fn take_id(&mut self) -> ::std::string::String {
596        ::std::mem::replace(&mut self.id, ::std::string::String::new())
597    }
598
599    // .google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource pkg = 2;
600
601
602    pub fn get_pkg(&self) -> &OSPolicy_Resource_PackageResource {
603        match self.resource_type {
604            ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::pkg(ref v)) => v,
605            _ => <OSPolicy_Resource_PackageResource as ::protobuf::Message>::default_instance(),
606        }
607    }
608    pub fn clear_pkg(&mut self) {
609        self.resource_type = ::std::option::Option::None;
610    }
611
612    pub fn has_pkg(&self) -> bool {
613        match self.resource_type {
614            ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::pkg(..)) => true,
615            _ => false,
616        }
617    }
618
619    // Param is passed by value, moved
620    pub fn set_pkg(&mut self, v: OSPolicy_Resource_PackageResource) {
621        self.resource_type = ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::pkg(v))
622    }
623
624    // Mutable pointer to the field.
625    pub fn mut_pkg(&mut self) -> &mut OSPolicy_Resource_PackageResource {
626        if let ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::pkg(_)) = self.resource_type {
627        } else {
628            self.resource_type = ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::pkg(OSPolicy_Resource_PackageResource::new()));
629        }
630        match self.resource_type {
631            ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::pkg(ref mut v)) => v,
632            _ => panic!(),
633        }
634    }
635
636    // Take field
637    pub fn take_pkg(&mut self) -> OSPolicy_Resource_PackageResource {
638        if self.has_pkg() {
639            match self.resource_type.take() {
640                ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::pkg(v)) => v,
641                _ => panic!(),
642            }
643        } else {
644            OSPolicy_Resource_PackageResource::new()
645        }
646    }
647
648    // .google.cloud.osconfig.v1.OSPolicy.Resource.RepositoryResource repository = 3;
649
650
651    pub fn get_repository(&self) -> &OSPolicy_Resource_RepositoryResource {
652        match self.resource_type {
653            ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::repository(ref v)) => v,
654            _ => <OSPolicy_Resource_RepositoryResource as ::protobuf::Message>::default_instance(),
655        }
656    }
657    pub fn clear_repository(&mut self) {
658        self.resource_type = ::std::option::Option::None;
659    }
660
661    pub fn has_repository(&self) -> bool {
662        match self.resource_type {
663            ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::repository(..)) => true,
664            _ => false,
665        }
666    }
667
668    // Param is passed by value, moved
669    pub fn set_repository(&mut self, v: OSPolicy_Resource_RepositoryResource) {
670        self.resource_type = ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::repository(v))
671    }
672
673    // Mutable pointer to the field.
674    pub fn mut_repository(&mut self) -> &mut OSPolicy_Resource_RepositoryResource {
675        if let ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::repository(_)) = self.resource_type {
676        } else {
677            self.resource_type = ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::repository(OSPolicy_Resource_RepositoryResource::new()));
678        }
679        match self.resource_type {
680            ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::repository(ref mut v)) => v,
681            _ => panic!(),
682        }
683    }
684
685    // Take field
686    pub fn take_repository(&mut self) -> OSPolicy_Resource_RepositoryResource {
687        if self.has_repository() {
688            match self.resource_type.take() {
689                ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::repository(v)) => v,
690                _ => panic!(),
691            }
692        } else {
693            OSPolicy_Resource_RepositoryResource::new()
694        }
695    }
696
697    // .google.cloud.osconfig.v1.OSPolicy.Resource.ExecResource exec = 4;
698
699
700    pub fn get_exec(&self) -> &OSPolicy_Resource_ExecResource {
701        match self.resource_type {
702            ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::exec(ref v)) => v,
703            _ => <OSPolicy_Resource_ExecResource as ::protobuf::Message>::default_instance(),
704        }
705    }
706    pub fn clear_exec(&mut self) {
707        self.resource_type = ::std::option::Option::None;
708    }
709
710    pub fn has_exec(&self) -> bool {
711        match self.resource_type {
712            ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::exec(..)) => true,
713            _ => false,
714        }
715    }
716
717    // Param is passed by value, moved
718    pub fn set_exec(&mut self, v: OSPolicy_Resource_ExecResource) {
719        self.resource_type = ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::exec(v))
720    }
721
722    // Mutable pointer to the field.
723    pub fn mut_exec(&mut self) -> &mut OSPolicy_Resource_ExecResource {
724        if let ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::exec(_)) = self.resource_type {
725        } else {
726            self.resource_type = ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::exec(OSPolicy_Resource_ExecResource::new()));
727        }
728        match self.resource_type {
729            ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::exec(ref mut v)) => v,
730            _ => panic!(),
731        }
732    }
733
734    // Take field
735    pub fn take_exec(&mut self) -> OSPolicy_Resource_ExecResource {
736        if self.has_exec() {
737            match self.resource_type.take() {
738                ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::exec(v)) => v,
739                _ => panic!(),
740            }
741        } else {
742            OSPolicy_Resource_ExecResource::new()
743        }
744    }
745
746    // .google.cloud.osconfig.v1.OSPolicy.Resource.FileResource file = 5;
747
748
749    pub fn get_file(&self) -> &OSPolicy_Resource_FileResource {
750        match self.resource_type {
751            ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::file(ref v)) => v,
752            _ => <OSPolicy_Resource_FileResource as ::protobuf::Message>::default_instance(),
753        }
754    }
755    pub fn clear_file(&mut self) {
756        self.resource_type = ::std::option::Option::None;
757    }
758
759    pub fn has_file(&self) -> bool {
760        match self.resource_type {
761            ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::file(..)) => true,
762            _ => false,
763        }
764    }
765
766    // Param is passed by value, moved
767    pub fn set_file(&mut self, v: OSPolicy_Resource_FileResource) {
768        self.resource_type = ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::file(v))
769    }
770
771    // Mutable pointer to the field.
772    pub fn mut_file(&mut self) -> &mut OSPolicy_Resource_FileResource {
773        if let ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::file(_)) = self.resource_type {
774        } else {
775            self.resource_type = ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::file(OSPolicy_Resource_FileResource::new()));
776        }
777        match self.resource_type {
778            ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::file(ref mut v)) => v,
779            _ => panic!(),
780        }
781    }
782
783    // Take field
784    pub fn take_file(&mut self) -> OSPolicy_Resource_FileResource {
785        if self.has_file() {
786            match self.resource_type.take() {
787                ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::file(v)) => v,
788                _ => panic!(),
789            }
790        } else {
791            OSPolicy_Resource_FileResource::new()
792        }
793    }
794}
795
796impl ::protobuf::Message for OSPolicy_Resource {
797    fn is_initialized(&self) -> bool {
798        if let Some(OSPolicy_Resource_oneof_resource_type::pkg(ref v)) = self.resource_type {
799            if !v.is_initialized() {
800                return false;
801            }
802        }
803        if let Some(OSPolicy_Resource_oneof_resource_type::repository(ref v)) = self.resource_type {
804            if !v.is_initialized() {
805                return false;
806            }
807        }
808        if let Some(OSPolicy_Resource_oneof_resource_type::exec(ref v)) = self.resource_type {
809            if !v.is_initialized() {
810                return false;
811            }
812        }
813        if let Some(OSPolicy_Resource_oneof_resource_type::file(ref v)) = self.resource_type {
814            if !v.is_initialized() {
815                return false;
816            }
817        }
818        true
819    }
820
821    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
822        while !is.eof()? {
823            let (field_number, wire_type) = is.read_tag_unpack()?;
824            match field_number {
825                1 => {
826                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.id)?;
827                },
828                2 => {
829                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
830                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
831                    }
832                    self.resource_type = ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::pkg(is.read_message()?));
833                },
834                3 => {
835                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
836                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
837                    }
838                    self.resource_type = ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::repository(is.read_message()?));
839                },
840                4 => {
841                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
842                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
843                    }
844                    self.resource_type = ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::exec(is.read_message()?));
845                },
846                5 => {
847                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
848                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
849                    }
850                    self.resource_type = ::std::option::Option::Some(OSPolicy_Resource_oneof_resource_type::file(is.read_message()?));
851                },
852                _ => {
853                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
854                },
855            };
856        }
857        ::std::result::Result::Ok(())
858    }
859
860    // Compute sizes of nested messages
861    #[allow(unused_variables)]
862    fn compute_size(&self) -> u32 {
863        let mut my_size = 0;
864        if !self.id.is_empty() {
865            my_size += ::protobuf::rt::string_size(1, &self.id);
866        }
867        if let ::std::option::Option::Some(ref v) = self.resource_type {
868            match v {
869                &OSPolicy_Resource_oneof_resource_type::pkg(ref v) => {
870                    let len = v.compute_size();
871                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
872                },
873                &OSPolicy_Resource_oneof_resource_type::repository(ref v) => {
874                    let len = v.compute_size();
875                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
876                },
877                &OSPolicy_Resource_oneof_resource_type::exec(ref v) => {
878                    let len = v.compute_size();
879                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
880                },
881                &OSPolicy_Resource_oneof_resource_type::file(ref v) => {
882                    let len = v.compute_size();
883                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
884                },
885            };
886        }
887        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
888        self.cached_size.set(my_size);
889        my_size
890    }
891
892    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
893        if !self.id.is_empty() {
894            os.write_string(1, &self.id)?;
895        }
896        if let ::std::option::Option::Some(ref v) = self.resource_type {
897            match v {
898                &OSPolicy_Resource_oneof_resource_type::pkg(ref v) => {
899                    os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
900                    os.write_raw_varint32(v.get_cached_size())?;
901                    v.write_to_with_cached_sizes(os)?;
902                },
903                &OSPolicy_Resource_oneof_resource_type::repository(ref v) => {
904                    os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
905                    os.write_raw_varint32(v.get_cached_size())?;
906                    v.write_to_with_cached_sizes(os)?;
907                },
908                &OSPolicy_Resource_oneof_resource_type::exec(ref v) => {
909                    os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
910                    os.write_raw_varint32(v.get_cached_size())?;
911                    v.write_to_with_cached_sizes(os)?;
912                },
913                &OSPolicy_Resource_oneof_resource_type::file(ref v) => {
914                    os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
915                    os.write_raw_varint32(v.get_cached_size())?;
916                    v.write_to_with_cached_sizes(os)?;
917                },
918            };
919        }
920        os.write_unknown_fields(self.get_unknown_fields())?;
921        ::std::result::Result::Ok(())
922    }
923
924    fn get_cached_size(&self) -> u32 {
925        self.cached_size.get()
926    }
927
928    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
929        &self.unknown_fields
930    }
931
932    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
933        &mut self.unknown_fields
934    }
935
936    fn as_any(&self) -> &dyn (::std::any::Any) {
937        self as &dyn (::std::any::Any)
938    }
939    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
940        self as &mut dyn (::std::any::Any)
941    }
942    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
943        self
944    }
945
946    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
947        Self::descriptor_static()
948    }
949
950    fn new() -> OSPolicy_Resource {
951        OSPolicy_Resource::new()
952    }
953
954    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
955        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
956        descriptor.get(|| {
957            let mut fields = ::std::vec::Vec::new();
958            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
959                "id",
960                |m: &OSPolicy_Resource| { &m.id },
961                |m: &mut OSPolicy_Resource| { &mut m.id },
962            ));
963            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, OSPolicy_Resource_PackageResource>(
964                "pkg",
965                OSPolicy_Resource::has_pkg,
966                OSPolicy_Resource::get_pkg,
967            ));
968            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, OSPolicy_Resource_RepositoryResource>(
969                "repository",
970                OSPolicy_Resource::has_repository,
971                OSPolicy_Resource::get_repository,
972            ));
973            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, OSPolicy_Resource_ExecResource>(
974                "exec",
975                OSPolicy_Resource::has_exec,
976                OSPolicy_Resource::get_exec,
977            ));
978            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, OSPolicy_Resource_FileResource>(
979                "file",
980                OSPolicy_Resource::has_file,
981                OSPolicy_Resource::get_file,
982            ));
983            ::protobuf::reflect::MessageDescriptor::new_pb_name::<OSPolicy_Resource>(
984                "OSPolicy.Resource",
985                fields,
986                file_descriptor_proto()
987            )
988        })
989    }
990
991    fn default_instance() -> &'static OSPolicy_Resource {
992        static instance: ::protobuf::rt::LazyV2<OSPolicy_Resource> = ::protobuf::rt::LazyV2::INIT;
993        instance.get(OSPolicy_Resource::new)
994    }
995}
996
997impl ::protobuf::Clear for OSPolicy_Resource {
998    fn clear(&mut self) {
999        self.id.clear();
1000        self.resource_type = ::std::option::Option::None;
1001        self.resource_type = ::std::option::Option::None;
1002        self.resource_type = ::std::option::Option::None;
1003        self.resource_type = ::std::option::Option::None;
1004        self.unknown_fields.clear();
1005    }
1006}
1007
1008impl ::std::fmt::Debug for OSPolicy_Resource {
1009    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1010        ::protobuf::text_format::fmt(self, f)
1011    }
1012}
1013
1014impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource {
1015    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1016        ::protobuf::reflect::ReflectValueRef::Message(self)
1017    }
1018}
1019
1020#[derive(PartialEq,Clone,Default)]
1021pub struct OSPolicy_Resource_File {
1022    // message fields
1023    pub allow_insecure: bool,
1024    // message oneof groups
1025    pub field_type: ::std::option::Option<OSPolicy_Resource_File_oneof_type>,
1026    // special fields
1027    pub unknown_fields: ::protobuf::UnknownFields,
1028    pub cached_size: ::protobuf::CachedSize,
1029}
1030
1031impl<'a> ::std::default::Default for &'a OSPolicy_Resource_File {
1032    fn default() -> &'a OSPolicy_Resource_File {
1033        <OSPolicy_Resource_File as ::protobuf::Message>::default_instance()
1034    }
1035}
1036
1037#[derive(Clone,PartialEq,Debug)]
1038pub enum OSPolicy_Resource_File_oneof_type {
1039    remote(OSPolicy_Resource_File_Remote),
1040    gcs(OSPolicy_Resource_File_Gcs),
1041    local_path(::std::string::String),
1042}
1043
1044impl OSPolicy_Resource_File {
1045    pub fn new() -> OSPolicy_Resource_File {
1046        ::std::default::Default::default()
1047    }
1048
1049    // .google.cloud.osconfig.v1.OSPolicy.Resource.File.Remote remote = 1;
1050
1051
1052    pub fn get_remote(&self) -> &OSPolicy_Resource_File_Remote {
1053        match self.field_type {
1054            ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::remote(ref v)) => v,
1055            _ => <OSPolicy_Resource_File_Remote as ::protobuf::Message>::default_instance(),
1056        }
1057    }
1058    pub fn clear_remote(&mut self) {
1059        self.field_type = ::std::option::Option::None;
1060    }
1061
1062    pub fn has_remote(&self) -> bool {
1063        match self.field_type {
1064            ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::remote(..)) => true,
1065            _ => false,
1066        }
1067    }
1068
1069    // Param is passed by value, moved
1070    pub fn set_remote(&mut self, v: OSPolicy_Resource_File_Remote) {
1071        self.field_type = ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::remote(v))
1072    }
1073
1074    // Mutable pointer to the field.
1075    pub fn mut_remote(&mut self) -> &mut OSPolicy_Resource_File_Remote {
1076        if let ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::remote(_)) = self.field_type {
1077        } else {
1078            self.field_type = ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::remote(OSPolicy_Resource_File_Remote::new()));
1079        }
1080        match self.field_type {
1081            ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::remote(ref mut v)) => v,
1082            _ => panic!(),
1083        }
1084    }
1085
1086    // Take field
1087    pub fn take_remote(&mut self) -> OSPolicy_Resource_File_Remote {
1088        if self.has_remote() {
1089            match self.field_type.take() {
1090                ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::remote(v)) => v,
1091                _ => panic!(),
1092            }
1093        } else {
1094            OSPolicy_Resource_File_Remote::new()
1095        }
1096    }
1097
1098    // .google.cloud.osconfig.v1.OSPolicy.Resource.File.Gcs gcs = 2;
1099
1100
1101    pub fn get_gcs(&self) -> &OSPolicy_Resource_File_Gcs {
1102        match self.field_type {
1103            ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::gcs(ref v)) => v,
1104            _ => <OSPolicy_Resource_File_Gcs as ::protobuf::Message>::default_instance(),
1105        }
1106    }
1107    pub fn clear_gcs(&mut self) {
1108        self.field_type = ::std::option::Option::None;
1109    }
1110
1111    pub fn has_gcs(&self) -> bool {
1112        match self.field_type {
1113            ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::gcs(..)) => true,
1114            _ => false,
1115        }
1116    }
1117
1118    // Param is passed by value, moved
1119    pub fn set_gcs(&mut self, v: OSPolicy_Resource_File_Gcs) {
1120        self.field_type = ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::gcs(v))
1121    }
1122
1123    // Mutable pointer to the field.
1124    pub fn mut_gcs(&mut self) -> &mut OSPolicy_Resource_File_Gcs {
1125        if let ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::gcs(_)) = self.field_type {
1126        } else {
1127            self.field_type = ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::gcs(OSPolicy_Resource_File_Gcs::new()));
1128        }
1129        match self.field_type {
1130            ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::gcs(ref mut v)) => v,
1131            _ => panic!(),
1132        }
1133    }
1134
1135    // Take field
1136    pub fn take_gcs(&mut self) -> OSPolicy_Resource_File_Gcs {
1137        if self.has_gcs() {
1138            match self.field_type.take() {
1139                ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::gcs(v)) => v,
1140                _ => panic!(),
1141            }
1142        } else {
1143            OSPolicy_Resource_File_Gcs::new()
1144        }
1145    }
1146
1147    // string local_path = 3;
1148
1149
1150    pub fn get_local_path(&self) -> &str {
1151        match self.field_type {
1152            ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::local_path(ref v)) => v,
1153            _ => "",
1154        }
1155    }
1156    pub fn clear_local_path(&mut self) {
1157        self.field_type = ::std::option::Option::None;
1158    }
1159
1160    pub fn has_local_path(&self) -> bool {
1161        match self.field_type {
1162            ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::local_path(..)) => true,
1163            _ => false,
1164        }
1165    }
1166
1167    // Param is passed by value, moved
1168    pub fn set_local_path(&mut self, v: ::std::string::String) {
1169        self.field_type = ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::local_path(v))
1170    }
1171
1172    // Mutable pointer to the field.
1173    pub fn mut_local_path(&mut self) -> &mut ::std::string::String {
1174        if let ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::local_path(_)) = self.field_type {
1175        } else {
1176            self.field_type = ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::local_path(::std::string::String::new()));
1177        }
1178        match self.field_type {
1179            ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::local_path(ref mut v)) => v,
1180            _ => panic!(),
1181        }
1182    }
1183
1184    // Take field
1185    pub fn take_local_path(&mut self) -> ::std::string::String {
1186        if self.has_local_path() {
1187            match self.field_type.take() {
1188                ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::local_path(v)) => v,
1189                _ => panic!(),
1190            }
1191        } else {
1192            ::std::string::String::new()
1193        }
1194    }
1195
1196    // bool allow_insecure = 4;
1197
1198
1199    pub fn get_allow_insecure(&self) -> bool {
1200        self.allow_insecure
1201    }
1202    pub fn clear_allow_insecure(&mut self) {
1203        self.allow_insecure = false;
1204    }
1205
1206    // Param is passed by value, moved
1207    pub fn set_allow_insecure(&mut self, v: bool) {
1208        self.allow_insecure = v;
1209    }
1210}
1211
1212impl ::protobuf::Message for OSPolicy_Resource_File {
1213    fn is_initialized(&self) -> bool {
1214        if let Some(OSPolicy_Resource_File_oneof_type::remote(ref v)) = self.field_type {
1215            if !v.is_initialized() {
1216                return false;
1217            }
1218        }
1219        if let Some(OSPolicy_Resource_File_oneof_type::gcs(ref v)) = self.field_type {
1220            if !v.is_initialized() {
1221                return false;
1222            }
1223        }
1224        true
1225    }
1226
1227    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1228        while !is.eof()? {
1229            let (field_number, wire_type) = is.read_tag_unpack()?;
1230            match field_number {
1231                1 => {
1232                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1233                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1234                    }
1235                    self.field_type = ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::remote(is.read_message()?));
1236                },
1237                2 => {
1238                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1239                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1240                    }
1241                    self.field_type = ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::gcs(is.read_message()?));
1242                },
1243                3 => {
1244                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
1245                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1246                    }
1247                    self.field_type = ::std::option::Option::Some(OSPolicy_Resource_File_oneof_type::local_path(is.read_string()?));
1248                },
1249                4 => {
1250                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1251                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1252                    }
1253                    let tmp = is.read_bool()?;
1254                    self.allow_insecure = tmp;
1255                },
1256                _ => {
1257                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1258                },
1259            };
1260        }
1261        ::std::result::Result::Ok(())
1262    }
1263
1264    // Compute sizes of nested messages
1265    #[allow(unused_variables)]
1266    fn compute_size(&self) -> u32 {
1267        let mut my_size = 0;
1268        if self.allow_insecure != false {
1269            my_size += 2;
1270        }
1271        if let ::std::option::Option::Some(ref v) = self.field_type {
1272            match v {
1273                &OSPolicy_Resource_File_oneof_type::remote(ref v) => {
1274                    let len = v.compute_size();
1275                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1276                },
1277                &OSPolicy_Resource_File_oneof_type::gcs(ref v) => {
1278                    let len = v.compute_size();
1279                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1280                },
1281                &OSPolicy_Resource_File_oneof_type::local_path(ref v) => {
1282                    my_size += ::protobuf::rt::string_size(3, &v);
1283                },
1284            };
1285        }
1286        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1287        self.cached_size.set(my_size);
1288        my_size
1289    }
1290
1291    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1292        if self.allow_insecure != false {
1293            os.write_bool(4, self.allow_insecure)?;
1294        }
1295        if let ::std::option::Option::Some(ref v) = self.field_type {
1296            match v {
1297                &OSPolicy_Resource_File_oneof_type::remote(ref v) => {
1298                    os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1299                    os.write_raw_varint32(v.get_cached_size())?;
1300                    v.write_to_with_cached_sizes(os)?;
1301                },
1302                &OSPolicy_Resource_File_oneof_type::gcs(ref v) => {
1303                    os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1304                    os.write_raw_varint32(v.get_cached_size())?;
1305                    v.write_to_with_cached_sizes(os)?;
1306                },
1307                &OSPolicy_Resource_File_oneof_type::local_path(ref v) => {
1308                    os.write_string(3, v)?;
1309                },
1310            };
1311        }
1312        os.write_unknown_fields(self.get_unknown_fields())?;
1313        ::std::result::Result::Ok(())
1314    }
1315
1316    fn get_cached_size(&self) -> u32 {
1317        self.cached_size.get()
1318    }
1319
1320    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1321        &self.unknown_fields
1322    }
1323
1324    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1325        &mut self.unknown_fields
1326    }
1327
1328    fn as_any(&self) -> &dyn (::std::any::Any) {
1329        self as &dyn (::std::any::Any)
1330    }
1331    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1332        self as &mut dyn (::std::any::Any)
1333    }
1334    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1335        self
1336    }
1337
1338    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1339        Self::descriptor_static()
1340    }
1341
1342    fn new() -> OSPolicy_Resource_File {
1343        OSPolicy_Resource_File::new()
1344    }
1345
1346    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1347        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1348        descriptor.get(|| {
1349            let mut fields = ::std::vec::Vec::new();
1350            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, OSPolicy_Resource_File_Remote>(
1351                "remote",
1352                OSPolicy_Resource_File::has_remote,
1353                OSPolicy_Resource_File::get_remote,
1354            ));
1355            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, OSPolicy_Resource_File_Gcs>(
1356                "gcs",
1357                OSPolicy_Resource_File::has_gcs,
1358                OSPolicy_Resource_File::get_gcs,
1359            ));
1360            fields.push(::protobuf::reflect::accessor::make_singular_string_accessor::<_>(
1361                "local_path",
1362                OSPolicy_Resource_File::has_local_path,
1363                OSPolicy_Resource_File::get_local_path,
1364            ));
1365            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
1366                "allow_insecure",
1367                |m: &OSPolicy_Resource_File| { &m.allow_insecure },
1368                |m: &mut OSPolicy_Resource_File| { &mut m.allow_insecure },
1369            ));
1370            ::protobuf::reflect::MessageDescriptor::new_pb_name::<OSPolicy_Resource_File>(
1371                "OSPolicy.Resource.File",
1372                fields,
1373                file_descriptor_proto()
1374            )
1375        })
1376    }
1377
1378    fn default_instance() -> &'static OSPolicy_Resource_File {
1379        static instance: ::protobuf::rt::LazyV2<OSPolicy_Resource_File> = ::protobuf::rt::LazyV2::INIT;
1380        instance.get(OSPolicy_Resource_File::new)
1381    }
1382}
1383
1384impl ::protobuf::Clear for OSPolicy_Resource_File {
1385    fn clear(&mut self) {
1386        self.field_type = ::std::option::Option::None;
1387        self.field_type = ::std::option::Option::None;
1388        self.field_type = ::std::option::Option::None;
1389        self.allow_insecure = false;
1390        self.unknown_fields.clear();
1391    }
1392}
1393
1394impl ::std::fmt::Debug for OSPolicy_Resource_File {
1395    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1396        ::protobuf::text_format::fmt(self, f)
1397    }
1398}
1399
1400impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource_File {
1401    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1402        ::protobuf::reflect::ReflectValueRef::Message(self)
1403    }
1404}
1405
1406#[derive(PartialEq,Clone,Default)]
1407pub struct OSPolicy_Resource_File_Remote {
1408    // message fields
1409    pub uri: ::std::string::String,
1410    pub sha256_checksum: ::std::string::String,
1411    // special fields
1412    pub unknown_fields: ::protobuf::UnknownFields,
1413    pub cached_size: ::protobuf::CachedSize,
1414}
1415
1416impl<'a> ::std::default::Default for &'a OSPolicy_Resource_File_Remote {
1417    fn default() -> &'a OSPolicy_Resource_File_Remote {
1418        <OSPolicy_Resource_File_Remote as ::protobuf::Message>::default_instance()
1419    }
1420}
1421
1422impl OSPolicy_Resource_File_Remote {
1423    pub fn new() -> OSPolicy_Resource_File_Remote {
1424        ::std::default::Default::default()
1425    }
1426
1427    // string uri = 1;
1428
1429
1430    pub fn get_uri(&self) -> &str {
1431        &self.uri
1432    }
1433    pub fn clear_uri(&mut self) {
1434        self.uri.clear();
1435    }
1436
1437    // Param is passed by value, moved
1438    pub fn set_uri(&mut self, v: ::std::string::String) {
1439        self.uri = v;
1440    }
1441
1442    // Mutable pointer to the field.
1443    // If field is not initialized, it is initialized with default value first.
1444    pub fn mut_uri(&mut self) -> &mut ::std::string::String {
1445        &mut self.uri
1446    }
1447
1448    // Take field
1449    pub fn take_uri(&mut self) -> ::std::string::String {
1450        ::std::mem::replace(&mut self.uri, ::std::string::String::new())
1451    }
1452
1453    // string sha256_checksum = 2;
1454
1455
1456    pub fn get_sha256_checksum(&self) -> &str {
1457        &self.sha256_checksum
1458    }
1459    pub fn clear_sha256_checksum(&mut self) {
1460        self.sha256_checksum.clear();
1461    }
1462
1463    // Param is passed by value, moved
1464    pub fn set_sha256_checksum(&mut self, v: ::std::string::String) {
1465        self.sha256_checksum = v;
1466    }
1467
1468    // Mutable pointer to the field.
1469    // If field is not initialized, it is initialized with default value first.
1470    pub fn mut_sha256_checksum(&mut self) -> &mut ::std::string::String {
1471        &mut self.sha256_checksum
1472    }
1473
1474    // Take field
1475    pub fn take_sha256_checksum(&mut self) -> ::std::string::String {
1476        ::std::mem::replace(&mut self.sha256_checksum, ::std::string::String::new())
1477    }
1478}
1479
1480impl ::protobuf::Message for OSPolicy_Resource_File_Remote {
1481    fn is_initialized(&self) -> bool {
1482        true
1483    }
1484
1485    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1486        while !is.eof()? {
1487            let (field_number, wire_type) = is.read_tag_unpack()?;
1488            match field_number {
1489                1 => {
1490                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.uri)?;
1491                },
1492                2 => {
1493                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.sha256_checksum)?;
1494                },
1495                _ => {
1496                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1497                },
1498            };
1499        }
1500        ::std::result::Result::Ok(())
1501    }
1502
1503    // Compute sizes of nested messages
1504    #[allow(unused_variables)]
1505    fn compute_size(&self) -> u32 {
1506        let mut my_size = 0;
1507        if !self.uri.is_empty() {
1508            my_size += ::protobuf::rt::string_size(1, &self.uri);
1509        }
1510        if !self.sha256_checksum.is_empty() {
1511            my_size += ::protobuf::rt::string_size(2, &self.sha256_checksum);
1512        }
1513        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1514        self.cached_size.set(my_size);
1515        my_size
1516    }
1517
1518    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1519        if !self.uri.is_empty() {
1520            os.write_string(1, &self.uri)?;
1521        }
1522        if !self.sha256_checksum.is_empty() {
1523            os.write_string(2, &self.sha256_checksum)?;
1524        }
1525        os.write_unknown_fields(self.get_unknown_fields())?;
1526        ::std::result::Result::Ok(())
1527    }
1528
1529    fn get_cached_size(&self) -> u32 {
1530        self.cached_size.get()
1531    }
1532
1533    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1534        &self.unknown_fields
1535    }
1536
1537    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1538        &mut self.unknown_fields
1539    }
1540
1541    fn as_any(&self) -> &dyn (::std::any::Any) {
1542        self as &dyn (::std::any::Any)
1543    }
1544    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1545        self as &mut dyn (::std::any::Any)
1546    }
1547    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1548        self
1549    }
1550
1551    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1552        Self::descriptor_static()
1553    }
1554
1555    fn new() -> OSPolicy_Resource_File_Remote {
1556        OSPolicy_Resource_File_Remote::new()
1557    }
1558
1559    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1560        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1561        descriptor.get(|| {
1562            let mut fields = ::std::vec::Vec::new();
1563            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1564                "uri",
1565                |m: &OSPolicy_Resource_File_Remote| { &m.uri },
1566                |m: &mut OSPolicy_Resource_File_Remote| { &mut m.uri },
1567            ));
1568            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1569                "sha256_checksum",
1570                |m: &OSPolicy_Resource_File_Remote| { &m.sha256_checksum },
1571                |m: &mut OSPolicy_Resource_File_Remote| { &mut m.sha256_checksum },
1572            ));
1573            ::protobuf::reflect::MessageDescriptor::new_pb_name::<OSPolicy_Resource_File_Remote>(
1574                "OSPolicy.Resource.File.Remote",
1575                fields,
1576                file_descriptor_proto()
1577            )
1578        })
1579    }
1580
1581    fn default_instance() -> &'static OSPolicy_Resource_File_Remote {
1582        static instance: ::protobuf::rt::LazyV2<OSPolicy_Resource_File_Remote> = ::protobuf::rt::LazyV2::INIT;
1583        instance.get(OSPolicy_Resource_File_Remote::new)
1584    }
1585}
1586
1587impl ::protobuf::Clear for OSPolicy_Resource_File_Remote {
1588    fn clear(&mut self) {
1589        self.uri.clear();
1590        self.sha256_checksum.clear();
1591        self.unknown_fields.clear();
1592    }
1593}
1594
1595impl ::std::fmt::Debug for OSPolicy_Resource_File_Remote {
1596    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1597        ::protobuf::text_format::fmt(self, f)
1598    }
1599}
1600
1601impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource_File_Remote {
1602    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1603        ::protobuf::reflect::ReflectValueRef::Message(self)
1604    }
1605}
1606
1607#[derive(PartialEq,Clone,Default)]
1608pub struct OSPolicy_Resource_File_Gcs {
1609    // message fields
1610    pub bucket: ::std::string::String,
1611    pub object: ::std::string::String,
1612    pub generation: i64,
1613    // special fields
1614    pub unknown_fields: ::protobuf::UnknownFields,
1615    pub cached_size: ::protobuf::CachedSize,
1616}
1617
1618impl<'a> ::std::default::Default for &'a OSPolicy_Resource_File_Gcs {
1619    fn default() -> &'a OSPolicy_Resource_File_Gcs {
1620        <OSPolicy_Resource_File_Gcs as ::protobuf::Message>::default_instance()
1621    }
1622}
1623
1624impl OSPolicy_Resource_File_Gcs {
1625    pub fn new() -> OSPolicy_Resource_File_Gcs {
1626        ::std::default::Default::default()
1627    }
1628
1629    // string bucket = 1;
1630
1631
1632    pub fn get_bucket(&self) -> &str {
1633        &self.bucket
1634    }
1635    pub fn clear_bucket(&mut self) {
1636        self.bucket.clear();
1637    }
1638
1639    // Param is passed by value, moved
1640    pub fn set_bucket(&mut self, v: ::std::string::String) {
1641        self.bucket = v;
1642    }
1643
1644    // Mutable pointer to the field.
1645    // If field is not initialized, it is initialized with default value first.
1646    pub fn mut_bucket(&mut self) -> &mut ::std::string::String {
1647        &mut self.bucket
1648    }
1649
1650    // Take field
1651    pub fn take_bucket(&mut self) -> ::std::string::String {
1652        ::std::mem::replace(&mut self.bucket, ::std::string::String::new())
1653    }
1654
1655    // string object = 2;
1656
1657
1658    pub fn get_object(&self) -> &str {
1659        &self.object
1660    }
1661    pub fn clear_object(&mut self) {
1662        self.object.clear();
1663    }
1664
1665    // Param is passed by value, moved
1666    pub fn set_object(&mut self, v: ::std::string::String) {
1667        self.object = v;
1668    }
1669
1670    // Mutable pointer to the field.
1671    // If field is not initialized, it is initialized with default value first.
1672    pub fn mut_object(&mut self) -> &mut ::std::string::String {
1673        &mut self.object
1674    }
1675
1676    // Take field
1677    pub fn take_object(&mut self) -> ::std::string::String {
1678        ::std::mem::replace(&mut self.object, ::std::string::String::new())
1679    }
1680
1681    // int64 generation = 3;
1682
1683
1684    pub fn get_generation(&self) -> i64 {
1685        self.generation
1686    }
1687    pub fn clear_generation(&mut self) {
1688        self.generation = 0;
1689    }
1690
1691    // Param is passed by value, moved
1692    pub fn set_generation(&mut self, v: i64) {
1693        self.generation = v;
1694    }
1695}
1696
1697impl ::protobuf::Message for OSPolicy_Resource_File_Gcs {
1698    fn is_initialized(&self) -> bool {
1699        true
1700    }
1701
1702    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1703        while !is.eof()? {
1704            let (field_number, wire_type) = is.read_tag_unpack()?;
1705            match field_number {
1706                1 => {
1707                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.bucket)?;
1708                },
1709                2 => {
1710                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.object)?;
1711                },
1712                3 => {
1713                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1714                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1715                    }
1716                    let tmp = is.read_int64()?;
1717                    self.generation = tmp;
1718                },
1719                _ => {
1720                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1721                },
1722            };
1723        }
1724        ::std::result::Result::Ok(())
1725    }
1726
1727    // Compute sizes of nested messages
1728    #[allow(unused_variables)]
1729    fn compute_size(&self) -> u32 {
1730        let mut my_size = 0;
1731        if !self.bucket.is_empty() {
1732            my_size += ::protobuf::rt::string_size(1, &self.bucket);
1733        }
1734        if !self.object.is_empty() {
1735            my_size += ::protobuf::rt::string_size(2, &self.object);
1736        }
1737        if self.generation != 0 {
1738            my_size += ::protobuf::rt::value_size(3, self.generation, ::protobuf::wire_format::WireTypeVarint);
1739        }
1740        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1741        self.cached_size.set(my_size);
1742        my_size
1743    }
1744
1745    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1746        if !self.bucket.is_empty() {
1747            os.write_string(1, &self.bucket)?;
1748        }
1749        if !self.object.is_empty() {
1750            os.write_string(2, &self.object)?;
1751        }
1752        if self.generation != 0 {
1753            os.write_int64(3, self.generation)?;
1754        }
1755        os.write_unknown_fields(self.get_unknown_fields())?;
1756        ::std::result::Result::Ok(())
1757    }
1758
1759    fn get_cached_size(&self) -> u32 {
1760        self.cached_size.get()
1761    }
1762
1763    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1764        &self.unknown_fields
1765    }
1766
1767    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1768        &mut self.unknown_fields
1769    }
1770
1771    fn as_any(&self) -> &dyn (::std::any::Any) {
1772        self as &dyn (::std::any::Any)
1773    }
1774    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1775        self as &mut dyn (::std::any::Any)
1776    }
1777    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1778        self
1779    }
1780
1781    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1782        Self::descriptor_static()
1783    }
1784
1785    fn new() -> OSPolicy_Resource_File_Gcs {
1786        OSPolicy_Resource_File_Gcs::new()
1787    }
1788
1789    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1790        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1791        descriptor.get(|| {
1792            let mut fields = ::std::vec::Vec::new();
1793            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1794                "bucket",
1795                |m: &OSPolicy_Resource_File_Gcs| { &m.bucket },
1796                |m: &mut OSPolicy_Resource_File_Gcs| { &mut m.bucket },
1797            ));
1798            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1799                "object",
1800                |m: &OSPolicy_Resource_File_Gcs| { &m.object },
1801                |m: &mut OSPolicy_Resource_File_Gcs| { &mut m.object },
1802            ));
1803            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1804                "generation",
1805                |m: &OSPolicy_Resource_File_Gcs| { &m.generation },
1806                |m: &mut OSPolicy_Resource_File_Gcs| { &mut m.generation },
1807            ));
1808            ::protobuf::reflect::MessageDescriptor::new_pb_name::<OSPolicy_Resource_File_Gcs>(
1809                "OSPolicy.Resource.File.Gcs",
1810                fields,
1811                file_descriptor_proto()
1812            )
1813        })
1814    }
1815
1816    fn default_instance() -> &'static OSPolicy_Resource_File_Gcs {
1817        static instance: ::protobuf::rt::LazyV2<OSPolicy_Resource_File_Gcs> = ::protobuf::rt::LazyV2::INIT;
1818        instance.get(OSPolicy_Resource_File_Gcs::new)
1819    }
1820}
1821
1822impl ::protobuf::Clear for OSPolicy_Resource_File_Gcs {
1823    fn clear(&mut self) {
1824        self.bucket.clear();
1825        self.object.clear();
1826        self.generation = 0;
1827        self.unknown_fields.clear();
1828    }
1829}
1830
1831impl ::std::fmt::Debug for OSPolicy_Resource_File_Gcs {
1832    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1833        ::protobuf::text_format::fmt(self, f)
1834    }
1835}
1836
1837impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource_File_Gcs {
1838    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1839        ::protobuf::reflect::ReflectValueRef::Message(self)
1840    }
1841}
1842
1843#[derive(PartialEq,Clone,Default)]
1844pub struct OSPolicy_Resource_PackageResource {
1845    // message fields
1846    pub desired_state: OSPolicy_Resource_PackageResource_DesiredState,
1847    // message oneof groups
1848    pub system_package: ::std::option::Option<OSPolicy_Resource_PackageResource_oneof_system_package>,
1849    // special fields
1850    pub unknown_fields: ::protobuf::UnknownFields,
1851    pub cached_size: ::protobuf::CachedSize,
1852}
1853
1854impl<'a> ::std::default::Default for &'a OSPolicy_Resource_PackageResource {
1855    fn default() -> &'a OSPolicy_Resource_PackageResource {
1856        <OSPolicy_Resource_PackageResource as ::protobuf::Message>::default_instance()
1857    }
1858}
1859
1860#[derive(Clone,PartialEq,Debug)]
1861pub enum OSPolicy_Resource_PackageResource_oneof_system_package {
1862    apt(OSPolicy_Resource_PackageResource_APT),
1863    deb(OSPolicy_Resource_PackageResource_Deb),
1864    yum(OSPolicy_Resource_PackageResource_YUM),
1865    zypper(OSPolicy_Resource_PackageResource_Zypper),
1866    rpm(OSPolicy_Resource_PackageResource_RPM),
1867    googet(OSPolicy_Resource_PackageResource_GooGet),
1868    msi(OSPolicy_Resource_PackageResource_MSI),
1869}
1870
1871impl OSPolicy_Resource_PackageResource {
1872    pub fn new() -> OSPolicy_Resource_PackageResource {
1873        ::std::default::Default::default()
1874    }
1875
1876    // .google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.DesiredState desired_state = 1;
1877
1878
1879    pub fn get_desired_state(&self) -> OSPolicy_Resource_PackageResource_DesiredState {
1880        self.desired_state
1881    }
1882    pub fn clear_desired_state(&mut self) {
1883        self.desired_state = OSPolicy_Resource_PackageResource_DesiredState::DESIRED_STATE_UNSPECIFIED;
1884    }
1885
1886    // Param is passed by value, moved
1887    pub fn set_desired_state(&mut self, v: OSPolicy_Resource_PackageResource_DesiredState) {
1888        self.desired_state = v;
1889    }
1890
1891    // .google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.APT apt = 2;
1892
1893
1894    pub fn get_apt(&self) -> &OSPolicy_Resource_PackageResource_APT {
1895        match self.system_package {
1896            ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::apt(ref v)) => v,
1897            _ => <OSPolicy_Resource_PackageResource_APT as ::protobuf::Message>::default_instance(),
1898        }
1899    }
1900    pub fn clear_apt(&mut self) {
1901        self.system_package = ::std::option::Option::None;
1902    }
1903
1904    pub fn has_apt(&self) -> bool {
1905        match self.system_package {
1906            ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::apt(..)) => true,
1907            _ => false,
1908        }
1909    }
1910
1911    // Param is passed by value, moved
1912    pub fn set_apt(&mut self, v: OSPolicy_Resource_PackageResource_APT) {
1913        self.system_package = ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::apt(v))
1914    }
1915
1916    // Mutable pointer to the field.
1917    pub fn mut_apt(&mut self) -> &mut OSPolicy_Resource_PackageResource_APT {
1918        if let ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::apt(_)) = self.system_package {
1919        } else {
1920            self.system_package = ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::apt(OSPolicy_Resource_PackageResource_APT::new()));
1921        }
1922        match self.system_package {
1923            ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::apt(ref mut v)) => v,
1924            _ => panic!(),
1925        }
1926    }
1927
1928    // Take field
1929    pub fn take_apt(&mut self) -> OSPolicy_Resource_PackageResource_APT {
1930        if self.has_apt() {
1931            match self.system_package.take() {
1932                ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::apt(v)) => v,
1933                _ => panic!(),
1934            }
1935        } else {
1936            OSPolicy_Resource_PackageResource_APT::new()
1937        }
1938    }
1939
1940    // .google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.Deb deb = 3;
1941
1942
1943    pub fn get_deb(&self) -> &OSPolicy_Resource_PackageResource_Deb {
1944        match self.system_package {
1945            ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::deb(ref v)) => v,
1946            _ => <OSPolicy_Resource_PackageResource_Deb as ::protobuf::Message>::default_instance(),
1947        }
1948    }
1949    pub fn clear_deb(&mut self) {
1950        self.system_package = ::std::option::Option::None;
1951    }
1952
1953    pub fn has_deb(&self) -> bool {
1954        match self.system_package {
1955            ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::deb(..)) => true,
1956            _ => false,
1957        }
1958    }
1959
1960    // Param is passed by value, moved
1961    pub fn set_deb(&mut self, v: OSPolicy_Resource_PackageResource_Deb) {
1962        self.system_package = ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::deb(v))
1963    }
1964
1965    // Mutable pointer to the field.
1966    pub fn mut_deb(&mut self) -> &mut OSPolicy_Resource_PackageResource_Deb {
1967        if let ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::deb(_)) = self.system_package {
1968        } else {
1969            self.system_package = ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::deb(OSPolicy_Resource_PackageResource_Deb::new()));
1970        }
1971        match self.system_package {
1972            ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::deb(ref mut v)) => v,
1973            _ => panic!(),
1974        }
1975    }
1976
1977    // Take field
1978    pub fn take_deb(&mut self) -> OSPolicy_Resource_PackageResource_Deb {
1979        if self.has_deb() {
1980            match self.system_package.take() {
1981                ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::deb(v)) => v,
1982                _ => panic!(),
1983            }
1984        } else {
1985            OSPolicy_Resource_PackageResource_Deb::new()
1986        }
1987    }
1988
1989    // .google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.YUM yum = 4;
1990
1991
1992    pub fn get_yum(&self) -> &OSPolicy_Resource_PackageResource_YUM {
1993        match self.system_package {
1994            ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::yum(ref v)) => v,
1995            _ => <OSPolicy_Resource_PackageResource_YUM as ::protobuf::Message>::default_instance(),
1996        }
1997    }
1998    pub fn clear_yum(&mut self) {
1999        self.system_package = ::std::option::Option::None;
2000    }
2001
2002    pub fn has_yum(&self) -> bool {
2003        match self.system_package {
2004            ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::yum(..)) => true,
2005            _ => false,
2006        }
2007    }
2008
2009    // Param is passed by value, moved
2010    pub fn set_yum(&mut self, v: OSPolicy_Resource_PackageResource_YUM) {
2011        self.system_package = ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::yum(v))
2012    }
2013
2014    // Mutable pointer to the field.
2015    pub fn mut_yum(&mut self) -> &mut OSPolicy_Resource_PackageResource_YUM {
2016        if let ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::yum(_)) = self.system_package {
2017        } else {
2018            self.system_package = ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::yum(OSPolicy_Resource_PackageResource_YUM::new()));
2019        }
2020        match self.system_package {
2021            ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::yum(ref mut v)) => v,
2022            _ => panic!(),
2023        }
2024    }
2025
2026    // Take field
2027    pub fn take_yum(&mut self) -> OSPolicy_Resource_PackageResource_YUM {
2028        if self.has_yum() {
2029            match self.system_package.take() {
2030                ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::yum(v)) => v,
2031                _ => panic!(),
2032            }
2033        } else {
2034            OSPolicy_Resource_PackageResource_YUM::new()
2035        }
2036    }
2037
2038    // .google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.Zypper zypper = 5;
2039
2040
2041    pub fn get_zypper(&self) -> &OSPolicy_Resource_PackageResource_Zypper {
2042        match self.system_package {
2043            ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::zypper(ref v)) => v,
2044            _ => <OSPolicy_Resource_PackageResource_Zypper as ::protobuf::Message>::default_instance(),
2045        }
2046    }
2047    pub fn clear_zypper(&mut self) {
2048        self.system_package = ::std::option::Option::None;
2049    }
2050
2051    pub fn has_zypper(&self) -> bool {
2052        match self.system_package {
2053            ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::zypper(..)) => true,
2054            _ => false,
2055        }
2056    }
2057
2058    // Param is passed by value, moved
2059    pub fn set_zypper(&mut self, v: OSPolicy_Resource_PackageResource_Zypper) {
2060        self.system_package = ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::zypper(v))
2061    }
2062
2063    // Mutable pointer to the field.
2064    pub fn mut_zypper(&mut self) -> &mut OSPolicy_Resource_PackageResource_Zypper {
2065        if let ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::zypper(_)) = self.system_package {
2066        } else {
2067            self.system_package = ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::zypper(OSPolicy_Resource_PackageResource_Zypper::new()));
2068        }
2069        match self.system_package {
2070            ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::zypper(ref mut v)) => v,
2071            _ => panic!(),
2072        }
2073    }
2074
2075    // Take field
2076    pub fn take_zypper(&mut self) -> OSPolicy_Resource_PackageResource_Zypper {
2077        if self.has_zypper() {
2078            match self.system_package.take() {
2079                ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::zypper(v)) => v,
2080                _ => panic!(),
2081            }
2082        } else {
2083            OSPolicy_Resource_PackageResource_Zypper::new()
2084        }
2085    }
2086
2087    // .google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.RPM rpm = 6;
2088
2089
2090    pub fn get_rpm(&self) -> &OSPolicy_Resource_PackageResource_RPM {
2091        match self.system_package {
2092            ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::rpm(ref v)) => v,
2093            _ => <OSPolicy_Resource_PackageResource_RPM as ::protobuf::Message>::default_instance(),
2094        }
2095    }
2096    pub fn clear_rpm(&mut self) {
2097        self.system_package = ::std::option::Option::None;
2098    }
2099
2100    pub fn has_rpm(&self) -> bool {
2101        match self.system_package {
2102            ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::rpm(..)) => true,
2103            _ => false,
2104        }
2105    }
2106
2107    // Param is passed by value, moved
2108    pub fn set_rpm(&mut self, v: OSPolicy_Resource_PackageResource_RPM) {
2109        self.system_package = ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::rpm(v))
2110    }
2111
2112    // Mutable pointer to the field.
2113    pub fn mut_rpm(&mut self) -> &mut OSPolicy_Resource_PackageResource_RPM {
2114        if let ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::rpm(_)) = self.system_package {
2115        } else {
2116            self.system_package = ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::rpm(OSPolicy_Resource_PackageResource_RPM::new()));
2117        }
2118        match self.system_package {
2119            ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::rpm(ref mut v)) => v,
2120            _ => panic!(),
2121        }
2122    }
2123
2124    // Take field
2125    pub fn take_rpm(&mut self) -> OSPolicy_Resource_PackageResource_RPM {
2126        if self.has_rpm() {
2127            match self.system_package.take() {
2128                ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::rpm(v)) => v,
2129                _ => panic!(),
2130            }
2131        } else {
2132            OSPolicy_Resource_PackageResource_RPM::new()
2133        }
2134    }
2135
2136    // .google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.GooGet googet = 7;
2137
2138
2139    pub fn get_googet(&self) -> &OSPolicy_Resource_PackageResource_GooGet {
2140        match self.system_package {
2141            ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::googet(ref v)) => v,
2142            _ => <OSPolicy_Resource_PackageResource_GooGet as ::protobuf::Message>::default_instance(),
2143        }
2144    }
2145    pub fn clear_googet(&mut self) {
2146        self.system_package = ::std::option::Option::None;
2147    }
2148
2149    pub fn has_googet(&self) -> bool {
2150        match self.system_package {
2151            ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::googet(..)) => true,
2152            _ => false,
2153        }
2154    }
2155
2156    // Param is passed by value, moved
2157    pub fn set_googet(&mut self, v: OSPolicy_Resource_PackageResource_GooGet) {
2158        self.system_package = ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::googet(v))
2159    }
2160
2161    // Mutable pointer to the field.
2162    pub fn mut_googet(&mut self) -> &mut OSPolicy_Resource_PackageResource_GooGet {
2163        if let ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::googet(_)) = self.system_package {
2164        } else {
2165            self.system_package = ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::googet(OSPolicy_Resource_PackageResource_GooGet::new()));
2166        }
2167        match self.system_package {
2168            ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::googet(ref mut v)) => v,
2169            _ => panic!(),
2170        }
2171    }
2172
2173    // Take field
2174    pub fn take_googet(&mut self) -> OSPolicy_Resource_PackageResource_GooGet {
2175        if self.has_googet() {
2176            match self.system_package.take() {
2177                ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::googet(v)) => v,
2178                _ => panic!(),
2179            }
2180        } else {
2181            OSPolicy_Resource_PackageResource_GooGet::new()
2182        }
2183    }
2184
2185    // .google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.MSI msi = 8;
2186
2187
2188    pub fn get_msi(&self) -> &OSPolicy_Resource_PackageResource_MSI {
2189        match self.system_package {
2190            ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::msi(ref v)) => v,
2191            _ => <OSPolicy_Resource_PackageResource_MSI as ::protobuf::Message>::default_instance(),
2192        }
2193    }
2194    pub fn clear_msi(&mut self) {
2195        self.system_package = ::std::option::Option::None;
2196    }
2197
2198    pub fn has_msi(&self) -> bool {
2199        match self.system_package {
2200            ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::msi(..)) => true,
2201            _ => false,
2202        }
2203    }
2204
2205    // Param is passed by value, moved
2206    pub fn set_msi(&mut self, v: OSPolicy_Resource_PackageResource_MSI) {
2207        self.system_package = ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::msi(v))
2208    }
2209
2210    // Mutable pointer to the field.
2211    pub fn mut_msi(&mut self) -> &mut OSPolicy_Resource_PackageResource_MSI {
2212        if let ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::msi(_)) = self.system_package {
2213        } else {
2214            self.system_package = ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::msi(OSPolicy_Resource_PackageResource_MSI::new()));
2215        }
2216        match self.system_package {
2217            ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::msi(ref mut v)) => v,
2218            _ => panic!(),
2219        }
2220    }
2221
2222    // Take field
2223    pub fn take_msi(&mut self) -> OSPolicy_Resource_PackageResource_MSI {
2224        if self.has_msi() {
2225            match self.system_package.take() {
2226                ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::msi(v)) => v,
2227                _ => panic!(),
2228            }
2229        } else {
2230            OSPolicy_Resource_PackageResource_MSI::new()
2231        }
2232    }
2233}
2234
2235impl ::protobuf::Message for OSPolicy_Resource_PackageResource {
2236    fn is_initialized(&self) -> bool {
2237        if let Some(OSPolicy_Resource_PackageResource_oneof_system_package::apt(ref v)) = self.system_package {
2238            if !v.is_initialized() {
2239                return false;
2240            }
2241        }
2242        if let Some(OSPolicy_Resource_PackageResource_oneof_system_package::deb(ref v)) = self.system_package {
2243            if !v.is_initialized() {
2244                return false;
2245            }
2246        }
2247        if let Some(OSPolicy_Resource_PackageResource_oneof_system_package::yum(ref v)) = self.system_package {
2248            if !v.is_initialized() {
2249                return false;
2250            }
2251        }
2252        if let Some(OSPolicy_Resource_PackageResource_oneof_system_package::zypper(ref v)) = self.system_package {
2253            if !v.is_initialized() {
2254                return false;
2255            }
2256        }
2257        if let Some(OSPolicy_Resource_PackageResource_oneof_system_package::rpm(ref v)) = self.system_package {
2258            if !v.is_initialized() {
2259                return false;
2260            }
2261        }
2262        if let Some(OSPolicy_Resource_PackageResource_oneof_system_package::googet(ref v)) = self.system_package {
2263            if !v.is_initialized() {
2264                return false;
2265            }
2266        }
2267        if let Some(OSPolicy_Resource_PackageResource_oneof_system_package::msi(ref v)) = self.system_package {
2268            if !v.is_initialized() {
2269                return false;
2270            }
2271        }
2272        true
2273    }
2274
2275    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2276        while !is.eof()? {
2277            let (field_number, wire_type) = is.read_tag_unpack()?;
2278            match field_number {
2279                1 => {
2280                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.desired_state, 1, &mut self.unknown_fields)?
2281                },
2282                2 => {
2283                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
2284                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2285                    }
2286                    self.system_package = ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::apt(is.read_message()?));
2287                },
2288                3 => {
2289                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
2290                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2291                    }
2292                    self.system_package = ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::deb(is.read_message()?));
2293                },
2294                4 => {
2295                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
2296                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2297                    }
2298                    self.system_package = ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::yum(is.read_message()?));
2299                },
2300                5 => {
2301                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
2302                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2303                    }
2304                    self.system_package = ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::zypper(is.read_message()?));
2305                },
2306                6 => {
2307                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
2308                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2309                    }
2310                    self.system_package = ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::rpm(is.read_message()?));
2311                },
2312                7 => {
2313                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
2314                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2315                    }
2316                    self.system_package = ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::googet(is.read_message()?));
2317                },
2318                8 => {
2319                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
2320                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2321                    }
2322                    self.system_package = ::std::option::Option::Some(OSPolicy_Resource_PackageResource_oneof_system_package::msi(is.read_message()?));
2323                },
2324                _ => {
2325                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2326                },
2327            };
2328        }
2329        ::std::result::Result::Ok(())
2330    }
2331
2332    // Compute sizes of nested messages
2333    #[allow(unused_variables)]
2334    fn compute_size(&self) -> u32 {
2335        let mut my_size = 0;
2336        if self.desired_state != OSPolicy_Resource_PackageResource_DesiredState::DESIRED_STATE_UNSPECIFIED {
2337            my_size += ::protobuf::rt::enum_size(1, self.desired_state);
2338        }
2339        if let ::std::option::Option::Some(ref v) = self.system_package {
2340            match v {
2341                &OSPolicy_Resource_PackageResource_oneof_system_package::apt(ref v) => {
2342                    let len = v.compute_size();
2343                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2344                },
2345                &OSPolicy_Resource_PackageResource_oneof_system_package::deb(ref v) => {
2346                    let len = v.compute_size();
2347                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2348                },
2349                &OSPolicy_Resource_PackageResource_oneof_system_package::yum(ref v) => {
2350                    let len = v.compute_size();
2351                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2352                },
2353                &OSPolicy_Resource_PackageResource_oneof_system_package::zypper(ref v) => {
2354                    let len = v.compute_size();
2355                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2356                },
2357                &OSPolicy_Resource_PackageResource_oneof_system_package::rpm(ref v) => {
2358                    let len = v.compute_size();
2359                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2360                },
2361                &OSPolicy_Resource_PackageResource_oneof_system_package::googet(ref v) => {
2362                    let len = v.compute_size();
2363                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2364                },
2365                &OSPolicy_Resource_PackageResource_oneof_system_package::msi(ref v) => {
2366                    let len = v.compute_size();
2367                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2368                },
2369            };
2370        }
2371        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2372        self.cached_size.set(my_size);
2373        my_size
2374    }
2375
2376    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2377        if self.desired_state != OSPolicy_Resource_PackageResource_DesiredState::DESIRED_STATE_UNSPECIFIED {
2378            os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.desired_state))?;
2379        }
2380        if let ::std::option::Option::Some(ref v) = self.system_package {
2381            match v {
2382                &OSPolicy_Resource_PackageResource_oneof_system_package::apt(ref v) => {
2383                    os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2384                    os.write_raw_varint32(v.get_cached_size())?;
2385                    v.write_to_with_cached_sizes(os)?;
2386                },
2387                &OSPolicy_Resource_PackageResource_oneof_system_package::deb(ref v) => {
2388                    os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2389                    os.write_raw_varint32(v.get_cached_size())?;
2390                    v.write_to_with_cached_sizes(os)?;
2391                },
2392                &OSPolicy_Resource_PackageResource_oneof_system_package::yum(ref v) => {
2393                    os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2394                    os.write_raw_varint32(v.get_cached_size())?;
2395                    v.write_to_with_cached_sizes(os)?;
2396                },
2397                &OSPolicy_Resource_PackageResource_oneof_system_package::zypper(ref v) => {
2398                    os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2399                    os.write_raw_varint32(v.get_cached_size())?;
2400                    v.write_to_with_cached_sizes(os)?;
2401                },
2402                &OSPolicy_Resource_PackageResource_oneof_system_package::rpm(ref v) => {
2403                    os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2404                    os.write_raw_varint32(v.get_cached_size())?;
2405                    v.write_to_with_cached_sizes(os)?;
2406                },
2407                &OSPolicy_Resource_PackageResource_oneof_system_package::googet(ref v) => {
2408                    os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2409                    os.write_raw_varint32(v.get_cached_size())?;
2410                    v.write_to_with_cached_sizes(os)?;
2411                },
2412                &OSPolicy_Resource_PackageResource_oneof_system_package::msi(ref v) => {
2413                    os.write_tag(8, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2414                    os.write_raw_varint32(v.get_cached_size())?;
2415                    v.write_to_with_cached_sizes(os)?;
2416                },
2417            };
2418        }
2419        os.write_unknown_fields(self.get_unknown_fields())?;
2420        ::std::result::Result::Ok(())
2421    }
2422
2423    fn get_cached_size(&self) -> u32 {
2424        self.cached_size.get()
2425    }
2426
2427    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2428        &self.unknown_fields
2429    }
2430
2431    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2432        &mut self.unknown_fields
2433    }
2434
2435    fn as_any(&self) -> &dyn (::std::any::Any) {
2436        self as &dyn (::std::any::Any)
2437    }
2438    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2439        self as &mut dyn (::std::any::Any)
2440    }
2441    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2442        self
2443    }
2444
2445    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2446        Self::descriptor_static()
2447    }
2448
2449    fn new() -> OSPolicy_Resource_PackageResource {
2450        OSPolicy_Resource_PackageResource::new()
2451    }
2452
2453    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2454        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2455        descriptor.get(|| {
2456            let mut fields = ::std::vec::Vec::new();
2457            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<OSPolicy_Resource_PackageResource_DesiredState>>(
2458                "desired_state",
2459                |m: &OSPolicy_Resource_PackageResource| { &m.desired_state },
2460                |m: &mut OSPolicy_Resource_PackageResource| { &mut m.desired_state },
2461            ));
2462            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, OSPolicy_Resource_PackageResource_APT>(
2463                "apt",
2464                OSPolicy_Resource_PackageResource::has_apt,
2465                OSPolicy_Resource_PackageResource::get_apt,
2466            ));
2467            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, OSPolicy_Resource_PackageResource_Deb>(
2468                "deb",
2469                OSPolicy_Resource_PackageResource::has_deb,
2470                OSPolicy_Resource_PackageResource::get_deb,
2471            ));
2472            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, OSPolicy_Resource_PackageResource_YUM>(
2473                "yum",
2474                OSPolicy_Resource_PackageResource::has_yum,
2475                OSPolicy_Resource_PackageResource::get_yum,
2476            ));
2477            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, OSPolicy_Resource_PackageResource_Zypper>(
2478                "zypper",
2479                OSPolicy_Resource_PackageResource::has_zypper,
2480                OSPolicy_Resource_PackageResource::get_zypper,
2481            ));
2482            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, OSPolicy_Resource_PackageResource_RPM>(
2483                "rpm",
2484                OSPolicy_Resource_PackageResource::has_rpm,
2485                OSPolicy_Resource_PackageResource::get_rpm,
2486            ));
2487            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, OSPolicy_Resource_PackageResource_GooGet>(
2488                "googet",
2489                OSPolicy_Resource_PackageResource::has_googet,
2490                OSPolicy_Resource_PackageResource::get_googet,
2491            ));
2492            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, OSPolicy_Resource_PackageResource_MSI>(
2493                "msi",
2494                OSPolicy_Resource_PackageResource::has_msi,
2495                OSPolicy_Resource_PackageResource::get_msi,
2496            ));
2497            ::protobuf::reflect::MessageDescriptor::new_pb_name::<OSPolicy_Resource_PackageResource>(
2498                "OSPolicy.Resource.PackageResource",
2499                fields,
2500                file_descriptor_proto()
2501            )
2502        })
2503    }
2504
2505    fn default_instance() -> &'static OSPolicy_Resource_PackageResource {
2506        static instance: ::protobuf::rt::LazyV2<OSPolicy_Resource_PackageResource> = ::protobuf::rt::LazyV2::INIT;
2507        instance.get(OSPolicy_Resource_PackageResource::new)
2508    }
2509}
2510
2511impl ::protobuf::Clear for OSPolicy_Resource_PackageResource {
2512    fn clear(&mut self) {
2513        self.desired_state = OSPolicy_Resource_PackageResource_DesiredState::DESIRED_STATE_UNSPECIFIED;
2514        self.system_package = ::std::option::Option::None;
2515        self.system_package = ::std::option::Option::None;
2516        self.system_package = ::std::option::Option::None;
2517        self.system_package = ::std::option::Option::None;
2518        self.system_package = ::std::option::Option::None;
2519        self.system_package = ::std::option::Option::None;
2520        self.system_package = ::std::option::Option::None;
2521        self.unknown_fields.clear();
2522    }
2523}
2524
2525impl ::std::fmt::Debug for OSPolicy_Resource_PackageResource {
2526    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2527        ::protobuf::text_format::fmt(self, f)
2528    }
2529}
2530
2531impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource_PackageResource {
2532    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2533        ::protobuf::reflect::ReflectValueRef::Message(self)
2534    }
2535}
2536
2537#[derive(PartialEq,Clone,Default)]
2538pub struct OSPolicy_Resource_PackageResource_Deb {
2539    // message fields
2540    pub source: ::protobuf::SingularPtrField<OSPolicy_Resource_File>,
2541    pub pull_deps: bool,
2542    // special fields
2543    pub unknown_fields: ::protobuf::UnknownFields,
2544    pub cached_size: ::protobuf::CachedSize,
2545}
2546
2547impl<'a> ::std::default::Default for &'a OSPolicy_Resource_PackageResource_Deb {
2548    fn default() -> &'a OSPolicy_Resource_PackageResource_Deb {
2549        <OSPolicy_Resource_PackageResource_Deb as ::protobuf::Message>::default_instance()
2550    }
2551}
2552
2553impl OSPolicy_Resource_PackageResource_Deb {
2554    pub fn new() -> OSPolicy_Resource_PackageResource_Deb {
2555        ::std::default::Default::default()
2556    }
2557
2558    // .google.cloud.osconfig.v1.OSPolicy.Resource.File source = 1;
2559
2560
2561    pub fn get_source(&self) -> &OSPolicy_Resource_File {
2562        self.source.as_ref().unwrap_or_else(|| <OSPolicy_Resource_File as ::protobuf::Message>::default_instance())
2563    }
2564    pub fn clear_source(&mut self) {
2565        self.source.clear();
2566    }
2567
2568    pub fn has_source(&self) -> bool {
2569        self.source.is_some()
2570    }
2571
2572    // Param is passed by value, moved
2573    pub fn set_source(&mut self, v: OSPolicy_Resource_File) {
2574        self.source = ::protobuf::SingularPtrField::some(v);
2575    }
2576
2577    // Mutable pointer to the field.
2578    // If field is not initialized, it is initialized with default value first.
2579    pub fn mut_source(&mut self) -> &mut OSPolicy_Resource_File {
2580        if self.source.is_none() {
2581            self.source.set_default();
2582        }
2583        self.source.as_mut().unwrap()
2584    }
2585
2586    // Take field
2587    pub fn take_source(&mut self) -> OSPolicy_Resource_File {
2588        self.source.take().unwrap_or_else(|| OSPolicy_Resource_File::new())
2589    }
2590
2591    // bool pull_deps = 2;
2592
2593
2594    pub fn get_pull_deps(&self) -> bool {
2595        self.pull_deps
2596    }
2597    pub fn clear_pull_deps(&mut self) {
2598        self.pull_deps = false;
2599    }
2600
2601    // Param is passed by value, moved
2602    pub fn set_pull_deps(&mut self, v: bool) {
2603        self.pull_deps = v;
2604    }
2605}
2606
2607impl ::protobuf::Message for OSPolicy_Resource_PackageResource_Deb {
2608    fn is_initialized(&self) -> bool {
2609        for v in &self.source {
2610            if !v.is_initialized() {
2611                return false;
2612            }
2613        };
2614        true
2615    }
2616
2617    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2618        while !is.eof()? {
2619            let (field_number, wire_type) = is.read_tag_unpack()?;
2620            match field_number {
2621                1 => {
2622                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.source)?;
2623                },
2624                2 => {
2625                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2626                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2627                    }
2628                    let tmp = is.read_bool()?;
2629                    self.pull_deps = tmp;
2630                },
2631                _ => {
2632                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2633                },
2634            };
2635        }
2636        ::std::result::Result::Ok(())
2637    }
2638
2639    // Compute sizes of nested messages
2640    #[allow(unused_variables)]
2641    fn compute_size(&self) -> u32 {
2642        let mut my_size = 0;
2643        if let Some(ref v) = self.source.as_ref() {
2644            let len = v.compute_size();
2645            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2646        }
2647        if self.pull_deps != false {
2648            my_size += 2;
2649        }
2650        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2651        self.cached_size.set(my_size);
2652        my_size
2653    }
2654
2655    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2656        if let Some(ref v) = self.source.as_ref() {
2657            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2658            os.write_raw_varint32(v.get_cached_size())?;
2659            v.write_to_with_cached_sizes(os)?;
2660        }
2661        if self.pull_deps != false {
2662            os.write_bool(2, self.pull_deps)?;
2663        }
2664        os.write_unknown_fields(self.get_unknown_fields())?;
2665        ::std::result::Result::Ok(())
2666    }
2667
2668    fn get_cached_size(&self) -> u32 {
2669        self.cached_size.get()
2670    }
2671
2672    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2673        &self.unknown_fields
2674    }
2675
2676    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2677        &mut self.unknown_fields
2678    }
2679
2680    fn as_any(&self) -> &dyn (::std::any::Any) {
2681        self as &dyn (::std::any::Any)
2682    }
2683    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2684        self as &mut dyn (::std::any::Any)
2685    }
2686    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2687        self
2688    }
2689
2690    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2691        Self::descriptor_static()
2692    }
2693
2694    fn new() -> OSPolicy_Resource_PackageResource_Deb {
2695        OSPolicy_Resource_PackageResource_Deb::new()
2696    }
2697
2698    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2699        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2700        descriptor.get(|| {
2701            let mut fields = ::std::vec::Vec::new();
2702            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<OSPolicy_Resource_File>>(
2703                "source",
2704                |m: &OSPolicy_Resource_PackageResource_Deb| { &m.source },
2705                |m: &mut OSPolicy_Resource_PackageResource_Deb| { &mut m.source },
2706            ));
2707            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
2708                "pull_deps",
2709                |m: &OSPolicy_Resource_PackageResource_Deb| { &m.pull_deps },
2710                |m: &mut OSPolicy_Resource_PackageResource_Deb| { &mut m.pull_deps },
2711            ));
2712            ::protobuf::reflect::MessageDescriptor::new_pb_name::<OSPolicy_Resource_PackageResource_Deb>(
2713                "OSPolicy.Resource.PackageResource.Deb",
2714                fields,
2715                file_descriptor_proto()
2716            )
2717        })
2718    }
2719
2720    fn default_instance() -> &'static OSPolicy_Resource_PackageResource_Deb {
2721        static instance: ::protobuf::rt::LazyV2<OSPolicy_Resource_PackageResource_Deb> = ::protobuf::rt::LazyV2::INIT;
2722        instance.get(OSPolicy_Resource_PackageResource_Deb::new)
2723    }
2724}
2725
2726impl ::protobuf::Clear for OSPolicy_Resource_PackageResource_Deb {
2727    fn clear(&mut self) {
2728        self.source.clear();
2729        self.pull_deps = false;
2730        self.unknown_fields.clear();
2731    }
2732}
2733
2734impl ::std::fmt::Debug for OSPolicy_Resource_PackageResource_Deb {
2735    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2736        ::protobuf::text_format::fmt(self, f)
2737    }
2738}
2739
2740impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource_PackageResource_Deb {
2741    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2742        ::protobuf::reflect::ReflectValueRef::Message(self)
2743    }
2744}
2745
2746#[derive(PartialEq,Clone,Default)]
2747pub struct OSPolicy_Resource_PackageResource_APT {
2748    // message fields
2749    pub name: ::std::string::String,
2750    // special fields
2751    pub unknown_fields: ::protobuf::UnknownFields,
2752    pub cached_size: ::protobuf::CachedSize,
2753}
2754
2755impl<'a> ::std::default::Default for &'a OSPolicy_Resource_PackageResource_APT {
2756    fn default() -> &'a OSPolicy_Resource_PackageResource_APT {
2757        <OSPolicy_Resource_PackageResource_APT as ::protobuf::Message>::default_instance()
2758    }
2759}
2760
2761impl OSPolicy_Resource_PackageResource_APT {
2762    pub fn new() -> OSPolicy_Resource_PackageResource_APT {
2763        ::std::default::Default::default()
2764    }
2765
2766    // string name = 1;
2767
2768
2769    pub fn get_name(&self) -> &str {
2770        &self.name
2771    }
2772    pub fn clear_name(&mut self) {
2773        self.name.clear();
2774    }
2775
2776    // Param is passed by value, moved
2777    pub fn set_name(&mut self, v: ::std::string::String) {
2778        self.name = v;
2779    }
2780
2781    // Mutable pointer to the field.
2782    // If field is not initialized, it is initialized with default value first.
2783    pub fn mut_name(&mut self) -> &mut ::std::string::String {
2784        &mut self.name
2785    }
2786
2787    // Take field
2788    pub fn take_name(&mut self) -> ::std::string::String {
2789        ::std::mem::replace(&mut self.name, ::std::string::String::new())
2790    }
2791}
2792
2793impl ::protobuf::Message for OSPolicy_Resource_PackageResource_APT {
2794    fn is_initialized(&self) -> bool {
2795        true
2796    }
2797
2798    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2799        while !is.eof()? {
2800            let (field_number, wire_type) = is.read_tag_unpack()?;
2801            match field_number {
2802                1 => {
2803                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
2804                },
2805                _ => {
2806                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2807                },
2808            };
2809        }
2810        ::std::result::Result::Ok(())
2811    }
2812
2813    // Compute sizes of nested messages
2814    #[allow(unused_variables)]
2815    fn compute_size(&self) -> u32 {
2816        let mut my_size = 0;
2817        if !self.name.is_empty() {
2818            my_size += ::protobuf::rt::string_size(1, &self.name);
2819        }
2820        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2821        self.cached_size.set(my_size);
2822        my_size
2823    }
2824
2825    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2826        if !self.name.is_empty() {
2827            os.write_string(1, &self.name)?;
2828        }
2829        os.write_unknown_fields(self.get_unknown_fields())?;
2830        ::std::result::Result::Ok(())
2831    }
2832
2833    fn get_cached_size(&self) -> u32 {
2834        self.cached_size.get()
2835    }
2836
2837    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2838        &self.unknown_fields
2839    }
2840
2841    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2842        &mut self.unknown_fields
2843    }
2844
2845    fn as_any(&self) -> &dyn (::std::any::Any) {
2846        self as &dyn (::std::any::Any)
2847    }
2848    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2849        self as &mut dyn (::std::any::Any)
2850    }
2851    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2852        self
2853    }
2854
2855    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2856        Self::descriptor_static()
2857    }
2858
2859    fn new() -> OSPolicy_Resource_PackageResource_APT {
2860        OSPolicy_Resource_PackageResource_APT::new()
2861    }
2862
2863    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2864        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2865        descriptor.get(|| {
2866            let mut fields = ::std::vec::Vec::new();
2867            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2868                "name",
2869                |m: &OSPolicy_Resource_PackageResource_APT| { &m.name },
2870                |m: &mut OSPolicy_Resource_PackageResource_APT| { &mut m.name },
2871            ));
2872            ::protobuf::reflect::MessageDescriptor::new_pb_name::<OSPolicy_Resource_PackageResource_APT>(
2873                "OSPolicy.Resource.PackageResource.APT",
2874                fields,
2875                file_descriptor_proto()
2876            )
2877        })
2878    }
2879
2880    fn default_instance() -> &'static OSPolicy_Resource_PackageResource_APT {
2881        static instance: ::protobuf::rt::LazyV2<OSPolicy_Resource_PackageResource_APT> = ::protobuf::rt::LazyV2::INIT;
2882        instance.get(OSPolicy_Resource_PackageResource_APT::new)
2883    }
2884}
2885
2886impl ::protobuf::Clear for OSPolicy_Resource_PackageResource_APT {
2887    fn clear(&mut self) {
2888        self.name.clear();
2889        self.unknown_fields.clear();
2890    }
2891}
2892
2893impl ::std::fmt::Debug for OSPolicy_Resource_PackageResource_APT {
2894    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2895        ::protobuf::text_format::fmt(self, f)
2896    }
2897}
2898
2899impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource_PackageResource_APT {
2900    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2901        ::protobuf::reflect::ReflectValueRef::Message(self)
2902    }
2903}
2904
2905#[derive(PartialEq,Clone,Default)]
2906pub struct OSPolicy_Resource_PackageResource_RPM {
2907    // message fields
2908    pub source: ::protobuf::SingularPtrField<OSPolicy_Resource_File>,
2909    pub pull_deps: bool,
2910    // special fields
2911    pub unknown_fields: ::protobuf::UnknownFields,
2912    pub cached_size: ::protobuf::CachedSize,
2913}
2914
2915impl<'a> ::std::default::Default for &'a OSPolicy_Resource_PackageResource_RPM {
2916    fn default() -> &'a OSPolicy_Resource_PackageResource_RPM {
2917        <OSPolicy_Resource_PackageResource_RPM as ::protobuf::Message>::default_instance()
2918    }
2919}
2920
2921impl OSPolicy_Resource_PackageResource_RPM {
2922    pub fn new() -> OSPolicy_Resource_PackageResource_RPM {
2923        ::std::default::Default::default()
2924    }
2925
2926    // .google.cloud.osconfig.v1.OSPolicy.Resource.File source = 1;
2927
2928
2929    pub fn get_source(&self) -> &OSPolicy_Resource_File {
2930        self.source.as_ref().unwrap_or_else(|| <OSPolicy_Resource_File as ::protobuf::Message>::default_instance())
2931    }
2932    pub fn clear_source(&mut self) {
2933        self.source.clear();
2934    }
2935
2936    pub fn has_source(&self) -> bool {
2937        self.source.is_some()
2938    }
2939
2940    // Param is passed by value, moved
2941    pub fn set_source(&mut self, v: OSPolicy_Resource_File) {
2942        self.source = ::protobuf::SingularPtrField::some(v);
2943    }
2944
2945    // Mutable pointer to the field.
2946    // If field is not initialized, it is initialized with default value first.
2947    pub fn mut_source(&mut self) -> &mut OSPolicy_Resource_File {
2948        if self.source.is_none() {
2949            self.source.set_default();
2950        }
2951        self.source.as_mut().unwrap()
2952    }
2953
2954    // Take field
2955    pub fn take_source(&mut self) -> OSPolicy_Resource_File {
2956        self.source.take().unwrap_or_else(|| OSPolicy_Resource_File::new())
2957    }
2958
2959    // bool pull_deps = 2;
2960
2961
2962    pub fn get_pull_deps(&self) -> bool {
2963        self.pull_deps
2964    }
2965    pub fn clear_pull_deps(&mut self) {
2966        self.pull_deps = false;
2967    }
2968
2969    // Param is passed by value, moved
2970    pub fn set_pull_deps(&mut self, v: bool) {
2971        self.pull_deps = v;
2972    }
2973}
2974
2975impl ::protobuf::Message for OSPolicy_Resource_PackageResource_RPM {
2976    fn is_initialized(&self) -> bool {
2977        for v in &self.source {
2978            if !v.is_initialized() {
2979                return false;
2980            }
2981        };
2982        true
2983    }
2984
2985    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2986        while !is.eof()? {
2987            let (field_number, wire_type) = is.read_tag_unpack()?;
2988            match field_number {
2989                1 => {
2990                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.source)?;
2991                },
2992                2 => {
2993                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2994                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2995                    }
2996                    let tmp = is.read_bool()?;
2997                    self.pull_deps = tmp;
2998                },
2999                _ => {
3000                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3001                },
3002            };
3003        }
3004        ::std::result::Result::Ok(())
3005    }
3006
3007    // Compute sizes of nested messages
3008    #[allow(unused_variables)]
3009    fn compute_size(&self) -> u32 {
3010        let mut my_size = 0;
3011        if let Some(ref v) = self.source.as_ref() {
3012            let len = v.compute_size();
3013            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3014        }
3015        if self.pull_deps != false {
3016            my_size += 2;
3017        }
3018        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3019        self.cached_size.set(my_size);
3020        my_size
3021    }
3022
3023    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3024        if let Some(ref v) = self.source.as_ref() {
3025            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3026            os.write_raw_varint32(v.get_cached_size())?;
3027            v.write_to_with_cached_sizes(os)?;
3028        }
3029        if self.pull_deps != false {
3030            os.write_bool(2, self.pull_deps)?;
3031        }
3032        os.write_unknown_fields(self.get_unknown_fields())?;
3033        ::std::result::Result::Ok(())
3034    }
3035
3036    fn get_cached_size(&self) -> u32 {
3037        self.cached_size.get()
3038    }
3039
3040    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3041        &self.unknown_fields
3042    }
3043
3044    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3045        &mut self.unknown_fields
3046    }
3047
3048    fn as_any(&self) -> &dyn (::std::any::Any) {
3049        self as &dyn (::std::any::Any)
3050    }
3051    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3052        self as &mut dyn (::std::any::Any)
3053    }
3054    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3055        self
3056    }
3057
3058    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3059        Self::descriptor_static()
3060    }
3061
3062    fn new() -> OSPolicy_Resource_PackageResource_RPM {
3063        OSPolicy_Resource_PackageResource_RPM::new()
3064    }
3065
3066    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3067        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3068        descriptor.get(|| {
3069            let mut fields = ::std::vec::Vec::new();
3070            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<OSPolicy_Resource_File>>(
3071                "source",
3072                |m: &OSPolicy_Resource_PackageResource_RPM| { &m.source },
3073                |m: &mut OSPolicy_Resource_PackageResource_RPM| { &mut m.source },
3074            ));
3075            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
3076                "pull_deps",
3077                |m: &OSPolicy_Resource_PackageResource_RPM| { &m.pull_deps },
3078                |m: &mut OSPolicy_Resource_PackageResource_RPM| { &mut m.pull_deps },
3079            ));
3080            ::protobuf::reflect::MessageDescriptor::new_pb_name::<OSPolicy_Resource_PackageResource_RPM>(
3081                "OSPolicy.Resource.PackageResource.RPM",
3082                fields,
3083                file_descriptor_proto()
3084            )
3085        })
3086    }
3087
3088    fn default_instance() -> &'static OSPolicy_Resource_PackageResource_RPM {
3089        static instance: ::protobuf::rt::LazyV2<OSPolicy_Resource_PackageResource_RPM> = ::protobuf::rt::LazyV2::INIT;
3090        instance.get(OSPolicy_Resource_PackageResource_RPM::new)
3091    }
3092}
3093
3094impl ::protobuf::Clear for OSPolicy_Resource_PackageResource_RPM {
3095    fn clear(&mut self) {
3096        self.source.clear();
3097        self.pull_deps = false;
3098        self.unknown_fields.clear();
3099    }
3100}
3101
3102impl ::std::fmt::Debug for OSPolicy_Resource_PackageResource_RPM {
3103    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3104        ::protobuf::text_format::fmt(self, f)
3105    }
3106}
3107
3108impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource_PackageResource_RPM {
3109    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3110        ::protobuf::reflect::ReflectValueRef::Message(self)
3111    }
3112}
3113
3114#[derive(PartialEq,Clone,Default)]
3115pub struct OSPolicy_Resource_PackageResource_YUM {
3116    // message fields
3117    pub name: ::std::string::String,
3118    // special fields
3119    pub unknown_fields: ::protobuf::UnknownFields,
3120    pub cached_size: ::protobuf::CachedSize,
3121}
3122
3123impl<'a> ::std::default::Default for &'a OSPolicy_Resource_PackageResource_YUM {
3124    fn default() -> &'a OSPolicy_Resource_PackageResource_YUM {
3125        <OSPolicy_Resource_PackageResource_YUM as ::protobuf::Message>::default_instance()
3126    }
3127}
3128
3129impl OSPolicy_Resource_PackageResource_YUM {
3130    pub fn new() -> OSPolicy_Resource_PackageResource_YUM {
3131        ::std::default::Default::default()
3132    }
3133
3134    // string name = 1;
3135
3136
3137    pub fn get_name(&self) -> &str {
3138        &self.name
3139    }
3140    pub fn clear_name(&mut self) {
3141        self.name.clear();
3142    }
3143
3144    // Param is passed by value, moved
3145    pub fn set_name(&mut self, v: ::std::string::String) {
3146        self.name = v;
3147    }
3148
3149    // Mutable pointer to the field.
3150    // If field is not initialized, it is initialized with default value first.
3151    pub fn mut_name(&mut self) -> &mut ::std::string::String {
3152        &mut self.name
3153    }
3154
3155    // Take field
3156    pub fn take_name(&mut self) -> ::std::string::String {
3157        ::std::mem::replace(&mut self.name, ::std::string::String::new())
3158    }
3159}
3160
3161impl ::protobuf::Message for OSPolicy_Resource_PackageResource_YUM {
3162    fn is_initialized(&self) -> bool {
3163        true
3164    }
3165
3166    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3167        while !is.eof()? {
3168            let (field_number, wire_type) = is.read_tag_unpack()?;
3169            match field_number {
3170                1 => {
3171                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
3172                },
3173                _ => {
3174                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3175                },
3176            };
3177        }
3178        ::std::result::Result::Ok(())
3179    }
3180
3181    // Compute sizes of nested messages
3182    #[allow(unused_variables)]
3183    fn compute_size(&self) -> u32 {
3184        let mut my_size = 0;
3185        if !self.name.is_empty() {
3186            my_size += ::protobuf::rt::string_size(1, &self.name);
3187        }
3188        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3189        self.cached_size.set(my_size);
3190        my_size
3191    }
3192
3193    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3194        if !self.name.is_empty() {
3195            os.write_string(1, &self.name)?;
3196        }
3197        os.write_unknown_fields(self.get_unknown_fields())?;
3198        ::std::result::Result::Ok(())
3199    }
3200
3201    fn get_cached_size(&self) -> u32 {
3202        self.cached_size.get()
3203    }
3204
3205    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3206        &self.unknown_fields
3207    }
3208
3209    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3210        &mut self.unknown_fields
3211    }
3212
3213    fn as_any(&self) -> &dyn (::std::any::Any) {
3214        self as &dyn (::std::any::Any)
3215    }
3216    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3217        self as &mut dyn (::std::any::Any)
3218    }
3219    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3220        self
3221    }
3222
3223    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3224        Self::descriptor_static()
3225    }
3226
3227    fn new() -> OSPolicy_Resource_PackageResource_YUM {
3228        OSPolicy_Resource_PackageResource_YUM::new()
3229    }
3230
3231    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3232        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3233        descriptor.get(|| {
3234            let mut fields = ::std::vec::Vec::new();
3235            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3236                "name",
3237                |m: &OSPolicy_Resource_PackageResource_YUM| { &m.name },
3238                |m: &mut OSPolicy_Resource_PackageResource_YUM| { &mut m.name },
3239            ));
3240            ::protobuf::reflect::MessageDescriptor::new_pb_name::<OSPolicy_Resource_PackageResource_YUM>(
3241                "OSPolicy.Resource.PackageResource.YUM",
3242                fields,
3243                file_descriptor_proto()
3244            )
3245        })
3246    }
3247
3248    fn default_instance() -> &'static OSPolicy_Resource_PackageResource_YUM {
3249        static instance: ::protobuf::rt::LazyV2<OSPolicy_Resource_PackageResource_YUM> = ::protobuf::rt::LazyV2::INIT;
3250        instance.get(OSPolicy_Resource_PackageResource_YUM::new)
3251    }
3252}
3253
3254impl ::protobuf::Clear for OSPolicy_Resource_PackageResource_YUM {
3255    fn clear(&mut self) {
3256        self.name.clear();
3257        self.unknown_fields.clear();
3258    }
3259}
3260
3261impl ::std::fmt::Debug for OSPolicy_Resource_PackageResource_YUM {
3262    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3263        ::protobuf::text_format::fmt(self, f)
3264    }
3265}
3266
3267impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource_PackageResource_YUM {
3268    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3269        ::protobuf::reflect::ReflectValueRef::Message(self)
3270    }
3271}
3272
3273#[derive(PartialEq,Clone,Default)]
3274pub struct OSPolicy_Resource_PackageResource_Zypper {
3275    // message fields
3276    pub name: ::std::string::String,
3277    // special fields
3278    pub unknown_fields: ::protobuf::UnknownFields,
3279    pub cached_size: ::protobuf::CachedSize,
3280}
3281
3282impl<'a> ::std::default::Default for &'a OSPolicy_Resource_PackageResource_Zypper {
3283    fn default() -> &'a OSPolicy_Resource_PackageResource_Zypper {
3284        <OSPolicy_Resource_PackageResource_Zypper as ::protobuf::Message>::default_instance()
3285    }
3286}
3287
3288impl OSPolicy_Resource_PackageResource_Zypper {
3289    pub fn new() -> OSPolicy_Resource_PackageResource_Zypper {
3290        ::std::default::Default::default()
3291    }
3292
3293    // string name = 1;
3294
3295
3296    pub fn get_name(&self) -> &str {
3297        &self.name
3298    }
3299    pub fn clear_name(&mut self) {
3300        self.name.clear();
3301    }
3302
3303    // Param is passed by value, moved
3304    pub fn set_name(&mut self, v: ::std::string::String) {
3305        self.name = v;
3306    }
3307
3308    // Mutable pointer to the field.
3309    // If field is not initialized, it is initialized with default value first.
3310    pub fn mut_name(&mut self) -> &mut ::std::string::String {
3311        &mut self.name
3312    }
3313
3314    // Take field
3315    pub fn take_name(&mut self) -> ::std::string::String {
3316        ::std::mem::replace(&mut self.name, ::std::string::String::new())
3317    }
3318}
3319
3320impl ::protobuf::Message for OSPolicy_Resource_PackageResource_Zypper {
3321    fn is_initialized(&self) -> bool {
3322        true
3323    }
3324
3325    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3326        while !is.eof()? {
3327            let (field_number, wire_type) = is.read_tag_unpack()?;
3328            match field_number {
3329                1 => {
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.name.is_empty() {
3345            my_size += ::protobuf::rt::string_size(1, &self.name);
3346        }
3347        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3348        self.cached_size.set(my_size);
3349        my_size
3350    }
3351
3352    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3353        if !self.name.is_empty() {
3354            os.write_string(1, &self.name)?;
3355        }
3356        os.write_unknown_fields(self.get_unknown_fields())?;
3357        ::std::result::Result::Ok(())
3358    }
3359
3360    fn get_cached_size(&self) -> u32 {
3361        self.cached_size.get()
3362    }
3363
3364    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3365        &self.unknown_fields
3366    }
3367
3368    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3369        &mut self.unknown_fields
3370    }
3371
3372    fn as_any(&self) -> &dyn (::std::any::Any) {
3373        self as &dyn (::std::any::Any)
3374    }
3375    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3376        self as &mut dyn (::std::any::Any)
3377    }
3378    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3379        self
3380    }
3381
3382    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3383        Self::descriptor_static()
3384    }
3385
3386    fn new() -> OSPolicy_Resource_PackageResource_Zypper {
3387        OSPolicy_Resource_PackageResource_Zypper::new()
3388    }
3389
3390    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3391        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3392        descriptor.get(|| {
3393            let mut fields = ::std::vec::Vec::new();
3394            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3395                "name",
3396                |m: &OSPolicy_Resource_PackageResource_Zypper| { &m.name },
3397                |m: &mut OSPolicy_Resource_PackageResource_Zypper| { &mut m.name },
3398            ));
3399            ::protobuf::reflect::MessageDescriptor::new_pb_name::<OSPolicy_Resource_PackageResource_Zypper>(
3400                "OSPolicy.Resource.PackageResource.Zypper",
3401                fields,
3402                file_descriptor_proto()
3403            )
3404        })
3405    }
3406
3407    fn default_instance() -> &'static OSPolicy_Resource_PackageResource_Zypper {
3408        static instance: ::protobuf::rt::LazyV2<OSPolicy_Resource_PackageResource_Zypper> = ::protobuf::rt::LazyV2::INIT;
3409        instance.get(OSPolicy_Resource_PackageResource_Zypper::new)
3410    }
3411}
3412
3413impl ::protobuf::Clear for OSPolicy_Resource_PackageResource_Zypper {
3414    fn clear(&mut self) {
3415        self.name.clear();
3416        self.unknown_fields.clear();
3417    }
3418}
3419
3420impl ::std::fmt::Debug for OSPolicy_Resource_PackageResource_Zypper {
3421    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3422        ::protobuf::text_format::fmt(self, f)
3423    }
3424}
3425
3426impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource_PackageResource_Zypper {
3427    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3428        ::protobuf::reflect::ReflectValueRef::Message(self)
3429    }
3430}
3431
3432#[derive(PartialEq,Clone,Default)]
3433pub struct OSPolicy_Resource_PackageResource_GooGet {
3434    // message fields
3435    pub name: ::std::string::String,
3436    // special fields
3437    pub unknown_fields: ::protobuf::UnknownFields,
3438    pub cached_size: ::protobuf::CachedSize,
3439}
3440
3441impl<'a> ::std::default::Default for &'a OSPolicy_Resource_PackageResource_GooGet {
3442    fn default() -> &'a OSPolicy_Resource_PackageResource_GooGet {
3443        <OSPolicy_Resource_PackageResource_GooGet as ::protobuf::Message>::default_instance()
3444    }
3445}
3446
3447impl OSPolicy_Resource_PackageResource_GooGet {
3448    pub fn new() -> OSPolicy_Resource_PackageResource_GooGet {
3449        ::std::default::Default::default()
3450    }
3451
3452    // string name = 1;
3453
3454
3455    pub fn get_name(&self) -> &str {
3456        &self.name
3457    }
3458    pub fn clear_name(&mut self) {
3459        self.name.clear();
3460    }
3461
3462    // Param is passed by value, moved
3463    pub fn set_name(&mut self, v: ::std::string::String) {
3464        self.name = v;
3465    }
3466
3467    // Mutable pointer to the field.
3468    // If field is not initialized, it is initialized with default value first.
3469    pub fn mut_name(&mut self) -> &mut ::std::string::String {
3470        &mut self.name
3471    }
3472
3473    // Take field
3474    pub fn take_name(&mut self) -> ::std::string::String {
3475        ::std::mem::replace(&mut self.name, ::std::string::String::new())
3476    }
3477}
3478
3479impl ::protobuf::Message for OSPolicy_Resource_PackageResource_GooGet {
3480    fn is_initialized(&self) -> bool {
3481        true
3482    }
3483
3484    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3485        while !is.eof()? {
3486            let (field_number, wire_type) = is.read_tag_unpack()?;
3487            match field_number {
3488                1 => {
3489                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
3490                },
3491                _ => {
3492                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3493                },
3494            };
3495        }
3496        ::std::result::Result::Ok(())
3497    }
3498
3499    // Compute sizes of nested messages
3500    #[allow(unused_variables)]
3501    fn compute_size(&self) -> u32 {
3502        let mut my_size = 0;
3503        if !self.name.is_empty() {
3504            my_size += ::protobuf::rt::string_size(1, &self.name);
3505        }
3506        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3507        self.cached_size.set(my_size);
3508        my_size
3509    }
3510
3511    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3512        if !self.name.is_empty() {
3513            os.write_string(1, &self.name)?;
3514        }
3515        os.write_unknown_fields(self.get_unknown_fields())?;
3516        ::std::result::Result::Ok(())
3517    }
3518
3519    fn get_cached_size(&self) -> u32 {
3520        self.cached_size.get()
3521    }
3522
3523    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3524        &self.unknown_fields
3525    }
3526
3527    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3528        &mut self.unknown_fields
3529    }
3530
3531    fn as_any(&self) -> &dyn (::std::any::Any) {
3532        self as &dyn (::std::any::Any)
3533    }
3534    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3535        self as &mut dyn (::std::any::Any)
3536    }
3537    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3538        self
3539    }
3540
3541    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3542        Self::descriptor_static()
3543    }
3544
3545    fn new() -> OSPolicy_Resource_PackageResource_GooGet {
3546        OSPolicy_Resource_PackageResource_GooGet::new()
3547    }
3548
3549    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3550        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3551        descriptor.get(|| {
3552            let mut fields = ::std::vec::Vec::new();
3553            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3554                "name",
3555                |m: &OSPolicy_Resource_PackageResource_GooGet| { &m.name },
3556                |m: &mut OSPolicy_Resource_PackageResource_GooGet| { &mut m.name },
3557            ));
3558            ::protobuf::reflect::MessageDescriptor::new_pb_name::<OSPolicy_Resource_PackageResource_GooGet>(
3559                "OSPolicy.Resource.PackageResource.GooGet",
3560                fields,
3561                file_descriptor_proto()
3562            )
3563        })
3564    }
3565
3566    fn default_instance() -> &'static OSPolicy_Resource_PackageResource_GooGet {
3567        static instance: ::protobuf::rt::LazyV2<OSPolicy_Resource_PackageResource_GooGet> = ::protobuf::rt::LazyV2::INIT;
3568        instance.get(OSPolicy_Resource_PackageResource_GooGet::new)
3569    }
3570}
3571
3572impl ::protobuf::Clear for OSPolicy_Resource_PackageResource_GooGet {
3573    fn clear(&mut self) {
3574        self.name.clear();
3575        self.unknown_fields.clear();
3576    }
3577}
3578
3579impl ::std::fmt::Debug for OSPolicy_Resource_PackageResource_GooGet {
3580    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3581        ::protobuf::text_format::fmt(self, f)
3582    }
3583}
3584
3585impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource_PackageResource_GooGet {
3586    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3587        ::protobuf::reflect::ReflectValueRef::Message(self)
3588    }
3589}
3590
3591#[derive(PartialEq,Clone,Default)]
3592pub struct OSPolicy_Resource_PackageResource_MSI {
3593    // message fields
3594    pub source: ::protobuf::SingularPtrField<OSPolicy_Resource_File>,
3595    pub properties: ::protobuf::RepeatedField<::std::string::String>,
3596    // special fields
3597    pub unknown_fields: ::protobuf::UnknownFields,
3598    pub cached_size: ::protobuf::CachedSize,
3599}
3600
3601impl<'a> ::std::default::Default for &'a OSPolicy_Resource_PackageResource_MSI {
3602    fn default() -> &'a OSPolicy_Resource_PackageResource_MSI {
3603        <OSPolicy_Resource_PackageResource_MSI as ::protobuf::Message>::default_instance()
3604    }
3605}
3606
3607impl OSPolicy_Resource_PackageResource_MSI {
3608    pub fn new() -> OSPolicy_Resource_PackageResource_MSI {
3609        ::std::default::Default::default()
3610    }
3611
3612    // .google.cloud.osconfig.v1.OSPolicy.Resource.File source = 1;
3613
3614
3615    pub fn get_source(&self) -> &OSPolicy_Resource_File {
3616        self.source.as_ref().unwrap_or_else(|| <OSPolicy_Resource_File as ::protobuf::Message>::default_instance())
3617    }
3618    pub fn clear_source(&mut self) {
3619        self.source.clear();
3620    }
3621
3622    pub fn has_source(&self) -> bool {
3623        self.source.is_some()
3624    }
3625
3626    // Param is passed by value, moved
3627    pub fn set_source(&mut self, v: OSPolicy_Resource_File) {
3628        self.source = ::protobuf::SingularPtrField::some(v);
3629    }
3630
3631    // Mutable pointer to the field.
3632    // If field is not initialized, it is initialized with default value first.
3633    pub fn mut_source(&mut self) -> &mut OSPolicy_Resource_File {
3634        if self.source.is_none() {
3635            self.source.set_default();
3636        }
3637        self.source.as_mut().unwrap()
3638    }
3639
3640    // Take field
3641    pub fn take_source(&mut self) -> OSPolicy_Resource_File {
3642        self.source.take().unwrap_or_else(|| OSPolicy_Resource_File::new())
3643    }
3644
3645    // repeated string properties = 2;
3646
3647
3648    pub fn get_properties(&self) -> &[::std::string::String] {
3649        &self.properties
3650    }
3651    pub fn clear_properties(&mut self) {
3652        self.properties.clear();
3653    }
3654
3655    // Param is passed by value, moved
3656    pub fn set_properties(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
3657        self.properties = v;
3658    }
3659
3660    // Mutable pointer to the field.
3661    pub fn mut_properties(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
3662        &mut self.properties
3663    }
3664
3665    // Take field
3666    pub fn take_properties(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
3667        ::std::mem::replace(&mut self.properties, ::protobuf::RepeatedField::new())
3668    }
3669}
3670
3671impl ::protobuf::Message for OSPolicy_Resource_PackageResource_MSI {
3672    fn is_initialized(&self) -> bool {
3673        for v in &self.source {
3674            if !v.is_initialized() {
3675                return false;
3676            }
3677        };
3678        true
3679    }
3680
3681    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3682        while !is.eof()? {
3683            let (field_number, wire_type) = is.read_tag_unpack()?;
3684            match field_number {
3685                1 => {
3686                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.source)?;
3687                },
3688                2 => {
3689                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.properties)?;
3690                },
3691                _ => {
3692                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3693                },
3694            };
3695        }
3696        ::std::result::Result::Ok(())
3697    }
3698
3699    // Compute sizes of nested messages
3700    #[allow(unused_variables)]
3701    fn compute_size(&self) -> u32 {
3702        let mut my_size = 0;
3703        if let Some(ref v) = self.source.as_ref() {
3704            let len = v.compute_size();
3705            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3706        }
3707        for value in &self.properties {
3708            my_size += ::protobuf::rt::string_size(2, &value);
3709        };
3710        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3711        self.cached_size.set(my_size);
3712        my_size
3713    }
3714
3715    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3716        if let Some(ref v) = self.source.as_ref() {
3717            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3718            os.write_raw_varint32(v.get_cached_size())?;
3719            v.write_to_with_cached_sizes(os)?;
3720        }
3721        for v in &self.properties {
3722            os.write_string(2, &v)?;
3723        };
3724        os.write_unknown_fields(self.get_unknown_fields())?;
3725        ::std::result::Result::Ok(())
3726    }
3727
3728    fn get_cached_size(&self) -> u32 {
3729        self.cached_size.get()
3730    }
3731
3732    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3733        &self.unknown_fields
3734    }
3735
3736    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3737        &mut self.unknown_fields
3738    }
3739
3740    fn as_any(&self) -> &dyn (::std::any::Any) {
3741        self as &dyn (::std::any::Any)
3742    }
3743    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3744        self as &mut dyn (::std::any::Any)
3745    }
3746    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3747        self
3748    }
3749
3750    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3751        Self::descriptor_static()
3752    }
3753
3754    fn new() -> OSPolicy_Resource_PackageResource_MSI {
3755        OSPolicy_Resource_PackageResource_MSI::new()
3756    }
3757
3758    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3759        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3760        descriptor.get(|| {
3761            let mut fields = ::std::vec::Vec::new();
3762            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<OSPolicy_Resource_File>>(
3763                "source",
3764                |m: &OSPolicy_Resource_PackageResource_MSI| { &m.source },
3765                |m: &mut OSPolicy_Resource_PackageResource_MSI| { &mut m.source },
3766            ));
3767            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3768                "properties",
3769                |m: &OSPolicy_Resource_PackageResource_MSI| { &m.properties },
3770                |m: &mut OSPolicy_Resource_PackageResource_MSI| { &mut m.properties },
3771            ));
3772            ::protobuf::reflect::MessageDescriptor::new_pb_name::<OSPolicy_Resource_PackageResource_MSI>(
3773                "OSPolicy.Resource.PackageResource.MSI",
3774                fields,
3775                file_descriptor_proto()
3776            )
3777        })
3778    }
3779
3780    fn default_instance() -> &'static OSPolicy_Resource_PackageResource_MSI {
3781        static instance: ::protobuf::rt::LazyV2<OSPolicy_Resource_PackageResource_MSI> = ::protobuf::rt::LazyV2::INIT;
3782        instance.get(OSPolicy_Resource_PackageResource_MSI::new)
3783    }
3784}
3785
3786impl ::protobuf::Clear for OSPolicy_Resource_PackageResource_MSI {
3787    fn clear(&mut self) {
3788        self.source.clear();
3789        self.properties.clear();
3790        self.unknown_fields.clear();
3791    }
3792}
3793
3794impl ::std::fmt::Debug for OSPolicy_Resource_PackageResource_MSI {
3795    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3796        ::protobuf::text_format::fmt(self, f)
3797    }
3798}
3799
3800impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource_PackageResource_MSI {
3801    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3802        ::protobuf::reflect::ReflectValueRef::Message(self)
3803    }
3804}
3805
3806#[derive(Clone,PartialEq,Eq,Debug,Hash)]
3807pub enum OSPolicy_Resource_PackageResource_DesiredState {
3808    DESIRED_STATE_UNSPECIFIED = 0,
3809    INSTALLED = 1,
3810    REMOVED = 2,
3811}
3812
3813impl ::protobuf::ProtobufEnum for OSPolicy_Resource_PackageResource_DesiredState {
3814    fn value(&self) -> i32 {
3815        *self as i32
3816    }
3817
3818    fn from_i32(value: i32) -> ::std::option::Option<OSPolicy_Resource_PackageResource_DesiredState> {
3819        match value {
3820            0 => ::std::option::Option::Some(OSPolicy_Resource_PackageResource_DesiredState::DESIRED_STATE_UNSPECIFIED),
3821            1 => ::std::option::Option::Some(OSPolicy_Resource_PackageResource_DesiredState::INSTALLED),
3822            2 => ::std::option::Option::Some(OSPolicy_Resource_PackageResource_DesiredState::REMOVED),
3823            _ => ::std::option::Option::None
3824        }
3825    }
3826
3827    fn values() -> &'static [Self] {
3828        static values: &'static [OSPolicy_Resource_PackageResource_DesiredState] = &[
3829            OSPolicy_Resource_PackageResource_DesiredState::DESIRED_STATE_UNSPECIFIED,
3830            OSPolicy_Resource_PackageResource_DesiredState::INSTALLED,
3831            OSPolicy_Resource_PackageResource_DesiredState::REMOVED,
3832        ];
3833        values
3834    }
3835
3836    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
3837        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
3838        descriptor.get(|| {
3839            ::protobuf::reflect::EnumDescriptor::new_pb_name::<OSPolicy_Resource_PackageResource_DesiredState>("OSPolicy.Resource.PackageResource.DesiredState", file_descriptor_proto())
3840        })
3841    }
3842}
3843
3844impl ::std::marker::Copy for OSPolicy_Resource_PackageResource_DesiredState {
3845}
3846
3847impl ::std::default::Default for OSPolicy_Resource_PackageResource_DesiredState {
3848    fn default() -> Self {
3849        OSPolicy_Resource_PackageResource_DesiredState::DESIRED_STATE_UNSPECIFIED
3850    }
3851}
3852
3853impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource_PackageResource_DesiredState {
3854    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3855        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
3856    }
3857}
3858
3859#[derive(PartialEq,Clone,Default)]
3860pub struct OSPolicy_Resource_RepositoryResource {
3861    // message oneof groups
3862    pub repository: ::std::option::Option<OSPolicy_Resource_RepositoryResource_oneof_repository>,
3863    // special fields
3864    pub unknown_fields: ::protobuf::UnknownFields,
3865    pub cached_size: ::protobuf::CachedSize,
3866}
3867
3868impl<'a> ::std::default::Default for &'a OSPolicy_Resource_RepositoryResource {
3869    fn default() -> &'a OSPolicy_Resource_RepositoryResource {
3870        <OSPolicy_Resource_RepositoryResource as ::protobuf::Message>::default_instance()
3871    }
3872}
3873
3874#[derive(Clone,PartialEq,Debug)]
3875pub enum OSPolicy_Resource_RepositoryResource_oneof_repository {
3876    apt(OSPolicy_Resource_RepositoryResource_AptRepository),
3877    yum(OSPolicy_Resource_RepositoryResource_YumRepository),
3878    zypper(OSPolicy_Resource_RepositoryResource_ZypperRepository),
3879    goo(OSPolicy_Resource_RepositoryResource_GooRepository),
3880}
3881
3882impl OSPolicy_Resource_RepositoryResource {
3883    pub fn new() -> OSPolicy_Resource_RepositoryResource {
3884        ::std::default::Default::default()
3885    }
3886
3887    // .google.cloud.osconfig.v1.OSPolicy.Resource.RepositoryResource.AptRepository apt = 1;
3888
3889
3890    pub fn get_apt(&self) -> &OSPolicy_Resource_RepositoryResource_AptRepository {
3891        match self.repository {
3892            ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::apt(ref v)) => v,
3893            _ => <OSPolicy_Resource_RepositoryResource_AptRepository as ::protobuf::Message>::default_instance(),
3894        }
3895    }
3896    pub fn clear_apt(&mut self) {
3897        self.repository = ::std::option::Option::None;
3898    }
3899
3900    pub fn has_apt(&self) -> bool {
3901        match self.repository {
3902            ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::apt(..)) => true,
3903            _ => false,
3904        }
3905    }
3906
3907    // Param is passed by value, moved
3908    pub fn set_apt(&mut self, v: OSPolicy_Resource_RepositoryResource_AptRepository) {
3909        self.repository = ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::apt(v))
3910    }
3911
3912    // Mutable pointer to the field.
3913    pub fn mut_apt(&mut self) -> &mut OSPolicy_Resource_RepositoryResource_AptRepository {
3914        if let ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::apt(_)) = self.repository {
3915        } else {
3916            self.repository = ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::apt(OSPolicy_Resource_RepositoryResource_AptRepository::new()));
3917        }
3918        match self.repository {
3919            ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::apt(ref mut v)) => v,
3920            _ => panic!(),
3921        }
3922    }
3923
3924    // Take field
3925    pub fn take_apt(&mut self) -> OSPolicy_Resource_RepositoryResource_AptRepository {
3926        if self.has_apt() {
3927            match self.repository.take() {
3928                ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::apt(v)) => v,
3929                _ => panic!(),
3930            }
3931        } else {
3932            OSPolicy_Resource_RepositoryResource_AptRepository::new()
3933        }
3934    }
3935
3936    // .google.cloud.osconfig.v1.OSPolicy.Resource.RepositoryResource.YumRepository yum = 2;
3937
3938
3939    pub fn get_yum(&self) -> &OSPolicy_Resource_RepositoryResource_YumRepository {
3940        match self.repository {
3941            ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::yum(ref v)) => v,
3942            _ => <OSPolicy_Resource_RepositoryResource_YumRepository as ::protobuf::Message>::default_instance(),
3943        }
3944    }
3945    pub fn clear_yum(&mut self) {
3946        self.repository = ::std::option::Option::None;
3947    }
3948
3949    pub fn has_yum(&self) -> bool {
3950        match self.repository {
3951            ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::yum(..)) => true,
3952            _ => false,
3953        }
3954    }
3955
3956    // Param is passed by value, moved
3957    pub fn set_yum(&mut self, v: OSPolicy_Resource_RepositoryResource_YumRepository) {
3958        self.repository = ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::yum(v))
3959    }
3960
3961    // Mutable pointer to the field.
3962    pub fn mut_yum(&mut self) -> &mut OSPolicy_Resource_RepositoryResource_YumRepository {
3963        if let ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::yum(_)) = self.repository {
3964        } else {
3965            self.repository = ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::yum(OSPolicy_Resource_RepositoryResource_YumRepository::new()));
3966        }
3967        match self.repository {
3968            ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::yum(ref mut v)) => v,
3969            _ => panic!(),
3970        }
3971    }
3972
3973    // Take field
3974    pub fn take_yum(&mut self) -> OSPolicy_Resource_RepositoryResource_YumRepository {
3975        if self.has_yum() {
3976            match self.repository.take() {
3977                ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::yum(v)) => v,
3978                _ => panic!(),
3979            }
3980        } else {
3981            OSPolicy_Resource_RepositoryResource_YumRepository::new()
3982        }
3983    }
3984
3985    // .google.cloud.osconfig.v1.OSPolicy.Resource.RepositoryResource.ZypperRepository zypper = 3;
3986
3987
3988    pub fn get_zypper(&self) -> &OSPolicy_Resource_RepositoryResource_ZypperRepository {
3989        match self.repository {
3990            ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::zypper(ref v)) => v,
3991            _ => <OSPolicy_Resource_RepositoryResource_ZypperRepository as ::protobuf::Message>::default_instance(),
3992        }
3993    }
3994    pub fn clear_zypper(&mut self) {
3995        self.repository = ::std::option::Option::None;
3996    }
3997
3998    pub fn has_zypper(&self) -> bool {
3999        match self.repository {
4000            ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::zypper(..)) => true,
4001            _ => false,
4002        }
4003    }
4004
4005    // Param is passed by value, moved
4006    pub fn set_zypper(&mut self, v: OSPolicy_Resource_RepositoryResource_ZypperRepository) {
4007        self.repository = ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::zypper(v))
4008    }
4009
4010    // Mutable pointer to the field.
4011    pub fn mut_zypper(&mut self) -> &mut OSPolicy_Resource_RepositoryResource_ZypperRepository {
4012        if let ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::zypper(_)) = self.repository {
4013        } else {
4014            self.repository = ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::zypper(OSPolicy_Resource_RepositoryResource_ZypperRepository::new()));
4015        }
4016        match self.repository {
4017            ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::zypper(ref mut v)) => v,
4018            _ => panic!(),
4019        }
4020    }
4021
4022    // Take field
4023    pub fn take_zypper(&mut self) -> OSPolicy_Resource_RepositoryResource_ZypperRepository {
4024        if self.has_zypper() {
4025            match self.repository.take() {
4026                ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::zypper(v)) => v,
4027                _ => panic!(),
4028            }
4029        } else {
4030            OSPolicy_Resource_RepositoryResource_ZypperRepository::new()
4031        }
4032    }
4033
4034    // .google.cloud.osconfig.v1.OSPolicy.Resource.RepositoryResource.GooRepository goo = 4;
4035
4036
4037    pub fn get_goo(&self) -> &OSPolicy_Resource_RepositoryResource_GooRepository {
4038        match self.repository {
4039            ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::goo(ref v)) => v,
4040            _ => <OSPolicy_Resource_RepositoryResource_GooRepository as ::protobuf::Message>::default_instance(),
4041        }
4042    }
4043    pub fn clear_goo(&mut self) {
4044        self.repository = ::std::option::Option::None;
4045    }
4046
4047    pub fn has_goo(&self) -> bool {
4048        match self.repository {
4049            ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::goo(..)) => true,
4050            _ => false,
4051        }
4052    }
4053
4054    // Param is passed by value, moved
4055    pub fn set_goo(&mut self, v: OSPolicy_Resource_RepositoryResource_GooRepository) {
4056        self.repository = ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::goo(v))
4057    }
4058
4059    // Mutable pointer to the field.
4060    pub fn mut_goo(&mut self) -> &mut OSPolicy_Resource_RepositoryResource_GooRepository {
4061        if let ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::goo(_)) = self.repository {
4062        } else {
4063            self.repository = ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::goo(OSPolicy_Resource_RepositoryResource_GooRepository::new()));
4064        }
4065        match self.repository {
4066            ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::goo(ref mut v)) => v,
4067            _ => panic!(),
4068        }
4069    }
4070
4071    // Take field
4072    pub fn take_goo(&mut self) -> OSPolicy_Resource_RepositoryResource_GooRepository {
4073        if self.has_goo() {
4074            match self.repository.take() {
4075                ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::goo(v)) => v,
4076                _ => panic!(),
4077            }
4078        } else {
4079            OSPolicy_Resource_RepositoryResource_GooRepository::new()
4080        }
4081    }
4082}
4083
4084impl ::protobuf::Message for OSPolicy_Resource_RepositoryResource {
4085    fn is_initialized(&self) -> bool {
4086        if let Some(OSPolicy_Resource_RepositoryResource_oneof_repository::apt(ref v)) = self.repository {
4087            if !v.is_initialized() {
4088                return false;
4089            }
4090        }
4091        if let Some(OSPolicy_Resource_RepositoryResource_oneof_repository::yum(ref v)) = self.repository {
4092            if !v.is_initialized() {
4093                return false;
4094            }
4095        }
4096        if let Some(OSPolicy_Resource_RepositoryResource_oneof_repository::zypper(ref v)) = self.repository {
4097            if !v.is_initialized() {
4098                return false;
4099            }
4100        }
4101        if let Some(OSPolicy_Resource_RepositoryResource_oneof_repository::goo(ref v)) = self.repository {
4102            if !v.is_initialized() {
4103                return false;
4104            }
4105        }
4106        true
4107    }
4108
4109    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4110        while !is.eof()? {
4111            let (field_number, wire_type) = is.read_tag_unpack()?;
4112            match field_number {
4113                1 => {
4114                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
4115                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
4116                    }
4117                    self.repository = ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::apt(is.read_message()?));
4118                },
4119                2 => {
4120                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
4121                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
4122                    }
4123                    self.repository = ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::yum(is.read_message()?));
4124                },
4125                3 => {
4126                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
4127                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
4128                    }
4129                    self.repository = ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::zypper(is.read_message()?));
4130                },
4131                4 => {
4132                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
4133                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
4134                    }
4135                    self.repository = ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_oneof_repository::goo(is.read_message()?));
4136                },
4137                _ => {
4138                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4139                },
4140            };
4141        }
4142        ::std::result::Result::Ok(())
4143    }
4144
4145    // Compute sizes of nested messages
4146    #[allow(unused_variables)]
4147    fn compute_size(&self) -> u32 {
4148        let mut my_size = 0;
4149        if let ::std::option::Option::Some(ref v) = self.repository {
4150            match v {
4151                &OSPolicy_Resource_RepositoryResource_oneof_repository::apt(ref v) => {
4152                    let len = v.compute_size();
4153                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
4154                },
4155                &OSPolicy_Resource_RepositoryResource_oneof_repository::yum(ref v) => {
4156                    let len = v.compute_size();
4157                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
4158                },
4159                &OSPolicy_Resource_RepositoryResource_oneof_repository::zypper(ref v) => {
4160                    let len = v.compute_size();
4161                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
4162                },
4163                &OSPolicy_Resource_RepositoryResource_oneof_repository::goo(ref v) => {
4164                    let len = v.compute_size();
4165                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
4166                },
4167            };
4168        }
4169        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4170        self.cached_size.set(my_size);
4171        my_size
4172    }
4173
4174    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4175        if let ::std::option::Option::Some(ref v) = self.repository {
4176            match v {
4177                &OSPolicy_Resource_RepositoryResource_oneof_repository::apt(ref v) => {
4178                    os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
4179                    os.write_raw_varint32(v.get_cached_size())?;
4180                    v.write_to_with_cached_sizes(os)?;
4181                },
4182                &OSPolicy_Resource_RepositoryResource_oneof_repository::yum(ref v) => {
4183                    os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
4184                    os.write_raw_varint32(v.get_cached_size())?;
4185                    v.write_to_with_cached_sizes(os)?;
4186                },
4187                &OSPolicy_Resource_RepositoryResource_oneof_repository::zypper(ref v) => {
4188                    os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
4189                    os.write_raw_varint32(v.get_cached_size())?;
4190                    v.write_to_with_cached_sizes(os)?;
4191                },
4192                &OSPolicy_Resource_RepositoryResource_oneof_repository::goo(ref v) => {
4193                    os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
4194                    os.write_raw_varint32(v.get_cached_size())?;
4195                    v.write_to_with_cached_sizes(os)?;
4196                },
4197            };
4198        }
4199        os.write_unknown_fields(self.get_unknown_fields())?;
4200        ::std::result::Result::Ok(())
4201    }
4202
4203    fn get_cached_size(&self) -> u32 {
4204        self.cached_size.get()
4205    }
4206
4207    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4208        &self.unknown_fields
4209    }
4210
4211    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4212        &mut self.unknown_fields
4213    }
4214
4215    fn as_any(&self) -> &dyn (::std::any::Any) {
4216        self as &dyn (::std::any::Any)
4217    }
4218    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4219        self as &mut dyn (::std::any::Any)
4220    }
4221    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4222        self
4223    }
4224
4225    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4226        Self::descriptor_static()
4227    }
4228
4229    fn new() -> OSPolicy_Resource_RepositoryResource {
4230        OSPolicy_Resource_RepositoryResource::new()
4231    }
4232
4233    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4234        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4235        descriptor.get(|| {
4236            let mut fields = ::std::vec::Vec::new();
4237            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, OSPolicy_Resource_RepositoryResource_AptRepository>(
4238                "apt",
4239                OSPolicy_Resource_RepositoryResource::has_apt,
4240                OSPolicy_Resource_RepositoryResource::get_apt,
4241            ));
4242            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, OSPolicy_Resource_RepositoryResource_YumRepository>(
4243                "yum",
4244                OSPolicy_Resource_RepositoryResource::has_yum,
4245                OSPolicy_Resource_RepositoryResource::get_yum,
4246            ));
4247            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, OSPolicy_Resource_RepositoryResource_ZypperRepository>(
4248                "zypper",
4249                OSPolicy_Resource_RepositoryResource::has_zypper,
4250                OSPolicy_Resource_RepositoryResource::get_zypper,
4251            ));
4252            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, OSPolicy_Resource_RepositoryResource_GooRepository>(
4253                "goo",
4254                OSPolicy_Resource_RepositoryResource::has_goo,
4255                OSPolicy_Resource_RepositoryResource::get_goo,
4256            ));
4257            ::protobuf::reflect::MessageDescriptor::new_pb_name::<OSPolicy_Resource_RepositoryResource>(
4258                "OSPolicy.Resource.RepositoryResource",
4259                fields,
4260                file_descriptor_proto()
4261            )
4262        })
4263    }
4264
4265    fn default_instance() -> &'static OSPolicy_Resource_RepositoryResource {
4266        static instance: ::protobuf::rt::LazyV2<OSPolicy_Resource_RepositoryResource> = ::protobuf::rt::LazyV2::INIT;
4267        instance.get(OSPolicy_Resource_RepositoryResource::new)
4268    }
4269}
4270
4271impl ::protobuf::Clear for OSPolicy_Resource_RepositoryResource {
4272    fn clear(&mut self) {
4273        self.repository = ::std::option::Option::None;
4274        self.repository = ::std::option::Option::None;
4275        self.repository = ::std::option::Option::None;
4276        self.repository = ::std::option::Option::None;
4277        self.unknown_fields.clear();
4278    }
4279}
4280
4281impl ::std::fmt::Debug for OSPolicy_Resource_RepositoryResource {
4282    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4283        ::protobuf::text_format::fmt(self, f)
4284    }
4285}
4286
4287impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource_RepositoryResource {
4288    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4289        ::protobuf::reflect::ReflectValueRef::Message(self)
4290    }
4291}
4292
4293#[derive(PartialEq,Clone,Default)]
4294pub struct OSPolicy_Resource_RepositoryResource_AptRepository {
4295    // message fields
4296    pub archive_type: OSPolicy_Resource_RepositoryResource_AptRepository_ArchiveType,
4297    pub uri: ::std::string::String,
4298    pub distribution: ::std::string::String,
4299    pub components: ::protobuf::RepeatedField<::std::string::String>,
4300    pub gpg_key: ::std::string::String,
4301    // special fields
4302    pub unknown_fields: ::protobuf::UnknownFields,
4303    pub cached_size: ::protobuf::CachedSize,
4304}
4305
4306impl<'a> ::std::default::Default for &'a OSPolicy_Resource_RepositoryResource_AptRepository {
4307    fn default() -> &'a OSPolicy_Resource_RepositoryResource_AptRepository {
4308        <OSPolicy_Resource_RepositoryResource_AptRepository as ::protobuf::Message>::default_instance()
4309    }
4310}
4311
4312impl OSPolicy_Resource_RepositoryResource_AptRepository {
4313    pub fn new() -> OSPolicy_Resource_RepositoryResource_AptRepository {
4314        ::std::default::Default::default()
4315    }
4316
4317    // .google.cloud.osconfig.v1.OSPolicy.Resource.RepositoryResource.AptRepository.ArchiveType archive_type = 1;
4318
4319
4320    pub fn get_archive_type(&self) -> OSPolicy_Resource_RepositoryResource_AptRepository_ArchiveType {
4321        self.archive_type
4322    }
4323    pub fn clear_archive_type(&mut self) {
4324        self.archive_type = OSPolicy_Resource_RepositoryResource_AptRepository_ArchiveType::ARCHIVE_TYPE_UNSPECIFIED;
4325    }
4326
4327    // Param is passed by value, moved
4328    pub fn set_archive_type(&mut self, v: OSPolicy_Resource_RepositoryResource_AptRepository_ArchiveType) {
4329        self.archive_type = v;
4330    }
4331
4332    // string uri = 2;
4333
4334
4335    pub fn get_uri(&self) -> &str {
4336        &self.uri
4337    }
4338    pub fn clear_uri(&mut self) {
4339        self.uri.clear();
4340    }
4341
4342    // Param is passed by value, moved
4343    pub fn set_uri(&mut self, v: ::std::string::String) {
4344        self.uri = v;
4345    }
4346
4347    // Mutable pointer to the field.
4348    // If field is not initialized, it is initialized with default value first.
4349    pub fn mut_uri(&mut self) -> &mut ::std::string::String {
4350        &mut self.uri
4351    }
4352
4353    // Take field
4354    pub fn take_uri(&mut self) -> ::std::string::String {
4355        ::std::mem::replace(&mut self.uri, ::std::string::String::new())
4356    }
4357
4358    // string distribution = 3;
4359
4360
4361    pub fn get_distribution(&self) -> &str {
4362        &self.distribution
4363    }
4364    pub fn clear_distribution(&mut self) {
4365        self.distribution.clear();
4366    }
4367
4368    // Param is passed by value, moved
4369    pub fn set_distribution(&mut self, v: ::std::string::String) {
4370        self.distribution = v;
4371    }
4372
4373    // Mutable pointer to the field.
4374    // If field is not initialized, it is initialized with default value first.
4375    pub fn mut_distribution(&mut self) -> &mut ::std::string::String {
4376        &mut self.distribution
4377    }
4378
4379    // Take field
4380    pub fn take_distribution(&mut self) -> ::std::string::String {
4381        ::std::mem::replace(&mut self.distribution, ::std::string::String::new())
4382    }
4383
4384    // repeated string components = 4;
4385
4386
4387    pub fn get_components(&self) -> &[::std::string::String] {
4388        &self.components
4389    }
4390    pub fn clear_components(&mut self) {
4391        self.components.clear();
4392    }
4393
4394    // Param is passed by value, moved
4395    pub fn set_components(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
4396        self.components = v;
4397    }
4398
4399    // Mutable pointer to the field.
4400    pub fn mut_components(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
4401        &mut self.components
4402    }
4403
4404    // Take field
4405    pub fn take_components(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
4406        ::std::mem::replace(&mut self.components, ::protobuf::RepeatedField::new())
4407    }
4408
4409    // string gpg_key = 5;
4410
4411
4412    pub fn get_gpg_key(&self) -> &str {
4413        &self.gpg_key
4414    }
4415    pub fn clear_gpg_key(&mut self) {
4416        self.gpg_key.clear();
4417    }
4418
4419    // Param is passed by value, moved
4420    pub fn set_gpg_key(&mut self, v: ::std::string::String) {
4421        self.gpg_key = v;
4422    }
4423
4424    // Mutable pointer to the field.
4425    // If field is not initialized, it is initialized with default value first.
4426    pub fn mut_gpg_key(&mut self) -> &mut ::std::string::String {
4427        &mut self.gpg_key
4428    }
4429
4430    // Take field
4431    pub fn take_gpg_key(&mut self) -> ::std::string::String {
4432        ::std::mem::replace(&mut self.gpg_key, ::std::string::String::new())
4433    }
4434}
4435
4436impl ::protobuf::Message for OSPolicy_Resource_RepositoryResource_AptRepository {
4437    fn is_initialized(&self) -> bool {
4438        true
4439    }
4440
4441    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4442        while !is.eof()? {
4443            let (field_number, wire_type) = is.read_tag_unpack()?;
4444            match field_number {
4445                1 => {
4446                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.archive_type, 1, &mut self.unknown_fields)?
4447                },
4448                2 => {
4449                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.uri)?;
4450                },
4451                3 => {
4452                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.distribution)?;
4453                },
4454                4 => {
4455                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.components)?;
4456                },
4457                5 => {
4458                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.gpg_key)?;
4459                },
4460                _ => {
4461                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4462                },
4463            };
4464        }
4465        ::std::result::Result::Ok(())
4466    }
4467
4468    // Compute sizes of nested messages
4469    #[allow(unused_variables)]
4470    fn compute_size(&self) -> u32 {
4471        let mut my_size = 0;
4472        if self.archive_type != OSPolicy_Resource_RepositoryResource_AptRepository_ArchiveType::ARCHIVE_TYPE_UNSPECIFIED {
4473            my_size += ::protobuf::rt::enum_size(1, self.archive_type);
4474        }
4475        if !self.uri.is_empty() {
4476            my_size += ::protobuf::rt::string_size(2, &self.uri);
4477        }
4478        if !self.distribution.is_empty() {
4479            my_size += ::protobuf::rt::string_size(3, &self.distribution);
4480        }
4481        for value in &self.components {
4482            my_size += ::protobuf::rt::string_size(4, &value);
4483        };
4484        if !self.gpg_key.is_empty() {
4485            my_size += ::protobuf::rt::string_size(5, &self.gpg_key);
4486        }
4487        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4488        self.cached_size.set(my_size);
4489        my_size
4490    }
4491
4492    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4493        if self.archive_type != OSPolicy_Resource_RepositoryResource_AptRepository_ArchiveType::ARCHIVE_TYPE_UNSPECIFIED {
4494            os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.archive_type))?;
4495        }
4496        if !self.uri.is_empty() {
4497            os.write_string(2, &self.uri)?;
4498        }
4499        if !self.distribution.is_empty() {
4500            os.write_string(3, &self.distribution)?;
4501        }
4502        for v in &self.components {
4503            os.write_string(4, &v)?;
4504        };
4505        if !self.gpg_key.is_empty() {
4506            os.write_string(5, &self.gpg_key)?;
4507        }
4508        os.write_unknown_fields(self.get_unknown_fields())?;
4509        ::std::result::Result::Ok(())
4510    }
4511
4512    fn get_cached_size(&self) -> u32 {
4513        self.cached_size.get()
4514    }
4515
4516    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4517        &self.unknown_fields
4518    }
4519
4520    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4521        &mut self.unknown_fields
4522    }
4523
4524    fn as_any(&self) -> &dyn (::std::any::Any) {
4525        self as &dyn (::std::any::Any)
4526    }
4527    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4528        self as &mut dyn (::std::any::Any)
4529    }
4530    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4531        self
4532    }
4533
4534    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4535        Self::descriptor_static()
4536    }
4537
4538    fn new() -> OSPolicy_Resource_RepositoryResource_AptRepository {
4539        OSPolicy_Resource_RepositoryResource_AptRepository::new()
4540    }
4541
4542    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4543        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4544        descriptor.get(|| {
4545            let mut fields = ::std::vec::Vec::new();
4546            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<OSPolicy_Resource_RepositoryResource_AptRepository_ArchiveType>>(
4547                "archive_type",
4548                |m: &OSPolicy_Resource_RepositoryResource_AptRepository| { &m.archive_type },
4549                |m: &mut OSPolicy_Resource_RepositoryResource_AptRepository| { &mut m.archive_type },
4550            ));
4551            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4552                "uri",
4553                |m: &OSPolicy_Resource_RepositoryResource_AptRepository| { &m.uri },
4554                |m: &mut OSPolicy_Resource_RepositoryResource_AptRepository| { &mut m.uri },
4555            ));
4556            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4557                "distribution",
4558                |m: &OSPolicy_Resource_RepositoryResource_AptRepository| { &m.distribution },
4559                |m: &mut OSPolicy_Resource_RepositoryResource_AptRepository| { &mut m.distribution },
4560            ));
4561            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4562                "components",
4563                |m: &OSPolicy_Resource_RepositoryResource_AptRepository| { &m.components },
4564                |m: &mut OSPolicy_Resource_RepositoryResource_AptRepository| { &mut m.components },
4565            ));
4566            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4567                "gpg_key",
4568                |m: &OSPolicy_Resource_RepositoryResource_AptRepository| { &m.gpg_key },
4569                |m: &mut OSPolicy_Resource_RepositoryResource_AptRepository| { &mut m.gpg_key },
4570            ));
4571            ::protobuf::reflect::MessageDescriptor::new_pb_name::<OSPolicy_Resource_RepositoryResource_AptRepository>(
4572                "OSPolicy.Resource.RepositoryResource.AptRepository",
4573                fields,
4574                file_descriptor_proto()
4575            )
4576        })
4577    }
4578
4579    fn default_instance() -> &'static OSPolicy_Resource_RepositoryResource_AptRepository {
4580        static instance: ::protobuf::rt::LazyV2<OSPolicy_Resource_RepositoryResource_AptRepository> = ::protobuf::rt::LazyV2::INIT;
4581        instance.get(OSPolicy_Resource_RepositoryResource_AptRepository::new)
4582    }
4583}
4584
4585impl ::protobuf::Clear for OSPolicy_Resource_RepositoryResource_AptRepository {
4586    fn clear(&mut self) {
4587        self.archive_type = OSPolicy_Resource_RepositoryResource_AptRepository_ArchiveType::ARCHIVE_TYPE_UNSPECIFIED;
4588        self.uri.clear();
4589        self.distribution.clear();
4590        self.components.clear();
4591        self.gpg_key.clear();
4592        self.unknown_fields.clear();
4593    }
4594}
4595
4596impl ::std::fmt::Debug for OSPolicy_Resource_RepositoryResource_AptRepository {
4597    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4598        ::protobuf::text_format::fmt(self, f)
4599    }
4600}
4601
4602impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource_RepositoryResource_AptRepository {
4603    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4604        ::protobuf::reflect::ReflectValueRef::Message(self)
4605    }
4606}
4607
4608#[derive(Clone,PartialEq,Eq,Debug,Hash)]
4609pub enum OSPolicy_Resource_RepositoryResource_AptRepository_ArchiveType {
4610    ARCHIVE_TYPE_UNSPECIFIED = 0,
4611    DEB = 1,
4612    DEB_SRC = 2,
4613}
4614
4615impl ::protobuf::ProtobufEnum for OSPolicy_Resource_RepositoryResource_AptRepository_ArchiveType {
4616    fn value(&self) -> i32 {
4617        *self as i32
4618    }
4619
4620    fn from_i32(value: i32) -> ::std::option::Option<OSPolicy_Resource_RepositoryResource_AptRepository_ArchiveType> {
4621        match value {
4622            0 => ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_AptRepository_ArchiveType::ARCHIVE_TYPE_UNSPECIFIED),
4623            1 => ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_AptRepository_ArchiveType::DEB),
4624            2 => ::std::option::Option::Some(OSPolicy_Resource_RepositoryResource_AptRepository_ArchiveType::DEB_SRC),
4625            _ => ::std::option::Option::None
4626        }
4627    }
4628
4629    fn values() -> &'static [Self] {
4630        static values: &'static [OSPolicy_Resource_RepositoryResource_AptRepository_ArchiveType] = &[
4631            OSPolicy_Resource_RepositoryResource_AptRepository_ArchiveType::ARCHIVE_TYPE_UNSPECIFIED,
4632            OSPolicy_Resource_RepositoryResource_AptRepository_ArchiveType::DEB,
4633            OSPolicy_Resource_RepositoryResource_AptRepository_ArchiveType::DEB_SRC,
4634        ];
4635        values
4636    }
4637
4638    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
4639        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
4640        descriptor.get(|| {
4641            ::protobuf::reflect::EnumDescriptor::new_pb_name::<OSPolicy_Resource_RepositoryResource_AptRepository_ArchiveType>("OSPolicy.Resource.RepositoryResource.AptRepository.ArchiveType", file_descriptor_proto())
4642        })
4643    }
4644}
4645
4646impl ::std::marker::Copy for OSPolicy_Resource_RepositoryResource_AptRepository_ArchiveType {
4647}
4648
4649impl ::std::default::Default for OSPolicy_Resource_RepositoryResource_AptRepository_ArchiveType {
4650    fn default() -> Self {
4651        OSPolicy_Resource_RepositoryResource_AptRepository_ArchiveType::ARCHIVE_TYPE_UNSPECIFIED
4652    }
4653}
4654
4655impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource_RepositoryResource_AptRepository_ArchiveType {
4656    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4657        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
4658    }
4659}
4660
4661#[derive(PartialEq,Clone,Default)]
4662pub struct OSPolicy_Resource_RepositoryResource_YumRepository {
4663    // message fields
4664    pub id: ::std::string::String,
4665    pub display_name: ::std::string::String,
4666    pub base_url: ::std::string::String,
4667    pub gpg_keys: ::protobuf::RepeatedField<::std::string::String>,
4668    // special fields
4669    pub unknown_fields: ::protobuf::UnknownFields,
4670    pub cached_size: ::protobuf::CachedSize,
4671}
4672
4673impl<'a> ::std::default::Default for &'a OSPolicy_Resource_RepositoryResource_YumRepository {
4674    fn default() -> &'a OSPolicy_Resource_RepositoryResource_YumRepository {
4675        <OSPolicy_Resource_RepositoryResource_YumRepository as ::protobuf::Message>::default_instance()
4676    }
4677}
4678
4679impl OSPolicy_Resource_RepositoryResource_YumRepository {
4680    pub fn new() -> OSPolicy_Resource_RepositoryResource_YumRepository {
4681        ::std::default::Default::default()
4682    }
4683
4684    // string id = 1;
4685
4686
4687    pub fn get_id(&self) -> &str {
4688        &self.id
4689    }
4690    pub fn clear_id(&mut self) {
4691        self.id.clear();
4692    }
4693
4694    // Param is passed by value, moved
4695    pub fn set_id(&mut self, v: ::std::string::String) {
4696        self.id = v;
4697    }
4698
4699    // Mutable pointer to the field.
4700    // If field is not initialized, it is initialized with default value first.
4701    pub fn mut_id(&mut self) -> &mut ::std::string::String {
4702        &mut self.id
4703    }
4704
4705    // Take field
4706    pub fn take_id(&mut self) -> ::std::string::String {
4707        ::std::mem::replace(&mut self.id, ::std::string::String::new())
4708    }
4709
4710    // string display_name = 2;
4711
4712
4713    pub fn get_display_name(&self) -> &str {
4714        &self.display_name
4715    }
4716    pub fn clear_display_name(&mut self) {
4717        self.display_name.clear();
4718    }
4719
4720    // Param is passed by value, moved
4721    pub fn set_display_name(&mut self, v: ::std::string::String) {
4722        self.display_name = v;
4723    }
4724
4725    // Mutable pointer to the field.
4726    // If field is not initialized, it is initialized with default value first.
4727    pub fn mut_display_name(&mut self) -> &mut ::std::string::String {
4728        &mut self.display_name
4729    }
4730
4731    // Take field
4732    pub fn take_display_name(&mut self) -> ::std::string::String {
4733        ::std::mem::replace(&mut self.display_name, ::std::string::String::new())
4734    }
4735
4736    // string base_url = 3;
4737
4738
4739    pub fn get_base_url(&self) -> &str {
4740        &self.base_url
4741    }
4742    pub fn clear_base_url(&mut self) {
4743        self.base_url.clear();
4744    }
4745
4746    // Param is passed by value, moved
4747    pub fn set_base_url(&mut self, v: ::std::string::String) {
4748        self.base_url = v;
4749    }
4750
4751    // Mutable pointer to the field.
4752    // If field is not initialized, it is initialized with default value first.
4753    pub fn mut_base_url(&mut self) -> &mut ::std::string::String {
4754        &mut self.base_url
4755    }
4756
4757    // Take field
4758    pub fn take_base_url(&mut self) -> ::std::string::String {
4759        ::std::mem::replace(&mut self.base_url, ::std::string::String::new())
4760    }
4761
4762    // repeated string gpg_keys = 4;
4763
4764
4765    pub fn get_gpg_keys(&self) -> &[::std::string::String] {
4766        &self.gpg_keys
4767    }
4768    pub fn clear_gpg_keys(&mut self) {
4769        self.gpg_keys.clear();
4770    }
4771
4772    // Param is passed by value, moved
4773    pub fn set_gpg_keys(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
4774        self.gpg_keys = v;
4775    }
4776
4777    // Mutable pointer to the field.
4778    pub fn mut_gpg_keys(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
4779        &mut self.gpg_keys
4780    }
4781
4782    // Take field
4783    pub fn take_gpg_keys(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
4784        ::std::mem::replace(&mut self.gpg_keys, ::protobuf::RepeatedField::new())
4785    }
4786}
4787
4788impl ::protobuf::Message for OSPolicy_Resource_RepositoryResource_YumRepository {
4789    fn is_initialized(&self) -> bool {
4790        true
4791    }
4792
4793    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4794        while !is.eof()? {
4795            let (field_number, wire_type) = is.read_tag_unpack()?;
4796            match field_number {
4797                1 => {
4798                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.id)?;
4799                },
4800                2 => {
4801                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.display_name)?;
4802                },
4803                3 => {
4804                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.base_url)?;
4805                },
4806                4 => {
4807                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.gpg_keys)?;
4808                },
4809                _ => {
4810                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4811                },
4812            };
4813        }
4814        ::std::result::Result::Ok(())
4815    }
4816
4817    // Compute sizes of nested messages
4818    #[allow(unused_variables)]
4819    fn compute_size(&self) -> u32 {
4820        let mut my_size = 0;
4821        if !self.id.is_empty() {
4822            my_size += ::protobuf::rt::string_size(1, &self.id);
4823        }
4824        if !self.display_name.is_empty() {
4825            my_size += ::protobuf::rt::string_size(2, &self.display_name);
4826        }
4827        if !self.base_url.is_empty() {
4828            my_size += ::protobuf::rt::string_size(3, &self.base_url);
4829        }
4830        for value in &self.gpg_keys {
4831            my_size += ::protobuf::rt::string_size(4, &value);
4832        };
4833        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4834        self.cached_size.set(my_size);
4835        my_size
4836    }
4837
4838    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4839        if !self.id.is_empty() {
4840            os.write_string(1, &self.id)?;
4841        }
4842        if !self.display_name.is_empty() {
4843            os.write_string(2, &self.display_name)?;
4844        }
4845        if !self.base_url.is_empty() {
4846            os.write_string(3, &self.base_url)?;
4847        }
4848        for v in &self.gpg_keys {
4849            os.write_string(4, &v)?;
4850        };
4851        os.write_unknown_fields(self.get_unknown_fields())?;
4852        ::std::result::Result::Ok(())
4853    }
4854
4855    fn get_cached_size(&self) -> u32 {
4856        self.cached_size.get()
4857    }
4858
4859    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4860        &self.unknown_fields
4861    }
4862
4863    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4864        &mut self.unknown_fields
4865    }
4866
4867    fn as_any(&self) -> &dyn (::std::any::Any) {
4868        self as &dyn (::std::any::Any)
4869    }
4870    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4871        self as &mut dyn (::std::any::Any)
4872    }
4873    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4874        self
4875    }
4876
4877    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4878        Self::descriptor_static()
4879    }
4880
4881    fn new() -> OSPolicy_Resource_RepositoryResource_YumRepository {
4882        OSPolicy_Resource_RepositoryResource_YumRepository::new()
4883    }
4884
4885    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4886        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4887        descriptor.get(|| {
4888            let mut fields = ::std::vec::Vec::new();
4889            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4890                "id",
4891                |m: &OSPolicy_Resource_RepositoryResource_YumRepository| { &m.id },
4892                |m: &mut OSPolicy_Resource_RepositoryResource_YumRepository| { &mut m.id },
4893            ));
4894            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4895                "display_name",
4896                |m: &OSPolicy_Resource_RepositoryResource_YumRepository| { &m.display_name },
4897                |m: &mut OSPolicy_Resource_RepositoryResource_YumRepository| { &mut m.display_name },
4898            ));
4899            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4900                "base_url",
4901                |m: &OSPolicy_Resource_RepositoryResource_YumRepository| { &m.base_url },
4902                |m: &mut OSPolicy_Resource_RepositoryResource_YumRepository| { &mut m.base_url },
4903            ));
4904            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4905                "gpg_keys",
4906                |m: &OSPolicy_Resource_RepositoryResource_YumRepository| { &m.gpg_keys },
4907                |m: &mut OSPolicy_Resource_RepositoryResource_YumRepository| { &mut m.gpg_keys },
4908            ));
4909            ::protobuf::reflect::MessageDescriptor::new_pb_name::<OSPolicy_Resource_RepositoryResource_YumRepository>(
4910                "OSPolicy.Resource.RepositoryResource.YumRepository",
4911                fields,
4912                file_descriptor_proto()
4913            )
4914        })
4915    }
4916
4917    fn default_instance() -> &'static OSPolicy_Resource_RepositoryResource_YumRepository {
4918        static instance: ::protobuf::rt::LazyV2<OSPolicy_Resource_RepositoryResource_YumRepository> = ::protobuf::rt::LazyV2::INIT;
4919        instance.get(OSPolicy_Resource_RepositoryResource_YumRepository::new)
4920    }
4921}
4922
4923impl ::protobuf::Clear for OSPolicy_Resource_RepositoryResource_YumRepository {
4924    fn clear(&mut self) {
4925        self.id.clear();
4926        self.display_name.clear();
4927        self.base_url.clear();
4928        self.gpg_keys.clear();
4929        self.unknown_fields.clear();
4930    }
4931}
4932
4933impl ::std::fmt::Debug for OSPolicy_Resource_RepositoryResource_YumRepository {
4934    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4935        ::protobuf::text_format::fmt(self, f)
4936    }
4937}
4938
4939impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource_RepositoryResource_YumRepository {
4940    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4941        ::protobuf::reflect::ReflectValueRef::Message(self)
4942    }
4943}
4944
4945#[derive(PartialEq,Clone,Default)]
4946pub struct OSPolicy_Resource_RepositoryResource_ZypperRepository {
4947    // message fields
4948    pub id: ::std::string::String,
4949    pub display_name: ::std::string::String,
4950    pub base_url: ::std::string::String,
4951    pub gpg_keys: ::protobuf::RepeatedField<::std::string::String>,
4952    // special fields
4953    pub unknown_fields: ::protobuf::UnknownFields,
4954    pub cached_size: ::protobuf::CachedSize,
4955}
4956
4957impl<'a> ::std::default::Default for &'a OSPolicy_Resource_RepositoryResource_ZypperRepository {
4958    fn default() -> &'a OSPolicy_Resource_RepositoryResource_ZypperRepository {
4959        <OSPolicy_Resource_RepositoryResource_ZypperRepository as ::protobuf::Message>::default_instance()
4960    }
4961}
4962
4963impl OSPolicy_Resource_RepositoryResource_ZypperRepository {
4964    pub fn new() -> OSPolicy_Resource_RepositoryResource_ZypperRepository {
4965        ::std::default::Default::default()
4966    }
4967
4968    // string id = 1;
4969
4970
4971    pub fn get_id(&self) -> &str {
4972        &self.id
4973    }
4974    pub fn clear_id(&mut self) {
4975        self.id.clear();
4976    }
4977
4978    // Param is passed by value, moved
4979    pub fn set_id(&mut self, v: ::std::string::String) {
4980        self.id = v;
4981    }
4982
4983    // Mutable pointer to the field.
4984    // If field is not initialized, it is initialized with default value first.
4985    pub fn mut_id(&mut self) -> &mut ::std::string::String {
4986        &mut self.id
4987    }
4988
4989    // Take field
4990    pub fn take_id(&mut self) -> ::std::string::String {
4991        ::std::mem::replace(&mut self.id, ::std::string::String::new())
4992    }
4993
4994    // string display_name = 2;
4995
4996
4997    pub fn get_display_name(&self) -> &str {
4998        &self.display_name
4999    }
5000    pub fn clear_display_name(&mut self) {
5001        self.display_name.clear();
5002    }
5003
5004    // Param is passed by value, moved
5005    pub fn set_display_name(&mut self, v: ::std::string::String) {
5006        self.display_name = v;
5007    }
5008
5009    // Mutable pointer to the field.
5010    // If field is not initialized, it is initialized with default value first.
5011    pub fn mut_display_name(&mut self) -> &mut ::std::string::String {
5012        &mut self.display_name
5013    }
5014
5015    // Take field
5016    pub fn take_display_name(&mut self) -> ::std::string::String {
5017        ::std::mem::replace(&mut self.display_name, ::std::string::String::new())
5018    }
5019
5020    // string base_url = 3;
5021
5022
5023    pub fn get_base_url(&self) -> &str {
5024        &self.base_url
5025    }
5026    pub fn clear_base_url(&mut self) {
5027        self.base_url.clear();
5028    }
5029
5030    // Param is passed by value, moved
5031    pub fn set_base_url(&mut self, v: ::std::string::String) {
5032        self.base_url = v;
5033    }
5034
5035    // Mutable pointer to the field.
5036    // If field is not initialized, it is initialized with default value first.
5037    pub fn mut_base_url(&mut self) -> &mut ::std::string::String {
5038        &mut self.base_url
5039    }
5040
5041    // Take field
5042    pub fn take_base_url(&mut self) -> ::std::string::String {
5043        ::std::mem::replace(&mut self.base_url, ::std::string::String::new())
5044    }
5045
5046    // repeated string gpg_keys = 4;
5047
5048
5049    pub fn get_gpg_keys(&self) -> &[::std::string::String] {
5050        &self.gpg_keys
5051    }
5052    pub fn clear_gpg_keys(&mut self) {
5053        self.gpg_keys.clear();
5054    }
5055
5056    // Param is passed by value, moved
5057    pub fn set_gpg_keys(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
5058        self.gpg_keys = v;
5059    }
5060
5061    // Mutable pointer to the field.
5062    pub fn mut_gpg_keys(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
5063        &mut self.gpg_keys
5064    }
5065
5066    // Take field
5067    pub fn take_gpg_keys(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
5068        ::std::mem::replace(&mut self.gpg_keys, ::protobuf::RepeatedField::new())
5069    }
5070}
5071
5072impl ::protobuf::Message for OSPolicy_Resource_RepositoryResource_ZypperRepository {
5073    fn is_initialized(&self) -> bool {
5074        true
5075    }
5076
5077    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5078        while !is.eof()? {
5079            let (field_number, wire_type) = is.read_tag_unpack()?;
5080            match field_number {
5081                1 => {
5082                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.id)?;
5083                },
5084                2 => {
5085                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.display_name)?;
5086                },
5087                3 => {
5088                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.base_url)?;
5089                },
5090                4 => {
5091                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.gpg_keys)?;
5092                },
5093                _ => {
5094                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5095                },
5096            };
5097        }
5098        ::std::result::Result::Ok(())
5099    }
5100
5101    // Compute sizes of nested messages
5102    #[allow(unused_variables)]
5103    fn compute_size(&self) -> u32 {
5104        let mut my_size = 0;
5105        if !self.id.is_empty() {
5106            my_size += ::protobuf::rt::string_size(1, &self.id);
5107        }
5108        if !self.display_name.is_empty() {
5109            my_size += ::protobuf::rt::string_size(2, &self.display_name);
5110        }
5111        if !self.base_url.is_empty() {
5112            my_size += ::protobuf::rt::string_size(3, &self.base_url);
5113        }
5114        for value in &self.gpg_keys {
5115            my_size += ::protobuf::rt::string_size(4, &value);
5116        };
5117        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5118        self.cached_size.set(my_size);
5119        my_size
5120    }
5121
5122    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5123        if !self.id.is_empty() {
5124            os.write_string(1, &self.id)?;
5125        }
5126        if !self.display_name.is_empty() {
5127            os.write_string(2, &self.display_name)?;
5128        }
5129        if !self.base_url.is_empty() {
5130            os.write_string(3, &self.base_url)?;
5131        }
5132        for v in &self.gpg_keys {
5133            os.write_string(4, &v)?;
5134        };
5135        os.write_unknown_fields(self.get_unknown_fields())?;
5136        ::std::result::Result::Ok(())
5137    }
5138
5139    fn get_cached_size(&self) -> u32 {
5140        self.cached_size.get()
5141    }
5142
5143    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5144        &self.unknown_fields
5145    }
5146
5147    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5148        &mut self.unknown_fields
5149    }
5150
5151    fn as_any(&self) -> &dyn (::std::any::Any) {
5152        self as &dyn (::std::any::Any)
5153    }
5154    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5155        self as &mut dyn (::std::any::Any)
5156    }
5157    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5158        self
5159    }
5160
5161    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5162        Self::descriptor_static()
5163    }
5164
5165    fn new() -> OSPolicy_Resource_RepositoryResource_ZypperRepository {
5166        OSPolicy_Resource_RepositoryResource_ZypperRepository::new()
5167    }
5168
5169    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5170        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5171        descriptor.get(|| {
5172            let mut fields = ::std::vec::Vec::new();
5173            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5174                "id",
5175                |m: &OSPolicy_Resource_RepositoryResource_ZypperRepository| { &m.id },
5176                |m: &mut OSPolicy_Resource_RepositoryResource_ZypperRepository| { &mut m.id },
5177            ));
5178            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5179                "display_name",
5180                |m: &OSPolicy_Resource_RepositoryResource_ZypperRepository| { &m.display_name },
5181                |m: &mut OSPolicy_Resource_RepositoryResource_ZypperRepository| { &mut m.display_name },
5182            ));
5183            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5184                "base_url",
5185                |m: &OSPolicy_Resource_RepositoryResource_ZypperRepository| { &m.base_url },
5186                |m: &mut OSPolicy_Resource_RepositoryResource_ZypperRepository| { &mut m.base_url },
5187            ));
5188            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5189                "gpg_keys",
5190                |m: &OSPolicy_Resource_RepositoryResource_ZypperRepository| { &m.gpg_keys },
5191                |m: &mut OSPolicy_Resource_RepositoryResource_ZypperRepository| { &mut m.gpg_keys },
5192            ));
5193            ::protobuf::reflect::MessageDescriptor::new_pb_name::<OSPolicy_Resource_RepositoryResource_ZypperRepository>(
5194                "OSPolicy.Resource.RepositoryResource.ZypperRepository",
5195                fields,
5196                file_descriptor_proto()
5197            )
5198        })
5199    }
5200
5201    fn default_instance() -> &'static OSPolicy_Resource_RepositoryResource_ZypperRepository {
5202        static instance: ::protobuf::rt::LazyV2<OSPolicy_Resource_RepositoryResource_ZypperRepository> = ::protobuf::rt::LazyV2::INIT;
5203        instance.get(OSPolicy_Resource_RepositoryResource_ZypperRepository::new)
5204    }
5205}
5206
5207impl ::protobuf::Clear for OSPolicy_Resource_RepositoryResource_ZypperRepository {
5208    fn clear(&mut self) {
5209        self.id.clear();
5210        self.display_name.clear();
5211        self.base_url.clear();
5212        self.gpg_keys.clear();
5213        self.unknown_fields.clear();
5214    }
5215}
5216
5217impl ::std::fmt::Debug for OSPolicy_Resource_RepositoryResource_ZypperRepository {
5218    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5219        ::protobuf::text_format::fmt(self, f)
5220    }
5221}
5222
5223impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource_RepositoryResource_ZypperRepository {
5224    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5225        ::protobuf::reflect::ReflectValueRef::Message(self)
5226    }
5227}
5228
5229#[derive(PartialEq,Clone,Default)]
5230pub struct OSPolicy_Resource_RepositoryResource_GooRepository {
5231    // message fields
5232    pub name: ::std::string::String,
5233    pub url: ::std::string::String,
5234    // special fields
5235    pub unknown_fields: ::protobuf::UnknownFields,
5236    pub cached_size: ::protobuf::CachedSize,
5237}
5238
5239impl<'a> ::std::default::Default for &'a OSPolicy_Resource_RepositoryResource_GooRepository {
5240    fn default() -> &'a OSPolicy_Resource_RepositoryResource_GooRepository {
5241        <OSPolicy_Resource_RepositoryResource_GooRepository as ::protobuf::Message>::default_instance()
5242    }
5243}
5244
5245impl OSPolicy_Resource_RepositoryResource_GooRepository {
5246    pub fn new() -> OSPolicy_Resource_RepositoryResource_GooRepository {
5247        ::std::default::Default::default()
5248    }
5249
5250    // string name = 1;
5251
5252
5253    pub fn get_name(&self) -> &str {
5254        &self.name
5255    }
5256    pub fn clear_name(&mut self) {
5257        self.name.clear();
5258    }
5259
5260    // Param is passed by value, moved
5261    pub fn set_name(&mut self, v: ::std::string::String) {
5262        self.name = v;
5263    }
5264
5265    // Mutable pointer to the field.
5266    // If field is not initialized, it is initialized with default value first.
5267    pub fn mut_name(&mut self) -> &mut ::std::string::String {
5268        &mut self.name
5269    }
5270
5271    // Take field
5272    pub fn take_name(&mut self) -> ::std::string::String {
5273        ::std::mem::replace(&mut self.name, ::std::string::String::new())
5274    }
5275
5276    // string url = 2;
5277
5278
5279    pub fn get_url(&self) -> &str {
5280        &self.url
5281    }
5282    pub fn clear_url(&mut self) {
5283        self.url.clear();
5284    }
5285
5286    // Param is passed by value, moved
5287    pub fn set_url(&mut self, v: ::std::string::String) {
5288        self.url = v;
5289    }
5290
5291    // Mutable pointer to the field.
5292    // If field is not initialized, it is initialized with default value first.
5293    pub fn mut_url(&mut self) -> &mut ::std::string::String {
5294        &mut self.url
5295    }
5296
5297    // Take field
5298    pub fn take_url(&mut self) -> ::std::string::String {
5299        ::std::mem::replace(&mut self.url, ::std::string::String::new())
5300    }
5301}
5302
5303impl ::protobuf::Message for OSPolicy_Resource_RepositoryResource_GooRepository {
5304    fn is_initialized(&self) -> bool {
5305        true
5306    }
5307
5308    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5309        while !is.eof()? {
5310            let (field_number, wire_type) = is.read_tag_unpack()?;
5311            match field_number {
5312                1 => {
5313                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
5314                },
5315                2 => {
5316                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.url)?;
5317                },
5318                _ => {
5319                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5320                },
5321            };
5322        }
5323        ::std::result::Result::Ok(())
5324    }
5325
5326    // Compute sizes of nested messages
5327    #[allow(unused_variables)]
5328    fn compute_size(&self) -> u32 {
5329        let mut my_size = 0;
5330        if !self.name.is_empty() {
5331            my_size += ::protobuf::rt::string_size(1, &self.name);
5332        }
5333        if !self.url.is_empty() {
5334            my_size += ::protobuf::rt::string_size(2, &self.url);
5335        }
5336        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5337        self.cached_size.set(my_size);
5338        my_size
5339    }
5340
5341    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5342        if !self.name.is_empty() {
5343            os.write_string(1, &self.name)?;
5344        }
5345        if !self.url.is_empty() {
5346            os.write_string(2, &self.url)?;
5347        }
5348        os.write_unknown_fields(self.get_unknown_fields())?;
5349        ::std::result::Result::Ok(())
5350    }
5351
5352    fn get_cached_size(&self) -> u32 {
5353        self.cached_size.get()
5354    }
5355
5356    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5357        &self.unknown_fields
5358    }
5359
5360    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5361        &mut self.unknown_fields
5362    }
5363
5364    fn as_any(&self) -> &dyn (::std::any::Any) {
5365        self as &dyn (::std::any::Any)
5366    }
5367    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5368        self as &mut dyn (::std::any::Any)
5369    }
5370    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5371        self
5372    }
5373
5374    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5375        Self::descriptor_static()
5376    }
5377
5378    fn new() -> OSPolicy_Resource_RepositoryResource_GooRepository {
5379        OSPolicy_Resource_RepositoryResource_GooRepository::new()
5380    }
5381
5382    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5383        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5384        descriptor.get(|| {
5385            let mut fields = ::std::vec::Vec::new();
5386            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5387                "name",
5388                |m: &OSPolicy_Resource_RepositoryResource_GooRepository| { &m.name },
5389                |m: &mut OSPolicy_Resource_RepositoryResource_GooRepository| { &mut m.name },
5390            ));
5391            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5392                "url",
5393                |m: &OSPolicy_Resource_RepositoryResource_GooRepository| { &m.url },
5394                |m: &mut OSPolicy_Resource_RepositoryResource_GooRepository| { &mut m.url },
5395            ));
5396            ::protobuf::reflect::MessageDescriptor::new_pb_name::<OSPolicy_Resource_RepositoryResource_GooRepository>(
5397                "OSPolicy.Resource.RepositoryResource.GooRepository",
5398                fields,
5399                file_descriptor_proto()
5400            )
5401        })
5402    }
5403
5404    fn default_instance() -> &'static OSPolicy_Resource_RepositoryResource_GooRepository {
5405        static instance: ::protobuf::rt::LazyV2<OSPolicy_Resource_RepositoryResource_GooRepository> = ::protobuf::rt::LazyV2::INIT;
5406        instance.get(OSPolicy_Resource_RepositoryResource_GooRepository::new)
5407    }
5408}
5409
5410impl ::protobuf::Clear for OSPolicy_Resource_RepositoryResource_GooRepository {
5411    fn clear(&mut self) {
5412        self.name.clear();
5413        self.url.clear();
5414        self.unknown_fields.clear();
5415    }
5416}
5417
5418impl ::std::fmt::Debug for OSPolicy_Resource_RepositoryResource_GooRepository {
5419    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5420        ::protobuf::text_format::fmt(self, f)
5421    }
5422}
5423
5424impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource_RepositoryResource_GooRepository {
5425    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5426        ::protobuf::reflect::ReflectValueRef::Message(self)
5427    }
5428}
5429
5430#[derive(PartialEq,Clone,Default)]
5431pub struct OSPolicy_Resource_ExecResource {
5432    // message fields
5433    pub validate: ::protobuf::SingularPtrField<OSPolicy_Resource_ExecResource_Exec>,
5434    pub enforce: ::protobuf::SingularPtrField<OSPolicy_Resource_ExecResource_Exec>,
5435    // special fields
5436    pub unknown_fields: ::protobuf::UnknownFields,
5437    pub cached_size: ::protobuf::CachedSize,
5438}
5439
5440impl<'a> ::std::default::Default for &'a OSPolicy_Resource_ExecResource {
5441    fn default() -> &'a OSPolicy_Resource_ExecResource {
5442        <OSPolicy_Resource_ExecResource as ::protobuf::Message>::default_instance()
5443    }
5444}
5445
5446impl OSPolicy_Resource_ExecResource {
5447    pub fn new() -> OSPolicy_Resource_ExecResource {
5448        ::std::default::Default::default()
5449    }
5450
5451    // .google.cloud.osconfig.v1.OSPolicy.Resource.ExecResource.Exec validate = 1;
5452
5453
5454    pub fn get_validate(&self) -> &OSPolicy_Resource_ExecResource_Exec {
5455        self.validate.as_ref().unwrap_or_else(|| <OSPolicy_Resource_ExecResource_Exec as ::protobuf::Message>::default_instance())
5456    }
5457    pub fn clear_validate(&mut self) {
5458        self.validate.clear();
5459    }
5460
5461    pub fn has_validate(&self) -> bool {
5462        self.validate.is_some()
5463    }
5464
5465    // Param is passed by value, moved
5466    pub fn set_validate(&mut self, v: OSPolicy_Resource_ExecResource_Exec) {
5467        self.validate = ::protobuf::SingularPtrField::some(v);
5468    }
5469
5470    // Mutable pointer to the field.
5471    // If field is not initialized, it is initialized with default value first.
5472    pub fn mut_validate(&mut self) -> &mut OSPolicy_Resource_ExecResource_Exec {
5473        if self.validate.is_none() {
5474            self.validate.set_default();
5475        }
5476        self.validate.as_mut().unwrap()
5477    }
5478
5479    // Take field
5480    pub fn take_validate(&mut self) -> OSPolicy_Resource_ExecResource_Exec {
5481        self.validate.take().unwrap_or_else(|| OSPolicy_Resource_ExecResource_Exec::new())
5482    }
5483
5484    // .google.cloud.osconfig.v1.OSPolicy.Resource.ExecResource.Exec enforce = 2;
5485
5486
5487    pub fn get_enforce(&self) -> &OSPolicy_Resource_ExecResource_Exec {
5488        self.enforce.as_ref().unwrap_or_else(|| <OSPolicy_Resource_ExecResource_Exec as ::protobuf::Message>::default_instance())
5489    }
5490    pub fn clear_enforce(&mut self) {
5491        self.enforce.clear();
5492    }
5493
5494    pub fn has_enforce(&self) -> bool {
5495        self.enforce.is_some()
5496    }
5497
5498    // Param is passed by value, moved
5499    pub fn set_enforce(&mut self, v: OSPolicy_Resource_ExecResource_Exec) {
5500        self.enforce = ::protobuf::SingularPtrField::some(v);
5501    }
5502
5503    // Mutable pointer to the field.
5504    // If field is not initialized, it is initialized with default value first.
5505    pub fn mut_enforce(&mut self) -> &mut OSPolicy_Resource_ExecResource_Exec {
5506        if self.enforce.is_none() {
5507            self.enforce.set_default();
5508        }
5509        self.enforce.as_mut().unwrap()
5510    }
5511
5512    // Take field
5513    pub fn take_enforce(&mut self) -> OSPolicy_Resource_ExecResource_Exec {
5514        self.enforce.take().unwrap_or_else(|| OSPolicy_Resource_ExecResource_Exec::new())
5515    }
5516}
5517
5518impl ::protobuf::Message for OSPolicy_Resource_ExecResource {
5519    fn is_initialized(&self) -> bool {
5520        for v in &self.validate {
5521            if !v.is_initialized() {
5522                return false;
5523            }
5524        };
5525        for v in &self.enforce {
5526            if !v.is_initialized() {
5527                return false;
5528            }
5529        };
5530        true
5531    }
5532
5533    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5534        while !is.eof()? {
5535            let (field_number, wire_type) = is.read_tag_unpack()?;
5536            match field_number {
5537                1 => {
5538                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.validate)?;
5539                },
5540                2 => {
5541                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.enforce)?;
5542                },
5543                _ => {
5544                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5545                },
5546            };
5547        }
5548        ::std::result::Result::Ok(())
5549    }
5550
5551    // Compute sizes of nested messages
5552    #[allow(unused_variables)]
5553    fn compute_size(&self) -> u32 {
5554        let mut my_size = 0;
5555        if let Some(ref v) = self.validate.as_ref() {
5556            let len = v.compute_size();
5557            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5558        }
5559        if let Some(ref v) = self.enforce.as_ref() {
5560            let len = v.compute_size();
5561            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5562        }
5563        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5564        self.cached_size.set(my_size);
5565        my_size
5566    }
5567
5568    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5569        if let Some(ref v) = self.validate.as_ref() {
5570            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5571            os.write_raw_varint32(v.get_cached_size())?;
5572            v.write_to_with_cached_sizes(os)?;
5573        }
5574        if let Some(ref v) = self.enforce.as_ref() {
5575            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5576            os.write_raw_varint32(v.get_cached_size())?;
5577            v.write_to_with_cached_sizes(os)?;
5578        }
5579        os.write_unknown_fields(self.get_unknown_fields())?;
5580        ::std::result::Result::Ok(())
5581    }
5582
5583    fn get_cached_size(&self) -> u32 {
5584        self.cached_size.get()
5585    }
5586
5587    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5588        &self.unknown_fields
5589    }
5590
5591    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5592        &mut self.unknown_fields
5593    }
5594
5595    fn as_any(&self) -> &dyn (::std::any::Any) {
5596        self as &dyn (::std::any::Any)
5597    }
5598    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5599        self as &mut dyn (::std::any::Any)
5600    }
5601    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5602        self
5603    }
5604
5605    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5606        Self::descriptor_static()
5607    }
5608
5609    fn new() -> OSPolicy_Resource_ExecResource {
5610        OSPolicy_Resource_ExecResource::new()
5611    }
5612
5613    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5614        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5615        descriptor.get(|| {
5616            let mut fields = ::std::vec::Vec::new();
5617            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<OSPolicy_Resource_ExecResource_Exec>>(
5618                "validate",
5619                |m: &OSPolicy_Resource_ExecResource| { &m.validate },
5620                |m: &mut OSPolicy_Resource_ExecResource| { &mut m.validate },
5621            ));
5622            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<OSPolicy_Resource_ExecResource_Exec>>(
5623                "enforce",
5624                |m: &OSPolicy_Resource_ExecResource| { &m.enforce },
5625                |m: &mut OSPolicy_Resource_ExecResource| { &mut m.enforce },
5626            ));
5627            ::protobuf::reflect::MessageDescriptor::new_pb_name::<OSPolicy_Resource_ExecResource>(
5628                "OSPolicy.Resource.ExecResource",
5629                fields,
5630                file_descriptor_proto()
5631            )
5632        })
5633    }
5634
5635    fn default_instance() -> &'static OSPolicy_Resource_ExecResource {
5636        static instance: ::protobuf::rt::LazyV2<OSPolicy_Resource_ExecResource> = ::protobuf::rt::LazyV2::INIT;
5637        instance.get(OSPolicy_Resource_ExecResource::new)
5638    }
5639}
5640
5641impl ::protobuf::Clear for OSPolicy_Resource_ExecResource {
5642    fn clear(&mut self) {
5643        self.validate.clear();
5644        self.enforce.clear();
5645        self.unknown_fields.clear();
5646    }
5647}
5648
5649impl ::std::fmt::Debug for OSPolicy_Resource_ExecResource {
5650    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5651        ::protobuf::text_format::fmt(self, f)
5652    }
5653}
5654
5655impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource_ExecResource {
5656    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5657        ::protobuf::reflect::ReflectValueRef::Message(self)
5658    }
5659}
5660
5661#[derive(PartialEq,Clone,Default)]
5662pub struct OSPolicy_Resource_ExecResource_Exec {
5663    // message fields
5664    pub args: ::protobuf::RepeatedField<::std::string::String>,
5665    pub interpreter: OSPolicy_Resource_ExecResource_Exec_Interpreter,
5666    pub output_file_path: ::std::string::String,
5667    // message oneof groups
5668    pub source: ::std::option::Option<OSPolicy_Resource_ExecResource_Exec_oneof_source>,
5669    // special fields
5670    pub unknown_fields: ::protobuf::UnknownFields,
5671    pub cached_size: ::protobuf::CachedSize,
5672}
5673
5674impl<'a> ::std::default::Default for &'a OSPolicy_Resource_ExecResource_Exec {
5675    fn default() -> &'a OSPolicy_Resource_ExecResource_Exec {
5676        <OSPolicy_Resource_ExecResource_Exec as ::protobuf::Message>::default_instance()
5677    }
5678}
5679
5680#[derive(Clone,PartialEq,Debug)]
5681pub enum OSPolicy_Resource_ExecResource_Exec_oneof_source {
5682    file(OSPolicy_Resource_File),
5683    script(::std::string::String),
5684}
5685
5686impl OSPolicy_Resource_ExecResource_Exec {
5687    pub fn new() -> OSPolicy_Resource_ExecResource_Exec {
5688        ::std::default::Default::default()
5689    }
5690
5691    // .google.cloud.osconfig.v1.OSPolicy.Resource.File file = 1;
5692
5693
5694    pub fn get_file(&self) -> &OSPolicy_Resource_File {
5695        match self.source {
5696            ::std::option::Option::Some(OSPolicy_Resource_ExecResource_Exec_oneof_source::file(ref v)) => v,
5697            _ => <OSPolicy_Resource_File as ::protobuf::Message>::default_instance(),
5698        }
5699    }
5700    pub fn clear_file(&mut self) {
5701        self.source = ::std::option::Option::None;
5702    }
5703
5704    pub fn has_file(&self) -> bool {
5705        match self.source {
5706            ::std::option::Option::Some(OSPolicy_Resource_ExecResource_Exec_oneof_source::file(..)) => true,
5707            _ => false,
5708        }
5709    }
5710
5711    // Param is passed by value, moved
5712    pub fn set_file(&mut self, v: OSPolicy_Resource_File) {
5713        self.source = ::std::option::Option::Some(OSPolicy_Resource_ExecResource_Exec_oneof_source::file(v))
5714    }
5715
5716    // Mutable pointer to the field.
5717    pub fn mut_file(&mut self) -> &mut OSPolicy_Resource_File {
5718        if let ::std::option::Option::Some(OSPolicy_Resource_ExecResource_Exec_oneof_source::file(_)) = self.source {
5719        } else {
5720            self.source = ::std::option::Option::Some(OSPolicy_Resource_ExecResource_Exec_oneof_source::file(OSPolicy_Resource_File::new()));
5721        }
5722        match self.source {
5723            ::std::option::Option::Some(OSPolicy_Resource_ExecResource_Exec_oneof_source::file(ref mut v)) => v,
5724            _ => panic!(),
5725        }
5726    }
5727
5728    // Take field
5729    pub fn take_file(&mut self) -> OSPolicy_Resource_File {
5730        if self.has_file() {
5731            match self.source.take() {
5732                ::std::option::Option::Some(OSPolicy_Resource_ExecResource_Exec_oneof_source::file(v)) => v,
5733                _ => panic!(),
5734            }
5735        } else {
5736            OSPolicy_Resource_File::new()
5737        }
5738    }
5739
5740    // string script = 2;
5741
5742
5743    pub fn get_script(&self) -> &str {
5744        match self.source {
5745            ::std::option::Option::Some(OSPolicy_Resource_ExecResource_Exec_oneof_source::script(ref v)) => v,
5746            _ => "",
5747        }
5748    }
5749    pub fn clear_script(&mut self) {
5750        self.source = ::std::option::Option::None;
5751    }
5752
5753    pub fn has_script(&self) -> bool {
5754        match self.source {
5755            ::std::option::Option::Some(OSPolicy_Resource_ExecResource_Exec_oneof_source::script(..)) => true,
5756            _ => false,
5757        }
5758    }
5759
5760    // Param is passed by value, moved
5761    pub fn set_script(&mut self, v: ::std::string::String) {
5762        self.source = ::std::option::Option::Some(OSPolicy_Resource_ExecResource_Exec_oneof_source::script(v))
5763    }
5764
5765    // Mutable pointer to the field.
5766    pub fn mut_script(&mut self) -> &mut ::std::string::String {
5767        if let ::std::option::Option::Some(OSPolicy_Resource_ExecResource_Exec_oneof_source::script(_)) = self.source {
5768        } else {
5769            self.source = ::std::option::Option::Some(OSPolicy_Resource_ExecResource_Exec_oneof_source::script(::std::string::String::new()));
5770        }
5771        match self.source {
5772            ::std::option::Option::Some(OSPolicy_Resource_ExecResource_Exec_oneof_source::script(ref mut v)) => v,
5773            _ => panic!(),
5774        }
5775    }
5776
5777    // Take field
5778    pub fn take_script(&mut self) -> ::std::string::String {
5779        if self.has_script() {
5780            match self.source.take() {
5781                ::std::option::Option::Some(OSPolicy_Resource_ExecResource_Exec_oneof_source::script(v)) => v,
5782                _ => panic!(),
5783            }
5784        } else {
5785            ::std::string::String::new()
5786        }
5787    }
5788
5789    // repeated string args = 3;
5790
5791
5792    pub fn get_args(&self) -> &[::std::string::String] {
5793        &self.args
5794    }
5795    pub fn clear_args(&mut self) {
5796        self.args.clear();
5797    }
5798
5799    // Param is passed by value, moved
5800    pub fn set_args(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
5801        self.args = v;
5802    }
5803
5804    // Mutable pointer to the field.
5805    pub fn mut_args(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
5806        &mut self.args
5807    }
5808
5809    // Take field
5810    pub fn take_args(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
5811        ::std::mem::replace(&mut self.args, ::protobuf::RepeatedField::new())
5812    }
5813
5814    // .google.cloud.osconfig.v1.OSPolicy.Resource.ExecResource.Exec.Interpreter interpreter = 4;
5815
5816
5817    pub fn get_interpreter(&self) -> OSPolicy_Resource_ExecResource_Exec_Interpreter {
5818        self.interpreter
5819    }
5820    pub fn clear_interpreter(&mut self) {
5821        self.interpreter = OSPolicy_Resource_ExecResource_Exec_Interpreter::INTERPRETER_UNSPECIFIED;
5822    }
5823
5824    // Param is passed by value, moved
5825    pub fn set_interpreter(&mut self, v: OSPolicy_Resource_ExecResource_Exec_Interpreter) {
5826        self.interpreter = v;
5827    }
5828
5829    // string output_file_path = 5;
5830
5831
5832    pub fn get_output_file_path(&self) -> &str {
5833        &self.output_file_path
5834    }
5835    pub fn clear_output_file_path(&mut self) {
5836        self.output_file_path.clear();
5837    }
5838
5839    // Param is passed by value, moved
5840    pub fn set_output_file_path(&mut self, v: ::std::string::String) {
5841        self.output_file_path = v;
5842    }
5843
5844    // Mutable pointer to the field.
5845    // If field is not initialized, it is initialized with default value first.
5846    pub fn mut_output_file_path(&mut self) -> &mut ::std::string::String {
5847        &mut self.output_file_path
5848    }
5849
5850    // Take field
5851    pub fn take_output_file_path(&mut self) -> ::std::string::String {
5852        ::std::mem::replace(&mut self.output_file_path, ::std::string::String::new())
5853    }
5854}
5855
5856impl ::protobuf::Message for OSPolicy_Resource_ExecResource_Exec {
5857    fn is_initialized(&self) -> bool {
5858        if let Some(OSPolicy_Resource_ExecResource_Exec_oneof_source::file(ref v)) = self.source {
5859            if !v.is_initialized() {
5860                return false;
5861            }
5862        }
5863        true
5864    }
5865
5866    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5867        while !is.eof()? {
5868            let (field_number, wire_type) = is.read_tag_unpack()?;
5869            match field_number {
5870                1 => {
5871                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
5872                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5873                    }
5874                    self.source = ::std::option::Option::Some(OSPolicy_Resource_ExecResource_Exec_oneof_source::file(is.read_message()?));
5875                },
5876                2 => {
5877                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
5878                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5879                    }
5880                    self.source = ::std::option::Option::Some(OSPolicy_Resource_ExecResource_Exec_oneof_source::script(is.read_string()?));
5881                },
5882                3 => {
5883                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.args)?;
5884                },
5885                4 => {
5886                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.interpreter, 4, &mut self.unknown_fields)?
5887                },
5888                5 => {
5889                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.output_file_path)?;
5890                },
5891                _ => {
5892                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5893                },
5894            };
5895        }
5896        ::std::result::Result::Ok(())
5897    }
5898
5899    // Compute sizes of nested messages
5900    #[allow(unused_variables)]
5901    fn compute_size(&self) -> u32 {
5902        let mut my_size = 0;
5903        for value in &self.args {
5904            my_size += ::protobuf::rt::string_size(3, &value);
5905        };
5906        if self.interpreter != OSPolicy_Resource_ExecResource_Exec_Interpreter::INTERPRETER_UNSPECIFIED {
5907            my_size += ::protobuf::rt::enum_size(4, self.interpreter);
5908        }
5909        if !self.output_file_path.is_empty() {
5910            my_size += ::protobuf::rt::string_size(5, &self.output_file_path);
5911        }
5912        if let ::std::option::Option::Some(ref v) = self.source {
5913            match v {
5914                &OSPolicy_Resource_ExecResource_Exec_oneof_source::file(ref v) => {
5915                    let len = v.compute_size();
5916                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5917                },
5918                &OSPolicy_Resource_ExecResource_Exec_oneof_source::script(ref v) => {
5919                    my_size += ::protobuf::rt::string_size(2, &v);
5920                },
5921            };
5922        }
5923        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5924        self.cached_size.set(my_size);
5925        my_size
5926    }
5927
5928    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5929        for v in &self.args {
5930            os.write_string(3, &v)?;
5931        };
5932        if self.interpreter != OSPolicy_Resource_ExecResource_Exec_Interpreter::INTERPRETER_UNSPECIFIED {
5933            os.write_enum(4, ::protobuf::ProtobufEnum::value(&self.interpreter))?;
5934        }
5935        if !self.output_file_path.is_empty() {
5936            os.write_string(5, &self.output_file_path)?;
5937        }
5938        if let ::std::option::Option::Some(ref v) = self.source {
5939            match v {
5940                &OSPolicy_Resource_ExecResource_Exec_oneof_source::file(ref v) => {
5941                    os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5942                    os.write_raw_varint32(v.get_cached_size())?;
5943                    v.write_to_with_cached_sizes(os)?;
5944                },
5945                &OSPolicy_Resource_ExecResource_Exec_oneof_source::script(ref v) => {
5946                    os.write_string(2, v)?;
5947                },
5948            };
5949        }
5950        os.write_unknown_fields(self.get_unknown_fields())?;
5951        ::std::result::Result::Ok(())
5952    }
5953
5954    fn get_cached_size(&self) -> u32 {
5955        self.cached_size.get()
5956    }
5957
5958    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5959        &self.unknown_fields
5960    }
5961
5962    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5963        &mut self.unknown_fields
5964    }
5965
5966    fn as_any(&self) -> &dyn (::std::any::Any) {
5967        self as &dyn (::std::any::Any)
5968    }
5969    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5970        self as &mut dyn (::std::any::Any)
5971    }
5972    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5973        self
5974    }
5975
5976    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5977        Self::descriptor_static()
5978    }
5979
5980    fn new() -> OSPolicy_Resource_ExecResource_Exec {
5981        OSPolicy_Resource_ExecResource_Exec::new()
5982    }
5983
5984    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5985        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5986        descriptor.get(|| {
5987            let mut fields = ::std::vec::Vec::new();
5988            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, OSPolicy_Resource_File>(
5989                "file",
5990                OSPolicy_Resource_ExecResource_Exec::has_file,
5991                OSPolicy_Resource_ExecResource_Exec::get_file,
5992            ));
5993            fields.push(::protobuf::reflect::accessor::make_singular_string_accessor::<_>(
5994                "script",
5995                OSPolicy_Resource_ExecResource_Exec::has_script,
5996                OSPolicy_Resource_ExecResource_Exec::get_script,
5997            ));
5998            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5999                "args",
6000                |m: &OSPolicy_Resource_ExecResource_Exec| { &m.args },
6001                |m: &mut OSPolicy_Resource_ExecResource_Exec| { &mut m.args },
6002            ));
6003            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<OSPolicy_Resource_ExecResource_Exec_Interpreter>>(
6004                "interpreter",
6005                |m: &OSPolicy_Resource_ExecResource_Exec| { &m.interpreter },
6006                |m: &mut OSPolicy_Resource_ExecResource_Exec| { &mut m.interpreter },
6007            ));
6008            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
6009                "output_file_path",
6010                |m: &OSPolicy_Resource_ExecResource_Exec| { &m.output_file_path },
6011                |m: &mut OSPolicy_Resource_ExecResource_Exec| { &mut m.output_file_path },
6012            ));
6013            ::protobuf::reflect::MessageDescriptor::new_pb_name::<OSPolicy_Resource_ExecResource_Exec>(
6014                "OSPolicy.Resource.ExecResource.Exec",
6015                fields,
6016                file_descriptor_proto()
6017            )
6018        })
6019    }
6020
6021    fn default_instance() -> &'static OSPolicy_Resource_ExecResource_Exec {
6022        static instance: ::protobuf::rt::LazyV2<OSPolicy_Resource_ExecResource_Exec> = ::protobuf::rt::LazyV2::INIT;
6023        instance.get(OSPolicy_Resource_ExecResource_Exec::new)
6024    }
6025}
6026
6027impl ::protobuf::Clear for OSPolicy_Resource_ExecResource_Exec {
6028    fn clear(&mut self) {
6029        self.source = ::std::option::Option::None;
6030        self.source = ::std::option::Option::None;
6031        self.args.clear();
6032        self.interpreter = OSPolicy_Resource_ExecResource_Exec_Interpreter::INTERPRETER_UNSPECIFIED;
6033        self.output_file_path.clear();
6034        self.unknown_fields.clear();
6035    }
6036}
6037
6038impl ::std::fmt::Debug for OSPolicy_Resource_ExecResource_Exec {
6039    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6040        ::protobuf::text_format::fmt(self, f)
6041    }
6042}
6043
6044impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource_ExecResource_Exec {
6045    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6046        ::protobuf::reflect::ReflectValueRef::Message(self)
6047    }
6048}
6049
6050#[derive(Clone,PartialEq,Eq,Debug,Hash)]
6051pub enum OSPolicy_Resource_ExecResource_Exec_Interpreter {
6052    INTERPRETER_UNSPECIFIED = 0,
6053    NONE = 1,
6054    SHELL = 2,
6055    POWERSHELL = 3,
6056}
6057
6058impl ::protobuf::ProtobufEnum for OSPolicy_Resource_ExecResource_Exec_Interpreter {
6059    fn value(&self) -> i32 {
6060        *self as i32
6061    }
6062
6063    fn from_i32(value: i32) -> ::std::option::Option<OSPolicy_Resource_ExecResource_Exec_Interpreter> {
6064        match value {
6065            0 => ::std::option::Option::Some(OSPolicy_Resource_ExecResource_Exec_Interpreter::INTERPRETER_UNSPECIFIED),
6066            1 => ::std::option::Option::Some(OSPolicy_Resource_ExecResource_Exec_Interpreter::NONE),
6067            2 => ::std::option::Option::Some(OSPolicy_Resource_ExecResource_Exec_Interpreter::SHELL),
6068            3 => ::std::option::Option::Some(OSPolicy_Resource_ExecResource_Exec_Interpreter::POWERSHELL),
6069            _ => ::std::option::Option::None
6070        }
6071    }
6072
6073    fn values() -> &'static [Self] {
6074        static values: &'static [OSPolicy_Resource_ExecResource_Exec_Interpreter] = &[
6075            OSPolicy_Resource_ExecResource_Exec_Interpreter::INTERPRETER_UNSPECIFIED,
6076            OSPolicy_Resource_ExecResource_Exec_Interpreter::NONE,
6077            OSPolicy_Resource_ExecResource_Exec_Interpreter::SHELL,
6078            OSPolicy_Resource_ExecResource_Exec_Interpreter::POWERSHELL,
6079        ];
6080        values
6081    }
6082
6083    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
6084        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
6085        descriptor.get(|| {
6086            ::protobuf::reflect::EnumDescriptor::new_pb_name::<OSPolicy_Resource_ExecResource_Exec_Interpreter>("OSPolicy.Resource.ExecResource.Exec.Interpreter", file_descriptor_proto())
6087        })
6088    }
6089}
6090
6091impl ::std::marker::Copy for OSPolicy_Resource_ExecResource_Exec_Interpreter {
6092}
6093
6094impl ::std::default::Default for OSPolicy_Resource_ExecResource_Exec_Interpreter {
6095    fn default() -> Self {
6096        OSPolicy_Resource_ExecResource_Exec_Interpreter::INTERPRETER_UNSPECIFIED
6097    }
6098}
6099
6100impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource_ExecResource_Exec_Interpreter {
6101    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6102        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
6103    }
6104}
6105
6106#[derive(PartialEq,Clone,Default)]
6107pub struct OSPolicy_Resource_FileResource {
6108    // message fields
6109    pub path: ::std::string::String,
6110    pub state: OSPolicy_Resource_FileResource_DesiredState,
6111    pub permissions: ::std::string::String,
6112    // message oneof groups
6113    pub source: ::std::option::Option<OSPolicy_Resource_FileResource_oneof_source>,
6114    // special fields
6115    pub unknown_fields: ::protobuf::UnknownFields,
6116    pub cached_size: ::protobuf::CachedSize,
6117}
6118
6119impl<'a> ::std::default::Default for &'a OSPolicy_Resource_FileResource {
6120    fn default() -> &'a OSPolicy_Resource_FileResource {
6121        <OSPolicy_Resource_FileResource as ::protobuf::Message>::default_instance()
6122    }
6123}
6124
6125#[derive(Clone,PartialEq,Debug)]
6126pub enum OSPolicy_Resource_FileResource_oneof_source {
6127    file(OSPolicy_Resource_File),
6128    content(::std::string::String),
6129}
6130
6131impl OSPolicy_Resource_FileResource {
6132    pub fn new() -> OSPolicy_Resource_FileResource {
6133        ::std::default::Default::default()
6134    }
6135
6136    // .google.cloud.osconfig.v1.OSPolicy.Resource.File file = 1;
6137
6138
6139    pub fn get_file(&self) -> &OSPolicy_Resource_File {
6140        match self.source {
6141            ::std::option::Option::Some(OSPolicy_Resource_FileResource_oneof_source::file(ref v)) => v,
6142            _ => <OSPolicy_Resource_File as ::protobuf::Message>::default_instance(),
6143        }
6144    }
6145    pub fn clear_file(&mut self) {
6146        self.source = ::std::option::Option::None;
6147    }
6148
6149    pub fn has_file(&self) -> bool {
6150        match self.source {
6151            ::std::option::Option::Some(OSPolicy_Resource_FileResource_oneof_source::file(..)) => true,
6152            _ => false,
6153        }
6154    }
6155
6156    // Param is passed by value, moved
6157    pub fn set_file(&mut self, v: OSPolicy_Resource_File) {
6158        self.source = ::std::option::Option::Some(OSPolicy_Resource_FileResource_oneof_source::file(v))
6159    }
6160
6161    // Mutable pointer to the field.
6162    pub fn mut_file(&mut self) -> &mut OSPolicy_Resource_File {
6163        if let ::std::option::Option::Some(OSPolicy_Resource_FileResource_oneof_source::file(_)) = self.source {
6164        } else {
6165            self.source = ::std::option::Option::Some(OSPolicy_Resource_FileResource_oneof_source::file(OSPolicy_Resource_File::new()));
6166        }
6167        match self.source {
6168            ::std::option::Option::Some(OSPolicy_Resource_FileResource_oneof_source::file(ref mut v)) => v,
6169            _ => panic!(),
6170        }
6171    }
6172
6173    // Take field
6174    pub fn take_file(&mut self) -> OSPolicy_Resource_File {
6175        if self.has_file() {
6176            match self.source.take() {
6177                ::std::option::Option::Some(OSPolicy_Resource_FileResource_oneof_source::file(v)) => v,
6178                _ => panic!(),
6179            }
6180        } else {
6181            OSPolicy_Resource_File::new()
6182        }
6183    }
6184
6185    // string content = 2;
6186
6187
6188    pub fn get_content(&self) -> &str {
6189        match self.source {
6190            ::std::option::Option::Some(OSPolicy_Resource_FileResource_oneof_source::content(ref v)) => v,
6191            _ => "",
6192        }
6193    }
6194    pub fn clear_content(&mut self) {
6195        self.source = ::std::option::Option::None;
6196    }
6197
6198    pub fn has_content(&self) -> bool {
6199        match self.source {
6200            ::std::option::Option::Some(OSPolicy_Resource_FileResource_oneof_source::content(..)) => true,
6201            _ => false,
6202        }
6203    }
6204
6205    // Param is passed by value, moved
6206    pub fn set_content(&mut self, v: ::std::string::String) {
6207        self.source = ::std::option::Option::Some(OSPolicy_Resource_FileResource_oneof_source::content(v))
6208    }
6209
6210    // Mutable pointer to the field.
6211    pub fn mut_content(&mut self) -> &mut ::std::string::String {
6212        if let ::std::option::Option::Some(OSPolicy_Resource_FileResource_oneof_source::content(_)) = self.source {
6213        } else {
6214            self.source = ::std::option::Option::Some(OSPolicy_Resource_FileResource_oneof_source::content(::std::string::String::new()));
6215        }
6216        match self.source {
6217            ::std::option::Option::Some(OSPolicy_Resource_FileResource_oneof_source::content(ref mut v)) => v,
6218            _ => panic!(),
6219        }
6220    }
6221
6222    // Take field
6223    pub fn take_content(&mut self) -> ::std::string::String {
6224        if self.has_content() {
6225            match self.source.take() {
6226                ::std::option::Option::Some(OSPolicy_Resource_FileResource_oneof_source::content(v)) => v,
6227                _ => panic!(),
6228            }
6229        } else {
6230            ::std::string::String::new()
6231        }
6232    }
6233
6234    // string path = 3;
6235
6236
6237    pub fn get_path(&self) -> &str {
6238        &self.path
6239    }
6240    pub fn clear_path(&mut self) {
6241        self.path.clear();
6242    }
6243
6244    // Param is passed by value, moved
6245    pub fn set_path(&mut self, v: ::std::string::String) {
6246        self.path = v;
6247    }
6248
6249    // Mutable pointer to the field.
6250    // If field is not initialized, it is initialized with default value first.
6251    pub fn mut_path(&mut self) -> &mut ::std::string::String {
6252        &mut self.path
6253    }
6254
6255    // Take field
6256    pub fn take_path(&mut self) -> ::std::string::String {
6257        ::std::mem::replace(&mut self.path, ::std::string::String::new())
6258    }
6259
6260    // .google.cloud.osconfig.v1.OSPolicy.Resource.FileResource.DesiredState state = 4;
6261
6262
6263    pub fn get_state(&self) -> OSPolicy_Resource_FileResource_DesiredState {
6264        self.state
6265    }
6266    pub fn clear_state(&mut self) {
6267        self.state = OSPolicy_Resource_FileResource_DesiredState::DESIRED_STATE_UNSPECIFIED;
6268    }
6269
6270    // Param is passed by value, moved
6271    pub fn set_state(&mut self, v: OSPolicy_Resource_FileResource_DesiredState) {
6272        self.state = v;
6273    }
6274
6275    // string permissions = 5;
6276
6277
6278    pub fn get_permissions(&self) -> &str {
6279        &self.permissions
6280    }
6281    pub fn clear_permissions(&mut self) {
6282        self.permissions.clear();
6283    }
6284
6285    // Param is passed by value, moved
6286    pub fn set_permissions(&mut self, v: ::std::string::String) {
6287        self.permissions = v;
6288    }
6289
6290    // Mutable pointer to the field.
6291    // If field is not initialized, it is initialized with default value first.
6292    pub fn mut_permissions(&mut self) -> &mut ::std::string::String {
6293        &mut self.permissions
6294    }
6295
6296    // Take field
6297    pub fn take_permissions(&mut self) -> ::std::string::String {
6298        ::std::mem::replace(&mut self.permissions, ::std::string::String::new())
6299    }
6300}
6301
6302impl ::protobuf::Message for OSPolicy_Resource_FileResource {
6303    fn is_initialized(&self) -> bool {
6304        if let Some(OSPolicy_Resource_FileResource_oneof_source::file(ref v)) = self.source {
6305            if !v.is_initialized() {
6306                return false;
6307            }
6308        }
6309        true
6310    }
6311
6312    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6313        while !is.eof()? {
6314            let (field_number, wire_type) = is.read_tag_unpack()?;
6315            match field_number {
6316                1 => {
6317                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
6318                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
6319                    }
6320                    self.source = ::std::option::Option::Some(OSPolicy_Resource_FileResource_oneof_source::file(is.read_message()?));
6321                },
6322                2 => {
6323                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
6324                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
6325                    }
6326                    self.source = ::std::option::Option::Some(OSPolicy_Resource_FileResource_oneof_source::content(is.read_string()?));
6327                },
6328                3 => {
6329                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.path)?;
6330                },
6331                4 => {
6332                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.state, 4, &mut self.unknown_fields)?
6333                },
6334                5 => {
6335                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.permissions)?;
6336                },
6337                _ => {
6338                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
6339                },
6340            };
6341        }
6342        ::std::result::Result::Ok(())
6343    }
6344
6345    // Compute sizes of nested messages
6346    #[allow(unused_variables)]
6347    fn compute_size(&self) -> u32 {
6348        let mut my_size = 0;
6349        if !self.path.is_empty() {
6350            my_size += ::protobuf::rt::string_size(3, &self.path);
6351        }
6352        if self.state != OSPolicy_Resource_FileResource_DesiredState::DESIRED_STATE_UNSPECIFIED {
6353            my_size += ::protobuf::rt::enum_size(4, self.state);
6354        }
6355        if !self.permissions.is_empty() {
6356            my_size += ::protobuf::rt::string_size(5, &self.permissions);
6357        }
6358        if let ::std::option::Option::Some(ref v) = self.source {
6359            match v {
6360                &OSPolicy_Resource_FileResource_oneof_source::file(ref v) => {
6361                    let len = v.compute_size();
6362                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
6363                },
6364                &OSPolicy_Resource_FileResource_oneof_source::content(ref v) => {
6365                    my_size += ::protobuf::rt::string_size(2, &v);
6366                },
6367            };
6368        }
6369        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
6370        self.cached_size.set(my_size);
6371        my_size
6372    }
6373
6374    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6375        if !self.path.is_empty() {
6376            os.write_string(3, &self.path)?;
6377        }
6378        if self.state != OSPolicy_Resource_FileResource_DesiredState::DESIRED_STATE_UNSPECIFIED {
6379            os.write_enum(4, ::protobuf::ProtobufEnum::value(&self.state))?;
6380        }
6381        if !self.permissions.is_empty() {
6382            os.write_string(5, &self.permissions)?;
6383        }
6384        if let ::std::option::Option::Some(ref v) = self.source {
6385            match v {
6386                &OSPolicy_Resource_FileResource_oneof_source::file(ref v) => {
6387                    os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
6388                    os.write_raw_varint32(v.get_cached_size())?;
6389                    v.write_to_with_cached_sizes(os)?;
6390                },
6391                &OSPolicy_Resource_FileResource_oneof_source::content(ref v) => {
6392                    os.write_string(2, v)?;
6393                },
6394            };
6395        }
6396        os.write_unknown_fields(self.get_unknown_fields())?;
6397        ::std::result::Result::Ok(())
6398    }
6399
6400    fn get_cached_size(&self) -> u32 {
6401        self.cached_size.get()
6402    }
6403
6404    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
6405        &self.unknown_fields
6406    }
6407
6408    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
6409        &mut self.unknown_fields
6410    }
6411
6412    fn as_any(&self) -> &dyn (::std::any::Any) {
6413        self as &dyn (::std::any::Any)
6414    }
6415    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
6416        self as &mut dyn (::std::any::Any)
6417    }
6418    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
6419        self
6420    }
6421
6422    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
6423        Self::descriptor_static()
6424    }
6425
6426    fn new() -> OSPolicy_Resource_FileResource {
6427        OSPolicy_Resource_FileResource::new()
6428    }
6429
6430    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
6431        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
6432        descriptor.get(|| {
6433            let mut fields = ::std::vec::Vec::new();
6434            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, OSPolicy_Resource_File>(
6435                "file",
6436                OSPolicy_Resource_FileResource::has_file,
6437                OSPolicy_Resource_FileResource::get_file,
6438            ));
6439            fields.push(::protobuf::reflect::accessor::make_singular_string_accessor::<_>(
6440                "content",
6441                OSPolicy_Resource_FileResource::has_content,
6442                OSPolicy_Resource_FileResource::get_content,
6443            ));
6444            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
6445                "path",
6446                |m: &OSPolicy_Resource_FileResource| { &m.path },
6447                |m: &mut OSPolicy_Resource_FileResource| { &mut m.path },
6448            ));
6449            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<OSPolicy_Resource_FileResource_DesiredState>>(
6450                "state",
6451                |m: &OSPolicy_Resource_FileResource| { &m.state },
6452                |m: &mut OSPolicy_Resource_FileResource| { &mut m.state },
6453            ));
6454            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
6455                "permissions",
6456                |m: &OSPolicy_Resource_FileResource| { &m.permissions },
6457                |m: &mut OSPolicy_Resource_FileResource| { &mut m.permissions },
6458            ));
6459            ::protobuf::reflect::MessageDescriptor::new_pb_name::<OSPolicy_Resource_FileResource>(
6460                "OSPolicy.Resource.FileResource",
6461                fields,
6462                file_descriptor_proto()
6463            )
6464        })
6465    }
6466
6467    fn default_instance() -> &'static OSPolicy_Resource_FileResource {
6468        static instance: ::protobuf::rt::LazyV2<OSPolicy_Resource_FileResource> = ::protobuf::rt::LazyV2::INIT;
6469        instance.get(OSPolicy_Resource_FileResource::new)
6470    }
6471}
6472
6473impl ::protobuf::Clear for OSPolicy_Resource_FileResource {
6474    fn clear(&mut self) {
6475        self.source = ::std::option::Option::None;
6476        self.source = ::std::option::Option::None;
6477        self.path.clear();
6478        self.state = OSPolicy_Resource_FileResource_DesiredState::DESIRED_STATE_UNSPECIFIED;
6479        self.permissions.clear();
6480        self.unknown_fields.clear();
6481    }
6482}
6483
6484impl ::std::fmt::Debug for OSPolicy_Resource_FileResource {
6485    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6486        ::protobuf::text_format::fmt(self, f)
6487    }
6488}
6489
6490impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource_FileResource {
6491    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6492        ::protobuf::reflect::ReflectValueRef::Message(self)
6493    }
6494}
6495
6496#[derive(Clone,PartialEq,Eq,Debug,Hash)]
6497pub enum OSPolicy_Resource_FileResource_DesiredState {
6498    DESIRED_STATE_UNSPECIFIED = 0,
6499    PRESENT = 1,
6500    ABSENT = 2,
6501    CONTENTS_MATCH = 3,
6502}
6503
6504impl ::protobuf::ProtobufEnum for OSPolicy_Resource_FileResource_DesiredState {
6505    fn value(&self) -> i32 {
6506        *self as i32
6507    }
6508
6509    fn from_i32(value: i32) -> ::std::option::Option<OSPolicy_Resource_FileResource_DesiredState> {
6510        match value {
6511            0 => ::std::option::Option::Some(OSPolicy_Resource_FileResource_DesiredState::DESIRED_STATE_UNSPECIFIED),
6512            1 => ::std::option::Option::Some(OSPolicy_Resource_FileResource_DesiredState::PRESENT),
6513            2 => ::std::option::Option::Some(OSPolicy_Resource_FileResource_DesiredState::ABSENT),
6514            3 => ::std::option::Option::Some(OSPolicy_Resource_FileResource_DesiredState::CONTENTS_MATCH),
6515            _ => ::std::option::Option::None
6516        }
6517    }
6518
6519    fn values() -> &'static [Self] {
6520        static values: &'static [OSPolicy_Resource_FileResource_DesiredState] = &[
6521            OSPolicy_Resource_FileResource_DesiredState::DESIRED_STATE_UNSPECIFIED,
6522            OSPolicy_Resource_FileResource_DesiredState::PRESENT,
6523            OSPolicy_Resource_FileResource_DesiredState::ABSENT,
6524            OSPolicy_Resource_FileResource_DesiredState::CONTENTS_MATCH,
6525        ];
6526        values
6527    }
6528
6529    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
6530        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
6531        descriptor.get(|| {
6532            ::protobuf::reflect::EnumDescriptor::new_pb_name::<OSPolicy_Resource_FileResource_DesiredState>("OSPolicy.Resource.FileResource.DesiredState", file_descriptor_proto())
6533        })
6534    }
6535}
6536
6537impl ::std::marker::Copy for OSPolicy_Resource_FileResource_DesiredState {
6538}
6539
6540impl ::std::default::Default for OSPolicy_Resource_FileResource_DesiredState {
6541    fn default() -> Self {
6542        OSPolicy_Resource_FileResource_DesiredState::DESIRED_STATE_UNSPECIFIED
6543    }
6544}
6545
6546impl ::protobuf::reflect::ProtobufValue for OSPolicy_Resource_FileResource_DesiredState {
6547    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6548        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
6549    }
6550}
6551
6552#[derive(PartialEq,Clone,Default)]
6553pub struct OSPolicy_ResourceGroup {
6554    // message fields
6555    pub inventory_filters: ::protobuf::RepeatedField<OSPolicy_InventoryFilter>,
6556    pub resources: ::protobuf::RepeatedField<OSPolicy_Resource>,
6557    // special fields
6558    pub unknown_fields: ::protobuf::UnknownFields,
6559    pub cached_size: ::protobuf::CachedSize,
6560}
6561
6562impl<'a> ::std::default::Default for &'a OSPolicy_ResourceGroup {
6563    fn default() -> &'a OSPolicy_ResourceGroup {
6564        <OSPolicy_ResourceGroup as ::protobuf::Message>::default_instance()
6565    }
6566}
6567
6568impl OSPolicy_ResourceGroup {
6569    pub fn new() -> OSPolicy_ResourceGroup {
6570        ::std::default::Default::default()
6571    }
6572
6573    // repeated .google.cloud.osconfig.v1.OSPolicy.InventoryFilter inventory_filters = 1;
6574
6575
6576    pub fn get_inventory_filters(&self) -> &[OSPolicy_InventoryFilter] {
6577        &self.inventory_filters
6578    }
6579    pub fn clear_inventory_filters(&mut self) {
6580        self.inventory_filters.clear();
6581    }
6582
6583    // Param is passed by value, moved
6584    pub fn set_inventory_filters(&mut self, v: ::protobuf::RepeatedField<OSPolicy_InventoryFilter>) {
6585        self.inventory_filters = v;
6586    }
6587
6588    // Mutable pointer to the field.
6589    pub fn mut_inventory_filters(&mut self) -> &mut ::protobuf::RepeatedField<OSPolicy_InventoryFilter> {
6590        &mut self.inventory_filters
6591    }
6592
6593    // Take field
6594    pub fn take_inventory_filters(&mut self) -> ::protobuf::RepeatedField<OSPolicy_InventoryFilter> {
6595        ::std::mem::replace(&mut self.inventory_filters, ::protobuf::RepeatedField::new())
6596    }
6597
6598    // repeated .google.cloud.osconfig.v1.OSPolicy.Resource resources = 2;
6599
6600
6601    pub fn get_resources(&self) -> &[OSPolicy_Resource] {
6602        &self.resources
6603    }
6604    pub fn clear_resources(&mut self) {
6605        self.resources.clear();
6606    }
6607
6608    // Param is passed by value, moved
6609    pub fn set_resources(&mut self, v: ::protobuf::RepeatedField<OSPolicy_Resource>) {
6610        self.resources = v;
6611    }
6612
6613    // Mutable pointer to the field.
6614    pub fn mut_resources(&mut self) -> &mut ::protobuf::RepeatedField<OSPolicy_Resource> {
6615        &mut self.resources
6616    }
6617
6618    // Take field
6619    pub fn take_resources(&mut self) -> ::protobuf::RepeatedField<OSPolicy_Resource> {
6620        ::std::mem::replace(&mut self.resources, ::protobuf::RepeatedField::new())
6621    }
6622}
6623
6624impl ::protobuf::Message for OSPolicy_ResourceGroup {
6625    fn is_initialized(&self) -> bool {
6626        for v in &self.inventory_filters {
6627            if !v.is_initialized() {
6628                return false;
6629            }
6630        };
6631        for v in &self.resources {
6632            if !v.is_initialized() {
6633                return false;
6634            }
6635        };
6636        true
6637    }
6638
6639    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6640        while !is.eof()? {
6641            let (field_number, wire_type) = is.read_tag_unpack()?;
6642            match field_number {
6643                1 => {
6644                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.inventory_filters)?;
6645                },
6646                2 => {
6647                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.resources)?;
6648                },
6649                _ => {
6650                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
6651                },
6652            };
6653        }
6654        ::std::result::Result::Ok(())
6655    }
6656
6657    // Compute sizes of nested messages
6658    #[allow(unused_variables)]
6659    fn compute_size(&self) -> u32 {
6660        let mut my_size = 0;
6661        for value in &self.inventory_filters {
6662            let len = value.compute_size();
6663            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
6664        };
6665        for value in &self.resources {
6666            let len = value.compute_size();
6667            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
6668        };
6669        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
6670        self.cached_size.set(my_size);
6671        my_size
6672    }
6673
6674    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6675        for v in &self.inventory_filters {
6676            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
6677            os.write_raw_varint32(v.get_cached_size())?;
6678            v.write_to_with_cached_sizes(os)?;
6679        };
6680        for v in &self.resources {
6681            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
6682            os.write_raw_varint32(v.get_cached_size())?;
6683            v.write_to_with_cached_sizes(os)?;
6684        };
6685        os.write_unknown_fields(self.get_unknown_fields())?;
6686        ::std::result::Result::Ok(())
6687    }
6688
6689    fn get_cached_size(&self) -> u32 {
6690        self.cached_size.get()
6691    }
6692
6693    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
6694        &self.unknown_fields
6695    }
6696
6697    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
6698        &mut self.unknown_fields
6699    }
6700
6701    fn as_any(&self) -> &dyn (::std::any::Any) {
6702        self as &dyn (::std::any::Any)
6703    }
6704    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
6705        self as &mut dyn (::std::any::Any)
6706    }
6707    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
6708        self
6709    }
6710
6711    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
6712        Self::descriptor_static()
6713    }
6714
6715    fn new() -> OSPolicy_ResourceGroup {
6716        OSPolicy_ResourceGroup::new()
6717    }
6718
6719    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
6720        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
6721        descriptor.get(|| {
6722            let mut fields = ::std::vec::Vec::new();
6723            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<OSPolicy_InventoryFilter>>(
6724                "inventory_filters",
6725                |m: &OSPolicy_ResourceGroup| { &m.inventory_filters },
6726                |m: &mut OSPolicy_ResourceGroup| { &mut m.inventory_filters },
6727            ));
6728            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<OSPolicy_Resource>>(
6729                "resources",
6730                |m: &OSPolicy_ResourceGroup| { &m.resources },
6731                |m: &mut OSPolicy_ResourceGroup| { &mut m.resources },
6732            ));
6733            ::protobuf::reflect::MessageDescriptor::new_pb_name::<OSPolicy_ResourceGroup>(
6734                "OSPolicy.ResourceGroup",
6735                fields,
6736                file_descriptor_proto()
6737            )
6738        })
6739    }
6740
6741    fn default_instance() -> &'static OSPolicy_ResourceGroup {
6742        static instance: ::protobuf::rt::LazyV2<OSPolicy_ResourceGroup> = ::protobuf::rt::LazyV2::INIT;
6743        instance.get(OSPolicy_ResourceGroup::new)
6744    }
6745}
6746
6747impl ::protobuf::Clear for OSPolicy_ResourceGroup {
6748    fn clear(&mut self) {
6749        self.inventory_filters.clear();
6750        self.resources.clear();
6751        self.unknown_fields.clear();
6752    }
6753}
6754
6755impl ::std::fmt::Debug for OSPolicy_ResourceGroup {
6756    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6757        ::protobuf::text_format::fmt(self, f)
6758    }
6759}
6760
6761impl ::protobuf::reflect::ProtobufValue for OSPolicy_ResourceGroup {
6762    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6763        ::protobuf::reflect::ReflectValueRef::Message(self)
6764    }
6765}
6766
6767#[derive(Clone,PartialEq,Eq,Debug,Hash)]
6768pub enum OSPolicy_Mode {
6769    MODE_UNSPECIFIED = 0,
6770    VALIDATION = 1,
6771    ENFORCEMENT = 2,
6772}
6773
6774impl ::protobuf::ProtobufEnum for OSPolicy_Mode {
6775    fn value(&self) -> i32 {
6776        *self as i32
6777    }
6778
6779    fn from_i32(value: i32) -> ::std::option::Option<OSPolicy_Mode> {
6780        match value {
6781            0 => ::std::option::Option::Some(OSPolicy_Mode::MODE_UNSPECIFIED),
6782            1 => ::std::option::Option::Some(OSPolicy_Mode::VALIDATION),
6783            2 => ::std::option::Option::Some(OSPolicy_Mode::ENFORCEMENT),
6784            _ => ::std::option::Option::None
6785        }
6786    }
6787
6788    fn values() -> &'static [Self] {
6789        static values: &'static [OSPolicy_Mode] = &[
6790            OSPolicy_Mode::MODE_UNSPECIFIED,
6791            OSPolicy_Mode::VALIDATION,
6792            OSPolicy_Mode::ENFORCEMENT,
6793        ];
6794        values
6795    }
6796
6797    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
6798        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
6799        descriptor.get(|| {
6800            ::protobuf::reflect::EnumDescriptor::new_pb_name::<OSPolicy_Mode>("OSPolicy.Mode", file_descriptor_proto())
6801        })
6802    }
6803}
6804
6805impl ::std::marker::Copy for OSPolicy_Mode {
6806}
6807
6808impl ::std::default::Default for OSPolicy_Mode {
6809    fn default() -> Self {
6810        OSPolicy_Mode::MODE_UNSPECIFIED
6811    }
6812}
6813
6814impl ::protobuf::reflect::ProtobufValue for OSPolicy_Mode {
6815    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6816        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
6817    }
6818}
6819
6820static file_descriptor_proto_data: &'static [u8] = b"\
6821    \n(google/cloud/osconfig/v1/os_policy.proto\x12\x18google.cloud.osconfig\
6822    .v1\x1a\x1fgoogle/api/field_behavior.proto\"\xe7%\n\x08OSPolicy\x12\x13\
6823    \n\x02id\x18\x01\x20\x01(\tR\x02idB\x03\xe0A\x02\x12\x20\n\x0bdescriptio\
6824    n\x18\x02\x20\x01(\tR\x0bdescription\x12@\n\x04mode\x18\x03\x20\x01(\x0e\
6825    2'.google.cloud.osconfig.v1.OSPolicy.ModeR\x04modeB\x03\xe0A\x02\x12^\n\
6826    \x0fresource_groups\x18\x04\x20\x03(\x0b20.google.cloud.osconfig.v1.OSPo\
6827    licy.ResourceGroupR\x0eresourceGroupsB\x03\xe0A\x02\x12@\n\x1dallow_no_r\
6828    esource_group_match\x18\x05\x20\x01(\x08R\x19allowNoResourceGroupMatch\
6829    \x1aY\n\x0fInventoryFilter\x12'\n\ros_short_name\x18\x01\x20\x01(\tR\x0b\
6830    osShortNameB\x03\xe0A\x02\x12\x1d\n\nos_version\x18\x02\x20\x01(\tR\tosV\
6831    ersion\x1a\xe2\x20\n\x08Resource\x12\x13\n\x02id\x18\x01\x20\x01(\tR\x02\
6832    idB\x03\xe0A\x02\x12O\n\x03pkg\x18\x02\x20\x01(\x0b2;.google.cloud.oscon\
6833    fig.v1.OSPolicy.Resource.PackageResourceH\0R\x03pkg\x12`\n\nrepository\
6834    \x18\x03\x20\x01(\x0b2>.google.cloud.osconfig.v1.OSPolicy.Resource.Repos\
6835    itoryResourceH\0R\nrepository\x12N\n\x04exec\x18\x04\x20\x01(\x0b28.goog\
6836    le.cloud.osconfig.v1.OSPolicy.Resource.ExecResourceH\0R\x04exec\x12N\n\
6837    \x04file\x18\x05\x20\x01(\x0b28.google.cloud.osconfig.v1.OSPolicy.Resour\
6838    ce.FileResourceH\0R\x04file\x1a\x9e\x03\n\x04File\x12Q\n\x06remote\x18\
6839    \x01\x20\x01(\x0b27.google.cloud.osconfig.v1.OSPolicy.Resource.File.Remo\
6840    teH\0R\x06remote\x12H\n\x03gcs\x18\x02\x20\x01(\x0b24.google.cloud.oscon\
6841    fig.v1.OSPolicy.Resource.File.GcsH\0R\x03gcs\x12\x1f\n\nlocal_path\x18\
6842    \x03\x20\x01(\tH\0R\tlocalPath\x12%\n\x0eallow_insecure\x18\x04\x20\x01(\
6843    \x08R\rallowInsecure\x1aH\n\x06Remote\x12\x15\n\x03uri\x18\x01\x20\x01(\
6844    \tR\x03uriB\x03\xe0A\x02\x12'\n\x0fsha256_checksum\x18\x02\x20\x01(\tR\
6845    \x0esha256Checksum\x1a_\n\x03Gcs\x12\x1b\n\x06bucket\x18\x01\x20\x01(\tR\
6846    \x06bucketB\x03\xe0A\x02\x12\x1b\n\x06object\x18\x02\x20\x01(\tR\x06obje\
6847    ctB\x03\xe0A\x02\x12\x1e\n\ngeneration\x18\x03\x20\x01(\x03R\ngeneration\
6848    B\x06\n\x04type\x1a\xa9\n\n\x0fPackageResource\x12r\n\rdesired_state\x18\
6849    \x01\x20\x01(\x0e2H.google.cloud.osconfig.v1.OSPolicy.Resource.PackageRe\
6850    source.DesiredStateR\x0cdesiredStateB\x03\xe0A\x02\x12S\n\x03apt\x18\x02\
6851    \x20\x01(\x0b2?.google.cloud.osconfig.v1.OSPolicy.Resource.PackageResour\
6852    ce.APTH\0R\x03apt\x12S\n\x03deb\x18\x03\x20\x01(\x0b2?.google.cloud.osco\
6853    nfig.v1.OSPolicy.Resource.PackageResource.DebH\0R\x03deb\x12S\n\x03yum\
6854    \x18\x04\x20\x01(\x0b2?.google.cloud.osconfig.v1.OSPolicy.Resource.Packa\
6855    geResource.YUMH\0R\x03yum\x12\\\n\x06zypper\x18\x05\x20\x01(\x0b2B.googl\
6856    e.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.ZypperH\0R\x06zypp\
6857    er\x12S\n\x03rpm\x18\x06\x20\x01(\x0b2?.google.cloud.osconfig.v1.OSPolic\
6858    y.Resource.PackageResource.RPMH\0R\x03rpm\x12\\\n\x06googet\x18\x07\x20\
6859    \x01(\x0b2B.google.cloud.osconfig.v1.OSPolicy.Resource.PackageResource.G\
6860    ooGetH\0R\x06googet\x12S\n\x03msi\x18\x08\x20\x01(\x0b2?.google.cloud.os\
6861    config.v1.OSPolicy.Resource.PackageResource.MSIH\0R\x03msi\x1aq\n\x03Deb\
6862    \x12M\n\x06source\x18\x01\x20\x01(\x0b20.google.cloud.osconfig.v1.OSPoli\
6863    cy.Resource.FileR\x06sourceB\x03\xe0A\x02\x12\x1b\n\tpull_deps\x18\x02\
6864    \x20\x01(\x08R\x08pullDeps\x1a\x1e\n\x03APT\x12\x17\n\x04name\x18\x01\
6865    \x20\x01(\tR\x04nameB\x03\xe0A\x02\x1aq\n\x03RPM\x12M\n\x06source\x18\
6866    \x01\x20\x01(\x0b20.google.cloud.osconfig.v1.OSPolicy.Resource.FileR\x06\
6867    sourceB\x03\xe0A\x02\x12\x1b\n\tpull_deps\x18\x02\x20\x01(\x08R\x08pullD\
6868    eps\x1a\x1e\n\x03YUM\x12\x17\n\x04name\x18\x01\x20\x01(\tR\x04nameB\x03\
6869    \xe0A\x02\x1a!\n\x06Zypper\x12\x17\n\x04name\x18\x01\x20\x01(\tR\x04name\
6870    B\x03\xe0A\x02\x1a!\n\x06GooGet\x12\x17\n\x04name\x18\x01\x20\x01(\tR\
6871    \x04nameB\x03\xe0A\x02\x1at\n\x03MSI\x12M\n\x06source\x18\x01\x20\x01(\
6872    \x0b20.google.cloud.osconfig.v1.OSPolicy.Resource.FileR\x06sourceB\x03\
6873    \xe0A\x02\x12\x1e\n\nproperties\x18\x02\x20\x03(\tR\nproperties\"I\n\x0c\
6874    DesiredState\x12\x1d\n\x19DESIRED_STATE_UNSPECIFIED\x10\0\x12\r\n\tINSTA\
6875    LLED\x10\x01\x12\x0b\n\x07REMOVED\x10\x02B\x10\n\x0esystem_package\x1a\
6876    \xd7\x08\n\x12RepositoryResource\x12`\n\x03apt\x18\x01\x20\x01(\x0b2L.go\
6877    ogle.cloud.osconfig.v1.OSPolicy.Resource.RepositoryResource.AptRepositor\
6878    yH\0R\x03apt\x12`\n\x03yum\x18\x02\x20\x01(\x0b2L.google.cloud.osconfig.\
6879    v1.OSPolicy.Resource.RepositoryResource.YumRepositoryH\0R\x03yum\x12i\n\
6880    \x06zypper\x18\x03\x20\x01(\x0b2O.google.cloud.osconfig.v1.OSPolicy.Reso\
6881    urce.RepositoryResource.ZypperRepositoryH\0R\x06zypper\x12`\n\x03goo\x18\
6882    \x04\x20\x01(\x0b2L.google.cloud.osconfig.v1.OSPolicy.Resource.Repositor\
6883    yResource.GooRepositoryH\0R\x03goo\x1a\xd3\x02\n\rAptRepository\x12\x80\
6884    \x01\n\x0carchive_type\x18\x01\x20\x01(\x0e2X.google.cloud.osconfig.v1.O\
6885    SPolicy.Resource.RepositoryResource.AptRepository.ArchiveTypeR\x0barchiv\
6886    eTypeB\x03\xe0A\x02\x12\x15\n\x03uri\x18\x02\x20\x01(\tR\x03uriB\x03\xe0\
6887    A\x02\x12'\n\x0cdistribution\x18\x03\x20\x01(\tR\x0cdistributionB\x03\
6888    \xe0A\x02\x12#\n\ncomponents\x18\x04\x20\x03(\tR\ncomponentsB\x03\xe0A\
6889    \x02\x12\x17\n\x07gpg_key\x18\x05\x20\x01(\tR\x06gpgKey\"A\n\x0bArchiveT\
6890    ype\x12\x1c\n\x18ARCHIVE_TYPE_UNSPECIFIED\x10\0\x12\x07\n\x03DEB\x10\x01\
6891    \x12\x0b\n\x07DEB_SRC\x10\x02\x1a\x82\x01\n\rYumRepository\x12\x13\n\x02\
6892    id\x18\x01\x20\x01(\tR\x02idB\x03\xe0A\x02\x12!\n\x0cdisplay_name\x18\
6893    \x02\x20\x01(\tR\x0bdisplayName\x12\x1e\n\x08base_url\x18\x03\x20\x01(\t\
6894    R\x07baseUrlB\x03\xe0A\x02\x12\x19\n\x08gpg_keys\x18\x04\x20\x03(\tR\x07\
6895    gpgKeys\x1a\x85\x01\n\x10ZypperRepository\x12\x13\n\x02id\x18\x01\x20\
6896    \x01(\tR\x02idB\x03\xe0A\x02\x12!\n\x0cdisplay_name\x18\x02\x20\x01(\tR\
6897    \x0bdisplayName\x12\x1e\n\x08base_url\x18\x03\x20\x01(\tR\x07baseUrlB\
6898    \x03\xe0A\x02\x12\x19\n\x08gpg_keys\x18\x04\x20\x03(\tR\x07gpgKeys\x1a?\
6899    \n\rGooRepository\x12\x17\n\x04name\x18\x01\x20\x01(\tR\x04nameB\x03\xe0\
6900    A\x02\x12\x15\n\x03url\x18\x02\x20\x01(\tR\x03urlB\x03\xe0A\x02B\x0c\n\n\
6901    repository\x1a\xbd\x04\n\x0cExecResource\x12^\n\x08validate\x18\x01\x20\
6902    \x01(\x0b2=.google.cloud.osconfig.v1.OSPolicy.Resource.ExecResource.Exec\
6903    R\x08validateB\x03\xe0A\x02\x12W\n\x07enforce\x18\x02\x20\x01(\x0b2=.goo\
6904    gle.cloud.osconfig.v1.OSPolicy.Resource.ExecResource.ExecR\x07enforce\
6905    \x1a\xf3\x02\n\x04Exec\x12F\n\x04file\x18\x01\x20\x01(\x0b20.google.clou\
6906    d.osconfig.v1.OSPolicy.Resource.FileH\0R\x04file\x12\x18\n\x06script\x18\
6907    \x02\x20\x01(\tH\0R\x06script\x12\x12\n\x04args\x18\x03\x20\x03(\tR\x04a\
6908    rgs\x12p\n\x0binterpreter\x18\x04\x20\x01(\x0e2I.google.cloud.osconfig.v\
6909    1.OSPolicy.Resource.ExecResource.Exec.InterpreterR\x0binterpreterB\x03\
6910    \xe0A\x02\x12(\n\x10output_file_path\x18\x05\x20\x01(\tR\x0eoutputFilePa\
6911    th\"O\n\x0bInterpreter\x12\x1b\n\x17INTERPRETER_UNSPECIFIED\x10\0\x12\
6912    \x08\n\x04NONE\x10\x01\x12\t\n\x05SHELL\x10\x02\x12\x0e\n\nPOWERSHELL\
6913    \x10\x03B\x08\n\x06source\x1a\xf5\x02\n\x0cFileResource\x12F\n\x04file\
6914    \x18\x01\x20\x01(\x0b20.google.cloud.osconfig.v1.OSPolicy.Resource.FileH\
6915    \0R\x04file\x12\x1a\n\x07content\x18\x02\x20\x01(\tH\0R\x07content\x12\
6916    \x17\n\x04path\x18\x03\x20\x01(\tR\x04pathB\x03\xe0A\x02\x12`\n\x05state\
6917    \x18\x04\x20\x01(\x0e2E.google.cloud.osconfig.v1.OSPolicy.Resource.FileR\
6918    esource.DesiredStateR\x05stateB\x03\xe0A\x02\x12\x20\n\x0bpermissions\
6919    \x18\x05\x20\x01(\tR\x0bpermissions\"Z\n\x0cDesiredState\x12\x1d\n\x19DE\
6920    SIRED_STATE_UNSPECIFIED\x10\0\x12\x0b\n\x07PRESENT\x10\x01\x12\n\n\x06AB\
6921    SENT\x10\x02\x12\x12\n\x0eCONTENTS_MATCH\x10\x03B\x08\n\x06sourceB\x0f\n\
6922    \rresource_type\x1a\xc0\x01\n\rResourceGroup\x12_\n\x11inventory_filters\
6923    \x18\x01\x20\x03(\x0b22.google.cloud.osconfig.v1.OSPolicy.InventoryFilte\
6924    rR\x10inventoryFilters\x12N\n\tresources\x18\x02\x20\x03(\x0b2+.google.c\
6925    loud.osconfig.v1.OSPolicy.ResourceR\tresourcesB\x03\xe0A\x02\"=\n\x04Mod\
6926    e\x12\x14\n\x10MODE_UNSPECIFIED\x10\0\x12\x0e\n\nVALIDATION\x10\x01\x12\
6927    \x0f\n\x0bENFORCEMENT\x10\x02B\xbd\x01\n\x1ccom.google.cloud.osconfig.v1\
6928    B\rOsPolicyProtoP\x01Z8cloud.google.com/go/osconfig/apiv1/osconfigpb;osc\
6929    onfigpb\xaa\x02\x18Google.Cloud.OsConfig.V1\xca\x02\x18Google\\Cloud\\Os\
6930    Config\\V1\xea\x02\x1bGoogle::Cloud::OsConfig::V1J\xed\xae\x01\n\x07\x12\
6931    \x05\x0e\0\xa3\x04\x01\n\xbc\x04\n\x01\x0c\x12\x03\x0e\0\x122\xb1\x04\
6932    \x20Copyright\x202021\x20Google\x20LLC\n\n\x20Licensed\x20under\x20the\
6933    \x20Apache\x20License,\x20Version\x202.0\x20(the\x20\"License\");\n\x20y\
6934    ou\x20may\x20not\x20use\x20this\x20file\x20except\x20in\x20compliance\
6935    \x20with\x20the\x20License.\n\x20You\x20may\x20obtain\x20a\x20copy\x20of\
6936    \x20the\x20License\x20at\n\n\x20\x20\x20\x20\x20http://www.apache.org/li\
6937    censes/LICENSE-2.0\n\n\x20Unless\x20required\x20by\x20applicable\x20law\
6938    \x20or\x20agreed\x20to\x20in\x20writing,\x20software\n\x20distributed\
6939    \x20under\x20the\x20License\x20is\x20distributed\x20on\x20an\x20\"AS\x20\
6940    IS\"\x20BASIS,\n\x20WITHOUT\x20WARRANTIES\x20OR\x20CONDITIONS\x20OF\x20A\
6941    NY\x20KIND,\x20either\x20express\x20or\x20implied.\n\x20See\x20the\x20Li\
6942    cense\x20for\x20the\x20specific\x20language\x20governing\x20permissions\
6943    \x20and\n\x20limitations\x20under\x20the\x20License.\n\n\x08\n\x01\x02\
6944    \x12\x03\x10\0!\n\t\n\x02\x03\0\x12\x03\x12\0)\n\x08\n\x01\x08\x12\x03\
6945    \x14\05\n\t\n\x02\x08%\x12\x03\x14\05\n\x08\n\x01\x08\x12\x03\x15\0O\n\t\
6946    \n\x02\x08\x0b\x12\x03\x15\0O\n\x08\n\x01\x08\x12\x03\x16\0\"\n\t\n\x02\
6947    \x08\n\x12\x03\x16\0\"\n\x08\n\x01\x08\x12\x03\x17\0.\n\t\n\x02\x08\x08\
6948    \x12\x03\x17\0.\n\x08\n\x01\x08\x12\x03\x18\05\n\t\n\x02\x08\x01\x12\x03\
6949    \x18\05\n\x08\n\x01\x08\x12\x03\x19\05\n\t\n\x02\x08)\x12\x03\x19\05\n\
6950    \x08\n\x01\x08\x12\x03\x1a\04\n\t\n\x02\x08-\x12\x03\x1a\04\nM\n\x02\x04\
6951    \0\x12\x05\x1d\0\xa3\x04\x01\x1a@\x20An\x20OS\x20policy\x20defines\x20th\
6952    e\x20desired\x20state\x20configuration\x20for\x20a\x20VM.\n\n\n\n\x03\
6953    \x04\0\x01\x12\x03\x1d\x08\x10\n\x1b\n\x04\x04\0\x04\0\x12\x04\x1f\x02+\
6954    \x03\x1a\r\x20Policy\x20mode\n\n\x0c\n\x05\x04\0\x04\0\x01\x12\x03\x1f\
6955    \x07\x0b\n\x1d\n\x06\x04\0\x04\0\x02\0\x12\x03!\x04\x19\x1a\x0e\x20Inval\
6956    id\x20mode\n\n\x0e\n\x07\x04\0\x04\0\x02\0\x01\x12\x03!\x04\x14\n\x0e\n\
6957    \x07\x04\0\x04\0\x02\0\x02\x12\x03!\x17\x18\n\xd6\x01\n\x06\x04\0\x04\0\
6958    \x02\x01\x12\x03&\x04\x13\x1a\xc6\x01\x20This\x20mode\x20checks\x20if\
6959    \x20the\x20configuration\x20resources\x20in\x20the\x20policy\x20are\x20i\
6960    n\n\x20their\x20desired\x20state.\x20No\x20actions\x20are\x20performed\
6961    \x20if\x20they\x20are\x20not\x20in\x20the\n\x20desired\x20state.\x20This\
6962    \x20mode\x20is\x20used\x20for\x20reporting\x20purposes.\n\n\x0e\n\x07\
6963    \x04\0\x04\0\x02\x01\x01\x12\x03&\x04\x0e\n\x0e\n\x07\x04\0\x04\0\x02\
6964    \x01\x02\x12\x03&\x11\x12\n\x94\x01\n\x06\x04\0\x04\0\x02\x02\x12\x03*\
6965    \x04\x14\x1a\x84\x01\x20This\x20mode\x20checks\x20if\x20the\x20configura\
6966    tion\x20resources\x20in\x20the\x20policy\x20are\x20in\n\x20their\x20desi\
6967    red\x20state,\x20and\x20if\x20not,\x20enforces\x20the\x20desired\x20stat\
6968    e.\n\n\x0e\n\x07\x04\0\x04\0\x02\x02\x01\x12\x03*\x04\x0f\n\x0e\n\x07\
6969    \x04\0\x04\0\x02\x02\x02\x12\x03*\x12\x13\nL\n\x04\x04\0\x03\0\x12\x04.\
6970    \x02:\x03\x1a>\x20Filtering\x20criteria\x20to\x20select\x20VMs\x20based\
6971    \x20on\x20inventory\x20details.\n\n\x0c\n\x05\x04\0\x03\0\x01\x12\x03.\n\
6972    \x19\n,\n\x06\x04\0\x03\0\x02\0\x12\x030\x04F\x1a\x1d\x20Required.\x20Th\
6973    e\x20OS\x20short\x20name\n\n\x0e\n\x07\x04\0\x03\0\x02\0\x05\x12\x030\
6974    \x04\n\n\x0e\n\x07\x04\0\x03\0\x02\0\x01\x12\x030\x0b\x18\n\x0e\n\x07\
6975    \x04\0\x03\0\x02\0\x03\x12\x030\x1b\x1c\n\x0e\n\x07\x04\0\x03\0\x02\0\
6976    \x08\x12\x030\x1dE\n\x11\n\n\x04\0\x03\0\x02\0\x08\x9c\x08\0\x12\x030\
6977    \x1eD\n\x8f\x02\n\x06\x04\0\x03\0\x02\x01\x12\x039\x04\x1a\x1a\xff\x01\
6978    \x20The\x20OS\x20version\n\n\x20Prefix\x20matches\x20are\x20supported\
6979    \x20if\x20asterisk(*)\x20is\x20provided\x20as\x20the\n\x20last\x20charac\
6980    ter.\x20For\x20example,\x20to\x20match\x20all\x20versions\x20with\x20a\
6981    \x20major\n\x20version\x20of\x20`7`,\x20specify\x20the\x20following\x20v\
6982    alue\x20for\x20this\x20field\x20`7.*`\n\n\x20An\x20empty\x20string\x20ma\
6983    tches\x20all\x20OS\x20versions.\n\n\x0e\n\x07\x04\0\x03\0\x02\x01\x05\
6984    \x12\x039\x04\n\n\x0e\n\x07\x04\0\x03\0\x02\x01\x01\x12\x039\x0b\x15\n\
6985    \x0e\n\x07\x04\0\x03\0\x02\x01\x03\x12\x039\x18\x19\n\xce\x02\n\x04\x04\
6986    \0\x03\x01\x12\x05B\x02\xe4\x03\x03\x1a\xbe\x02\x20An\x20OS\x20policy\
6987    \x20resource\x20is\x20used\x20to\x20define\x20the\x20desired\x20state\
6988    \x20configuration\n\x20and\x20provides\x20a\x20specific\x20functionality\
6989    \x20like\x20installing/removing\x20packages,\n\x20executing\x20a\x20scri\
6990    pt\x20etc.\n\n\x20The\x20system\x20ensures\x20that\x20resources\x20are\
6991    \x20always\x20in\x20their\x20desired\x20state\x20by\n\x20taking\x20neces\
6992    sary\x20actions\x20if\x20they\x20have\x20drifted\x20from\x20their\x20des\
6993    ired\x20state.\n\n\x0c\n\x05\x04\0\x03\x01\x01\x12\x03B\n\x12\n)\n\x06\
6994    \x04\0\x03\x01\x03\0\x12\x04D\x04m\x05\x1a\x19\x20A\x20remote\x20or\x20l\
6995    ocal\x20file.\n\n\x0e\n\x07\x04\0\x03\x01\x03\0\x01\x12\x03D\x0c\x10\n<\
6996    \n\x08\x04\0\x03\x01\x03\0\x03\0\x12\x04F\x06M\x07\x1a*\x20Specifies\x20\
6997    a\x20file\x20available\x20via\x20some\x20URI.\n\n\x10\n\t\x04\0\x03\x01\
6998    \x03\0\x03\0\x01\x12\x03F\x0e\x14\n\xa1\x01\n\n\x04\0\x03\x01\x03\0\x03\
6999    \0\x02\0\x12\x03I\x08@\x1a\x8d\x01\x20Required.\x20URI\x20from\x20which\
7000    \x20to\x20fetch\x20the\x20object.\x20It\x20should\x20contain\x20both\n\
7001    \x20the\x20protocol\x20and\x20path\x20following\x20the\x20format\x20`{pr\
7002    otocol}://{location}`.\n\n\x12\n\x0b\x04\0\x03\x01\x03\0\x03\0\x02\0\x05\
7003    \x12\x03I\x08\x0e\n\x12\n\x0b\x04\0\x03\x01\x03\0\x03\0\x02\0\x01\x12\
7004    \x03I\x0f\x12\n\x12\n\x0b\x04\0\x03\x01\x03\0\x03\0\x02\0\x03\x12\x03I\
7005    \x15\x16\n\x12\n\x0b\x04\0\x03\x01\x03\0\x03\0\x02\0\x08\x12\x03I\x17?\n\
7006    \x15\n\x0e\x04\0\x03\x01\x03\0\x03\0\x02\0\x08\x9c\x08\0\x12\x03I\x18>\n\
7007    8\n\n\x04\0\x03\x01\x03\0\x03\0\x02\x01\x12\x03L\x08#\x1a%\x20SHA256\x20\
7008    checksum\x20of\x20the\x20remote\x20file.\n\n\x12\n\x0b\x04\0\x03\x01\x03\
7009    \0\x03\0\x02\x01\x05\x12\x03L\x08\x0e\n\x12\n\x0b\x04\0\x03\x01\x03\0\
7010    \x03\0\x02\x01\x01\x12\x03L\x0f\x1e\n\x12\n\x0b\x04\0\x03\x01\x03\0\x03\
7011    \0\x02\x01\x03\x12\x03L!\"\nI\n\x08\x04\0\x03\x01\x03\0\x03\x01\x12\x04P\
7012    \x06Y\x07\x1a7\x20Specifies\x20a\x20file\x20available\x20as\x20a\x20Clou\
7013    d\x20Storage\x20Object.\n\n\x10\n\t\x04\0\x03\x01\x03\0\x03\x01\x01\x12\
7014    \x03P\x0e\x11\nB\n\n\x04\0\x03\x01\x03\0\x03\x01\x02\0\x12\x03R\x08C\x1a\
7015    /\x20Required.\x20Bucket\x20of\x20the\x20Cloud\x20Storage\x20object.\n\n\
7016    \x12\n\x0b\x04\0\x03\x01\x03\0\x03\x01\x02\0\x05\x12\x03R\x08\x0e\n\x12\
7017    \n\x0b\x04\0\x03\x01\x03\0\x03\x01\x02\0\x01\x12\x03R\x0f\x15\n\x12\n\
7018    \x0b\x04\0\x03\x01\x03\0\x03\x01\x02\0\x03\x12\x03R\x18\x19\n\x12\n\x0b\
7019    \x04\0\x03\x01\x03\0\x03\x01\x02\0\x08\x12\x03R\x1aB\n\x15\n\x0e\x04\0\
7020    \x03\x01\x03\0\x03\x01\x02\0\x08\x9c\x08\0\x12\x03R\x1bA\n@\n\n\x04\0\
7021    \x03\x01\x03\0\x03\x01\x02\x01\x12\x03U\x08C\x1a-\x20Required.\x20Name\
7022    \x20of\x20the\x20Cloud\x20Storage\x20object.\n\n\x12\n\x0b\x04\0\x03\x01\
7023    \x03\0\x03\x01\x02\x01\x05\x12\x03U\x08\x0e\n\x12\n\x0b\x04\0\x03\x01\
7024    \x03\0\x03\x01\x02\x01\x01\x12\x03U\x0f\x15\n\x12\n\x0b\x04\0\x03\x01\
7025    \x03\0\x03\x01\x02\x01\x03\x12\x03U\x18\x19\n\x12\n\x0b\x04\0\x03\x01\
7026    \x03\0\x03\x01\x02\x01\x08\x12\x03U\x1aB\n\x15\n\x0e\x04\0\x03\x01\x03\0\
7027    \x03\x01\x02\x01\x08\x9c\x08\0\x12\x03U\x1bA\nC\n\n\x04\0\x03\x01\x03\0\
7028    \x03\x01\x02\x02\x12\x03X\x08\x1d\x1a0\x20Generation\x20number\x20of\x20\
7029    the\x20Cloud\x20Storage\x20object.\n\n\x12\n\x0b\x04\0\x03\x01\x03\0\x03\
7030    \x01\x02\x02\x05\x12\x03X\x08\r\n\x12\n\x0b\x04\0\x03\x01\x03\0\x03\x01\
7031    \x02\x02\x01\x12\x03X\x0e\x18\n\x12\n\x0b\x04\0\x03\x01\x03\0\x03\x01\
7032    \x02\x02\x03\x12\x03X\x1b\x1c\n,\n\x08\x04\0\x03\x01\x03\0\x08\0\x12\x04\
7033    \\\x06e\x07\x1a\x1a\x20A\x20specific\x20type\x20of\x20file.\n\n\x10\n\t\
7034    \x04\0\x03\x01\x03\0\x08\0\x01\x12\x03\\\x0c\x10\n)\n\x08\x04\0\x03\x01\
7035    \x03\0\x02\0\x12\x03^\x08\x1a\x1a\x18\x20A\x20generic\x20remote\x20file.\
7036    \n\n\x10\n\t\x04\0\x03\x01\x03\0\x02\0\x06\x12\x03^\x08\x0e\n\x10\n\t\
7037    \x04\0\x03\x01\x03\0\x02\0\x01\x12\x03^\x0f\x15\n\x10\n\t\x04\0\x03\x01\
7038    \x03\0\x02\0\x03\x12\x03^\x18\x19\n*\n\x08\x04\0\x03\x01\x03\0\x02\x01\
7039    \x12\x03a\x08\x14\x1a\x19\x20A\x20Cloud\x20Storage\x20object.\n\n\x10\n\
7040    \t\x04\0\x03\x01\x03\0\x02\x01\x06\x12\x03a\x08\x0b\n\x10\n\t\x04\0\x03\
7041    \x01\x03\0\x02\x01\x01\x12\x03a\x0c\x0f\n\x10\n\t\x04\0\x03\x01\x03\0\
7042    \x02\x01\x03\x12\x03a\x12\x13\n5\n\x08\x04\0\x03\x01\x03\0\x02\x02\x12\
7043    \x03d\x08\x1e\x1a$\x20A\x20local\x20path\x20within\x20the\x20VM\x20to\
7044    \x20use.\n\n\x10\n\t\x04\0\x03\x01\x03\0\x02\x02\x05\x12\x03d\x08\x0e\n\
7045    \x10\n\t\x04\0\x03\x01\x03\0\x02\x02\x01\x12\x03d\x0f\x19\n\x10\n\t\x04\
7046    \0\x03\x01\x03\0\x02\x02\x03\x12\x03d\x1c\x1d\n\xd3\x01\n\x08\x04\0\x03\
7047    \x01\x03\0\x02\x03\x12\x03l\x06\x1e\x1a\xc1\x01\x20Defaults\x20to\x20fal\
7048    se.\x20When\x20false,\x20files\x20are\x20subject\x20to\x20validations\n\
7049    \x20based\x20on\x20the\x20file\x20type:\n\n\x20Remote:\x20A\x20checksum\
7050    \x20must\x20be\x20specified.\n\x20Cloud\x20Storage:\x20An\x20object\x20g\
7051    eneration\x20number\x20must\x20be\x20specified.\n\n\x10\n\t\x04\0\x03\
7052    \x01\x03\0\x02\x03\x05\x12\x03l\x06\n\n\x10\n\t\x04\0\x03\x01\x03\0\x02\
7053    \x03\x01\x12\x03l\x0b\x19\n\x10\n\t\x04\0\x03\x01\x03\0\x02\x03\x03\x12\
7054    \x03l\x1c\x1d\n<\n\x06\x04\0\x03\x01\x03\x01\x12\x05p\x04\xdc\x01\x05\
7055    \x1a+\x20A\x20resource\x20that\x20manages\x20a\x20system\x20package.\n\n\
7056    \x0e\n\x07\x04\0\x03\x01\x03\x01\x01\x12\x03p\x0c\x1b\nS\n\x08\x04\0\x03\
7057    \x01\x03\x01\x04\0\x12\x04r\x06|\x07\x1aA\x20The\x20desired\x20state\x20\
7058    that\x20the\x20OS\x20Config\x20agent\x20maintains\x20on\x20the\x20VM.\n\
7059    \n\x10\n\t\x04\0\x03\x01\x03\x01\x04\0\x01\x12\x03r\x0b\x17\n,\n\n\x04\0\
7060    \x03\x01\x03\x01\x04\0\x02\0\x12\x03t\x08&\x1a\x19\x20Unspecified\x20is\
7061    \x20invalid.\n\n\x12\n\x0b\x04\0\x03\x01\x03\x01\x04\0\x02\0\x01\x12\x03\
7062    t\x08!\n\x12\n\x0b\x04\0\x03\x01\x03\x01\x04\0\x02\0\x02\x12\x03t$%\n:\n\
7063    \n\x04\0\x03\x01\x03\x01\x04\0\x02\x01\x12\x03w\x08\x16\x1a'\x20Ensure\
7064    \x20that\x20the\x20package\x20is\x20installed.\n\n\x12\n\x0b\x04\0\x03\
7065    \x01\x03\x01\x04\0\x02\x01\x01\x12\x03w\x08\x11\n\x12\n\x0b\x04\0\x03\
7066    \x01\x03\x01\x04\0\x02\x01\x02\x12\x03w\x14\x15\nh\n\n\x04\0\x03\x01\x03\
7067    \x01\x04\0\x02\x02\x12\x03{\x08\x14\x1aU\x20The\x20agent\x20ensures\x20t\
7068    hat\x20the\x20package\x20is\x20not\x20installed\x20and\n\x20uninstalls\
7069    \x20it\x20if\x20detected.\n\n\x12\n\x0b\x04\0\x03\x01\x03\x01\x04\0\x02\
7070    \x02\x01\x12\x03{\x08\x0f\n\x12\n\x0b\x04\0\x03\x01\x03\x01\x04\0\x02\
7071    \x02\x02\x12\x03{\x12\x13\nT\n\x08\x04\0\x03\x01\x03\x01\x03\0\x12\x05\
7072    \x7f\x06\x88\x01\x07\x1aA\x20A\x20deb\x20package\x20file.\x20dpkg\x20pac\
7073    kages\x20only\x20support\x20INSTALLED\x20state.\n\n\x10\n\t\x04\0\x03\
7074    \x01\x03\x01\x03\0\x01\x12\x03\x7f\x0e\x11\n.\n\n\x04\0\x03\x01\x03\x01\
7075    \x03\0\x02\0\x12\x04\x81\x01\x08A\x1a\x1a\x20Required.\x20A\x20deb\x20pa\
7076    ckage.\n\n\x13\n\x0b\x04\0\x03\x01\x03\x01\x03\0\x02\0\x06\x12\x04\x81\
7077    \x01\x08\x0c\n\x13\n\x0b\x04\0\x03\x01\x03\x01\x03\0\x02\0\x01\x12\x04\
7078    \x81\x01\r\x13\n\x13\n\x0b\x04\0\x03\x01\x03\x01\x03\0\x02\0\x03\x12\x04\
7079    \x81\x01\x16\x17\n\x13\n\x0b\x04\0\x03\x01\x03\x01\x03\0\x02\0\x08\x12\
7080    \x04\x81\x01\x18@\n\x16\n\x0e\x04\0\x03\x01\x03\x01\x03\0\x02\0\x08\x9c\
7081    \x08\0\x12\x04\x81\x01\x19?\n\xb8\x01\n\n\x04\0\x03\x01\x03\x01\x03\0\
7082    \x02\x01\x12\x04\x87\x01\x08\x1b\x1a\xa3\x01\x20Whether\x20dependencies\
7083    \x20should\x20also\x20be\x20installed.\n\x20-\x20install\x20when\x20fals\
7084    e:\x20`dpkg\x20-i\x20package`\n\x20-\x20install\x20when\x20true:\x20`apt\
7085    -get\x20update\x20&&\x20apt-get\x20-y\x20install\n\x20package.deb`\n\n\
7086    \x13\n\x0b\x04\0\x03\x01\x03\x01\x03\0\x02\x01\x05\x12\x04\x87\x01\x08\
7087    \x0c\n\x13\n\x0b\x04\0\x03\x01\x03\x01\x03\0\x02\x01\x01\x12\x04\x87\x01\
7088    \r\x16\n\x13\n\x0b\x04\0\x03\x01\x03\x01\x03\0\x02\x01\x03\x12\x04\x87\
7089    \x01\x19\x1a\n\x8f\x01\n\x08\x04\0\x03\x01\x03\x01\x03\x01\x12\x06\x8d\
7090    \x01\x06\x90\x01\x07\x1a{\x20A\x20package\x20managed\x20by\x20APT.\n\x20\
7091    -\x20install:\x20`apt-get\x20update\x20&&\x20apt-get\x20-y\x20install\
7092    \x20[name]`\n\x20-\x20remove:\x20`apt-get\x20-y\x20remove\x20[name]`\n\n\
7093    \x11\n\t\x04\0\x03\x01\x03\x01\x03\x01\x01\x12\x04\x8d\x01\x0e\x11\n-\n\
7094    \n\x04\0\x03\x01\x03\x01\x03\x01\x02\0\x12\x04\x8f\x01\x08A\x1a\x19\x20R\
7095    equired.\x20Package\x20name.\n\n\x13\n\x0b\x04\0\x03\x01\x03\x01\x03\x01\
7096    \x02\0\x05\x12\x04\x8f\x01\x08\x0e\n\x13\n\x0b\x04\0\x03\x01\x03\x01\x03\
7097    \x01\x02\0\x01\x12\x04\x8f\x01\x0f\x13\n\x13\n\x0b\x04\0\x03\x01\x03\x01\
7098    \x03\x01\x02\0\x03\x12\x04\x8f\x01\x16\x17\n\x13\n\x0b\x04\0\x03\x01\x03\
7099    \x01\x03\x01\x02\0\x08\x12\x04\x8f\x01\x18@\n\x16\n\x0e\x04\0\x03\x01\
7100    \x03\x01\x03\x01\x02\0\x08\x9c\x08\0\x12\x04\x8f\x01\x19?\nU\n\x08\x04\0\
7101    \x03\x01\x03\x01\x03\x02\x12\x06\x93\x01\x06\x9c\x01\x07\x1aA\x20An\x20R\
7102    PM\x20package\x20file.\x20RPM\x20packages\x20only\x20support\x20INSTALLE\
7103    D\x20state.\n\n\x11\n\t\x04\0\x03\x01\x03\x01\x03\x02\x01\x12\x04\x93\
7104    \x01\x0e\x11\n/\n\n\x04\0\x03\x01\x03\x01\x03\x02\x02\0\x12\x04\x95\x01\
7105    \x08A\x1a\x1b\x20Required.\x20An\x20rpm\x20package.\n\n\x13\n\x0b\x04\0\
7106    \x03\x01\x03\x01\x03\x02\x02\0\x06\x12\x04\x95\x01\x08\x0c\n\x13\n\x0b\
7107    \x04\0\x03\x01\x03\x01\x03\x02\x02\0\x01\x12\x04\x95\x01\r\x13\n\x13\n\
7108    \x0b\x04\0\x03\x01\x03\x01\x03\x02\x02\0\x03\x12\x04\x95\x01\x16\x17\n\
7109    \x13\n\x0b\x04\0\x03\x01\x03\x01\x03\x02\x02\0\x08\x12\x04\x95\x01\x18@\
7110    \n\x16\n\x0e\x04\0\x03\x01\x03\x01\x03\x02\x02\0\x08\x9c\x08\0\x12\x04\
7111    \x95\x01\x19?\n\xdd\x01\n\n\x04\0\x03\x01\x03\x01\x03\x02\x02\x01\x12\
7112    \x04\x9b\x01\x08\x1b\x1a\xc8\x01\x20Whether\x20dependencies\x20should\
7113    \x20also\x20be\x20installed.\n\x20-\x20install\x20when\x20false:\x20`rpm\
7114    \x20--upgrade\x20--replacepkgs\x20package.rpm`\n\x20-\x20install\x20when\
7115    \x20true:\x20`yum\x20-y\x20install\x20package.rpm`\x20or\n\x20`zypper\
7116    \x20-y\x20install\x20package.rpm`\n\n\x13\n\x0b\x04\0\x03\x01\x03\x01\
7117    \x03\x02\x02\x01\x05\x12\x04\x9b\x01\x08\x0c\n\x13\n\x0b\x04\0\x03\x01\
7118    \x03\x01\x03\x02\x02\x01\x01\x12\x04\x9b\x01\r\x16\n\x13\n\x0b\x04\0\x03\
7119    \x01\x03\x01\x03\x02\x02\x01\x03\x12\x04\x9b\x01\x19\x1a\nw\n\x08\x04\0\
7120    \x03\x01\x03\x01\x03\x03\x12\x06\xa1\x01\x06\xa4\x01\x07\x1ac\x20A\x20pa\
7121    ckage\x20managed\x20by\x20YUM.\n\x20-\x20install:\x20`yum\x20-y\x20insta\
7122    ll\x20package`\n\x20-\x20remove:\x20`yum\x20-y\x20remove\x20package`\n\n\
7123    \x11\n\t\x04\0\x03\x01\x03\x01\x03\x03\x01\x12\x04\xa1\x01\x0e\x11\n-\n\
7124    \n\x04\0\x03\x01\x03\x01\x03\x03\x02\0\x12\x04\xa3\x01\x08A\x1a\x19\x20R\
7125    equired.\x20Package\x20name.\n\n\x13\n\x0b\x04\0\x03\x01\x03\x01\x03\x03\
7126    \x02\0\x05\x12\x04\xa3\x01\x08\x0e\n\x13\n\x0b\x04\0\x03\x01\x03\x01\x03\
7127    \x03\x02\0\x01\x12\x04\xa3\x01\x0f\x13\n\x13\n\x0b\x04\0\x03\x01\x03\x01\
7128    \x03\x03\x02\0\x03\x12\x04\xa3\x01\x16\x17\n\x13\n\x0b\x04\0\x03\x01\x03\
7129    \x01\x03\x03\x02\0\x08\x12\x04\xa3\x01\x18@\n\x16\n\x0e\x04\0\x03\x01\
7130    \x03\x01\x03\x03\x02\0\x08\x9c\x08\0\x12\x04\xa3\x01\x19?\n|\n\x08\x04\0\
7131    \x03\x01\x03\x01\x03\x04\x12\x06\xa9\x01\x06\xac\x01\x07\x1ah\x20A\x20pa\
7132    ckage\x20managed\x20by\x20Zypper.\n\x20-\x20install:\x20`zypper\x20-y\
7133    \x20install\x20package`\n\x20-\x20remove:\x20`zypper\x20-y\x20rm\x20pack\
7134    age`\n\n\x11\n\t\x04\0\x03\x01\x03\x01\x03\x04\x01\x12\x04\xa9\x01\x0e\
7135    \x14\n-\n\n\x04\0\x03\x01\x03\x01\x03\x04\x02\0\x12\x04\xab\x01\x08A\x1a\
7136    \x19\x20Required.\x20Package\x20name.\n\n\x13\n\x0b\x04\0\x03\x01\x03\
7137    \x01\x03\x04\x02\0\x05\x12\x04\xab\x01\x08\x0e\n\x13\n\x0b\x04\0\x03\x01\
7138    \x03\x01\x03\x04\x02\0\x01\x12\x04\xab\x01\x0f\x13\n\x13\n\x0b\x04\0\x03\
7139    \x01\x03\x01\x03\x04\x02\0\x03\x12\x04\xab\x01\x16\x17\n\x13\n\x0b\x04\0\
7140    \x03\x01\x03\x01\x03\x04\x02\0\x08\x12\x04\xab\x01\x18@\n\x16\n\x0e\x04\
7141    \0\x03\x01\x03\x01\x03\x04\x02\0\x08\x9c\x08\0\x12\x04\xab\x01\x19?\n\
7142    \x90\x01\n\x08\x04\0\x03\x01\x03\x01\x03\x05\x12\x06\xb1\x01\x06\xb4\x01\
7143    \x07\x1a|\x20A\x20package\x20managed\x20by\x20GooGet.\n\x20-\x20install:\
7144    \x20`googet\x20-noconfirm\x20install\x20package`\n\x20-\x20remove:\x20`g\
7145    ooget\x20-noconfirm\x20remove\x20package`\n\n\x11\n\t\x04\0\x03\x01\x03\
7146    \x01\x03\x05\x01\x12\x04\xb1\x01\x0e\x14\n-\n\n\x04\0\x03\x01\x03\x01\
7147    \x03\x05\x02\0\x12\x04\xb3\x01\x08A\x1a\x19\x20Required.\x20Package\x20n\
7148    ame.\n\n\x13\n\x0b\x04\0\x03\x01\x03\x01\x03\x05\x02\0\x05\x12\x04\xb3\
7149    \x01\x08\x0e\n\x13\n\x0b\x04\0\x03\x01\x03\x01\x03\x05\x02\0\x01\x12\x04\
7150    \xb3\x01\x0f\x13\n\x13\n\x0b\x04\0\x03\x01\x03\x01\x03\x05\x02\0\x03\x12\
7151    \x04\xb3\x01\x16\x17\n\x13\n\x0b\x04\0\x03\x01\x03\x01\x03\x05\x02\0\x08\
7152    \x12\x04\xb3\x01\x18@\n\x16\n\x0e\x04\0\x03\x01\x03\x01\x03\x05\x02\0\
7153    \x08\x9c\x08\0\x12\x04\xb3\x01\x19?\nP\n\x08\x04\0\x03\x01\x03\x01\x03\
7154    \x06\x12\x06\xb7\x01\x06\xc0\x01\x07\x1a<\x20An\x20MSI\x20package.\x20MS\
7155    I\x20packages\x20only\x20support\x20INSTALLED\x20state.\n\n\x11\n\t\x04\
7156    \0\x03\x01\x03\x01\x03\x06\x01\x12\x04\xb7\x01\x0e\x11\n0\n\n\x04\0\x03\
7157    \x01\x03\x01\x03\x06\x02\0\x12\x04\xb9\x01\x08A\x1a\x1c\x20Required.\x20\
7158    The\x20MSI\x20package.\n\n\x13\n\x0b\x04\0\x03\x01\x03\x01\x03\x06\x02\0\
7159    \x06\x12\x04\xb9\x01\x08\x0c\n\x13\n\x0b\x04\0\x03\x01\x03\x01\x03\x06\
7160    \x02\0\x01\x12\x04\xb9\x01\r\x13\n\x13\n\x0b\x04\0\x03\x01\x03\x01\x03\
7161    \x06\x02\0\x03\x12\x04\xb9\x01\x16\x17\n\x13\n\x0b\x04\0\x03\x01\x03\x01\
7162    \x03\x06\x02\0\x08\x12\x04\xb9\x01\x18@\n\x16\n\x0e\x04\0\x03\x01\x03\
7163    \x01\x03\x06\x02\0\x08\x9c\x08\0\x12\x04\xb9\x01\x19?\n\xc1\x01\n\n\x04\
7164    \0\x03\x01\x03\x01\x03\x06\x02\x01\x12\x04\xbf\x01\x08'\x1a\xac\x01\x20A\
7165    dditional\x20properties\x20to\x20use\x20during\x20installation.\n\x20Thi\
7166    s\x20should\x20be\x20in\x20the\x20format\x20of\x20Property=Setting.\n\
7167    \x20Appended\x20to\x20the\x20defaults\x20of\x20`ACTION=INSTALL\n\x20REBO\
7168    OT=ReallySuppress`.\n\n\x13\n\x0b\x04\0\x03\x01\x03\x01\x03\x06\x02\x01\
7169    \x04\x12\x04\xbf\x01\x08\x10\n\x13\n\x0b\x04\0\x03\x01\x03\x01\x03\x06\
7170    \x02\x01\x05\x12\x04\xbf\x01\x11\x17\n\x13\n\x0b\x04\0\x03\x01\x03\x01\
7171    \x03\x06\x02\x01\x01\x12\x04\xbf\x01\x18\"\n\x13\n\x0b\x04\0\x03\x01\x03\
7172    \x01\x03\x06\x02\x01\x03\x12\x04\xbf\x01%&\n[\n\x08\x04\0\x03\x01\x03\
7173    \x01\x02\0\x12\x04\xc3\x01\x06N\x1aI\x20Required.\x20The\x20desired\x20s\
7174    tate\x20the\x20agent\x20should\x20maintain\x20for\x20this\x20package.\n\
7175    \n\x11\n\t\x04\0\x03\x01\x03\x01\x02\0\x06\x12\x04\xc3\x01\x06\x12\n\x11\
7176    \n\t\x04\0\x03\x01\x03\x01\x02\0\x01\x12\x04\xc3\x01\x13\x20\n\x11\n\t\
7177    \x04\0\x03\x01\x03\x01\x02\0\x03\x12\x04\xc3\x01#$\n\x11\n\t\x04\0\x03\
7178    \x01\x03\x01\x02\0\x08\x12\x04\xc3\x01%M\n\x14\n\x0c\x04\0\x03\x01\x03\
7179    \x01\x02\0\x08\x9c\x08\0\x12\x04\xc3\x01&L\n'\n\x08\x04\0\x03\x01\x03\
7180    \x01\x08\0\x12\x06\xc6\x01\x06\xdb\x01\x07\x1a\x13\x20A\x20system\x20pac\
7181    kage.\n\n\x11\n\t\x04\0\x03\x01\x03\x01\x08\0\x01\x12\x04\xc6\x01\x0c\
7182    \x1a\n-\n\x08\x04\0\x03\x01\x03\x01\x02\x01\x12\x04\xc8\x01\x08\x14\x1a\
7183    \x1b\x20A\x20package\x20managed\x20by\x20Apt.\n\n\x11\n\t\x04\0\x03\x01\
7184    \x03\x01\x02\x01\x06\x12\x04\xc8\x01\x08\x0b\n\x11\n\t\x04\0\x03\x01\x03\
7185    \x01\x02\x01\x01\x12\x04\xc8\x01\x0c\x0f\n\x11\n\t\x04\0\x03\x01\x03\x01\
7186    \x02\x01\x03\x12\x04\xc8\x01\x12\x13\n'\n\x08\x04\0\x03\x01\x03\x01\x02\
7187    \x02\x12\x04\xcb\x01\x08\x14\x1a\x15\x20A\x20deb\x20package\x20file.\n\n\
7188    \x11\n\t\x04\0\x03\x01\x03\x01\x02\x02\x06\x12\x04\xcb\x01\x08\x0b\n\x11\
7189    \n\t\x04\0\x03\x01\x03\x01\x02\x02\x01\x12\x04\xcb\x01\x0c\x0f\n\x11\n\t\
7190    \x04\0\x03\x01\x03\x01\x02\x02\x03\x12\x04\xcb\x01\x12\x13\n-\n\x08\x04\
7191    \0\x03\x01\x03\x01\x02\x03\x12\x04\xce\x01\x08\x14\x1a\x1b\x20A\x20packa\
7192    ge\x20managed\x20by\x20YUM.\n\n\x11\n\t\x04\0\x03\x01\x03\x01\x02\x03\
7193    \x06\x12\x04\xce\x01\x08\x0b\n\x11\n\t\x04\0\x03\x01\x03\x01\x02\x03\x01\
7194    \x12\x04\xce\x01\x0c\x0f\n\x11\n\t\x04\0\x03\x01\x03\x01\x02\x03\x03\x12\
7195    \x04\xce\x01\x12\x13\n0\n\x08\x04\0\x03\x01\x03\x01\x02\x04\x12\x04\xd1\
7196    \x01\x08\x1a\x1a\x1e\x20A\x20package\x20managed\x20by\x20Zypper.\n\n\x11\
7197    \n\t\x04\0\x03\x01\x03\x01\x02\x04\x06\x12\x04\xd1\x01\x08\x0e\n\x11\n\t\
7198    \x04\0\x03\x01\x03\x01\x02\x04\x01\x12\x04\xd1\x01\x0f\x15\n\x11\n\t\x04\
7199    \0\x03\x01\x03\x01\x02\x04\x03\x12\x04\xd1\x01\x18\x19\n(\n\x08\x04\0\
7200    \x03\x01\x03\x01\x02\x05\x12\x04\xd4\x01\x08\x14\x1a\x16\x20An\x20rpm\
7201    \x20package\x20file.\n\n\x11\n\t\x04\0\x03\x01\x03\x01\x02\x05\x06\x12\
7202    \x04\xd4\x01\x08\x0b\n\x11\n\t\x04\0\x03\x01\x03\x01\x02\x05\x01\x12\x04\
7203    \xd4\x01\x0c\x0f\n\x11\n\t\x04\0\x03\x01\x03\x01\x02\x05\x03\x12\x04\xd4\
7204    \x01\x12\x13\n0\n\x08\x04\0\x03\x01\x03\x01\x02\x06\x12\x04\xd7\x01\x08\
7205    \x1a\x1a\x1e\x20A\x20package\x20managed\x20by\x20GooGet.\n\n\x11\n\t\x04\
7206    \0\x03\x01\x03\x01\x02\x06\x06\x12\x04\xd7\x01\x08\x0e\n\x11\n\t\x04\0\
7207    \x03\x01\x03\x01\x02\x06\x01\x12\x04\xd7\x01\x0f\x15\n\x11\n\t\x04\0\x03\
7208    \x01\x03\x01\x02\x06\x03\x12\x04\xd7\x01\x18\x19\n#\n\x08\x04\0\x03\x01\
7209    \x03\x01\x02\x07\x12\x04\xda\x01\x08\x14\x1a\x11\x20An\x20MSI\x20package\
7210    .\n\n\x11\n\t\x04\0\x03\x01\x03\x01\x02\x07\x06\x12\x04\xda\x01\x08\x0b\
7211    \n\x11\n\t\x04\0\x03\x01\x03\x01\x02\x07\x01\x12\x04\xda\x01\x0c\x0f\n\
7212    \x11\n\t\x04\0\x03\x01\x03\x01\x02\x07\x03\x12\x04\xda\x01\x12\x13\nA\n\
7213    \x06\x04\0\x03\x01\x03\x02\x12\x06\xdf\x01\x04\xc3\x02\x05\x1a/\x20A\x20\
7214    resource\x20that\x20manages\x20a\x20package\x20repository.\n\n\x0f\n\x07\
7215    \x04\0\x03\x01\x03\x02\x01\x12\x04\xdf\x01\x0c\x1e\n\xaf\x01\n\x08\x04\0\
7216    \x03\x01\x03\x02\x03\0\x12\x06\xe3\x01\x06\x80\x02\x07\x1a\x9a\x01\x20Re\
7217    presents\x20a\x20single\x20apt\x20package\x20repository.\x20These\x20wil\
7218    l\x20be\x20added\x20to\n\x20a\x20repo\x20file\x20that\x20will\x20be\x20m\
7219    anaged\x20at\n\x20`/etc/apt/sources.list.d/google_osconfig.list`.\n\n\
7220    \x11\n\t\x04\0\x03\x01\x03\x02\x03\0\x01\x12\x04\xe3\x01\x0e\x1b\n(\n\n\
7221    \x04\0\x03\x01\x03\x02\x03\0\x04\0\x12\x06\xe5\x01\x08\xee\x01\t\x1a\x12\
7222    \x20Type\x20of\x20archive.\n\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\0\x04\
7223    \0\x01\x12\x04\xe5\x01\r\x18\n/\n\x0c\x04\0\x03\x01\x03\x02\x03\0\x04\0\
7224    \x02\0\x12\x04\xe7\x01\n'\x1a\x19\x20Unspecified\x20is\x20invalid.\n\n\
7225    \x15\n\r\x04\0\x03\x01\x03\x02\x03\0\x04\0\x02\0\x01\x12\x04\xe7\x01\n\"\
7226    \n\x15\n\r\x04\0\x03\x01\x03\x02\x03\0\x04\0\x02\0\x02\x12\x04\xe7\x01%&\
7227    \nM\n\x0c\x04\0\x03\x01\x03\x02\x03\0\x04\0\x02\x01\x12\x04\xea\x01\n\
7228    \x12\x1a7\x20Deb\x20indicates\x20that\x20the\x20archive\x20contains\x20b\
7229    inary\x20files.\n\n\x15\n\r\x04\0\x03\x01\x03\x02\x03\0\x04\0\x02\x01\
7230    \x01\x12\x04\xea\x01\n\r\n\x15\n\r\x04\0\x03\x01\x03\x02\x03\0\x04\0\x02\
7231    \x01\x02\x12\x04\xea\x01\x10\x11\nQ\n\x0c\x04\0\x03\x01\x03\x02\x03\0\
7232    \x04\0\x02\x02\x12\x04\xed\x01\n\x16\x1a;\x20Deb-src\x20indicates\x20tha\
7233    t\x20the\x20archive\x20contains\x20source\x20files.\n\n\x15\n\r\x04\0\
7234    \x03\x01\x03\x02\x03\0\x04\0\x02\x02\x01\x12\x04\xed\x01\n\x11\n\x15\n\r\
7235    \x04\0\x03\x01\x03\x02\x03\0\x04\0\x02\x02\x02\x12\x04\xed\x01\x14\x15\n\
7236    I\n\n\x04\0\x03\x01\x03\x02\x03\0\x02\0\x12\x04\xf1\x01\x08N\x1a5\x20Req\
7237    uired.\x20Type\x20of\x20archive\x20files\x20in\x20this\x20repository.\n\
7238    \n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\0\x02\0\x06\x12\x04\xf1\x01\x08\
7239    \x13\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\0\x02\0\x01\x12\x04\xf1\x01\
7240    \x14\x20\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\0\x02\0\x03\x12\x04\xf1\
7241    \x01#$\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\0\x02\0\x08\x12\x04\xf1\x01\
7242    %M\n\x16\n\x0e\x04\0\x03\x01\x03\x02\x03\0\x02\0\x08\x9c\x08\0\x12\x04\
7243    \xf1\x01&L\n8\n\n\x04\0\x03\x01\x03\x02\x03\0\x02\x01\x12\x04\xf4\x01\
7244    \x08@\x1a$\x20Required.\x20URI\x20for\x20this\x20repository.\n\n\x13\n\
7245    \x0b\x04\0\x03\x01\x03\x02\x03\0\x02\x01\x05\x12\x04\xf4\x01\x08\x0e\n\
7246    \x13\n\x0b\x04\0\x03\x01\x03\x02\x03\0\x02\x01\x01\x12\x04\xf4\x01\x0f\
7247    \x12\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\0\x02\x01\x03\x12\x04\xf4\x01\
7248    \x15\x16\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\0\x02\x01\x08\x12\x04\xf4\
7249    \x01\x17?\n\x16\n\x0e\x04\0\x03\x01\x03\x02\x03\0\x02\x01\x08\x9c\x08\0\
7250    \x12\x04\xf4\x01\x18>\n@\n\n\x04\0\x03\x01\x03\x02\x03\0\x02\x02\x12\x04\
7251    \xf7\x01\x08I\x1a,\x20Required.\x20Distribution\x20of\x20this\x20reposit\
7252    ory.\n\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\0\x02\x02\x05\x12\x04\xf7\
7253    \x01\x08\x0e\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\0\x02\x02\x01\x12\x04\
7254    \xf7\x01\x0f\x1b\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\0\x02\x02\x03\x12\
7255    \x04\xf7\x01\x1e\x1f\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\0\x02\x02\x08\
7256    \x12\x04\xf7\x01\x20H\n\x16\n\x0e\x04\0\x03\x01\x03\x02\x03\0\x02\x02\
7257    \x08\x9c\x08\0\x12\x04\xf7\x01!G\nh\n\n\x04\0\x03\x01\x03\x02\x03\0\x02\
7258    \x03\x12\x04\xfb\x01\x08P\x1aT\x20Required.\x20List\x20of\x20components\
7259    \x20for\x20this\x20repository.\x20Must\x20contain\x20at\n\x20least\x20on\
7260    e\x20item.\n\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\0\x02\x03\x04\x12\x04\
7261    \xfb\x01\x08\x10\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\0\x02\x03\x05\x12\
7262    \x04\xfb\x01\x11\x17\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\0\x02\x03\x01\
7263    \x12\x04\xfb\x01\x18\"\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\0\x02\x03\
7264    \x03\x12\x04\xfb\x01%&\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\0\x02\x03\
7265    \x08\x12\x04\xfb\x01'O\n\x16\n\x0e\x04\0\x03\x01\x03\x02\x03\0\x02\x03\
7266    \x08\x9c\x08\0\x12\x04\xfb\x01(N\n\x96\x01\n\n\x04\0\x03\x01\x03\x02\x03\
7267    \0\x02\x04\x12\x04\xff\x01\x08\x1b\x1a\x81\x01\x20URI\x20of\x20the\x20ke\
7268    y\x20file\x20for\x20this\x20repository.\x20The\x20agent\x20maintains\x20\
7269    a\n\x20keyring\x20at\x20`/etc/apt/trusted.gpg.d/osconfig_agent_managed.g\
7270    pg`.\n\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\0\x02\x04\x05\x12\x04\xff\
7271    \x01\x08\x0e\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\0\x02\x04\x01\x12\x04\
7272    \xff\x01\x0f\x16\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\0\x02\x04\x03\x12\
7273    \x04\xff\x01\x19\x1a\n\x9f\x01\n\x08\x04\0\x03\x01\x03\x02\x03\x01\x12\
7274    \x06\x85\x02\x06\x94\x02\x07\x1a\x8a\x01\x20Represents\x20a\x20single\
7275    \x20yum\x20package\x20repository.\x20These\x20are\x20added\x20to\x20a\n\
7276    \x20repo\x20file\x20that\x20is\x20managed\x20at\n\x20`/etc/yum.repos.d/g\
7277    oogle_osconfig.repo`.\n\n\x11\n\t\x04\0\x03\x01\x03\x02\x03\x01\x01\x12\
7278    \x04\x85\x02\x0e\x1b\n\x8c\x02\n\n\x04\0\x03\x01\x03\x02\x03\x01\x02\0\
7279    \x12\x04\x8a\x02\x08?\x1a\xf7\x01\x20Required.\x20A\x20one\x20word,\x20u\
7280    nique\x20name\x20for\x20this\x20repository.\x20This\x20is\x20\x20the\n\
7281    \x20`repo\x20id`\x20in\x20the\x20yum\x20config\x20file\x20and\x20also\
7282    \x20the\x20`display_name`\x20if\n\x20`display_name`\x20is\x20omitted.\
7283    \x20This\x20id\x20is\x20also\x20used\x20as\x20the\x20unique\n\x20identif\
7284    ier\x20when\x20checking\x20for\x20resource\x20conflicts.\n\n\x13\n\x0b\
7285    \x04\0\x03\x01\x03\x02\x03\x01\x02\0\x05\x12\x04\x8a\x02\x08\x0e\n\x13\n\
7286    \x0b\x04\0\x03\x01\x03\x02\x03\x01\x02\0\x01\x12\x04\x8a\x02\x0f\x11\n\
7287    \x13\n\x0b\x04\0\x03\x01\x03\x02\x03\x01\x02\0\x03\x12\x04\x8a\x02\x14\
7288    \x15\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\x01\x02\0\x08\x12\x04\x8a\x02\
7289    \x16>\n\x16\n\x0e\x04\0\x03\x01\x03\x02\x03\x01\x02\0\x08\x9c\x08\0\x12\
7290    \x04\x8a\x02\x17=\n9\n\n\x04\0\x03\x01\x03\x02\x03\x01\x02\x01\x12\x04\
7291    \x8d\x02\x08\x20\x1a%\x20The\x20display\x20name\x20of\x20the\x20reposito\
7292    ry.\n\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\x01\x02\x01\x05\x12\x04\x8d\
7293    \x02\x08\x0e\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\x01\x02\x01\x01\x12\
7294    \x04\x8d\x02\x0f\x1b\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\x01\x02\x01\
7295    \x03\x12\x04\x8d\x02\x1e\x1f\nI\n\n\x04\0\x03\x01\x03\x02\x03\x01\x02\
7296    \x02\x12\x04\x90\x02\x08E\x1a5\x20Required.\x20The\x20location\x20of\x20\
7297    the\x20repository\x20directory.\n\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\
7298    \x01\x02\x02\x05\x12\x04\x90\x02\x08\x0e\n\x13\n\x0b\x04\0\x03\x01\x03\
7299    \x02\x03\x01\x02\x02\x01\x12\x04\x90\x02\x0f\x17\n\x13\n\x0b\x04\0\x03\
7300    \x01\x03\x02\x03\x01\x02\x02\x03\x12\x04\x90\x02\x1a\x1b\n\x13\n\x0b\x04\
7301    \0\x03\x01\x03\x02\x03\x01\x02\x02\x08\x12\x04\x90\x02\x1cD\n\x16\n\x0e\
7302    \x04\0\x03\x01\x03\x02\x03\x01\x02\x02\x08\x9c\x08\0\x12\x04\x90\x02\x1d\
7303    C\n'\n\n\x04\0\x03\x01\x03\x02\x03\x01\x02\x03\x12\x04\x93\x02\x08%\x1a\
7304    \x13\x20URIs\x20of\x20GPG\x20keys.\n\n\x13\n\x0b\x04\0\x03\x01\x03\x02\
7305    \x03\x01\x02\x03\x04\x12\x04\x93\x02\x08\x10\n\x13\n\x0b\x04\0\x03\x01\
7306    \x03\x02\x03\x01\x02\x03\x05\x12\x04\x93\x02\x11\x17\n\x13\n\x0b\x04\0\
7307    \x03\x01\x03\x02\x03\x01\x02\x03\x01\x12\x04\x93\x02\x18\x20\n\x13\n\x0b\
7308    \x04\0\x03\x01\x03\x02\x03\x01\x02\x03\x03\x12\x04\x93\x02#$\n\xa3\x01\n\
7309    \x08\x04\0\x03\x01\x03\x02\x03\x02\x12\x06\x99\x02\x06\xa8\x02\x07\x1a\
7310    \x8e\x01\x20Represents\x20a\x20single\x20zypper\x20package\x20repository\
7311    .\x20These\x20are\x20added\x20to\x20a\n\x20repo\x20file\x20that\x20is\
7312    \x20managed\x20at\n\x20`/etc/zypp/repos.d/google_osconfig.repo`.\n\n\x11\
7313    \n\t\x04\0\x03\x01\x03\x02\x03\x02\x01\x12\x04\x99\x02\x0e\x1e\n\x91\x02\
7314    \n\n\x04\0\x03\x01\x03\x02\x03\x02\x02\0\x12\x04\x9e\x02\x08?\x1a\xfc\
7315    \x01\x20Required.\x20A\x20one\x20word,\x20unique\x20name\x20for\x20this\
7316    \x20repository.\x20This\x20is\x20the\n\x20`repo\x20id`\x20in\x20the\x20z\
7317    ypper\x20config\x20file\x20and\x20also\x20the\x20`display_name`\x20if\n\
7318    \x20`display_name`\x20is\x20omitted.\x20This\x20id\x20is\x20also\x20used\
7319    \x20as\x20the\x20unique\n\x20identifier\x20when\x20checking\x20for\x20Gu\
7320    estPolicy\x20conflicts.\n\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\x02\x02\
7321    \0\x05\x12\x04\x9e\x02\x08\x0e\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\x02\
7322    \x02\0\x01\x12\x04\x9e\x02\x0f\x11\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\
7323    \x02\x02\0\x03\x12\x04\x9e\x02\x14\x15\n\x13\n\x0b\x04\0\x03\x01\x03\x02\
7324    \x03\x02\x02\0\x08\x12\x04\x9e\x02\x16>\n\x16\n\x0e\x04\0\x03\x01\x03\
7325    \x02\x03\x02\x02\0\x08\x9c\x08\0\x12\x04\x9e\x02\x17=\n9\n\n\x04\0\x03\
7326    \x01\x03\x02\x03\x02\x02\x01\x12\x04\xa1\x02\x08\x20\x1a%\x20The\x20disp\
7327    lay\x20name\x20of\x20the\x20repository.\n\n\x13\n\x0b\x04\0\x03\x01\x03\
7328    \x02\x03\x02\x02\x01\x05\x12\x04\xa1\x02\x08\x0e\n\x13\n\x0b\x04\0\x03\
7329    \x01\x03\x02\x03\x02\x02\x01\x01\x12\x04\xa1\x02\x0f\x1b\n\x13\n\x0b\x04\
7330    \0\x03\x01\x03\x02\x03\x02\x02\x01\x03\x12\x04\xa1\x02\x1e\x1f\nI\n\n\
7331    \x04\0\x03\x01\x03\x02\x03\x02\x02\x02\x12\x04\xa4\x02\x08E\x1a5\x20Requ\
7332    ired.\x20The\x20location\x20of\x20the\x20repository\x20directory.\n\n\
7333    \x13\n\x0b\x04\0\x03\x01\x03\x02\x03\x02\x02\x02\x05\x12\x04\xa4\x02\x08\
7334    \x0e\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\x02\x02\x02\x01\x12\x04\xa4\
7335    \x02\x0f\x17\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\x02\x02\x02\x03\x12\
7336    \x04\xa4\x02\x1a\x1b\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\x02\x02\x02\
7337    \x08\x12\x04\xa4\x02\x1cD\n\x16\n\x0e\x04\0\x03\x01\x03\x02\x03\x02\x02\
7338    \x02\x08\x9c\x08\0\x12\x04\xa4\x02\x1dC\n'\n\n\x04\0\x03\x01\x03\x02\x03\
7339    \x02\x02\x03\x12\x04\xa7\x02\x08%\x1a\x13\x20URIs\x20of\x20GPG\x20keys.\
7340    \n\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\x02\x02\x03\x04\x12\x04\xa7\x02\
7341    \x08\x10\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\x02\x02\x03\x05\x12\x04\
7342    \xa7\x02\x11\x17\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\x02\x02\x03\x01\
7343    \x12\x04\xa7\x02\x18\x20\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\x02\x02\
7344    \x03\x03\x12\x04\xa7\x02#$\n\xa3\x01\n\x08\x04\0\x03\x01\x03\x02\x03\x03\
7345    \x12\x06\xad\x02\x06\xb3\x02\x07\x1a\x8e\x01\x20Represents\x20a\x20Goo\
7346    \x20package\x20repository.\x20These\x20are\x20added\x20to\x20a\x20repo\
7347    \x20file\n\x20that\x20is\x20managed\x20at\n\x20`C:/ProgramData/GooGet/re\
7348    pos/google_osconfig.repo`.\n\n\x11\n\t\x04\0\x03\x01\x03\x02\x03\x03\x01\
7349    \x12\x04\xad\x02\x0e\x1b\n;\n\n\x04\0\x03\x01\x03\x02\x03\x03\x02\0\x12\
7350    \x04\xaf\x02\x08A\x1a'\x20Required.\x20The\x20name\x20of\x20the\x20repos\
7351    itory.\n\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\x03\x02\0\x05\x12\x04\xaf\
7352    \x02\x08\x0e\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\x03\x02\0\x01\x12\x04\
7353    \xaf\x02\x0f\x13\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\x03\x02\0\x03\x12\
7354    \x04\xaf\x02\x16\x17\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\x03\x02\0\x08\
7355    \x12\x04\xaf\x02\x18@\n\x16\n\x0e\x04\0\x03\x01\x03\x02\x03\x03\x02\0\
7356    \x08\x9c\x08\0\x12\x04\xaf\x02\x19?\n:\n\n\x04\0\x03\x01\x03\x02\x03\x03\
7357    \x02\x01\x12\x04\xb2\x02\x08@\x1a&\x20Required.\x20The\x20url\x20of\x20t\
7358    he\x20repository.\n\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\x03\x02\x01\
7359    \x05\x12\x04\xb2\x02\x08\x0e\n\x13\n\x0b\x04\0\x03\x01\x03\x02\x03\x03\
7360    \x02\x01\x01\x12\x04\xb2\x02\x0f\x12\n\x13\n\x0b\x04\0\x03\x01\x03\x02\
7361    \x03\x03\x02\x01\x03\x12\x04\xb2\x02\x15\x16\n\x13\n\x0b\x04\0\x03\x01\
7362    \x03\x02\x03\x03\x02\x01\x08\x12\x04\xb2\x02\x17?\n\x16\n\x0e\x04\0\x03\
7363    \x01\x03\x02\x03\x03\x02\x01\x08\x9c\x08\0\x12\x04\xb2\x02\x18>\n4\n\x08\
7364    \x04\0\x03\x01\x03\x02\x08\0\x12\x06\xb6\x02\x06\xc2\x02\x07\x1a\x20\x20\
7365    A\x20specific\x20type\x20of\x20repository.\n\n\x11\n\t\x04\0\x03\x01\x03\
7366    \x02\x08\0\x01\x12\x04\xb6\x02\x0c\x16\n&\n\x08\x04\0\x03\x01\x03\x02\
7367    \x02\0\x12\x04\xb8\x02\x08\x1e\x1a\x14\x20An\x20Apt\x20Repository.\n\n\
7368    \x11\n\t\x04\0\x03\x01\x03\x02\x02\0\x06\x12\x04\xb8\x02\x08\x15\n\x11\n\
7369    \t\x04\0\x03\x01\x03\x02\x02\0\x01\x12\x04\xb8\x02\x16\x19\n\x11\n\t\x04\
7370    \0\x03\x01\x03\x02\x02\0\x03\x12\x04\xb8\x02\x1c\x1d\n%\n\x08\x04\0\x03\
7371    \x01\x03\x02\x02\x01\x12\x04\xbb\x02\x08\x1e\x1a\x13\x20A\x20Yum\x20Repo\
7372    sitory.\n\n\x11\n\t\x04\0\x03\x01\x03\x02\x02\x01\x06\x12\x04\xbb\x02\
7373    \x08\x15\n\x11\n\t\x04\0\x03\x01\x03\x02\x02\x01\x01\x12\x04\xbb\x02\x16\
7374    \x19\n\x11\n\t\x04\0\x03\x01\x03\x02\x02\x01\x03\x12\x04\xbb\x02\x1c\x1d\
7375    \n(\n\x08\x04\0\x03\x01\x03\x02\x02\x02\x12\x04\xbe\x02\x08$\x1a\x16\x20\
7376    A\x20Zypper\x20Repository.\n\n\x11\n\t\x04\0\x03\x01\x03\x02\x02\x02\x06\
7377    \x12\x04\xbe\x02\x08\x18\n\x11\n\t\x04\0\x03\x01\x03\x02\x02\x02\x01\x12\
7378    \x04\xbe\x02\x19\x1f\n\x11\n\t\x04\0\x03\x01\x03\x02\x02\x02\x03\x12\x04\
7379    \xbe\x02\"#\n%\n\x08\x04\0\x03\x01\x03\x02\x02\x03\x12\x04\xc1\x02\x08\
7380    \x1e\x1a\x13\x20A\x20Goo\x20Repository.\n\n\x11\n\t\x04\0\x03\x01\x03\
7381    \x02\x02\x03\x06\x12\x04\xc1\x02\x08\x15\n\x11\n\t\x04\0\x03\x01\x03\x02\
7382    \x02\x03\x01\x12\x04\xc1\x02\x16\x19\n\x11\n\t\x04\0\x03\x01\x03\x02\x02\
7383    \x03\x03\x12\x04\xc1\x02\x1c\x1d\n\x8a\x0b\n\x06\x04\0\x03\x01\x03\x03\
7384    \x12\x06\xdf\x02\x04\x99\x03\x05\x1a\xf7\n\x20A\x20resource\x20that\x20a\
7385    llows\x20executing\x20scripts\x20on\x20the\x20VM.\n\n\x20The\x20`ExecRes\
7386    ource`\x20has\x202\x20stages:\x20`validate`\x20and\x20`enforce`\x20and\
7387    \x20both\x20stages\n\x20accept\x20a\x20script\x20as\x20an\x20argument\
7388    \x20to\x20execute.\n\n\x20When\x20the\x20`ExecResource`\x20is\x20applied\
7389    \x20by\x20the\x20agent,\x20it\x20first\x20executes\x20the\n\x20script\
7390    \x20in\x20the\x20`validate`\x20stage.\x20The\x20`validate`\x20stage\x20c\
7391    an\x20signal\x20that\x20the\n\x20`ExecResource`\x20is\x20already\x20in\
7392    \x20the\x20desired\x20state\x20by\x20returning\x20an\x20exit\x20code\n\
7393    \x20of\x20`100`.\x20If\x20the\x20`ExecResource`\x20is\x20not\x20in\x20th\
7394    e\x20desired\x20state,\x20it\x20should\n\x20return\x20an\x20exit\x20code\
7395    \x20of\x20`101`.\x20Any\x20other\x20exit\x20code\x20returned\x20by\x20th\
7396    is\x20stage\n\x20is\x20considered\x20an\x20error.\n\n\x20If\x20the\x20`E\
7397    xecResource`\x20is\x20not\x20in\x20the\x20desired\x20state\x20based\x20o\
7398    n\x20the\x20exit\x20code\n\x20from\x20the\x20`validate`\x20stage,\x20the\
7399    \x20agent\x20proceeds\x20to\x20execute\x20the\x20script\x20from\n\x20the\
7400    \x20`enforce`\x20stage.\x20If\x20the\x20`ExecResource`\x20is\x20already\
7401    \x20in\x20the\x20desired\n\x20state,\x20the\x20`enforce`\x20stage\x20wil\
7402    l\x20not\x20be\x20run.\n\x20Similar\x20to\x20`validate`\x20stage,\x20the\
7403    \x20`enforce`\x20stage\x20should\x20return\x20an\x20exit\n\x20code\x20of\
7404    \x20`100`\x20to\x20indicate\x20that\x20the\x20resource\x20in\x20now\x20i\
7405    n\x20its\x20desired\x20state.\n\x20Any\x20other\x20exit\x20code\x20is\
7406    \x20considered\x20an\x20error.\n\n\x20NOTE:\x20An\x20exit\x20code\x20of\
7407    \x20`100`\x20was\x20chosen\x20over\x20`0`\x20(and\x20`101`\x20vs\x20`1`)\
7408    \x20to\n\x20have\x20an\x20explicit\x20indicator\x20of\x20`in\x20desired\
7409    \x20state`,\x20`not\x20in\x20desired\x20state`\n\x20and\x20errors.\x20Be\
7410    cause,\x20for\x20example,\x20Powershell\x20will\x20always\x20return\x20a\
7411    n\x20exit\n\x20code\x20of\x20`0`\x20unless\x20an\x20`exit`\x20statement\
7412    \x20is\x20provided\x20in\x20the\x20script.\x20So,\x20for\n\x20reasons\
7413    \x20of\x20consistency\x20and\x20being\x20explicit,\x20exit\x20codes\x20`\
7414    100`\x20and\x20`101`\n\x20were\x20chosen.\n\n\x0f\n\x07\x04\0\x03\x01\
7415    \x03\x03\x01\x12\x04\xdf\x02\x0c\x18\n2\n\x08\x04\0\x03\x01\x03\x03\x03\
7416    \0\x12\x06\xe1\x02\x06\x8d\x03\x07\x1a\x1e\x20A\x20file\x20or\x20script\
7417    \x20to\x20execute.\n\n\x11\n\t\x04\0\x03\x01\x03\x03\x03\0\x01\x12\x04\
7418    \xe1\x02\x0e\x12\n/\n\n\x04\0\x03\x01\x03\x03\x03\0\x04\0\x12\x06\xe3\
7419    \x02\x08\xf4\x02\t\x1a\x19\x20The\x20interpreter\x20to\x20use.\n\n\x13\n\
7420    \x0b\x04\0\x03\x01\x03\x03\x03\0\x04\0\x01\x12\x04\xe3\x02\r\x18\nP\n\
7421    \x0c\x04\0\x03\x01\x03\x03\x03\0\x04\0\x02\0\x12\x04\xe5\x02\n&\x1a:\x20\
7422    Invalid\x20value,\x20the\x20request\x20will\x20return\x20validation\x20e\
7423    rror.\n\n\x15\n\r\x04\0\x03\x01\x03\x03\x03\0\x04\0\x02\0\x01\x12\x04\
7424    \xe5\x02\n!\n\x15\n\r\x04\0\x03\x01\x03\x03\x03\0\x04\0\x02\0\x02\x12\
7425    \x04\xe5\x02$%\n\x98\x02\n\x0c\x04\0\x03\x01\x03\x03\x03\0\x04\0\x02\x01\
7426    \x12\x04\xec\x02\n\x13\x1a\x81\x02\x20If\x20an\x20interpreter\x20is\x20n\
7427    ot\x20specified,\x20the\n\x20source\x20is\x20executed\x20directly.\x20Th\
7428    is\x20execution,\x20without\x20an\n\x20interpreter,\x20only\x20succeeds\
7429    \x20for\x20executables\x20and\x20scripts\x20that\x20have\x20<a\n\x20href\
7430    =\"https://en.wikipedia.org/wiki/Shebang_(Unix)\"\n\x20class=\"external\
7431    \">shebang\x20lines</a>.\n\n\x15\n\r\x04\0\x03\x01\x03\x03\x03\0\x04\0\
7432    \x02\x01\x01\x12\x04\xec\x02\n\x0e\n\x15\n\r\x04\0\x03\x01\x03\x03\x03\0\
7433    \x04\0\x02\x01\x02\x12\x04\xec\x02\x11\x12\ni\n\x0c\x04\0\x03\x01\x03\
7434    \x03\x03\0\x04\0\x02\x02\x12\x04\xf0\x02\n\x14\x1aS\x20Indicates\x20that\
7435    \x20the\x20script\x20runs\x20with\x20`/bin/sh`\x20on\x20Linux\x20and\n\
7436    \x20`cmd.exe`\x20on\x20Windows.\n\n\x15\n\r\x04\0\x03\x01\x03\x03\x03\0\
7437    \x04\0\x02\x02\x01\x12\x04\xf0\x02\n\x0f\n\x15\n\r\x04\0\x03\x01\x03\x03\
7438    \x03\0\x04\0\x02\x02\x02\x12\x04\xf0\x02\x12\x13\nG\n\x0c\x04\0\x03\x01\
7439    \x03\x03\x03\0\x04\0\x02\x03\x12\x04\xf3\x02\n\x19\x1a1\x20Indicates\x20\
7440    that\x20the\x20script\x20runs\x20with\x20PowerShell.\n\n\x15\n\r\x04\0\
7441    \x03\x01\x03\x03\x03\0\x04\0\x02\x03\x01\x12\x04\xf3\x02\n\x14\n\x15\n\r\
7442    \x04\0\x03\x01\x03\x03\x03\0\x04\0\x02\x03\x02\x12\x04\xf3\x02\x17\x18\n\
7443    (\n\n\x04\0\x03\x01\x03\x03\x03\0\x08\0\x12\x06\xf7\x02\x08\xfe\x02\t\
7444    \x1a\x12\x20What\x20to\x20execute.\n\n\x13\n\x0b\x04\0\x03\x01\x03\x03\
7445    \x03\0\x08\0\x01\x12\x04\xf7\x02\x0e\x14\n-\n\n\x04\0\x03\x01\x03\x03\
7446    \x03\0\x02\0\x12\x04\xf9\x02\n\x18\x1a\x19\x20A\x20remote\x20or\x20local\
7447    \x20file.\n\n\x13\n\x0b\x04\0\x03\x01\x03\x03\x03\0\x02\0\x06\x12\x04\
7448    \xf9\x02\n\x0e\n\x13\n\x0b\x04\0\x03\x01\x03\x03\x03\0\x02\0\x01\x12\x04\
7449    \xf9\x02\x0f\x13\n\x13\n\x0b\x04\0\x03\x01\x03\x03\x03\0\x02\0\x03\x12\
7450    \x04\xf9\x02\x16\x17\n^\n\n\x04\0\x03\x01\x03\x03\x03\0\x02\x01\x12\x04\
7451    \xfd\x02\n\x1c\x1aJ\x20An\x20inline\x20script.\n\x20The\x20size\x20of\
7452    \x20the\x20script\x20is\x20limited\x20to\x201024\x20characters.\n\n\x13\
7453    \n\x0b\x04\0\x03\x01\x03\x03\x03\0\x02\x01\x05\x12\x04\xfd\x02\n\x10\n\
7454    \x13\n\x0b\x04\0\x03\x01\x03\x03\x03\0\x02\x01\x01\x12\x04\xfd\x02\x11\
7455    \x17\n\x13\n\x0b\x04\0\x03\x01\x03\x03\x03\0\x02\x01\x03\x12\x04\xfd\x02\
7456    \x1a\x1b\nP\n\n\x04\0\x03\x01\x03\x03\x03\0\x02\x02\x12\x04\x81\x03\x08!\
7457    \x1a<\x20Optional\x20arguments\x20to\x20pass\x20to\x20the\x20source\x20d\
7458    uring\x20execution.\n\n\x13\n\x0b\x04\0\x03\x01\x03\x03\x03\0\x02\x02\
7459    \x04\x12\x04\x81\x03\x08\x10\n\x13\n\x0b\x04\0\x03\x01\x03\x03\x03\0\x02\
7460    \x02\x05\x12\x04\x81\x03\x11\x17\n\x13\n\x0b\x04\0\x03\x01\x03\x03\x03\0\
7461    \x02\x02\x01\x12\x04\x81\x03\x18\x1c\n\x13\n\x0b\x04\0\x03\x01\x03\x03\
7462    \x03\0\x02\x02\x03\x12\x04\x81\x03\x1f\x20\n>\n\n\x04\0\x03\x01\x03\x03\
7463    \x03\0\x02\x03\x12\x04\x84\x03\x08M\x1a*\x20Required.\x20The\x20script\
7464    \x20interpreter\x20to\x20use.\n\n\x13\n\x0b\x04\0\x03\x01\x03\x03\x03\0\
7465    \x02\x03\x06\x12\x04\x84\x03\x08\x13\n\x13\n\x0b\x04\0\x03\x01\x03\x03\
7466    \x03\0\x02\x03\x01\x12\x04\x84\x03\x14\x1f\n\x13\n\x0b\x04\0\x03\x01\x03\
7467    \x03\x03\0\x02\x03\x03\x12\x04\x84\x03\"#\n\x13\n\x0b\x04\0\x03\x01\x03\
7468    \x03\x03\0\x02\x03\x08\x12\x04\x84\x03$L\n\x16\n\x0e\x04\0\x03\x01\x03\
7469    \x03\x03\0\x02\x03\x08\x9c\x08\0\x12\x04\x84\x03%K\n\xcc\x02\n\n\x04\0\
7470    \x03\x01\x03\x03\x03\0\x02\x04\x12\x04\x8c\x03\x08$\x1a\xb7\x02\x20Only\
7471    \x20recorded\x20for\x20enforce\x20Exec.\n\x20Path\x20to\x20an\x20output\
7472    \x20file\x20(that\x20is\x20created\x20by\x20this\x20Exec)\x20whose\n\x20\
7473    content\x20will\x20be\x20recorded\x20in\x20OSPolicyResourceCompliance\
7474    \x20after\x20a\n\x20successful\x20run.\x20Absence\x20or\x20failure\x20to\
7475    \x20read\x20this\x20file\x20will\x20result\x20in\n\x20this\x20ExecResour\
7476    ce\x20being\x20non-compliant.\x20Output\x20file\x20size\x20is\x20limited\
7477    \x20to\n\x20100K\x20bytes.\n\n\x13\n\x0b\x04\0\x03\x01\x03\x03\x03\0\x02\
7478    \x04\x05\x12\x04\x8c\x03\x08\x0e\n\x13\n\x0b\x04\0\x03\x01\x03\x03\x03\0\
7479    \x02\x04\x01\x12\x04\x8c\x03\x0f\x1f\n\x13\n\x0b\x04\0\x03\x01\x03\x03\
7480    \x03\0\x02\x04\x03\x12\x04\x8c\x03\"#\n\x83\x02\n\x08\x04\0\x03\x01\x03\
7481    \x03\x02\0\x12\x04\x93\x03\x06A\x1a\xf0\x01\x20Required.\x20What\x20to\
7482    \x20run\x20to\x20validate\x20this\x20resource\x20is\x20in\x20the\x20desi\
7483    red\n\x20state.\x20An\x20exit\x20code\x20of\x20100\x20indicates\x20\"in\
7484    \x20desired\x20state\",\x20and\x20exit\x20code\n\x20of\x20101\x20indicat\
7485    es\x20\"not\x20in\x20desired\x20state\".\x20Any\x20other\x20exit\x20code\
7486    \x20indicates\n\x20a\x20failure\x20running\x20validate.\n\n\x11\n\t\x04\
7487    \0\x03\x01\x03\x03\x02\0\x06\x12\x04\x93\x03\x06\n\n\x11\n\t\x04\0\x03\
7488    \x01\x03\x03\x02\0\x01\x12\x04\x93\x03\x0b\x13\n\x11\n\t\x04\0\x03\x01\
7489    \x03\x03\x02\0\x03\x12\x04\x93\x03\x16\x17\n\x11\n\t\x04\0\x03\x01\x03\
7490    \x03\x02\0\x08\x12\x04\x93\x03\x18@\n\x14\n\x0c\x04\0\x03\x01\x03\x03\
7491    \x02\0\x08\x9c\x08\0\x12\x04\x93\x03\x19?\n\xb3\x01\n\x08\x04\0\x03\x01\
7492    \x03\x03\x02\x01\x12\x04\x98\x03\x06\x17\x1a\xa0\x01\x20What\x20to\x20ru\
7493    n\x20to\x20bring\x20this\x20resource\x20into\x20the\x20desired\x20state.\
7494    \n\x20An\x20exit\x20code\x20of\x20100\x20indicates\x20\"success\",\x20an\
7495    y\x20other\x20exit\x20code\x20indicates\n\x20a\x20failure\x20running\x20\
7496    enforce.\n\n\x11\n\t\x04\0\x03\x01\x03\x03\x02\x01\x06\x12\x04\x98\x03\
7497    \x06\n\n\x11\n\t\x04\0\x03\x01\x03\x03\x02\x01\x01\x12\x04\x98\x03\x0b\
7498    \x12\n\x11\n\t\x04\0\x03\x01\x03\x03\x02\x01\x03\x12\x04\x98\x03\x15\x16\
7499    \n@\n\x06\x04\0\x03\x01\x03\x04\x12\x06\x9c\x03\x04\xcb\x03\x05\x1a.\x20\
7500    A\x20resource\x20that\x20manages\x20the\x20state\x20of\x20a\x20file.\n\n\
7501    \x0f\n\x07\x04\0\x03\x01\x03\x04\x01\x12\x04\x9c\x03\x0c\x18\n0\n\x08\
7502    \x04\0\x03\x01\x03\x04\x04\0\x12\x06\x9e\x03\x06\xab\x03\x07\x1a\x1c\x20\
7503    Desired\x20state\x20of\x20the\x20file.\n\n\x11\n\t\x04\0\x03\x01\x03\x04\
7504    \x04\0\x01\x12\x04\x9e\x03\x0b\x17\n-\n\n\x04\0\x03\x01\x03\x04\x04\0\
7505    \x02\0\x12\x04\xa0\x03\x08&\x1a\x19\x20Unspecified\x20is\x20invalid.\n\n\
7506    \x13\n\x0b\x04\0\x03\x01\x03\x04\x04\0\x02\0\x01\x12\x04\xa0\x03\x08!\n\
7507    \x13\n\x0b\x04\0\x03\x01\x03\x04\x04\0\x02\0\x02\x12\x04\xa0\x03$%\n5\n\
7508    \n\x04\0\x03\x01\x03\x04\x04\0\x02\x01\x12\x04\xa3\x03\x08\x14\x1a!\x20E\
7509    nsure\x20file\x20at\x20path\x20is\x20present.\n\n\x13\n\x0b\x04\0\x03\
7510    \x01\x03\x04\x04\0\x02\x01\x01\x12\x04\xa3\x03\x08\x0f\n\x13\n\x0b\x04\0\
7511    \x03\x01\x03\x04\x04\0\x02\x01\x02\x12\x04\xa3\x03\x12\x13\n4\n\n\x04\0\
7512    \x03\x01\x03\x04\x04\0\x02\x02\x12\x04\xa6\x03\x08\x13\x1a\x20\x20Ensure\
7513    \x20file\x20at\x20path\x20is\x20absent.\n\n\x13\n\x0b\x04\0\x03\x01\x03\
7514    \x04\x04\0\x02\x02\x01\x12\x04\xa6\x03\x08\x0e\n\x13\n\x0b\x04\0\x03\x01\
7515    \x03\x04\x04\0\x02\x02\x02\x12\x04\xa6\x03\x11\x12\nv\n\n\x04\0\x03\x01\
7516    \x03\x04\x04\0\x02\x03\x12\x04\xaa\x03\x08\x1b\x1ab\x20Ensure\x20the\x20\
7517    contents\x20of\x20the\x20file\x20at\x20path\x20matches.\x20If\x20the\x20\
7518    file\x20does\n\x20not\x20exist\x20it\x20will\x20be\x20created.\n\n\x13\n\
7519    \x0b\x04\0\x03\x01\x03\x04\x04\0\x02\x03\x01\x12\x04\xaa\x03\x08\x16\n\
7520    \x13\n\x0b\x04\0\x03\x01\x03\x04\x04\0\x02\x03\x02\x12\x04\xaa\x03\x19\
7521    \x1a\n>\n\x08\x04\0\x03\x01\x03\x04\x08\0\x12\x06\xae\x03\x06\xb5\x03\
7522    \x07\x1a*\x20The\x20source\x20for\x20the\x20contents\x20of\x20the\x20fil\
7523    e.\n\n\x11\n\t\x04\0\x03\x01\x03\x04\x08\0\x01\x12\x04\xae\x03\x0c\x12\n\
7524    -\n\x08\x04\0\x03\x01\x03\x04\x02\0\x12\x04\xb0\x03\x08\x16\x1a\x1b\x20A\
7525    \x20remote\x20or\x20local\x20source.\n\n\x11\n\t\x04\0\x03\x01\x03\x04\
7526    \x02\0\x06\x12\x04\xb0\x03\x08\x0c\n\x11\n\t\x04\0\x03\x01\x03\x04\x02\0\
7527    \x01\x12\x04\xb0\x03\r\x11\n\x11\n\t\x04\0\x03\x01\x03\x04\x02\0\x03\x12\
7528    \x04\xb0\x03\x14\x15\ng\n\x08\x04\0\x03\x01\x03\x04\x02\x01\x12\x04\xb4\
7529    \x03\x08\x1b\x1aU\x20A\x20a\x20file\x20with\x20this\x20content.\n\x20The\
7530    \x20size\x20of\x20the\x20content\x20is\x20limited\x20to\x201024\x20chara\
7531    cters.\n\n\x11\n\t\x04\0\x03\x01\x03\x04\x02\x01\x05\x12\x04\xb4\x03\x08\
7532    \x0e\n\x11\n\t\x04\0\x03\x01\x03\x04\x02\x01\x01\x12\x04\xb4\x03\x0f\x16\
7533    \n\x11\n\t\x04\0\x03\x01\x03\x04\x02\x01\x03\x12\x04\xb4\x03\x19\x1a\nJ\
7534    \n\x08\x04\0\x03\x01\x03\x04\x02\x02\x12\x04\xb8\x03\x06?\x1a8\x20Requir\
7535    ed.\x20The\x20absolute\x20path\x20of\x20the\x20file\x20within\x20the\x20\
7536    VM.\n\n\x11\n\t\x04\0\x03\x01\x03\x04\x02\x02\x05\x12\x04\xb8\x03\x06\
7537    \x0c\n\x11\n\t\x04\0\x03\x01\x03\x04\x02\x02\x01\x12\x04\xb8\x03\r\x11\n\
7538    \x11\n\t\x04\0\x03\x01\x03\x04\x02\x02\x03\x12\x04\xb8\x03\x14\x15\n\x11\
7539    \n\t\x04\0\x03\x01\x03\x04\x02\x02\x08\x12\x04\xb8\x03\x16>\n\x14\n\x0c\
7540    \x04\0\x03\x01\x03\x04\x02\x02\x08\x9c\x08\0\x12\x04\xb8\x03\x17=\n8\n\
7541    \x08\x04\0\x03\x01\x03\x04\x02\x03\x12\x04\xbb\x03\x06F\x1a&\x20Required\
7542    .\x20Desired\x20state\x20of\x20the\x20file.\n\n\x11\n\t\x04\0\x03\x01\
7543    \x03\x04\x02\x03\x06\x12\x04\xbb\x03\x06\x12\n\x11\n\t\x04\0\x03\x01\x03\
7544    \x04\x02\x03\x01\x12\x04\xbb\x03\x13\x18\n\x11\n\t\x04\0\x03\x01\x03\x04\
7545    \x02\x03\x03\x12\x04\xbb\x03\x1b\x1c\n\x11\n\t\x04\0\x03\x01\x03\x04\x02\
7546    \x03\x08\x12\x04\xbb\x03\x1dE\n\x14\n\x0c\x04\0\x03\x01\x03\x04\x02\x03\
7547    \x08\x9c\x08\0\x12\x04\xbb\x03\x1eD\n\xc7\x04\n\x08\x04\0\x03\x01\x03\
7548    \x04\x02\x04\x12\x04\xca\x03\x06\x1d\x1a\xb4\x04\x20Consists\x20of\x20th\
7549    ree\x20octal\x20digits\x20which\x20represent,\x20in\n\x20order,\x20the\
7550    \x20permissions\x20of\x20the\x20owner,\x20group,\x20and\x20other\x20user\
7551    s\x20for\x20the\n\x20file\x20(similarly\x20to\x20the\x20numeric\x20mode\
7552    \x20used\x20in\x20the\x20linux\x20chmod\n\x20utility).\x20Each\x20digit\
7553    \x20represents\x20a\x20three\x20bit\x20number\x20with\x20the\x204\x20bit\
7554    \n\x20corresponding\x20to\x20the\x20read\x20permissions,\x20the\x202\x20\
7555    bit\x20corresponds\x20to\x20the\n\x20write\x20bit,\x20and\x20the\x20one\
7556    \x20bit\x20corresponds\x20to\x20the\x20execute\x20permission.\n\x20Defau\
7557    lt\x20behavior\x20is\x20755.\n\n\x20Below\x20are\x20some\x20examples\x20\
7558    of\x20permissions\x20and\x20their\x20associated\x20values:\n\x20read,\
7559    \x20write,\x20and\x20execute:\x207\n\x20read\x20and\x20execute:\x205\n\
7560    \x20read\x20and\x20write:\x206\n\x20read\x20only:\x204\n\n\x11\n\t\x04\0\
7561    \x03\x01\x03\x04\x02\x04\x05\x12\x04\xca\x03\x06\x0c\n\x11\n\t\x04\0\x03\
7562    \x01\x03\x04\x02\x04\x01\x12\x04\xca\x03\r\x18\n\x11\n\t\x04\0\x03\x01\
7563    \x03\x04\x02\x04\x03\x12\x04\xca\x03\x1b\x1c\n\xa3\x02\n\x06\x04\0\x03\
7564    \x01\x02\0\x12\x04\xd4\x03\x04;\x1a\x92\x02\x20Required.\x20The\x20id\
7565    \x20of\x20the\x20resource\x20with\x20the\x20following\x20restrictions:\n\
7566    \n\x20*\x20Must\x20contain\x20only\x20lowercase\x20letters,\x20numbers,\
7567    \x20and\x20hyphens.\n\x20*\x20Must\x20start\x20with\x20a\x20letter.\n\
7568    \x20*\x20Must\x20be\x20between\x201-63\x20characters.\n\x20*\x20Must\x20\
7569    end\x20with\x20a\x20number\x20or\x20a\x20letter.\n\x20*\x20Must\x20be\
7570    \x20unique\x20within\x20the\x20OS\x20policy.\n\n\x0f\n\x07\x04\0\x03\x01\
7571    \x02\0\x05\x12\x04\xd4\x03\x04\n\n\x0f\n\x07\x04\0\x03\x01\x02\0\x01\x12\
7572    \x04\xd4\x03\x0b\r\n\x0f\n\x07\x04\0\x03\x01\x02\0\x03\x12\x04\xd4\x03\
7573    \x10\x11\n\x0f\n\x07\x04\0\x03\x01\x02\0\x08\x12\x04\xd4\x03\x12:\n\x12\
7574    \n\n\x04\0\x03\x01\x02\0\x08\x9c\x08\0\x12\x04\xd4\x03\x139\n\"\n\x06\
7575    \x04\0\x03\x01\x08\0\x12\x06\xd7\x03\x04\xe3\x03\x05\x1a\x10\x20Resource\
7576    \x20type.\n\n\x0f\n\x07\x04\0\x03\x01\x08\0\x01\x12\x04\xd7\x03\n\x17\n\
7577    \"\n\x06\x04\0\x03\x01\x02\x01\x12\x04\xd9\x03\x06\x1e\x1a\x12\x20Packag\
7578    e\x20resource\n\n\x0f\n\x07\x04\0\x03\x01\x02\x01\x06\x12\x04\xd9\x03\
7579    \x06\x15\n\x0f\n\x07\x04\0\x03\x01\x02\x01\x01\x12\x04\xd9\x03\x16\x19\n\
7580    \x0f\n\x07\x04\0\x03\x01\x02\x01\x03\x12\x04\xd9\x03\x1c\x1d\n-\n\x06\
7581    \x04\0\x03\x01\x02\x02\x12\x04\xdc\x03\x06(\x1a\x1d\x20Package\x20reposi\
7582    tory\x20resource\n\n\x0f\n\x07\x04\0\x03\x01\x02\x02\x06\x12\x04\xdc\x03\
7583    \x06\x18\n\x0f\n\x07\x04\0\x03\x01\x02\x02\x01\x12\x04\xdc\x03\x19#\n\
7584    \x0f\n\x07\x04\0\x03\x01\x02\x02\x03\x12\x04\xdc\x03&'\n\x1f\n\x06\x04\0\
7585    \x03\x01\x02\x03\x12\x04\xdf\x03\x06\x1c\x1a\x0f\x20Exec\x20resource\n\n\
7586    \x0f\n\x07\x04\0\x03\x01\x02\x03\x06\x12\x04\xdf\x03\x06\x12\n\x0f\n\x07\
7587    \x04\0\x03\x01\x02\x03\x01\x12\x04\xdf\x03\x13\x17\n\x0f\n\x07\x04\0\x03\
7588    \x01\x02\x03\x03\x12\x04\xdf\x03\x1a\x1b\n\x1f\n\x06\x04\0\x03\x01\x02\
7589    \x04\x12\x04\xe2\x03\x06\x1c\x1a\x0f\x20File\x20resource\n\n\x0f\n\x07\
7590    \x04\0\x03\x01\x02\x04\x06\x12\x04\xe2\x03\x06\x12\n\x0f\n\x07\x04\0\x03\
7591    \x01\x02\x04\x01\x12\x04\xe2\x03\x13\x17\n\x0f\n\x07\x04\0\x03\x01\x02\
7592    \x04\x03\x12\x04\xe2\x03\x1a\x1b\n\x86\x03\n\x04\x04\0\x03\x02\x12\x06\
7593    \xee\x03\x02\x81\x04\x03\x1a\xf5\x02\x20Resource\x20groups\x20provide\
7594    \x20a\x20mechanism\x20to\x20group\x20OS\x20policy\x20resources.\n\n\x20R\
7595    esource\x20groups\x20enable\x20OS\x20policy\x20authors\x20to\x20create\
7596    \x20a\x20single\x20OS\x20policy\n\x20to\x20be\x20applied\x20to\x20VMs\
7597    \x20running\x20different\x20operating\x20Systems.\n\n\x20When\x20the\x20\
7598    OS\x20policy\x20is\x20applied\x20to\x20a\x20target\x20VM,\x20the\x20appr\
7599    opriate\x20resource\n\x20group\x20within\x20the\x20OS\x20policy\x20is\
7600    \x20selected\x20based\x20on\x20the\x20`OSFilter`\x20specified\n\x20withi\
7601    n\x20the\x20resource\x20group.\n\n\r\n\x05\x04\0\x03\x02\x01\x12\x04\xee\
7602    \x03\n\x17\n\xa3\x04\n\x06\x04\0\x03\x02\x02\0\x12\x04\xfc\x03\x043\x1a\
7603    \x92\x04\x20List\x20of\x20inventory\x20filters\x20for\x20the\x20resource\
7604    \x20group.\n\n\x20The\x20resources\x20in\x20this\x20resource\x20group\
7605    \x20are\x20applied\x20to\x20the\x20target\x20VM\x20if\x20it\n\x20satisfi\
7606    es\x20at\x20least\x20one\x20of\x20the\x20following\x20inventory\x20filte\
7607    rs.\n\n\x20For\x20example,\x20to\x20apply\x20this\x20resource\x20group\
7608    \x20to\x20VMs\x20running\x20either\x20`RHEL`\x20or\n\x20`CentOS`\x20oper\
7609    ating\x20systems,\x20specify\x202\x20items\x20for\x20the\x20list\x20with\
7610    \x20following\n\x20values:\n\x20inventory_filters[0].os_short_name='rhel\
7611    '\x20and\n\x20inventory_filters[1].os_short_name='centos'\n\n\x20If\x20t\
7612    he\x20list\x20is\x20empty,\x20this\x20resource\x20group\x20will\x20be\
7613    \x20applied\x20to\x20the\x20target\n\x20VM\x20unconditionally.\n\n\x0f\n\
7614    \x07\x04\0\x03\x02\x02\0\x04\x12\x04\xfc\x03\x04\x0c\n\x0f\n\x07\x04\0\
7615    \x03\x02\x02\0\x06\x12\x04\xfc\x03\r\x1c\n\x0f\n\x07\x04\0\x03\x02\x02\0\
7616    \x01\x12\x04\xfc\x03\x1d.\n\x0f\n\x07\x04\0\x03\x02\x02\0\x03\x12\x04\
7617    \xfc\x0312\n\x91\x01\n\x06\x04\0\x03\x02\x02\x01\x12\x04\x80\x04\x04M\
7618    \x1a\x80\x01\x20Required.\x20List\x20of\x20resources\x20configured\x20fo\
7619    r\x20this\x20resource\x20group.\n\x20The\x20resources\x20are\x20executed\
7620    \x20in\x20the\x20exact\x20order\x20specified\x20here.\n\n\x0f\n\x07\x04\
7621    \0\x03\x02\x02\x01\x04\x12\x04\x80\x04\x04\x0c\n\x0f\n\x07\x04\0\x03\x02\
7622    \x02\x01\x06\x12\x04\x80\x04\r\x15\n\x0f\n\x07\x04\0\x03\x02\x02\x01\x01\
7623    \x12\x04\x80\x04\x16\x1f\n\x0f\n\x07\x04\0\x03\x02\x02\x01\x03\x12\x04\
7624    \x80\x04\"#\n\x0f\n\x07\x04\0\x03\x02\x02\x01\x08\x12\x04\x80\x04$L\n\
7625    \x12\n\n\x04\0\x03\x02\x02\x01\x08\x9c\x08\0\x12\x04\x80\x04%K\n\xa3\x02\
7626    \n\x04\x04\0\x02\0\x12\x04\x8a\x04\x029\x1a\x94\x02\x20Required.\x20The\
7627    \x20id\x20of\x20the\x20OS\x20policy\x20with\x20the\x20following\x20restr\
7628    ictions:\n\n\x20*\x20Must\x20contain\x20only\x20lowercase\x20letters,\
7629    \x20numbers,\x20and\x20hyphens.\n\x20*\x20Must\x20start\x20with\x20a\x20\
7630    letter.\n\x20*\x20Must\x20be\x20between\x201-63\x20characters.\n\x20*\
7631    \x20Must\x20end\x20with\x20a\x20number\x20or\x20a\x20letter.\n\x20*\x20M\
7632    ust\x20be\x20unique\x20within\x20the\x20assignment.\n\n\r\n\x05\x04\0\
7633    \x02\0\x05\x12\x04\x8a\x04\x02\x08\n\r\n\x05\x04\0\x02\0\x01\x12\x04\x8a\
7634    \x04\t\x0b\n\r\n\x05\x04\0\x02\0\x03\x12\x04\x8a\x04\x0e\x0f\n\r\n\x05\
7635    \x04\0\x02\0\x08\x12\x04\x8a\x04\x108\n\x10\n\x08\x04\0\x02\0\x08\x9c\
7636    \x08\0\x12\x04\x8a\x04\x117\n]\n\x04\x04\0\x02\x01\x12\x04\x8e\x04\x02\
7637    \x19\x1aO\x20Policy\x20description.\n\x20Length\x20of\x20the\x20descript\
7638    ion\x20is\x20limited\x20to\x201024\x20characters.\n\n\r\n\x05\x04\0\x02\
7639    \x01\x05\x12\x04\x8e\x04\x02\x08\n\r\n\x05\x04\0\x02\x01\x01\x12\x04\x8e\
7640    \x04\t\x14\n\r\n\x05\x04\0\x02\x01\x03\x12\x04\x8e\x04\x17\x18\n%\n\x04\
7641    \x04\0\x02\x02\x12\x04\x91\x04\x029\x1a\x17\x20Required.\x20Policy\x20mo\
7642    de\n\n\r\n\x05\x04\0\x02\x02\x06\x12\x04\x91\x04\x02\x06\n\r\n\x05\x04\0\
7643    \x02\x02\x01\x12\x04\x91\x04\x07\x0b\n\r\n\x05\x04\0\x02\x02\x03\x12\x04\
7644    \x91\x04\x0e\x0f\n\r\n\x05\x04\0\x02\x02\x08\x12\x04\x91\x04\x108\n\x10\
7645    \n\x08\x04\0\x02\x02\x08\x9c\x08\0\x12\x04\x91\x04\x117\n\xa8\x03\n\x04\
7646    \x04\0\x02\x03\x12\x06\x9b\x04\x02\x9c\x04/\x1a\x97\x03\x20Required.\x20\
7647    List\x20of\x20resource\x20groups\x20for\x20the\x20policy.\n\x20For\x20a\
7648    \x20particular\x20VM,\x20resource\x20groups\x20are\x20evaluated\x20in\
7649    \x20the\x20order\x20specified\n\x20and\x20the\x20first\x20resource\x20gr\
7650    oup\x20that\x20is\x20applicable\x20is\x20selected\x20and\x20the\x20rest\
7651    \n\x20are\x20ignored.\n\n\x20If\x20none\x20of\x20the\x20resource\x20grou\
7652    ps\x20are\x20applicable\x20for\x20a\x20VM,\x20the\x20VM\x20is\n\x20consi\
7653    dered\x20to\x20be\x20non-compliant\x20w.r.t\x20this\x20policy.\x20This\
7654    \x20behavior\x20can\x20be\n\x20toggled\x20by\x20the\x20flag\x20`allow_no\
7655    _resource_group_match`\n\n\r\n\x05\x04\0\x02\x03\x04\x12\x04\x9b\x04\x02\
7656    \n\n\r\n\x05\x04\0\x02\x03\x06\x12\x04\x9b\x04\x0b\x18\n\r\n\x05\x04\0\
7657    \x02\x03\x01\x12\x04\x9b\x04\x19(\n\r\n\x05\x04\0\x02\x03\x03\x12\x04\
7658    \x9b\x04+,\n\r\n\x05\x04\0\x02\x03\x08\x12\x04\x9c\x04\x06.\n\x10\n\x08\
7659    \x04\0\x02\x03\x08\x9c\x08\0\x12\x04\x9c\x04\x07-\n\x94\x02\n\x04\x04\0\
7660    \x02\x04\x12\x04\xa2\x04\x02)\x1a\x85\x02\x20This\x20flag\x20determines\
7661    \x20the\x20OS\x20policy\x20compliance\x20status\x20when\x20none\x20of\
7662    \x20the\n\x20resource\x20groups\x20within\x20the\x20policy\x20are\x20app\
7663    licable\x20for\x20a\x20VM.\x20Set\x20this\x20value\n\x20to\x20`true`\x20\
7664    if\x20the\x20policy\x20needs\x20to\x20be\x20reported\x20as\x20compliant\
7665    \x20even\x20if\x20the\n\x20policy\x20has\x20nothing\x20to\x20validate\
7666    \x20or\x20enforce.\n\n\r\n\x05\x04\0\x02\x04\x05\x12\x04\xa2\x04\x02\x06\
7667    \n\r\n\x05\x04\0\x02\x04\x01\x12\x04\xa2\x04\x07$\n\r\n\x05\x04\0\x02\
7668    \x04\x03\x12\x04\xa2\x04'(b\x06proto3\
7669";
7670
7671static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
7672
7673fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
7674    ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
7675}
7676
7677pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
7678    file_descriptor_proto_lazy.get(|| {
7679        parse_descriptor_proto()
7680    })
7681}