google_cloud_rust_raw/cloud/osconfig/v1/
patch_jobs.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/patch_jobs.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 ExecutePatchJobRequest {
28    // message fields
29    pub parent: ::std::string::String,
30    pub description: ::std::string::String,
31    pub instance_filter: ::protobuf::SingularPtrField<PatchInstanceFilter>,
32    pub patch_config: ::protobuf::SingularPtrField<PatchConfig>,
33    pub duration: ::protobuf::SingularPtrField<::protobuf::well_known_types::Duration>,
34    pub dry_run: bool,
35    pub display_name: ::std::string::String,
36    pub rollout: ::protobuf::SingularPtrField<PatchRollout>,
37    // special fields
38    pub unknown_fields: ::protobuf::UnknownFields,
39    pub cached_size: ::protobuf::CachedSize,
40}
41
42impl<'a> ::std::default::Default for &'a ExecutePatchJobRequest {
43    fn default() -> &'a ExecutePatchJobRequest {
44        <ExecutePatchJobRequest as ::protobuf::Message>::default_instance()
45    }
46}
47
48impl ExecutePatchJobRequest {
49    pub fn new() -> ExecutePatchJobRequest {
50        ::std::default::Default::default()
51    }
52
53    // string parent = 1;
54
55
56    pub fn get_parent(&self) -> &str {
57        &self.parent
58    }
59    pub fn clear_parent(&mut self) {
60        self.parent.clear();
61    }
62
63    // Param is passed by value, moved
64    pub fn set_parent(&mut self, v: ::std::string::String) {
65        self.parent = v;
66    }
67
68    // Mutable pointer to the field.
69    // If field is not initialized, it is initialized with default value first.
70    pub fn mut_parent(&mut self) -> &mut ::std::string::String {
71        &mut self.parent
72    }
73
74    // Take field
75    pub fn take_parent(&mut self) -> ::std::string::String {
76        ::std::mem::replace(&mut self.parent, ::std::string::String::new())
77    }
78
79    // string description = 2;
80
81
82    pub fn get_description(&self) -> &str {
83        &self.description
84    }
85    pub fn clear_description(&mut self) {
86        self.description.clear();
87    }
88
89    // Param is passed by value, moved
90    pub fn set_description(&mut self, v: ::std::string::String) {
91        self.description = v;
92    }
93
94    // Mutable pointer to the field.
95    // If field is not initialized, it is initialized with default value first.
96    pub fn mut_description(&mut self) -> &mut ::std::string::String {
97        &mut self.description
98    }
99
100    // Take field
101    pub fn take_description(&mut self) -> ::std::string::String {
102        ::std::mem::replace(&mut self.description, ::std::string::String::new())
103    }
104
105    // .google.cloud.osconfig.v1.PatchInstanceFilter instance_filter = 7;
106
107
108    pub fn get_instance_filter(&self) -> &PatchInstanceFilter {
109        self.instance_filter.as_ref().unwrap_or_else(|| <PatchInstanceFilter as ::protobuf::Message>::default_instance())
110    }
111    pub fn clear_instance_filter(&mut self) {
112        self.instance_filter.clear();
113    }
114
115    pub fn has_instance_filter(&self) -> bool {
116        self.instance_filter.is_some()
117    }
118
119    // Param is passed by value, moved
120    pub fn set_instance_filter(&mut self, v: PatchInstanceFilter) {
121        self.instance_filter = ::protobuf::SingularPtrField::some(v);
122    }
123
124    // Mutable pointer to the field.
125    // If field is not initialized, it is initialized with default value first.
126    pub fn mut_instance_filter(&mut self) -> &mut PatchInstanceFilter {
127        if self.instance_filter.is_none() {
128            self.instance_filter.set_default();
129        }
130        self.instance_filter.as_mut().unwrap()
131    }
132
133    // Take field
134    pub fn take_instance_filter(&mut self) -> PatchInstanceFilter {
135        self.instance_filter.take().unwrap_or_else(|| PatchInstanceFilter::new())
136    }
137
138    // .google.cloud.osconfig.v1.PatchConfig patch_config = 4;
139
140
141    pub fn get_patch_config(&self) -> &PatchConfig {
142        self.patch_config.as_ref().unwrap_or_else(|| <PatchConfig as ::protobuf::Message>::default_instance())
143    }
144    pub fn clear_patch_config(&mut self) {
145        self.patch_config.clear();
146    }
147
148    pub fn has_patch_config(&self) -> bool {
149        self.patch_config.is_some()
150    }
151
152    // Param is passed by value, moved
153    pub fn set_patch_config(&mut self, v: PatchConfig) {
154        self.patch_config = ::protobuf::SingularPtrField::some(v);
155    }
156
157    // Mutable pointer to the field.
158    // If field is not initialized, it is initialized with default value first.
159    pub fn mut_patch_config(&mut self) -> &mut PatchConfig {
160        if self.patch_config.is_none() {
161            self.patch_config.set_default();
162        }
163        self.patch_config.as_mut().unwrap()
164    }
165
166    // Take field
167    pub fn take_patch_config(&mut self) -> PatchConfig {
168        self.patch_config.take().unwrap_or_else(|| PatchConfig::new())
169    }
170
171    // .google.protobuf.Duration duration = 5;
172
173
174    pub fn get_duration(&self) -> &::protobuf::well_known_types::Duration {
175        self.duration.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Duration as ::protobuf::Message>::default_instance())
176    }
177    pub fn clear_duration(&mut self) {
178        self.duration.clear();
179    }
180
181    pub fn has_duration(&self) -> bool {
182        self.duration.is_some()
183    }
184
185    // Param is passed by value, moved
186    pub fn set_duration(&mut self, v: ::protobuf::well_known_types::Duration) {
187        self.duration = ::protobuf::SingularPtrField::some(v);
188    }
189
190    // Mutable pointer to the field.
191    // If field is not initialized, it is initialized with default value first.
192    pub fn mut_duration(&mut self) -> &mut ::protobuf::well_known_types::Duration {
193        if self.duration.is_none() {
194            self.duration.set_default();
195        }
196        self.duration.as_mut().unwrap()
197    }
198
199    // Take field
200    pub fn take_duration(&mut self) -> ::protobuf::well_known_types::Duration {
201        self.duration.take().unwrap_or_else(|| ::protobuf::well_known_types::Duration::new())
202    }
203
204    // bool dry_run = 6;
205
206
207    pub fn get_dry_run(&self) -> bool {
208        self.dry_run
209    }
210    pub fn clear_dry_run(&mut self) {
211        self.dry_run = false;
212    }
213
214    // Param is passed by value, moved
215    pub fn set_dry_run(&mut self, v: bool) {
216        self.dry_run = v;
217    }
218
219    // string display_name = 8;
220
221
222    pub fn get_display_name(&self) -> &str {
223        &self.display_name
224    }
225    pub fn clear_display_name(&mut self) {
226        self.display_name.clear();
227    }
228
229    // Param is passed by value, moved
230    pub fn set_display_name(&mut self, v: ::std::string::String) {
231        self.display_name = v;
232    }
233
234    // Mutable pointer to the field.
235    // If field is not initialized, it is initialized with default value first.
236    pub fn mut_display_name(&mut self) -> &mut ::std::string::String {
237        &mut self.display_name
238    }
239
240    // Take field
241    pub fn take_display_name(&mut self) -> ::std::string::String {
242        ::std::mem::replace(&mut self.display_name, ::std::string::String::new())
243    }
244
245    // .google.cloud.osconfig.v1.PatchRollout rollout = 9;
246
247
248    pub fn get_rollout(&self) -> &PatchRollout {
249        self.rollout.as_ref().unwrap_or_else(|| <PatchRollout as ::protobuf::Message>::default_instance())
250    }
251    pub fn clear_rollout(&mut self) {
252        self.rollout.clear();
253    }
254
255    pub fn has_rollout(&self) -> bool {
256        self.rollout.is_some()
257    }
258
259    // Param is passed by value, moved
260    pub fn set_rollout(&mut self, v: PatchRollout) {
261        self.rollout = ::protobuf::SingularPtrField::some(v);
262    }
263
264    // Mutable pointer to the field.
265    // If field is not initialized, it is initialized with default value first.
266    pub fn mut_rollout(&mut self) -> &mut PatchRollout {
267        if self.rollout.is_none() {
268            self.rollout.set_default();
269        }
270        self.rollout.as_mut().unwrap()
271    }
272
273    // Take field
274    pub fn take_rollout(&mut self) -> PatchRollout {
275        self.rollout.take().unwrap_or_else(|| PatchRollout::new())
276    }
277}
278
279impl ::protobuf::Message for ExecutePatchJobRequest {
280    fn is_initialized(&self) -> bool {
281        for v in &self.instance_filter {
282            if !v.is_initialized() {
283                return false;
284            }
285        };
286        for v in &self.patch_config {
287            if !v.is_initialized() {
288                return false;
289            }
290        };
291        for v in &self.duration {
292            if !v.is_initialized() {
293                return false;
294            }
295        };
296        for v in &self.rollout {
297            if !v.is_initialized() {
298                return false;
299            }
300        };
301        true
302    }
303
304    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
305        while !is.eof()? {
306            let (field_number, wire_type) = is.read_tag_unpack()?;
307            match field_number {
308                1 => {
309                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent)?;
310                },
311                2 => {
312                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.description)?;
313                },
314                7 => {
315                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.instance_filter)?;
316                },
317                4 => {
318                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.patch_config)?;
319                },
320                5 => {
321                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.duration)?;
322                },
323                6 => {
324                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
325                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
326                    }
327                    let tmp = is.read_bool()?;
328                    self.dry_run = tmp;
329                },
330                8 => {
331                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.display_name)?;
332                },
333                9 => {
334                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.rollout)?;
335                },
336                _ => {
337                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
338                },
339            };
340        }
341        ::std::result::Result::Ok(())
342    }
343
344    // Compute sizes of nested messages
345    #[allow(unused_variables)]
346    fn compute_size(&self) -> u32 {
347        let mut my_size = 0;
348        if !self.parent.is_empty() {
349            my_size += ::protobuf::rt::string_size(1, &self.parent);
350        }
351        if !self.description.is_empty() {
352            my_size += ::protobuf::rt::string_size(2, &self.description);
353        }
354        if let Some(ref v) = self.instance_filter.as_ref() {
355            let len = v.compute_size();
356            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
357        }
358        if let Some(ref v) = self.patch_config.as_ref() {
359            let len = v.compute_size();
360            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
361        }
362        if let Some(ref v) = self.duration.as_ref() {
363            let len = v.compute_size();
364            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
365        }
366        if self.dry_run != false {
367            my_size += 2;
368        }
369        if !self.display_name.is_empty() {
370            my_size += ::protobuf::rt::string_size(8, &self.display_name);
371        }
372        if let Some(ref v) = self.rollout.as_ref() {
373            let len = v.compute_size();
374            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
375        }
376        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
377        self.cached_size.set(my_size);
378        my_size
379    }
380
381    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
382        if !self.parent.is_empty() {
383            os.write_string(1, &self.parent)?;
384        }
385        if !self.description.is_empty() {
386            os.write_string(2, &self.description)?;
387        }
388        if let Some(ref v) = self.instance_filter.as_ref() {
389            os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
390            os.write_raw_varint32(v.get_cached_size())?;
391            v.write_to_with_cached_sizes(os)?;
392        }
393        if let Some(ref v) = self.patch_config.as_ref() {
394            os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
395            os.write_raw_varint32(v.get_cached_size())?;
396            v.write_to_with_cached_sizes(os)?;
397        }
398        if let Some(ref v) = self.duration.as_ref() {
399            os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
400            os.write_raw_varint32(v.get_cached_size())?;
401            v.write_to_with_cached_sizes(os)?;
402        }
403        if self.dry_run != false {
404            os.write_bool(6, self.dry_run)?;
405        }
406        if !self.display_name.is_empty() {
407            os.write_string(8, &self.display_name)?;
408        }
409        if let Some(ref v) = self.rollout.as_ref() {
410            os.write_tag(9, ::protobuf::wire_format::WireTypeLengthDelimited)?;
411            os.write_raw_varint32(v.get_cached_size())?;
412            v.write_to_with_cached_sizes(os)?;
413        }
414        os.write_unknown_fields(self.get_unknown_fields())?;
415        ::std::result::Result::Ok(())
416    }
417
418    fn get_cached_size(&self) -> u32 {
419        self.cached_size.get()
420    }
421
422    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
423        &self.unknown_fields
424    }
425
426    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
427        &mut self.unknown_fields
428    }
429
430    fn as_any(&self) -> &dyn (::std::any::Any) {
431        self as &dyn (::std::any::Any)
432    }
433    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
434        self as &mut dyn (::std::any::Any)
435    }
436    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
437        self
438    }
439
440    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
441        Self::descriptor_static()
442    }
443
444    fn new() -> ExecutePatchJobRequest {
445        ExecutePatchJobRequest::new()
446    }
447
448    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
449        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
450        descriptor.get(|| {
451            let mut fields = ::std::vec::Vec::new();
452            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
453                "parent",
454                |m: &ExecutePatchJobRequest| { &m.parent },
455                |m: &mut ExecutePatchJobRequest| { &mut m.parent },
456            ));
457            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
458                "description",
459                |m: &ExecutePatchJobRequest| { &m.description },
460                |m: &mut ExecutePatchJobRequest| { &mut m.description },
461            ));
462            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<PatchInstanceFilter>>(
463                "instance_filter",
464                |m: &ExecutePatchJobRequest| { &m.instance_filter },
465                |m: &mut ExecutePatchJobRequest| { &mut m.instance_filter },
466            ));
467            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<PatchConfig>>(
468                "patch_config",
469                |m: &ExecutePatchJobRequest| { &m.patch_config },
470                |m: &mut ExecutePatchJobRequest| { &mut m.patch_config },
471            ));
472            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Duration>>(
473                "duration",
474                |m: &ExecutePatchJobRequest| { &m.duration },
475                |m: &mut ExecutePatchJobRequest| { &mut m.duration },
476            ));
477            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
478                "dry_run",
479                |m: &ExecutePatchJobRequest| { &m.dry_run },
480                |m: &mut ExecutePatchJobRequest| { &mut m.dry_run },
481            ));
482            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
483                "display_name",
484                |m: &ExecutePatchJobRequest| { &m.display_name },
485                |m: &mut ExecutePatchJobRequest| { &mut m.display_name },
486            ));
487            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<PatchRollout>>(
488                "rollout",
489                |m: &ExecutePatchJobRequest| { &m.rollout },
490                |m: &mut ExecutePatchJobRequest| { &mut m.rollout },
491            ));
492            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ExecutePatchJobRequest>(
493                "ExecutePatchJobRequest",
494                fields,
495                file_descriptor_proto()
496            )
497        })
498    }
499
500    fn default_instance() -> &'static ExecutePatchJobRequest {
501        static instance: ::protobuf::rt::LazyV2<ExecutePatchJobRequest> = ::protobuf::rt::LazyV2::INIT;
502        instance.get(ExecutePatchJobRequest::new)
503    }
504}
505
506impl ::protobuf::Clear for ExecutePatchJobRequest {
507    fn clear(&mut self) {
508        self.parent.clear();
509        self.description.clear();
510        self.instance_filter.clear();
511        self.patch_config.clear();
512        self.duration.clear();
513        self.dry_run = false;
514        self.display_name.clear();
515        self.rollout.clear();
516        self.unknown_fields.clear();
517    }
518}
519
520impl ::std::fmt::Debug for ExecutePatchJobRequest {
521    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
522        ::protobuf::text_format::fmt(self, f)
523    }
524}
525
526impl ::protobuf::reflect::ProtobufValue for ExecutePatchJobRequest {
527    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
528        ::protobuf::reflect::ReflectValueRef::Message(self)
529    }
530}
531
532#[derive(PartialEq,Clone,Default)]
533pub struct GetPatchJobRequest {
534    // message fields
535    pub name: ::std::string::String,
536    // special fields
537    pub unknown_fields: ::protobuf::UnknownFields,
538    pub cached_size: ::protobuf::CachedSize,
539}
540
541impl<'a> ::std::default::Default for &'a GetPatchJobRequest {
542    fn default() -> &'a GetPatchJobRequest {
543        <GetPatchJobRequest as ::protobuf::Message>::default_instance()
544    }
545}
546
547impl GetPatchJobRequest {
548    pub fn new() -> GetPatchJobRequest {
549        ::std::default::Default::default()
550    }
551
552    // string name = 1;
553
554
555    pub fn get_name(&self) -> &str {
556        &self.name
557    }
558    pub fn clear_name(&mut self) {
559        self.name.clear();
560    }
561
562    // Param is passed by value, moved
563    pub fn set_name(&mut self, v: ::std::string::String) {
564        self.name = v;
565    }
566
567    // Mutable pointer to the field.
568    // If field is not initialized, it is initialized with default value first.
569    pub fn mut_name(&mut self) -> &mut ::std::string::String {
570        &mut self.name
571    }
572
573    // Take field
574    pub fn take_name(&mut self) -> ::std::string::String {
575        ::std::mem::replace(&mut self.name, ::std::string::String::new())
576    }
577}
578
579impl ::protobuf::Message for GetPatchJobRequest {
580    fn is_initialized(&self) -> bool {
581        true
582    }
583
584    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
585        while !is.eof()? {
586            let (field_number, wire_type) = is.read_tag_unpack()?;
587            match field_number {
588                1 => {
589                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
590                },
591                _ => {
592                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
593                },
594            };
595        }
596        ::std::result::Result::Ok(())
597    }
598
599    // Compute sizes of nested messages
600    #[allow(unused_variables)]
601    fn compute_size(&self) -> u32 {
602        let mut my_size = 0;
603        if !self.name.is_empty() {
604            my_size += ::protobuf::rt::string_size(1, &self.name);
605        }
606        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
607        self.cached_size.set(my_size);
608        my_size
609    }
610
611    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
612        if !self.name.is_empty() {
613            os.write_string(1, &self.name)?;
614        }
615        os.write_unknown_fields(self.get_unknown_fields())?;
616        ::std::result::Result::Ok(())
617    }
618
619    fn get_cached_size(&self) -> u32 {
620        self.cached_size.get()
621    }
622
623    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
624        &self.unknown_fields
625    }
626
627    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
628        &mut self.unknown_fields
629    }
630
631    fn as_any(&self) -> &dyn (::std::any::Any) {
632        self as &dyn (::std::any::Any)
633    }
634    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
635        self as &mut dyn (::std::any::Any)
636    }
637    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
638        self
639    }
640
641    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
642        Self::descriptor_static()
643    }
644
645    fn new() -> GetPatchJobRequest {
646        GetPatchJobRequest::new()
647    }
648
649    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
650        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
651        descriptor.get(|| {
652            let mut fields = ::std::vec::Vec::new();
653            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
654                "name",
655                |m: &GetPatchJobRequest| { &m.name },
656                |m: &mut GetPatchJobRequest| { &mut m.name },
657            ));
658            ::protobuf::reflect::MessageDescriptor::new_pb_name::<GetPatchJobRequest>(
659                "GetPatchJobRequest",
660                fields,
661                file_descriptor_proto()
662            )
663        })
664    }
665
666    fn default_instance() -> &'static GetPatchJobRequest {
667        static instance: ::protobuf::rt::LazyV2<GetPatchJobRequest> = ::protobuf::rt::LazyV2::INIT;
668        instance.get(GetPatchJobRequest::new)
669    }
670}
671
672impl ::protobuf::Clear for GetPatchJobRequest {
673    fn clear(&mut self) {
674        self.name.clear();
675        self.unknown_fields.clear();
676    }
677}
678
679impl ::std::fmt::Debug for GetPatchJobRequest {
680    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
681        ::protobuf::text_format::fmt(self, f)
682    }
683}
684
685impl ::protobuf::reflect::ProtobufValue for GetPatchJobRequest {
686    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
687        ::protobuf::reflect::ReflectValueRef::Message(self)
688    }
689}
690
691#[derive(PartialEq,Clone,Default)]
692pub struct ListPatchJobInstanceDetailsRequest {
693    // message fields
694    pub parent: ::std::string::String,
695    pub page_size: i32,
696    pub page_token: ::std::string::String,
697    pub filter: ::std::string::String,
698    // special fields
699    pub unknown_fields: ::protobuf::UnknownFields,
700    pub cached_size: ::protobuf::CachedSize,
701}
702
703impl<'a> ::std::default::Default for &'a ListPatchJobInstanceDetailsRequest {
704    fn default() -> &'a ListPatchJobInstanceDetailsRequest {
705        <ListPatchJobInstanceDetailsRequest as ::protobuf::Message>::default_instance()
706    }
707}
708
709impl ListPatchJobInstanceDetailsRequest {
710    pub fn new() -> ListPatchJobInstanceDetailsRequest {
711        ::std::default::Default::default()
712    }
713
714    // string parent = 1;
715
716
717    pub fn get_parent(&self) -> &str {
718        &self.parent
719    }
720    pub fn clear_parent(&mut self) {
721        self.parent.clear();
722    }
723
724    // Param is passed by value, moved
725    pub fn set_parent(&mut self, v: ::std::string::String) {
726        self.parent = v;
727    }
728
729    // Mutable pointer to the field.
730    // If field is not initialized, it is initialized with default value first.
731    pub fn mut_parent(&mut self) -> &mut ::std::string::String {
732        &mut self.parent
733    }
734
735    // Take field
736    pub fn take_parent(&mut self) -> ::std::string::String {
737        ::std::mem::replace(&mut self.parent, ::std::string::String::new())
738    }
739
740    // int32 page_size = 2;
741
742
743    pub fn get_page_size(&self) -> i32 {
744        self.page_size
745    }
746    pub fn clear_page_size(&mut self) {
747        self.page_size = 0;
748    }
749
750    // Param is passed by value, moved
751    pub fn set_page_size(&mut self, v: i32) {
752        self.page_size = v;
753    }
754
755    // string page_token = 3;
756
757
758    pub fn get_page_token(&self) -> &str {
759        &self.page_token
760    }
761    pub fn clear_page_token(&mut self) {
762        self.page_token.clear();
763    }
764
765    // Param is passed by value, moved
766    pub fn set_page_token(&mut self, v: ::std::string::String) {
767        self.page_token = v;
768    }
769
770    // Mutable pointer to the field.
771    // If field is not initialized, it is initialized with default value first.
772    pub fn mut_page_token(&mut self) -> &mut ::std::string::String {
773        &mut self.page_token
774    }
775
776    // Take field
777    pub fn take_page_token(&mut self) -> ::std::string::String {
778        ::std::mem::replace(&mut self.page_token, ::std::string::String::new())
779    }
780
781    // string filter = 4;
782
783
784    pub fn get_filter(&self) -> &str {
785        &self.filter
786    }
787    pub fn clear_filter(&mut self) {
788        self.filter.clear();
789    }
790
791    // Param is passed by value, moved
792    pub fn set_filter(&mut self, v: ::std::string::String) {
793        self.filter = v;
794    }
795
796    // Mutable pointer to the field.
797    // If field is not initialized, it is initialized with default value first.
798    pub fn mut_filter(&mut self) -> &mut ::std::string::String {
799        &mut self.filter
800    }
801
802    // Take field
803    pub fn take_filter(&mut self) -> ::std::string::String {
804        ::std::mem::replace(&mut self.filter, ::std::string::String::new())
805    }
806}
807
808impl ::protobuf::Message for ListPatchJobInstanceDetailsRequest {
809    fn is_initialized(&self) -> bool {
810        true
811    }
812
813    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
814        while !is.eof()? {
815            let (field_number, wire_type) = is.read_tag_unpack()?;
816            match field_number {
817                1 => {
818                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent)?;
819                },
820                2 => {
821                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
822                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
823                    }
824                    let tmp = is.read_int32()?;
825                    self.page_size = tmp;
826                },
827                3 => {
828                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.page_token)?;
829                },
830                4 => {
831                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.filter)?;
832                },
833                _ => {
834                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
835                },
836            };
837        }
838        ::std::result::Result::Ok(())
839    }
840
841    // Compute sizes of nested messages
842    #[allow(unused_variables)]
843    fn compute_size(&self) -> u32 {
844        let mut my_size = 0;
845        if !self.parent.is_empty() {
846            my_size += ::protobuf::rt::string_size(1, &self.parent);
847        }
848        if self.page_size != 0 {
849            my_size += ::protobuf::rt::value_size(2, self.page_size, ::protobuf::wire_format::WireTypeVarint);
850        }
851        if !self.page_token.is_empty() {
852            my_size += ::protobuf::rt::string_size(3, &self.page_token);
853        }
854        if !self.filter.is_empty() {
855            my_size += ::protobuf::rt::string_size(4, &self.filter);
856        }
857        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
858        self.cached_size.set(my_size);
859        my_size
860    }
861
862    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
863        if !self.parent.is_empty() {
864            os.write_string(1, &self.parent)?;
865        }
866        if self.page_size != 0 {
867            os.write_int32(2, self.page_size)?;
868        }
869        if !self.page_token.is_empty() {
870            os.write_string(3, &self.page_token)?;
871        }
872        if !self.filter.is_empty() {
873            os.write_string(4, &self.filter)?;
874        }
875        os.write_unknown_fields(self.get_unknown_fields())?;
876        ::std::result::Result::Ok(())
877    }
878
879    fn get_cached_size(&self) -> u32 {
880        self.cached_size.get()
881    }
882
883    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
884        &self.unknown_fields
885    }
886
887    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
888        &mut self.unknown_fields
889    }
890
891    fn as_any(&self) -> &dyn (::std::any::Any) {
892        self as &dyn (::std::any::Any)
893    }
894    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
895        self as &mut dyn (::std::any::Any)
896    }
897    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
898        self
899    }
900
901    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
902        Self::descriptor_static()
903    }
904
905    fn new() -> ListPatchJobInstanceDetailsRequest {
906        ListPatchJobInstanceDetailsRequest::new()
907    }
908
909    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
910        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
911        descriptor.get(|| {
912            let mut fields = ::std::vec::Vec::new();
913            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
914                "parent",
915                |m: &ListPatchJobInstanceDetailsRequest| { &m.parent },
916                |m: &mut ListPatchJobInstanceDetailsRequest| { &mut m.parent },
917            ));
918            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
919                "page_size",
920                |m: &ListPatchJobInstanceDetailsRequest| { &m.page_size },
921                |m: &mut ListPatchJobInstanceDetailsRequest| { &mut m.page_size },
922            ));
923            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
924                "page_token",
925                |m: &ListPatchJobInstanceDetailsRequest| { &m.page_token },
926                |m: &mut ListPatchJobInstanceDetailsRequest| { &mut m.page_token },
927            ));
928            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
929                "filter",
930                |m: &ListPatchJobInstanceDetailsRequest| { &m.filter },
931                |m: &mut ListPatchJobInstanceDetailsRequest| { &mut m.filter },
932            ));
933            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListPatchJobInstanceDetailsRequest>(
934                "ListPatchJobInstanceDetailsRequest",
935                fields,
936                file_descriptor_proto()
937            )
938        })
939    }
940
941    fn default_instance() -> &'static ListPatchJobInstanceDetailsRequest {
942        static instance: ::protobuf::rt::LazyV2<ListPatchJobInstanceDetailsRequest> = ::protobuf::rt::LazyV2::INIT;
943        instance.get(ListPatchJobInstanceDetailsRequest::new)
944    }
945}
946
947impl ::protobuf::Clear for ListPatchJobInstanceDetailsRequest {
948    fn clear(&mut self) {
949        self.parent.clear();
950        self.page_size = 0;
951        self.page_token.clear();
952        self.filter.clear();
953        self.unknown_fields.clear();
954    }
955}
956
957impl ::std::fmt::Debug for ListPatchJobInstanceDetailsRequest {
958    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
959        ::protobuf::text_format::fmt(self, f)
960    }
961}
962
963impl ::protobuf::reflect::ProtobufValue for ListPatchJobInstanceDetailsRequest {
964    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
965        ::protobuf::reflect::ReflectValueRef::Message(self)
966    }
967}
968
969#[derive(PartialEq,Clone,Default)]
970pub struct ListPatchJobInstanceDetailsResponse {
971    // message fields
972    pub patch_job_instance_details: ::protobuf::RepeatedField<PatchJobInstanceDetails>,
973    pub next_page_token: ::std::string::String,
974    // special fields
975    pub unknown_fields: ::protobuf::UnknownFields,
976    pub cached_size: ::protobuf::CachedSize,
977}
978
979impl<'a> ::std::default::Default for &'a ListPatchJobInstanceDetailsResponse {
980    fn default() -> &'a ListPatchJobInstanceDetailsResponse {
981        <ListPatchJobInstanceDetailsResponse as ::protobuf::Message>::default_instance()
982    }
983}
984
985impl ListPatchJobInstanceDetailsResponse {
986    pub fn new() -> ListPatchJobInstanceDetailsResponse {
987        ::std::default::Default::default()
988    }
989
990    // repeated .google.cloud.osconfig.v1.PatchJobInstanceDetails patch_job_instance_details = 1;
991
992
993    pub fn get_patch_job_instance_details(&self) -> &[PatchJobInstanceDetails] {
994        &self.patch_job_instance_details
995    }
996    pub fn clear_patch_job_instance_details(&mut self) {
997        self.patch_job_instance_details.clear();
998    }
999
1000    // Param is passed by value, moved
1001    pub fn set_patch_job_instance_details(&mut self, v: ::protobuf::RepeatedField<PatchJobInstanceDetails>) {
1002        self.patch_job_instance_details = v;
1003    }
1004
1005    // Mutable pointer to the field.
1006    pub fn mut_patch_job_instance_details(&mut self) -> &mut ::protobuf::RepeatedField<PatchJobInstanceDetails> {
1007        &mut self.patch_job_instance_details
1008    }
1009
1010    // Take field
1011    pub fn take_patch_job_instance_details(&mut self) -> ::protobuf::RepeatedField<PatchJobInstanceDetails> {
1012        ::std::mem::replace(&mut self.patch_job_instance_details, ::protobuf::RepeatedField::new())
1013    }
1014
1015    // string next_page_token = 2;
1016
1017
1018    pub fn get_next_page_token(&self) -> &str {
1019        &self.next_page_token
1020    }
1021    pub fn clear_next_page_token(&mut self) {
1022        self.next_page_token.clear();
1023    }
1024
1025    // Param is passed by value, moved
1026    pub fn set_next_page_token(&mut self, v: ::std::string::String) {
1027        self.next_page_token = v;
1028    }
1029
1030    // Mutable pointer to the field.
1031    // If field is not initialized, it is initialized with default value first.
1032    pub fn mut_next_page_token(&mut self) -> &mut ::std::string::String {
1033        &mut self.next_page_token
1034    }
1035
1036    // Take field
1037    pub fn take_next_page_token(&mut self) -> ::std::string::String {
1038        ::std::mem::replace(&mut self.next_page_token, ::std::string::String::new())
1039    }
1040}
1041
1042impl ::protobuf::Message for ListPatchJobInstanceDetailsResponse {
1043    fn is_initialized(&self) -> bool {
1044        for v in &self.patch_job_instance_details {
1045            if !v.is_initialized() {
1046                return false;
1047            }
1048        };
1049        true
1050    }
1051
1052    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1053        while !is.eof()? {
1054            let (field_number, wire_type) = is.read_tag_unpack()?;
1055            match field_number {
1056                1 => {
1057                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.patch_job_instance_details)?;
1058                },
1059                2 => {
1060                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.next_page_token)?;
1061                },
1062                _ => {
1063                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1064                },
1065            };
1066        }
1067        ::std::result::Result::Ok(())
1068    }
1069
1070    // Compute sizes of nested messages
1071    #[allow(unused_variables)]
1072    fn compute_size(&self) -> u32 {
1073        let mut my_size = 0;
1074        for value in &self.patch_job_instance_details {
1075            let len = value.compute_size();
1076            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1077        };
1078        if !self.next_page_token.is_empty() {
1079            my_size += ::protobuf::rt::string_size(2, &self.next_page_token);
1080        }
1081        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1082        self.cached_size.set(my_size);
1083        my_size
1084    }
1085
1086    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1087        for v in &self.patch_job_instance_details {
1088            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1089            os.write_raw_varint32(v.get_cached_size())?;
1090            v.write_to_with_cached_sizes(os)?;
1091        };
1092        if !self.next_page_token.is_empty() {
1093            os.write_string(2, &self.next_page_token)?;
1094        }
1095        os.write_unknown_fields(self.get_unknown_fields())?;
1096        ::std::result::Result::Ok(())
1097    }
1098
1099    fn get_cached_size(&self) -> u32 {
1100        self.cached_size.get()
1101    }
1102
1103    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1104        &self.unknown_fields
1105    }
1106
1107    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1108        &mut self.unknown_fields
1109    }
1110
1111    fn as_any(&self) -> &dyn (::std::any::Any) {
1112        self as &dyn (::std::any::Any)
1113    }
1114    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1115        self as &mut dyn (::std::any::Any)
1116    }
1117    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1118        self
1119    }
1120
1121    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1122        Self::descriptor_static()
1123    }
1124
1125    fn new() -> ListPatchJobInstanceDetailsResponse {
1126        ListPatchJobInstanceDetailsResponse::new()
1127    }
1128
1129    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1130        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1131        descriptor.get(|| {
1132            let mut fields = ::std::vec::Vec::new();
1133            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<PatchJobInstanceDetails>>(
1134                "patch_job_instance_details",
1135                |m: &ListPatchJobInstanceDetailsResponse| { &m.patch_job_instance_details },
1136                |m: &mut ListPatchJobInstanceDetailsResponse| { &mut m.patch_job_instance_details },
1137            ));
1138            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1139                "next_page_token",
1140                |m: &ListPatchJobInstanceDetailsResponse| { &m.next_page_token },
1141                |m: &mut ListPatchJobInstanceDetailsResponse| { &mut m.next_page_token },
1142            ));
1143            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListPatchJobInstanceDetailsResponse>(
1144                "ListPatchJobInstanceDetailsResponse",
1145                fields,
1146                file_descriptor_proto()
1147            )
1148        })
1149    }
1150
1151    fn default_instance() -> &'static ListPatchJobInstanceDetailsResponse {
1152        static instance: ::protobuf::rt::LazyV2<ListPatchJobInstanceDetailsResponse> = ::protobuf::rt::LazyV2::INIT;
1153        instance.get(ListPatchJobInstanceDetailsResponse::new)
1154    }
1155}
1156
1157impl ::protobuf::Clear for ListPatchJobInstanceDetailsResponse {
1158    fn clear(&mut self) {
1159        self.patch_job_instance_details.clear();
1160        self.next_page_token.clear();
1161        self.unknown_fields.clear();
1162    }
1163}
1164
1165impl ::std::fmt::Debug for ListPatchJobInstanceDetailsResponse {
1166    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1167        ::protobuf::text_format::fmt(self, f)
1168    }
1169}
1170
1171impl ::protobuf::reflect::ProtobufValue for ListPatchJobInstanceDetailsResponse {
1172    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1173        ::protobuf::reflect::ReflectValueRef::Message(self)
1174    }
1175}
1176
1177#[derive(PartialEq,Clone,Default)]
1178pub struct PatchJobInstanceDetails {
1179    // message fields
1180    pub name: ::std::string::String,
1181    pub instance_system_id: ::std::string::String,
1182    pub state: Instance_PatchState,
1183    pub failure_reason: ::std::string::String,
1184    pub attempt_count: i64,
1185    // special fields
1186    pub unknown_fields: ::protobuf::UnknownFields,
1187    pub cached_size: ::protobuf::CachedSize,
1188}
1189
1190impl<'a> ::std::default::Default for &'a PatchJobInstanceDetails {
1191    fn default() -> &'a PatchJobInstanceDetails {
1192        <PatchJobInstanceDetails as ::protobuf::Message>::default_instance()
1193    }
1194}
1195
1196impl PatchJobInstanceDetails {
1197    pub fn new() -> PatchJobInstanceDetails {
1198        ::std::default::Default::default()
1199    }
1200
1201    // string name = 1;
1202
1203
1204    pub fn get_name(&self) -> &str {
1205        &self.name
1206    }
1207    pub fn clear_name(&mut self) {
1208        self.name.clear();
1209    }
1210
1211    // Param is passed by value, moved
1212    pub fn set_name(&mut self, v: ::std::string::String) {
1213        self.name = v;
1214    }
1215
1216    // Mutable pointer to the field.
1217    // If field is not initialized, it is initialized with default value first.
1218    pub fn mut_name(&mut self) -> &mut ::std::string::String {
1219        &mut self.name
1220    }
1221
1222    // Take field
1223    pub fn take_name(&mut self) -> ::std::string::String {
1224        ::std::mem::replace(&mut self.name, ::std::string::String::new())
1225    }
1226
1227    // string instance_system_id = 2;
1228
1229
1230    pub fn get_instance_system_id(&self) -> &str {
1231        &self.instance_system_id
1232    }
1233    pub fn clear_instance_system_id(&mut self) {
1234        self.instance_system_id.clear();
1235    }
1236
1237    // Param is passed by value, moved
1238    pub fn set_instance_system_id(&mut self, v: ::std::string::String) {
1239        self.instance_system_id = v;
1240    }
1241
1242    // Mutable pointer to the field.
1243    // If field is not initialized, it is initialized with default value first.
1244    pub fn mut_instance_system_id(&mut self) -> &mut ::std::string::String {
1245        &mut self.instance_system_id
1246    }
1247
1248    // Take field
1249    pub fn take_instance_system_id(&mut self) -> ::std::string::String {
1250        ::std::mem::replace(&mut self.instance_system_id, ::std::string::String::new())
1251    }
1252
1253    // .google.cloud.osconfig.v1.Instance.PatchState state = 3;
1254
1255
1256    pub fn get_state(&self) -> Instance_PatchState {
1257        self.state
1258    }
1259    pub fn clear_state(&mut self) {
1260        self.state = Instance_PatchState::PATCH_STATE_UNSPECIFIED;
1261    }
1262
1263    // Param is passed by value, moved
1264    pub fn set_state(&mut self, v: Instance_PatchState) {
1265        self.state = v;
1266    }
1267
1268    // string failure_reason = 4;
1269
1270
1271    pub fn get_failure_reason(&self) -> &str {
1272        &self.failure_reason
1273    }
1274    pub fn clear_failure_reason(&mut self) {
1275        self.failure_reason.clear();
1276    }
1277
1278    // Param is passed by value, moved
1279    pub fn set_failure_reason(&mut self, v: ::std::string::String) {
1280        self.failure_reason = v;
1281    }
1282
1283    // Mutable pointer to the field.
1284    // If field is not initialized, it is initialized with default value first.
1285    pub fn mut_failure_reason(&mut self) -> &mut ::std::string::String {
1286        &mut self.failure_reason
1287    }
1288
1289    // Take field
1290    pub fn take_failure_reason(&mut self) -> ::std::string::String {
1291        ::std::mem::replace(&mut self.failure_reason, ::std::string::String::new())
1292    }
1293
1294    // int64 attempt_count = 5;
1295
1296
1297    pub fn get_attempt_count(&self) -> i64 {
1298        self.attempt_count
1299    }
1300    pub fn clear_attempt_count(&mut self) {
1301        self.attempt_count = 0;
1302    }
1303
1304    // Param is passed by value, moved
1305    pub fn set_attempt_count(&mut self, v: i64) {
1306        self.attempt_count = v;
1307    }
1308}
1309
1310impl ::protobuf::Message for PatchJobInstanceDetails {
1311    fn is_initialized(&self) -> bool {
1312        true
1313    }
1314
1315    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1316        while !is.eof()? {
1317            let (field_number, wire_type) = is.read_tag_unpack()?;
1318            match field_number {
1319                1 => {
1320                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
1321                },
1322                2 => {
1323                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.instance_system_id)?;
1324                },
1325                3 => {
1326                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.state, 3, &mut self.unknown_fields)?
1327                },
1328                4 => {
1329                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.failure_reason)?;
1330                },
1331                5 => {
1332                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1333                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1334                    }
1335                    let tmp = is.read_int64()?;
1336                    self.attempt_count = tmp;
1337                },
1338                _ => {
1339                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1340                },
1341            };
1342        }
1343        ::std::result::Result::Ok(())
1344    }
1345
1346    // Compute sizes of nested messages
1347    #[allow(unused_variables)]
1348    fn compute_size(&self) -> u32 {
1349        let mut my_size = 0;
1350        if !self.name.is_empty() {
1351            my_size += ::protobuf::rt::string_size(1, &self.name);
1352        }
1353        if !self.instance_system_id.is_empty() {
1354            my_size += ::protobuf::rt::string_size(2, &self.instance_system_id);
1355        }
1356        if self.state != Instance_PatchState::PATCH_STATE_UNSPECIFIED {
1357            my_size += ::protobuf::rt::enum_size(3, self.state);
1358        }
1359        if !self.failure_reason.is_empty() {
1360            my_size += ::protobuf::rt::string_size(4, &self.failure_reason);
1361        }
1362        if self.attempt_count != 0 {
1363            my_size += ::protobuf::rt::value_size(5, self.attempt_count, ::protobuf::wire_format::WireTypeVarint);
1364        }
1365        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1366        self.cached_size.set(my_size);
1367        my_size
1368    }
1369
1370    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1371        if !self.name.is_empty() {
1372            os.write_string(1, &self.name)?;
1373        }
1374        if !self.instance_system_id.is_empty() {
1375            os.write_string(2, &self.instance_system_id)?;
1376        }
1377        if self.state != Instance_PatchState::PATCH_STATE_UNSPECIFIED {
1378            os.write_enum(3, ::protobuf::ProtobufEnum::value(&self.state))?;
1379        }
1380        if !self.failure_reason.is_empty() {
1381            os.write_string(4, &self.failure_reason)?;
1382        }
1383        if self.attempt_count != 0 {
1384            os.write_int64(5, self.attempt_count)?;
1385        }
1386        os.write_unknown_fields(self.get_unknown_fields())?;
1387        ::std::result::Result::Ok(())
1388    }
1389
1390    fn get_cached_size(&self) -> u32 {
1391        self.cached_size.get()
1392    }
1393
1394    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1395        &self.unknown_fields
1396    }
1397
1398    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1399        &mut self.unknown_fields
1400    }
1401
1402    fn as_any(&self) -> &dyn (::std::any::Any) {
1403        self as &dyn (::std::any::Any)
1404    }
1405    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1406        self as &mut dyn (::std::any::Any)
1407    }
1408    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1409        self
1410    }
1411
1412    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1413        Self::descriptor_static()
1414    }
1415
1416    fn new() -> PatchJobInstanceDetails {
1417        PatchJobInstanceDetails::new()
1418    }
1419
1420    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1421        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1422        descriptor.get(|| {
1423            let mut fields = ::std::vec::Vec::new();
1424            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1425                "name",
1426                |m: &PatchJobInstanceDetails| { &m.name },
1427                |m: &mut PatchJobInstanceDetails| { &mut m.name },
1428            ));
1429            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1430                "instance_system_id",
1431                |m: &PatchJobInstanceDetails| { &m.instance_system_id },
1432                |m: &mut PatchJobInstanceDetails| { &mut m.instance_system_id },
1433            ));
1434            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<Instance_PatchState>>(
1435                "state",
1436                |m: &PatchJobInstanceDetails| { &m.state },
1437                |m: &mut PatchJobInstanceDetails| { &mut m.state },
1438            ));
1439            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1440                "failure_reason",
1441                |m: &PatchJobInstanceDetails| { &m.failure_reason },
1442                |m: &mut PatchJobInstanceDetails| { &mut m.failure_reason },
1443            ));
1444            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1445                "attempt_count",
1446                |m: &PatchJobInstanceDetails| { &m.attempt_count },
1447                |m: &mut PatchJobInstanceDetails| { &mut m.attempt_count },
1448            ));
1449            ::protobuf::reflect::MessageDescriptor::new_pb_name::<PatchJobInstanceDetails>(
1450                "PatchJobInstanceDetails",
1451                fields,
1452                file_descriptor_proto()
1453            )
1454        })
1455    }
1456
1457    fn default_instance() -> &'static PatchJobInstanceDetails {
1458        static instance: ::protobuf::rt::LazyV2<PatchJobInstanceDetails> = ::protobuf::rt::LazyV2::INIT;
1459        instance.get(PatchJobInstanceDetails::new)
1460    }
1461}
1462
1463impl ::protobuf::Clear for PatchJobInstanceDetails {
1464    fn clear(&mut self) {
1465        self.name.clear();
1466        self.instance_system_id.clear();
1467        self.state = Instance_PatchState::PATCH_STATE_UNSPECIFIED;
1468        self.failure_reason.clear();
1469        self.attempt_count = 0;
1470        self.unknown_fields.clear();
1471    }
1472}
1473
1474impl ::std::fmt::Debug for PatchJobInstanceDetails {
1475    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1476        ::protobuf::text_format::fmt(self, f)
1477    }
1478}
1479
1480impl ::protobuf::reflect::ProtobufValue for PatchJobInstanceDetails {
1481    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1482        ::protobuf::reflect::ReflectValueRef::Message(self)
1483    }
1484}
1485
1486#[derive(PartialEq,Clone,Default)]
1487pub struct ListPatchJobsRequest {
1488    // message fields
1489    pub parent: ::std::string::String,
1490    pub page_size: i32,
1491    pub page_token: ::std::string::String,
1492    pub filter: ::std::string::String,
1493    // special fields
1494    pub unknown_fields: ::protobuf::UnknownFields,
1495    pub cached_size: ::protobuf::CachedSize,
1496}
1497
1498impl<'a> ::std::default::Default for &'a ListPatchJobsRequest {
1499    fn default() -> &'a ListPatchJobsRequest {
1500        <ListPatchJobsRequest as ::protobuf::Message>::default_instance()
1501    }
1502}
1503
1504impl ListPatchJobsRequest {
1505    pub fn new() -> ListPatchJobsRequest {
1506        ::std::default::Default::default()
1507    }
1508
1509    // string parent = 1;
1510
1511
1512    pub fn get_parent(&self) -> &str {
1513        &self.parent
1514    }
1515    pub fn clear_parent(&mut self) {
1516        self.parent.clear();
1517    }
1518
1519    // Param is passed by value, moved
1520    pub fn set_parent(&mut self, v: ::std::string::String) {
1521        self.parent = v;
1522    }
1523
1524    // Mutable pointer to the field.
1525    // If field is not initialized, it is initialized with default value first.
1526    pub fn mut_parent(&mut self) -> &mut ::std::string::String {
1527        &mut self.parent
1528    }
1529
1530    // Take field
1531    pub fn take_parent(&mut self) -> ::std::string::String {
1532        ::std::mem::replace(&mut self.parent, ::std::string::String::new())
1533    }
1534
1535    // int32 page_size = 2;
1536
1537
1538    pub fn get_page_size(&self) -> i32 {
1539        self.page_size
1540    }
1541    pub fn clear_page_size(&mut self) {
1542        self.page_size = 0;
1543    }
1544
1545    // Param is passed by value, moved
1546    pub fn set_page_size(&mut self, v: i32) {
1547        self.page_size = v;
1548    }
1549
1550    // string page_token = 3;
1551
1552
1553    pub fn get_page_token(&self) -> &str {
1554        &self.page_token
1555    }
1556    pub fn clear_page_token(&mut self) {
1557        self.page_token.clear();
1558    }
1559
1560    // Param is passed by value, moved
1561    pub fn set_page_token(&mut self, v: ::std::string::String) {
1562        self.page_token = v;
1563    }
1564
1565    // Mutable pointer to the field.
1566    // If field is not initialized, it is initialized with default value first.
1567    pub fn mut_page_token(&mut self) -> &mut ::std::string::String {
1568        &mut self.page_token
1569    }
1570
1571    // Take field
1572    pub fn take_page_token(&mut self) -> ::std::string::String {
1573        ::std::mem::replace(&mut self.page_token, ::std::string::String::new())
1574    }
1575
1576    // string filter = 4;
1577
1578
1579    pub fn get_filter(&self) -> &str {
1580        &self.filter
1581    }
1582    pub fn clear_filter(&mut self) {
1583        self.filter.clear();
1584    }
1585
1586    // Param is passed by value, moved
1587    pub fn set_filter(&mut self, v: ::std::string::String) {
1588        self.filter = v;
1589    }
1590
1591    // Mutable pointer to the field.
1592    // If field is not initialized, it is initialized with default value first.
1593    pub fn mut_filter(&mut self) -> &mut ::std::string::String {
1594        &mut self.filter
1595    }
1596
1597    // Take field
1598    pub fn take_filter(&mut self) -> ::std::string::String {
1599        ::std::mem::replace(&mut self.filter, ::std::string::String::new())
1600    }
1601}
1602
1603impl ::protobuf::Message for ListPatchJobsRequest {
1604    fn is_initialized(&self) -> bool {
1605        true
1606    }
1607
1608    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1609        while !is.eof()? {
1610            let (field_number, wire_type) = is.read_tag_unpack()?;
1611            match field_number {
1612                1 => {
1613                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent)?;
1614                },
1615                2 => {
1616                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1617                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1618                    }
1619                    let tmp = is.read_int32()?;
1620                    self.page_size = tmp;
1621                },
1622                3 => {
1623                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.page_token)?;
1624                },
1625                4 => {
1626                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.filter)?;
1627                },
1628                _ => {
1629                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1630                },
1631            };
1632        }
1633        ::std::result::Result::Ok(())
1634    }
1635
1636    // Compute sizes of nested messages
1637    #[allow(unused_variables)]
1638    fn compute_size(&self) -> u32 {
1639        let mut my_size = 0;
1640        if !self.parent.is_empty() {
1641            my_size += ::protobuf::rt::string_size(1, &self.parent);
1642        }
1643        if self.page_size != 0 {
1644            my_size += ::protobuf::rt::value_size(2, self.page_size, ::protobuf::wire_format::WireTypeVarint);
1645        }
1646        if !self.page_token.is_empty() {
1647            my_size += ::protobuf::rt::string_size(3, &self.page_token);
1648        }
1649        if !self.filter.is_empty() {
1650            my_size += ::protobuf::rt::string_size(4, &self.filter);
1651        }
1652        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1653        self.cached_size.set(my_size);
1654        my_size
1655    }
1656
1657    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1658        if !self.parent.is_empty() {
1659            os.write_string(1, &self.parent)?;
1660        }
1661        if self.page_size != 0 {
1662            os.write_int32(2, self.page_size)?;
1663        }
1664        if !self.page_token.is_empty() {
1665            os.write_string(3, &self.page_token)?;
1666        }
1667        if !self.filter.is_empty() {
1668            os.write_string(4, &self.filter)?;
1669        }
1670        os.write_unknown_fields(self.get_unknown_fields())?;
1671        ::std::result::Result::Ok(())
1672    }
1673
1674    fn get_cached_size(&self) -> u32 {
1675        self.cached_size.get()
1676    }
1677
1678    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1679        &self.unknown_fields
1680    }
1681
1682    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1683        &mut self.unknown_fields
1684    }
1685
1686    fn as_any(&self) -> &dyn (::std::any::Any) {
1687        self as &dyn (::std::any::Any)
1688    }
1689    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1690        self as &mut dyn (::std::any::Any)
1691    }
1692    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1693        self
1694    }
1695
1696    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1697        Self::descriptor_static()
1698    }
1699
1700    fn new() -> ListPatchJobsRequest {
1701        ListPatchJobsRequest::new()
1702    }
1703
1704    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1705        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1706        descriptor.get(|| {
1707            let mut fields = ::std::vec::Vec::new();
1708            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1709                "parent",
1710                |m: &ListPatchJobsRequest| { &m.parent },
1711                |m: &mut ListPatchJobsRequest| { &mut m.parent },
1712            ));
1713            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
1714                "page_size",
1715                |m: &ListPatchJobsRequest| { &m.page_size },
1716                |m: &mut ListPatchJobsRequest| { &mut m.page_size },
1717            ));
1718            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1719                "page_token",
1720                |m: &ListPatchJobsRequest| { &m.page_token },
1721                |m: &mut ListPatchJobsRequest| { &mut m.page_token },
1722            ));
1723            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1724                "filter",
1725                |m: &ListPatchJobsRequest| { &m.filter },
1726                |m: &mut ListPatchJobsRequest| { &mut m.filter },
1727            ));
1728            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListPatchJobsRequest>(
1729                "ListPatchJobsRequest",
1730                fields,
1731                file_descriptor_proto()
1732            )
1733        })
1734    }
1735
1736    fn default_instance() -> &'static ListPatchJobsRequest {
1737        static instance: ::protobuf::rt::LazyV2<ListPatchJobsRequest> = ::protobuf::rt::LazyV2::INIT;
1738        instance.get(ListPatchJobsRequest::new)
1739    }
1740}
1741
1742impl ::protobuf::Clear for ListPatchJobsRequest {
1743    fn clear(&mut self) {
1744        self.parent.clear();
1745        self.page_size = 0;
1746        self.page_token.clear();
1747        self.filter.clear();
1748        self.unknown_fields.clear();
1749    }
1750}
1751
1752impl ::std::fmt::Debug for ListPatchJobsRequest {
1753    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1754        ::protobuf::text_format::fmt(self, f)
1755    }
1756}
1757
1758impl ::protobuf::reflect::ProtobufValue for ListPatchJobsRequest {
1759    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1760        ::protobuf::reflect::ReflectValueRef::Message(self)
1761    }
1762}
1763
1764#[derive(PartialEq,Clone,Default)]
1765pub struct ListPatchJobsResponse {
1766    // message fields
1767    pub patch_jobs: ::protobuf::RepeatedField<PatchJob>,
1768    pub next_page_token: ::std::string::String,
1769    // special fields
1770    pub unknown_fields: ::protobuf::UnknownFields,
1771    pub cached_size: ::protobuf::CachedSize,
1772}
1773
1774impl<'a> ::std::default::Default for &'a ListPatchJobsResponse {
1775    fn default() -> &'a ListPatchJobsResponse {
1776        <ListPatchJobsResponse as ::protobuf::Message>::default_instance()
1777    }
1778}
1779
1780impl ListPatchJobsResponse {
1781    pub fn new() -> ListPatchJobsResponse {
1782        ::std::default::Default::default()
1783    }
1784
1785    // repeated .google.cloud.osconfig.v1.PatchJob patch_jobs = 1;
1786
1787
1788    pub fn get_patch_jobs(&self) -> &[PatchJob] {
1789        &self.patch_jobs
1790    }
1791    pub fn clear_patch_jobs(&mut self) {
1792        self.patch_jobs.clear();
1793    }
1794
1795    // Param is passed by value, moved
1796    pub fn set_patch_jobs(&mut self, v: ::protobuf::RepeatedField<PatchJob>) {
1797        self.patch_jobs = v;
1798    }
1799
1800    // Mutable pointer to the field.
1801    pub fn mut_patch_jobs(&mut self) -> &mut ::protobuf::RepeatedField<PatchJob> {
1802        &mut self.patch_jobs
1803    }
1804
1805    // Take field
1806    pub fn take_patch_jobs(&mut self) -> ::protobuf::RepeatedField<PatchJob> {
1807        ::std::mem::replace(&mut self.patch_jobs, ::protobuf::RepeatedField::new())
1808    }
1809
1810    // string next_page_token = 2;
1811
1812
1813    pub fn get_next_page_token(&self) -> &str {
1814        &self.next_page_token
1815    }
1816    pub fn clear_next_page_token(&mut self) {
1817        self.next_page_token.clear();
1818    }
1819
1820    // Param is passed by value, moved
1821    pub fn set_next_page_token(&mut self, v: ::std::string::String) {
1822        self.next_page_token = v;
1823    }
1824
1825    // Mutable pointer to the field.
1826    // If field is not initialized, it is initialized with default value first.
1827    pub fn mut_next_page_token(&mut self) -> &mut ::std::string::String {
1828        &mut self.next_page_token
1829    }
1830
1831    // Take field
1832    pub fn take_next_page_token(&mut self) -> ::std::string::String {
1833        ::std::mem::replace(&mut self.next_page_token, ::std::string::String::new())
1834    }
1835}
1836
1837impl ::protobuf::Message for ListPatchJobsResponse {
1838    fn is_initialized(&self) -> bool {
1839        for v in &self.patch_jobs {
1840            if !v.is_initialized() {
1841                return false;
1842            }
1843        };
1844        true
1845    }
1846
1847    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1848        while !is.eof()? {
1849            let (field_number, wire_type) = is.read_tag_unpack()?;
1850            match field_number {
1851                1 => {
1852                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.patch_jobs)?;
1853                },
1854                2 => {
1855                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.next_page_token)?;
1856                },
1857                _ => {
1858                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1859                },
1860            };
1861        }
1862        ::std::result::Result::Ok(())
1863    }
1864
1865    // Compute sizes of nested messages
1866    #[allow(unused_variables)]
1867    fn compute_size(&self) -> u32 {
1868        let mut my_size = 0;
1869        for value in &self.patch_jobs {
1870            let len = value.compute_size();
1871            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1872        };
1873        if !self.next_page_token.is_empty() {
1874            my_size += ::protobuf::rt::string_size(2, &self.next_page_token);
1875        }
1876        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1877        self.cached_size.set(my_size);
1878        my_size
1879    }
1880
1881    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1882        for v in &self.patch_jobs {
1883            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1884            os.write_raw_varint32(v.get_cached_size())?;
1885            v.write_to_with_cached_sizes(os)?;
1886        };
1887        if !self.next_page_token.is_empty() {
1888            os.write_string(2, &self.next_page_token)?;
1889        }
1890        os.write_unknown_fields(self.get_unknown_fields())?;
1891        ::std::result::Result::Ok(())
1892    }
1893
1894    fn get_cached_size(&self) -> u32 {
1895        self.cached_size.get()
1896    }
1897
1898    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1899        &self.unknown_fields
1900    }
1901
1902    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1903        &mut self.unknown_fields
1904    }
1905
1906    fn as_any(&self) -> &dyn (::std::any::Any) {
1907        self as &dyn (::std::any::Any)
1908    }
1909    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1910        self as &mut dyn (::std::any::Any)
1911    }
1912    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1913        self
1914    }
1915
1916    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1917        Self::descriptor_static()
1918    }
1919
1920    fn new() -> ListPatchJobsResponse {
1921        ListPatchJobsResponse::new()
1922    }
1923
1924    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1925        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1926        descriptor.get(|| {
1927            let mut fields = ::std::vec::Vec::new();
1928            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<PatchJob>>(
1929                "patch_jobs",
1930                |m: &ListPatchJobsResponse| { &m.patch_jobs },
1931                |m: &mut ListPatchJobsResponse| { &mut m.patch_jobs },
1932            ));
1933            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1934                "next_page_token",
1935                |m: &ListPatchJobsResponse| { &m.next_page_token },
1936                |m: &mut ListPatchJobsResponse| { &mut m.next_page_token },
1937            ));
1938            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListPatchJobsResponse>(
1939                "ListPatchJobsResponse",
1940                fields,
1941                file_descriptor_proto()
1942            )
1943        })
1944    }
1945
1946    fn default_instance() -> &'static ListPatchJobsResponse {
1947        static instance: ::protobuf::rt::LazyV2<ListPatchJobsResponse> = ::protobuf::rt::LazyV2::INIT;
1948        instance.get(ListPatchJobsResponse::new)
1949    }
1950}
1951
1952impl ::protobuf::Clear for ListPatchJobsResponse {
1953    fn clear(&mut self) {
1954        self.patch_jobs.clear();
1955        self.next_page_token.clear();
1956        self.unknown_fields.clear();
1957    }
1958}
1959
1960impl ::std::fmt::Debug for ListPatchJobsResponse {
1961    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1962        ::protobuf::text_format::fmt(self, f)
1963    }
1964}
1965
1966impl ::protobuf::reflect::ProtobufValue for ListPatchJobsResponse {
1967    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1968        ::protobuf::reflect::ReflectValueRef::Message(self)
1969    }
1970}
1971
1972#[derive(PartialEq,Clone,Default)]
1973pub struct PatchJob {
1974    // message fields
1975    pub name: ::std::string::String,
1976    pub display_name: ::std::string::String,
1977    pub description: ::std::string::String,
1978    pub create_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
1979    pub update_time: ::protobuf::SingularPtrField<::protobuf::well_known_types::Timestamp>,
1980    pub state: PatchJob_State,
1981    pub instance_filter: ::protobuf::SingularPtrField<PatchInstanceFilter>,
1982    pub patch_config: ::protobuf::SingularPtrField<PatchConfig>,
1983    pub duration: ::protobuf::SingularPtrField<::protobuf::well_known_types::Duration>,
1984    pub instance_details_summary: ::protobuf::SingularPtrField<PatchJob_InstanceDetailsSummary>,
1985    pub dry_run: bool,
1986    pub error_message: ::std::string::String,
1987    pub percent_complete: f64,
1988    pub patch_deployment: ::std::string::String,
1989    pub rollout: ::protobuf::SingularPtrField<PatchRollout>,
1990    // special fields
1991    pub unknown_fields: ::protobuf::UnknownFields,
1992    pub cached_size: ::protobuf::CachedSize,
1993}
1994
1995impl<'a> ::std::default::Default for &'a PatchJob {
1996    fn default() -> &'a PatchJob {
1997        <PatchJob as ::protobuf::Message>::default_instance()
1998    }
1999}
2000
2001impl PatchJob {
2002    pub fn new() -> PatchJob {
2003        ::std::default::Default::default()
2004    }
2005
2006    // string name = 1;
2007
2008
2009    pub fn get_name(&self) -> &str {
2010        &self.name
2011    }
2012    pub fn clear_name(&mut self) {
2013        self.name.clear();
2014    }
2015
2016    // Param is passed by value, moved
2017    pub fn set_name(&mut self, v: ::std::string::String) {
2018        self.name = v;
2019    }
2020
2021    // Mutable pointer to the field.
2022    // If field is not initialized, it is initialized with default value first.
2023    pub fn mut_name(&mut self) -> &mut ::std::string::String {
2024        &mut self.name
2025    }
2026
2027    // Take field
2028    pub fn take_name(&mut self) -> ::std::string::String {
2029        ::std::mem::replace(&mut self.name, ::std::string::String::new())
2030    }
2031
2032    // string display_name = 14;
2033
2034
2035    pub fn get_display_name(&self) -> &str {
2036        &self.display_name
2037    }
2038    pub fn clear_display_name(&mut self) {
2039        self.display_name.clear();
2040    }
2041
2042    // Param is passed by value, moved
2043    pub fn set_display_name(&mut self, v: ::std::string::String) {
2044        self.display_name = v;
2045    }
2046
2047    // Mutable pointer to the field.
2048    // If field is not initialized, it is initialized with default value first.
2049    pub fn mut_display_name(&mut self) -> &mut ::std::string::String {
2050        &mut self.display_name
2051    }
2052
2053    // Take field
2054    pub fn take_display_name(&mut self) -> ::std::string::String {
2055        ::std::mem::replace(&mut self.display_name, ::std::string::String::new())
2056    }
2057
2058    // string description = 2;
2059
2060
2061    pub fn get_description(&self) -> &str {
2062        &self.description
2063    }
2064    pub fn clear_description(&mut self) {
2065        self.description.clear();
2066    }
2067
2068    // Param is passed by value, moved
2069    pub fn set_description(&mut self, v: ::std::string::String) {
2070        self.description = v;
2071    }
2072
2073    // Mutable pointer to the field.
2074    // If field is not initialized, it is initialized with default value first.
2075    pub fn mut_description(&mut self) -> &mut ::std::string::String {
2076        &mut self.description
2077    }
2078
2079    // Take field
2080    pub fn take_description(&mut self) -> ::std::string::String {
2081        ::std::mem::replace(&mut self.description, ::std::string::String::new())
2082    }
2083
2084    // .google.protobuf.Timestamp create_time = 3;
2085
2086
2087    pub fn get_create_time(&self) -> &::protobuf::well_known_types::Timestamp {
2088        self.create_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
2089    }
2090    pub fn clear_create_time(&mut self) {
2091        self.create_time.clear();
2092    }
2093
2094    pub fn has_create_time(&self) -> bool {
2095        self.create_time.is_some()
2096    }
2097
2098    // Param is passed by value, moved
2099    pub fn set_create_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
2100        self.create_time = ::protobuf::SingularPtrField::some(v);
2101    }
2102
2103    // Mutable pointer to the field.
2104    // If field is not initialized, it is initialized with default value first.
2105    pub fn mut_create_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
2106        if self.create_time.is_none() {
2107            self.create_time.set_default();
2108        }
2109        self.create_time.as_mut().unwrap()
2110    }
2111
2112    // Take field
2113    pub fn take_create_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
2114        self.create_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
2115    }
2116
2117    // .google.protobuf.Timestamp update_time = 4;
2118
2119
2120    pub fn get_update_time(&self) -> &::protobuf::well_known_types::Timestamp {
2121        self.update_time.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Timestamp as ::protobuf::Message>::default_instance())
2122    }
2123    pub fn clear_update_time(&mut self) {
2124        self.update_time.clear();
2125    }
2126
2127    pub fn has_update_time(&self) -> bool {
2128        self.update_time.is_some()
2129    }
2130
2131    // Param is passed by value, moved
2132    pub fn set_update_time(&mut self, v: ::protobuf::well_known_types::Timestamp) {
2133        self.update_time = ::protobuf::SingularPtrField::some(v);
2134    }
2135
2136    // Mutable pointer to the field.
2137    // If field is not initialized, it is initialized with default value first.
2138    pub fn mut_update_time(&mut self) -> &mut ::protobuf::well_known_types::Timestamp {
2139        if self.update_time.is_none() {
2140            self.update_time.set_default();
2141        }
2142        self.update_time.as_mut().unwrap()
2143    }
2144
2145    // Take field
2146    pub fn take_update_time(&mut self) -> ::protobuf::well_known_types::Timestamp {
2147        self.update_time.take().unwrap_or_else(|| ::protobuf::well_known_types::Timestamp::new())
2148    }
2149
2150    // .google.cloud.osconfig.v1.PatchJob.State state = 5;
2151
2152
2153    pub fn get_state(&self) -> PatchJob_State {
2154        self.state
2155    }
2156    pub fn clear_state(&mut self) {
2157        self.state = PatchJob_State::STATE_UNSPECIFIED;
2158    }
2159
2160    // Param is passed by value, moved
2161    pub fn set_state(&mut self, v: PatchJob_State) {
2162        self.state = v;
2163    }
2164
2165    // .google.cloud.osconfig.v1.PatchInstanceFilter instance_filter = 13;
2166
2167
2168    pub fn get_instance_filter(&self) -> &PatchInstanceFilter {
2169        self.instance_filter.as_ref().unwrap_or_else(|| <PatchInstanceFilter as ::protobuf::Message>::default_instance())
2170    }
2171    pub fn clear_instance_filter(&mut self) {
2172        self.instance_filter.clear();
2173    }
2174
2175    pub fn has_instance_filter(&self) -> bool {
2176        self.instance_filter.is_some()
2177    }
2178
2179    // Param is passed by value, moved
2180    pub fn set_instance_filter(&mut self, v: PatchInstanceFilter) {
2181        self.instance_filter = ::protobuf::SingularPtrField::some(v);
2182    }
2183
2184    // Mutable pointer to the field.
2185    // If field is not initialized, it is initialized with default value first.
2186    pub fn mut_instance_filter(&mut self) -> &mut PatchInstanceFilter {
2187        if self.instance_filter.is_none() {
2188            self.instance_filter.set_default();
2189        }
2190        self.instance_filter.as_mut().unwrap()
2191    }
2192
2193    // Take field
2194    pub fn take_instance_filter(&mut self) -> PatchInstanceFilter {
2195        self.instance_filter.take().unwrap_or_else(|| PatchInstanceFilter::new())
2196    }
2197
2198    // .google.cloud.osconfig.v1.PatchConfig patch_config = 7;
2199
2200
2201    pub fn get_patch_config(&self) -> &PatchConfig {
2202        self.patch_config.as_ref().unwrap_or_else(|| <PatchConfig as ::protobuf::Message>::default_instance())
2203    }
2204    pub fn clear_patch_config(&mut self) {
2205        self.patch_config.clear();
2206    }
2207
2208    pub fn has_patch_config(&self) -> bool {
2209        self.patch_config.is_some()
2210    }
2211
2212    // Param is passed by value, moved
2213    pub fn set_patch_config(&mut self, v: PatchConfig) {
2214        self.patch_config = ::protobuf::SingularPtrField::some(v);
2215    }
2216
2217    // Mutable pointer to the field.
2218    // If field is not initialized, it is initialized with default value first.
2219    pub fn mut_patch_config(&mut self) -> &mut PatchConfig {
2220        if self.patch_config.is_none() {
2221            self.patch_config.set_default();
2222        }
2223        self.patch_config.as_mut().unwrap()
2224    }
2225
2226    // Take field
2227    pub fn take_patch_config(&mut self) -> PatchConfig {
2228        self.patch_config.take().unwrap_or_else(|| PatchConfig::new())
2229    }
2230
2231    // .google.protobuf.Duration duration = 8;
2232
2233
2234    pub fn get_duration(&self) -> &::protobuf::well_known_types::Duration {
2235        self.duration.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::Duration as ::protobuf::Message>::default_instance())
2236    }
2237    pub fn clear_duration(&mut self) {
2238        self.duration.clear();
2239    }
2240
2241    pub fn has_duration(&self) -> bool {
2242        self.duration.is_some()
2243    }
2244
2245    // Param is passed by value, moved
2246    pub fn set_duration(&mut self, v: ::protobuf::well_known_types::Duration) {
2247        self.duration = ::protobuf::SingularPtrField::some(v);
2248    }
2249
2250    // Mutable pointer to the field.
2251    // If field is not initialized, it is initialized with default value first.
2252    pub fn mut_duration(&mut self) -> &mut ::protobuf::well_known_types::Duration {
2253        if self.duration.is_none() {
2254            self.duration.set_default();
2255        }
2256        self.duration.as_mut().unwrap()
2257    }
2258
2259    // Take field
2260    pub fn take_duration(&mut self) -> ::protobuf::well_known_types::Duration {
2261        self.duration.take().unwrap_or_else(|| ::protobuf::well_known_types::Duration::new())
2262    }
2263
2264    // .google.cloud.osconfig.v1.PatchJob.InstanceDetailsSummary instance_details_summary = 9;
2265
2266
2267    pub fn get_instance_details_summary(&self) -> &PatchJob_InstanceDetailsSummary {
2268        self.instance_details_summary.as_ref().unwrap_or_else(|| <PatchJob_InstanceDetailsSummary as ::protobuf::Message>::default_instance())
2269    }
2270    pub fn clear_instance_details_summary(&mut self) {
2271        self.instance_details_summary.clear();
2272    }
2273
2274    pub fn has_instance_details_summary(&self) -> bool {
2275        self.instance_details_summary.is_some()
2276    }
2277
2278    // Param is passed by value, moved
2279    pub fn set_instance_details_summary(&mut self, v: PatchJob_InstanceDetailsSummary) {
2280        self.instance_details_summary = ::protobuf::SingularPtrField::some(v);
2281    }
2282
2283    // Mutable pointer to the field.
2284    // If field is not initialized, it is initialized with default value first.
2285    pub fn mut_instance_details_summary(&mut self) -> &mut PatchJob_InstanceDetailsSummary {
2286        if self.instance_details_summary.is_none() {
2287            self.instance_details_summary.set_default();
2288        }
2289        self.instance_details_summary.as_mut().unwrap()
2290    }
2291
2292    // Take field
2293    pub fn take_instance_details_summary(&mut self) -> PatchJob_InstanceDetailsSummary {
2294        self.instance_details_summary.take().unwrap_or_else(|| PatchJob_InstanceDetailsSummary::new())
2295    }
2296
2297    // bool dry_run = 10;
2298
2299
2300    pub fn get_dry_run(&self) -> bool {
2301        self.dry_run
2302    }
2303    pub fn clear_dry_run(&mut self) {
2304        self.dry_run = false;
2305    }
2306
2307    // Param is passed by value, moved
2308    pub fn set_dry_run(&mut self, v: bool) {
2309        self.dry_run = v;
2310    }
2311
2312    // string error_message = 11;
2313
2314
2315    pub fn get_error_message(&self) -> &str {
2316        &self.error_message
2317    }
2318    pub fn clear_error_message(&mut self) {
2319        self.error_message.clear();
2320    }
2321
2322    // Param is passed by value, moved
2323    pub fn set_error_message(&mut self, v: ::std::string::String) {
2324        self.error_message = v;
2325    }
2326
2327    // Mutable pointer to the field.
2328    // If field is not initialized, it is initialized with default value first.
2329    pub fn mut_error_message(&mut self) -> &mut ::std::string::String {
2330        &mut self.error_message
2331    }
2332
2333    // Take field
2334    pub fn take_error_message(&mut self) -> ::std::string::String {
2335        ::std::mem::replace(&mut self.error_message, ::std::string::String::new())
2336    }
2337
2338    // double percent_complete = 12;
2339
2340
2341    pub fn get_percent_complete(&self) -> f64 {
2342        self.percent_complete
2343    }
2344    pub fn clear_percent_complete(&mut self) {
2345        self.percent_complete = 0.;
2346    }
2347
2348    // Param is passed by value, moved
2349    pub fn set_percent_complete(&mut self, v: f64) {
2350        self.percent_complete = v;
2351    }
2352
2353    // string patch_deployment = 15;
2354
2355
2356    pub fn get_patch_deployment(&self) -> &str {
2357        &self.patch_deployment
2358    }
2359    pub fn clear_patch_deployment(&mut self) {
2360        self.patch_deployment.clear();
2361    }
2362
2363    // Param is passed by value, moved
2364    pub fn set_patch_deployment(&mut self, v: ::std::string::String) {
2365        self.patch_deployment = v;
2366    }
2367
2368    // Mutable pointer to the field.
2369    // If field is not initialized, it is initialized with default value first.
2370    pub fn mut_patch_deployment(&mut self) -> &mut ::std::string::String {
2371        &mut self.patch_deployment
2372    }
2373
2374    // Take field
2375    pub fn take_patch_deployment(&mut self) -> ::std::string::String {
2376        ::std::mem::replace(&mut self.patch_deployment, ::std::string::String::new())
2377    }
2378
2379    // .google.cloud.osconfig.v1.PatchRollout rollout = 16;
2380
2381
2382    pub fn get_rollout(&self) -> &PatchRollout {
2383        self.rollout.as_ref().unwrap_or_else(|| <PatchRollout as ::protobuf::Message>::default_instance())
2384    }
2385    pub fn clear_rollout(&mut self) {
2386        self.rollout.clear();
2387    }
2388
2389    pub fn has_rollout(&self) -> bool {
2390        self.rollout.is_some()
2391    }
2392
2393    // Param is passed by value, moved
2394    pub fn set_rollout(&mut self, v: PatchRollout) {
2395        self.rollout = ::protobuf::SingularPtrField::some(v);
2396    }
2397
2398    // Mutable pointer to the field.
2399    // If field is not initialized, it is initialized with default value first.
2400    pub fn mut_rollout(&mut self) -> &mut PatchRollout {
2401        if self.rollout.is_none() {
2402            self.rollout.set_default();
2403        }
2404        self.rollout.as_mut().unwrap()
2405    }
2406
2407    // Take field
2408    pub fn take_rollout(&mut self) -> PatchRollout {
2409        self.rollout.take().unwrap_or_else(|| PatchRollout::new())
2410    }
2411}
2412
2413impl ::protobuf::Message for PatchJob {
2414    fn is_initialized(&self) -> bool {
2415        for v in &self.create_time {
2416            if !v.is_initialized() {
2417                return false;
2418            }
2419        };
2420        for v in &self.update_time {
2421            if !v.is_initialized() {
2422                return false;
2423            }
2424        };
2425        for v in &self.instance_filter {
2426            if !v.is_initialized() {
2427                return false;
2428            }
2429        };
2430        for v in &self.patch_config {
2431            if !v.is_initialized() {
2432                return false;
2433            }
2434        };
2435        for v in &self.duration {
2436            if !v.is_initialized() {
2437                return false;
2438            }
2439        };
2440        for v in &self.instance_details_summary {
2441            if !v.is_initialized() {
2442                return false;
2443            }
2444        };
2445        for v in &self.rollout {
2446            if !v.is_initialized() {
2447                return false;
2448            }
2449        };
2450        true
2451    }
2452
2453    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2454        while !is.eof()? {
2455            let (field_number, wire_type) = is.read_tag_unpack()?;
2456            match field_number {
2457                1 => {
2458                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
2459                },
2460                14 => {
2461                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.display_name)?;
2462                },
2463                2 => {
2464                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.description)?;
2465                },
2466                3 => {
2467                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.create_time)?;
2468                },
2469                4 => {
2470                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.update_time)?;
2471                },
2472                5 => {
2473                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.state, 5, &mut self.unknown_fields)?
2474                },
2475                13 => {
2476                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.instance_filter)?;
2477                },
2478                7 => {
2479                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.patch_config)?;
2480                },
2481                8 => {
2482                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.duration)?;
2483                },
2484                9 => {
2485                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.instance_details_summary)?;
2486                },
2487                10 => {
2488                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2489                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2490                    }
2491                    let tmp = is.read_bool()?;
2492                    self.dry_run = tmp;
2493                },
2494                11 => {
2495                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.error_message)?;
2496                },
2497                12 => {
2498                    if wire_type != ::protobuf::wire_format::WireTypeFixed64 {
2499                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2500                    }
2501                    let tmp = is.read_double()?;
2502                    self.percent_complete = tmp;
2503                },
2504                15 => {
2505                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.patch_deployment)?;
2506                },
2507                16 => {
2508                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.rollout)?;
2509                },
2510                _ => {
2511                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2512                },
2513            };
2514        }
2515        ::std::result::Result::Ok(())
2516    }
2517
2518    // Compute sizes of nested messages
2519    #[allow(unused_variables)]
2520    fn compute_size(&self) -> u32 {
2521        let mut my_size = 0;
2522        if !self.name.is_empty() {
2523            my_size += ::protobuf::rt::string_size(1, &self.name);
2524        }
2525        if !self.display_name.is_empty() {
2526            my_size += ::protobuf::rt::string_size(14, &self.display_name);
2527        }
2528        if !self.description.is_empty() {
2529            my_size += ::protobuf::rt::string_size(2, &self.description);
2530        }
2531        if let Some(ref v) = self.create_time.as_ref() {
2532            let len = v.compute_size();
2533            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2534        }
2535        if let Some(ref v) = self.update_time.as_ref() {
2536            let len = v.compute_size();
2537            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2538        }
2539        if self.state != PatchJob_State::STATE_UNSPECIFIED {
2540            my_size += ::protobuf::rt::enum_size(5, self.state);
2541        }
2542        if let Some(ref v) = self.instance_filter.as_ref() {
2543            let len = v.compute_size();
2544            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2545        }
2546        if let Some(ref v) = self.patch_config.as_ref() {
2547            let len = v.compute_size();
2548            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2549        }
2550        if let Some(ref v) = self.duration.as_ref() {
2551            let len = v.compute_size();
2552            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2553        }
2554        if let Some(ref v) = self.instance_details_summary.as_ref() {
2555            let len = v.compute_size();
2556            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2557        }
2558        if self.dry_run != false {
2559            my_size += 2;
2560        }
2561        if !self.error_message.is_empty() {
2562            my_size += ::protobuf::rt::string_size(11, &self.error_message);
2563        }
2564        if self.percent_complete != 0. {
2565            my_size += 9;
2566        }
2567        if !self.patch_deployment.is_empty() {
2568            my_size += ::protobuf::rt::string_size(15, &self.patch_deployment);
2569        }
2570        if let Some(ref v) = self.rollout.as_ref() {
2571            let len = v.compute_size();
2572            my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2573        }
2574        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2575        self.cached_size.set(my_size);
2576        my_size
2577    }
2578
2579    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2580        if !self.name.is_empty() {
2581            os.write_string(1, &self.name)?;
2582        }
2583        if !self.display_name.is_empty() {
2584            os.write_string(14, &self.display_name)?;
2585        }
2586        if !self.description.is_empty() {
2587            os.write_string(2, &self.description)?;
2588        }
2589        if let Some(ref v) = self.create_time.as_ref() {
2590            os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2591            os.write_raw_varint32(v.get_cached_size())?;
2592            v.write_to_with_cached_sizes(os)?;
2593        }
2594        if let Some(ref v) = self.update_time.as_ref() {
2595            os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2596            os.write_raw_varint32(v.get_cached_size())?;
2597            v.write_to_with_cached_sizes(os)?;
2598        }
2599        if self.state != PatchJob_State::STATE_UNSPECIFIED {
2600            os.write_enum(5, ::protobuf::ProtobufEnum::value(&self.state))?;
2601        }
2602        if let Some(ref v) = self.instance_filter.as_ref() {
2603            os.write_tag(13, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2604            os.write_raw_varint32(v.get_cached_size())?;
2605            v.write_to_with_cached_sizes(os)?;
2606        }
2607        if let Some(ref v) = self.patch_config.as_ref() {
2608            os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2609            os.write_raw_varint32(v.get_cached_size())?;
2610            v.write_to_with_cached_sizes(os)?;
2611        }
2612        if let Some(ref v) = self.duration.as_ref() {
2613            os.write_tag(8, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2614            os.write_raw_varint32(v.get_cached_size())?;
2615            v.write_to_with_cached_sizes(os)?;
2616        }
2617        if let Some(ref v) = self.instance_details_summary.as_ref() {
2618            os.write_tag(9, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2619            os.write_raw_varint32(v.get_cached_size())?;
2620            v.write_to_with_cached_sizes(os)?;
2621        }
2622        if self.dry_run != false {
2623            os.write_bool(10, self.dry_run)?;
2624        }
2625        if !self.error_message.is_empty() {
2626            os.write_string(11, &self.error_message)?;
2627        }
2628        if self.percent_complete != 0. {
2629            os.write_double(12, self.percent_complete)?;
2630        }
2631        if !self.patch_deployment.is_empty() {
2632            os.write_string(15, &self.patch_deployment)?;
2633        }
2634        if let Some(ref v) = self.rollout.as_ref() {
2635            os.write_tag(16, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2636            os.write_raw_varint32(v.get_cached_size())?;
2637            v.write_to_with_cached_sizes(os)?;
2638        }
2639        os.write_unknown_fields(self.get_unknown_fields())?;
2640        ::std::result::Result::Ok(())
2641    }
2642
2643    fn get_cached_size(&self) -> u32 {
2644        self.cached_size.get()
2645    }
2646
2647    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2648        &self.unknown_fields
2649    }
2650
2651    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2652        &mut self.unknown_fields
2653    }
2654
2655    fn as_any(&self) -> &dyn (::std::any::Any) {
2656        self as &dyn (::std::any::Any)
2657    }
2658    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2659        self as &mut dyn (::std::any::Any)
2660    }
2661    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2662        self
2663    }
2664
2665    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2666        Self::descriptor_static()
2667    }
2668
2669    fn new() -> PatchJob {
2670        PatchJob::new()
2671    }
2672
2673    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2674        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2675        descriptor.get(|| {
2676            let mut fields = ::std::vec::Vec::new();
2677            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2678                "name",
2679                |m: &PatchJob| { &m.name },
2680                |m: &mut PatchJob| { &mut m.name },
2681            ));
2682            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2683                "display_name",
2684                |m: &PatchJob| { &m.display_name },
2685                |m: &mut PatchJob| { &mut m.display_name },
2686            ));
2687            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2688                "description",
2689                |m: &PatchJob| { &m.description },
2690                |m: &mut PatchJob| { &mut m.description },
2691            ));
2692            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
2693                "create_time",
2694                |m: &PatchJob| { &m.create_time },
2695                |m: &mut PatchJob| { &mut m.create_time },
2696            ));
2697            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Timestamp>>(
2698                "update_time",
2699                |m: &PatchJob| { &m.update_time },
2700                |m: &mut PatchJob| { &mut m.update_time },
2701            ));
2702            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<PatchJob_State>>(
2703                "state",
2704                |m: &PatchJob| { &m.state },
2705                |m: &mut PatchJob| { &mut m.state },
2706            ));
2707            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<PatchInstanceFilter>>(
2708                "instance_filter",
2709                |m: &PatchJob| { &m.instance_filter },
2710                |m: &mut PatchJob| { &mut m.instance_filter },
2711            ));
2712            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<PatchConfig>>(
2713                "patch_config",
2714                |m: &PatchJob| { &m.patch_config },
2715                |m: &mut PatchJob| { &mut m.patch_config },
2716            ));
2717            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Duration>>(
2718                "duration",
2719                |m: &PatchJob| { &m.duration },
2720                |m: &mut PatchJob| { &mut m.duration },
2721            ));
2722            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<PatchJob_InstanceDetailsSummary>>(
2723                "instance_details_summary",
2724                |m: &PatchJob| { &m.instance_details_summary },
2725                |m: &mut PatchJob| { &mut m.instance_details_summary },
2726            ));
2727            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
2728                "dry_run",
2729                |m: &PatchJob| { &m.dry_run },
2730                |m: &mut PatchJob| { &mut m.dry_run },
2731            ));
2732            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2733                "error_message",
2734                |m: &PatchJob| { &m.error_message },
2735                |m: &mut PatchJob| { &mut m.error_message },
2736            ));
2737            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeDouble>(
2738                "percent_complete",
2739                |m: &PatchJob| { &m.percent_complete },
2740                |m: &mut PatchJob| { &mut m.percent_complete },
2741            ));
2742            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2743                "patch_deployment",
2744                |m: &PatchJob| { &m.patch_deployment },
2745                |m: &mut PatchJob| { &mut m.patch_deployment },
2746            ));
2747            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<PatchRollout>>(
2748                "rollout",
2749                |m: &PatchJob| { &m.rollout },
2750                |m: &mut PatchJob| { &mut m.rollout },
2751            ));
2752            ::protobuf::reflect::MessageDescriptor::new_pb_name::<PatchJob>(
2753                "PatchJob",
2754                fields,
2755                file_descriptor_proto()
2756            )
2757        })
2758    }
2759
2760    fn default_instance() -> &'static PatchJob {
2761        static instance: ::protobuf::rt::LazyV2<PatchJob> = ::protobuf::rt::LazyV2::INIT;
2762        instance.get(PatchJob::new)
2763    }
2764}
2765
2766impl ::protobuf::Clear for PatchJob {
2767    fn clear(&mut self) {
2768        self.name.clear();
2769        self.display_name.clear();
2770        self.description.clear();
2771        self.create_time.clear();
2772        self.update_time.clear();
2773        self.state = PatchJob_State::STATE_UNSPECIFIED;
2774        self.instance_filter.clear();
2775        self.patch_config.clear();
2776        self.duration.clear();
2777        self.instance_details_summary.clear();
2778        self.dry_run = false;
2779        self.error_message.clear();
2780        self.percent_complete = 0.;
2781        self.patch_deployment.clear();
2782        self.rollout.clear();
2783        self.unknown_fields.clear();
2784    }
2785}
2786
2787impl ::std::fmt::Debug for PatchJob {
2788    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2789        ::protobuf::text_format::fmt(self, f)
2790    }
2791}
2792
2793impl ::protobuf::reflect::ProtobufValue for PatchJob {
2794    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2795        ::protobuf::reflect::ReflectValueRef::Message(self)
2796    }
2797}
2798
2799#[derive(PartialEq,Clone,Default)]
2800pub struct PatchJob_InstanceDetailsSummary {
2801    // message fields
2802    pub pending_instance_count: i64,
2803    pub inactive_instance_count: i64,
2804    pub notified_instance_count: i64,
2805    pub started_instance_count: i64,
2806    pub downloading_patches_instance_count: i64,
2807    pub applying_patches_instance_count: i64,
2808    pub rebooting_instance_count: i64,
2809    pub succeeded_instance_count: i64,
2810    pub succeeded_reboot_required_instance_count: i64,
2811    pub failed_instance_count: i64,
2812    pub acked_instance_count: i64,
2813    pub timed_out_instance_count: i64,
2814    pub pre_patch_step_instance_count: i64,
2815    pub post_patch_step_instance_count: i64,
2816    pub no_agent_detected_instance_count: i64,
2817    // special fields
2818    pub unknown_fields: ::protobuf::UnknownFields,
2819    pub cached_size: ::protobuf::CachedSize,
2820}
2821
2822impl<'a> ::std::default::Default for &'a PatchJob_InstanceDetailsSummary {
2823    fn default() -> &'a PatchJob_InstanceDetailsSummary {
2824        <PatchJob_InstanceDetailsSummary as ::protobuf::Message>::default_instance()
2825    }
2826}
2827
2828impl PatchJob_InstanceDetailsSummary {
2829    pub fn new() -> PatchJob_InstanceDetailsSummary {
2830        ::std::default::Default::default()
2831    }
2832
2833    // int64 pending_instance_count = 1;
2834
2835
2836    pub fn get_pending_instance_count(&self) -> i64 {
2837        self.pending_instance_count
2838    }
2839    pub fn clear_pending_instance_count(&mut self) {
2840        self.pending_instance_count = 0;
2841    }
2842
2843    // Param is passed by value, moved
2844    pub fn set_pending_instance_count(&mut self, v: i64) {
2845        self.pending_instance_count = v;
2846    }
2847
2848    // int64 inactive_instance_count = 2;
2849
2850
2851    pub fn get_inactive_instance_count(&self) -> i64 {
2852        self.inactive_instance_count
2853    }
2854    pub fn clear_inactive_instance_count(&mut self) {
2855        self.inactive_instance_count = 0;
2856    }
2857
2858    // Param is passed by value, moved
2859    pub fn set_inactive_instance_count(&mut self, v: i64) {
2860        self.inactive_instance_count = v;
2861    }
2862
2863    // int64 notified_instance_count = 3;
2864
2865
2866    pub fn get_notified_instance_count(&self) -> i64 {
2867        self.notified_instance_count
2868    }
2869    pub fn clear_notified_instance_count(&mut self) {
2870        self.notified_instance_count = 0;
2871    }
2872
2873    // Param is passed by value, moved
2874    pub fn set_notified_instance_count(&mut self, v: i64) {
2875        self.notified_instance_count = v;
2876    }
2877
2878    // int64 started_instance_count = 4;
2879
2880
2881    pub fn get_started_instance_count(&self) -> i64 {
2882        self.started_instance_count
2883    }
2884    pub fn clear_started_instance_count(&mut self) {
2885        self.started_instance_count = 0;
2886    }
2887
2888    // Param is passed by value, moved
2889    pub fn set_started_instance_count(&mut self, v: i64) {
2890        self.started_instance_count = v;
2891    }
2892
2893    // int64 downloading_patches_instance_count = 5;
2894
2895
2896    pub fn get_downloading_patches_instance_count(&self) -> i64 {
2897        self.downloading_patches_instance_count
2898    }
2899    pub fn clear_downloading_patches_instance_count(&mut self) {
2900        self.downloading_patches_instance_count = 0;
2901    }
2902
2903    // Param is passed by value, moved
2904    pub fn set_downloading_patches_instance_count(&mut self, v: i64) {
2905        self.downloading_patches_instance_count = v;
2906    }
2907
2908    // int64 applying_patches_instance_count = 6;
2909
2910
2911    pub fn get_applying_patches_instance_count(&self) -> i64 {
2912        self.applying_patches_instance_count
2913    }
2914    pub fn clear_applying_patches_instance_count(&mut self) {
2915        self.applying_patches_instance_count = 0;
2916    }
2917
2918    // Param is passed by value, moved
2919    pub fn set_applying_patches_instance_count(&mut self, v: i64) {
2920        self.applying_patches_instance_count = v;
2921    }
2922
2923    // int64 rebooting_instance_count = 7;
2924
2925
2926    pub fn get_rebooting_instance_count(&self) -> i64 {
2927        self.rebooting_instance_count
2928    }
2929    pub fn clear_rebooting_instance_count(&mut self) {
2930        self.rebooting_instance_count = 0;
2931    }
2932
2933    // Param is passed by value, moved
2934    pub fn set_rebooting_instance_count(&mut self, v: i64) {
2935        self.rebooting_instance_count = v;
2936    }
2937
2938    // int64 succeeded_instance_count = 8;
2939
2940
2941    pub fn get_succeeded_instance_count(&self) -> i64 {
2942        self.succeeded_instance_count
2943    }
2944    pub fn clear_succeeded_instance_count(&mut self) {
2945        self.succeeded_instance_count = 0;
2946    }
2947
2948    // Param is passed by value, moved
2949    pub fn set_succeeded_instance_count(&mut self, v: i64) {
2950        self.succeeded_instance_count = v;
2951    }
2952
2953    // int64 succeeded_reboot_required_instance_count = 9;
2954
2955
2956    pub fn get_succeeded_reboot_required_instance_count(&self) -> i64 {
2957        self.succeeded_reboot_required_instance_count
2958    }
2959    pub fn clear_succeeded_reboot_required_instance_count(&mut self) {
2960        self.succeeded_reboot_required_instance_count = 0;
2961    }
2962
2963    // Param is passed by value, moved
2964    pub fn set_succeeded_reboot_required_instance_count(&mut self, v: i64) {
2965        self.succeeded_reboot_required_instance_count = v;
2966    }
2967
2968    // int64 failed_instance_count = 10;
2969
2970
2971    pub fn get_failed_instance_count(&self) -> i64 {
2972        self.failed_instance_count
2973    }
2974    pub fn clear_failed_instance_count(&mut self) {
2975        self.failed_instance_count = 0;
2976    }
2977
2978    // Param is passed by value, moved
2979    pub fn set_failed_instance_count(&mut self, v: i64) {
2980        self.failed_instance_count = v;
2981    }
2982
2983    // int64 acked_instance_count = 11;
2984
2985
2986    pub fn get_acked_instance_count(&self) -> i64 {
2987        self.acked_instance_count
2988    }
2989    pub fn clear_acked_instance_count(&mut self) {
2990        self.acked_instance_count = 0;
2991    }
2992
2993    // Param is passed by value, moved
2994    pub fn set_acked_instance_count(&mut self, v: i64) {
2995        self.acked_instance_count = v;
2996    }
2997
2998    // int64 timed_out_instance_count = 12;
2999
3000
3001    pub fn get_timed_out_instance_count(&self) -> i64 {
3002        self.timed_out_instance_count
3003    }
3004    pub fn clear_timed_out_instance_count(&mut self) {
3005        self.timed_out_instance_count = 0;
3006    }
3007
3008    // Param is passed by value, moved
3009    pub fn set_timed_out_instance_count(&mut self, v: i64) {
3010        self.timed_out_instance_count = v;
3011    }
3012
3013    // int64 pre_patch_step_instance_count = 13;
3014
3015
3016    pub fn get_pre_patch_step_instance_count(&self) -> i64 {
3017        self.pre_patch_step_instance_count
3018    }
3019    pub fn clear_pre_patch_step_instance_count(&mut self) {
3020        self.pre_patch_step_instance_count = 0;
3021    }
3022
3023    // Param is passed by value, moved
3024    pub fn set_pre_patch_step_instance_count(&mut self, v: i64) {
3025        self.pre_patch_step_instance_count = v;
3026    }
3027
3028    // int64 post_patch_step_instance_count = 14;
3029
3030
3031    pub fn get_post_patch_step_instance_count(&self) -> i64 {
3032        self.post_patch_step_instance_count
3033    }
3034    pub fn clear_post_patch_step_instance_count(&mut self) {
3035        self.post_patch_step_instance_count = 0;
3036    }
3037
3038    // Param is passed by value, moved
3039    pub fn set_post_patch_step_instance_count(&mut self, v: i64) {
3040        self.post_patch_step_instance_count = v;
3041    }
3042
3043    // int64 no_agent_detected_instance_count = 15;
3044
3045
3046    pub fn get_no_agent_detected_instance_count(&self) -> i64 {
3047        self.no_agent_detected_instance_count
3048    }
3049    pub fn clear_no_agent_detected_instance_count(&mut self) {
3050        self.no_agent_detected_instance_count = 0;
3051    }
3052
3053    // Param is passed by value, moved
3054    pub fn set_no_agent_detected_instance_count(&mut self, v: i64) {
3055        self.no_agent_detected_instance_count = v;
3056    }
3057}
3058
3059impl ::protobuf::Message for PatchJob_InstanceDetailsSummary {
3060    fn is_initialized(&self) -> bool {
3061        true
3062    }
3063
3064    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3065        while !is.eof()? {
3066            let (field_number, wire_type) = is.read_tag_unpack()?;
3067            match field_number {
3068                1 => {
3069                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3070                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3071                    }
3072                    let tmp = is.read_int64()?;
3073                    self.pending_instance_count = tmp;
3074                },
3075                2 => {
3076                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3077                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3078                    }
3079                    let tmp = is.read_int64()?;
3080                    self.inactive_instance_count = tmp;
3081                },
3082                3 => {
3083                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3084                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3085                    }
3086                    let tmp = is.read_int64()?;
3087                    self.notified_instance_count = tmp;
3088                },
3089                4 => {
3090                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3091                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3092                    }
3093                    let tmp = is.read_int64()?;
3094                    self.started_instance_count = tmp;
3095                },
3096                5 => {
3097                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3098                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3099                    }
3100                    let tmp = is.read_int64()?;
3101                    self.downloading_patches_instance_count = tmp;
3102                },
3103                6 => {
3104                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3105                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3106                    }
3107                    let tmp = is.read_int64()?;
3108                    self.applying_patches_instance_count = tmp;
3109                },
3110                7 => {
3111                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3112                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3113                    }
3114                    let tmp = is.read_int64()?;
3115                    self.rebooting_instance_count = tmp;
3116                },
3117                8 => {
3118                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3119                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3120                    }
3121                    let tmp = is.read_int64()?;
3122                    self.succeeded_instance_count = tmp;
3123                },
3124                9 => {
3125                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3126                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3127                    }
3128                    let tmp = is.read_int64()?;
3129                    self.succeeded_reboot_required_instance_count = tmp;
3130                },
3131                10 => {
3132                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3133                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3134                    }
3135                    let tmp = is.read_int64()?;
3136                    self.failed_instance_count = tmp;
3137                },
3138                11 => {
3139                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3140                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3141                    }
3142                    let tmp = is.read_int64()?;
3143                    self.acked_instance_count = tmp;
3144                },
3145                12 => {
3146                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3147                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3148                    }
3149                    let tmp = is.read_int64()?;
3150                    self.timed_out_instance_count = tmp;
3151                },
3152                13 => {
3153                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3154                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3155                    }
3156                    let tmp = is.read_int64()?;
3157                    self.pre_patch_step_instance_count = tmp;
3158                },
3159                14 => {
3160                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3161                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3162                    }
3163                    let tmp = is.read_int64()?;
3164                    self.post_patch_step_instance_count = tmp;
3165                },
3166                15 => {
3167                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3168                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3169                    }
3170                    let tmp = is.read_int64()?;
3171                    self.no_agent_detected_instance_count = tmp;
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.pending_instance_count != 0 {
3186            my_size += ::protobuf::rt::value_size(1, self.pending_instance_count, ::protobuf::wire_format::WireTypeVarint);
3187        }
3188        if self.inactive_instance_count != 0 {
3189            my_size += ::protobuf::rt::value_size(2, self.inactive_instance_count, ::protobuf::wire_format::WireTypeVarint);
3190        }
3191        if self.notified_instance_count != 0 {
3192            my_size += ::protobuf::rt::value_size(3, self.notified_instance_count, ::protobuf::wire_format::WireTypeVarint);
3193        }
3194        if self.started_instance_count != 0 {
3195            my_size += ::protobuf::rt::value_size(4, self.started_instance_count, ::protobuf::wire_format::WireTypeVarint);
3196        }
3197        if self.downloading_patches_instance_count != 0 {
3198            my_size += ::protobuf::rt::value_size(5, self.downloading_patches_instance_count, ::protobuf::wire_format::WireTypeVarint);
3199        }
3200        if self.applying_patches_instance_count != 0 {
3201            my_size += ::protobuf::rt::value_size(6, self.applying_patches_instance_count, ::protobuf::wire_format::WireTypeVarint);
3202        }
3203        if self.rebooting_instance_count != 0 {
3204            my_size += ::protobuf::rt::value_size(7, self.rebooting_instance_count, ::protobuf::wire_format::WireTypeVarint);
3205        }
3206        if self.succeeded_instance_count != 0 {
3207            my_size += ::protobuf::rt::value_size(8, self.succeeded_instance_count, ::protobuf::wire_format::WireTypeVarint);
3208        }
3209        if self.succeeded_reboot_required_instance_count != 0 {
3210            my_size += ::protobuf::rt::value_size(9, self.succeeded_reboot_required_instance_count, ::protobuf::wire_format::WireTypeVarint);
3211        }
3212        if self.failed_instance_count != 0 {
3213            my_size += ::protobuf::rt::value_size(10, self.failed_instance_count, ::protobuf::wire_format::WireTypeVarint);
3214        }
3215        if self.acked_instance_count != 0 {
3216            my_size += ::protobuf::rt::value_size(11, self.acked_instance_count, ::protobuf::wire_format::WireTypeVarint);
3217        }
3218        if self.timed_out_instance_count != 0 {
3219            my_size += ::protobuf::rt::value_size(12, self.timed_out_instance_count, ::protobuf::wire_format::WireTypeVarint);
3220        }
3221        if self.pre_patch_step_instance_count != 0 {
3222            my_size += ::protobuf::rt::value_size(13, self.pre_patch_step_instance_count, ::protobuf::wire_format::WireTypeVarint);
3223        }
3224        if self.post_patch_step_instance_count != 0 {
3225            my_size += ::protobuf::rt::value_size(14, self.post_patch_step_instance_count, ::protobuf::wire_format::WireTypeVarint);
3226        }
3227        if self.no_agent_detected_instance_count != 0 {
3228            my_size += ::protobuf::rt::value_size(15, self.no_agent_detected_instance_count, ::protobuf::wire_format::WireTypeVarint);
3229        }
3230        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3231        self.cached_size.set(my_size);
3232        my_size
3233    }
3234
3235    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3236        if self.pending_instance_count != 0 {
3237            os.write_int64(1, self.pending_instance_count)?;
3238        }
3239        if self.inactive_instance_count != 0 {
3240            os.write_int64(2, self.inactive_instance_count)?;
3241        }
3242        if self.notified_instance_count != 0 {
3243            os.write_int64(3, self.notified_instance_count)?;
3244        }
3245        if self.started_instance_count != 0 {
3246            os.write_int64(4, self.started_instance_count)?;
3247        }
3248        if self.downloading_patches_instance_count != 0 {
3249            os.write_int64(5, self.downloading_patches_instance_count)?;
3250        }
3251        if self.applying_patches_instance_count != 0 {
3252            os.write_int64(6, self.applying_patches_instance_count)?;
3253        }
3254        if self.rebooting_instance_count != 0 {
3255            os.write_int64(7, self.rebooting_instance_count)?;
3256        }
3257        if self.succeeded_instance_count != 0 {
3258            os.write_int64(8, self.succeeded_instance_count)?;
3259        }
3260        if self.succeeded_reboot_required_instance_count != 0 {
3261            os.write_int64(9, self.succeeded_reboot_required_instance_count)?;
3262        }
3263        if self.failed_instance_count != 0 {
3264            os.write_int64(10, self.failed_instance_count)?;
3265        }
3266        if self.acked_instance_count != 0 {
3267            os.write_int64(11, self.acked_instance_count)?;
3268        }
3269        if self.timed_out_instance_count != 0 {
3270            os.write_int64(12, self.timed_out_instance_count)?;
3271        }
3272        if self.pre_patch_step_instance_count != 0 {
3273            os.write_int64(13, self.pre_patch_step_instance_count)?;
3274        }
3275        if self.post_patch_step_instance_count != 0 {
3276            os.write_int64(14, self.post_patch_step_instance_count)?;
3277        }
3278        if self.no_agent_detected_instance_count != 0 {
3279            os.write_int64(15, self.no_agent_detected_instance_count)?;
3280        }
3281        os.write_unknown_fields(self.get_unknown_fields())?;
3282        ::std::result::Result::Ok(())
3283    }
3284
3285    fn get_cached_size(&self) -> u32 {
3286        self.cached_size.get()
3287    }
3288
3289    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3290        &self.unknown_fields
3291    }
3292
3293    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3294        &mut self.unknown_fields
3295    }
3296
3297    fn as_any(&self) -> &dyn (::std::any::Any) {
3298        self as &dyn (::std::any::Any)
3299    }
3300    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3301        self as &mut dyn (::std::any::Any)
3302    }
3303    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3304        self
3305    }
3306
3307    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3308        Self::descriptor_static()
3309    }
3310
3311    fn new() -> PatchJob_InstanceDetailsSummary {
3312        PatchJob_InstanceDetailsSummary::new()
3313    }
3314
3315    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3316        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3317        descriptor.get(|| {
3318            let mut fields = ::std::vec::Vec::new();
3319            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
3320                "pending_instance_count",
3321                |m: &PatchJob_InstanceDetailsSummary| { &m.pending_instance_count },
3322                |m: &mut PatchJob_InstanceDetailsSummary| { &mut m.pending_instance_count },
3323            ));
3324            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
3325                "inactive_instance_count",
3326                |m: &PatchJob_InstanceDetailsSummary| { &m.inactive_instance_count },
3327                |m: &mut PatchJob_InstanceDetailsSummary| { &mut m.inactive_instance_count },
3328            ));
3329            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
3330                "notified_instance_count",
3331                |m: &PatchJob_InstanceDetailsSummary| { &m.notified_instance_count },
3332                |m: &mut PatchJob_InstanceDetailsSummary| { &mut m.notified_instance_count },
3333            ));
3334            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
3335                "started_instance_count",
3336                |m: &PatchJob_InstanceDetailsSummary| { &m.started_instance_count },
3337                |m: &mut PatchJob_InstanceDetailsSummary| { &mut m.started_instance_count },
3338            ));
3339            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
3340                "downloading_patches_instance_count",
3341                |m: &PatchJob_InstanceDetailsSummary| { &m.downloading_patches_instance_count },
3342                |m: &mut PatchJob_InstanceDetailsSummary| { &mut m.downloading_patches_instance_count },
3343            ));
3344            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
3345                "applying_patches_instance_count",
3346                |m: &PatchJob_InstanceDetailsSummary| { &m.applying_patches_instance_count },
3347                |m: &mut PatchJob_InstanceDetailsSummary| { &mut m.applying_patches_instance_count },
3348            ));
3349            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
3350                "rebooting_instance_count",
3351                |m: &PatchJob_InstanceDetailsSummary| { &m.rebooting_instance_count },
3352                |m: &mut PatchJob_InstanceDetailsSummary| { &mut m.rebooting_instance_count },
3353            ));
3354            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
3355                "succeeded_instance_count",
3356                |m: &PatchJob_InstanceDetailsSummary| { &m.succeeded_instance_count },
3357                |m: &mut PatchJob_InstanceDetailsSummary| { &mut m.succeeded_instance_count },
3358            ));
3359            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
3360                "succeeded_reboot_required_instance_count",
3361                |m: &PatchJob_InstanceDetailsSummary| { &m.succeeded_reboot_required_instance_count },
3362                |m: &mut PatchJob_InstanceDetailsSummary| { &mut m.succeeded_reboot_required_instance_count },
3363            ));
3364            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
3365                "failed_instance_count",
3366                |m: &PatchJob_InstanceDetailsSummary| { &m.failed_instance_count },
3367                |m: &mut PatchJob_InstanceDetailsSummary| { &mut m.failed_instance_count },
3368            ));
3369            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
3370                "acked_instance_count",
3371                |m: &PatchJob_InstanceDetailsSummary| { &m.acked_instance_count },
3372                |m: &mut PatchJob_InstanceDetailsSummary| { &mut m.acked_instance_count },
3373            ));
3374            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
3375                "timed_out_instance_count",
3376                |m: &PatchJob_InstanceDetailsSummary| { &m.timed_out_instance_count },
3377                |m: &mut PatchJob_InstanceDetailsSummary| { &mut m.timed_out_instance_count },
3378            ));
3379            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
3380                "pre_patch_step_instance_count",
3381                |m: &PatchJob_InstanceDetailsSummary| { &m.pre_patch_step_instance_count },
3382                |m: &mut PatchJob_InstanceDetailsSummary| { &mut m.pre_patch_step_instance_count },
3383            ));
3384            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
3385                "post_patch_step_instance_count",
3386                |m: &PatchJob_InstanceDetailsSummary| { &m.post_patch_step_instance_count },
3387                |m: &mut PatchJob_InstanceDetailsSummary| { &mut m.post_patch_step_instance_count },
3388            ));
3389            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
3390                "no_agent_detected_instance_count",
3391                |m: &PatchJob_InstanceDetailsSummary| { &m.no_agent_detected_instance_count },
3392                |m: &mut PatchJob_InstanceDetailsSummary| { &mut m.no_agent_detected_instance_count },
3393            ));
3394            ::protobuf::reflect::MessageDescriptor::new_pb_name::<PatchJob_InstanceDetailsSummary>(
3395                "PatchJob.InstanceDetailsSummary",
3396                fields,
3397                file_descriptor_proto()
3398            )
3399        })
3400    }
3401
3402    fn default_instance() -> &'static PatchJob_InstanceDetailsSummary {
3403        static instance: ::protobuf::rt::LazyV2<PatchJob_InstanceDetailsSummary> = ::protobuf::rt::LazyV2::INIT;
3404        instance.get(PatchJob_InstanceDetailsSummary::new)
3405    }
3406}
3407
3408impl ::protobuf::Clear for PatchJob_InstanceDetailsSummary {
3409    fn clear(&mut self) {
3410        self.pending_instance_count = 0;
3411        self.inactive_instance_count = 0;
3412        self.notified_instance_count = 0;
3413        self.started_instance_count = 0;
3414        self.downloading_patches_instance_count = 0;
3415        self.applying_patches_instance_count = 0;
3416        self.rebooting_instance_count = 0;
3417        self.succeeded_instance_count = 0;
3418        self.succeeded_reboot_required_instance_count = 0;
3419        self.failed_instance_count = 0;
3420        self.acked_instance_count = 0;
3421        self.timed_out_instance_count = 0;
3422        self.pre_patch_step_instance_count = 0;
3423        self.post_patch_step_instance_count = 0;
3424        self.no_agent_detected_instance_count = 0;
3425        self.unknown_fields.clear();
3426    }
3427}
3428
3429impl ::std::fmt::Debug for PatchJob_InstanceDetailsSummary {
3430    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3431        ::protobuf::text_format::fmt(self, f)
3432    }
3433}
3434
3435impl ::protobuf::reflect::ProtobufValue for PatchJob_InstanceDetailsSummary {
3436    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3437        ::protobuf::reflect::ReflectValueRef::Message(self)
3438    }
3439}
3440
3441#[derive(Clone,PartialEq,Eq,Debug,Hash)]
3442pub enum PatchJob_State {
3443    STATE_UNSPECIFIED = 0,
3444    STARTED = 1,
3445    INSTANCE_LOOKUP = 2,
3446    PATCHING = 3,
3447    SUCCEEDED = 4,
3448    COMPLETED_WITH_ERRORS = 5,
3449    CANCELED = 6,
3450    TIMED_OUT = 7,
3451}
3452
3453impl ::protobuf::ProtobufEnum for PatchJob_State {
3454    fn value(&self) -> i32 {
3455        *self as i32
3456    }
3457
3458    fn from_i32(value: i32) -> ::std::option::Option<PatchJob_State> {
3459        match value {
3460            0 => ::std::option::Option::Some(PatchJob_State::STATE_UNSPECIFIED),
3461            1 => ::std::option::Option::Some(PatchJob_State::STARTED),
3462            2 => ::std::option::Option::Some(PatchJob_State::INSTANCE_LOOKUP),
3463            3 => ::std::option::Option::Some(PatchJob_State::PATCHING),
3464            4 => ::std::option::Option::Some(PatchJob_State::SUCCEEDED),
3465            5 => ::std::option::Option::Some(PatchJob_State::COMPLETED_WITH_ERRORS),
3466            6 => ::std::option::Option::Some(PatchJob_State::CANCELED),
3467            7 => ::std::option::Option::Some(PatchJob_State::TIMED_OUT),
3468            _ => ::std::option::Option::None
3469        }
3470    }
3471
3472    fn values() -> &'static [Self] {
3473        static values: &'static [PatchJob_State] = &[
3474            PatchJob_State::STATE_UNSPECIFIED,
3475            PatchJob_State::STARTED,
3476            PatchJob_State::INSTANCE_LOOKUP,
3477            PatchJob_State::PATCHING,
3478            PatchJob_State::SUCCEEDED,
3479            PatchJob_State::COMPLETED_WITH_ERRORS,
3480            PatchJob_State::CANCELED,
3481            PatchJob_State::TIMED_OUT,
3482        ];
3483        values
3484    }
3485
3486    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
3487        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
3488        descriptor.get(|| {
3489            ::protobuf::reflect::EnumDescriptor::new_pb_name::<PatchJob_State>("PatchJob.State", file_descriptor_proto())
3490        })
3491    }
3492}
3493
3494impl ::std::marker::Copy for PatchJob_State {
3495}
3496
3497impl ::std::default::Default for PatchJob_State {
3498    fn default() -> Self {
3499        PatchJob_State::STATE_UNSPECIFIED
3500    }
3501}
3502
3503impl ::protobuf::reflect::ProtobufValue for PatchJob_State {
3504    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3505        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
3506    }
3507}
3508
3509#[derive(PartialEq,Clone,Default)]
3510pub struct PatchConfig {
3511    // message fields
3512    pub reboot_config: PatchConfig_RebootConfig,
3513    pub apt: ::protobuf::SingularPtrField<AptSettings>,
3514    pub yum: ::protobuf::SingularPtrField<YumSettings>,
3515    pub goo: ::protobuf::SingularPtrField<GooSettings>,
3516    pub zypper: ::protobuf::SingularPtrField<ZypperSettings>,
3517    pub windows_update: ::protobuf::SingularPtrField<WindowsUpdateSettings>,
3518    pub pre_step: ::protobuf::SingularPtrField<ExecStep>,
3519    pub post_step: ::protobuf::SingularPtrField<ExecStep>,
3520    pub mig_instances_allowed: bool,
3521    // special fields
3522    pub unknown_fields: ::protobuf::UnknownFields,
3523    pub cached_size: ::protobuf::CachedSize,
3524}
3525
3526impl<'a> ::std::default::Default for &'a PatchConfig {
3527    fn default() -> &'a PatchConfig {
3528        <PatchConfig as ::protobuf::Message>::default_instance()
3529    }
3530}
3531
3532impl PatchConfig {
3533    pub fn new() -> PatchConfig {
3534        ::std::default::Default::default()
3535    }
3536
3537    // .google.cloud.osconfig.v1.PatchConfig.RebootConfig reboot_config = 1;
3538
3539
3540    pub fn get_reboot_config(&self) -> PatchConfig_RebootConfig {
3541        self.reboot_config
3542    }
3543    pub fn clear_reboot_config(&mut self) {
3544        self.reboot_config = PatchConfig_RebootConfig::REBOOT_CONFIG_UNSPECIFIED;
3545    }
3546
3547    // Param is passed by value, moved
3548    pub fn set_reboot_config(&mut self, v: PatchConfig_RebootConfig) {
3549        self.reboot_config = v;
3550    }
3551
3552    // .google.cloud.osconfig.v1.AptSettings apt = 3;
3553
3554
3555    pub fn get_apt(&self) -> &AptSettings {
3556        self.apt.as_ref().unwrap_or_else(|| <AptSettings as ::protobuf::Message>::default_instance())
3557    }
3558    pub fn clear_apt(&mut self) {
3559        self.apt.clear();
3560    }
3561
3562    pub fn has_apt(&self) -> bool {
3563        self.apt.is_some()
3564    }
3565
3566    // Param is passed by value, moved
3567    pub fn set_apt(&mut self, v: AptSettings) {
3568        self.apt = ::protobuf::SingularPtrField::some(v);
3569    }
3570
3571    // Mutable pointer to the field.
3572    // If field is not initialized, it is initialized with default value first.
3573    pub fn mut_apt(&mut self) -> &mut AptSettings {
3574        if self.apt.is_none() {
3575            self.apt.set_default();
3576        }
3577        self.apt.as_mut().unwrap()
3578    }
3579
3580    // Take field
3581    pub fn take_apt(&mut self) -> AptSettings {
3582        self.apt.take().unwrap_or_else(|| AptSettings::new())
3583    }
3584
3585    // .google.cloud.osconfig.v1.YumSettings yum = 4;
3586
3587
3588    pub fn get_yum(&self) -> &YumSettings {
3589        self.yum.as_ref().unwrap_or_else(|| <YumSettings as ::protobuf::Message>::default_instance())
3590    }
3591    pub fn clear_yum(&mut self) {
3592        self.yum.clear();
3593    }
3594
3595    pub fn has_yum(&self) -> bool {
3596        self.yum.is_some()
3597    }
3598
3599    // Param is passed by value, moved
3600    pub fn set_yum(&mut self, v: YumSettings) {
3601        self.yum = ::protobuf::SingularPtrField::some(v);
3602    }
3603
3604    // Mutable pointer to the field.
3605    // If field is not initialized, it is initialized with default value first.
3606    pub fn mut_yum(&mut self) -> &mut YumSettings {
3607        if self.yum.is_none() {
3608            self.yum.set_default();
3609        }
3610        self.yum.as_mut().unwrap()
3611    }
3612
3613    // Take field
3614    pub fn take_yum(&mut self) -> YumSettings {
3615        self.yum.take().unwrap_or_else(|| YumSettings::new())
3616    }
3617
3618    // .google.cloud.osconfig.v1.GooSettings goo = 5;
3619
3620
3621    pub fn get_goo(&self) -> &GooSettings {
3622        self.goo.as_ref().unwrap_or_else(|| <GooSettings as ::protobuf::Message>::default_instance())
3623    }
3624    pub fn clear_goo(&mut self) {
3625        self.goo.clear();
3626    }
3627
3628    pub fn has_goo(&self) -> bool {
3629        self.goo.is_some()
3630    }
3631
3632    // Param is passed by value, moved
3633    pub fn set_goo(&mut self, v: GooSettings) {
3634        self.goo = ::protobuf::SingularPtrField::some(v);
3635    }
3636
3637    // Mutable pointer to the field.
3638    // If field is not initialized, it is initialized with default value first.
3639    pub fn mut_goo(&mut self) -> &mut GooSettings {
3640        if self.goo.is_none() {
3641            self.goo.set_default();
3642        }
3643        self.goo.as_mut().unwrap()
3644    }
3645
3646    // Take field
3647    pub fn take_goo(&mut self) -> GooSettings {
3648        self.goo.take().unwrap_or_else(|| GooSettings::new())
3649    }
3650
3651    // .google.cloud.osconfig.v1.ZypperSettings zypper = 6;
3652
3653
3654    pub fn get_zypper(&self) -> &ZypperSettings {
3655        self.zypper.as_ref().unwrap_or_else(|| <ZypperSettings as ::protobuf::Message>::default_instance())
3656    }
3657    pub fn clear_zypper(&mut self) {
3658        self.zypper.clear();
3659    }
3660
3661    pub fn has_zypper(&self) -> bool {
3662        self.zypper.is_some()
3663    }
3664
3665    // Param is passed by value, moved
3666    pub fn set_zypper(&mut self, v: ZypperSettings) {
3667        self.zypper = ::protobuf::SingularPtrField::some(v);
3668    }
3669
3670    // Mutable pointer to the field.
3671    // If field is not initialized, it is initialized with default value first.
3672    pub fn mut_zypper(&mut self) -> &mut ZypperSettings {
3673        if self.zypper.is_none() {
3674            self.zypper.set_default();
3675        }
3676        self.zypper.as_mut().unwrap()
3677    }
3678
3679    // Take field
3680    pub fn take_zypper(&mut self) -> ZypperSettings {
3681        self.zypper.take().unwrap_or_else(|| ZypperSettings::new())
3682    }
3683
3684    // .google.cloud.osconfig.v1.WindowsUpdateSettings windows_update = 7;
3685
3686
3687    pub fn get_windows_update(&self) -> &WindowsUpdateSettings {
3688        self.windows_update.as_ref().unwrap_or_else(|| <WindowsUpdateSettings as ::protobuf::Message>::default_instance())
3689    }
3690    pub fn clear_windows_update(&mut self) {
3691        self.windows_update.clear();
3692    }
3693
3694    pub fn has_windows_update(&self) -> bool {
3695        self.windows_update.is_some()
3696    }
3697
3698    // Param is passed by value, moved
3699    pub fn set_windows_update(&mut self, v: WindowsUpdateSettings) {
3700        self.windows_update = ::protobuf::SingularPtrField::some(v);
3701    }
3702
3703    // Mutable pointer to the field.
3704    // If field is not initialized, it is initialized with default value first.
3705    pub fn mut_windows_update(&mut self) -> &mut WindowsUpdateSettings {
3706        if self.windows_update.is_none() {
3707            self.windows_update.set_default();
3708        }
3709        self.windows_update.as_mut().unwrap()
3710    }
3711
3712    // Take field
3713    pub fn take_windows_update(&mut self) -> WindowsUpdateSettings {
3714        self.windows_update.take().unwrap_or_else(|| WindowsUpdateSettings::new())
3715    }
3716
3717    // .google.cloud.osconfig.v1.ExecStep pre_step = 8;
3718
3719
3720    pub fn get_pre_step(&self) -> &ExecStep {
3721        self.pre_step.as_ref().unwrap_or_else(|| <ExecStep as ::protobuf::Message>::default_instance())
3722    }
3723    pub fn clear_pre_step(&mut self) {
3724        self.pre_step.clear();
3725    }
3726
3727    pub fn has_pre_step(&self) -> bool {
3728        self.pre_step.is_some()
3729    }
3730
3731    // Param is passed by value, moved
3732    pub fn set_pre_step(&mut self, v: ExecStep) {
3733        self.pre_step = ::protobuf::SingularPtrField::some(v);
3734    }
3735
3736    // Mutable pointer to the field.
3737    // If field is not initialized, it is initialized with default value first.
3738    pub fn mut_pre_step(&mut self) -> &mut ExecStep {
3739        if self.pre_step.is_none() {
3740            self.pre_step.set_default();
3741        }
3742        self.pre_step.as_mut().unwrap()
3743    }
3744
3745    // Take field
3746    pub fn take_pre_step(&mut self) -> ExecStep {
3747        self.pre_step.take().unwrap_or_else(|| ExecStep::new())
3748    }
3749
3750    // .google.cloud.osconfig.v1.ExecStep post_step = 9;
3751
3752
3753    pub fn get_post_step(&self) -> &ExecStep {
3754        self.post_step.as_ref().unwrap_or_else(|| <ExecStep as ::protobuf::Message>::default_instance())
3755    }
3756    pub fn clear_post_step(&mut self) {
3757        self.post_step.clear();
3758    }
3759
3760    pub fn has_post_step(&self) -> bool {
3761        self.post_step.is_some()
3762    }
3763
3764    // Param is passed by value, moved
3765    pub fn set_post_step(&mut self, v: ExecStep) {
3766        self.post_step = ::protobuf::SingularPtrField::some(v);
3767    }
3768
3769    // Mutable pointer to the field.
3770    // If field is not initialized, it is initialized with default value first.
3771    pub fn mut_post_step(&mut self) -> &mut ExecStep {
3772        if self.post_step.is_none() {
3773            self.post_step.set_default();
3774        }
3775        self.post_step.as_mut().unwrap()
3776    }
3777
3778    // Take field
3779    pub fn take_post_step(&mut self) -> ExecStep {
3780        self.post_step.take().unwrap_or_else(|| ExecStep::new())
3781    }
3782
3783    // bool mig_instances_allowed = 10;
3784
3785
3786    pub fn get_mig_instances_allowed(&self) -> bool {
3787        self.mig_instances_allowed
3788    }
3789    pub fn clear_mig_instances_allowed(&mut self) {
3790        self.mig_instances_allowed = false;
3791    }
3792
3793    // Param is passed by value, moved
3794    pub fn set_mig_instances_allowed(&mut self, v: bool) {
3795        self.mig_instances_allowed = v;
3796    }
3797}
3798
3799impl ::protobuf::Message for PatchConfig {
3800    fn is_initialized(&self) -> bool {
3801        for v in &self.apt {
3802            if !v.is_initialized() {
3803                return false;
3804            }
3805        };
3806        for v in &self.yum {
3807            if !v.is_initialized() {
3808                return false;
3809            }
3810        };
3811        for v in &self.goo {
3812            if !v.is_initialized() {
3813                return false;
3814            }
3815        };
3816        for v in &self.zypper {
3817            if !v.is_initialized() {
3818                return false;
3819            }
3820        };
3821        for v in &self.windows_update {
3822            if !v.is_initialized() {
3823                return false;
3824            }
3825        };
3826        for v in &self.pre_step {
3827            if !v.is_initialized() {
3828                return false;
3829            }
3830        };
3831        for v in &self.post_step {
3832            if !v.is_initialized() {
3833                return false;
3834            }
3835        };
3836        true
3837    }
3838
3839    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3840        while !is.eof()? {
3841            let (field_number, wire_type) = is.read_tag_unpack()?;
3842            match field_number {
3843                1 => {
3844                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.reboot_config, 1, &mut self.unknown_fields)?
3845                },
3846                3 => {
3847                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.apt)?;
3848                },
3849                4 => {
3850                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.yum)?;
3851                },
3852                5 => {
3853                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.goo)?;
3854                },
3855                6 => {
3856                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.zypper)?;
3857                },
3858                7 => {
3859                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.windows_update)?;
3860                },
3861                8 => {
3862                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.pre_step)?;
3863                },
3864                9 => {
3865                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.post_step)?;
3866                },
3867                10 => {
3868                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
3869                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
3870                    }
3871                    let tmp = is.read_bool()?;
3872                    self.mig_instances_allowed = tmp;
3873                },
3874                _ => {
3875                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3876                },
3877            };
3878        }
3879        ::std::result::Result::Ok(())
3880    }
3881
3882    // Compute sizes of nested messages
3883    #[allow(unused_variables)]
3884    fn compute_size(&self) -> u32 {
3885        let mut my_size = 0;
3886        if self.reboot_config != PatchConfig_RebootConfig::REBOOT_CONFIG_UNSPECIFIED {
3887            my_size += ::protobuf::rt::enum_size(1, self.reboot_config);
3888        }
3889        if let Some(ref v) = self.apt.as_ref() {
3890            let len = v.compute_size();
3891            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3892        }
3893        if let Some(ref v) = self.yum.as_ref() {
3894            let len = v.compute_size();
3895            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3896        }
3897        if let Some(ref v) = self.goo.as_ref() {
3898            let len = v.compute_size();
3899            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3900        }
3901        if let Some(ref v) = self.zypper.as_ref() {
3902            let len = v.compute_size();
3903            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3904        }
3905        if let Some(ref v) = self.windows_update.as_ref() {
3906            let len = v.compute_size();
3907            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3908        }
3909        if let Some(ref v) = self.pre_step.as_ref() {
3910            let len = v.compute_size();
3911            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3912        }
3913        if let Some(ref v) = self.post_step.as_ref() {
3914            let len = v.compute_size();
3915            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3916        }
3917        if self.mig_instances_allowed != false {
3918            my_size += 2;
3919        }
3920        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3921        self.cached_size.set(my_size);
3922        my_size
3923    }
3924
3925    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3926        if self.reboot_config != PatchConfig_RebootConfig::REBOOT_CONFIG_UNSPECIFIED {
3927            os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.reboot_config))?;
3928        }
3929        if let Some(ref v) = self.apt.as_ref() {
3930            os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3931            os.write_raw_varint32(v.get_cached_size())?;
3932            v.write_to_with_cached_sizes(os)?;
3933        }
3934        if let Some(ref v) = self.yum.as_ref() {
3935            os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3936            os.write_raw_varint32(v.get_cached_size())?;
3937            v.write_to_with_cached_sizes(os)?;
3938        }
3939        if let Some(ref v) = self.goo.as_ref() {
3940            os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3941            os.write_raw_varint32(v.get_cached_size())?;
3942            v.write_to_with_cached_sizes(os)?;
3943        }
3944        if let Some(ref v) = self.zypper.as_ref() {
3945            os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3946            os.write_raw_varint32(v.get_cached_size())?;
3947            v.write_to_with_cached_sizes(os)?;
3948        }
3949        if let Some(ref v) = self.windows_update.as_ref() {
3950            os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3951            os.write_raw_varint32(v.get_cached_size())?;
3952            v.write_to_with_cached_sizes(os)?;
3953        }
3954        if let Some(ref v) = self.pre_step.as_ref() {
3955            os.write_tag(8, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3956            os.write_raw_varint32(v.get_cached_size())?;
3957            v.write_to_with_cached_sizes(os)?;
3958        }
3959        if let Some(ref v) = self.post_step.as_ref() {
3960            os.write_tag(9, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3961            os.write_raw_varint32(v.get_cached_size())?;
3962            v.write_to_with_cached_sizes(os)?;
3963        }
3964        if self.mig_instances_allowed != false {
3965            os.write_bool(10, self.mig_instances_allowed)?;
3966        }
3967        os.write_unknown_fields(self.get_unknown_fields())?;
3968        ::std::result::Result::Ok(())
3969    }
3970
3971    fn get_cached_size(&self) -> u32 {
3972        self.cached_size.get()
3973    }
3974
3975    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3976        &self.unknown_fields
3977    }
3978
3979    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3980        &mut self.unknown_fields
3981    }
3982
3983    fn as_any(&self) -> &dyn (::std::any::Any) {
3984        self as &dyn (::std::any::Any)
3985    }
3986    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3987        self as &mut dyn (::std::any::Any)
3988    }
3989    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3990        self
3991    }
3992
3993    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3994        Self::descriptor_static()
3995    }
3996
3997    fn new() -> PatchConfig {
3998        PatchConfig::new()
3999    }
4000
4001    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4002        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4003        descriptor.get(|| {
4004            let mut fields = ::std::vec::Vec::new();
4005            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<PatchConfig_RebootConfig>>(
4006                "reboot_config",
4007                |m: &PatchConfig| { &m.reboot_config },
4008                |m: &mut PatchConfig| { &mut m.reboot_config },
4009            ));
4010            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<AptSettings>>(
4011                "apt",
4012                |m: &PatchConfig| { &m.apt },
4013                |m: &mut PatchConfig| { &mut m.apt },
4014            ));
4015            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<YumSettings>>(
4016                "yum",
4017                |m: &PatchConfig| { &m.yum },
4018                |m: &mut PatchConfig| { &mut m.yum },
4019            ));
4020            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<GooSettings>>(
4021                "goo",
4022                |m: &PatchConfig| { &m.goo },
4023                |m: &mut PatchConfig| { &mut m.goo },
4024            ));
4025            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ZypperSettings>>(
4026                "zypper",
4027                |m: &PatchConfig| { &m.zypper },
4028                |m: &mut PatchConfig| { &mut m.zypper },
4029            ));
4030            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<WindowsUpdateSettings>>(
4031                "windows_update",
4032                |m: &PatchConfig| { &m.windows_update },
4033                |m: &mut PatchConfig| { &mut m.windows_update },
4034            ));
4035            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ExecStep>>(
4036                "pre_step",
4037                |m: &PatchConfig| { &m.pre_step },
4038                |m: &mut PatchConfig| { &mut m.pre_step },
4039            ));
4040            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ExecStep>>(
4041                "post_step",
4042                |m: &PatchConfig| { &m.post_step },
4043                |m: &mut PatchConfig| { &mut m.post_step },
4044            ));
4045            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
4046                "mig_instances_allowed",
4047                |m: &PatchConfig| { &m.mig_instances_allowed },
4048                |m: &mut PatchConfig| { &mut m.mig_instances_allowed },
4049            ));
4050            ::protobuf::reflect::MessageDescriptor::new_pb_name::<PatchConfig>(
4051                "PatchConfig",
4052                fields,
4053                file_descriptor_proto()
4054            )
4055        })
4056    }
4057
4058    fn default_instance() -> &'static PatchConfig {
4059        static instance: ::protobuf::rt::LazyV2<PatchConfig> = ::protobuf::rt::LazyV2::INIT;
4060        instance.get(PatchConfig::new)
4061    }
4062}
4063
4064impl ::protobuf::Clear for PatchConfig {
4065    fn clear(&mut self) {
4066        self.reboot_config = PatchConfig_RebootConfig::REBOOT_CONFIG_UNSPECIFIED;
4067        self.apt.clear();
4068        self.yum.clear();
4069        self.goo.clear();
4070        self.zypper.clear();
4071        self.windows_update.clear();
4072        self.pre_step.clear();
4073        self.post_step.clear();
4074        self.mig_instances_allowed = false;
4075        self.unknown_fields.clear();
4076    }
4077}
4078
4079impl ::std::fmt::Debug for PatchConfig {
4080    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4081        ::protobuf::text_format::fmt(self, f)
4082    }
4083}
4084
4085impl ::protobuf::reflect::ProtobufValue for PatchConfig {
4086    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4087        ::protobuf::reflect::ReflectValueRef::Message(self)
4088    }
4089}
4090
4091#[derive(Clone,PartialEq,Eq,Debug,Hash)]
4092pub enum PatchConfig_RebootConfig {
4093    REBOOT_CONFIG_UNSPECIFIED = 0,
4094    DEFAULT = 1,
4095    ALWAYS = 2,
4096    NEVER = 3,
4097}
4098
4099impl ::protobuf::ProtobufEnum for PatchConfig_RebootConfig {
4100    fn value(&self) -> i32 {
4101        *self as i32
4102    }
4103
4104    fn from_i32(value: i32) -> ::std::option::Option<PatchConfig_RebootConfig> {
4105        match value {
4106            0 => ::std::option::Option::Some(PatchConfig_RebootConfig::REBOOT_CONFIG_UNSPECIFIED),
4107            1 => ::std::option::Option::Some(PatchConfig_RebootConfig::DEFAULT),
4108            2 => ::std::option::Option::Some(PatchConfig_RebootConfig::ALWAYS),
4109            3 => ::std::option::Option::Some(PatchConfig_RebootConfig::NEVER),
4110            _ => ::std::option::Option::None
4111        }
4112    }
4113
4114    fn values() -> &'static [Self] {
4115        static values: &'static [PatchConfig_RebootConfig] = &[
4116            PatchConfig_RebootConfig::REBOOT_CONFIG_UNSPECIFIED,
4117            PatchConfig_RebootConfig::DEFAULT,
4118            PatchConfig_RebootConfig::ALWAYS,
4119            PatchConfig_RebootConfig::NEVER,
4120        ];
4121        values
4122    }
4123
4124    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
4125        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
4126        descriptor.get(|| {
4127            ::protobuf::reflect::EnumDescriptor::new_pb_name::<PatchConfig_RebootConfig>("PatchConfig.RebootConfig", file_descriptor_proto())
4128        })
4129    }
4130}
4131
4132impl ::std::marker::Copy for PatchConfig_RebootConfig {
4133}
4134
4135impl ::std::default::Default for PatchConfig_RebootConfig {
4136    fn default() -> Self {
4137        PatchConfig_RebootConfig::REBOOT_CONFIG_UNSPECIFIED
4138    }
4139}
4140
4141impl ::protobuf::reflect::ProtobufValue for PatchConfig_RebootConfig {
4142    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4143        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
4144    }
4145}
4146
4147#[derive(PartialEq,Clone,Default)]
4148pub struct Instance {
4149    // special fields
4150    pub unknown_fields: ::protobuf::UnknownFields,
4151    pub cached_size: ::protobuf::CachedSize,
4152}
4153
4154impl<'a> ::std::default::Default for &'a Instance {
4155    fn default() -> &'a Instance {
4156        <Instance as ::protobuf::Message>::default_instance()
4157    }
4158}
4159
4160impl Instance {
4161    pub fn new() -> Instance {
4162        ::std::default::Default::default()
4163    }
4164}
4165
4166impl ::protobuf::Message for Instance {
4167    fn is_initialized(&self) -> bool {
4168        true
4169    }
4170
4171    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4172        while !is.eof()? {
4173            let (field_number, wire_type) = is.read_tag_unpack()?;
4174            match field_number {
4175                _ => {
4176                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4177                },
4178            };
4179        }
4180        ::std::result::Result::Ok(())
4181    }
4182
4183    // Compute sizes of nested messages
4184    #[allow(unused_variables)]
4185    fn compute_size(&self) -> u32 {
4186        let mut my_size = 0;
4187        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4188        self.cached_size.set(my_size);
4189        my_size
4190    }
4191
4192    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4193        os.write_unknown_fields(self.get_unknown_fields())?;
4194        ::std::result::Result::Ok(())
4195    }
4196
4197    fn get_cached_size(&self) -> u32 {
4198        self.cached_size.get()
4199    }
4200
4201    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4202        &self.unknown_fields
4203    }
4204
4205    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4206        &mut self.unknown_fields
4207    }
4208
4209    fn as_any(&self) -> &dyn (::std::any::Any) {
4210        self as &dyn (::std::any::Any)
4211    }
4212    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4213        self as &mut dyn (::std::any::Any)
4214    }
4215    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4216        self
4217    }
4218
4219    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4220        Self::descriptor_static()
4221    }
4222
4223    fn new() -> Instance {
4224        Instance::new()
4225    }
4226
4227    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4228        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4229        descriptor.get(|| {
4230            let fields = ::std::vec::Vec::new();
4231            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Instance>(
4232                "Instance",
4233                fields,
4234                file_descriptor_proto()
4235            )
4236        })
4237    }
4238
4239    fn default_instance() -> &'static Instance {
4240        static instance: ::protobuf::rt::LazyV2<Instance> = ::protobuf::rt::LazyV2::INIT;
4241        instance.get(Instance::new)
4242    }
4243}
4244
4245impl ::protobuf::Clear for Instance {
4246    fn clear(&mut self) {
4247        self.unknown_fields.clear();
4248    }
4249}
4250
4251impl ::std::fmt::Debug for Instance {
4252    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4253        ::protobuf::text_format::fmt(self, f)
4254    }
4255}
4256
4257impl ::protobuf::reflect::ProtobufValue for Instance {
4258    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4259        ::protobuf::reflect::ReflectValueRef::Message(self)
4260    }
4261}
4262
4263#[derive(Clone,PartialEq,Eq,Debug,Hash)]
4264pub enum Instance_PatchState {
4265    PATCH_STATE_UNSPECIFIED = 0,
4266    PENDING = 1,
4267    INACTIVE = 2,
4268    NOTIFIED = 3,
4269    STARTED = 4,
4270    DOWNLOADING_PATCHES = 5,
4271    APPLYING_PATCHES = 6,
4272    REBOOTING = 7,
4273    SUCCEEDED = 8,
4274    SUCCEEDED_REBOOT_REQUIRED = 9,
4275    FAILED = 10,
4276    ACKED = 11,
4277    TIMED_OUT = 12,
4278    RUNNING_PRE_PATCH_STEP = 13,
4279    RUNNING_POST_PATCH_STEP = 14,
4280    NO_AGENT_DETECTED = 15,
4281}
4282
4283impl ::protobuf::ProtobufEnum for Instance_PatchState {
4284    fn value(&self) -> i32 {
4285        *self as i32
4286    }
4287
4288    fn from_i32(value: i32) -> ::std::option::Option<Instance_PatchState> {
4289        match value {
4290            0 => ::std::option::Option::Some(Instance_PatchState::PATCH_STATE_UNSPECIFIED),
4291            1 => ::std::option::Option::Some(Instance_PatchState::PENDING),
4292            2 => ::std::option::Option::Some(Instance_PatchState::INACTIVE),
4293            3 => ::std::option::Option::Some(Instance_PatchState::NOTIFIED),
4294            4 => ::std::option::Option::Some(Instance_PatchState::STARTED),
4295            5 => ::std::option::Option::Some(Instance_PatchState::DOWNLOADING_PATCHES),
4296            6 => ::std::option::Option::Some(Instance_PatchState::APPLYING_PATCHES),
4297            7 => ::std::option::Option::Some(Instance_PatchState::REBOOTING),
4298            8 => ::std::option::Option::Some(Instance_PatchState::SUCCEEDED),
4299            9 => ::std::option::Option::Some(Instance_PatchState::SUCCEEDED_REBOOT_REQUIRED),
4300            10 => ::std::option::Option::Some(Instance_PatchState::FAILED),
4301            11 => ::std::option::Option::Some(Instance_PatchState::ACKED),
4302            12 => ::std::option::Option::Some(Instance_PatchState::TIMED_OUT),
4303            13 => ::std::option::Option::Some(Instance_PatchState::RUNNING_PRE_PATCH_STEP),
4304            14 => ::std::option::Option::Some(Instance_PatchState::RUNNING_POST_PATCH_STEP),
4305            15 => ::std::option::Option::Some(Instance_PatchState::NO_AGENT_DETECTED),
4306            _ => ::std::option::Option::None
4307        }
4308    }
4309
4310    fn values() -> &'static [Self] {
4311        static values: &'static [Instance_PatchState] = &[
4312            Instance_PatchState::PATCH_STATE_UNSPECIFIED,
4313            Instance_PatchState::PENDING,
4314            Instance_PatchState::INACTIVE,
4315            Instance_PatchState::NOTIFIED,
4316            Instance_PatchState::STARTED,
4317            Instance_PatchState::DOWNLOADING_PATCHES,
4318            Instance_PatchState::APPLYING_PATCHES,
4319            Instance_PatchState::REBOOTING,
4320            Instance_PatchState::SUCCEEDED,
4321            Instance_PatchState::SUCCEEDED_REBOOT_REQUIRED,
4322            Instance_PatchState::FAILED,
4323            Instance_PatchState::ACKED,
4324            Instance_PatchState::TIMED_OUT,
4325            Instance_PatchState::RUNNING_PRE_PATCH_STEP,
4326            Instance_PatchState::RUNNING_POST_PATCH_STEP,
4327            Instance_PatchState::NO_AGENT_DETECTED,
4328        ];
4329        values
4330    }
4331
4332    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
4333        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
4334        descriptor.get(|| {
4335            ::protobuf::reflect::EnumDescriptor::new_pb_name::<Instance_PatchState>("Instance.PatchState", file_descriptor_proto())
4336        })
4337    }
4338}
4339
4340impl ::std::marker::Copy for Instance_PatchState {
4341}
4342
4343impl ::std::default::Default for Instance_PatchState {
4344    fn default() -> Self {
4345        Instance_PatchState::PATCH_STATE_UNSPECIFIED
4346    }
4347}
4348
4349impl ::protobuf::reflect::ProtobufValue for Instance_PatchState {
4350    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4351        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
4352    }
4353}
4354
4355#[derive(PartialEq,Clone,Default)]
4356pub struct CancelPatchJobRequest {
4357    // message fields
4358    pub name: ::std::string::String,
4359    // special fields
4360    pub unknown_fields: ::protobuf::UnknownFields,
4361    pub cached_size: ::protobuf::CachedSize,
4362}
4363
4364impl<'a> ::std::default::Default for &'a CancelPatchJobRequest {
4365    fn default() -> &'a CancelPatchJobRequest {
4366        <CancelPatchJobRequest as ::protobuf::Message>::default_instance()
4367    }
4368}
4369
4370impl CancelPatchJobRequest {
4371    pub fn new() -> CancelPatchJobRequest {
4372        ::std::default::Default::default()
4373    }
4374
4375    // string name = 1;
4376
4377
4378    pub fn get_name(&self) -> &str {
4379        &self.name
4380    }
4381    pub fn clear_name(&mut self) {
4382        self.name.clear();
4383    }
4384
4385    // Param is passed by value, moved
4386    pub fn set_name(&mut self, v: ::std::string::String) {
4387        self.name = v;
4388    }
4389
4390    // Mutable pointer to the field.
4391    // If field is not initialized, it is initialized with default value first.
4392    pub fn mut_name(&mut self) -> &mut ::std::string::String {
4393        &mut self.name
4394    }
4395
4396    // Take field
4397    pub fn take_name(&mut self) -> ::std::string::String {
4398        ::std::mem::replace(&mut self.name, ::std::string::String::new())
4399    }
4400}
4401
4402impl ::protobuf::Message for CancelPatchJobRequest {
4403    fn is_initialized(&self) -> bool {
4404        true
4405    }
4406
4407    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4408        while !is.eof()? {
4409            let (field_number, wire_type) = is.read_tag_unpack()?;
4410            match field_number {
4411                1 => {
4412                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
4413                },
4414                _ => {
4415                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4416                },
4417            };
4418        }
4419        ::std::result::Result::Ok(())
4420    }
4421
4422    // Compute sizes of nested messages
4423    #[allow(unused_variables)]
4424    fn compute_size(&self) -> u32 {
4425        let mut my_size = 0;
4426        if !self.name.is_empty() {
4427            my_size += ::protobuf::rt::string_size(1, &self.name);
4428        }
4429        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4430        self.cached_size.set(my_size);
4431        my_size
4432    }
4433
4434    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4435        if !self.name.is_empty() {
4436            os.write_string(1, &self.name)?;
4437        }
4438        os.write_unknown_fields(self.get_unknown_fields())?;
4439        ::std::result::Result::Ok(())
4440    }
4441
4442    fn get_cached_size(&self) -> u32 {
4443        self.cached_size.get()
4444    }
4445
4446    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4447        &self.unknown_fields
4448    }
4449
4450    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4451        &mut self.unknown_fields
4452    }
4453
4454    fn as_any(&self) -> &dyn (::std::any::Any) {
4455        self as &dyn (::std::any::Any)
4456    }
4457    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4458        self as &mut dyn (::std::any::Any)
4459    }
4460    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4461        self
4462    }
4463
4464    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4465        Self::descriptor_static()
4466    }
4467
4468    fn new() -> CancelPatchJobRequest {
4469        CancelPatchJobRequest::new()
4470    }
4471
4472    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4473        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4474        descriptor.get(|| {
4475            let mut fields = ::std::vec::Vec::new();
4476            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4477                "name",
4478                |m: &CancelPatchJobRequest| { &m.name },
4479                |m: &mut CancelPatchJobRequest| { &mut m.name },
4480            ));
4481            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CancelPatchJobRequest>(
4482                "CancelPatchJobRequest",
4483                fields,
4484                file_descriptor_proto()
4485            )
4486        })
4487    }
4488
4489    fn default_instance() -> &'static CancelPatchJobRequest {
4490        static instance: ::protobuf::rt::LazyV2<CancelPatchJobRequest> = ::protobuf::rt::LazyV2::INIT;
4491        instance.get(CancelPatchJobRequest::new)
4492    }
4493}
4494
4495impl ::protobuf::Clear for CancelPatchJobRequest {
4496    fn clear(&mut self) {
4497        self.name.clear();
4498        self.unknown_fields.clear();
4499    }
4500}
4501
4502impl ::std::fmt::Debug for CancelPatchJobRequest {
4503    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4504        ::protobuf::text_format::fmt(self, f)
4505    }
4506}
4507
4508impl ::protobuf::reflect::ProtobufValue for CancelPatchJobRequest {
4509    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4510        ::protobuf::reflect::ReflectValueRef::Message(self)
4511    }
4512}
4513
4514#[derive(PartialEq,Clone,Default)]
4515pub struct AptSettings {
4516    // message fields
4517    pub field_type: AptSettings_Type,
4518    pub excludes: ::protobuf::RepeatedField<::std::string::String>,
4519    pub exclusive_packages: ::protobuf::RepeatedField<::std::string::String>,
4520    // special fields
4521    pub unknown_fields: ::protobuf::UnknownFields,
4522    pub cached_size: ::protobuf::CachedSize,
4523}
4524
4525impl<'a> ::std::default::Default for &'a AptSettings {
4526    fn default() -> &'a AptSettings {
4527        <AptSettings as ::protobuf::Message>::default_instance()
4528    }
4529}
4530
4531impl AptSettings {
4532    pub fn new() -> AptSettings {
4533        ::std::default::Default::default()
4534    }
4535
4536    // .google.cloud.osconfig.v1.AptSettings.Type type = 1;
4537
4538
4539    pub fn get_field_type(&self) -> AptSettings_Type {
4540        self.field_type
4541    }
4542    pub fn clear_field_type(&mut self) {
4543        self.field_type = AptSettings_Type::TYPE_UNSPECIFIED;
4544    }
4545
4546    // Param is passed by value, moved
4547    pub fn set_field_type(&mut self, v: AptSettings_Type) {
4548        self.field_type = v;
4549    }
4550
4551    // repeated string excludes = 2;
4552
4553
4554    pub fn get_excludes(&self) -> &[::std::string::String] {
4555        &self.excludes
4556    }
4557    pub fn clear_excludes(&mut self) {
4558        self.excludes.clear();
4559    }
4560
4561    // Param is passed by value, moved
4562    pub fn set_excludes(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
4563        self.excludes = v;
4564    }
4565
4566    // Mutable pointer to the field.
4567    pub fn mut_excludes(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
4568        &mut self.excludes
4569    }
4570
4571    // Take field
4572    pub fn take_excludes(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
4573        ::std::mem::replace(&mut self.excludes, ::protobuf::RepeatedField::new())
4574    }
4575
4576    // repeated string exclusive_packages = 3;
4577
4578
4579    pub fn get_exclusive_packages(&self) -> &[::std::string::String] {
4580        &self.exclusive_packages
4581    }
4582    pub fn clear_exclusive_packages(&mut self) {
4583        self.exclusive_packages.clear();
4584    }
4585
4586    // Param is passed by value, moved
4587    pub fn set_exclusive_packages(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
4588        self.exclusive_packages = v;
4589    }
4590
4591    // Mutable pointer to the field.
4592    pub fn mut_exclusive_packages(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
4593        &mut self.exclusive_packages
4594    }
4595
4596    // Take field
4597    pub fn take_exclusive_packages(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
4598        ::std::mem::replace(&mut self.exclusive_packages, ::protobuf::RepeatedField::new())
4599    }
4600}
4601
4602impl ::protobuf::Message for AptSettings {
4603    fn is_initialized(&self) -> bool {
4604        true
4605    }
4606
4607    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4608        while !is.eof()? {
4609            let (field_number, wire_type) = is.read_tag_unpack()?;
4610            match field_number {
4611                1 => {
4612                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.field_type, 1, &mut self.unknown_fields)?
4613                },
4614                2 => {
4615                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.excludes)?;
4616                },
4617                3 => {
4618                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.exclusive_packages)?;
4619                },
4620                _ => {
4621                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4622                },
4623            };
4624        }
4625        ::std::result::Result::Ok(())
4626    }
4627
4628    // Compute sizes of nested messages
4629    #[allow(unused_variables)]
4630    fn compute_size(&self) -> u32 {
4631        let mut my_size = 0;
4632        if self.field_type != AptSettings_Type::TYPE_UNSPECIFIED {
4633            my_size += ::protobuf::rt::enum_size(1, self.field_type);
4634        }
4635        for value in &self.excludes {
4636            my_size += ::protobuf::rt::string_size(2, &value);
4637        };
4638        for value in &self.exclusive_packages {
4639            my_size += ::protobuf::rt::string_size(3, &value);
4640        };
4641        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4642        self.cached_size.set(my_size);
4643        my_size
4644    }
4645
4646    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4647        if self.field_type != AptSettings_Type::TYPE_UNSPECIFIED {
4648            os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.field_type))?;
4649        }
4650        for v in &self.excludes {
4651            os.write_string(2, &v)?;
4652        };
4653        for v in &self.exclusive_packages {
4654            os.write_string(3, &v)?;
4655        };
4656        os.write_unknown_fields(self.get_unknown_fields())?;
4657        ::std::result::Result::Ok(())
4658    }
4659
4660    fn get_cached_size(&self) -> u32 {
4661        self.cached_size.get()
4662    }
4663
4664    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4665        &self.unknown_fields
4666    }
4667
4668    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4669        &mut self.unknown_fields
4670    }
4671
4672    fn as_any(&self) -> &dyn (::std::any::Any) {
4673        self as &dyn (::std::any::Any)
4674    }
4675    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4676        self as &mut dyn (::std::any::Any)
4677    }
4678    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4679        self
4680    }
4681
4682    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4683        Self::descriptor_static()
4684    }
4685
4686    fn new() -> AptSettings {
4687        AptSettings::new()
4688    }
4689
4690    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4691        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4692        descriptor.get(|| {
4693            let mut fields = ::std::vec::Vec::new();
4694            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<AptSettings_Type>>(
4695                "type",
4696                |m: &AptSettings| { &m.field_type },
4697                |m: &mut AptSettings| { &mut m.field_type },
4698            ));
4699            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4700                "excludes",
4701                |m: &AptSettings| { &m.excludes },
4702                |m: &mut AptSettings| { &mut m.excludes },
4703            ));
4704            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4705                "exclusive_packages",
4706                |m: &AptSettings| { &m.exclusive_packages },
4707                |m: &mut AptSettings| { &mut m.exclusive_packages },
4708            ));
4709            ::protobuf::reflect::MessageDescriptor::new_pb_name::<AptSettings>(
4710                "AptSettings",
4711                fields,
4712                file_descriptor_proto()
4713            )
4714        })
4715    }
4716
4717    fn default_instance() -> &'static AptSettings {
4718        static instance: ::protobuf::rt::LazyV2<AptSettings> = ::protobuf::rt::LazyV2::INIT;
4719        instance.get(AptSettings::new)
4720    }
4721}
4722
4723impl ::protobuf::Clear for AptSettings {
4724    fn clear(&mut self) {
4725        self.field_type = AptSettings_Type::TYPE_UNSPECIFIED;
4726        self.excludes.clear();
4727        self.exclusive_packages.clear();
4728        self.unknown_fields.clear();
4729    }
4730}
4731
4732impl ::std::fmt::Debug for AptSettings {
4733    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4734        ::protobuf::text_format::fmt(self, f)
4735    }
4736}
4737
4738impl ::protobuf::reflect::ProtobufValue for AptSettings {
4739    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4740        ::protobuf::reflect::ReflectValueRef::Message(self)
4741    }
4742}
4743
4744#[derive(Clone,PartialEq,Eq,Debug,Hash)]
4745pub enum AptSettings_Type {
4746    TYPE_UNSPECIFIED = 0,
4747    DIST = 1,
4748    UPGRADE = 2,
4749}
4750
4751impl ::protobuf::ProtobufEnum for AptSettings_Type {
4752    fn value(&self) -> i32 {
4753        *self as i32
4754    }
4755
4756    fn from_i32(value: i32) -> ::std::option::Option<AptSettings_Type> {
4757        match value {
4758            0 => ::std::option::Option::Some(AptSettings_Type::TYPE_UNSPECIFIED),
4759            1 => ::std::option::Option::Some(AptSettings_Type::DIST),
4760            2 => ::std::option::Option::Some(AptSettings_Type::UPGRADE),
4761            _ => ::std::option::Option::None
4762        }
4763    }
4764
4765    fn values() -> &'static [Self] {
4766        static values: &'static [AptSettings_Type] = &[
4767            AptSettings_Type::TYPE_UNSPECIFIED,
4768            AptSettings_Type::DIST,
4769            AptSettings_Type::UPGRADE,
4770        ];
4771        values
4772    }
4773
4774    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
4775        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
4776        descriptor.get(|| {
4777            ::protobuf::reflect::EnumDescriptor::new_pb_name::<AptSettings_Type>("AptSettings.Type", file_descriptor_proto())
4778        })
4779    }
4780}
4781
4782impl ::std::marker::Copy for AptSettings_Type {
4783}
4784
4785impl ::std::default::Default for AptSettings_Type {
4786    fn default() -> Self {
4787        AptSettings_Type::TYPE_UNSPECIFIED
4788    }
4789}
4790
4791impl ::protobuf::reflect::ProtobufValue for AptSettings_Type {
4792    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4793        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
4794    }
4795}
4796
4797#[derive(PartialEq,Clone,Default)]
4798pub struct YumSettings {
4799    // message fields
4800    pub security: bool,
4801    pub minimal: bool,
4802    pub excludes: ::protobuf::RepeatedField<::std::string::String>,
4803    pub exclusive_packages: ::protobuf::RepeatedField<::std::string::String>,
4804    // special fields
4805    pub unknown_fields: ::protobuf::UnknownFields,
4806    pub cached_size: ::protobuf::CachedSize,
4807}
4808
4809impl<'a> ::std::default::Default for &'a YumSettings {
4810    fn default() -> &'a YumSettings {
4811        <YumSettings as ::protobuf::Message>::default_instance()
4812    }
4813}
4814
4815impl YumSettings {
4816    pub fn new() -> YumSettings {
4817        ::std::default::Default::default()
4818    }
4819
4820    // bool security = 1;
4821
4822
4823    pub fn get_security(&self) -> bool {
4824        self.security
4825    }
4826    pub fn clear_security(&mut self) {
4827        self.security = false;
4828    }
4829
4830    // Param is passed by value, moved
4831    pub fn set_security(&mut self, v: bool) {
4832        self.security = v;
4833    }
4834
4835    // bool minimal = 2;
4836
4837
4838    pub fn get_minimal(&self) -> bool {
4839        self.minimal
4840    }
4841    pub fn clear_minimal(&mut self) {
4842        self.minimal = false;
4843    }
4844
4845    // Param is passed by value, moved
4846    pub fn set_minimal(&mut self, v: bool) {
4847        self.minimal = v;
4848    }
4849
4850    // repeated string excludes = 3;
4851
4852
4853    pub fn get_excludes(&self) -> &[::std::string::String] {
4854        &self.excludes
4855    }
4856    pub fn clear_excludes(&mut self) {
4857        self.excludes.clear();
4858    }
4859
4860    // Param is passed by value, moved
4861    pub fn set_excludes(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
4862        self.excludes = v;
4863    }
4864
4865    // Mutable pointer to the field.
4866    pub fn mut_excludes(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
4867        &mut self.excludes
4868    }
4869
4870    // Take field
4871    pub fn take_excludes(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
4872        ::std::mem::replace(&mut self.excludes, ::protobuf::RepeatedField::new())
4873    }
4874
4875    // repeated string exclusive_packages = 4;
4876
4877
4878    pub fn get_exclusive_packages(&self) -> &[::std::string::String] {
4879        &self.exclusive_packages
4880    }
4881    pub fn clear_exclusive_packages(&mut self) {
4882        self.exclusive_packages.clear();
4883    }
4884
4885    // Param is passed by value, moved
4886    pub fn set_exclusive_packages(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
4887        self.exclusive_packages = v;
4888    }
4889
4890    // Mutable pointer to the field.
4891    pub fn mut_exclusive_packages(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
4892        &mut self.exclusive_packages
4893    }
4894
4895    // Take field
4896    pub fn take_exclusive_packages(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
4897        ::std::mem::replace(&mut self.exclusive_packages, ::protobuf::RepeatedField::new())
4898    }
4899}
4900
4901impl ::protobuf::Message for YumSettings {
4902    fn is_initialized(&self) -> bool {
4903        true
4904    }
4905
4906    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4907        while !is.eof()? {
4908            let (field_number, wire_type) = is.read_tag_unpack()?;
4909            match field_number {
4910                1 => {
4911                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
4912                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
4913                    }
4914                    let tmp = is.read_bool()?;
4915                    self.security = tmp;
4916                },
4917                2 => {
4918                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
4919                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
4920                    }
4921                    let tmp = is.read_bool()?;
4922                    self.minimal = tmp;
4923                },
4924                3 => {
4925                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.excludes)?;
4926                },
4927                4 => {
4928                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.exclusive_packages)?;
4929                },
4930                _ => {
4931                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4932                },
4933            };
4934        }
4935        ::std::result::Result::Ok(())
4936    }
4937
4938    // Compute sizes of nested messages
4939    #[allow(unused_variables)]
4940    fn compute_size(&self) -> u32 {
4941        let mut my_size = 0;
4942        if self.security != false {
4943            my_size += 2;
4944        }
4945        if self.minimal != false {
4946            my_size += 2;
4947        }
4948        for value in &self.excludes {
4949            my_size += ::protobuf::rt::string_size(3, &value);
4950        };
4951        for value in &self.exclusive_packages {
4952            my_size += ::protobuf::rt::string_size(4, &value);
4953        };
4954        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4955        self.cached_size.set(my_size);
4956        my_size
4957    }
4958
4959    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4960        if self.security != false {
4961            os.write_bool(1, self.security)?;
4962        }
4963        if self.minimal != false {
4964            os.write_bool(2, self.minimal)?;
4965        }
4966        for v in &self.excludes {
4967            os.write_string(3, &v)?;
4968        };
4969        for v in &self.exclusive_packages {
4970            os.write_string(4, &v)?;
4971        };
4972        os.write_unknown_fields(self.get_unknown_fields())?;
4973        ::std::result::Result::Ok(())
4974    }
4975
4976    fn get_cached_size(&self) -> u32 {
4977        self.cached_size.get()
4978    }
4979
4980    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4981        &self.unknown_fields
4982    }
4983
4984    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4985        &mut self.unknown_fields
4986    }
4987
4988    fn as_any(&self) -> &dyn (::std::any::Any) {
4989        self as &dyn (::std::any::Any)
4990    }
4991    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4992        self as &mut dyn (::std::any::Any)
4993    }
4994    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4995        self
4996    }
4997
4998    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4999        Self::descriptor_static()
5000    }
5001
5002    fn new() -> YumSettings {
5003        YumSettings::new()
5004    }
5005
5006    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5007        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5008        descriptor.get(|| {
5009            let mut fields = ::std::vec::Vec::new();
5010            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
5011                "security",
5012                |m: &YumSettings| { &m.security },
5013                |m: &mut YumSettings| { &mut m.security },
5014            ));
5015            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
5016                "minimal",
5017                |m: &YumSettings| { &m.minimal },
5018                |m: &mut YumSettings| { &mut m.minimal },
5019            ));
5020            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5021                "excludes",
5022                |m: &YumSettings| { &m.excludes },
5023                |m: &mut YumSettings| { &mut m.excludes },
5024            ));
5025            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5026                "exclusive_packages",
5027                |m: &YumSettings| { &m.exclusive_packages },
5028                |m: &mut YumSettings| { &mut m.exclusive_packages },
5029            ));
5030            ::protobuf::reflect::MessageDescriptor::new_pb_name::<YumSettings>(
5031                "YumSettings",
5032                fields,
5033                file_descriptor_proto()
5034            )
5035        })
5036    }
5037
5038    fn default_instance() -> &'static YumSettings {
5039        static instance: ::protobuf::rt::LazyV2<YumSettings> = ::protobuf::rt::LazyV2::INIT;
5040        instance.get(YumSettings::new)
5041    }
5042}
5043
5044impl ::protobuf::Clear for YumSettings {
5045    fn clear(&mut self) {
5046        self.security = false;
5047        self.minimal = false;
5048        self.excludes.clear();
5049        self.exclusive_packages.clear();
5050        self.unknown_fields.clear();
5051    }
5052}
5053
5054impl ::std::fmt::Debug for YumSettings {
5055    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5056        ::protobuf::text_format::fmt(self, f)
5057    }
5058}
5059
5060impl ::protobuf::reflect::ProtobufValue for YumSettings {
5061    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5062        ::protobuf::reflect::ReflectValueRef::Message(self)
5063    }
5064}
5065
5066#[derive(PartialEq,Clone,Default)]
5067pub struct GooSettings {
5068    // special fields
5069    pub unknown_fields: ::protobuf::UnknownFields,
5070    pub cached_size: ::protobuf::CachedSize,
5071}
5072
5073impl<'a> ::std::default::Default for &'a GooSettings {
5074    fn default() -> &'a GooSettings {
5075        <GooSettings as ::protobuf::Message>::default_instance()
5076    }
5077}
5078
5079impl GooSettings {
5080    pub fn new() -> GooSettings {
5081        ::std::default::Default::default()
5082    }
5083}
5084
5085impl ::protobuf::Message for GooSettings {
5086    fn is_initialized(&self) -> bool {
5087        true
5088    }
5089
5090    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5091        while !is.eof()? {
5092            let (field_number, wire_type) = is.read_tag_unpack()?;
5093            match field_number {
5094                _ => {
5095                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5096                },
5097            };
5098        }
5099        ::std::result::Result::Ok(())
5100    }
5101
5102    // Compute sizes of nested messages
5103    #[allow(unused_variables)]
5104    fn compute_size(&self) -> u32 {
5105        let mut my_size = 0;
5106        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5107        self.cached_size.set(my_size);
5108        my_size
5109    }
5110
5111    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5112        os.write_unknown_fields(self.get_unknown_fields())?;
5113        ::std::result::Result::Ok(())
5114    }
5115
5116    fn get_cached_size(&self) -> u32 {
5117        self.cached_size.get()
5118    }
5119
5120    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5121        &self.unknown_fields
5122    }
5123
5124    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5125        &mut self.unknown_fields
5126    }
5127
5128    fn as_any(&self) -> &dyn (::std::any::Any) {
5129        self as &dyn (::std::any::Any)
5130    }
5131    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5132        self as &mut dyn (::std::any::Any)
5133    }
5134    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5135        self
5136    }
5137
5138    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5139        Self::descriptor_static()
5140    }
5141
5142    fn new() -> GooSettings {
5143        GooSettings::new()
5144    }
5145
5146    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5147        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5148        descriptor.get(|| {
5149            let fields = ::std::vec::Vec::new();
5150            ::protobuf::reflect::MessageDescriptor::new_pb_name::<GooSettings>(
5151                "GooSettings",
5152                fields,
5153                file_descriptor_proto()
5154            )
5155        })
5156    }
5157
5158    fn default_instance() -> &'static GooSettings {
5159        static instance: ::protobuf::rt::LazyV2<GooSettings> = ::protobuf::rt::LazyV2::INIT;
5160        instance.get(GooSettings::new)
5161    }
5162}
5163
5164impl ::protobuf::Clear for GooSettings {
5165    fn clear(&mut self) {
5166        self.unknown_fields.clear();
5167    }
5168}
5169
5170impl ::std::fmt::Debug for GooSettings {
5171    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5172        ::protobuf::text_format::fmt(self, f)
5173    }
5174}
5175
5176impl ::protobuf::reflect::ProtobufValue for GooSettings {
5177    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5178        ::protobuf::reflect::ReflectValueRef::Message(self)
5179    }
5180}
5181
5182#[derive(PartialEq,Clone,Default)]
5183pub struct ZypperSettings {
5184    // message fields
5185    pub with_optional: bool,
5186    pub with_update: bool,
5187    pub categories: ::protobuf::RepeatedField<::std::string::String>,
5188    pub severities: ::protobuf::RepeatedField<::std::string::String>,
5189    pub excludes: ::protobuf::RepeatedField<::std::string::String>,
5190    pub exclusive_patches: ::protobuf::RepeatedField<::std::string::String>,
5191    // special fields
5192    pub unknown_fields: ::protobuf::UnknownFields,
5193    pub cached_size: ::protobuf::CachedSize,
5194}
5195
5196impl<'a> ::std::default::Default for &'a ZypperSettings {
5197    fn default() -> &'a ZypperSettings {
5198        <ZypperSettings as ::protobuf::Message>::default_instance()
5199    }
5200}
5201
5202impl ZypperSettings {
5203    pub fn new() -> ZypperSettings {
5204        ::std::default::Default::default()
5205    }
5206
5207    // bool with_optional = 1;
5208
5209
5210    pub fn get_with_optional(&self) -> bool {
5211        self.with_optional
5212    }
5213    pub fn clear_with_optional(&mut self) {
5214        self.with_optional = false;
5215    }
5216
5217    // Param is passed by value, moved
5218    pub fn set_with_optional(&mut self, v: bool) {
5219        self.with_optional = v;
5220    }
5221
5222    // bool with_update = 2;
5223
5224
5225    pub fn get_with_update(&self) -> bool {
5226        self.with_update
5227    }
5228    pub fn clear_with_update(&mut self) {
5229        self.with_update = false;
5230    }
5231
5232    // Param is passed by value, moved
5233    pub fn set_with_update(&mut self, v: bool) {
5234        self.with_update = v;
5235    }
5236
5237    // repeated string categories = 3;
5238
5239
5240    pub fn get_categories(&self) -> &[::std::string::String] {
5241        &self.categories
5242    }
5243    pub fn clear_categories(&mut self) {
5244        self.categories.clear();
5245    }
5246
5247    // Param is passed by value, moved
5248    pub fn set_categories(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
5249        self.categories = v;
5250    }
5251
5252    // Mutable pointer to the field.
5253    pub fn mut_categories(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
5254        &mut self.categories
5255    }
5256
5257    // Take field
5258    pub fn take_categories(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
5259        ::std::mem::replace(&mut self.categories, ::protobuf::RepeatedField::new())
5260    }
5261
5262    // repeated string severities = 4;
5263
5264
5265    pub fn get_severities(&self) -> &[::std::string::String] {
5266        &self.severities
5267    }
5268    pub fn clear_severities(&mut self) {
5269        self.severities.clear();
5270    }
5271
5272    // Param is passed by value, moved
5273    pub fn set_severities(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
5274        self.severities = v;
5275    }
5276
5277    // Mutable pointer to the field.
5278    pub fn mut_severities(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
5279        &mut self.severities
5280    }
5281
5282    // Take field
5283    pub fn take_severities(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
5284        ::std::mem::replace(&mut self.severities, ::protobuf::RepeatedField::new())
5285    }
5286
5287    // repeated string excludes = 5;
5288
5289
5290    pub fn get_excludes(&self) -> &[::std::string::String] {
5291        &self.excludes
5292    }
5293    pub fn clear_excludes(&mut self) {
5294        self.excludes.clear();
5295    }
5296
5297    // Param is passed by value, moved
5298    pub fn set_excludes(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
5299        self.excludes = v;
5300    }
5301
5302    // Mutable pointer to the field.
5303    pub fn mut_excludes(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
5304        &mut self.excludes
5305    }
5306
5307    // Take field
5308    pub fn take_excludes(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
5309        ::std::mem::replace(&mut self.excludes, ::protobuf::RepeatedField::new())
5310    }
5311
5312    // repeated string exclusive_patches = 6;
5313
5314
5315    pub fn get_exclusive_patches(&self) -> &[::std::string::String] {
5316        &self.exclusive_patches
5317    }
5318    pub fn clear_exclusive_patches(&mut self) {
5319        self.exclusive_patches.clear();
5320    }
5321
5322    // Param is passed by value, moved
5323    pub fn set_exclusive_patches(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
5324        self.exclusive_patches = v;
5325    }
5326
5327    // Mutable pointer to the field.
5328    pub fn mut_exclusive_patches(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
5329        &mut self.exclusive_patches
5330    }
5331
5332    // Take field
5333    pub fn take_exclusive_patches(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
5334        ::std::mem::replace(&mut self.exclusive_patches, ::protobuf::RepeatedField::new())
5335    }
5336}
5337
5338impl ::protobuf::Message for ZypperSettings {
5339    fn is_initialized(&self) -> bool {
5340        true
5341    }
5342
5343    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5344        while !is.eof()? {
5345            let (field_number, wire_type) = is.read_tag_unpack()?;
5346            match field_number {
5347                1 => {
5348                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
5349                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5350                    }
5351                    let tmp = is.read_bool()?;
5352                    self.with_optional = tmp;
5353                },
5354                2 => {
5355                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
5356                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
5357                    }
5358                    let tmp = is.read_bool()?;
5359                    self.with_update = tmp;
5360                },
5361                3 => {
5362                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.categories)?;
5363                },
5364                4 => {
5365                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.severities)?;
5366                },
5367                5 => {
5368                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.excludes)?;
5369                },
5370                6 => {
5371                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.exclusive_patches)?;
5372                },
5373                _ => {
5374                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5375                },
5376            };
5377        }
5378        ::std::result::Result::Ok(())
5379    }
5380
5381    // Compute sizes of nested messages
5382    #[allow(unused_variables)]
5383    fn compute_size(&self) -> u32 {
5384        let mut my_size = 0;
5385        if self.with_optional != false {
5386            my_size += 2;
5387        }
5388        if self.with_update != false {
5389            my_size += 2;
5390        }
5391        for value in &self.categories {
5392            my_size += ::protobuf::rt::string_size(3, &value);
5393        };
5394        for value in &self.severities {
5395            my_size += ::protobuf::rt::string_size(4, &value);
5396        };
5397        for value in &self.excludes {
5398            my_size += ::protobuf::rt::string_size(5, &value);
5399        };
5400        for value in &self.exclusive_patches {
5401            my_size += ::protobuf::rt::string_size(6, &value);
5402        };
5403        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5404        self.cached_size.set(my_size);
5405        my_size
5406    }
5407
5408    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5409        if self.with_optional != false {
5410            os.write_bool(1, self.with_optional)?;
5411        }
5412        if self.with_update != false {
5413            os.write_bool(2, self.with_update)?;
5414        }
5415        for v in &self.categories {
5416            os.write_string(3, &v)?;
5417        };
5418        for v in &self.severities {
5419            os.write_string(4, &v)?;
5420        };
5421        for v in &self.excludes {
5422            os.write_string(5, &v)?;
5423        };
5424        for v in &self.exclusive_patches {
5425            os.write_string(6, &v)?;
5426        };
5427        os.write_unknown_fields(self.get_unknown_fields())?;
5428        ::std::result::Result::Ok(())
5429    }
5430
5431    fn get_cached_size(&self) -> u32 {
5432        self.cached_size.get()
5433    }
5434
5435    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5436        &self.unknown_fields
5437    }
5438
5439    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5440        &mut self.unknown_fields
5441    }
5442
5443    fn as_any(&self) -> &dyn (::std::any::Any) {
5444        self as &dyn (::std::any::Any)
5445    }
5446    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5447        self as &mut dyn (::std::any::Any)
5448    }
5449    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5450        self
5451    }
5452
5453    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5454        Self::descriptor_static()
5455    }
5456
5457    fn new() -> ZypperSettings {
5458        ZypperSettings::new()
5459    }
5460
5461    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5462        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5463        descriptor.get(|| {
5464            let mut fields = ::std::vec::Vec::new();
5465            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
5466                "with_optional",
5467                |m: &ZypperSettings| { &m.with_optional },
5468                |m: &mut ZypperSettings| { &mut m.with_optional },
5469            ));
5470            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
5471                "with_update",
5472                |m: &ZypperSettings| { &m.with_update },
5473                |m: &mut ZypperSettings| { &mut m.with_update },
5474            ));
5475            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5476                "categories",
5477                |m: &ZypperSettings| { &m.categories },
5478                |m: &mut ZypperSettings| { &mut m.categories },
5479            ));
5480            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5481                "severities",
5482                |m: &ZypperSettings| { &m.severities },
5483                |m: &mut ZypperSettings| { &mut m.severities },
5484            ));
5485            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5486                "excludes",
5487                |m: &ZypperSettings| { &m.excludes },
5488                |m: &mut ZypperSettings| { &mut m.excludes },
5489            ));
5490            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5491                "exclusive_patches",
5492                |m: &ZypperSettings| { &m.exclusive_patches },
5493                |m: &mut ZypperSettings| { &mut m.exclusive_patches },
5494            ));
5495            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ZypperSettings>(
5496                "ZypperSettings",
5497                fields,
5498                file_descriptor_proto()
5499            )
5500        })
5501    }
5502
5503    fn default_instance() -> &'static ZypperSettings {
5504        static instance: ::protobuf::rt::LazyV2<ZypperSettings> = ::protobuf::rt::LazyV2::INIT;
5505        instance.get(ZypperSettings::new)
5506    }
5507}
5508
5509impl ::protobuf::Clear for ZypperSettings {
5510    fn clear(&mut self) {
5511        self.with_optional = false;
5512        self.with_update = false;
5513        self.categories.clear();
5514        self.severities.clear();
5515        self.excludes.clear();
5516        self.exclusive_patches.clear();
5517        self.unknown_fields.clear();
5518    }
5519}
5520
5521impl ::std::fmt::Debug for ZypperSettings {
5522    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5523        ::protobuf::text_format::fmt(self, f)
5524    }
5525}
5526
5527impl ::protobuf::reflect::ProtobufValue for ZypperSettings {
5528    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5529        ::protobuf::reflect::ReflectValueRef::Message(self)
5530    }
5531}
5532
5533#[derive(PartialEq,Clone,Default)]
5534pub struct WindowsUpdateSettings {
5535    // message fields
5536    pub classifications: ::std::vec::Vec<WindowsUpdateSettings_Classification>,
5537    pub excludes: ::protobuf::RepeatedField<::std::string::String>,
5538    pub exclusive_patches: ::protobuf::RepeatedField<::std::string::String>,
5539    // special fields
5540    pub unknown_fields: ::protobuf::UnknownFields,
5541    pub cached_size: ::protobuf::CachedSize,
5542}
5543
5544impl<'a> ::std::default::Default for &'a WindowsUpdateSettings {
5545    fn default() -> &'a WindowsUpdateSettings {
5546        <WindowsUpdateSettings as ::protobuf::Message>::default_instance()
5547    }
5548}
5549
5550impl WindowsUpdateSettings {
5551    pub fn new() -> WindowsUpdateSettings {
5552        ::std::default::Default::default()
5553    }
5554
5555    // repeated .google.cloud.osconfig.v1.WindowsUpdateSettings.Classification classifications = 1;
5556
5557
5558    pub fn get_classifications(&self) -> &[WindowsUpdateSettings_Classification] {
5559        &self.classifications
5560    }
5561    pub fn clear_classifications(&mut self) {
5562        self.classifications.clear();
5563    }
5564
5565    // Param is passed by value, moved
5566    pub fn set_classifications(&mut self, v: ::std::vec::Vec<WindowsUpdateSettings_Classification>) {
5567        self.classifications = v;
5568    }
5569
5570    // Mutable pointer to the field.
5571    pub fn mut_classifications(&mut self) -> &mut ::std::vec::Vec<WindowsUpdateSettings_Classification> {
5572        &mut self.classifications
5573    }
5574
5575    // Take field
5576    pub fn take_classifications(&mut self) -> ::std::vec::Vec<WindowsUpdateSettings_Classification> {
5577        ::std::mem::replace(&mut self.classifications, ::std::vec::Vec::new())
5578    }
5579
5580    // repeated string excludes = 2;
5581
5582
5583    pub fn get_excludes(&self) -> &[::std::string::String] {
5584        &self.excludes
5585    }
5586    pub fn clear_excludes(&mut self) {
5587        self.excludes.clear();
5588    }
5589
5590    // Param is passed by value, moved
5591    pub fn set_excludes(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
5592        self.excludes = v;
5593    }
5594
5595    // Mutable pointer to the field.
5596    pub fn mut_excludes(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
5597        &mut self.excludes
5598    }
5599
5600    // Take field
5601    pub fn take_excludes(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
5602        ::std::mem::replace(&mut self.excludes, ::protobuf::RepeatedField::new())
5603    }
5604
5605    // repeated string exclusive_patches = 3;
5606
5607
5608    pub fn get_exclusive_patches(&self) -> &[::std::string::String] {
5609        &self.exclusive_patches
5610    }
5611    pub fn clear_exclusive_patches(&mut self) {
5612        self.exclusive_patches.clear();
5613    }
5614
5615    // Param is passed by value, moved
5616    pub fn set_exclusive_patches(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
5617        self.exclusive_patches = v;
5618    }
5619
5620    // Mutable pointer to the field.
5621    pub fn mut_exclusive_patches(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
5622        &mut self.exclusive_patches
5623    }
5624
5625    // Take field
5626    pub fn take_exclusive_patches(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
5627        ::std::mem::replace(&mut self.exclusive_patches, ::protobuf::RepeatedField::new())
5628    }
5629}
5630
5631impl ::protobuf::Message for WindowsUpdateSettings {
5632    fn is_initialized(&self) -> bool {
5633        true
5634    }
5635
5636    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5637        while !is.eof()? {
5638            let (field_number, wire_type) = is.read_tag_unpack()?;
5639            match field_number {
5640                1 => {
5641                    ::protobuf::rt::read_repeated_enum_with_unknown_fields_into(wire_type, is, &mut self.classifications, 1, &mut self.unknown_fields)?
5642                },
5643                2 => {
5644                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.excludes)?;
5645                },
5646                3 => {
5647                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.exclusive_patches)?;
5648                },
5649                _ => {
5650                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5651                },
5652            };
5653        }
5654        ::std::result::Result::Ok(())
5655    }
5656
5657    // Compute sizes of nested messages
5658    #[allow(unused_variables)]
5659    fn compute_size(&self) -> u32 {
5660        let mut my_size = 0;
5661        for value in &self.classifications {
5662            my_size += ::protobuf::rt::enum_size(1, *value);
5663        };
5664        for value in &self.excludes {
5665            my_size += ::protobuf::rt::string_size(2, &value);
5666        };
5667        for value in &self.exclusive_patches {
5668            my_size += ::protobuf::rt::string_size(3, &value);
5669        };
5670        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5671        self.cached_size.set(my_size);
5672        my_size
5673    }
5674
5675    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5676        for v in &self.classifications {
5677            os.write_enum(1, ::protobuf::ProtobufEnum::value(v))?;
5678        };
5679        for v in &self.excludes {
5680            os.write_string(2, &v)?;
5681        };
5682        for v in &self.exclusive_patches {
5683            os.write_string(3, &v)?;
5684        };
5685        os.write_unknown_fields(self.get_unknown_fields())?;
5686        ::std::result::Result::Ok(())
5687    }
5688
5689    fn get_cached_size(&self) -> u32 {
5690        self.cached_size.get()
5691    }
5692
5693    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5694        &self.unknown_fields
5695    }
5696
5697    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5698        &mut self.unknown_fields
5699    }
5700
5701    fn as_any(&self) -> &dyn (::std::any::Any) {
5702        self as &dyn (::std::any::Any)
5703    }
5704    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5705        self as &mut dyn (::std::any::Any)
5706    }
5707    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5708        self
5709    }
5710
5711    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5712        Self::descriptor_static()
5713    }
5714
5715    fn new() -> WindowsUpdateSettings {
5716        WindowsUpdateSettings::new()
5717    }
5718
5719    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5720        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5721        descriptor.get(|| {
5722            let mut fields = ::std::vec::Vec::new();
5723            fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeEnum<WindowsUpdateSettings_Classification>>(
5724                "classifications",
5725                |m: &WindowsUpdateSettings| { &m.classifications },
5726                |m: &mut WindowsUpdateSettings| { &mut m.classifications },
5727            ));
5728            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5729                "excludes",
5730                |m: &WindowsUpdateSettings| { &m.excludes },
5731                |m: &mut WindowsUpdateSettings| { &mut m.excludes },
5732            ));
5733            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5734                "exclusive_patches",
5735                |m: &WindowsUpdateSettings| { &m.exclusive_patches },
5736                |m: &mut WindowsUpdateSettings| { &mut m.exclusive_patches },
5737            ));
5738            ::protobuf::reflect::MessageDescriptor::new_pb_name::<WindowsUpdateSettings>(
5739                "WindowsUpdateSettings",
5740                fields,
5741                file_descriptor_proto()
5742            )
5743        })
5744    }
5745
5746    fn default_instance() -> &'static WindowsUpdateSettings {
5747        static instance: ::protobuf::rt::LazyV2<WindowsUpdateSettings> = ::protobuf::rt::LazyV2::INIT;
5748        instance.get(WindowsUpdateSettings::new)
5749    }
5750}
5751
5752impl ::protobuf::Clear for WindowsUpdateSettings {
5753    fn clear(&mut self) {
5754        self.classifications.clear();
5755        self.excludes.clear();
5756        self.exclusive_patches.clear();
5757        self.unknown_fields.clear();
5758    }
5759}
5760
5761impl ::std::fmt::Debug for WindowsUpdateSettings {
5762    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5763        ::protobuf::text_format::fmt(self, f)
5764    }
5765}
5766
5767impl ::protobuf::reflect::ProtobufValue for WindowsUpdateSettings {
5768    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5769        ::protobuf::reflect::ReflectValueRef::Message(self)
5770    }
5771}
5772
5773#[derive(Clone,PartialEq,Eq,Debug,Hash)]
5774pub enum WindowsUpdateSettings_Classification {
5775    CLASSIFICATION_UNSPECIFIED = 0,
5776    CRITICAL = 1,
5777    SECURITY = 2,
5778    DEFINITION = 3,
5779    DRIVER = 4,
5780    FEATURE_PACK = 5,
5781    SERVICE_PACK = 6,
5782    TOOL = 7,
5783    UPDATE_ROLLUP = 8,
5784    UPDATE = 9,
5785}
5786
5787impl ::protobuf::ProtobufEnum for WindowsUpdateSettings_Classification {
5788    fn value(&self) -> i32 {
5789        *self as i32
5790    }
5791
5792    fn from_i32(value: i32) -> ::std::option::Option<WindowsUpdateSettings_Classification> {
5793        match value {
5794            0 => ::std::option::Option::Some(WindowsUpdateSettings_Classification::CLASSIFICATION_UNSPECIFIED),
5795            1 => ::std::option::Option::Some(WindowsUpdateSettings_Classification::CRITICAL),
5796            2 => ::std::option::Option::Some(WindowsUpdateSettings_Classification::SECURITY),
5797            3 => ::std::option::Option::Some(WindowsUpdateSettings_Classification::DEFINITION),
5798            4 => ::std::option::Option::Some(WindowsUpdateSettings_Classification::DRIVER),
5799            5 => ::std::option::Option::Some(WindowsUpdateSettings_Classification::FEATURE_PACK),
5800            6 => ::std::option::Option::Some(WindowsUpdateSettings_Classification::SERVICE_PACK),
5801            7 => ::std::option::Option::Some(WindowsUpdateSettings_Classification::TOOL),
5802            8 => ::std::option::Option::Some(WindowsUpdateSettings_Classification::UPDATE_ROLLUP),
5803            9 => ::std::option::Option::Some(WindowsUpdateSettings_Classification::UPDATE),
5804            _ => ::std::option::Option::None
5805        }
5806    }
5807
5808    fn values() -> &'static [Self] {
5809        static values: &'static [WindowsUpdateSettings_Classification] = &[
5810            WindowsUpdateSettings_Classification::CLASSIFICATION_UNSPECIFIED,
5811            WindowsUpdateSettings_Classification::CRITICAL,
5812            WindowsUpdateSettings_Classification::SECURITY,
5813            WindowsUpdateSettings_Classification::DEFINITION,
5814            WindowsUpdateSettings_Classification::DRIVER,
5815            WindowsUpdateSettings_Classification::FEATURE_PACK,
5816            WindowsUpdateSettings_Classification::SERVICE_PACK,
5817            WindowsUpdateSettings_Classification::TOOL,
5818            WindowsUpdateSettings_Classification::UPDATE_ROLLUP,
5819            WindowsUpdateSettings_Classification::UPDATE,
5820        ];
5821        values
5822    }
5823
5824    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
5825        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
5826        descriptor.get(|| {
5827            ::protobuf::reflect::EnumDescriptor::new_pb_name::<WindowsUpdateSettings_Classification>("WindowsUpdateSettings.Classification", file_descriptor_proto())
5828        })
5829    }
5830}
5831
5832impl ::std::marker::Copy for WindowsUpdateSettings_Classification {
5833}
5834
5835impl ::std::default::Default for WindowsUpdateSettings_Classification {
5836    fn default() -> Self {
5837        WindowsUpdateSettings_Classification::CLASSIFICATION_UNSPECIFIED
5838    }
5839}
5840
5841impl ::protobuf::reflect::ProtobufValue for WindowsUpdateSettings_Classification {
5842    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5843        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
5844    }
5845}
5846
5847#[derive(PartialEq,Clone,Default)]
5848pub struct ExecStep {
5849    // message fields
5850    pub linux_exec_step_config: ::protobuf::SingularPtrField<ExecStepConfig>,
5851    pub windows_exec_step_config: ::protobuf::SingularPtrField<ExecStepConfig>,
5852    // special fields
5853    pub unknown_fields: ::protobuf::UnknownFields,
5854    pub cached_size: ::protobuf::CachedSize,
5855}
5856
5857impl<'a> ::std::default::Default for &'a ExecStep {
5858    fn default() -> &'a ExecStep {
5859        <ExecStep as ::protobuf::Message>::default_instance()
5860    }
5861}
5862
5863impl ExecStep {
5864    pub fn new() -> ExecStep {
5865        ::std::default::Default::default()
5866    }
5867
5868    // .google.cloud.osconfig.v1.ExecStepConfig linux_exec_step_config = 1;
5869
5870
5871    pub fn get_linux_exec_step_config(&self) -> &ExecStepConfig {
5872        self.linux_exec_step_config.as_ref().unwrap_or_else(|| <ExecStepConfig as ::protobuf::Message>::default_instance())
5873    }
5874    pub fn clear_linux_exec_step_config(&mut self) {
5875        self.linux_exec_step_config.clear();
5876    }
5877
5878    pub fn has_linux_exec_step_config(&self) -> bool {
5879        self.linux_exec_step_config.is_some()
5880    }
5881
5882    // Param is passed by value, moved
5883    pub fn set_linux_exec_step_config(&mut self, v: ExecStepConfig) {
5884        self.linux_exec_step_config = ::protobuf::SingularPtrField::some(v);
5885    }
5886
5887    // Mutable pointer to the field.
5888    // If field is not initialized, it is initialized with default value first.
5889    pub fn mut_linux_exec_step_config(&mut self) -> &mut ExecStepConfig {
5890        if self.linux_exec_step_config.is_none() {
5891            self.linux_exec_step_config.set_default();
5892        }
5893        self.linux_exec_step_config.as_mut().unwrap()
5894    }
5895
5896    // Take field
5897    pub fn take_linux_exec_step_config(&mut self) -> ExecStepConfig {
5898        self.linux_exec_step_config.take().unwrap_or_else(|| ExecStepConfig::new())
5899    }
5900
5901    // .google.cloud.osconfig.v1.ExecStepConfig windows_exec_step_config = 2;
5902
5903
5904    pub fn get_windows_exec_step_config(&self) -> &ExecStepConfig {
5905        self.windows_exec_step_config.as_ref().unwrap_or_else(|| <ExecStepConfig as ::protobuf::Message>::default_instance())
5906    }
5907    pub fn clear_windows_exec_step_config(&mut self) {
5908        self.windows_exec_step_config.clear();
5909    }
5910
5911    pub fn has_windows_exec_step_config(&self) -> bool {
5912        self.windows_exec_step_config.is_some()
5913    }
5914
5915    // Param is passed by value, moved
5916    pub fn set_windows_exec_step_config(&mut self, v: ExecStepConfig) {
5917        self.windows_exec_step_config = ::protobuf::SingularPtrField::some(v);
5918    }
5919
5920    // Mutable pointer to the field.
5921    // If field is not initialized, it is initialized with default value first.
5922    pub fn mut_windows_exec_step_config(&mut self) -> &mut ExecStepConfig {
5923        if self.windows_exec_step_config.is_none() {
5924            self.windows_exec_step_config.set_default();
5925        }
5926        self.windows_exec_step_config.as_mut().unwrap()
5927    }
5928
5929    // Take field
5930    pub fn take_windows_exec_step_config(&mut self) -> ExecStepConfig {
5931        self.windows_exec_step_config.take().unwrap_or_else(|| ExecStepConfig::new())
5932    }
5933}
5934
5935impl ::protobuf::Message for ExecStep {
5936    fn is_initialized(&self) -> bool {
5937        for v in &self.linux_exec_step_config {
5938            if !v.is_initialized() {
5939                return false;
5940            }
5941        };
5942        for v in &self.windows_exec_step_config {
5943            if !v.is_initialized() {
5944                return false;
5945            }
5946        };
5947        true
5948    }
5949
5950    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5951        while !is.eof()? {
5952            let (field_number, wire_type) = is.read_tag_unpack()?;
5953            match field_number {
5954                1 => {
5955                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.linux_exec_step_config)?;
5956                },
5957                2 => {
5958                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.windows_exec_step_config)?;
5959                },
5960                _ => {
5961                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5962                },
5963            };
5964        }
5965        ::std::result::Result::Ok(())
5966    }
5967
5968    // Compute sizes of nested messages
5969    #[allow(unused_variables)]
5970    fn compute_size(&self) -> u32 {
5971        let mut my_size = 0;
5972        if let Some(ref v) = self.linux_exec_step_config.as_ref() {
5973            let len = v.compute_size();
5974            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5975        }
5976        if let Some(ref v) = self.windows_exec_step_config.as_ref() {
5977            let len = v.compute_size();
5978            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5979        }
5980        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5981        self.cached_size.set(my_size);
5982        my_size
5983    }
5984
5985    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5986        if let Some(ref v) = self.linux_exec_step_config.as_ref() {
5987            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5988            os.write_raw_varint32(v.get_cached_size())?;
5989            v.write_to_with_cached_sizes(os)?;
5990        }
5991        if let Some(ref v) = self.windows_exec_step_config.as_ref() {
5992            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5993            os.write_raw_varint32(v.get_cached_size())?;
5994            v.write_to_with_cached_sizes(os)?;
5995        }
5996        os.write_unknown_fields(self.get_unknown_fields())?;
5997        ::std::result::Result::Ok(())
5998    }
5999
6000    fn get_cached_size(&self) -> u32 {
6001        self.cached_size.get()
6002    }
6003
6004    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
6005        &self.unknown_fields
6006    }
6007
6008    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
6009        &mut self.unknown_fields
6010    }
6011
6012    fn as_any(&self) -> &dyn (::std::any::Any) {
6013        self as &dyn (::std::any::Any)
6014    }
6015    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
6016        self as &mut dyn (::std::any::Any)
6017    }
6018    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
6019        self
6020    }
6021
6022    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
6023        Self::descriptor_static()
6024    }
6025
6026    fn new() -> ExecStep {
6027        ExecStep::new()
6028    }
6029
6030    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
6031        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
6032        descriptor.get(|| {
6033            let mut fields = ::std::vec::Vec::new();
6034            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ExecStepConfig>>(
6035                "linux_exec_step_config",
6036                |m: &ExecStep| { &m.linux_exec_step_config },
6037                |m: &mut ExecStep| { &mut m.linux_exec_step_config },
6038            ));
6039            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ExecStepConfig>>(
6040                "windows_exec_step_config",
6041                |m: &ExecStep| { &m.windows_exec_step_config },
6042                |m: &mut ExecStep| { &mut m.windows_exec_step_config },
6043            ));
6044            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ExecStep>(
6045                "ExecStep",
6046                fields,
6047                file_descriptor_proto()
6048            )
6049        })
6050    }
6051
6052    fn default_instance() -> &'static ExecStep {
6053        static instance: ::protobuf::rt::LazyV2<ExecStep> = ::protobuf::rt::LazyV2::INIT;
6054        instance.get(ExecStep::new)
6055    }
6056}
6057
6058impl ::protobuf::Clear for ExecStep {
6059    fn clear(&mut self) {
6060        self.linux_exec_step_config.clear();
6061        self.windows_exec_step_config.clear();
6062        self.unknown_fields.clear();
6063    }
6064}
6065
6066impl ::std::fmt::Debug for ExecStep {
6067    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6068        ::protobuf::text_format::fmt(self, f)
6069    }
6070}
6071
6072impl ::protobuf::reflect::ProtobufValue for ExecStep {
6073    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6074        ::protobuf::reflect::ReflectValueRef::Message(self)
6075    }
6076}
6077
6078#[derive(PartialEq,Clone,Default)]
6079pub struct ExecStepConfig {
6080    // message fields
6081    pub allowed_success_codes: ::std::vec::Vec<i32>,
6082    pub interpreter: ExecStepConfig_Interpreter,
6083    // message oneof groups
6084    pub executable: ::std::option::Option<ExecStepConfig_oneof_executable>,
6085    // special fields
6086    pub unknown_fields: ::protobuf::UnknownFields,
6087    pub cached_size: ::protobuf::CachedSize,
6088}
6089
6090impl<'a> ::std::default::Default for &'a ExecStepConfig {
6091    fn default() -> &'a ExecStepConfig {
6092        <ExecStepConfig as ::protobuf::Message>::default_instance()
6093    }
6094}
6095
6096#[derive(Clone,PartialEq,Debug)]
6097pub enum ExecStepConfig_oneof_executable {
6098    local_path(::std::string::String),
6099    gcs_object(GcsObject),
6100}
6101
6102impl ExecStepConfig {
6103    pub fn new() -> ExecStepConfig {
6104        ::std::default::Default::default()
6105    }
6106
6107    // string local_path = 1;
6108
6109
6110    pub fn get_local_path(&self) -> &str {
6111        match self.executable {
6112            ::std::option::Option::Some(ExecStepConfig_oneof_executable::local_path(ref v)) => v,
6113            _ => "",
6114        }
6115    }
6116    pub fn clear_local_path(&mut self) {
6117        self.executable = ::std::option::Option::None;
6118    }
6119
6120    pub fn has_local_path(&self) -> bool {
6121        match self.executable {
6122            ::std::option::Option::Some(ExecStepConfig_oneof_executable::local_path(..)) => true,
6123            _ => false,
6124        }
6125    }
6126
6127    // Param is passed by value, moved
6128    pub fn set_local_path(&mut self, v: ::std::string::String) {
6129        self.executable = ::std::option::Option::Some(ExecStepConfig_oneof_executable::local_path(v))
6130    }
6131
6132    // Mutable pointer to the field.
6133    pub fn mut_local_path(&mut self) -> &mut ::std::string::String {
6134        if let ::std::option::Option::Some(ExecStepConfig_oneof_executable::local_path(_)) = self.executable {
6135        } else {
6136            self.executable = ::std::option::Option::Some(ExecStepConfig_oneof_executable::local_path(::std::string::String::new()));
6137        }
6138        match self.executable {
6139            ::std::option::Option::Some(ExecStepConfig_oneof_executable::local_path(ref mut v)) => v,
6140            _ => panic!(),
6141        }
6142    }
6143
6144    // Take field
6145    pub fn take_local_path(&mut self) -> ::std::string::String {
6146        if self.has_local_path() {
6147            match self.executable.take() {
6148                ::std::option::Option::Some(ExecStepConfig_oneof_executable::local_path(v)) => v,
6149                _ => panic!(),
6150            }
6151        } else {
6152            ::std::string::String::new()
6153        }
6154    }
6155
6156    // .google.cloud.osconfig.v1.GcsObject gcs_object = 2;
6157
6158
6159    pub fn get_gcs_object(&self) -> &GcsObject {
6160        match self.executable {
6161            ::std::option::Option::Some(ExecStepConfig_oneof_executable::gcs_object(ref v)) => v,
6162            _ => <GcsObject as ::protobuf::Message>::default_instance(),
6163        }
6164    }
6165    pub fn clear_gcs_object(&mut self) {
6166        self.executable = ::std::option::Option::None;
6167    }
6168
6169    pub fn has_gcs_object(&self) -> bool {
6170        match self.executable {
6171            ::std::option::Option::Some(ExecStepConfig_oneof_executable::gcs_object(..)) => true,
6172            _ => false,
6173        }
6174    }
6175
6176    // Param is passed by value, moved
6177    pub fn set_gcs_object(&mut self, v: GcsObject) {
6178        self.executable = ::std::option::Option::Some(ExecStepConfig_oneof_executable::gcs_object(v))
6179    }
6180
6181    // Mutable pointer to the field.
6182    pub fn mut_gcs_object(&mut self) -> &mut GcsObject {
6183        if let ::std::option::Option::Some(ExecStepConfig_oneof_executable::gcs_object(_)) = self.executable {
6184        } else {
6185            self.executable = ::std::option::Option::Some(ExecStepConfig_oneof_executable::gcs_object(GcsObject::new()));
6186        }
6187        match self.executable {
6188            ::std::option::Option::Some(ExecStepConfig_oneof_executable::gcs_object(ref mut v)) => v,
6189            _ => panic!(),
6190        }
6191    }
6192
6193    // Take field
6194    pub fn take_gcs_object(&mut self) -> GcsObject {
6195        if self.has_gcs_object() {
6196            match self.executable.take() {
6197                ::std::option::Option::Some(ExecStepConfig_oneof_executable::gcs_object(v)) => v,
6198                _ => panic!(),
6199            }
6200        } else {
6201            GcsObject::new()
6202        }
6203    }
6204
6205    // repeated int32 allowed_success_codes = 3;
6206
6207
6208    pub fn get_allowed_success_codes(&self) -> &[i32] {
6209        &self.allowed_success_codes
6210    }
6211    pub fn clear_allowed_success_codes(&mut self) {
6212        self.allowed_success_codes.clear();
6213    }
6214
6215    // Param is passed by value, moved
6216    pub fn set_allowed_success_codes(&mut self, v: ::std::vec::Vec<i32>) {
6217        self.allowed_success_codes = v;
6218    }
6219
6220    // Mutable pointer to the field.
6221    pub fn mut_allowed_success_codes(&mut self) -> &mut ::std::vec::Vec<i32> {
6222        &mut self.allowed_success_codes
6223    }
6224
6225    // Take field
6226    pub fn take_allowed_success_codes(&mut self) -> ::std::vec::Vec<i32> {
6227        ::std::mem::replace(&mut self.allowed_success_codes, ::std::vec::Vec::new())
6228    }
6229
6230    // .google.cloud.osconfig.v1.ExecStepConfig.Interpreter interpreter = 4;
6231
6232
6233    pub fn get_interpreter(&self) -> ExecStepConfig_Interpreter {
6234        self.interpreter
6235    }
6236    pub fn clear_interpreter(&mut self) {
6237        self.interpreter = ExecStepConfig_Interpreter::INTERPRETER_UNSPECIFIED;
6238    }
6239
6240    // Param is passed by value, moved
6241    pub fn set_interpreter(&mut self, v: ExecStepConfig_Interpreter) {
6242        self.interpreter = v;
6243    }
6244}
6245
6246impl ::protobuf::Message for ExecStepConfig {
6247    fn is_initialized(&self) -> bool {
6248        if let Some(ExecStepConfig_oneof_executable::gcs_object(ref v)) = self.executable {
6249            if !v.is_initialized() {
6250                return false;
6251            }
6252        }
6253        true
6254    }
6255
6256    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6257        while !is.eof()? {
6258            let (field_number, wire_type) = is.read_tag_unpack()?;
6259            match field_number {
6260                1 => {
6261                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
6262                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
6263                    }
6264                    self.executable = ::std::option::Option::Some(ExecStepConfig_oneof_executable::local_path(is.read_string()?));
6265                },
6266                2 => {
6267                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
6268                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
6269                    }
6270                    self.executable = ::std::option::Option::Some(ExecStepConfig_oneof_executable::gcs_object(is.read_message()?));
6271                },
6272                3 => {
6273                    ::protobuf::rt::read_repeated_int32_into(wire_type, is, &mut self.allowed_success_codes)?;
6274                },
6275                4 => {
6276                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.interpreter, 4, &mut self.unknown_fields)?
6277                },
6278                _ => {
6279                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
6280                },
6281            };
6282        }
6283        ::std::result::Result::Ok(())
6284    }
6285
6286    // Compute sizes of nested messages
6287    #[allow(unused_variables)]
6288    fn compute_size(&self) -> u32 {
6289        let mut my_size = 0;
6290        for value in &self.allowed_success_codes {
6291            my_size += ::protobuf::rt::value_size(3, *value, ::protobuf::wire_format::WireTypeVarint);
6292        };
6293        if self.interpreter != ExecStepConfig_Interpreter::INTERPRETER_UNSPECIFIED {
6294            my_size += ::protobuf::rt::enum_size(4, self.interpreter);
6295        }
6296        if let ::std::option::Option::Some(ref v) = self.executable {
6297            match v {
6298                &ExecStepConfig_oneof_executable::local_path(ref v) => {
6299                    my_size += ::protobuf::rt::string_size(1, &v);
6300                },
6301                &ExecStepConfig_oneof_executable::gcs_object(ref v) => {
6302                    let len = v.compute_size();
6303                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
6304                },
6305            };
6306        }
6307        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
6308        self.cached_size.set(my_size);
6309        my_size
6310    }
6311
6312    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6313        for v in &self.allowed_success_codes {
6314            os.write_int32(3, *v)?;
6315        };
6316        if self.interpreter != ExecStepConfig_Interpreter::INTERPRETER_UNSPECIFIED {
6317            os.write_enum(4, ::protobuf::ProtobufEnum::value(&self.interpreter))?;
6318        }
6319        if let ::std::option::Option::Some(ref v) = self.executable {
6320            match v {
6321                &ExecStepConfig_oneof_executable::local_path(ref v) => {
6322                    os.write_string(1, v)?;
6323                },
6324                &ExecStepConfig_oneof_executable::gcs_object(ref v) => {
6325                    os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
6326                    os.write_raw_varint32(v.get_cached_size())?;
6327                    v.write_to_with_cached_sizes(os)?;
6328                },
6329            };
6330        }
6331        os.write_unknown_fields(self.get_unknown_fields())?;
6332        ::std::result::Result::Ok(())
6333    }
6334
6335    fn get_cached_size(&self) -> u32 {
6336        self.cached_size.get()
6337    }
6338
6339    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
6340        &self.unknown_fields
6341    }
6342
6343    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
6344        &mut self.unknown_fields
6345    }
6346
6347    fn as_any(&self) -> &dyn (::std::any::Any) {
6348        self as &dyn (::std::any::Any)
6349    }
6350    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
6351        self as &mut dyn (::std::any::Any)
6352    }
6353    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
6354        self
6355    }
6356
6357    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
6358        Self::descriptor_static()
6359    }
6360
6361    fn new() -> ExecStepConfig {
6362        ExecStepConfig::new()
6363    }
6364
6365    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
6366        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
6367        descriptor.get(|| {
6368            let mut fields = ::std::vec::Vec::new();
6369            fields.push(::protobuf::reflect::accessor::make_singular_string_accessor::<_>(
6370                "local_path",
6371                ExecStepConfig::has_local_path,
6372                ExecStepConfig::get_local_path,
6373            ));
6374            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, GcsObject>(
6375                "gcs_object",
6376                ExecStepConfig::has_gcs_object,
6377                ExecStepConfig::get_gcs_object,
6378            ));
6379            fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
6380                "allowed_success_codes",
6381                |m: &ExecStepConfig| { &m.allowed_success_codes },
6382                |m: &mut ExecStepConfig| { &mut m.allowed_success_codes },
6383            ));
6384            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<ExecStepConfig_Interpreter>>(
6385                "interpreter",
6386                |m: &ExecStepConfig| { &m.interpreter },
6387                |m: &mut ExecStepConfig| { &mut m.interpreter },
6388            ));
6389            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ExecStepConfig>(
6390                "ExecStepConfig",
6391                fields,
6392                file_descriptor_proto()
6393            )
6394        })
6395    }
6396
6397    fn default_instance() -> &'static ExecStepConfig {
6398        static instance: ::protobuf::rt::LazyV2<ExecStepConfig> = ::protobuf::rt::LazyV2::INIT;
6399        instance.get(ExecStepConfig::new)
6400    }
6401}
6402
6403impl ::protobuf::Clear for ExecStepConfig {
6404    fn clear(&mut self) {
6405        self.executable = ::std::option::Option::None;
6406        self.executable = ::std::option::Option::None;
6407        self.allowed_success_codes.clear();
6408        self.interpreter = ExecStepConfig_Interpreter::INTERPRETER_UNSPECIFIED;
6409        self.unknown_fields.clear();
6410    }
6411}
6412
6413impl ::std::fmt::Debug for ExecStepConfig {
6414    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6415        ::protobuf::text_format::fmt(self, f)
6416    }
6417}
6418
6419impl ::protobuf::reflect::ProtobufValue for ExecStepConfig {
6420    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6421        ::protobuf::reflect::ReflectValueRef::Message(self)
6422    }
6423}
6424
6425#[derive(Clone,PartialEq,Eq,Debug,Hash)]
6426pub enum ExecStepConfig_Interpreter {
6427    INTERPRETER_UNSPECIFIED = 0,
6428    SHELL = 1,
6429    POWERSHELL = 2,
6430}
6431
6432impl ::protobuf::ProtobufEnum for ExecStepConfig_Interpreter {
6433    fn value(&self) -> i32 {
6434        *self as i32
6435    }
6436
6437    fn from_i32(value: i32) -> ::std::option::Option<ExecStepConfig_Interpreter> {
6438        match value {
6439            0 => ::std::option::Option::Some(ExecStepConfig_Interpreter::INTERPRETER_UNSPECIFIED),
6440            1 => ::std::option::Option::Some(ExecStepConfig_Interpreter::SHELL),
6441            2 => ::std::option::Option::Some(ExecStepConfig_Interpreter::POWERSHELL),
6442            _ => ::std::option::Option::None
6443        }
6444    }
6445
6446    fn values() -> &'static [Self] {
6447        static values: &'static [ExecStepConfig_Interpreter] = &[
6448            ExecStepConfig_Interpreter::INTERPRETER_UNSPECIFIED,
6449            ExecStepConfig_Interpreter::SHELL,
6450            ExecStepConfig_Interpreter::POWERSHELL,
6451        ];
6452        values
6453    }
6454
6455    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
6456        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
6457        descriptor.get(|| {
6458            ::protobuf::reflect::EnumDescriptor::new_pb_name::<ExecStepConfig_Interpreter>("ExecStepConfig.Interpreter", file_descriptor_proto())
6459        })
6460    }
6461}
6462
6463impl ::std::marker::Copy for ExecStepConfig_Interpreter {
6464}
6465
6466impl ::std::default::Default for ExecStepConfig_Interpreter {
6467    fn default() -> Self {
6468        ExecStepConfig_Interpreter::INTERPRETER_UNSPECIFIED
6469    }
6470}
6471
6472impl ::protobuf::reflect::ProtobufValue for ExecStepConfig_Interpreter {
6473    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6474        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
6475    }
6476}
6477
6478#[derive(PartialEq,Clone,Default)]
6479pub struct GcsObject {
6480    // message fields
6481    pub bucket: ::std::string::String,
6482    pub object: ::std::string::String,
6483    pub generation_number: i64,
6484    // special fields
6485    pub unknown_fields: ::protobuf::UnknownFields,
6486    pub cached_size: ::protobuf::CachedSize,
6487}
6488
6489impl<'a> ::std::default::Default for &'a GcsObject {
6490    fn default() -> &'a GcsObject {
6491        <GcsObject as ::protobuf::Message>::default_instance()
6492    }
6493}
6494
6495impl GcsObject {
6496    pub fn new() -> GcsObject {
6497        ::std::default::Default::default()
6498    }
6499
6500    // string bucket = 1;
6501
6502
6503    pub fn get_bucket(&self) -> &str {
6504        &self.bucket
6505    }
6506    pub fn clear_bucket(&mut self) {
6507        self.bucket.clear();
6508    }
6509
6510    // Param is passed by value, moved
6511    pub fn set_bucket(&mut self, v: ::std::string::String) {
6512        self.bucket = v;
6513    }
6514
6515    // Mutable pointer to the field.
6516    // If field is not initialized, it is initialized with default value first.
6517    pub fn mut_bucket(&mut self) -> &mut ::std::string::String {
6518        &mut self.bucket
6519    }
6520
6521    // Take field
6522    pub fn take_bucket(&mut self) -> ::std::string::String {
6523        ::std::mem::replace(&mut self.bucket, ::std::string::String::new())
6524    }
6525
6526    // string object = 2;
6527
6528
6529    pub fn get_object(&self) -> &str {
6530        &self.object
6531    }
6532    pub fn clear_object(&mut self) {
6533        self.object.clear();
6534    }
6535
6536    // Param is passed by value, moved
6537    pub fn set_object(&mut self, v: ::std::string::String) {
6538        self.object = v;
6539    }
6540
6541    // Mutable pointer to the field.
6542    // If field is not initialized, it is initialized with default value first.
6543    pub fn mut_object(&mut self) -> &mut ::std::string::String {
6544        &mut self.object
6545    }
6546
6547    // Take field
6548    pub fn take_object(&mut self) -> ::std::string::String {
6549        ::std::mem::replace(&mut self.object, ::std::string::String::new())
6550    }
6551
6552    // int64 generation_number = 3;
6553
6554
6555    pub fn get_generation_number(&self) -> i64 {
6556        self.generation_number
6557    }
6558    pub fn clear_generation_number(&mut self) {
6559        self.generation_number = 0;
6560    }
6561
6562    // Param is passed by value, moved
6563    pub fn set_generation_number(&mut self, v: i64) {
6564        self.generation_number = v;
6565    }
6566}
6567
6568impl ::protobuf::Message for GcsObject {
6569    fn is_initialized(&self) -> bool {
6570        true
6571    }
6572
6573    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6574        while !is.eof()? {
6575            let (field_number, wire_type) = is.read_tag_unpack()?;
6576            match field_number {
6577                1 => {
6578                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.bucket)?;
6579                },
6580                2 => {
6581                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.object)?;
6582                },
6583                3 => {
6584                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
6585                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
6586                    }
6587                    let tmp = is.read_int64()?;
6588                    self.generation_number = tmp;
6589                },
6590                _ => {
6591                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
6592                },
6593            };
6594        }
6595        ::std::result::Result::Ok(())
6596    }
6597
6598    // Compute sizes of nested messages
6599    #[allow(unused_variables)]
6600    fn compute_size(&self) -> u32 {
6601        let mut my_size = 0;
6602        if !self.bucket.is_empty() {
6603            my_size += ::protobuf::rt::string_size(1, &self.bucket);
6604        }
6605        if !self.object.is_empty() {
6606            my_size += ::protobuf::rt::string_size(2, &self.object);
6607        }
6608        if self.generation_number != 0 {
6609            my_size += ::protobuf::rt::value_size(3, self.generation_number, ::protobuf::wire_format::WireTypeVarint);
6610        }
6611        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
6612        self.cached_size.set(my_size);
6613        my_size
6614    }
6615
6616    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6617        if !self.bucket.is_empty() {
6618            os.write_string(1, &self.bucket)?;
6619        }
6620        if !self.object.is_empty() {
6621            os.write_string(2, &self.object)?;
6622        }
6623        if self.generation_number != 0 {
6624            os.write_int64(3, self.generation_number)?;
6625        }
6626        os.write_unknown_fields(self.get_unknown_fields())?;
6627        ::std::result::Result::Ok(())
6628    }
6629
6630    fn get_cached_size(&self) -> u32 {
6631        self.cached_size.get()
6632    }
6633
6634    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
6635        &self.unknown_fields
6636    }
6637
6638    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
6639        &mut self.unknown_fields
6640    }
6641
6642    fn as_any(&self) -> &dyn (::std::any::Any) {
6643        self as &dyn (::std::any::Any)
6644    }
6645    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
6646        self as &mut dyn (::std::any::Any)
6647    }
6648    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
6649        self
6650    }
6651
6652    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
6653        Self::descriptor_static()
6654    }
6655
6656    fn new() -> GcsObject {
6657        GcsObject::new()
6658    }
6659
6660    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
6661        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
6662        descriptor.get(|| {
6663            let mut fields = ::std::vec::Vec::new();
6664            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
6665                "bucket",
6666                |m: &GcsObject| { &m.bucket },
6667                |m: &mut GcsObject| { &mut m.bucket },
6668            ));
6669            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
6670                "object",
6671                |m: &GcsObject| { &m.object },
6672                |m: &mut GcsObject| { &mut m.object },
6673            ));
6674            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
6675                "generation_number",
6676                |m: &GcsObject| { &m.generation_number },
6677                |m: &mut GcsObject| { &mut m.generation_number },
6678            ));
6679            ::protobuf::reflect::MessageDescriptor::new_pb_name::<GcsObject>(
6680                "GcsObject",
6681                fields,
6682                file_descriptor_proto()
6683            )
6684        })
6685    }
6686
6687    fn default_instance() -> &'static GcsObject {
6688        static instance: ::protobuf::rt::LazyV2<GcsObject> = ::protobuf::rt::LazyV2::INIT;
6689        instance.get(GcsObject::new)
6690    }
6691}
6692
6693impl ::protobuf::Clear for GcsObject {
6694    fn clear(&mut self) {
6695        self.bucket.clear();
6696        self.object.clear();
6697        self.generation_number = 0;
6698        self.unknown_fields.clear();
6699    }
6700}
6701
6702impl ::std::fmt::Debug for GcsObject {
6703    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6704        ::protobuf::text_format::fmt(self, f)
6705    }
6706}
6707
6708impl ::protobuf::reflect::ProtobufValue for GcsObject {
6709    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6710        ::protobuf::reflect::ReflectValueRef::Message(self)
6711    }
6712}
6713
6714#[derive(PartialEq,Clone,Default)]
6715pub struct PatchInstanceFilter {
6716    // message fields
6717    pub all: bool,
6718    pub group_labels: ::protobuf::RepeatedField<PatchInstanceFilter_GroupLabel>,
6719    pub zones: ::protobuf::RepeatedField<::std::string::String>,
6720    pub instances: ::protobuf::RepeatedField<::std::string::String>,
6721    pub instance_name_prefixes: ::protobuf::RepeatedField<::std::string::String>,
6722    // special fields
6723    pub unknown_fields: ::protobuf::UnknownFields,
6724    pub cached_size: ::protobuf::CachedSize,
6725}
6726
6727impl<'a> ::std::default::Default for &'a PatchInstanceFilter {
6728    fn default() -> &'a PatchInstanceFilter {
6729        <PatchInstanceFilter as ::protobuf::Message>::default_instance()
6730    }
6731}
6732
6733impl PatchInstanceFilter {
6734    pub fn new() -> PatchInstanceFilter {
6735        ::std::default::Default::default()
6736    }
6737
6738    // bool all = 1;
6739
6740
6741    pub fn get_all(&self) -> bool {
6742        self.all
6743    }
6744    pub fn clear_all(&mut self) {
6745        self.all = false;
6746    }
6747
6748    // Param is passed by value, moved
6749    pub fn set_all(&mut self, v: bool) {
6750        self.all = v;
6751    }
6752
6753    // repeated .google.cloud.osconfig.v1.PatchInstanceFilter.GroupLabel group_labels = 2;
6754
6755
6756    pub fn get_group_labels(&self) -> &[PatchInstanceFilter_GroupLabel] {
6757        &self.group_labels
6758    }
6759    pub fn clear_group_labels(&mut self) {
6760        self.group_labels.clear();
6761    }
6762
6763    // Param is passed by value, moved
6764    pub fn set_group_labels(&mut self, v: ::protobuf::RepeatedField<PatchInstanceFilter_GroupLabel>) {
6765        self.group_labels = v;
6766    }
6767
6768    // Mutable pointer to the field.
6769    pub fn mut_group_labels(&mut self) -> &mut ::protobuf::RepeatedField<PatchInstanceFilter_GroupLabel> {
6770        &mut self.group_labels
6771    }
6772
6773    // Take field
6774    pub fn take_group_labels(&mut self) -> ::protobuf::RepeatedField<PatchInstanceFilter_GroupLabel> {
6775        ::std::mem::replace(&mut self.group_labels, ::protobuf::RepeatedField::new())
6776    }
6777
6778    // repeated string zones = 3;
6779
6780
6781    pub fn get_zones(&self) -> &[::std::string::String] {
6782        &self.zones
6783    }
6784    pub fn clear_zones(&mut self) {
6785        self.zones.clear();
6786    }
6787
6788    // Param is passed by value, moved
6789    pub fn set_zones(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
6790        self.zones = v;
6791    }
6792
6793    // Mutable pointer to the field.
6794    pub fn mut_zones(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
6795        &mut self.zones
6796    }
6797
6798    // Take field
6799    pub fn take_zones(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
6800        ::std::mem::replace(&mut self.zones, ::protobuf::RepeatedField::new())
6801    }
6802
6803    // repeated string instances = 4;
6804
6805
6806    pub fn get_instances(&self) -> &[::std::string::String] {
6807        &self.instances
6808    }
6809    pub fn clear_instances(&mut self) {
6810        self.instances.clear();
6811    }
6812
6813    // Param is passed by value, moved
6814    pub fn set_instances(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
6815        self.instances = v;
6816    }
6817
6818    // Mutable pointer to the field.
6819    pub fn mut_instances(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
6820        &mut self.instances
6821    }
6822
6823    // Take field
6824    pub fn take_instances(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
6825        ::std::mem::replace(&mut self.instances, ::protobuf::RepeatedField::new())
6826    }
6827
6828    // repeated string instance_name_prefixes = 5;
6829
6830
6831    pub fn get_instance_name_prefixes(&self) -> &[::std::string::String] {
6832        &self.instance_name_prefixes
6833    }
6834    pub fn clear_instance_name_prefixes(&mut self) {
6835        self.instance_name_prefixes.clear();
6836    }
6837
6838    // Param is passed by value, moved
6839    pub fn set_instance_name_prefixes(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
6840        self.instance_name_prefixes = v;
6841    }
6842
6843    // Mutable pointer to the field.
6844    pub fn mut_instance_name_prefixes(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
6845        &mut self.instance_name_prefixes
6846    }
6847
6848    // Take field
6849    pub fn take_instance_name_prefixes(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
6850        ::std::mem::replace(&mut self.instance_name_prefixes, ::protobuf::RepeatedField::new())
6851    }
6852}
6853
6854impl ::protobuf::Message for PatchInstanceFilter {
6855    fn is_initialized(&self) -> bool {
6856        for v in &self.group_labels {
6857            if !v.is_initialized() {
6858                return false;
6859            }
6860        };
6861        true
6862    }
6863
6864    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6865        while !is.eof()? {
6866            let (field_number, wire_type) = is.read_tag_unpack()?;
6867            match field_number {
6868                1 => {
6869                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
6870                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
6871                    }
6872                    let tmp = is.read_bool()?;
6873                    self.all = tmp;
6874                },
6875                2 => {
6876                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.group_labels)?;
6877                },
6878                3 => {
6879                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.zones)?;
6880                },
6881                4 => {
6882                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.instances)?;
6883                },
6884                5 => {
6885                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.instance_name_prefixes)?;
6886                },
6887                _ => {
6888                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
6889                },
6890            };
6891        }
6892        ::std::result::Result::Ok(())
6893    }
6894
6895    // Compute sizes of nested messages
6896    #[allow(unused_variables)]
6897    fn compute_size(&self) -> u32 {
6898        let mut my_size = 0;
6899        if self.all != false {
6900            my_size += 2;
6901        }
6902        for value in &self.group_labels {
6903            let len = value.compute_size();
6904            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
6905        };
6906        for value in &self.zones {
6907            my_size += ::protobuf::rt::string_size(3, &value);
6908        };
6909        for value in &self.instances {
6910            my_size += ::protobuf::rt::string_size(4, &value);
6911        };
6912        for value in &self.instance_name_prefixes {
6913            my_size += ::protobuf::rt::string_size(5, &value);
6914        };
6915        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
6916        self.cached_size.set(my_size);
6917        my_size
6918    }
6919
6920    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6921        if self.all != false {
6922            os.write_bool(1, self.all)?;
6923        }
6924        for v in &self.group_labels {
6925            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
6926            os.write_raw_varint32(v.get_cached_size())?;
6927            v.write_to_with_cached_sizes(os)?;
6928        };
6929        for v in &self.zones {
6930            os.write_string(3, &v)?;
6931        };
6932        for v in &self.instances {
6933            os.write_string(4, &v)?;
6934        };
6935        for v in &self.instance_name_prefixes {
6936            os.write_string(5, &v)?;
6937        };
6938        os.write_unknown_fields(self.get_unknown_fields())?;
6939        ::std::result::Result::Ok(())
6940    }
6941
6942    fn get_cached_size(&self) -> u32 {
6943        self.cached_size.get()
6944    }
6945
6946    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
6947        &self.unknown_fields
6948    }
6949
6950    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
6951        &mut self.unknown_fields
6952    }
6953
6954    fn as_any(&self) -> &dyn (::std::any::Any) {
6955        self as &dyn (::std::any::Any)
6956    }
6957    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
6958        self as &mut dyn (::std::any::Any)
6959    }
6960    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
6961        self
6962    }
6963
6964    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
6965        Self::descriptor_static()
6966    }
6967
6968    fn new() -> PatchInstanceFilter {
6969        PatchInstanceFilter::new()
6970    }
6971
6972    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
6973        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
6974        descriptor.get(|| {
6975            let mut fields = ::std::vec::Vec::new();
6976            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
6977                "all",
6978                |m: &PatchInstanceFilter| { &m.all },
6979                |m: &mut PatchInstanceFilter| { &mut m.all },
6980            ));
6981            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<PatchInstanceFilter_GroupLabel>>(
6982                "group_labels",
6983                |m: &PatchInstanceFilter| { &m.group_labels },
6984                |m: &mut PatchInstanceFilter| { &mut m.group_labels },
6985            ));
6986            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
6987                "zones",
6988                |m: &PatchInstanceFilter| { &m.zones },
6989                |m: &mut PatchInstanceFilter| { &mut m.zones },
6990            ));
6991            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
6992                "instances",
6993                |m: &PatchInstanceFilter| { &m.instances },
6994                |m: &mut PatchInstanceFilter| { &mut m.instances },
6995            ));
6996            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
6997                "instance_name_prefixes",
6998                |m: &PatchInstanceFilter| { &m.instance_name_prefixes },
6999                |m: &mut PatchInstanceFilter| { &mut m.instance_name_prefixes },
7000            ));
7001            ::protobuf::reflect::MessageDescriptor::new_pb_name::<PatchInstanceFilter>(
7002                "PatchInstanceFilter",
7003                fields,
7004                file_descriptor_proto()
7005            )
7006        })
7007    }
7008
7009    fn default_instance() -> &'static PatchInstanceFilter {
7010        static instance: ::protobuf::rt::LazyV2<PatchInstanceFilter> = ::protobuf::rt::LazyV2::INIT;
7011        instance.get(PatchInstanceFilter::new)
7012    }
7013}
7014
7015impl ::protobuf::Clear for PatchInstanceFilter {
7016    fn clear(&mut self) {
7017        self.all = false;
7018        self.group_labels.clear();
7019        self.zones.clear();
7020        self.instances.clear();
7021        self.instance_name_prefixes.clear();
7022        self.unknown_fields.clear();
7023    }
7024}
7025
7026impl ::std::fmt::Debug for PatchInstanceFilter {
7027    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7028        ::protobuf::text_format::fmt(self, f)
7029    }
7030}
7031
7032impl ::protobuf::reflect::ProtobufValue for PatchInstanceFilter {
7033    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
7034        ::protobuf::reflect::ReflectValueRef::Message(self)
7035    }
7036}
7037
7038#[derive(PartialEq,Clone,Default)]
7039pub struct PatchInstanceFilter_GroupLabel {
7040    // message fields
7041    pub labels: ::std::collections::HashMap<::std::string::String, ::std::string::String>,
7042    // special fields
7043    pub unknown_fields: ::protobuf::UnknownFields,
7044    pub cached_size: ::protobuf::CachedSize,
7045}
7046
7047impl<'a> ::std::default::Default for &'a PatchInstanceFilter_GroupLabel {
7048    fn default() -> &'a PatchInstanceFilter_GroupLabel {
7049        <PatchInstanceFilter_GroupLabel as ::protobuf::Message>::default_instance()
7050    }
7051}
7052
7053impl PatchInstanceFilter_GroupLabel {
7054    pub fn new() -> PatchInstanceFilter_GroupLabel {
7055        ::std::default::Default::default()
7056    }
7057
7058    // repeated .google.cloud.osconfig.v1.PatchInstanceFilter.GroupLabel.LabelsEntry labels = 1;
7059
7060
7061    pub fn get_labels(&self) -> &::std::collections::HashMap<::std::string::String, ::std::string::String> {
7062        &self.labels
7063    }
7064    pub fn clear_labels(&mut self) {
7065        self.labels.clear();
7066    }
7067
7068    // Param is passed by value, moved
7069    pub fn set_labels(&mut self, v: ::std::collections::HashMap<::std::string::String, ::std::string::String>) {
7070        self.labels = v;
7071    }
7072
7073    // Mutable pointer to the field.
7074    pub fn mut_labels(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, ::std::string::String> {
7075        &mut self.labels
7076    }
7077
7078    // Take field
7079    pub fn take_labels(&mut self) -> ::std::collections::HashMap<::std::string::String, ::std::string::String> {
7080        ::std::mem::replace(&mut self.labels, ::std::collections::HashMap::new())
7081    }
7082}
7083
7084impl ::protobuf::Message for PatchInstanceFilter_GroupLabel {
7085    fn is_initialized(&self) -> bool {
7086        true
7087    }
7088
7089    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
7090        while !is.eof()? {
7091            let (field_number, wire_type) = is.read_tag_unpack()?;
7092            match field_number {
7093                1 => {
7094                    ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(wire_type, is, &mut self.labels)?;
7095                },
7096                _ => {
7097                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
7098                },
7099            };
7100        }
7101        ::std::result::Result::Ok(())
7102    }
7103
7104    // Compute sizes of nested messages
7105    #[allow(unused_variables)]
7106    fn compute_size(&self) -> u32 {
7107        let mut my_size = 0;
7108        my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(1, &self.labels);
7109        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
7110        self.cached_size.set(my_size);
7111        my_size
7112    }
7113
7114    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
7115        ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(1, &self.labels, os)?;
7116        os.write_unknown_fields(self.get_unknown_fields())?;
7117        ::std::result::Result::Ok(())
7118    }
7119
7120    fn get_cached_size(&self) -> u32 {
7121        self.cached_size.get()
7122    }
7123
7124    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
7125        &self.unknown_fields
7126    }
7127
7128    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
7129        &mut self.unknown_fields
7130    }
7131
7132    fn as_any(&self) -> &dyn (::std::any::Any) {
7133        self as &dyn (::std::any::Any)
7134    }
7135    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
7136        self as &mut dyn (::std::any::Any)
7137    }
7138    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
7139        self
7140    }
7141
7142    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
7143        Self::descriptor_static()
7144    }
7145
7146    fn new() -> PatchInstanceFilter_GroupLabel {
7147        PatchInstanceFilter_GroupLabel::new()
7148    }
7149
7150    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
7151        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
7152        descriptor.get(|| {
7153            let mut fields = ::std::vec::Vec::new();
7154            fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeString>(
7155                "labels",
7156                |m: &PatchInstanceFilter_GroupLabel| { &m.labels },
7157                |m: &mut PatchInstanceFilter_GroupLabel| { &mut m.labels },
7158            ));
7159            ::protobuf::reflect::MessageDescriptor::new_pb_name::<PatchInstanceFilter_GroupLabel>(
7160                "PatchInstanceFilter.GroupLabel",
7161                fields,
7162                file_descriptor_proto()
7163            )
7164        })
7165    }
7166
7167    fn default_instance() -> &'static PatchInstanceFilter_GroupLabel {
7168        static instance: ::protobuf::rt::LazyV2<PatchInstanceFilter_GroupLabel> = ::protobuf::rt::LazyV2::INIT;
7169        instance.get(PatchInstanceFilter_GroupLabel::new)
7170    }
7171}
7172
7173impl ::protobuf::Clear for PatchInstanceFilter_GroupLabel {
7174    fn clear(&mut self) {
7175        self.labels.clear();
7176        self.unknown_fields.clear();
7177    }
7178}
7179
7180impl ::std::fmt::Debug for PatchInstanceFilter_GroupLabel {
7181    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7182        ::protobuf::text_format::fmt(self, f)
7183    }
7184}
7185
7186impl ::protobuf::reflect::ProtobufValue for PatchInstanceFilter_GroupLabel {
7187    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
7188        ::protobuf::reflect::ReflectValueRef::Message(self)
7189    }
7190}
7191
7192#[derive(PartialEq,Clone,Default)]
7193pub struct PatchRollout {
7194    // message fields
7195    pub mode: PatchRollout_Mode,
7196    pub disruption_budget: ::protobuf::SingularPtrField<super::osconfig_common::FixedOrPercent>,
7197    // special fields
7198    pub unknown_fields: ::protobuf::UnknownFields,
7199    pub cached_size: ::protobuf::CachedSize,
7200}
7201
7202impl<'a> ::std::default::Default for &'a PatchRollout {
7203    fn default() -> &'a PatchRollout {
7204        <PatchRollout as ::protobuf::Message>::default_instance()
7205    }
7206}
7207
7208impl PatchRollout {
7209    pub fn new() -> PatchRollout {
7210        ::std::default::Default::default()
7211    }
7212
7213    // .google.cloud.osconfig.v1.PatchRollout.Mode mode = 1;
7214
7215
7216    pub fn get_mode(&self) -> PatchRollout_Mode {
7217        self.mode
7218    }
7219    pub fn clear_mode(&mut self) {
7220        self.mode = PatchRollout_Mode::MODE_UNSPECIFIED;
7221    }
7222
7223    // Param is passed by value, moved
7224    pub fn set_mode(&mut self, v: PatchRollout_Mode) {
7225        self.mode = v;
7226    }
7227
7228    // .google.cloud.osconfig.v1.FixedOrPercent disruption_budget = 2;
7229
7230
7231    pub fn get_disruption_budget(&self) -> &super::osconfig_common::FixedOrPercent {
7232        self.disruption_budget.as_ref().unwrap_or_else(|| <super::osconfig_common::FixedOrPercent as ::protobuf::Message>::default_instance())
7233    }
7234    pub fn clear_disruption_budget(&mut self) {
7235        self.disruption_budget.clear();
7236    }
7237
7238    pub fn has_disruption_budget(&self) -> bool {
7239        self.disruption_budget.is_some()
7240    }
7241
7242    // Param is passed by value, moved
7243    pub fn set_disruption_budget(&mut self, v: super::osconfig_common::FixedOrPercent) {
7244        self.disruption_budget = ::protobuf::SingularPtrField::some(v);
7245    }
7246
7247    // Mutable pointer to the field.
7248    // If field is not initialized, it is initialized with default value first.
7249    pub fn mut_disruption_budget(&mut self) -> &mut super::osconfig_common::FixedOrPercent {
7250        if self.disruption_budget.is_none() {
7251            self.disruption_budget.set_default();
7252        }
7253        self.disruption_budget.as_mut().unwrap()
7254    }
7255
7256    // Take field
7257    pub fn take_disruption_budget(&mut self) -> super::osconfig_common::FixedOrPercent {
7258        self.disruption_budget.take().unwrap_or_else(|| super::osconfig_common::FixedOrPercent::new())
7259    }
7260}
7261
7262impl ::protobuf::Message for PatchRollout {
7263    fn is_initialized(&self) -> bool {
7264        for v in &self.disruption_budget {
7265            if !v.is_initialized() {
7266                return false;
7267            }
7268        };
7269        true
7270    }
7271
7272    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
7273        while !is.eof()? {
7274            let (field_number, wire_type) = is.read_tag_unpack()?;
7275            match field_number {
7276                1 => {
7277                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.mode, 1, &mut self.unknown_fields)?
7278                },
7279                2 => {
7280                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.disruption_budget)?;
7281                },
7282                _ => {
7283                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
7284                },
7285            };
7286        }
7287        ::std::result::Result::Ok(())
7288    }
7289
7290    // Compute sizes of nested messages
7291    #[allow(unused_variables)]
7292    fn compute_size(&self) -> u32 {
7293        let mut my_size = 0;
7294        if self.mode != PatchRollout_Mode::MODE_UNSPECIFIED {
7295            my_size += ::protobuf::rt::enum_size(1, self.mode);
7296        }
7297        if let Some(ref v) = self.disruption_budget.as_ref() {
7298            let len = v.compute_size();
7299            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
7300        }
7301        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
7302        self.cached_size.set(my_size);
7303        my_size
7304    }
7305
7306    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
7307        if self.mode != PatchRollout_Mode::MODE_UNSPECIFIED {
7308            os.write_enum(1, ::protobuf::ProtobufEnum::value(&self.mode))?;
7309        }
7310        if let Some(ref v) = self.disruption_budget.as_ref() {
7311            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
7312            os.write_raw_varint32(v.get_cached_size())?;
7313            v.write_to_with_cached_sizes(os)?;
7314        }
7315        os.write_unknown_fields(self.get_unknown_fields())?;
7316        ::std::result::Result::Ok(())
7317    }
7318
7319    fn get_cached_size(&self) -> u32 {
7320        self.cached_size.get()
7321    }
7322
7323    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
7324        &self.unknown_fields
7325    }
7326
7327    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
7328        &mut self.unknown_fields
7329    }
7330
7331    fn as_any(&self) -> &dyn (::std::any::Any) {
7332        self as &dyn (::std::any::Any)
7333    }
7334    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
7335        self as &mut dyn (::std::any::Any)
7336    }
7337    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
7338        self
7339    }
7340
7341    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
7342        Self::descriptor_static()
7343    }
7344
7345    fn new() -> PatchRollout {
7346        PatchRollout::new()
7347    }
7348
7349    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
7350        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
7351        descriptor.get(|| {
7352            let mut fields = ::std::vec::Vec::new();
7353            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<PatchRollout_Mode>>(
7354                "mode",
7355                |m: &PatchRollout| { &m.mode },
7356                |m: &mut PatchRollout| { &mut m.mode },
7357            ));
7358            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::osconfig_common::FixedOrPercent>>(
7359                "disruption_budget",
7360                |m: &PatchRollout| { &m.disruption_budget },
7361                |m: &mut PatchRollout| { &mut m.disruption_budget },
7362            ));
7363            ::protobuf::reflect::MessageDescriptor::new_pb_name::<PatchRollout>(
7364                "PatchRollout",
7365                fields,
7366                file_descriptor_proto()
7367            )
7368        })
7369    }
7370
7371    fn default_instance() -> &'static PatchRollout {
7372        static instance: ::protobuf::rt::LazyV2<PatchRollout> = ::protobuf::rt::LazyV2::INIT;
7373        instance.get(PatchRollout::new)
7374    }
7375}
7376
7377impl ::protobuf::Clear for PatchRollout {
7378    fn clear(&mut self) {
7379        self.mode = PatchRollout_Mode::MODE_UNSPECIFIED;
7380        self.disruption_budget.clear();
7381        self.unknown_fields.clear();
7382    }
7383}
7384
7385impl ::std::fmt::Debug for PatchRollout {
7386    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
7387        ::protobuf::text_format::fmt(self, f)
7388    }
7389}
7390
7391impl ::protobuf::reflect::ProtobufValue for PatchRollout {
7392    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
7393        ::protobuf::reflect::ReflectValueRef::Message(self)
7394    }
7395}
7396
7397#[derive(Clone,PartialEq,Eq,Debug,Hash)]
7398pub enum PatchRollout_Mode {
7399    MODE_UNSPECIFIED = 0,
7400    ZONE_BY_ZONE = 1,
7401    CONCURRENT_ZONES = 2,
7402}
7403
7404impl ::protobuf::ProtobufEnum for PatchRollout_Mode {
7405    fn value(&self) -> i32 {
7406        *self as i32
7407    }
7408
7409    fn from_i32(value: i32) -> ::std::option::Option<PatchRollout_Mode> {
7410        match value {
7411            0 => ::std::option::Option::Some(PatchRollout_Mode::MODE_UNSPECIFIED),
7412            1 => ::std::option::Option::Some(PatchRollout_Mode::ZONE_BY_ZONE),
7413            2 => ::std::option::Option::Some(PatchRollout_Mode::CONCURRENT_ZONES),
7414            _ => ::std::option::Option::None
7415        }
7416    }
7417
7418    fn values() -> &'static [Self] {
7419        static values: &'static [PatchRollout_Mode] = &[
7420            PatchRollout_Mode::MODE_UNSPECIFIED,
7421            PatchRollout_Mode::ZONE_BY_ZONE,
7422            PatchRollout_Mode::CONCURRENT_ZONES,
7423        ];
7424        values
7425    }
7426
7427    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
7428        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
7429        descriptor.get(|| {
7430            ::protobuf::reflect::EnumDescriptor::new_pb_name::<PatchRollout_Mode>("PatchRollout.Mode", file_descriptor_proto())
7431        })
7432    }
7433}
7434
7435impl ::std::marker::Copy for PatchRollout_Mode {
7436}
7437
7438impl ::std::default::Default for PatchRollout_Mode {
7439    fn default() -> Self {
7440        PatchRollout_Mode::MODE_UNSPECIFIED
7441    }
7442}
7443
7444impl ::protobuf::reflect::ProtobufValue for PatchRollout_Mode {
7445    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
7446        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
7447    }
7448}
7449
7450static file_descriptor_proto_data: &'static [u8] = b"\
7451    \n)google/cloud/osconfig/v1/patch_jobs.proto\x12\x18google.cloud.osconfi\
7452    g.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.p\
7453    roto\x1a.google/cloud/osconfig/v1/osconfig_common.proto\x1a\x1egoogle/pr\
7454    otobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xe3\x03\n\
7455    \x16ExecutePatchJobRequest\x12K\n\x06parent\x18\x01\x20\x01(\tR\x06paren\
7456    tB3\xfaA-\n+cloudresourcemanager.googleapis.com/Project\xe0A\x02\x12\x20\
7457    \n\x0bdescription\x18\x02\x20\x01(\tR\x0bdescription\x12[\n\x0finstance_\
7458    filter\x18\x07\x20\x01(\x0b2-.google.cloud.osconfig.v1.PatchInstanceFilt\
7459    erR\x0einstanceFilterB\x03\xe0A\x02\x12H\n\x0cpatch_config\x18\x04\x20\
7460    \x01(\x0b2%.google.cloud.osconfig.v1.PatchConfigR\x0bpatchConfig\x125\n\
7461    \x08duration\x18\x05\x20\x01(\x0b2\x19.google.protobuf.DurationR\x08dura\
7462    tion\x12\x17\n\x07dry_run\x18\x06\x20\x01(\x08R\x06dryRun\x12!\n\x0cdisp\
7463    lay_name\x18\x08\x20\x01(\tR\x0bdisplayName\x12@\n\x07rollout\x18\t\x20\
7464    \x01(\x0b2&.google.cloud.osconfig.v1.PatchRolloutR\x07rollout\"R\n\x12Ge\
7465    tPatchJobRequest\x12<\n\x04name\x18\x01\x20\x01(\tR\x04nameB(\xfaA\"\n\
7466    \x20osconfig.googleapis.com/PatchJob\xe0A\x02\"\xba\x01\n\"ListPatchJobI\
7467    nstanceDetailsRequest\x12@\n\x06parent\x18\x01\x20\x01(\tR\x06parentB(\
7468    \xfaA\"\n\x20osconfig.googleapis.com/PatchJob\xe0A\x02\x12\x1b\n\tpage_s\
7469    ize\x18\x02\x20\x01(\x05R\x08pageSize\x12\x1d\n\npage_token\x18\x03\x20\
7470    \x01(\tR\tpageToken\x12\x16\n\x06filter\x18\x04\x20\x01(\tR\x06filter\"\
7471    \xbd\x01\n#ListPatchJobInstanceDetailsResponse\x12n\n\x1apatch_job_insta\
7472    nce_details\x18\x01\x20\x03(\x0b21.google.cloud.osconfig.v1.PatchJobInst\
7473    anceDetailsR\x17patchJobInstanceDetails\x12&\n\x0fnext_page_token\x18\
7474    \x02\x20\x01(\tR\rnextPageToken\"\x92\x02\n\x17PatchJobInstanceDetails\
7475    \x128\n\x04name\x18\x01\x20\x01(\tR\x04nameB$\xfaA!\n\x1fcompute.googlea\
7476    pis.com/Instance\x12,\n\x12instance_system_id\x18\x02\x20\x01(\tR\x10ins\
7477    tanceSystemId\x12C\n\x05state\x18\x03\x20\x01(\x0e2-.google.cloud.osconf\
7478    ig.v1.Instance.PatchStateR\x05state\x12%\n\x0efailure_reason\x18\x04\x20\
7479    \x01(\tR\rfailureReason\x12#\n\rattempt_count\x18\x05\x20\x01(\x03R\x0ca\
7480    ttemptCount\"\xb7\x01\n\x14ListPatchJobsRequest\x12K\n\x06parent\x18\x01\
7481    \x20\x01(\tR\x06parentB3\xfaA-\n+cloudresourcemanager.googleapis.com/Pro\
7482    ject\xe0A\x02\x12\x1b\n\tpage_size\x18\x02\x20\x01(\x05R\x08pageSize\x12\
7483    \x1d\n\npage_token\x18\x03\x20\x01(\tR\tpageToken\x12\x16\n\x06filter\
7484    \x18\x04\x20\x01(\tR\x06filter\"\x82\x01\n\x15ListPatchJobsResponse\x12A\
7485    \n\npatch_jobs\x18\x01\x20\x03(\x0b2\".google.cloud.osconfig.v1.PatchJob\
7486    R\tpatchJobs\x12&\n\x0fnext_page_token\x18\x02\x20\x01(\tR\rnextPageToke\
7487    n\"\x9f\x10\n\x08PatchJob\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\
7488    \x12!\n\x0cdisplay_name\x18\x0e\x20\x01(\tR\x0bdisplayName\x12\x20\n\x0b\
7489    description\x18\x02\x20\x01(\tR\x0bdescription\x12;\n\x0bcreate_time\x18\
7490    \x03\x20\x01(\x0b2\x1a.google.protobuf.TimestampR\ncreateTime\x12;\n\x0b\
7491    update_time\x18\x04\x20\x01(\x0b2\x1a.google.protobuf.TimestampR\nupdate\
7492    Time\x12>\n\x05state\x18\x05\x20\x01(\x0e2(.google.cloud.osconfig.v1.Pat\
7493    chJob.StateR\x05state\x12V\n\x0finstance_filter\x18\r\x20\x01(\x0b2-.goo\
7494    gle.cloud.osconfig.v1.PatchInstanceFilterR\x0einstanceFilter\x12H\n\x0cp\
7495    atch_config\x18\x07\x20\x01(\x0b2%.google.cloud.osconfig.v1.PatchConfigR\
7496    \x0bpatchConfig\x125\n\x08duration\x18\x08\x20\x01(\x0b2\x19.google.prot\
7497    obuf.DurationR\x08duration\x12s\n\x18instance_details_summary\x18\t\x20\
7498    \x01(\x0b29.google.cloud.osconfig.v1.PatchJob.InstanceDetailsSummaryR\
7499    \x16instanceDetailsSummary\x12\x17\n\x07dry_run\x18\n\x20\x01(\x08R\x06d\
7500    ryRun\x12#\n\rerror_message\x18\x0b\x20\x01(\tR\x0cerrorMessage\x12)\n\
7501    \x10percent_complete\x18\x0c\x20\x01(\x01R\x0fpercentComplete\x12Z\n\x10\
7502    patch_deployment\x18\x0f\x20\x01(\tR\x0fpatchDeploymentB/\xfaA)\n'osconf\
7503    ig.googleapis.com/PatchDeployment\xe0A\x03\x12@\n\x07rollout\x18\x10\x20\
7504    \x01(\x0b2&.google.cloud.osconfig.v1.PatchRolloutR\x07rollout\x1a\xc1\
7505    \x07\n\x16InstanceDetailsSummary\x124\n\x16pending_instance_count\x18\
7506    \x01\x20\x01(\x03R\x14pendingInstanceCount\x126\n\x17inactive_instance_c\
7507    ount\x18\x02\x20\x01(\x03R\x15inactiveInstanceCount\x126\n\x17notified_i\
7508    nstance_count\x18\x03\x20\x01(\x03R\x15notifiedInstanceCount\x124\n\x16s\
7509    tarted_instance_count\x18\x04\x20\x01(\x03R\x14startedInstanceCount\x12K\
7510    \n\"downloading_patches_instance_count\x18\x05\x20\x01(\x03R\x1fdownload\
7511    ingPatchesInstanceCount\x12E\n\x1fapplying_patches_instance_count\x18\
7512    \x06\x20\x01(\x03R\x1capplyingPatchesInstanceCount\x128\n\x18rebooting_i\
7513    nstance_count\x18\x07\x20\x01(\x03R\x16rebootingInstanceCount\x128\n\x18\
7514    succeeded_instance_count\x18\x08\x20\x01(\x03R\x16succeededInstanceCount\
7515    \x12V\n(succeeded_reboot_required_instance_count\x18\t\x20\x01(\x03R$suc\
7516    ceededRebootRequiredInstanceCount\x122\n\x15failed_instance_count\x18\n\
7517    \x20\x01(\x03R\x13failedInstanceCount\x120\n\x14acked_instance_count\x18\
7518    \x0b\x20\x01(\x03R\x12ackedInstanceCount\x127\n\x18timed_out_instance_co\
7519    unt\x18\x0c\x20\x01(\x03R\x15timedOutInstanceCount\x12@\n\x1dpre_patch_s\
7520    tep_instance_count\x18\r\x20\x01(\x03R\x19prePatchStepInstanceCount\x12B\
7521    \n\x1epost_patch_step_instance_count\x18\x0e\x20\x01(\x03R\x1apostPatchS\
7522    tepInstanceCount\x12F\n\x20no_agent_detected_instance_count\x18\x0f\x20\
7523    \x01(\x03R\x1cnoAgentDetectedInstanceCount\"\x95\x01\n\x05State\x12\x15\
7524    \n\x11STATE_UNSPECIFIED\x10\0\x12\x0b\n\x07STARTED\x10\x01\x12\x13\n\x0f\
7525    INSTANCE_LOOKUP\x10\x02\x12\x0c\n\x08PATCHING\x10\x03\x12\r\n\tSUCCEEDED\
7526    \x10\x04\x12\x19\n\x15COMPLETED_WITH_ERRORS\x10\x05\x12\x0c\n\x08CANCELE\
7527    D\x10\x06\x12\r\n\tTIMED_OUT\x10\x07:O\xeaAL\n\x20osconfig.googleapis.co\
7528    m/PatchJob\x12(projects/{project}/patchJobs/{patch_job}\"\xb2\x05\n\x0bP\
7529    atchConfig\x12W\n\rreboot_config\x18\x01\x20\x01(\x0e22.google.cloud.osc\
7530    onfig.v1.PatchConfig.RebootConfigR\x0crebootConfig\x127\n\x03apt\x18\x03\
7531    \x20\x01(\x0b2%.google.cloud.osconfig.v1.AptSettingsR\x03apt\x127\n\x03y\
7532    um\x18\x04\x20\x01(\x0b2%.google.cloud.osconfig.v1.YumSettingsR\x03yum\
7533    \x127\n\x03goo\x18\x05\x20\x01(\x0b2%.google.cloud.osconfig.v1.GooSettin\
7534    gsR\x03goo\x12@\n\x06zypper\x18\x06\x20\x01(\x0b2(.google.cloud.osconfig\
7535    .v1.ZypperSettingsR\x06zypper\x12V\n\x0ewindows_update\x18\x07\x20\x01(\
7536    \x0b2/.google.cloud.osconfig.v1.WindowsUpdateSettingsR\rwindowsUpdate\
7537    \x12=\n\x08pre_step\x18\x08\x20\x01(\x0b2\".google.cloud.osconfig.v1.Exe\
7538    cStepR\x07preStep\x12?\n\tpost_step\x18\t\x20\x01(\x0b2\".google.cloud.o\
7539    sconfig.v1.ExecStepR\x08postStep\x122\n\x15mig_instances_allowed\x18\n\
7540    \x20\x01(\x08R\x13migInstancesAllowed\"Q\n\x0cRebootConfig\x12\x1d\n\x19\
7541    REBOOT_CONFIG_UNSPECIFIED\x10\0\x12\x0b\n\x07DEFAULT\x10\x01\x12\n\n\x06\
7542    ALWAYS\x10\x02\x12\t\n\x05NEVER\x10\x03\"\xce\x02\n\x08Instance\"\xc1\
7543    \x02\n\nPatchState\x12\x1b\n\x17PATCH_STATE_UNSPECIFIED\x10\0\x12\x0b\n\
7544    \x07PENDING\x10\x01\x12\x0c\n\x08INACTIVE\x10\x02\x12\x0c\n\x08NOTIFIED\
7545    \x10\x03\x12\x0b\n\x07STARTED\x10\x04\x12\x17\n\x13DOWNLOADING_PATCHES\
7546    \x10\x05\x12\x14\n\x10APPLYING_PATCHES\x10\x06\x12\r\n\tREBOOTING\x10\
7547    \x07\x12\r\n\tSUCCEEDED\x10\x08\x12\x1d\n\x19SUCCEEDED_REBOOT_REQUIRED\
7548    \x10\t\x12\n\n\x06FAILED\x10\n\x12\t\n\x05ACKED\x10\x0b\x12\r\n\tTIMED_O\
7549    UT\x10\x0c\x12\x1a\n\x16RUNNING_PRE_PATCH_STEP\x10\r\x12\x1b\n\x17RUNNIN\
7550    G_POST_PATCH_STEP\x10\x0e\x12\x15\n\x11NO_AGENT_DETECTED\x10\x0f\"U\n\
7551    \x15CancelPatchJobRequest\x12<\n\x04name\x18\x01\x20\x01(\tR\x04nameB(\
7552    \xfaA\"\n\x20osconfig.googleapis.com/PatchJob\xe0A\x02\"\xcd\x01\n\x0bAp\
7553    tSettings\x12>\n\x04type\x18\x01\x20\x01(\x0e2*.google.cloud.osconfig.v1\
7554    .AptSettings.TypeR\x04type\x12\x1a\n\x08excludes\x18\x02\x20\x03(\tR\x08\
7555    excludes\x12-\n\x12exclusive_packages\x18\x03\x20\x03(\tR\x11exclusivePa\
7556    ckages\"3\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\0\x12\x08\n\x04DIS\
7557    T\x10\x01\x12\x0b\n\x07UPGRADE\x10\x02\"\x8e\x01\n\x0bYumSettings\x12\
7558    \x1a\n\x08security\x18\x01\x20\x01(\x08R\x08security\x12\x18\n\x07minima\
7559    l\x18\x02\x20\x01(\x08R\x07minimal\x12\x1a\n\x08excludes\x18\x03\x20\x03\
7560    (\tR\x08excludes\x12-\n\x12exclusive_packages\x18\x04\x20\x03(\tR\x11exc\
7561    lusivePackages\"\r\n\x0bGooSettings\"\xdf\x01\n\x0eZypperSettings\x12#\n\
7562    \rwith_optional\x18\x01\x20\x01(\x08R\x0cwithOptional\x12\x1f\n\x0bwith_\
7563    update\x18\x02\x20\x01(\x08R\nwithUpdate\x12\x1e\n\ncategories\x18\x03\
7564    \x20\x03(\tR\ncategories\x12\x1e\n\nseverities\x18\x04\x20\x03(\tR\nseve\
7565    rities\x12\x1a\n\x08excludes\x18\x05\x20\x03(\tR\x08excludes\x12+\n\x11e\
7566    xclusive_patches\x18\x06\x20\x03(\tR\x10exclusivePatches\"\x82\x03\n\x15\
7567    WindowsUpdateSettings\x12h\n\x0fclassifications\x18\x01\x20\x03(\x0e2>.g\
7568    oogle.cloud.osconfig.v1.WindowsUpdateSettings.ClassificationR\x0fclassif\
7569    ications\x12\x1a\n\x08excludes\x18\x02\x20\x03(\tR\x08excludes\x12+\n\
7570    \x11exclusive_patches\x18\x03\x20\x03(\tR\x10exclusivePatches\"\xb5\x01\
7571    \n\x0eClassification\x12\x1e\n\x1aCLASSIFICATION_UNSPECIFIED\x10\0\x12\
7572    \x0c\n\x08CRITICAL\x10\x01\x12\x0c\n\x08SECURITY\x10\x02\x12\x0e\n\nDEFI\
7573    NITION\x10\x03\x12\n\n\x06DRIVER\x10\x04\x12\x10\n\x0cFEATURE_PACK\x10\
7574    \x05\x12\x10\n\x0cSERVICE_PACK\x10\x06\x12\x08\n\x04TOOL\x10\x07\x12\x11\
7575    \n\rUPDATE_ROLLUP\x10\x08\x12\n\n\x06UPDATE\x10\t\"\xcc\x01\n\x08ExecSte\
7576    p\x12]\n\x16linux_exec_step_config\x18\x01\x20\x01(\x0b2(.google.cloud.o\
7577    sconfig.v1.ExecStepConfigR\x13linuxExecStepConfig\x12a\n\x18windows_exec\
7578    _step_config\x18\x02\x20\x01(\x0b2(.google.cloud.osconfig.v1.ExecStepCon\
7579    figR\x15windowsExecStepConfig\"\xd8\x02\n\x0eExecStepConfig\x12\x1f\n\nl\
7580    ocal_path\x18\x01\x20\x01(\tH\0R\tlocalPath\x12D\n\ngcs_object\x18\x02\
7581    \x20\x01(\x0b2#.google.cloud.osconfig.v1.GcsObjectH\0R\tgcsObject\x122\n\
7582    \x15allowed_success_codes\x18\x03\x20\x03(\x05R\x13allowedSuccessCodes\
7583    \x12V\n\x0binterpreter\x18\x04\x20\x01(\x0e24.google.cloud.osconfig.v1.E\
7584    xecStepConfig.InterpreterR\x0binterpreter\"E\n\x0bInterpreter\x12\x1b\n\
7585    \x17INTERPRETER_UNSPECIFIED\x10\0\x12\t\n\x05SHELL\x10\x01\x12\x0e\n\nPO\
7586    WERSHELL\x10\x02B\x0c\n\nexecutable\"w\n\tGcsObject\x12\x1b\n\x06bucket\
7587    \x18\x01\x20\x01(\tR\x06bucketB\x03\xe0A\x02\x12\x1b\n\x06object\x18\x02\
7588    \x20\x01(\tR\x06objectB\x03\xe0A\x02\x120\n\x11generation_number\x18\x03\
7589    \x20\x01(\x03R\x10generationNumberB\x03\xe0A\x02\"\x96\x03\n\x13PatchIns\
7590    tanceFilter\x12\x10\n\x03all\x18\x01\x20\x01(\x08R\x03all\x12[\n\x0cgrou\
7591    p_labels\x18\x02\x20\x03(\x0b28.google.cloud.osconfig.v1.PatchInstanceFi\
7592    lter.GroupLabelR\x0bgroupLabels\x12\x14\n\x05zones\x18\x03\x20\x03(\tR\
7593    \x05zones\x12\x1c\n\tinstances\x18\x04\x20\x03(\tR\tinstances\x124\n\x16\
7594    instance_name_prefixes\x18\x05\x20\x03(\tR\x14instanceNamePrefixes\x1a\
7595    \xa5\x01\n\nGroupLabel\x12\\\n\x06labels\x18\x01\x20\x03(\x0b2D.google.c\
7596    loud.osconfig.v1.PatchInstanceFilter.GroupLabel.LabelsEntryR\x06labels\
7597    \x1a9\n\x0bLabelsEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12\
7598    \x14\n\x05value\x18\x02\x20\x01(\tR\x05value:\x028\x01\"\xec\x01\n\x0cPa\
7599    tchRollout\x12?\n\x04mode\x18\x01\x20\x01(\x0e2+.google.cloud.osconfig.v\
7600    1.PatchRollout.ModeR\x04mode\x12U\n\x11disruption_budget\x18\x02\x20\x01\
7601    (\x0b2(.google.cloud.osconfig.v1.FixedOrPercentR\x10disruptionBudget\"D\
7602    \n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\0\x12\x10\n\x0cZONE_BY_ZONE\
7603    \x10\x01\x12\x14\n\x10CONCURRENT_ZONES\x10\x02B\xb7\x01\n\x1ccom.google.\
7604    cloud.osconfig.v1B\tPatchJobsZ8cloud.google.com/go/osconfig/apiv1/osconf\
7605    igpb;osconfigpb\xaa\x02\x18Google.Cloud.OsConfig.V1\xca\x02\x18Google\\C\
7606    loud\\OsConfig\\V1\xea\x02\x1bGoogle::Cloud::OsConfig::V1J\xbe\xd8\x01\n\
7607    \x07\x12\x05\x0e\0\xe5\x05\x01\n\xbc\x04\n\x01\x0c\x12\x03\x0e\0\x122\
7608    \xb1\x04\x20Copyright\x202020\x20Google\x20LLC\n\n\x20Licensed\x20under\
7609    \x20the\x20Apache\x20License,\x20Version\x202.0\x20(the\x20\"License\");\
7610    \n\x20you\x20may\x20not\x20use\x20this\x20file\x20except\x20in\x20compli\
7611    ance\x20with\x20the\x20License.\n\x20You\x20may\x20obtain\x20a\x20copy\
7612    \x20of\x20the\x20License\x20at\n\n\x20\x20\x20\x20\x20http://www.apache.\
7613    org/licenses/LICENSE-2.0\n\n\x20Unless\x20required\x20by\x20applicable\
7614    \x20law\x20or\x20agreed\x20to\x20in\x20writing,\x20software\n\x20distrib\
7615    uted\x20under\x20the\x20License\x20is\x20distributed\x20on\x20an\x20\"AS\
7616    \x20IS\"\x20BASIS,\n\x20WITHOUT\x20WARRANTIES\x20OR\x20CONDITIONS\x20OF\
7617    \x20ANY\x20KIND,\x20either\x20express\x20or\x20implied.\n\x20See\x20the\
7618    \x20License\x20for\x20the\x20specific\x20language\x20governing\x20permis\
7619    sions\x20and\n\x20limitations\x20under\x20the\x20License.\n\n\x08\n\x01\
7620    \x02\x12\x03\x10\0!\n\t\n\x02\x03\0\x12\x03\x12\0)\n\t\n\x02\x03\x01\x12\
7621    \x03\x13\0#\n\t\n\x02\x03\x02\x12\x03\x14\08\n\t\n\x02\x03\x03\x12\x03\
7622    \x15\0(\n\t\n\x02\x03\x04\x12\x03\x16\0)\n\x08\n\x01\x08\x12\x03\x18\05\
7623    \n\t\n\x02\x08%\x12\x03\x18\05\n\x08\n\x01\x08\x12\x03\x19\0O\n\t\n\x02\
7624    \x08\x0b\x12\x03\x19\0O\n\x08\n\x01\x08\x12\x03\x1a\0*\n\t\n\x02\x08\x08\
7625    \x12\x03\x1a\0*\n\x08\n\x01\x08\x12\x03\x1b\05\n\t\n\x02\x08\x01\x12\x03\
7626    \x1b\05\n\x08\n\x01\x08\x12\x03\x1c\05\n\t\n\x02\x08)\x12\x03\x1c\05\n\
7627    \x08\n\x01\x08\x12\x03\x1d\04\n\t\n\x02\x08-\x12\x03\x1d\04\nV\n\x02\x04\
7628    \0\x12\x04!\0D\x01\x1aJ\x20A\x20request\x20message\x20to\x20initiate\x20\
7629    patching\x20across\x20Compute\x20Engine\n\x20instances.\n\n\n\n\x03\x04\
7630    \0\x01\x12\x03!\x08\x1e\nY\n\x04\x04\0\x02\0\x12\x04#\x02(\x04\x1aK\x20R\
7631    equired.\x20The\x20project\x20in\x20which\x20to\x20run\x20this\x20patch\
7632    \x20in\x20the\x20form\x20`projects/*`\n\n\x0c\n\x05\x04\0\x02\0\x05\x12\
7633    \x03#\x02\x08\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03#\t\x0f\n\x0c\n\x05\x04\
7634    \0\x02\0\x03\x12\x03#\x12\x13\n\r\n\x05\x04\0\x02\0\x08\x12\x04#\x14(\
7635    \x03\n\x0f\n\x08\x04\0\x02\0\x08\x9c\x08\0\x12\x03$\x04*\n\x0f\n\x07\x04\
7636    \0\x02\0\x08\x9f\x08\x12\x04%\x04'\x05\nf\n\x04\x04\0\x02\x01\x12\x03,\
7637    \x02\x19\x1aY\x20Description\x20of\x20the\x20patch\x20job.\x20Length\x20\
7638    of\x20the\x20description\x20is\x20limited\n\x20to\x201024\x20characters.\
7639    \n\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03,\x02\x08\n\x0c\n\x05\x04\0\x02\
7640    \x01\x01\x12\x03,\t\x14\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03,\x17\x18\n\
7641    u\n\x04\x04\0\x02\x02\x12\x040\x021/\x1ag\x20Required.\x20Instances\x20t\
7642    o\x20patch,\x20either\x20explicitly\x20or\x20filtered\x20by\x20some\n\
7643    \x20criteria\x20such\x20as\x20zone\x20or\x20labels.\n\n\x0c\n\x05\x04\0\
7644    \x02\x02\x06\x12\x030\x02\x15\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x030\x16\
7645    %\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x030()\n\x0c\n\x05\x04\0\x02\x02\x08\
7646    \x12\x031\x06.\n\x0f\n\x08\x04\0\x02\x02\x08\x9c\x08\0\x12\x031\x07-\nv\
7647    \n\x04\x04\0\x02\x03\x12\x035\x02\x1f\x1ai\x20Patch\x20configuration\x20\
7648    being\x20applied.\x20If\x20omitted,\x20instances\x20are\n\x20patched\x20\
7649    using\x20the\x20default\x20configurations.\n\n\x0c\n\x05\x04\0\x02\x03\
7650    \x06\x12\x035\x02\r\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x035\x0e\x1a\n\x0c\
7651    \n\x05\x04\0\x02\x03\x03\x12\x035\x1d\x1e\n\\\n\x04\x04\0\x02\x04\x12\
7652    \x039\x02(\x1aO\x20Duration\x20of\x20the\x20patch\x20job.\x20After\x20th\
7653    e\x20duration\x20ends,\x20the\x20patch\x20job\n\x20times\x20out.\n\n\x0c\
7654    \n\x05\x04\0\x02\x04\x06\x12\x039\x02\x1a\n\x0c\n\x05\x04\0\x02\x04\x01\
7655    \x12\x039\x1b#\n\x0c\n\x05\x04\0\x02\x04\x03\x12\x039&'\n]\n\x04\x04\0\
7656    \x02\x05\x12\x03=\x02\x13\x1aP\x20If\x20this\x20patch\x20is\x20a\x20dry-\
7657    run\x20only,\x20instances\x20are\x20contacted\x20but\n\x20will\x20do\x20\
7658    nothing.\n\n\x0c\n\x05\x04\0\x02\x05\x05\x12\x03=\x02\x06\n\x0c\n\x05\
7659    \x04\0\x02\x05\x01\x12\x03=\x07\x0e\n\x0c\n\x05\x04\0\x02\x05\x03\x12\
7660    \x03=\x11\x12\nP\n\x04\x04\0\x02\x06\x12\x03@\x02\x1a\x1aC\x20Display\
7661    \x20name\x20for\x20this\x20patch\x20job.\x20This\x20does\x20not\x20have\
7662    \x20to\x20be\x20unique.\n\n\x0c\n\x05\x04\0\x02\x06\x05\x12\x03@\x02\x08\
7663    \n\x0c\n\x05\x04\0\x02\x06\x01\x12\x03@\t\x15\n\x0c\n\x05\x04\0\x02\x06\
7664    \x03\x12\x03@\x18\x19\n1\n\x04\x04\0\x02\x07\x12\x03C\x02\x1b\x1a$\x20Ro\
7665    llout\x20strategy\x20of\x20the\x20patch\x20job.\n\n\x0c\n\x05\x04\0\x02\
7666    \x07\x06\x12\x03C\x02\x0e\n\x0c\n\x05\x04\0\x02\x07\x01\x12\x03C\x0f\x16\
7667    \n\x0c\n\x05\x04\0\x02\x07\x03\x12\x03C\x19\x1a\n>\n\x02\x04\x01\x12\x04\
7668    G\0O\x01\x1a2\x20Request\x20to\x20get\x20an\x20active\x20or\x20completed\
7669    \x20patch\x20job.\n\n\n\n\x03\x04\x01\x01\x12\x03G\x08\x1a\nP\n\x04\x04\
7670    \x01\x02\0\x12\x04I\x02N\x04\x1aB\x20Required.\x20Name\x20of\x20the\x20p\
7671    atch\x20in\x20the\x20form\x20`projects/*/patchJobs/*`\n\n\x0c\n\x05\x04\
7672    \x01\x02\0\x05\x12\x03I\x02\x08\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03I\t\
7673    \r\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03I\x10\x11\n\r\n\x05\x04\x01\x02\
7674    \0\x08\x12\x04I\x12N\x03\n\x0f\n\x08\x04\x01\x02\0\x08\x9c\x08\0\x12\x03\
7675    J\x04*\n\x0f\n\x07\x04\x01\x02\0\x08\x9f\x08\x12\x04K\x04M\x05\nU\n\x02\
7676    \x04\x02\x12\x04R\0g\x01\x1aI\x20Request\x20to\x20list\x20details\x20for\
7677    \x20all\x20instances\x20that\x20are\x20part\x20of\x20a\x20patch\x20job.\
7678    \n\n\n\n\x03\x04\x02\x01\x12\x03R\x08*\nd\n\x04\x04\x02\x02\0\x12\x04U\
7679    \x02Z\x04\x1aV\x20Required.\x20The\x20parent\x20for\x20the\x20instances\
7680    \x20are\x20in\x20the\x20form\x20of\n\x20`projects/*/patchJobs/*`.\n\n\
7681    \x0c\n\x05\x04\x02\x02\0\x05\x12\x03U\x02\x08\n\x0c\n\x05\x04\x02\x02\0\
7682    \x01\x12\x03U\t\x0f\n\x0c\n\x05\x04\x02\x02\0\x03\x12\x03U\x12\x13\n\r\n\
7683    \x05\x04\x02\x02\0\x08\x12\x04U\x14Z\x03\n\x0f\n\x08\x04\x02\x02\0\x08\
7684    \x9c\x08\0\x12\x03V\x04*\n\x0f\n\x07\x04\x02\x02\0\x08\x9f\x08\x12\x04W\
7685    \x04Y\x05\nY\n\x04\x04\x02\x02\x01\x12\x03]\x02\x16\x1aL\x20The\x20maxim\
7686    um\x20number\x20of\x20instance\x20details\x20records\x20to\x20return.\
7687    \x20\x20Default\x20is\x20100.\n\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03]\
7688    \x02\x07\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x03]\x08\x11\n\x0c\n\x05\
7689    \x04\x02\x02\x01\x03\x12\x03]\x14\x15\nx\n\x04\x04\x02\x02\x02\x12\x03a\
7690    \x02\x18\x1ak\x20A\x20pagination\x20token\x20returned\x20from\x20a\x20pr\
7691    evious\x20call\n\x20that\x20indicates\x20where\x20this\x20listing\x20sho\
7692    uld\x20continue\x20from.\n\n\x0c\n\x05\x04\x02\x02\x02\x05\x12\x03a\x02\
7693    \x08\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03a\t\x13\n\x0c\n\x05\x04\x02\
7694    \x02\x02\x03\x12\x03a\x16\x17\n\xac\x01\n\x04\x04\x02\x02\x03\x12\x03f\
7695    \x02\x14\x1a\x9e\x01\x20A\x20filter\x20expression\x20that\x20filters\x20\
7696    results\x20listed\x20in\x20the\x20response.\x20This\n\x20field\x20suppor\
7697    ts\x20filtering\x20results\x20by\x20instance\x20zone,\x20name,\x20state,\
7698    \x20or\n\x20`failure_reason`.\n\n\x0c\n\x05\x04\x02\x02\x03\x05\x12\x03f\
7699    \x02\x08\n\x0c\n\x05\x04\x02\x02\x03\x01\x12\x03f\t\x0f\n\x0c\n\x05\x04\
7700    \x02\x02\x03\x03\x12\x03f\x12\x13\nS\n\x02\x04\x03\x12\x04j\0p\x01\x1aG\
7701    \x20A\x20response\x20message\x20for\x20listing\x20the\x20instances\x20de\
7702    tails\x20for\x20a\x20patch\x20job.\n\n\n\n\x03\x04\x03\x01\x12\x03j\x08+\
7703    \n)\n\x04\x04\x03\x02\0\x12\x03l\x02B\x1a\x1c\x20A\x20list\x20of\x20inst\
7704    ance\x20status.\n\n\x0c\n\x05\x04\x03\x02\0\x04\x12\x03l\x02\n\n\x0c\n\
7705    \x05\x04\x03\x02\0\x06\x12\x03l\x0b\"\n\x0c\n\x05\x04\x03\x02\0\x01\x12\
7706    \x03l#=\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03l@A\nS\n\x04\x04\x03\x02\
7707    \x01\x12\x03o\x02\x1d\x1aF\x20A\x20pagination\x20token\x20that\x20can\
7708    \x20be\x20used\x20to\x20get\x20the\x20next\x20page\x20of\x20results.\n\n\
7709    \x0c\n\x05\x04\x03\x02\x01\x05\x12\x03o\x02\x08\n\x0c\n\x05\x04\x03\x02\
7710    \x01\x01\x12\x03o\t\x18\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03o\x1b\x1c\
7711    \n\x90\x02\n\x02\x04\x04\x12\x05v\0\x88\x01\x01\x1a\x82\x02\x20Patch\x20\
7712    details\x20for\x20a\x20VM\x20instance.\x20For\x20more\x20information\x20\
7713    about\x20reviewing\x20VM\n\x20instance\x20details,\x20see\n\x20[Listing\
7714    \x20all\x20VM\x20instance\x20details\x20for\x20a\x20specific\x20patch\n\
7715    \x20job](https://cloud.google.com/compute/docs/os-patch-management/manag\
7716    e-patch-jobs#list-instance-details).\n\n\n\n\x03\x04\x04\x01\x12\x03v\
7717    \x08\x1f\nN\n\x04\x04\x04\x02\0\x12\x04x\x02z\x05\x1a@\x20The\x20instanc\
7718    e\x20name\x20in\x20the\x20form\x20`projects/*/zones/*/instances/*`\n\n\
7719    \x0c\n\x05\x04\x04\x02\0\x05\x12\x03x\x02\x08\n\x0c\n\x05\x04\x04\x02\0\
7720    \x01\x12\x03x\t\r\n\x0c\n\x05\x04\x04\x02\0\x03\x12\x03x\x10\x11\n\r\n\
7721    \x05\x04\x04\x02\0\x08\x12\x04x\x12z\x04\n\x0f\n\x07\x04\x04\x02\0\x08\
7722    \x9f\x08\x12\x04x\x13z\x03\na\n\x04\x04\x04\x02\x01\x12\x03~\x02\x20\x1a\
7723    T\x20The\x20unique\x20identifier\x20for\x20the\x20instance.\x20This\x20i\
7724    dentifier\x20is\n\x20defined\x20by\x20the\x20server.\n\n\x0c\n\x05\x04\
7725    \x04\x02\x01\x05\x12\x03~\x02\x08\n\x0c\n\x05\x04\x04\x02\x01\x01\x12\
7726    \x03~\t\x1b\n\x0c\n\x05\x04\x04\x02\x01\x03\x12\x03~\x1e\x1f\n0\n\x04\
7727    \x04\x04\x02\x02\x12\x04\x81\x01\x02\x20\x1a\"\x20Current\x20state\x20of\
7728    \x20instance\x20patch.\n\n\r\n\x05\x04\x04\x02\x02\x06\x12\x04\x81\x01\
7729    \x02\x15\n\r\n\x05\x04\x04\x02\x02\x01\x12\x04\x81\x01\x16\x1b\n\r\n\x05\
7730    \x04\x04\x02\x02\x03\x12\x04\x81\x01\x1e\x1f\nC\n\x04\x04\x04\x02\x03\
7731    \x12\x04\x84\x01\x02\x1c\x1a5\x20If\x20the\x20patch\x20fails,\x20this\
7732    \x20field\x20provides\x20the\x20reason.\n\n\r\n\x05\x04\x04\x02\x03\x05\
7733    \x12\x04\x84\x01\x02\x08\n\r\n\x05\x04\x04\x02\x03\x01\x12\x04\x84\x01\t\
7734    \x17\n\r\n\x05\x04\x04\x02\x03\x03\x12\x04\x84\x01\x1a\x1b\nY\n\x04\x04\
7735    \x04\x02\x04\x12\x04\x87\x01\x02\x1a\x1aK\x20The\x20number\x20of\x20time\
7736    s\x20the\x20agent\x20that\x20the\x20agent\x20attempts\x20to\x20apply\x20\
7737    the\x20patch.\n\n\r\n\x05\x04\x04\x02\x04\x05\x12\x04\x87\x01\x02\x07\n\
7738    \r\n\x05\x04\x04\x02\x04\x01\x12\x04\x87\x01\x08\x15\n\r\n\x05\x04\x04\
7739    \x02\x04\x03\x12\x04\x87\x01\x18\x19\n9\n\x02\x04\x05\x12\x06\x8b\x01\0\
7740    \x9f\x01\x01\x1a+\x20A\x20request\x20message\x20for\x20listing\x20patch\
7741    \x20jobs.\n\n\x0b\n\x03\x04\x05\x01\x12\x04\x8b\x01\x08\x1c\n7\n\x04\x04\
7742    \x05\x02\0\x12\x06\x8d\x01\x02\x92\x01\x04\x1a'\x20Required.\x20In\x20th\
7743    e\x20form\x20of\x20`projects/*`\n\n\r\n\x05\x04\x05\x02\0\x05\x12\x04\
7744    \x8d\x01\x02\x08\n\r\n\x05\x04\x05\x02\0\x01\x12\x04\x8d\x01\t\x0f\n\r\n\
7745    \x05\x04\x05\x02\0\x03\x12\x04\x8d\x01\x12\x13\n\x0f\n\x05\x04\x05\x02\0\
7746    \x08\x12\x06\x8d\x01\x14\x92\x01\x03\n\x10\n\x08\x04\x05\x02\0\x08\x9c\
7747    \x08\0\x12\x04\x8e\x01\x04*\n\x11\n\x07\x04\x05\x02\0\x08\x9f\x08\x12\
7748    \x06\x8f\x01\x04\x91\x01\x05\n@\n\x04\x04\x05\x02\x01\x12\x04\x95\x01\
7749    \x02\x16\x1a2\x20The\x20maximum\x20number\x20of\x20instance\x20status\
7750    \x20to\x20return.\n\n\r\n\x05\x04\x05\x02\x01\x05\x12\x04\x95\x01\x02\
7751    \x07\n\r\n\x05\x04\x05\x02\x01\x01\x12\x04\x95\x01\x08\x11\n\r\n\x05\x04\
7752    \x05\x02\x01\x03\x12\x04\x95\x01\x14\x15\ny\n\x04\x04\x05\x02\x02\x12\
7753    \x04\x99\x01\x02\x18\x1ak\x20A\x20pagination\x20token\x20returned\x20fro\
7754    m\x20a\x20previous\x20call\n\x20that\x20indicates\x20where\x20this\x20li\
7755    sting\x20should\x20continue\x20from.\n\n\r\n\x05\x04\x05\x02\x02\x05\x12\
7756    \x04\x99\x01\x02\x08\n\r\n\x05\x04\x05\x02\x02\x01\x12\x04\x99\x01\t\x13\
7757    \n\r\n\x05\x04\x05\x02\x02\x03\x12\x04\x99\x01\x16\x17\n\xc6\x01\n\x04\
7758    \x04\x05\x02\x03\x12\x04\x9e\x01\x02\x14\x1a\xb7\x01\x20If\x20provided,\
7759    \x20this\x20field\x20specifies\x20the\x20criteria\x20that\x20must\x20be\
7760    \x20met\x20by\x20patch\n\x20jobs\x20to\x20be\x20included\x20in\x20the\
7761    \x20response.\n\x20Currently,\x20filtering\x20is\x20only\x20available\
7762    \x20on\x20the\x20patch_deployment\x20field.\n\n\r\n\x05\x04\x05\x02\x03\
7763    \x05\x12\x04\x9e\x01\x02\x08\n\r\n\x05\x04\x05\x02\x03\x01\x12\x04\x9e\
7764    \x01\t\x0f\n\r\n\x05\x04\x05\x02\x03\x03\x12\x04\x9e\x01\x12\x13\n:\n\
7765    \x02\x04\x06\x12\x06\xa2\x01\0\xa8\x01\x01\x1a,\x20A\x20response\x20mess\
7766    age\x20for\x20listing\x20patch\x20jobs.\n\n\x0b\n\x03\x04\x06\x01\x12\
7767    \x04\xa2\x01\x08\x1d\n'\n\x04\x04\x06\x02\0\x12\x04\xa4\x01\x02#\x1a\x19\
7768    \x20The\x20list\x20of\x20patch\x20jobs.\n\n\r\n\x05\x04\x06\x02\0\x04\
7769    \x12\x04\xa4\x01\x02\n\n\r\n\x05\x04\x06\x02\0\x06\x12\x04\xa4\x01\x0b\
7770    \x13\n\r\n\x05\x04\x06\x02\0\x01\x12\x04\xa4\x01\x14\x1e\n\r\n\x05\x04\
7771    \x06\x02\0\x03\x12\x04\xa4\x01!\"\nT\n\x04\x04\x06\x02\x01\x12\x04\xa7\
7772    \x01\x02\x1d\x1aF\x20A\x20pagination\x20token\x20that\x20can\x20be\x20us\
7773    ed\x20to\x20get\x20the\x20next\x20page\x20of\x20results.\n\n\r\n\x05\x04\
7774    \x06\x02\x01\x05\x12\x04\xa7\x01\x02\x08\n\r\n\x05\x04\x06\x02\x01\x01\
7775    \x12\x04\xa7\x01\t\x18\n\r\n\x05\x04\x06\x02\x01\x03\x12\x04\xa7\x01\x1b\
7776    \x1c\n\xf3\x02\n\x02\x04\x07\x12\x06\xb3\x01\0\xc1\x02\x01\x1a\xe4\x02\
7777    \x20A\x20high\x20level\x20representation\x20of\x20a\x20patch\x20job\x20t\
7778    hat\x20is\x20either\x20in\x20progress\n\x20or\x20has\x20completed.\n\n\
7779    \x20Instance\x20details\x20are\x20not\x20included\x20in\x20the\x20job.\
7780    \x20To\x20paginate\x20through\x20instance\n\x20details,\x20use\x20ListPa\
7781    tchJobInstanceDetails.\n\n\x20For\x20more\x20information\x20about\x20pat\
7782    ch\x20jobs,\x20see\n\x20[Creating\x20patch\n\x20jobs](https://cloud.goog\
7783    le.com/compute/docs/os-patch-management/create-patch-job).\n\n\x0b\n\x03\
7784    \x04\x07\x01\x12\x04\xb3\x01\x08\x10\n\r\n\x03\x04\x07\x07\x12\x06\xb4\
7785    \x01\x02\xb7\x01\x04\n\x0f\n\x05\x04\x07\x07\x9d\x08\x12\x06\xb4\x01\x02\
7786    \xb7\x01\x04\n_\n\x04\x04\x07\x04\0\x12\x06\xbb\x01\x02\xd3\x01\x03\x1aO\
7787    \x20Enumeration\x20of\x20the\x20various\x20states\x20a\x20patch\x20job\
7788    \x20passes\x20through\x20as\x20it\n\x20executes.\n\n\r\n\x05\x04\x07\x04\
7789    \0\x01\x12\x04\xbb\x01\x07\x0c\n*\n\x06\x04\x07\x04\0\x02\0\x12\x04\xbd\
7790    \x01\x04\x1a\x1a\x1a\x20State\x20must\x20be\x20specified.\n\n\x0f\n\x07\
7791    \x04\x07\x04\0\x02\0\x01\x12\x04\xbd\x01\x04\x15\n\x0f\n\x07\x04\x07\x04\
7792    \0\x02\0\x02\x12\x04\xbd\x01\x18\x19\n;\n\x06\x04\x07\x04\0\x02\x01\x12\
7793    \x04\xc0\x01\x04\x10\x1a+\x20The\x20patch\x20job\x20was\x20successfully\
7794    \x20initiated.\n\n\x0f\n\x07\x04\x07\x04\0\x02\x01\x01\x12\x04\xc0\x01\
7795    \x04\x0b\n\x0f\n\x07\x04\x07\x04\0\x02\x01\x02\x12\x04\xc0\x01\x0e\x0f\n\
7796    L\n\x06\x04\x07\x04\0\x02\x02\x12\x04\xc3\x01\x04\x18\x1a<\x20The\x20pat\
7797    ch\x20job\x20is\x20looking\x20up\x20instances\x20to\x20run\x20the\x20pat\
7798    ch\x20on.\n\n\x0f\n\x07\x04\x07\x04\0\x02\x02\x01\x12\x04\xc3\x01\x04\
7799    \x13\n\x0f\n\x07\x04\x07\x04\0\x02\x02\x02\x12\x04\xc3\x01\x16\x17\n.\n\
7800    \x06\x04\x07\x04\0\x02\x03\x12\x04\xc6\x01\x04\x11\x1a\x1e\x20Instances\
7801    \x20are\x20being\x20patched.\n\n\x0f\n\x07\x04\x07\x04\0\x02\x03\x01\x12\
7802    \x04\xc6\x01\x04\x0c\n\x0f\n\x07\x04\x07\x04\0\x02\x03\x02\x12\x04\xc6\
7803    \x01\x0f\x10\n3\n\x06\x04\x07\x04\0\x02\x04\x12\x04\xc9\x01\x04\x12\x1a#\
7804    \x20Patch\x20job\x20completed\x20successfully.\n\n\x0f\n\x07\x04\x07\x04\
7805    \0\x02\x04\x01\x12\x04\xc9\x01\x04\r\n\x0f\n\x07\x04\x07\x04\0\x02\x04\
7806    \x02\x12\x04\xc9\x01\x10\x11\n<\n\x06\x04\x07\x04\0\x02\x05\x12\x04\xcc\
7807    \x01\x04\x1e\x1a,\x20Patch\x20job\x20completed\x20but\x20there\x20were\
7808    \x20errors.\n\n\x0f\n\x07\x04\x07\x04\0\x02\x05\x01\x12\x04\xcc\x01\x04\
7809    \x19\n\x0f\n\x07\x04\x07\x04\0\x02\x05\x02\x12\x04\xcc\x01\x1c\x1d\n-\n\
7810    \x06\x04\x07\x04\0\x02\x06\x12\x04\xcf\x01\x04\x11\x1a\x1d\x20The\x20pat\
7811    ch\x20job\x20was\x20canceled.\n\n\x0f\n\x07\x04\x07\x04\0\x02\x06\x01\
7812    \x12\x04\xcf\x01\x04\x0c\n\x0f\n\x07\x04\x07\x04\0\x02\x06\x02\x12\x04\
7813    \xcf\x01\x0f\x10\n*\n\x06\x04\x07\x04\0\x02\x07\x12\x04\xd2\x01\x04\x12\
7814    \x1a\x1a\x20The\x20patch\x20job\x20timed\x20out.\n\n\x0f\n\x07\x04\x07\
7815    \x04\0\x02\x07\x01\x12\x04\xd2\x01\x04\r\n\x0f\n\x07\x04\x07\x04\0\x02\
7816    \x07\x02\x12\x04\xd2\x01\x10\x11\n\x95\x02\n\x04\x04\x07\x03\0\x12\x06\
7817    \xd9\x01\x02\x88\x02\x03\x1a\x84\x02\x20A\x20summary\x20of\x20the\x20cur\
7818    rent\x20patch\x20state\x20across\x20all\x20instances\x20that\x20this\x20\
7819    patch\n\x20job\x20affects.\x20Contains\x20counts\x20of\x20instances\x20i\
7820    n\x20different\x20states.\x20These\x20states\n\x20map\x20to\x20`Instance\
7821    PatchState`.\x20List\x20patch\x20job\x20instance\x20details\x20to\x20see\
7822    \x20the\n\x20specific\x20states\x20of\x20each\x20instance.\n\n\r\n\x05\
7823    \x04\x07\x03\0\x01\x12\x04\xd9\x01\n\x20\n8\n\x06\x04\x07\x03\0\x02\0\
7824    \x12\x04\xdb\x01\x04%\x1a(\x20Number\x20of\x20instances\x20pending\x20pa\
7825    tch\x20job.\n\n\x0f\n\x07\x04\x07\x03\0\x02\0\x05\x12\x04\xdb\x01\x04\t\
7826    \n\x0f\n\x07\x04\x07\x03\0\x02\0\x01\x12\x04\xdb\x01\n\x20\n\x0f\n\x07\
7827    \x04\x07\x03\0\x02\0\x03\x12\x04\xdb\x01#$\n8\n\x06\x04\x07\x03\0\x02\
7828    \x01\x12\x04\xde\x01\x04&\x1a(\x20Number\x20of\x20instances\x20that\x20a\
7829    re\x20inactive.\n\n\x0f\n\x07\x04\x07\x03\0\x02\x01\x05\x12\x04\xde\x01\
7830    \x04\t\n\x0f\n\x07\x04\x07\x03\0\x02\x01\x01\x12\x04\xde\x01\n!\n\x0f\n\
7831    \x07\x04\x07\x03\0\x02\x01\x03\x12\x04\xde\x01$%\n?\n\x06\x04\x07\x03\0\
7832    \x02\x02\x12\x04\xe1\x01\x04&\x1a/\x20Number\x20of\x20instances\x20notif\
7833    ied\x20about\x20patch\x20job.\n\n\x0f\n\x07\x04\x07\x03\0\x02\x02\x05\
7834    \x12\x04\xe1\x01\x04\t\n\x0f\n\x07\x04\x07\x03\0\x02\x02\x01\x12\x04\xe1\
7835    \x01\n!\n\x0f\n\x07\x04\x07\x03\0\x02\x02\x03\x12\x04\xe1\x01$%\n8\n\x06\
7836    \x04\x07\x03\0\x02\x03\x12\x04\xe4\x01\x04%\x1a(\x20Number\x20of\x20inst\
7837    ances\x20that\x20have\x20started.\n\n\x0f\n\x07\x04\x07\x03\0\x02\x03\
7838    \x05\x12\x04\xe4\x01\x04\t\n\x0f\n\x07\x04\x07\x03\0\x02\x03\x01\x12\x04\
7839    \xe4\x01\n\x20\n\x0f\n\x07\x04\x07\x03\0\x02\x03\x03\x12\x04\xe4\x01#$\n\
7840    C\n\x06\x04\x07\x03\0\x02\x04\x12\x04\xe7\x01\x041\x1a3\x20Number\x20of\
7841    \x20instances\x20that\x20are\x20downloading\x20patches.\n\n\x0f\n\x07\
7842    \x04\x07\x03\0\x02\x04\x05\x12\x04\xe7\x01\x04\t\n\x0f\n\x07\x04\x07\x03\
7843    \0\x02\x04\x01\x12\x04\xe7\x01\n,\n\x0f\n\x07\x04\x07\x03\0\x02\x04\x03\
7844    \x12\x04\xe7\x01/0\n@\n\x06\x04\x07\x03\0\x02\x05\x12\x04\xea\x01\x04.\
7845    \x1a0\x20Number\x20of\x20instances\x20that\x20are\x20applying\x20patches\
7846    .\n\n\x0f\n\x07\x04\x07\x03\0\x02\x05\x05\x12\x04\xea\x01\x04\t\n\x0f\n\
7847    \x07\x04\x07\x03\0\x02\x05\x01\x12\x04\xea\x01\n)\n\x0f\n\x07\x04\x07\
7848    \x03\0\x02\x05\x03\x12\x04\xea\x01,-\n0\n\x06\x04\x07\x03\0\x02\x06\x12\
7849    \x04\xed\x01\x04'\x1a\x20\x20Number\x20of\x20instances\x20rebooting.\n\n\
7850    \x0f\n\x07\x04\x07\x03\0\x02\x06\x05\x12\x04\xed\x01\x04\t\n\x0f\n\x07\
7851    \x04\x07\x03\0\x02\x06\x01\x12\x04\xed\x01\n\"\n\x0f\n\x07\x04\x07\x03\0\
7852    \x02\x06\x03\x12\x04\xed\x01%&\nG\n\x06\x04\x07\x03\0\x02\x07\x12\x04\
7853    \xf0\x01\x04'\x1a7\x20Number\x20of\x20instances\x20that\x20have\x20compl\
7854    eted\x20successfully.\n\n\x0f\n\x07\x04\x07\x03\0\x02\x07\x05\x12\x04\
7855    \xf0\x01\x04\t\n\x0f\n\x07\x04\x07\x03\0\x02\x07\x01\x12\x04\xf0\x01\n\"\
7856    \n\x0f\n\x07\x04\x07\x03\0\x02\x07\x03\x12\x04\xf0\x01%&\n:\n\x06\x04\
7857    \x07\x03\0\x02\x08\x12\x04\xf3\x01\x047\x1a*\x20Number\x20of\x20instance\
7858    s\x20that\x20require\x20reboot.\n\n\x0f\n\x07\x04\x07\x03\0\x02\x08\x05\
7859    \x12\x04\xf3\x01\x04\t\n\x0f\n\x07\x04\x07\x03\0\x02\x08\x01\x12\x04\xf3\
7860    \x01\n2\n\x0f\n\x07\x04\x07\x03\0\x02\x08\x03\x12\x04\xf3\x0156\n2\n\x06\
7861    \x04\x07\x03\0\x02\t\x12\x04\xf6\x01\x04%\x1a\"\x20Number\x20of\x20insta\
7862    nces\x20that\x20failed.\n\n\x0f\n\x07\x04\x07\x03\0\x02\t\x05\x12\x04\
7863    \xf6\x01\x04\t\n\x0f\n\x07\x04\x07\x03\0\x02\t\x01\x12\x04\xf6\x01\n\x1f\
7864    \n\x0f\n\x07\x04\x07\x03\0\x02\t\x03\x12\x04\xf6\x01\"$\nM\n\x06\x04\x07\
7865    \x03\0\x02\n\x12\x04\xf9\x01\x04$\x1a=\x20Number\x20of\x20instances\x20t\
7866    hat\x20have\x20acked\x20and\x20will\x20start\x20shortly.\n\n\x0f\n\x07\
7867    \x04\x07\x03\0\x02\n\x05\x12\x04\xf9\x01\x04\t\n\x0f\n\x07\x04\x07\x03\0\
7868    \x02\n\x01\x12\x04\xf9\x01\n\x1e\n\x0f\n\x07\x04\x07\x03\0\x02\n\x03\x12\
7869    \x04\xf9\x01!#\nZ\n\x06\x04\x07\x03\0\x02\x0b\x12\x04\xfc\x01\x04(\x1aJ\
7870    \x20Number\x20of\x20instances\x20that\x20exceeded\x20the\x20time\x20out\
7871    \x20while\x20applying\x20the\x20patch.\n\n\x0f\n\x07\x04\x07\x03\0\x02\
7872    \x0b\x05\x12\x04\xfc\x01\x04\t\n\x0f\n\x07\x04\x07\x03\0\x02\x0b\x01\x12\
7873    \x04\xfc\x01\n\"\n\x0f\n\x07\x04\x07\x03\0\x02\x0b\x03\x12\x04\xfc\x01%'\
7874    \nJ\n\x06\x04\x07\x03\0\x02\x0c\x12\x04\xff\x01\x04-\x1a:\x20Number\x20o\
7875    f\x20instances\x20that\x20are\x20running\x20the\x20pre-patch\x20step.\n\
7876    \n\x0f\n\x07\x04\x07\x03\0\x02\x0c\x05\x12\x04\xff\x01\x04\t\n\x0f\n\x07\
7877    \x04\x07\x03\0\x02\x0c\x01\x12\x04\xff\x01\n'\n\x0f\n\x07\x04\x07\x03\0\
7878    \x02\x0c\x03\x12\x04\xff\x01*,\nK\n\x06\x04\x07\x03\0\x02\r\x12\x04\x82\
7879    \x02\x04.\x1a;\x20Number\x20of\x20instances\x20that\x20are\x20running\
7880    \x20the\x20post-patch\x20step.\n\n\x0f\n\x07\x04\x07\x03\0\x02\r\x05\x12\
7881    \x04\x82\x02\x04\t\n\x0f\n\x07\x04\x07\x03\0\x02\r\x01\x12\x04\x82\x02\n\
7882    (\n\x0f\n\x07\x04\x07\x03\0\x02\r\x03\x12\x04\x82\x02+-\n\xb4\x01\n\x06\
7883    \x04\x07\x03\0\x02\x0e\x12\x04\x87\x02\x040\x1a\xa3\x01\x20Number\x20of\
7884    \x20instances\x20that\x20do\x20not\x20appear\x20to\x20be\x20running\x20t\
7885    he\x20agent.\x20Check\x20to\n\x20ensure\x20that\x20the\x20agent\x20is\
7886    \x20installed,\x20running,\x20and\x20able\x20to\x20communicate\x20with\n\
7887    \x20the\x20service.\n\n\x0f\n\x07\x04\x07\x03\0\x02\x0e\x05\x12\x04\x87\
7888    \x02\x04\t\n\x0f\n\x07\x04\x07\x03\0\x02\x0e\x01\x12\x04\x87\x02\n*\n\
7889    \x0f\n\x07\x04\x07\x03\0\x02\x0e\x03\x12\x04\x87\x02-/\nZ\n\x04\x04\x07\
7890    \x02\0\x12\x04\x8c\x02\x02\x12\x1aL\x20Unique\x20identifier\x20for\x20th\
7891    is\x20patch\x20job\x20in\x20the\x20form\n\x20`projects/*/patchJobs/*`\n\
7892    \n\r\n\x05\x04\x07\x02\0\x05\x12\x04\x8c\x02\x02\x08\n\r\n\x05\x04\x07\
7893    \x02\0\x01\x12\x04\x8c\x02\t\r\n\r\n\x05\x04\x07\x02\0\x03\x12\x04\x8c\
7894    \x02\x10\x11\nQ\n\x04\x04\x07\x02\x01\x12\x04\x8f\x02\x02\x1b\x1aC\x20Di\
7895    splay\x20name\x20for\x20this\x20patch\x20job.\x20This\x20is\x20not\x20a\
7896    \x20unique\x20identifier.\n\n\r\n\x05\x04\x07\x02\x01\x05\x12\x04\x8f\
7897    \x02\x02\x08\n\r\n\x05\x04\x07\x02\x01\x01\x12\x04\x8f\x02\t\x15\n\r\n\
7898    \x05\x04\x07\x02\x01\x03\x12\x04\x8f\x02\x18\x1a\ng\n\x04\x04\x07\x02\
7899    \x02\x12\x04\x93\x02\x02\x19\x1aY\x20Description\x20of\x20the\x20patch\
7900    \x20job.\x20Length\x20of\x20the\x20description\x20is\x20limited\n\x20to\
7901    \x201024\x20characters.\n\n\r\n\x05\x04\x07\x02\x02\x05\x12\x04\x93\x02\
7902    \x02\x08\n\r\n\x05\x04\x07\x02\x02\x01\x12\x04\x93\x02\t\x14\n\r\n\x05\
7903    \x04\x07\x02\x02\x03\x12\x04\x93\x02\x17\x18\n0\n\x04\x04\x07\x02\x03\
7904    \x12\x04\x96\x02\x02,\x1a\"\x20Time\x20this\x20patch\x20job\x20was\x20cr\
7905    eated.\n\n\r\n\x05\x04\x07\x02\x03\x06\x12\x04\x96\x02\x02\x1b\n\r\n\x05\
7906    \x04\x07\x02\x03\x01\x12\x04\x96\x02\x1c'\n\r\n\x05\x04\x07\x02\x03\x03\
7907    \x12\x04\x96\x02*+\n5\n\x04\x04\x07\x02\x04\x12\x04\x99\x02\x02,\x1a'\
7908    \x20Last\x20time\x20this\x20patch\x20job\x20was\x20updated.\n\n\r\n\x05\
7909    \x04\x07\x02\x04\x06\x12\x04\x99\x02\x02\x1b\n\r\n\x05\x04\x07\x02\x04\
7910    \x01\x12\x04\x99\x02\x1c'\n\r\n\x05\x04\x07\x02\x04\x03\x12\x04\x99\x02*\
7911    +\n2\n\x04\x04\x07\x02\x05\x12\x04\x9c\x02\x02\x12\x1a$\x20The\x20curren\
7912    t\x20state\x20of\x20the\x20PatchJob.\n\n\r\n\x05\x04\x07\x02\x05\x06\x12\
7913    \x04\x9c\x02\x02\x07\n\r\n\x05\x04\x07\x02\x05\x01\x12\x04\x9c\x02\x08\r\
7914    \n\r\n\x05\x04\x07\x02\x05\x03\x12\x04\x9c\x02\x10\x11\n#\n\x04\x04\x07\
7915    \x02\x06\x12\x04\x9f\x02\x02+\x1a\x15\x20Instances\x20to\x20patch.\n\n\r\
7916    \n\x05\x04\x07\x02\x06\x06\x12\x04\x9f\x02\x02\x15\n\r\n\x05\x04\x07\x02\
7917    \x06\x01\x12\x04\x9f\x02\x16%\n\r\n\x05\x04\x07\x02\x06\x03\x12\x04\x9f\
7918    \x02(*\n2\n\x04\x04\x07\x02\x07\x12\x04\xa2\x02\x02\x1f\x1a$\x20Patch\
7919    \x20configuration\x20being\x20applied.\n\n\r\n\x05\x04\x07\x02\x07\x06\
7920    \x12\x04\xa2\x02\x02\r\n\r\n\x05\x04\x07\x02\x07\x01\x12\x04\xa2\x02\x0e\
7921    \x1a\n\r\n\x05\x04\x07\x02\x07\x03\x12\x04\xa2\x02\x1d\x1e\n]\n\x04\x04\
7922    \x07\x02\x08\x12\x04\xa6\x02\x02(\x1aO\x20Duration\x20of\x20the\x20patch\
7923    \x20job.\x20After\x20the\x20duration\x20ends,\x20the\n\x20patch\x20job\
7924    \x20times\x20out.\n\n\r\n\x05\x04\x07\x02\x08\x06\x12\x04\xa6\x02\x02\
7925    \x1a\n\r\n\x05\x04\x07\x02\x08\x01\x12\x04\xa6\x02\x1b#\n\r\n\x05\x04\
7926    \x07\x02\x08\x03\x12\x04\xa6\x02&'\n,\n\x04\x04\x07\x02\t\x12\x04\xa9\
7927    \x02\x026\x1a\x1e\x20Summary\x20of\x20instance\x20details.\n\n\r\n\x05\
7928    \x04\x07\x02\t\x06\x12\x04\xa9\x02\x02\x18\n\r\n\x05\x04\x07\x02\t\x01\
7929    \x12\x04\xa9\x02\x191\n\r\n\x05\x04\x07\x02\t\x03\x12\x04\xa9\x0245\n\
7930    \x87\x01\n\x04\x04\x07\x02\n\x12\x04\xad\x02\x02\x14\x1ay\x20If\x20this\
7931    \x20patch\x20job\x20is\x20a\x20dry\x20run,\x20the\x20agent\x20reports\
7932    \x20that\x20it\x20has\n\x20finished\x20without\x20running\x20any\x20upda\
7933    tes\x20on\x20the\x20VM\x20instance.\n\n\r\n\x05\x04\x07\x02\n\x05\x12\
7934    \x04\xad\x02\x02\x06\n\r\n\x05\x04\x07\x02\n\x01\x12\x04\xad\x02\x07\x0e\
7935    \n\r\n\x05\x04\x07\x02\n\x03\x12\x04\xad\x02\x11\x13\n_\n\x04\x04\x07\
7936    \x02\x0b\x12\x04\xb1\x02\x02\x1c\x1aQ\x20If\x20this\x20patch\x20job\x20f\
7937    ailed,\x20this\x20message\x20provides\x20information\x20about\x20the\n\
7938    \x20failure.\n\n\r\n\x05\x04\x07\x02\x0b\x05\x12\x04\xb1\x02\x02\x08\n\r\
7939    \n\x05\x04\x07\x02\x0b\x01\x12\x04\xb1\x02\t\x16\n\r\n\x05\x04\x07\x02\
7940    \x0b\x03\x12\x04\xb1\x02\x19\x1b\n~\n\x04\x04\x07\x02\x0c\x12\x04\xb5\
7941    \x02\x02\x1f\x1ap\x20Reflects\x20the\x20overall\x20progress\x20of\x20the\
7942    \x20patch\x20job\x20in\x20the\x20range\x20of\n\x200.0\x20being\x20no\x20\
7943    progress\x20to\x20100.0\x20being\x20complete.\n\n\r\n\x05\x04\x07\x02\
7944    \x0c\x05\x12\x04\xb5\x02\x02\x08\n\r\n\x05\x04\x07\x02\x0c\x01\x12\x04\
7945    \xb5\x02\t\x19\n\r\n\x05\x04\x07\x02\x0c\x03\x12\x04\xb5\x02\x1c\x1e\nX\
7946    \n\x04\x04\x07\x02\r\x12\x06\xb8\x02\x02\xbd\x02\x04\x1aH\x20Output\x20o\
7947    nly.\x20Name\x20of\x20the\x20patch\x20deployment\x20that\x20created\x20t\
7948    his\x20patch\x20job.\n\n\r\n\x05\x04\x07\x02\r\x05\x12\x04\xb8\x02\x02\
7949    \x08\n\r\n\x05\x04\x07\x02\r\x01\x12\x04\xb8\x02\t\x19\n\r\n\x05\x04\x07\
7950    \x02\r\x03\x12\x04\xb8\x02\x1c\x1e\n\x0f\n\x05\x04\x07\x02\r\x08\x12\x06\
7951    \xb8\x02\x1f\xbd\x02\x03\n\x10\n\x08\x04\x07\x02\r\x08\x9c\x08\0\x12\x04\
7952    \xb9\x02\x04-\n\x11\n\x07\x04\x07\x02\r\x08\x9f\x08\x12\x06\xba\x02\x04\
7953    \xbc\x02\x05\n/\n\x04\x04\x07\x02\x0e\x12\x04\xc0\x02\x02\x1c\x1a!\x20Ro\
7954    llout\x20strategy\x20being\x20applied.\n\n\r\n\x05\x04\x07\x02\x0e\x06\
7955    \x12\x04\xc0\x02\x02\x0e\n\r\n\x05\x04\x07\x02\x0e\x01\x12\x04\xc0\x02\
7956    \x0f\x16\n\r\n\x05\x04\x07\x02\x0e\x03\x12\x04\xc0\x02\x19\x1b\nu\n\x02\
7957    \x04\x08\x12\x06\xc5\x02\0\xf6\x02\x01\x1ag\x20Patch\x20configuration\
7958    \x20specifications.\x20Contains\x20details\x20on\x20how\x20to\x20apply\
7959    \x20the\n\x20patch(es)\x20to\x20a\x20VM\x20instance.\n\n\x0b\n\x03\x04\
7960    \x08\x01\x12\x04\xc5\x02\x08\x13\n-\n\x04\x04\x08\x04\0\x12\x06\xc7\x02\
7961    \x02\xd6\x02\x03\x1a\x1d\x20Post-patch\x20reboot\x20settings.\n\n\r\n\
7962    \x05\x04\x08\x04\0\x01\x12\x04\xc7\x02\x07\x13\n2\n\x06\x04\x08\x04\0\
7963    \x02\0\x12\x04\xc9\x02\x04\"\x1a\"\x20The\x20default\x20behavior\x20is\
7964    \x20DEFAULT.\n\n\x0f\n\x07\x04\x08\x04\0\x02\0\x01\x12\x04\xc9\x02\x04\
7965    \x1d\n\x0f\n\x07\x04\x08\x04\0\x02\0\x02\x12\x04\xc9\x02\x20!\n\x8e\x02\
7966    \n\x06\x04\x08\x04\0\x02\x01\x12\x04\xcf\x02\x04\x10\x1a\xfd\x01\x20The\
7967    \x20agent\x20decides\x20if\x20a\x20reboot\x20is\x20necessary\x20by\x20ch\
7968    ecking\x20signals\x20such\x20as\n\x20registry\x20keys\x20on\x20Windows\
7969    \x20or\x20`/var/run/reboot-required`\x20on\x20APT\x20based\n\x20systems.\
7970    \x20On\x20RPM\x20based\x20systems,\x20a\x20set\x20of\x20core\x20system\
7971    \x20package\x20install\x20times\n\x20are\x20compared\x20with\x20system\
7972    \x20boot\x20time.\n\n\x0f\n\x07\x04\x08\x04\0\x02\x01\x01\x12\x04\xcf\
7973    \x02\x04\x0b\n\x0f\n\x07\x04\x08\x04\0\x02\x01\x02\x12\x04\xcf\x02\x0e\
7974    \x0f\nG\n\x06\x04\x08\x04\0\x02\x02\x12\x04\xd2\x02\x04\x0f\x1a7\x20Alwa\
7975    ys\x20reboot\x20the\x20machine\x20after\x20the\x20update\x20completes.\n\
7976    \n\x0f\n\x07\x04\x08\x04\0\x02\x02\x01\x12\x04\xd2\x02\x04\n\n\x0f\n\x07\
7977    \x04\x08\x04\0\x02\x02\x02\x12\x04\xd2\x02\r\x0e\nF\n\x06\x04\x08\x04\0\
7978    \x02\x03\x12\x04\xd5\x02\x04\x0e\x1a6\x20Never\x20reboot\x20the\x20machi\
7979    ne\x20after\x20the\x20update\x20completes.\n\n\x0f\n\x07\x04\x08\x04\0\
7980    \x02\x03\x01\x12\x04\xd5\x02\x04\t\n\x0f\n\x07\x04\x08\x04\0\x02\x03\x02\
7981    \x12\x04\xd5\x02\x0c\r\n+\n\x04\x04\x08\x02\0\x12\x04\xd9\x02\x02!\x1a\
7982    \x1d\x20Post-patch\x20reboot\x20settings.\n\n\r\n\x05\x04\x08\x02\0\x06\
7983    \x12\x04\xd9\x02\x02\x0e\n\r\n\x05\x04\x08\x02\0\x01\x12\x04\xd9\x02\x0f\
7984    \x1c\n\r\n\x05\x04\x08\x02\0\x03\x12\x04\xd9\x02\x1f\x20\na\n\x04\x04\
7985    \x08\x02\x01\x12\x04\xdd\x02\x02\x16\x1aS\x20Apt\x20update\x20settings.\
7986    \x20Use\x20this\x20setting\x20to\x20override\x20the\x20default\x20`apt`\
7987    \x20patch\n\x20rules.\n\n\r\n\x05\x04\x08\x02\x01\x06\x12\x04\xdd\x02\
7988    \x02\r\n\r\n\x05\x04\x08\x02\x01\x01\x12\x04\xdd\x02\x0e\x11\n\r\n\x05\
7989    \x04\x08\x02\x01\x03\x12\x04\xdd\x02\x14\x15\na\n\x04\x04\x08\x02\x02\
7990    \x12\x04\xe1\x02\x02\x16\x1aS\x20Yum\x20update\x20settings.\x20Use\x20th\
7991    is\x20setting\x20to\x20override\x20the\x20default\x20`yum`\x20patch\n\
7992    \x20rules.\n\n\r\n\x05\x04\x08\x02\x02\x06\x12\x04\xe1\x02\x02\r\n\r\n\
7993    \x05\x04\x08\x02\x02\x01\x12\x04\xe1\x02\x0e\x11\n\r\n\x05\x04\x08\x02\
7994    \x02\x03\x12\x04\xe1\x02\x14\x15\na\n\x04\x04\x08\x02\x03\x12\x04\xe5\
7995    \x02\x02\x16\x1aS\x20Goo\x20update\x20settings.\x20Use\x20this\x20settin\
7996    g\x20to\x20override\x20the\x20default\x20`goo`\x20patch\n\x20rules.\n\n\
7997    \r\n\x05\x04\x08\x02\x03\x06\x12\x04\xe5\x02\x02\r\n\r\n\x05\x04\x08\x02\
7998    \x03\x01\x12\x04\xe5\x02\x0e\x11\n\r\n\x05\x04\x08\x02\x03\x03\x12\x04\
7999    \xe5\x02\x14\x15\ng\n\x04\x04\x08\x02\x04\x12\x04\xe9\x02\x02\x1c\x1aY\
8000    \x20Zypper\x20update\x20settings.\x20Use\x20this\x20setting\x20to\x20ove\
8001    rride\x20the\x20default\x20`zypper`\n\x20patch\x20rules.\n\n\r\n\x05\x04\
8002    \x08\x02\x04\x06\x12\x04\xe9\x02\x02\x10\n\r\n\x05\x04\x08\x02\x04\x01\
8003    \x12\x04\xe9\x02\x11\x17\n\r\n\x05\x04\x08\x02\x04\x03\x12\x04\xe9\x02\
8004    \x1a\x1b\n[\n\x04\x04\x08\x02\x05\x12\x04\xec\x02\x02+\x1aM\x20Windows\
8005    \x20update\x20settings.\x20Use\x20this\x20override\x20the\x20default\x20\
8006    windows\x20patch\x20rules.\n\n\r\n\x05\x04\x08\x02\x05\x06\x12\x04\xec\
8007    \x02\x02\x17\n\r\n\x05\x04\x08\x02\x05\x01\x12\x04\xec\x02\x18&\n\r\n\
8008    \x05\x04\x08\x02\x05\x03\x12\x04\xec\x02)*\n>\n\x04\x04\x08\x02\x06\x12\
8009    \x04\xef\x02\x02\x18\x1a0\x20The\x20`ExecStep`\x20to\x20run\x20before\
8010    \x20the\x20patch\x20update.\n\n\r\n\x05\x04\x08\x02\x06\x06\x12\x04\xef\
8011    \x02\x02\n\n\r\n\x05\x04\x08\x02\x06\x01\x12\x04\xef\x02\x0b\x13\n\r\n\
8012    \x05\x04\x08\x02\x06\x03\x12\x04\xef\x02\x16\x17\n=\n\x04\x04\x08\x02\
8013    \x07\x12\x04\xf2\x02\x02\x19\x1a/\x20The\x20`ExecStep`\x20to\x20run\x20a\
8014    fter\x20the\x20patch\x20update.\n\n\r\n\x05\x04\x08\x02\x07\x06\x12\x04\
8015    \xf2\x02\x02\n\n\r\n\x05\x04\x08\x02\x07\x01\x12\x04\xf2\x02\x0b\x14\n\r\
8016    \n\x05\x04\x08\x02\x07\x03\x12\x04\xf2\x02\x17\x18\nN\n\x04\x04\x08\x02\
8017    \x08\x12\x04\xf5\x02\x02\"\x1a@\x20Allows\x20the\x20patch\x20job\x20to\
8018    \x20run\x20on\x20Managed\x20instance\x20groups\x20(MIGs).\n\n\r\n\x05\
8019    \x04\x08\x02\x08\x05\x12\x04\xf5\x02\x02\x06\n\r\n\x05\x04\x08\x02\x08\
8020    \x01\x12\x04\xf5\x02\x07\x1c\n\r\n\x05\x04\x08\x02\x08\x03\x12\x04\xf5\
8021    \x02\x1f!\n3\n\x02\x04\t\x12\x06\xf9\x02\0\xae\x03\x01\x1a%\x20Namespace\
8022    \x20for\x20instance\x20state\x20enums.\n\n\x0b\n\x03\x04\t\x01\x12\x04\
8023    \xf9\x02\x08\x10\n-\n\x04\x04\t\x04\0\x12\x06\xfb\x02\x02\xad\x03\x03\
8024    \x1a\x1d\x20Patch\x20state\x20of\x20an\x20instance.\n\n\r\n\x05\x04\t\
8025    \x04\0\x01\x12\x04\xfb\x02\x07\x11\n\x1e\n\x06\x04\t\x04\0\x02\0\x12\x04\
8026    \xfd\x02\x04\x20\x1a\x0e\x20Unspecified.\n\n\x0f\n\x07\x04\t\x04\0\x02\0\
8027    \x01\x12\x04\xfd\x02\x04\x1b\n\x0f\n\x07\x04\t\x04\0\x02\0\x02\x12\x04\
8028    \xfd\x02\x1e\x1f\n3\n\x06\x04\t\x04\0\x02\x01\x12\x04\x80\x03\x04\x10\
8029    \x1a#\x20The\x20instance\x20is\x20not\x20yet\x20notified.\n\n\x0f\n\x07\
8030    \x04\t\x04\0\x02\x01\x01\x12\x04\x80\x03\x04\x0b\n\x0f\n\x07\x04\t\x04\0\
8031    \x02\x01\x02\x12\x04\x80\x03\x0e\x0f\n=\n\x06\x04\t\x04\0\x02\x02\x12\
8032    \x04\x83\x03\x04\x11\x1a-\x20Instance\x20is\x20inactive\x20and\x20cannot\
8033    \x20be\x20patched.\n\n\x0f\n\x07\x04\t\x04\0\x02\x02\x01\x12\x04\x83\x03\
8034    \x04\x0c\n\x0f\n\x07\x04\t\x04\0\x02\x02\x02\x12\x04\x83\x03\x0f\x10\nE\
8035    \n\x06\x04\t\x04\0\x02\x03\x12\x04\x86\x03\x04\x11\x1a5\x20The\x20instan\
8036    ce\x20is\x20notified\x20that\x20it\x20should\x20be\x20patched.\n\n\x0f\n\
8037    \x07\x04\t\x04\0\x02\x03\x01\x12\x04\x86\x03\x04\x0c\n\x0f\n\x07\x04\t\
8038    \x04\0\x02\x03\x02\x12\x04\x86\x03\x0f\x10\n@\n\x06\x04\t\x04\0\x02\x04\
8039    \x12\x04\x89\x03\x04\x10\x1a0\x20The\x20instance\x20has\x20started\x20th\
8040    e\x20patching\x20process.\n\n\x0f\n\x07\x04\t\x04\0\x02\x04\x01\x12\x04\
8041    \x89\x03\x04\x0b\n\x0f\n\x07\x04\t\x04\0\x02\x04\x02\x12\x04\x89\x03\x0e\
8042    \x0f\n6\n\x06\x04\t\x04\0\x02\x05\x12\x04\x8c\x03\x04\x1c\x1a&\x20The\
8043    \x20instance\x20is\x20downloading\x20patches.\n\n\x0f\n\x07\x04\t\x04\0\
8044    \x02\x05\x01\x12\x04\x8c\x03\x04\x17\n\x0f\n\x07\x04\t\x04\0\x02\x05\x02\
8045    \x12\x04\x8c\x03\x1a\x1b\n3\n\x06\x04\t\x04\0\x02\x06\x12\x04\x8f\x03\
8046    \x04\x19\x1a#\x20The\x20instance\x20is\x20applying\x20patches.\n\n\x0f\n\
8047    \x07\x04\t\x04\0\x02\x06\x01\x12\x04\x8f\x03\x04\x14\n\x0f\n\x07\x04\t\
8048    \x04\0\x02\x06\x02\x12\x04\x8f\x03\x17\x18\n,\n\x06\x04\t\x04\0\x02\x07\
8049    \x12\x04\x92\x03\x04\x12\x1a\x1c\x20The\x20instance\x20is\x20rebooting.\
8050    \n\n\x0f\n\x07\x04\t\x04\0\x02\x07\x01\x12\x04\x92\x03\x04\r\n\x0f\n\x07\
8051    \x04\t\x04\0\x02\x07\x02\x12\x04\x92\x03\x10\x11\n>\n\x06\x04\t\x04\0\
8052    \x02\x08\x12\x04\x95\x03\x04\x12\x1a.\x20The\x20instance\x20has\x20compl\
8053    eted\x20applying\x20patches.\n\n\x0f\n\x07\x04\t\x04\0\x02\x08\x01\x12\
8054    \x04\x95\x03\x04\r\n\x0f\n\x07\x04\t\x04\0\x02\x08\x02\x12\x04\x95\x03\
8055    \x10\x11\nW\n\x06\x04\t\x04\0\x02\t\x12\x04\x98\x03\x04\"\x1aG\x20The\
8056    \x20instance\x20has\x20completed\x20applying\x20patches\x20but\x20a\x20r\
8057    eboot\x20is\x20required.\n\n\x0f\n\x07\x04\t\x04\0\x02\t\x01\x12\x04\x98\
8058    \x03\x04\x1d\n\x0f\n\x07\x04\t\x04\0\x02\t\x02\x12\x04\x98\x03\x20!\n=\n\
8059    \x06\x04\t\x04\0\x02\n\x12\x04\x9b\x03\x04\x10\x1a-\x20The\x20instance\
8060    \x20has\x20failed\x20to\x20apply\x20the\x20patch.\n\n\x0f\n\x07\x04\t\
8061    \x04\0\x02\n\x01\x12\x04\x9b\x03\x04\n\n\x0f\n\x07\x04\t\x04\0\x02\n\x02\
8062    \x12\x04\x9b\x03\r\x0f\nM\n\x06\x04\t\x04\0\x02\x0b\x12\x04\x9e\x03\x04\
8063    \x0f\x1a=\x20The\x20instance\x20acked\x20the\x20notification\x20and\x20w\
8064    ill\x20start\x20shortly.\n\n\x0f\n\x07\x04\t\x04\0\x02\x0b\x01\x12\x04\
8065    \x9e\x03\x04\t\n\x0f\n\x07\x04\t\x04\0\x02\x0b\x02\x12\x04\x9e\x03\x0c\
8066    \x0e\nN\n\x06\x04\t\x04\0\x02\x0c\x12\x04\xa1\x03\x04\x13\x1a>\x20The\
8067    \x20instance\x20exceeded\x20the\x20time\x20out\x20while\x20applying\x20t\
8068    he\x20patch.\n\n\x0f\n\x07\x04\t\x04\0\x02\x0c\x01\x12\x04\xa1\x03\x04\r\
8069    \n\x0f\n\x07\x04\t\x04\0\x02\x0c\x02\x12\x04\xa1\x03\x10\x12\n=\n\x06\
8070    \x04\t\x04\0\x02\r\x12\x04\xa4\x03\x04\x20\x1a-\x20The\x20instance\x20is\
8071    \x20running\x20the\x20pre-patch\x20step.\n\n\x0f\n\x07\x04\t\x04\0\x02\r\
8072    \x01\x12\x04\xa4\x03\x04\x1a\n\x0f\n\x07\x04\t\x04\0\x02\r\x02\x12\x04\
8073    \xa4\x03\x1d\x1f\n>\n\x06\x04\t\x04\0\x02\x0e\x12\x04\xa7\x03\x04!\x1a.\
8074    \x20The\x20instance\x20is\x20running\x20the\x20post-patch\x20step.\n\n\
8075    \x0f\n\x07\x04\t\x04\0\x02\x0e\x01\x12\x04\xa7\x03\x04\x1b\n\x0f\n\x07\
8076    \x04\t\x04\0\x02\x0e\x02\x12\x04\xa7\x03\x1e\x20\n\xac\x01\n\x06\x04\t\
8077    \x04\0\x02\x0f\x12\x04\xac\x03\x04\x1b\x1a\x9b\x01\x20The\x20service\x20\
8078    could\x20not\x20detect\x20the\x20presence\x20of\x20the\x20agent.\x20Chec\
8079    k\x20to\x20ensure\n\x20that\x20the\x20agent\x20is\x20installed,\x20runni\
8080    ng,\x20and\x20able\x20to\x20communicate\x20with\x20the\n\x20service.\n\n\
8081    \x0f\n\x07\x04\t\x04\0\x02\x0f\x01\x12\x04\xac\x03\x04\x15\n\x0f\n\x07\
8082    \x04\t\x04\0\x02\x0f\x02\x12\x04\xac\x03\x18\x1a\n2\n\x02\x04\n\x12\x06\
8083    \xb1\x03\0\xb9\x03\x01\x1a$\x20Message\x20for\x20canceling\x20a\x20patch\
8084    \x20job.\n\n\x0b\n\x03\x04\n\x01\x12\x04\xb1\x03\x08\x1d\nR\n\x04\x04\n\
8085    \x02\0\x12\x06\xb3\x03\x02\xb8\x03\x04\x1aB\x20Required.\x20Name\x20of\
8086    \x20the\x20patch\x20in\x20the\x20form\x20`projects/*/patchJobs/*`\n\n\r\
8087    \n\x05\x04\n\x02\0\x05\x12\x04\xb3\x03\x02\x08\n\r\n\x05\x04\n\x02\0\x01\
8088    \x12\x04\xb3\x03\t\r\n\r\n\x05\x04\n\x02\0\x03\x12\x04\xb3\x03\x10\x11\n\
8089    \x0f\n\x05\x04\n\x02\0\x08\x12\x06\xb3\x03\x12\xb8\x03\x03\n\x10\n\x08\
8090    \x04\n\x02\0\x08\x9c\x08\0\x12\x04\xb4\x03\x04*\n\x11\n\x07\x04\n\x02\0\
8091    \x08\x9f\x08\x12\x06\xb5\x03\x04\xb7\x03\x05\n\x9c\x01\n\x02\x04\x0b\x12\
8092    \x06\xbd\x03\0\xd6\x03\x01\x1a\x8d\x01\x20Apt\x20patching\x20is\x20compl\
8093    eted\x20by\x20executing\x20`apt-get\x20update\x20&&\x20apt-get\n\x20upgr\
8094    ade`.\x20Additional\x20options\x20can\x20be\x20set\x20to\x20control\x20h\
8095    ow\x20this\x20is\x20executed.\n\n\x0b\n\x03\x04\x0b\x01\x12\x04\xbd\x03\
8096    \x08\x13\n!\n\x04\x04\x0b\x04\0\x12\x06\xbf\x03\x02\xc8\x03\x03\x1a\x11\
8097    \x20Apt\x20patch\x20type.\n\n\r\n\x05\x04\x0b\x04\0\x01\x12\x04\xbf\x03\
8098    \x07\x0b\n8\n\x06\x04\x0b\x04\0\x02\0\x12\x04\xc1\x03\x04\x19\x1a(\x20By\
8099    \x20default,\x20upgrade\x20will\x20be\x20performed.\n\n\x0f\n\x07\x04\
8100    \x0b\x04\0\x02\0\x01\x12\x04\xc1\x03\x04\x14\n\x0f\n\x07\x04\x0b\x04\0\
8101    \x02\0\x02\x12\x04\xc1\x03\x17\x18\n.\n\x06\x04\x0b\x04\0\x02\x01\x12\
8102    \x04\xc4\x03\x04\r\x1a\x1e\x20Runs\x20`apt-get\x20dist-upgrade`.\n\n\x0f\
8103    \n\x07\x04\x0b\x04\0\x02\x01\x01\x12\x04\xc4\x03\x04\x08\n\x0f\n\x07\x04\
8104    \x0b\x04\0\x02\x01\x02\x12\x04\xc4\x03\x0b\x0c\n)\n\x06\x04\x0b\x04\0\
8105    \x02\x02\x12\x04\xc7\x03\x04\x10\x1a\x19\x20Runs\x20`apt-get\x20upgrade`\
8106    .\n\n\x0f\n\x07\x04\x0b\x04\0\x02\x02\x01\x12\x04\xc7\x03\x04\x0b\n\x0f\
8107    \n\x07\x04\x0b\x04\0\x02\x02\x02\x12\x04\xc7\x03\x0e\x0f\nn\n\x04\x04\
8108    \x0b\x02\0\x12\x04\xcc\x03\x02\x10\x1a`\x20By\x20changing\x20the\x20type\
8109    \x20to\x20DIST,\x20the\x20patching\x20is\x20performed\n\x20using\x20`apt\
8110    -get\x20dist-upgrade`\x20instead.\n\n\r\n\x05\x04\x0b\x02\0\x06\x12\x04\
8111    \xcc\x03\x02\x06\n\r\n\x05\x04\x0b\x02\0\x01\x12\x04\xcc\x03\x07\x0b\n\r\
8112    \n\x05\x04\x0b\x02\0\x03\x12\x04\xcc\x03\x0e\x0f\nX\n\x04\x04\x0b\x02\
8113    \x01\x12\x04\xcf\x03\x02\x1f\x1aJ\x20List\x20of\x20packages\x20to\x20exc\
8114    lude\x20from\x20update.\x20These\x20packages\x20will\x20be\x20excluded\n\
8115    \n\r\n\x05\x04\x0b\x02\x01\x04\x12\x04\xcf\x03\x02\n\n\r\n\x05\x04\x0b\
8116    \x02\x01\x05\x12\x04\xcf\x03\x0b\x11\n\r\n\x05\x04\x0b\x02\x01\x01\x12\
8117    \x04\xcf\x03\x12\x1a\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\xcf\x03\x1d\
8118    \x1e\n\xf7\x01\n\x04\x04\x0b\x02\x02\x12\x04\xd5\x03\x02)\x1a\xe8\x01\
8119    \x20An\x20exclusive\x20list\x20of\x20packages\x20to\x20be\x20updated.\
8120    \x20These\x20are\x20the\x20only\x20packages\n\x20that\x20will\x20be\x20u\
8121    pdated.\x20If\x20these\x20packages\x20are\x20not\x20installed,\x20they\
8122    \x20will\x20be\n\x20ignored.\x20This\x20field\x20cannot\x20be\x20specifi\
8123    ed\x20with\x20any\x20other\x20patch\x20configuration\n\x20fields.\n\n\r\
8124    \n\x05\x04\x0b\x02\x02\x04\x12\x04\xd5\x03\x02\n\n\r\n\x05\x04\x0b\x02\
8125    \x02\x05\x12\x04\xd5\x03\x0b\x11\n\r\n\x05\x04\x0b\x02\x02\x01\x12\x04\
8126    \xd5\x03\x12$\n\r\n\x05\x04\x0b\x02\x02\x03\x12\x04\xd5\x03'(\n\xc2\x01\
8127    \n\x02\x04\x0c\x12\x06\xdc\x03\0\xed\x03\x01\x1a\xb3\x01\x20Yum\x20patch\
8128    ing\x20is\x20performed\x20by\x20executing\x20`yum\x20update`.\x20Additio\
8129    nal\x20options\n\x20can\x20be\x20set\x20to\x20control\x20how\x20this\x20\
8130    is\x20executed.\n\n\x20Note\x20that\x20not\x20all\x20settings\x20are\x20\
8131    supported\x20on\x20all\x20platforms.\n\n\x0b\n\x03\x04\x0c\x01\x12\x04\
8132    \xdc\x03\x08\x13\n\\\n\x04\x04\x0c\x02\0\x12\x04\xdf\x03\x02\x14\x1aN\
8133    \x20Adds\x20the\x20`--security`\x20flag\x20to\x20`yum\x20update`.\x20Not\
8134    \x20supported\x20on\n\x20all\x20platforms.\n\n\r\n\x05\x04\x0c\x02\0\x05\
8135    \x12\x04\xdf\x03\x02\x06\n\r\n\x05\x04\x0c\x02\0\x01\x12\x04\xdf\x03\x07\
8136    \x0f\n\r\n\x05\x04\x0c\x02\0\x03\x12\x04\xdf\x03\x12\x13\nE\n\x04\x04\
8137    \x0c\x02\x01\x12\x04\xe2\x03\x02\x13\x1a7\x20Will\x20cause\x20patch\x20t\
8138    o\x20run\x20`yum\x20update-minimal`\x20instead.\n\n\r\n\x05\x04\x0c\x02\
8139    \x01\x05\x12\x04\xe2\x03\x02\x06\n\r\n\x05\x04\x0c\x02\x01\x01\x12\x04\
8140    \xe2\x03\x07\x0e\n\r\n\x05\x04\x0c\x02\x01\x03\x12\x04\xe2\x03\x11\x12\n\
8141    x\n\x04\x04\x0c\x02\x02\x12\x04\xe6\x03\x02\x1f\x1aj\x20List\x20of\x20pa\
8142    ckages\x20to\x20exclude\x20from\x20update.\x20These\x20packages\x20are\
8143    \x20excluded\x20by\n\x20using\x20the\x20yum\x20`--exclude`\x20flag.\n\n\
8144    \r\n\x05\x04\x0c\x02\x02\x04\x12\x04\xe6\x03\x02\n\n\r\n\x05\x04\x0c\x02\
8145    \x02\x05\x12\x04\xe6\x03\x0b\x11\n\r\n\x05\x04\x0c\x02\x02\x01\x12\x04\
8146    \xe6\x03\x12\x1a\n\r\n\x05\x04\x0c\x02\x02\x03\x12\x04\xe6\x03\x1d\x1e\n\
8147    \xf9\x01\n\x04\x04\x0c\x02\x03\x12\x04\xec\x03\x02)\x1a\xea\x01\x20An\
8148    \x20exclusive\x20list\x20of\x20packages\x20to\x20be\x20updated.\x20These\
8149    \x20are\x20the\x20only\x20packages\n\x20that\x20will\x20be\x20updated.\
8150    \x20If\x20these\x20packages\x20are\x20not\x20installed,\x20they\x20will\
8151    \x20be\n\x20ignored.\x20This\x20field\x20must\x20not\x20be\x20specified\
8152    \x20with\x20any\x20other\x20patch\n\x20configuration\x20fields.\n\n\r\n\
8153    \x05\x04\x0c\x02\x03\x04\x12\x04\xec\x03\x02\n\n\r\n\x05\x04\x0c\x02\x03\
8154    \x05\x12\x04\xec\x03\x0b\x11\n\r\n\x05\x04\x0c\x02\x03\x01\x12\x04\xec\
8155    \x03\x12$\n\r\n\x05\x04\x0c\x02\x03\x03\x12\x04\xec\x03'(\nF\n\x02\x04\r\
8156    \x12\x04\xf0\x03\0\x16\x1a:\x20Googet\x20patching\x20is\x20performed\x20\
8157    by\x20running\x20`googet\x20update`.\n\n\x0b\n\x03\x04\r\x01\x12\x04\xf0\
8158    \x03\x08\x13\n|\n\x02\x04\x0e\x12\x06\xf4\x03\0\x8a\x04\x01\x1an\x20Zypp\
8159    er\x20patching\x20is\x20performed\x20by\x20running\x20`zypper\x20patch`.\
8160    \n\x20See\x20also\x20https://en.opensuse.org/SDB:Zypper_manual.\n\n\x0b\
8161    \n\x03\x04\x0e\x01\x12\x04\xf4\x03\x08\x16\nB\n\x04\x04\x0e\x02\0\x12\
8162    \x04\xf6\x03\x02\x19\x1a4\x20Adds\x20the\x20`--with-optional`\x20flag\
8163    \x20to\x20`zypper\x20patch`.\n\n\r\n\x05\x04\x0e\x02\0\x05\x12\x04\xf6\
8164    \x03\x02\x06\n\r\n\x05\x04\x0e\x02\0\x01\x12\x04\xf6\x03\x07\x14\n\r\n\
8165    \x05\x04\x0e\x02\0\x03\x12\x04\xf6\x03\x17\x18\nA\n\x04\x04\x0e\x02\x01\
8166    \x12\x04\xf9\x03\x02\x17\x1a3\x20Adds\x20the\x20`--with-update`\x20flag,\
8167    \x20to\x20`zypper\x20patch`.\n\n\r\n\x05\x04\x0e\x02\x01\x05\x12\x04\xf9\
8168    \x03\x02\x06\n\r\n\x05\x04\x0e\x02\x01\x01\x12\x04\xf9\x03\x07\x12\n\r\n\
8169    \x05\x04\x0e\x02\x01\x03\x12\x04\xf9\x03\x15\x16\nz\n\x04\x04\x0e\x02\
8170    \x02\x12\x04\xfd\x03\x02!\x1al\x20Install\x20only\x20patches\x20with\x20\
8171    these\x20categories.\n\x20Common\x20categories\x20include\x20security,\
8172    \x20recommended,\x20and\x20feature.\n\n\r\n\x05\x04\x0e\x02\x02\x04\x12\
8173    \x04\xfd\x03\x02\n\n\r\n\x05\x04\x0e\x02\x02\x05\x12\x04\xfd\x03\x0b\x11\
8174    \n\r\n\x05\x04\x0e\x02\x02\x01\x12\x04\xfd\x03\x12\x1c\n\r\n\x05\x04\x0e\
8175    \x02\x02\x03\x12\x04\xfd\x03\x1f\x20\n~\n\x04\x04\x0e\x02\x03\x12\x04\
8176    \x81\x04\x02!\x1ap\x20Install\x20only\x20patches\x20with\x20these\x20sev\
8177    erities.\n\x20Common\x20severities\x20include\x20critical,\x20important,\
8178    \x20moderate,\x20and\x20low.\n\n\r\n\x05\x04\x0e\x02\x03\x04\x12\x04\x81\
8179    \x04\x02\n\n\r\n\x05\x04\x0e\x02\x03\x05\x12\x04\x81\x04\x0b\x11\n\r\n\
8180    \x05\x04\x0e\x02\x03\x01\x12\x04\x81\x04\x12\x1c\n\r\n\x05\x04\x0e\x02\
8181    \x03\x03\x12\x04\x81\x04\x1f\x20\n7\n\x04\x04\x0e\x02\x04\x12\x04\x84\
8182    \x04\x02\x1f\x1a)\x20List\x20of\x20patches\x20to\x20exclude\x20from\x20u\
8183    pdate.\n\n\r\n\x05\x04\x0e\x02\x04\x04\x12\x04\x84\x04\x02\n\n\r\n\x05\
8184    \x04\x0e\x02\x04\x05\x12\x04\x84\x04\x0b\x11\n\r\n\x05\x04\x0e\x02\x04\
8185    \x01\x12\x04\x84\x04\x12\x1a\n\r\n\x05\x04\x0e\x02\x04\x03\x12\x04\x84\
8186    \x04\x1d\x1e\n\xe8\x01\n\x04\x04\x0e\x02\x05\x12\x04\x89\x04\x02(\x1a\
8187    \xd9\x01\x20An\x20exclusive\x20list\x20of\x20patches\x20to\x20be\x20upda\
8188    ted.\x20These\x20are\x20the\x20only\x20patches\n\x20that\x20will\x20be\
8189    \x20installed\x20using\x20'zypper\x20patch\x20patch:<patch_name>'\x20com\
8190    mand.\n\x20This\x20field\x20must\x20not\x20be\x20used\x20with\x20any\x20\
8191    other\x20patch\x20configuration\x20fields.\n\n\r\n\x05\x04\x0e\x02\x05\
8192    \x04\x12\x04\x89\x04\x02\n\n\r\n\x05\x04\x0e\x02\x05\x05\x12\x04\x89\x04\
8193    \x0b\x11\n\r\n\x05\x04\x0e\x02\x05\x01\x12\x04\x89\x04\x12#\n\r\n\x05\
8194    \x04\x0e\x02\x05\x03\x12\x04\x89\x04&'\nM\n\x02\x04\x0f\x12\x06\x8d\x04\
8195    \0\xcd\x04\x01\x1a?\x20Windows\x20patching\x20is\x20performed\x20using\
8196    \x20the\x20Windows\x20Update\x20Agent.\n\n\x0b\n\x03\x04\x0f\x01\x12\x04\
8197    \x8d\x04\x08\x1d\n\xc6\x01\n\x04\x04\x0f\x04\0\x12\x06\x91\x04\x02\xc0\
8198    \x04\x03\x1a\xb5\x01\x20Microsoft\x20Windows\x20update\x20classification\
8199    s\x20as\x20defined\x20in\n\x20[1]\n\x20https://support.microsoft.com/en-\
8200    us/help/824684/description-of-the-standard-terminology-that-is-used-to-d\
8201    escribe-micro\n\n\r\n\x05\x04\x0f\x04\0\x01\x12\x04\x91\x04\x07\x15\nS\n\
8202    \x06\x04\x0f\x04\0\x02\0\x12\x04\x93\x04\x04#\x1aC\x20Invalid.\x20If\x20\
8203    classifications\x20are\x20included,\x20they\x20must\x20be\x20specified.\
8204    \n\n\x0f\n\x07\x04\x0f\x04\0\x02\0\x01\x12\x04\x93\x04\x04\x1e\n\x0f\n\
8205    \x07\x04\x0f\x04\0\x02\0\x02\x12\x04\x93\x04!\"\nz\n\x06\x04\x0f\x04\0\
8206    \x02\x01\x12\x04\x97\x04\x04\x11\x1aj\x20\"A\x20widely\x20released\x20fi\
8207    x\x20for\x20a\x20specific\x20problem\x20that\x20addresses\x20a\x20critic\
8208    al,\n\x20non-security-related\x20bug.\"\x20[1]\n\n\x0f\n\x07\x04\x0f\x04\
8209    \0\x02\x01\x01\x12\x04\x97\x04\x04\x0c\n\x0f\n\x07\x04\x0f\x04\0\x02\x01\
8210    \x02\x12\x04\x97\x04\x0f\x10\n\x8d\x02\n\x06\x04\x0f\x04\0\x02\x02\x12\
8211    \x04\x9d\x04\x04\x11\x1a\xfc\x01\x20\"A\x20widely\x20released\x20fix\x20\
8212    for\x20a\x20product-specific,\x20security-related\n\x20vulnerability.\
8213    \x20Security\x20vulnerabilities\x20are\x20rated\x20by\x20their\x20severi\
8214    ty.\x20The\n\x20severity\x20rating\x20is\x20indicated\x20in\x20the\x20Mi\
8215    crosoft\x20security\x20bulletin\x20as\n\x20critical,\x20important,\x20mo\
8216    derate,\x20or\x20low.\"\x20[1]\n\n\x0f\n\x07\x04\x0f\x04\0\x02\x02\x01\
8217    \x12\x04\x9d\x04\x04\x0c\n\x0f\n\x07\x04\x0f\x04\0\x02\x02\x02\x12\x04\
8218    \x9d\x04\x0f\x10\n\x94\x02\n\x06\x04\x0f\x04\0\x02\x03\x12\x04\xa3\x04\
8219    \x04\x13\x1a\x83\x02\x20\"A\x20widely\x20released\x20and\x20frequent\x20\
8220    software\x20update\x20that\x20contains\x20additions\n\x20to\x20a\x20prod\
8221    uct's\x20definition\x20database.\x20Definition\x20databases\x20are\x20of\
8222    ten\x20used\n\x20to\x20detect\x20objects\x20that\x20have\x20specific\x20\
8223    attributes,\x20such\x20as\x20malicious\x20code,\n\x20phishing\x20website\
8224    s,\x20or\x20junk\x20mail.\"\x20[1]\n\n\x0f\n\x07\x04\x0f\x04\0\x02\x03\
8225    \x01\x12\x04\xa3\x04\x04\x0e\n\x0f\n\x07\x04\x0f\x04\0\x02\x03\x02\x12\
8226    \x04\xa3\x04\x11\x12\nP\n\x06\x04\x0f\x04\0\x02\x04\x12\x04\xa6\x04\x04\
8227    \x0f\x1a@\x20\"Software\x20that\x20controls\x20the\x20input\x20and\x20ou\
8228    tput\x20of\x20a\x20device.\"\x20[1]\n\n\x0f\n\x07\x04\x0f\x04\0\x02\x04\
8229    \x01\x12\x04\xa6\x04\x04\n\n\x0f\n\x07\x04\x0f\x04\0\x02\x04\x02\x12\x04\
8230    \xa6\x04\r\x0e\n\xb8\x01\n\x06\x04\x0f\x04\0\x02\x05\x12\x04\xab\x04\x04\
8231    \x15\x1a\xa7\x01\x20\"New\x20product\x20functionality\x20that\x20is\x20f\
8232    irst\x20distributed\x20outside\x20the\x20context\n\x20of\x20a\x20product\
8233    \x20release\x20and\x20that\x20is\x20typically\x20included\x20in\x20the\
8234    \x20next\x20full\n\x20product\x20release.\"\x20[1]\n\n\x0f\n\x07\x04\x0f\
8235    \x04\0\x02\x05\x01\x12\x04\xab\x04\x04\x10\n\x0f\n\x07\x04\x0f\x04\0\x02\
8236    \x05\x02\x12\x04\xab\x04\x13\x14\n\xda\x02\n\x06\x04\x0f\x04\0\x02\x06\
8237    \x12\x04\xb2\x04\x04\x15\x1a\xc9\x02\x20\"A\x20tested,\x20cumulative\x20\
8238    set\x20of\x20all\x20hotfixes,\x20security\x20updates,\x20critical\n\x20u\
8239    pdates,\x20and\x20updates.\x20Additionally,\x20service\x20packs\x20may\
8240    \x20contain\x20additional\n\x20fixes\x20for\x20problems\x20that\x20are\
8241    \x20found\x20internally\x20since\x20the\x20release\x20of\x20the\n\x20pro\
8242    duct.\x20Service\x20packs\x20my\x20also\x20contain\x20a\x20limited\x20nu\
8243    mber\x20of\n\x20customer-requested\x20design\x20changes\x20or\x20feature\
8244    s.\"\x20[1]\n\n\x0f\n\x07\x04\x0f\x04\0\x02\x06\x01\x12\x04\xb2\x04\x04\
8245    \x10\n\x0f\n\x07\x04\x0f\x04\0\x02\x06\x02\x12\x04\xb2\x04\x13\x14\nX\n\
8246    \x06\x04\x0f\x04\0\x02\x07\x12\x04\xb5\x04\x04\r\x1aH\x20\"A\x20utility\
8247    \x20or\x20feature\x20that\x20helps\x20complete\x20a\x20task\x20or\x20set\
8248    \x20of\x20tasks.\"\x20[1]\n\n\x0f\n\x07\x04\x0f\x04\0\x02\x07\x01\x12\
8249    \x04\xb5\x04\x04\x08\n\x0f\n\x07\x04\x0f\x04\0\x02\x07\x02\x12\x04\xb5\
8250    \x04\x0b\x0c\n\xa9\x02\n\x06\x04\x0f\x04\0\x02\x08\x12\x04\xbb\x04\x04\
8251    \x16\x1a\x98\x02\x20\"A\x20tested,\x20cumulative\x20set\x20of\x20hotfixe\
8252    s,\x20security\x20updates,\x20critical\n\x20updates,\x20and\x20updates\
8253    \x20that\x20are\x20packaged\x20together\x20for\x20easy\x20deployment.\
8254    \x20A\n\x20rollup\x20generally\x20targets\x20a\x20specific\x20area,\x20s\
8255    uch\x20as\x20security,\x20or\x20a\n\x20component\x20of\x20a\x20product,\
8256    \x20such\x20as\x20Internet\x20Information\x20Services\x20(IIS).\"\x20[1]\
8257    \n\n\x0f\n\x07\x04\x0f\x04\0\x02\x08\x01\x12\x04\xbb\x04\x04\x11\n\x0f\n\
8258    \x07\x04\x0f\x04\0\x02\x08\x02\x12\x04\xbb\x04\x14\x15\n\x83\x01\n\x06\
8259    \x04\x0f\x04\0\x02\t\x12\x04\xbf\x04\x04\x0f\x1as\x20\"A\x20widely\x20re\
8260    leased\x20fix\x20for\x20a\x20specific\x20problem.\x20An\x20update\x20add\
8261    resses\x20a\n\x20noncritical,\x20non-security-related\x20bug.\"\x20[1]\n\
8262    \n\x0f\n\x07\x04\x0f\x04\0\x02\t\x01\x12\x04\xbf\x04\x04\n\n\x0f\n\x07\
8263    \x04\x0f\x04\0\x02\t\x02\x12\x04\xbf\x04\r\x0e\no\n\x04\x04\x0f\x02\0\
8264    \x12\x04\xc4\x04\x02.\x1aa\x20Only\x20apply\x20updates\x20of\x20these\
8265    \x20windows\x20update\x20classifications.\x20If\x20empty,\x20all\n\x20up\
8266    dates\x20are\x20applied.\n\n\r\n\x05\x04\x0f\x02\0\x04\x12\x04\xc4\x04\
8267    \x02\n\n\r\n\x05\x04\x0f\x02\0\x06\x12\x04\xc4\x04\x0b\x19\n\r\n\x05\x04\
8268    \x0f\x02\0\x01\x12\x04\xc4\x04\x1a)\n\r\n\x05\x04\x0f\x02\0\x03\x12\x04\
8269    \xc4\x04,-\n3\n\x04\x04\x0f\x02\x01\x12\x04\xc7\x04\x02\x1f\x1a%\x20List\
8270    \x20of\x20KBs\x20to\x20exclude\x20from\x20update.\n\n\r\n\x05\x04\x0f\
8271    \x02\x01\x04\x12\x04\xc7\x04\x02\n\n\r\n\x05\x04\x0f\x02\x01\x05\x12\x04\
8272    \xc7\x04\x0b\x11\n\r\n\x05\x04\x0f\x02\x01\x01\x12\x04\xc7\x04\x12\x1a\n\
8273    \r\n\x05\x04\x0f\x02\x01\x03\x12\x04\xc7\x04\x1d\x1e\n\xa8\x01\n\x04\x04\
8274    \x0f\x02\x02\x12\x04\xcc\x04\x02(\x1a\x99\x01\x20An\x20exclusive\x20list\
8275    \x20of\x20kbs\x20to\x20be\x20updated.\x20These\x20are\x20the\x20only\x20\
8276    patches\n\x20that\x20will\x20be\x20updated.\x20This\x20field\x20must\x20\
8277    not\x20be\x20used\x20with\x20other\n\x20patch\x20configurations.\n\n\r\n\
8278    \x05\x04\x0f\x02\x02\x04\x12\x04\xcc\x04\x02\n\n\r\n\x05\x04\x0f\x02\x02\
8279    \x05\x12\x04\xcc\x04\x0b\x11\n\r\n\x05\x04\x0f\x02\x02\x01\x12\x04\xcc\
8280    \x04\x12#\n\r\n\x05\x04\x0f\x02\x02\x03\x12\x04\xcc\x04&'\n>\n\x02\x04\
8281    \x10\x12\x06\xd0\x04\0\xd6\x04\x01\x1a0\x20A\x20step\x20that\x20runs\x20\
8282    an\x20executable\x20for\x20a\x20PatchJob.\n\n\x0b\n\x03\x04\x10\x01\x12\
8283    \x04\xd0\x04\x08\x10\nN\n\x04\x04\x10\x02\0\x12\x04\xd2\x04\x02,\x1a@\
8284    \x20The\x20ExecStepConfig\x20for\x20all\x20Linux\x20VMs\x20targeted\x20b\
8285    y\x20the\x20PatchJob.\n\n\r\n\x05\x04\x10\x02\0\x06\x12\x04\xd2\x04\x02\
8286    \x10\n\r\n\x05\x04\x10\x02\0\x01\x12\x04\xd2\x04\x11'\n\r\n\x05\x04\x10\
8287    \x02\0\x03\x12\x04\xd2\x04*+\nP\n\x04\x04\x10\x02\x01\x12\x04\xd5\x04\
8288    \x02.\x1aB\x20The\x20ExecStepConfig\x20for\x20all\x20Windows\x20VMs\x20t\
8289    argeted\x20by\x20the\x20PatchJob.\n\n\r\n\x05\x04\x10\x02\x01\x06\x12\
8290    \x04\xd5\x04\x02\x10\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\xd5\x04\x11)\
8291    \n\r\n\x05\x04\x10\x02\x01\x03\x12\x04\xd5\x04,-\n6\n\x02\x04\x11\x12\
8292    \x06\xd9\x04\0\xfc\x04\x01\x1a(\x20Common\x20configurations\x20for\x20an\
8293    \x20ExecStep.\n\n\x0b\n\x03\x04\x11\x01\x12\x04\xd9\x04\x08\x16\n=\n\x04\
8294    \x04\x11\x04\0\x12\x06\xdb\x04\x02\xe8\x04\x03\x1a-\x20The\x20interprete\
8295    r\x20used\x20to\x20execute\x20the\x20a\x20file.\n\n\r\n\x05\x04\x11\x04\
8296    \0\x01\x12\x04\xdb\x04\x07\x12\n\xa9\x01\n\x06\x04\x11\x04\0\x02\0\x12\
8297    \x04\xdf\x04\x04\x20\x1a\x98\x01\x20Invalid\x20for\x20a\x20Windows\x20Ex\
8298    ecStepConfig.\x20For\x20a\x20Linux\x20ExecStepConfig,\x20the\n\x20interp\
8299    reter\x20will\x20be\x20parsed\x20from\x20the\x20shebang\x20line\x20of\
8300    \x20the\x20script\x20if\n\x20unspecified.\n\n\x0f\n\x07\x04\x11\x04\0\
8301    \x02\0\x01\x12\x04\xdf\x04\x04\x1b\n\x0f\n\x07\x04\x11\x04\0\x02\0\x02\
8302    \x12\x04\xdf\x04\x1e\x1f\na\n\x06\x04\x11\x04\0\x02\x01\x12\x04\xe3\x04\
8303    \x04\x0e\x1aQ\x20Indicates\x20that\x20the\x20script\x20is\x20run\x20with\
8304    \x20`/bin/sh`\x20on\x20Linux\x20and\x20`cmd`\n\x20on\x20Windows.\n\n\x0f\
8305    \n\x07\x04\x11\x04\0\x02\x01\x01\x12\x04\xe3\x04\x04\t\n\x0f\n\x07\x04\
8306    \x11\x04\0\x02\x01\x02\x12\x04\xe3\x04\x0c\r\n\x87\x01\n\x06\x04\x11\x04\
8307    \0\x02\x02\x12\x04\xe7\x04\x04\x13\x1aw\x20Indicates\x20that\x20the\x20f\
8308    ile\x20is\x20run\x20with\x20PowerShell\x20flags\n\x20`-NonInteractive`,\
8309    \x20`-NoProfile`,\x20and\x20`-ExecutionPolicy\x20Bypass`.\n\n\x0f\n\x07\
8310    \x04\x11\x04\0\x02\x02\x01\x12\x04\xe7\x04\x04\x0e\n\x0f\n\x07\x04\x11\
8311    \x04\0\x02\x02\x02\x12\x04\xe7\x04\x11\x12\n-\n\x04\x04\x11\x08\0\x12\
8312    \x06\xeb\x04\x02\xf1\x04\x03\x1a\x1d\x20Location\x20of\x20the\x20executa\
8313    ble.\n\n\r\n\x05\x04\x11\x08\0\x01\x12\x04\xeb\x04\x08\x12\n=\n\x04\x04\
8314    \x11\x02\0\x12\x04\xed\x04\x04\x1a\x1a/\x20An\x20absolute\x20path\x20to\
8315    \x20the\x20executable\x20on\x20the\x20VM.\n\n\r\n\x05\x04\x11\x02\0\x05\
8316    \x12\x04\xed\x04\x04\n\n\r\n\x05\x04\x11\x02\0\x01\x12\x04\xed\x04\x0b\
8317    \x15\n\r\n\x05\x04\x11\x02\0\x03\x12\x04\xed\x04\x18\x19\nA\n\x04\x04\
8318    \x11\x02\x01\x12\x04\xf0\x04\x04\x1d\x1a3\x20A\x20Cloud\x20Storage\x20ob\
8319    ject\x20containing\x20the\x20executable.\n\n\r\n\x05\x04\x11\x02\x01\x06\
8320    \x12\x04\xf0\x04\x04\r\n\r\n\x05\x04\x11\x02\x01\x01\x12\x04\xf0\x04\x0e\
8321    \x18\n\r\n\x05\x04\x11\x02\x01\x03\x12\x04\xf0\x04\x1b\x1c\nw\n\x04\x04\
8322    \x11\x02\x02\x12\x04\xf5\x04\x02+\x1ai\x20Defaults\x20to\x20[0].\x20A\
8323    \x20list\x20of\x20possible\x20return\x20values\x20that\x20the\n\x20execu\
8324    tion\x20can\x20return\x20to\x20indicate\x20a\x20success.\n\n\r\n\x05\x04\
8325    \x11\x02\x02\x04\x12\x04\xf5\x04\x02\n\n\r\n\x05\x04\x11\x02\x02\x05\x12\
8326    \x04\xf5\x04\x0b\x10\n\r\n\x05\x04\x11\x02\x02\x01\x12\x04\xf5\x04\x11&\
8327    \n\r\n\x05\x04\x11\x02\x02\x03\x12\x04\xf5\x04)*\n\xfb\x01\n\x04\x04\x11\
8328    \x02\x03\x12\x04\xfb\x04\x02\x1e\x1a\xec\x01\x20The\x20script\x20interpr\
8329    eter\x20to\x20use\x20to\x20run\x20the\x20script.\x20If\x20no\x20interpre\
8330    ter\x20is\n\x20specified\x20the\x20script\x20will\x20be\x20executed\x20d\
8331    irectly,\x20which\x20will\x20likely\n\x20only\x20succeed\x20for\x20scrip\
8332    ts\x20with\x20[shebang\x20lines]\n\x20(https://en.wikipedia.org/wiki/She\
8333    bang_\\(Unix\\)).\n\n\r\n\x05\x04\x11\x02\x03\x06\x12\x04\xfb\x04\x02\r\
8334    \n\r\n\x05\x04\x11\x02\x03\x01\x12\x04\xfb\x04\x0e\x19\n\r\n\x05\x04\x11\
8335    \x02\x03\x03\x12\x04\xfb\x04\x1c\x1d\n4\n\x02\x04\x12\x12\x06\xff\x04\0\
8336    \x89\x05\x01\x1a&\x20Cloud\x20Storage\x20object\x20representation.\n\n\
8337    \x0b\n\x03\x04\x12\x01\x12\x04\xff\x04\x08\x11\n=\n\x04\x04\x12\x02\0\
8338    \x12\x04\x81\x05\x02=\x1a/\x20Required.\x20Bucket\x20of\x20the\x20Cloud\
8339    \x20Storage\x20object.\n\n\r\n\x05\x04\x12\x02\0\x05\x12\x04\x81\x05\x02\
8340    \x08\n\r\n\x05\x04\x12\x02\0\x01\x12\x04\x81\x05\t\x0f\n\r\n\x05\x04\x12\
8341    \x02\0\x03\x12\x04\x81\x05\x12\x13\n\r\n\x05\x04\x12\x02\0\x08\x12\x04\
8342    \x81\x05\x14<\n\x10\n\x08\x04\x12\x02\0\x08\x9c\x08\0\x12\x04\x81\x05\
8343    \x15;\n;\n\x04\x04\x12\x02\x01\x12\x04\x84\x05\x02=\x1a-\x20Required.\
8344    \x20Name\x20of\x20the\x20Cloud\x20Storage\x20object.\n\n\r\n\x05\x04\x12\
8345    \x02\x01\x05\x12\x04\x84\x05\x02\x08\n\r\n\x05\x04\x12\x02\x01\x01\x12\
8346    \x04\x84\x05\t\x0f\n\r\n\x05\x04\x12\x02\x01\x03\x12\x04\x84\x05\x12\x13\
8347    \n\r\n\x05\x04\x12\x02\x01\x08\x12\x04\x84\x05\x14<\n\x10\n\x08\x04\x12\
8348    \x02\x01\x08\x9c\x08\0\x12\x04\x84\x05\x15;\n\x9f\x01\n\x04\x04\x12\x02\
8349    \x02\x12\x04\x88\x05\x02G\x1a\x90\x01\x20Required.\x20Generation\x20numb\
8350    er\x20of\x20the\x20Cloud\x20Storage\x20object.\x20This\x20is\x20used\x20\
8351    to\n\x20ensure\x20that\x20the\x20ExecStep\x20specified\x20by\x20this\x20\
8352    PatchJob\x20does\x20not\x20change.\n\n\r\n\x05\x04\x12\x02\x02\x05\x12\
8353    \x04\x88\x05\x02\x07\n\r\n\x05\x04\x12\x02\x02\x01\x12\x04\x88\x05\x08\
8354    \x19\n\r\n\x05\x04\x12\x02\x02\x03\x12\x04\x88\x05\x1c\x1d\n\r\n\x05\x04\
8355    \x12\x02\x02\x08\x12\x04\x88\x05\x1eF\n\x10\n\x08\x04\x12\x02\x02\x08\
8356    \x9c\x08\0\x12\x04\x88\x05\x1fE\n\xe4\x01\n\x02\x04\x13\x12\x06\x8f\x05\
8357    \0\xb4\x05\x01\x1a\xd5\x01\x20A\x20filter\x20to\x20target\x20VM\x20insta\
8358    nces\x20for\x20patching.\x20The\x20targeted\n\x20VMs\x20must\x20meet\x20\
8359    all\x20criteria\x20specified.\x20So\x20if\x20both\x20labels\x20and\x20zo\
8360    nes\x20are\n\x20specified,\x20the\x20patch\x20job\x20targets\x20only\x20\
8361    VMs\x20with\x20those\x20labels\x20and\x20in\x20those\n\x20zones.\n\n\x0b\
8362    \n\x03\x04\x13\x01\x12\x04\x8f\x05\x08\x1b\n\xd8\x03\n\x04\x04\x13\x03\0\
8363    \x12\x06\x98\x05\x02\x9c\x05\x03\x1a\xc7\x03\x20Targets\x20a\x20group\
8364    \x20of\x20VM\x20instances\x20by\x20using\x20their\x20[assigned\n\x20labe\
8365    ls](https://cloud.google.com/compute/docs/labeling-resources).\x20Labels\
8366    \n\x20are\x20key-value\x20pairs.\x20A\x20`GroupLabel`\x20is\x20a\x20comb\
8367    ination\x20of\x20labels\n\x20that\x20is\x20used\x20to\x20target\x20VMs\
8368    \x20for\x20a\x20patch\x20job.\n\n\x20For\x20example,\x20a\x20patch\x20jo\
8369    b\x20can\x20target\x20VMs\x20that\x20have\x20the\x20following\n\x20`Grou\
8370    pLabel`:\x20`{\"env\":\"test\",\x20\"app\":\"web\"}`.\x20This\x20means\
8371    \x20that\x20the\x20patch\x20job\n\x20is\x20applied\x20to\x20VMs\x20that\
8372    \x20have\x20both\x20the\x20labels\x20`env=test`\x20and\x20`app=web`.\n\n\
8373    \r\n\x05\x04\x13\x03\0\x01\x12\x04\x98\x05\n\x14\nw\n\x06\x04\x13\x03\0\
8374    \x02\0\x12\x04\x9b\x05\x04#\x1ag\x20Compute\x20Engine\x20instance\x20lab\
8375    els\x20that\x20must\x20be\x20present\x20for\x20a\x20VM\n\x20instance\x20\
8376    to\x20be\x20targeted\x20by\x20this\x20filter.\n\n\x0f\n\x07\x04\x13\x03\
8377    \0\x02\0\x06\x12\x04\x9b\x05\x04\x17\n\x0f\n\x07\x04\x13\x03\0\x02\0\x01\
8378    \x12\x04\x9b\x05\x18\x1e\n\x0f\n\x07\x04\x13\x03\0\x02\0\x03\x12\x04\x9b\
8379    \x05!\"\na\n\x04\x04\x13\x02\0\x12\x04\xa0\x05\x02\x0f\x1aS\x20Target\
8380    \x20all\x20VM\x20instances\x20in\x20the\x20project.\x20If\x20true,\x20no\
8381    \x20other\x20criteria\x20is\n\x20permitted.\n\n\r\n\x05\x04\x13\x02\0\
8382    \x05\x12\x04\xa0\x05\x02\x06\n\r\n\x05\x04\x13\x02\0\x01\x12\x04\xa0\x05\
8383    \x07\n\n\r\n\x05\x04\x13\x02\0\x03\x12\x04\xa0\x05\r\x0e\n\x83\x01\n\x04\
8384    \x04\x13\x02\x01\x12\x04\xa4\x05\x02'\x1au\x20Targets\x20VM\x20instances\
8385    \x20matching\x20ANY\x20of\x20these\x20GroupLabels.\x20This\x20allows\n\
8386    \x20targeting\x20of\x20disparate\x20groups\x20of\x20VM\x20instances.\n\n\
8387    \r\n\x05\x04\x13\x02\x01\x04\x12\x04\xa4\x05\x02\n\n\r\n\x05\x04\x13\x02\
8388    \x01\x06\x12\x04\xa4\x05\x0b\x15\n\r\n\x05\x04\x13\x02\x01\x01\x12\x04\
8389    \xa4\x05\x16\"\n\r\n\x05\x04\x13\x02\x01\x03\x12\x04\xa4\x05%&\nl\n\x04\
8390    \x04\x13\x02\x02\x12\x04\xa8\x05\x02\x1c\x1a^\x20Targets\x20VM\x20instan\
8391    ces\x20in\x20ANY\x20of\x20these\x20zones.\x20Leave\x20empty\x20to\x20tar\
8392    get\x20VM\n\x20instances\x20in\x20any\x20zone.\n\n\r\n\x05\x04\x13\x02\
8393    \x02\x04\x12\x04\xa8\x05\x02\n\n\r\n\x05\x04\x13\x02\x02\x05\x12\x04\xa8\
8394    \x05\x0b\x11\n\r\n\x05\x04\x13\x02\x02\x01\x12\x04\xa8\x05\x12\x17\n\r\n\
8395    \x05\x04\x13\x02\x02\x03\x12\x04\xa8\x05\x1a\x1b\n\xc1\x02\n\x04\x04\x13\
8396    \x02\x03\x12\x04\xae\x05\x02\x20\x1a\xb2\x02\x20Targets\x20any\x20of\x20\
8397    the\x20VM\x20instances\x20specified.\x20Instances\x20are\x20specified\
8398    \x20by\x20their\n\x20URI\x20in\x20the\x20form\x20`zones/[ZONE]/instances\
8399    /[INSTANCE_NAME]`,\n\x20`projects/[PROJECT_ID]/zones/[ZONE]/instances/[I\
8400    NSTANCE_NAME]`,\x20or\n\x20`https://www.googleapis.com/compute/v1/projec\
8401    ts/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]`\n\n\r\n\x05\x04\
8402    \x13\x02\x03\x04\x12\x04\xae\x05\x02\n\n\r\n\x05\x04\x13\x02\x03\x05\x12\
8403    \x04\xae\x05\x0b\x11\n\r\n\x05\x04\x13\x02\x03\x01\x12\x04\xae\x05\x12\
8404    \x1b\n\r\n\x05\x04\x13\x02\x03\x03\x12\x04\xae\x05\x1e\x1f\n\xb4\x01\n\
8405    \x04\x04\x13\x02\x04\x12\x04\xb3\x05\x02-\x1a\xa5\x01\x20Targets\x20VMs\
8406    \x20whose\x20name\x20starts\x20with\x20one\x20of\x20these\x20prefixes.\
8407    \x20Similar\x20to\n\x20labels,\x20this\x20is\x20another\x20way\x20to\x20\
8408    group\x20VMs\x20when\x20targeting\x20configs,\x20for\n\x20example\x20pre\
8409    fix=\"prod-\".\n\n\r\n\x05\x04\x13\x02\x04\x04\x12\x04\xb3\x05\x02\n\n\r\
8410    \n\x05\x04\x13\x02\x04\x05\x12\x04\xb3\x05\x0b\x11\n\r\n\x05\x04\x13\x02\
8411    \x04\x01\x12\x04\xb3\x05\x12(\n\r\n\x05\x04\x13\x02\x04\x03\x12\x04\xb3\
8412    \x05+,\n\x96\x01\n\x02\x04\x14\x12\x06\xb8\x05\0\xe5\x05\x01\x1a\x87\x01\
8413    \x20Patch\x20rollout\x20configuration\x20specifications.\x20Contains\x20\
8414    details\x20on\x20the\n\x20concurrency\x20control\x20when\x20applying\x20\
8415    patch(es)\x20to\x20all\x20targeted\x20VMs.\n\n\x0b\n\x03\x04\x14\x01\x12\
8416    \x04\xb8\x05\x08\x14\n&\n\x04\x04\x14\x04\0\x12\x06\xba\x05\x02\xc8\x05\
8417    \x03\x1a\x16\x20Type\x20of\x20the\x20rollout.\n\n\r\n\x05\x04\x14\x04\0\
8418    \x01\x12\x04\xba\x05\x07\x0b\n)\n\x06\x04\x14\x04\0\x02\0\x12\x04\xbc\
8419    \x05\x04\x19\x1a\x19\x20Mode\x20must\x20be\x20specified.\n\n\x0f\n\x07\
8420    \x04\x14\x04\0\x02\0\x01\x12\x04\xbc\x05\x04\x14\n\x0f\n\x07\x04\x14\x04\
8421    \0\x02\0\x02\x12\x04\xbc\x05\x17\x18\n\x87\x03\n\x06\x04\x14\x04\0\x02\
8422    \x01\x12\x04\xc4\x05\x04\x15\x1a\xf6\x02\x20Patches\x20are\x20applied\
8423    \x20one\x20zone\x20at\x20a\x20time.\x20The\x20patch\x20job\x20begins\x20\
8424    in\x20the\n\x20region\x20with\x20the\x20lowest\x20number\x20of\x20target\
8425    ed\x20VMs.\x20Within\x20the\x20region,\n\x20patching\x20begins\x20in\x20\
8426    the\x20zone\x20with\x20the\x20lowest\x20number\x20of\x20targeted\x20VMs.\
8427    \x20If\n\x20multiple\x20regions\x20(or\x20zones\x20within\x20a\x20region\
8428    )\x20have\x20the\x20same\x20number\x20of\n\x20targeted\x20VMs,\x20a\x20t\
8429    ie-breaker\x20is\x20achieved\x20by\x20sorting\x20the\x20regions\x20or\
8430    \x20zones\n\x20in\x20alphabetical\x20order.\n\n\x0f\n\x07\x04\x14\x04\0\
8431    \x02\x01\x01\x12\x04\xc4\x05\x04\x10\n\x0f\n\x07\x04\x14\x04\0\x02\x01\
8432    \x02\x12\x04\xc4\x05\x13\x14\nK\n\x06\x04\x14\x04\0\x02\x02\x12\x04\xc7\
8433    \x05\x04\x19\x1a;\x20Patches\x20are\x20applied\x20to\x20VMs\x20in\x20all\
8434    \x20zones\x20at\x20the\x20same\x20time.\n\n\x0f\n\x07\x04\x14\x04\0\x02\
8435    \x02\x01\x12\x04\xc7\x05\x04\x14\n\x0f\n\x07\x04\x14\x04\0\x02\x02\x02\
8436    \x12\x04\xc7\x05\x17\x18\n*\n\x04\x04\x14\x02\0\x12\x04\xcb\x05\x02\x10\
8437    \x1a\x1c\x20Mode\x20of\x20the\x20patch\x20rollout.\n\n\r\n\x05\x04\x14\
8438    \x02\0\x06\x12\x04\xcb\x05\x02\x06\n\r\n\x05\x04\x14\x02\0\x01\x12\x04\
8439    \xcb\x05\x07\x0b\n\r\n\x05\x04\x14\x02\0\x03\x12\x04\xcb\x05\x0e\x0f\n\
8440    \x91\n\n\x04\x04\x14\x02\x01\x12\x04\xe4\x05\x02'\x1a\x82\n\x20The\x20ma\
8441    ximum\x20number\x20(or\x20percentage)\x20of\x20VMs\x20per\x20zone\x20to\
8442    \x20disrupt\x20at\x20any\x20given\n\x20moment.\x20The\x20number\x20of\
8443    \x20VMs\x20calculated\x20from\x20multiplying\x20the\x20percentage\x20by\
8444    \x20the\n\x20total\x20number\x20of\x20VMs\x20in\x20a\x20zone\x20is\x20ro\
8445    unded\x20up.\n\n\x20During\x20patching,\x20a\x20VM\x20is\x20considered\
8446    \x20disrupted\x20from\x20the\x20time\x20the\x20agent\x20is\n\x20notified\
8447    \x20to\x20begin\x20until\x20patching\x20has\x20completed.\x20This\x20dis\
8448    ruption\x20time\n\x20includes\x20the\x20time\x20to\x20complete\x20reboot\
8449    \x20and\x20any\x20post-patch\x20steps.\n\n\x20A\x20VM\x20contributes\x20\
8450    to\x20the\x20disruption\x20budget\x20if\x20its\x20patching\x20operation\
8451    \x20fails\n\x20either\x20when\x20applying\x20the\x20patches,\x20running\
8452    \x20pre\x20or\x20post\x20patch\x20steps,\x20or\x20if\x20it\n\x20fails\
8453    \x20to\x20respond\x20with\x20a\x20success\x20notification\x20before\x20t\
8454    iming\x20out.\x20VMs\x20that\n\x20are\x20not\x20running\x20or\x20do\x20n\
8455    ot\x20have\x20an\x20active\x20agent\x20do\x20not\x20count\x20toward\x20t\
8456    his\n\x20disruption\x20budget.\n\n\x20For\x20zone-by-zone\x20rollouts,\
8457    \x20if\x20the\x20disruption\x20budget\x20in\x20a\x20zone\x20is\x20exceed\
8458    ed,\n\x20the\x20patch\x20job\x20stops,\x20because\x20continuing\x20to\
8459    \x20the\x20next\x20zone\x20requires\n\x20completion\x20of\x20the\x20patc\
8460    h\x20process\x20in\x20the\x20previous\x20zone.\n\n\x20For\x20example,\
8461    \x20if\x20the\x20disruption\x20budget\x20has\x20a\x20fixed\x20value\x20o\
8462    f\x20`10`,\x20and\x208\x20VMs\n\x20fail\x20to\x20patch\x20in\x20the\x20c\
8463    urrent\x20zone,\x20the\x20patch\x20job\x20continues\x20to\x20patch\x202\
8464    \x20VMs\n\x20at\x20a\x20time\x20until\x20the\x20zone\x20is\x20completed.\
8465    \x20When\x20that\x20zone\x20is\x20completed\n\x20successfully,\x20patchi\
8466    ng\x20begins\x20with\x2010\x20VMs\x20at\x20a\x20time\x20in\x20the\x20nex\
8467    t\x20zone.\x20If\x2010\n\x20VMs\x20in\x20the\x20next\x20zone\x20fail\x20\
8468    to\x20patch,\x20the\x20patch\x20job\x20stops.\n\n\r\n\x05\x04\x14\x02\
8469    \x01\x06\x12\x04\xe4\x05\x02\x10\n\r\n\x05\x04\x14\x02\x01\x01\x12\x04\
8470    \xe4\x05\x11\"\n\r\n\x05\x04\x14\x02\x01\x03\x12\x04\xe4\x05%&b\x06proto\
8471    3\
8472";
8473
8474static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
8475
8476fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
8477    ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
8478}
8479
8480pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
8481    file_descriptor_proto_lazy.get(|| {
8482        parse_descriptor_proto()
8483    })
8484}