google_cloud_rust_raw/identity/accesscontextmanager/v1/
access_context_manager.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/identity/accesscontextmanager/v1/access_context_manager.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 ListAccessPoliciesRequest {
28    // message fields
29    pub parent: ::std::string::String,
30    pub page_size: i32,
31    pub page_token: ::std::string::String,
32    // special fields
33    pub unknown_fields: ::protobuf::UnknownFields,
34    pub cached_size: ::protobuf::CachedSize,
35}
36
37impl<'a> ::std::default::Default for &'a ListAccessPoliciesRequest {
38    fn default() -> &'a ListAccessPoliciesRequest {
39        <ListAccessPoliciesRequest as ::protobuf::Message>::default_instance()
40    }
41}
42
43impl ListAccessPoliciesRequest {
44    pub fn new() -> ListAccessPoliciesRequest {
45        ::std::default::Default::default()
46    }
47
48    // string parent = 1;
49
50
51    pub fn get_parent(&self) -> &str {
52        &self.parent
53    }
54    pub fn clear_parent(&mut self) {
55        self.parent.clear();
56    }
57
58    // Param is passed by value, moved
59    pub fn set_parent(&mut self, v: ::std::string::String) {
60        self.parent = v;
61    }
62
63    // Mutable pointer to the field.
64    // If field is not initialized, it is initialized with default value first.
65    pub fn mut_parent(&mut self) -> &mut ::std::string::String {
66        &mut self.parent
67    }
68
69    // Take field
70    pub fn take_parent(&mut self) -> ::std::string::String {
71        ::std::mem::replace(&mut self.parent, ::std::string::String::new())
72    }
73
74    // int32 page_size = 2;
75
76
77    pub fn get_page_size(&self) -> i32 {
78        self.page_size
79    }
80    pub fn clear_page_size(&mut self) {
81        self.page_size = 0;
82    }
83
84    // Param is passed by value, moved
85    pub fn set_page_size(&mut self, v: i32) {
86        self.page_size = v;
87    }
88
89    // string page_token = 3;
90
91
92    pub fn get_page_token(&self) -> &str {
93        &self.page_token
94    }
95    pub fn clear_page_token(&mut self) {
96        self.page_token.clear();
97    }
98
99    // Param is passed by value, moved
100    pub fn set_page_token(&mut self, v: ::std::string::String) {
101        self.page_token = v;
102    }
103
104    // Mutable pointer to the field.
105    // If field is not initialized, it is initialized with default value first.
106    pub fn mut_page_token(&mut self) -> &mut ::std::string::String {
107        &mut self.page_token
108    }
109
110    // Take field
111    pub fn take_page_token(&mut self) -> ::std::string::String {
112        ::std::mem::replace(&mut self.page_token, ::std::string::String::new())
113    }
114}
115
116impl ::protobuf::Message for ListAccessPoliciesRequest {
117    fn is_initialized(&self) -> bool {
118        true
119    }
120
121    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
122        while !is.eof()? {
123            let (field_number, wire_type) = is.read_tag_unpack()?;
124            match field_number {
125                1 => {
126                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent)?;
127                },
128                2 => {
129                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
130                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
131                    }
132                    let tmp = is.read_int32()?;
133                    self.page_size = tmp;
134                },
135                3 => {
136                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.page_token)?;
137                },
138                _ => {
139                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
140                },
141            };
142        }
143        ::std::result::Result::Ok(())
144    }
145
146    // Compute sizes of nested messages
147    #[allow(unused_variables)]
148    fn compute_size(&self) -> u32 {
149        let mut my_size = 0;
150        if !self.parent.is_empty() {
151            my_size += ::protobuf::rt::string_size(1, &self.parent);
152        }
153        if self.page_size != 0 {
154            my_size += ::protobuf::rt::value_size(2, self.page_size, ::protobuf::wire_format::WireTypeVarint);
155        }
156        if !self.page_token.is_empty() {
157            my_size += ::protobuf::rt::string_size(3, &self.page_token);
158        }
159        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
160        self.cached_size.set(my_size);
161        my_size
162    }
163
164    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
165        if !self.parent.is_empty() {
166            os.write_string(1, &self.parent)?;
167        }
168        if self.page_size != 0 {
169            os.write_int32(2, self.page_size)?;
170        }
171        if !self.page_token.is_empty() {
172            os.write_string(3, &self.page_token)?;
173        }
174        os.write_unknown_fields(self.get_unknown_fields())?;
175        ::std::result::Result::Ok(())
176    }
177
178    fn get_cached_size(&self) -> u32 {
179        self.cached_size.get()
180    }
181
182    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
183        &self.unknown_fields
184    }
185
186    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
187        &mut self.unknown_fields
188    }
189
190    fn as_any(&self) -> &dyn (::std::any::Any) {
191        self as &dyn (::std::any::Any)
192    }
193    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
194        self as &mut dyn (::std::any::Any)
195    }
196    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
197        self
198    }
199
200    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
201        Self::descriptor_static()
202    }
203
204    fn new() -> ListAccessPoliciesRequest {
205        ListAccessPoliciesRequest::new()
206    }
207
208    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
209        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
210        descriptor.get(|| {
211            let mut fields = ::std::vec::Vec::new();
212            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
213                "parent",
214                |m: &ListAccessPoliciesRequest| { &m.parent },
215                |m: &mut ListAccessPoliciesRequest| { &mut m.parent },
216            ));
217            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
218                "page_size",
219                |m: &ListAccessPoliciesRequest| { &m.page_size },
220                |m: &mut ListAccessPoliciesRequest| { &mut m.page_size },
221            ));
222            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
223                "page_token",
224                |m: &ListAccessPoliciesRequest| { &m.page_token },
225                |m: &mut ListAccessPoliciesRequest| { &mut m.page_token },
226            ));
227            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListAccessPoliciesRequest>(
228                "ListAccessPoliciesRequest",
229                fields,
230                file_descriptor_proto()
231            )
232        })
233    }
234
235    fn default_instance() -> &'static ListAccessPoliciesRequest {
236        static instance: ::protobuf::rt::LazyV2<ListAccessPoliciesRequest> = ::protobuf::rt::LazyV2::INIT;
237        instance.get(ListAccessPoliciesRequest::new)
238    }
239}
240
241impl ::protobuf::Clear for ListAccessPoliciesRequest {
242    fn clear(&mut self) {
243        self.parent.clear();
244        self.page_size = 0;
245        self.page_token.clear();
246        self.unknown_fields.clear();
247    }
248}
249
250impl ::std::fmt::Debug for ListAccessPoliciesRequest {
251    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
252        ::protobuf::text_format::fmt(self, f)
253    }
254}
255
256impl ::protobuf::reflect::ProtobufValue for ListAccessPoliciesRequest {
257    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
258        ::protobuf::reflect::ReflectValueRef::Message(self)
259    }
260}
261
262#[derive(PartialEq,Clone,Default)]
263pub struct ListAccessPoliciesResponse {
264    // message fields
265    pub access_policies: ::protobuf::RepeatedField<super::access_policy::AccessPolicy>,
266    pub next_page_token: ::std::string::String,
267    // special fields
268    pub unknown_fields: ::protobuf::UnknownFields,
269    pub cached_size: ::protobuf::CachedSize,
270}
271
272impl<'a> ::std::default::Default for &'a ListAccessPoliciesResponse {
273    fn default() -> &'a ListAccessPoliciesResponse {
274        <ListAccessPoliciesResponse as ::protobuf::Message>::default_instance()
275    }
276}
277
278impl ListAccessPoliciesResponse {
279    pub fn new() -> ListAccessPoliciesResponse {
280        ::std::default::Default::default()
281    }
282
283    // repeated .google.identity.accesscontextmanager.v1.AccessPolicy access_policies = 1;
284
285
286    pub fn get_access_policies(&self) -> &[super::access_policy::AccessPolicy] {
287        &self.access_policies
288    }
289    pub fn clear_access_policies(&mut self) {
290        self.access_policies.clear();
291    }
292
293    // Param is passed by value, moved
294    pub fn set_access_policies(&mut self, v: ::protobuf::RepeatedField<super::access_policy::AccessPolicy>) {
295        self.access_policies = v;
296    }
297
298    // Mutable pointer to the field.
299    pub fn mut_access_policies(&mut self) -> &mut ::protobuf::RepeatedField<super::access_policy::AccessPolicy> {
300        &mut self.access_policies
301    }
302
303    // Take field
304    pub fn take_access_policies(&mut self) -> ::protobuf::RepeatedField<super::access_policy::AccessPolicy> {
305        ::std::mem::replace(&mut self.access_policies, ::protobuf::RepeatedField::new())
306    }
307
308    // string next_page_token = 2;
309
310
311    pub fn get_next_page_token(&self) -> &str {
312        &self.next_page_token
313    }
314    pub fn clear_next_page_token(&mut self) {
315        self.next_page_token.clear();
316    }
317
318    // Param is passed by value, moved
319    pub fn set_next_page_token(&mut self, v: ::std::string::String) {
320        self.next_page_token = v;
321    }
322
323    // Mutable pointer to the field.
324    // If field is not initialized, it is initialized with default value first.
325    pub fn mut_next_page_token(&mut self) -> &mut ::std::string::String {
326        &mut self.next_page_token
327    }
328
329    // Take field
330    pub fn take_next_page_token(&mut self) -> ::std::string::String {
331        ::std::mem::replace(&mut self.next_page_token, ::std::string::String::new())
332    }
333}
334
335impl ::protobuf::Message for ListAccessPoliciesResponse {
336    fn is_initialized(&self) -> bool {
337        for v in &self.access_policies {
338            if !v.is_initialized() {
339                return false;
340            }
341        };
342        true
343    }
344
345    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
346        while !is.eof()? {
347            let (field_number, wire_type) = is.read_tag_unpack()?;
348            match field_number {
349                1 => {
350                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.access_policies)?;
351                },
352                2 => {
353                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.next_page_token)?;
354                },
355                _ => {
356                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
357                },
358            };
359        }
360        ::std::result::Result::Ok(())
361    }
362
363    // Compute sizes of nested messages
364    #[allow(unused_variables)]
365    fn compute_size(&self) -> u32 {
366        let mut my_size = 0;
367        for value in &self.access_policies {
368            let len = value.compute_size();
369            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
370        };
371        if !self.next_page_token.is_empty() {
372            my_size += ::protobuf::rt::string_size(2, &self.next_page_token);
373        }
374        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
375        self.cached_size.set(my_size);
376        my_size
377    }
378
379    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
380        for v in &self.access_policies {
381            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
382            os.write_raw_varint32(v.get_cached_size())?;
383            v.write_to_with_cached_sizes(os)?;
384        };
385        if !self.next_page_token.is_empty() {
386            os.write_string(2, &self.next_page_token)?;
387        }
388        os.write_unknown_fields(self.get_unknown_fields())?;
389        ::std::result::Result::Ok(())
390    }
391
392    fn get_cached_size(&self) -> u32 {
393        self.cached_size.get()
394    }
395
396    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
397        &self.unknown_fields
398    }
399
400    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
401        &mut self.unknown_fields
402    }
403
404    fn as_any(&self) -> &dyn (::std::any::Any) {
405        self as &dyn (::std::any::Any)
406    }
407    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
408        self as &mut dyn (::std::any::Any)
409    }
410    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
411        self
412    }
413
414    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
415        Self::descriptor_static()
416    }
417
418    fn new() -> ListAccessPoliciesResponse {
419        ListAccessPoliciesResponse::new()
420    }
421
422    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
423        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
424        descriptor.get(|| {
425            let mut fields = ::std::vec::Vec::new();
426            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::access_policy::AccessPolicy>>(
427                "access_policies",
428                |m: &ListAccessPoliciesResponse| { &m.access_policies },
429                |m: &mut ListAccessPoliciesResponse| { &mut m.access_policies },
430            ));
431            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
432                "next_page_token",
433                |m: &ListAccessPoliciesResponse| { &m.next_page_token },
434                |m: &mut ListAccessPoliciesResponse| { &mut m.next_page_token },
435            ));
436            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListAccessPoliciesResponse>(
437                "ListAccessPoliciesResponse",
438                fields,
439                file_descriptor_proto()
440            )
441        })
442    }
443
444    fn default_instance() -> &'static ListAccessPoliciesResponse {
445        static instance: ::protobuf::rt::LazyV2<ListAccessPoliciesResponse> = ::protobuf::rt::LazyV2::INIT;
446        instance.get(ListAccessPoliciesResponse::new)
447    }
448}
449
450impl ::protobuf::Clear for ListAccessPoliciesResponse {
451    fn clear(&mut self) {
452        self.access_policies.clear();
453        self.next_page_token.clear();
454        self.unknown_fields.clear();
455    }
456}
457
458impl ::std::fmt::Debug for ListAccessPoliciesResponse {
459    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
460        ::protobuf::text_format::fmt(self, f)
461    }
462}
463
464impl ::protobuf::reflect::ProtobufValue for ListAccessPoliciesResponse {
465    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
466        ::protobuf::reflect::ReflectValueRef::Message(self)
467    }
468}
469
470#[derive(PartialEq,Clone,Default)]
471pub struct GetAccessPolicyRequest {
472    // message fields
473    pub name: ::std::string::String,
474    // special fields
475    pub unknown_fields: ::protobuf::UnknownFields,
476    pub cached_size: ::protobuf::CachedSize,
477}
478
479impl<'a> ::std::default::Default for &'a GetAccessPolicyRequest {
480    fn default() -> &'a GetAccessPolicyRequest {
481        <GetAccessPolicyRequest as ::protobuf::Message>::default_instance()
482    }
483}
484
485impl GetAccessPolicyRequest {
486    pub fn new() -> GetAccessPolicyRequest {
487        ::std::default::Default::default()
488    }
489
490    // string name = 1;
491
492
493    pub fn get_name(&self) -> &str {
494        &self.name
495    }
496    pub fn clear_name(&mut self) {
497        self.name.clear();
498    }
499
500    // Param is passed by value, moved
501    pub fn set_name(&mut self, v: ::std::string::String) {
502        self.name = v;
503    }
504
505    // Mutable pointer to the field.
506    // If field is not initialized, it is initialized with default value first.
507    pub fn mut_name(&mut self) -> &mut ::std::string::String {
508        &mut self.name
509    }
510
511    // Take field
512    pub fn take_name(&mut self) -> ::std::string::String {
513        ::std::mem::replace(&mut self.name, ::std::string::String::new())
514    }
515}
516
517impl ::protobuf::Message for GetAccessPolicyRequest {
518    fn is_initialized(&self) -> bool {
519        true
520    }
521
522    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
523        while !is.eof()? {
524            let (field_number, wire_type) = is.read_tag_unpack()?;
525            match field_number {
526                1 => {
527                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
528                },
529                _ => {
530                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
531                },
532            };
533        }
534        ::std::result::Result::Ok(())
535    }
536
537    // Compute sizes of nested messages
538    #[allow(unused_variables)]
539    fn compute_size(&self) -> u32 {
540        let mut my_size = 0;
541        if !self.name.is_empty() {
542            my_size += ::protobuf::rt::string_size(1, &self.name);
543        }
544        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
545        self.cached_size.set(my_size);
546        my_size
547    }
548
549    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
550        if !self.name.is_empty() {
551            os.write_string(1, &self.name)?;
552        }
553        os.write_unknown_fields(self.get_unknown_fields())?;
554        ::std::result::Result::Ok(())
555    }
556
557    fn get_cached_size(&self) -> u32 {
558        self.cached_size.get()
559    }
560
561    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
562        &self.unknown_fields
563    }
564
565    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
566        &mut self.unknown_fields
567    }
568
569    fn as_any(&self) -> &dyn (::std::any::Any) {
570        self as &dyn (::std::any::Any)
571    }
572    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
573        self as &mut dyn (::std::any::Any)
574    }
575    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
576        self
577    }
578
579    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
580        Self::descriptor_static()
581    }
582
583    fn new() -> GetAccessPolicyRequest {
584        GetAccessPolicyRequest::new()
585    }
586
587    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
588        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
589        descriptor.get(|| {
590            let mut fields = ::std::vec::Vec::new();
591            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
592                "name",
593                |m: &GetAccessPolicyRequest| { &m.name },
594                |m: &mut GetAccessPolicyRequest| { &mut m.name },
595            ));
596            ::protobuf::reflect::MessageDescriptor::new_pb_name::<GetAccessPolicyRequest>(
597                "GetAccessPolicyRequest",
598                fields,
599                file_descriptor_proto()
600            )
601        })
602    }
603
604    fn default_instance() -> &'static GetAccessPolicyRequest {
605        static instance: ::protobuf::rt::LazyV2<GetAccessPolicyRequest> = ::protobuf::rt::LazyV2::INIT;
606        instance.get(GetAccessPolicyRequest::new)
607    }
608}
609
610impl ::protobuf::Clear for GetAccessPolicyRequest {
611    fn clear(&mut self) {
612        self.name.clear();
613        self.unknown_fields.clear();
614    }
615}
616
617impl ::std::fmt::Debug for GetAccessPolicyRequest {
618    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
619        ::protobuf::text_format::fmt(self, f)
620    }
621}
622
623impl ::protobuf::reflect::ProtobufValue for GetAccessPolicyRequest {
624    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
625        ::protobuf::reflect::ReflectValueRef::Message(self)
626    }
627}
628
629#[derive(PartialEq,Clone,Default)]
630pub struct UpdateAccessPolicyRequest {
631    // message fields
632    pub policy: ::protobuf::SingularPtrField<super::access_policy::AccessPolicy>,
633    pub update_mask: ::protobuf::SingularPtrField<::protobuf::well_known_types::FieldMask>,
634    // special fields
635    pub unknown_fields: ::protobuf::UnknownFields,
636    pub cached_size: ::protobuf::CachedSize,
637}
638
639impl<'a> ::std::default::Default for &'a UpdateAccessPolicyRequest {
640    fn default() -> &'a UpdateAccessPolicyRequest {
641        <UpdateAccessPolicyRequest as ::protobuf::Message>::default_instance()
642    }
643}
644
645impl UpdateAccessPolicyRequest {
646    pub fn new() -> UpdateAccessPolicyRequest {
647        ::std::default::Default::default()
648    }
649
650    // .google.identity.accesscontextmanager.v1.AccessPolicy policy = 1;
651
652
653    pub fn get_policy(&self) -> &super::access_policy::AccessPolicy {
654        self.policy.as_ref().unwrap_or_else(|| <super::access_policy::AccessPolicy as ::protobuf::Message>::default_instance())
655    }
656    pub fn clear_policy(&mut self) {
657        self.policy.clear();
658    }
659
660    pub fn has_policy(&self) -> bool {
661        self.policy.is_some()
662    }
663
664    // Param is passed by value, moved
665    pub fn set_policy(&mut self, v: super::access_policy::AccessPolicy) {
666        self.policy = ::protobuf::SingularPtrField::some(v);
667    }
668
669    // Mutable pointer to the field.
670    // If field is not initialized, it is initialized with default value first.
671    pub fn mut_policy(&mut self) -> &mut super::access_policy::AccessPolicy {
672        if self.policy.is_none() {
673            self.policy.set_default();
674        }
675        self.policy.as_mut().unwrap()
676    }
677
678    // Take field
679    pub fn take_policy(&mut self) -> super::access_policy::AccessPolicy {
680        self.policy.take().unwrap_or_else(|| super::access_policy::AccessPolicy::new())
681    }
682
683    // .google.protobuf.FieldMask update_mask = 2;
684
685
686    pub fn get_update_mask(&self) -> &::protobuf::well_known_types::FieldMask {
687        self.update_mask.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::FieldMask as ::protobuf::Message>::default_instance())
688    }
689    pub fn clear_update_mask(&mut self) {
690        self.update_mask.clear();
691    }
692
693    pub fn has_update_mask(&self) -> bool {
694        self.update_mask.is_some()
695    }
696
697    // Param is passed by value, moved
698    pub fn set_update_mask(&mut self, v: ::protobuf::well_known_types::FieldMask) {
699        self.update_mask = ::protobuf::SingularPtrField::some(v);
700    }
701
702    // Mutable pointer to the field.
703    // If field is not initialized, it is initialized with default value first.
704    pub fn mut_update_mask(&mut self) -> &mut ::protobuf::well_known_types::FieldMask {
705        if self.update_mask.is_none() {
706            self.update_mask.set_default();
707        }
708        self.update_mask.as_mut().unwrap()
709    }
710
711    // Take field
712    pub fn take_update_mask(&mut self) -> ::protobuf::well_known_types::FieldMask {
713        self.update_mask.take().unwrap_or_else(|| ::protobuf::well_known_types::FieldMask::new())
714    }
715}
716
717impl ::protobuf::Message for UpdateAccessPolicyRequest {
718    fn is_initialized(&self) -> bool {
719        for v in &self.policy {
720            if !v.is_initialized() {
721                return false;
722            }
723        };
724        for v in &self.update_mask {
725            if !v.is_initialized() {
726                return false;
727            }
728        };
729        true
730    }
731
732    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
733        while !is.eof()? {
734            let (field_number, wire_type) = is.read_tag_unpack()?;
735            match field_number {
736                1 => {
737                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.policy)?;
738                },
739                2 => {
740                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.update_mask)?;
741                },
742                _ => {
743                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
744                },
745            };
746        }
747        ::std::result::Result::Ok(())
748    }
749
750    // Compute sizes of nested messages
751    #[allow(unused_variables)]
752    fn compute_size(&self) -> u32 {
753        let mut my_size = 0;
754        if let Some(ref v) = self.policy.as_ref() {
755            let len = v.compute_size();
756            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
757        }
758        if let Some(ref v) = self.update_mask.as_ref() {
759            let len = v.compute_size();
760            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
761        }
762        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
763        self.cached_size.set(my_size);
764        my_size
765    }
766
767    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
768        if let Some(ref v) = self.policy.as_ref() {
769            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
770            os.write_raw_varint32(v.get_cached_size())?;
771            v.write_to_with_cached_sizes(os)?;
772        }
773        if let Some(ref v) = self.update_mask.as_ref() {
774            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
775            os.write_raw_varint32(v.get_cached_size())?;
776            v.write_to_with_cached_sizes(os)?;
777        }
778        os.write_unknown_fields(self.get_unknown_fields())?;
779        ::std::result::Result::Ok(())
780    }
781
782    fn get_cached_size(&self) -> u32 {
783        self.cached_size.get()
784    }
785
786    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
787        &self.unknown_fields
788    }
789
790    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
791        &mut self.unknown_fields
792    }
793
794    fn as_any(&self) -> &dyn (::std::any::Any) {
795        self as &dyn (::std::any::Any)
796    }
797    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
798        self as &mut dyn (::std::any::Any)
799    }
800    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
801        self
802    }
803
804    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
805        Self::descriptor_static()
806    }
807
808    fn new() -> UpdateAccessPolicyRequest {
809        UpdateAccessPolicyRequest::new()
810    }
811
812    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
813        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
814        descriptor.get(|| {
815            let mut fields = ::std::vec::Vec::new();
816            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::access_policy::AccessPolicy>>(
817                "policy",
818                |m: &UpdateAccessPolicyRequest| { &m.policy },
819                |m: &mut UpdateAccessPolicyRequest| { &mut m.policy },
820            ));
821            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::FieldMask>>(
822                "update_mask",
823                |m: &UpdateAccessPolicyRequest| { &m.update_mask },
824                |m: &mut UpdateAccessPolicyRequest| { &mut m.update_mask },
825            ));
826            ::protobuf::reflect::MessageDescriptor::new_pb_name::<UpdateAccessPolicyRequest>(
827                "UpdateAccessPolicyRequest",
828                fields,
829                file_descriptor_proto()
830            )
831        })
832    }
833
834    fn default_instance() -> &'static UpdateAccessPolicyRequest {
835        static instance: ::protobuf::rt::LazyV2<UpdateAccessPolicyRequest> = ::protobuf::rt::LazyV2::INIT;
836        instance.get(UpdateAccessPolicyRequest::new)
837    }
838}
839
840impl ::protobuf::Clear for UpdateAccessPolicyRequest {
841    fn clear(&mut self) {
842        self.policy.clear();
843        self.update_mask.clear();
844        self.unknown_fields.clear();
845    }
846}
847
848impl ::std::fmt::Debug for UpdateAccessPolicyRequest {
849    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
850        ::protobuf::text_format::fmt(self, f)
851    }
852}
853
854impl ::protobuf::reflect::ProtobufValue for UpdateAccessPolicyRequest {
855    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
856        ::protobuf::reflect::ReflectValueRef::Message(self)
857    }
858}
859
860#[derive(PartialEq,Clone,Default)]
861pub struct DeleteAccessPolicyRequest {
862    // message fields
863    pub name: ::std::string::String,
864    // special fields
865    pub unknown_fields: ::protobuf::UnknownFields,
866    pub cached_size: ::protobuf::CachedSize,
867}
868
869impl<'a> ::std::default::Default for &'a DeleteAccessPolicyRequest {
870    fn default() -> &'a DeleteAccessPolicyRequest {
871        <DeleteAccessPolicyRequest as ::protobuf::Message>::default_instance()
872    }
873}
874
875impl DeleteAccessPolicyRequest {
876    pub fn new() -> DeleteAccessPolicyRequest {
877        ::std::default::Default::default()
878    }
879
880    // string name = 1;
881
882
883    pub fn get_name(&self) -> &str {
884        &self.name
885    }
886    pub fn clear_name(&mut self) {
887        self.name.clear();
888    }
889
890    // Param is passed by value, moved
891    pub fn set_name(&mut self, v: ::std::string::String) {
892        self.name = v;
893    }
894
895    // Mutable pointer to the field.
896    // If field is not initialized, it is initialized with default value first.
897    pub fn mut_name(&mut self) -> &mut ::std::string::String {
898        &mut self.name
899    }
900
901    // Take field
902    pub fn take_name(&mut self) -> ::std::string::String {
903        ::std::mem::replace(&mut self.name, ::std::string::String::new())
904    }
905}
906
907impl ::protobuf::Message for DeleteAccessPolicyRequest {
908    fn is_initialized(&self) -> bool {
909        true
910    }
911
912    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
913        while !is.eof()? {
914            let (field_number, wire_type) = is.read_tag_unpack()?;
915            match field_number {
916                1 => {
917                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
918                },
919                _ => {
920                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
921                },
922            };
923        }
924        ::std::result::Result::Ok(())
925    }
926
927    // Compute sizes of nested messages
928    #[allow(unused_variables)]
929    fn compute_size(&self) -> u32 {
930        let mut my_size = 0;
931        if !self.name.is_empty() {
932            my_size += ::protobuf::rt::string_size(1, &self.name);
933        }
934        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
935        self.cached_size.set(my_size);
936        my_size
937    }
938
939    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
940        if !self.name.is_empty() {
941            os.write_string(1, &self.name)?;
942        }
943        os.write_unknown_fields(self.get_unknown_fields())?;
944        ::std::result::Result::Ok(())
945    }
946
947    fn get_cached_size(&self) -> u32 {
948        self.cached_size.get()
949    }
950
951    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
952        &self.unknown_fields
953    }
954
955    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
956        &mut self.unknown_fields
957    }
958
959    fn as_any(&self) -> &dyn (::std::any::Any) {
960        self as &dyn (::std::any::Any)
961    }
962    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
963        self as &mut dyn (::std::any::Any)
964    }
965    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
966        self
967    }
968
969    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
970        Self::descriptor_static()
971    }
972
973    fn new() -> DeleteAccessPolicyRequest {
974        DeleteAccessPolicyRequest::new()
975    }
976
977    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
978        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
979        descriptor.get(|| {
980            let mut fields = ::std::vec::Vec::new();
981            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
982                "name",
983                |m: &DeleteAccessPolicyRequest| { &m.name },
984                |m: &mut DeleteAccessPolicyRequest| { &mut m.name },
985            ));
986            ::protobuf::reflect::MessageDescriptor::new_pb_name::<DeleteAccessPolicyRequest>(
987                "DeleteAccessPolicyRequest",
988                fields,
989                file_descriptor_proto()
990            )
991        })
992    }
993
994    fn default_instance() -> &'static DeleteAccessPolicyRequest {
995        static instance: ::protobuf::rt::LazyV2<DeleteAccessPolicyRequest> = ::protobuf::rt::LazyV2::INIT;
996        instance.get(DeleteAccessPolicyRequest::new)
997    }
998}
999
1000impl ::protobuf::Clear for DeleteAccessPolicyRequest {
1001    fn clear(&mut self) {
1002        self.name.clear();
1003        self.unknown_fields.clear();
1004    }
1005}
1006
1007impl ::std::fmt::Debug for DeleteAccessPolicyRequest {
1008    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1009        ::protobuf::text_format::fmt(self, f)
1010    }
1011}
1012
1013impl ::protobuf::reflect::ProtobufValue for DeleteAccessPolicyRequest {
1014    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1015        ::protobuf::reflect::ReflectValueRef::Message(self)
1016    }
1017}
1018
1019#[derive(PartialEq,Clone,Default)]
1020pub struct ListAccessLevelsRequest {
1021    // message fields
1022    pub parent: ::std::string::String,
1023    pub page_size: i32,
1024    pub page_token: ::std::string::String,
1025    pub access_level_format: LevelFormat,
1026    // special fields
1027    pub unknown_fields: ::protobuf::UnknownFields,
1028    pub cached_size: ::protobuf::CachedSize,
1029}
1030
1031impl<'a> ::std::default::Default for &'a ListAccessLevelsRequest {
1032    fn default() -> &'a ListAccessLevelsRequest {
1033        <ListAccessLevelsRequest as ::protobuf::Message>::default_instance()
1034    }
1035}
1036
1037impl ListAccessLevelsRequest {
1038    pub fn new() -> ListAccessLevelsRequest {
1039        ::std::default::Default::default()
1040    }
1041
1042    // string parent = 1;
1043
1044
1045    pub fn get_parent(&self) -> &str {
1046        &self.parent
1047    }
1048    pub fn clear_parent(&mut self) {
1049        self.parent.clear();
1050    }
1051
1052    // Param is passed by value, moved
1053    pub fn set_parent(&mut self, v: ::std::string::String) {
1054        self.parent = v;
1055    }
1056
1057    // Mutable pointer to the field.
1058    // If field is not initialized, it is initialized with default value first.
1059    pub fn mut_parent(&mut self) -> &mut ::std::string::String {
1060        &mut self.parent
1061    }
1062
1063    // Take field
1064    pub fn take_parent(&mut self) -> ::std::string::String {
1065        ::std::mem::replace(&mut self.parent, ::std::string::String::new())
1066    }
1067
1068    // int32 page_size = 2;
1069
1070
1071    pub fn get_page_size(&self) -> i32 {
1072        self.page_size
1073    }
1074    pub fn clear_page_size(&mut self) {
1075        self.page_size = 0;
1076    }
1077
1078    // Param is passed by value, moved
1079    pub fn set_page_size(&mut self, v: i32) {
1080        self.page_size = v;
1081    }
1082
1083    // string page_token = 3;
1084
1085
1086    pub fn get_page_token(&self) -> &str {
1087        &self.page_token
1088    }
1089    pub fn clear_page_token(&mut self) {
1090        self.page_token.clear();
1091    }
1092
1093    // Param is passed by value, moved
1094    pub fn set_page_token(&mut self, v: ::std::string::String) {
1095        self.page_token = v;
1096    }
1097
1098    // Mutable pointer to the field.
1099    // If field is not initialized, it is initialized with default value first.
1100    pub fn mut_page_token(&mut self) -> &mut ::std::string::String {
1101        &mut self.page_token
1102    }
1103
1104    // Take field
1105    pub fn take_page_token(&mut self) -> ::std::string::String {
1106        ::std::mem::replace(&mut self.page_token, ::std::string::String::new())
1107    }
1108
1109    // .google.identity.accesscontextmanager.v1.LevelFormat access_level_format = 4;
1110
1111
1112    pub fn get_access_level_format(&self) -> LevelFormat {
1113        self.access_level_format
1114    }
1115    pub fn clear_access_level_format(&mut self) {
1116        self.access_level_format = LevelFormat::LEVEL_FORMAT_UNSPECIFIED;
1117    }
1118
1119    // Param is passed by value, moved
1120    pub fn set_access_level_format(&mut self, v: LevelFormat) {
1121        self.access_level_format = v;
1122    }
1123}
1124
1125impl ::protobuf::Message for ListAccessLevelsRequest {
1126    fn is_initialized(&self) -> bool {
1127        true
1128    }
1129
1130    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1131        while !is.eof()? {
1132            let (field_number, wire_type) = is.read_tag_unpack()?;
1133            match field_number {
1134                1 => {
1135                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent)?;
1136                },
1137                2 => {
1138                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
1139                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
1140                    }
1141                    let tmp = is.read_int32()?;
1142                    self.page_size = tmp;
1143                },
1144                3 => {
1145                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.page_token)?;
1146                },
1147                4 => {
1148                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.access_level_format, 4, &mut self.unknown_fields)?
1149                },
1150                _ => {
1151                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1152                },
1153            };
1154        }
1155        ::std::result::Result::Ok(())
1156    }
1157
1158    // Compute sizes of nested messages
1159    #[allow(unused_variables)]
1160    fn compute_size(&self) -> u32 {
1161        let mut my_size = 0;
1162        if !self.parent.is_empty() {
1163            my_size += ::protobuf::rt::string_size(1, &self.parent);
1164        }
1165        if self.page_size != 0 {
1166            my_size += ::protobuf::rt::value_size(2, self.page_size, ::protobuf::wire_format::WireTypeVarint);
1167        }
1168        if !self.page_token.is_empty() {
1169            my_size += ::protobuf::rt::string_size(3, &self.page_token);
1170        }
1171        if self.access_level_format != LevelFormat::LEVEL_FORMAT_UNSPECIFIED {
1172            my_size += ::protobuf::rt::enum_size(4, self.access_level_format);
1173        }
1174        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1175        self.cached_size.set(my_size);
1176        my_size
1177    }
1178
1179    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1180        if !self.parent.is_empty() {
1181            os.write_string(1, &self.parent)?;
1182        }
1183        if self.page_size != 0 {
1184            os.write_int32(2, self.page_size)?;
1185        }
1186        if !self.page_token.is_empty() {
1187            os.write_string(3, &self.page_token)?;
1188        }
1189        if self.access_level_format != LevelFormat::LEVEL_FORMAT_UNSPECIFIED {
1190            os.write_enum(4, ::protobuf::ProtobufEnum::value(&self.access_level_format))?;
1191        }
1192        os.write_unknown_fields(self.get_unknown_fields())?;
1193        ::std::result::Result::Ok(())
1194    }
1195
1196    fn get_cached_size(&self) -> u32 {
1197        self.cached_size.get()
1198    }
1199
1200    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1201        &self.unknown_fields
1202    }
1203
1204    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1205        &mut self.unknown_fields
1206    }
1207
1208    fn as_any(&self) -> &dyn (::std::any::Any) {
1209        self as &dyn (::std::any::Any)
1210    }
1211    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1212        self as &mut dyn (::std::any::Any)
1213    }
1214    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1215        self
1216    }
1217
1218    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1219        Self::descriptor_static()
1220    }
1221
1222    fn new() -> ListAccessLevelsRequest {
1223        ListAccessLevelsRequest::new()
1224    }
1225
1226    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1227        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1228        descriptor.get(|| {
1229            let mut fields = ::std::vec::Vec::new();
1230            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1231                "parent",
1232                |m: &ListAccessLevelsRequest| { &m.parent },
1233                |m: &mut ListAccessLevelsRequest| { &mut m.parent },
1234            ));
1235            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
1236                "page_size",
1237                |m: &ListAccessLevelsRequest| { &m.page_size },
1238                |m: &mut ListAccessLevelsRequest| { &mut m.page_size },
1239            ));
1240            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1241                "page_token",
1242                |m: &ListAccessLevelsRequest| { &m.page_token },
1243                |m: &mut ListAccessLevelsRequest| { &mut m.page_token },
1244            ));
1245            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<LevelFormat>>(
1246                "access_level_format",
1247                |m: &ListAccessLevelsRequest| { &m.access_level_format },
1248                |m: &mut ListAccessLevelsRequest| { &mut m.access_level_format },
1249            ));
1250            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListAccessLevelsRequest>(
1251                "ListAccessLevelsRequest",
1252                fields,
1253                file_descriptor_proto()
1254            )
1255        })
1256    }
1257
1258    fn default_instance() -> &'static ListAccessLevelsRequest {
1259        static instance: ::protobuf::rt::LazyV2<ListAccessLevelsRequest> = ::protobuf::rt::LazyV2::INIT;
1260        instance.get(ListAccessLevelsRequest::new)
1261    }
1262}
1263
1264impl ::protobuf::Clear for ListAccessLevelsRequest {
1265    fn clear(&mut self) {
1266        self.parent.clear();
1267        self.page_size = 0;
1268        self.page_token.clear();
1269        self.access_level_format = LevelFormat::LEVEL_FORMAT_UNSPECIFIED;
1270        self.unknown_fields.clear();
1271    }
1272}
1273
1274impl ::std::fmt::Debug for ListAccessLevelsRequest {
1275    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1276        ::protobuf::text_format::fmt(self, f)
1277    }
1278}
1279
1280impl ::protobuf::reflect::ProtobufValue for ListAccessLevelsRequest {
1281    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1282        ::protobuf::reflect::ReflectValueRef::Message(self)
1283    }
1284}
1285
1286#[derive(PartialEq,Clone,Default)]
1287pub struct ListAccessLevelsResponse {
1288    // message fields
1289    pub access_levels: ::protobuf::RepeatedField<super::access_level::AccessLevel>,
1290    pub next_page_token: ::std::string::String,
1291    // special fields
1292    pub unknown_fields: ::protobuf::UnknownFields,
1293    pub cached_size: ::protobuf::CachedSize,
1294}
1295
1296impl<'a> ::std::default::Default for &'a ListAccessLevelsResponse {
1297    fn default() -> &'a ListAccessLevelsResponse {
1298        <ListAccessLevelsResponse as ::protobuf::Message>::default_instance()
1299    }
1300}
1301
1302impl ListAccessLevelsResponse {
1303    pub fn new() -> ListAccessLevelsResponse {
1304        ::std::default::Default::default()
1305    }
1306
1307    // repeated .google.identity.accesscontextmanager.v1.AccessLevel access_levels = 1;
1308
1309
1310    pub fn get_access_levels(&self) -> &[super::access_level::AccessLevel] {
1311        &self.access_levels
1312    }
1313    pub fn clear_access_levels(&mut self) {
1314        self.access_levels.clear();
1315    }
1316
1317    // Param is passed by value, moved
1318    pub fn set_access_levels(&mut self, v: ::protobuf::RepeatedField<super::access_level::AccessLevel>) {
1319        self.access_levels = v;
1320    }
1321
1322    // Mutable pointer to the field.
1323    pub fn mut_access_levels(&mut self) -> &mut ::protobuf::RepeatedField<super::access_level::AccessLevel> {
1324        &mut self.access_levels
1325    }
1326
1327    // Take field
1328    pub fn take_access_levels(&mut self) -> ::protobuf::RepeatedField<super::access_level::AccessLevel> {
1329        ::std::mem::replace(&mut self.access_levels, ::protobuf::RepeatedField::new())
1330    }
1331
1332    // string next_page_token = 2;
1333
1334
1335    pub fn get_next_page_token(&self) -> &str {
1336        &self.next_page_token
1337    }
1338    pub fn clear_next_page_token(&mut self) {
1339        self.next_page_token.clear();
1340    }
1341
1342    // Param is passed by value, moved
1343    pub fn set_next_page_token(&mut self, v: ::std::string::String) {
1344        self.next_page_token = v;
1345    }
1346
1347    // Mutable pointer to the field.
1348    // If field is not initialized, it is initialized with default value first.
1349    pub fn mut_next_page_token(&mut self) -> &mut ::std::string::String {
1350        &mut self.next_page_token
1351    }
1352
1353    // Take field
1354    pub fn take_next_page_token(&mut self) -> ::std::string::String {
1355        ::std::mem::replace(&mut self.next_page_token, ::std::string::String::new())
1356    }
1357}
1358
1359impl ::protobuf::Message for ListAccessLevelsResponse {
1360    fn is_initialized(&self) -> bool {
1361        for v in &self.access_levels {
1362            if !v.is_initialized() {
1363                return false;
1364            }
1365        };
1366        true
1367    }
1368
1369    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1370        while !is.eof()? {
1371            let (field_number, wire_type) = is.read_tag_unpack()?;
1372            match field_number {
1373                1 => {
1374                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.access_levels)?;
1375                },
1376                2 => {
1377                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.next_page_token)?;
1378                },
1379                _ => {
1380                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1381                },
1382            };
1383        }
1384        ::std::result::Result::Ok(())
1385    }
1386
1387    // Compute sizes of nested messages
1388    #[allow(unused_variables)]
1389    fn compute_size(&self) -> u32 {
1390        let mut my_size = 0;
1391        for value in &self.access_levels {
1392            let len = value.compute_size();
1393            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1394        };
1395        if !self.next_page_token.is_empty() {
1396            my_size += ::protobuf::rt::string_size(2, &self.next_page_token);
1397        }
1398        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1399        self.cached_size.set(my_size);
1400        my_size
1401    }
1402
1403    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1404        for v in &self.access_levels {
1405            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1406            os.write_raw_varint32(v.get_cached_size())?;
1407            v.write_to_with_cached_sizes(os)?;
1408        };
1409        if !self.next_page_token.is_empty() {
1410            os.write_string(2, &self.next_page_token)?;
1411        }
1412        os.write_unknown_fields(self.get_unknown_fields())?;
1413        ::std::result::Result::Ok(())
1414    }
1415
1416    fn get_cached_size(&self) -> u32 {
1417        self.cached_size.get()
1418    }
1419
1420    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1421        &self.unknown_fields
1422    }
1423
1424    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1425        &mut self.unknown_fields
1426    }
1427
1428    fn as_any(&self) -> &dyn (::std::any::Any) {
1429        self as &dyn (::std::any::Any)
1430    }
1431    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1432        self as &mut dyn (::std::any::Any)
1433    }
1434    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1435        self
1436    }
1437
1438    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1439        Self::descriptor_static()
1440    }
1441
1442    fn new() -> ListAccessLevelsResponse {
1443        ListAccessLevelsResponse::new()
1444    }
1445
1446    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1447        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1448        descriptor.get(|| {
1449            let mut fields = ::std::vec::Vec::new();
1450            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::access_level::AccessLevel>>(
1451                "access_levels",
1452                |m: &ListAccessLevelsResponse| { &m.access_levels },
1453                |m: &mut ListAccessLevelsResponse| { &mut m.access_levels },
1454            ));
1455            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1456                "next_page_token",
1457                |m: &ListAccessLevelsResponse| { &m.next_page_token },
1458                |m: &mut ListAccessLevelsResponse| { &mut m.next_page_token },
1459            ));
1460            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListAccessLevelsResponse>(
1461                "ListAccessLevelsResponse",
1462                fields,
1463                file_descriptor_proto()
1464            )
1465        })
1466    }
1467
1468    fn default_instance() -> &'static ListAccessLevelsResponse {
1469        static instance: ::protobuf::rt::LazyV2<ListAccessLevelsResponse> = ::protobuf::rt::LazyV2::INIT;
1470        instance.get(ListAccessLevelsResponse::new)
1471    }
1472}
1473
1474impl ::protobuf::Clear for ListAccessLevelsResponse {
1475    fn clear(&mut self) {
1476        self.access_levels.clear();
1477        self.next_page_token.clear();
1478        self.unknown_fields.clear();
1479    }
1480}
1481
1482impl ::std::fmt::Debug for ListAccessLevelsResponse {
1483    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1484        ::protobuf::text_format::fmt(self, f)
1485    }
1486}
1487
1488impl ::protobuf::reflect::ProtobufValue for ListAccessLevelsResponse {
1489    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1490        ::protobuf::reflect::ReflectValueRef::Message(self)
1491    }
1492}
1493
1494#[derive(PartialEq,Clone,Default)]
1495pub struct GetAccessLevelRequest {
1496    // message fields
1497    pub name: ::std::string::String,
1498    pub access_level_format: LevelFormat,
1499    // special fields
1500    pub unknown_fields: ::protobuf::UnknownFields,
1501    pub cached_size: ::protobuf::CachedSize,
1502}
1503
1504impl<'a> ::std::default::Default for &'a GetAccessLevelRequest {
1505    fn default() -> &'a GetAccessLevelRequest {
1506        <GetAccessLevelRequest as ::protobuf::Message>::default_instance()
1507    }
1508}
1509
1510impl GetAccessLevelRequest {
1511    pub fn new() -> GetAccessLevelRequest {
1512        ::std::default::Default::default()
1513    }
1514
1515    // string name = 1;
1516
1517
1518    pub fn get_name(&self) -> &str {
1519        &self.name
1520    }
1521    pub fn clear_name(&mut self) {
1522        self.name.clear();
1523    }
1524
1525    // Param is passed by value, moved
1526    pub fn set_name(&mut self, v: ::std::string::String) {
1527        self.name = v;
1528    }
1529
1530    // Mutable pointer to the field.
1531    // If field is not initialized, it is initialized with default value first.
1532    pub fn mut_name(&mut self) -> &mut ::std::string::String {
1533        &mut self.name
1534    }
1535
1536    // Take field
1537    pub fn take_name(&mut self) -> ::std::string::String {
1538        ::std::mem::replace(&mut self.name, ::std::string::String::new())
1539    }
1540
1541    // .google.identity.accesscontextmanager.v1.LevelFormat access_level_format = 2;
1542
1543
1544    pub fn get_access_level_format(&self) -> LevelFormat {
1545        self.access_level_format
1546    }
1547    pub fn clear_access_level_format(&mut self) {
1548        self.access_level_format = LevelFormat::LEVEL_FORMAT_UNSPECIFIED;
1549    }
1550
1551    // Param is passed by value, moved
1552    pub fn set_access_level_format(&mut self, v: LevelFormat) {
1553        self.access_level_format = v;
1554    }
1555}
1556
1557impl ::protobuf::Message for GetAccessLevelRequest {
1558    fn is_initialized(&self) -> bool {
1559        true
1560    }
1561
1562    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1563        while !is.eof()? {
1564            let (field_number, wire_type) = is.read_tag_unpack()?;
1565            match field_number {
1566                1 => {
1567                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
1568                },
1569                2 => {
1570                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.access_level_format, 2, &mut self.unknown_fields)?
1571                },
1572                _ => {
1573                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1574                },
1575            };
1576        }
1577        ::std::result::Result::Ok(())
1578    }
1579
1580    // Compute sizes of nested messages
1581    #[allow(unused_variables)]
1582    fn compute_size(&self) -> u32 {
1583        let mut my_size = 0;
1584        if !self.name.is_empty() {
1585            my_size += ::protobuf::rt::string_size(1, &self.name);
1586        }
1587        if self.access_level_format != LevelFormat::LEVEL_FORMAT_UNSPECIFIED {
1588            my_size += ::protobuf::rt::enum_size(2, self.access_level_format);
1589        }
1590        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1591        self.cached_size.set(my_size);
1592        my_size
1593    }
1594
1595    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1596        if !self.name.is_empty() {
1597            os.write_string(1, &self.name)?;
1598        }
1599        if self.access_level_format != LevelFormat::LEVEL_FORMAT_UNSPECIFIED {
1600            os.write_enum(2, ::protobuf::ProtobufEnum::value(&self.access_level_format))?;
1601        }
1602        os.write_unknown_fields(self.get_unknown_fields())?;
1603        ::std::result::Result::Ok(())
1604    }
1605
1606    fn get_cached_size(&self) -> u32 {
1607        self.cached_size.get()
1608    }
1609
1610    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1611        &self.unknown_fields
1612    }
1613
1614    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1615        &mut self.unknown_fields
1616    }
1617
1618    fn as_any(&self) -> &dyn (::std::any::Any) {
1619        self as &dyn (::std::any::Any)
1620    }
1621    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1622        self as &mut dyn (::std::any::Any)
1623    }
1624    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1625        self
1626    }
1627
1628    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1629        Self::descriptor_static()
1630    }
1631
1632    fn new() -> GetAccessLevelRequest {
1633        GetAccessLevelRequest::new()
1634    }
1635
1636    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1637        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1638        descriptor.get(|| {
1639            let mut fields = ::std::vec::Vec::new();
1640            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1641                "name",
1642                |m: &GetAccessLevelRequest| { &m.name },
1643                |m: &mut GetAccessLevelRequest| { &mut m.name },
1644            ));
1645            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<LevelFormat>>(
1646                "access_level_format",
1647                |m: &GetAccessLevelRequest| { &m.access_level_format },
1648                |m: &mut GetAccessLevelRequest| { &mut m.access_level_format },
1649            ));
1650            ::protobuf::reflect::MessageDescriptor::new_pb_name::<GetAccessLevelRequest>(
1651                "GetAccessLevelRequest",
1652                fields,
1653                file_descriptor_proto()
1654            )
1655        })
1656    }
1657
1658    fn default_instance() -> &'static GetAccessLevelRequest {
1659        static instance: ::protobuf::rt::LazyV2<GetAccessLevelRequest> = ::protobuf::rt::LazyV2::INIT;
1660        instance.get(GetAccessLevelRequest::new)
1661    }
1662}
1663
1664impl ::protobuf::Clear for GetAccessLevelRequest {
1665    fn clear(&mut self) {
1666        self.name.clear();
1667        self.access_level_format = LevelFormat::LEVEL_FORMAT_UNSPECIFIED;
1668        self.unknown_fields.clear();
1669    }
1670}
1671
1672impl ::std::fmt::Debug for GetAccessLevelRequest {
1673    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1674        ::protobuf::text_format::fmt(self, f)
1675    }
1676}
1677
1678impl ::protobuf::reflect::ProtobufValue for GetAccessLevelRequest {
1679    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1680        ::protobuf::reflect::ReflectValueRef::Message(self)
1681    }
1682}
1683
1684#[derive(PartialEq,Clone,Default)]
1685pub struct CreateAccessLevelRequest {
1686    // message fields
1687    pub parent: ::std::string::String,
1688    pub access_level: ::protobuf::SingularPtrField<super::access_level::AccessLevel>,
1689    // special fields
1690    pub unknown_fields: ::protobuf::UnknownFields,
1691    pub cached_size: ::protobuf::CachedSize,
1692}
1693
1694impl<'a> ::std::default::Default for &'a CreateAccessLevelRequest {
1695    fn default() -> &'a CreateAccessLevelRequest {
1696        <CreateAccessLevelRequest as ::protobuf::Message>::default_instance()
1697    }
1698}
1699
1700impl CreateAccessLevelRequest {
1701    pub fn new() -> CreateAccessLevelRequest {
1702        ::std::default::Default::default()
1703    }
1704
1705    // string parent = 1;
1706
1707
1708    pub fn get_parent(&self) -> &str {
1709        &self.parent
1710    }
1711    pub fn clear_parent(&mut self) {
1712        self.parent.clear();
1713    }
1714
1715    // Param is passed by value, moved
1716    pub fn set_parent(&mut self, v: ::std::string::String) {
1717        self.parent = v;
1718    }
1719
1720    // Mutable pointer to the field.
1721    // If field is not initialized, it is initialized with default value first.
1722    pub fn mut_parent(&mut self) -> &mut ::std::string::String {
1723        &mut self.parent
1724    }
1725
1726    // Take field
1727    pub fn take_parent(&mut self) -> ::std::string::String {
1728        ::std::mem::replace(&mut self.parent, ::std::string::String::new())
1729    }
1730
1731    // .google.identity.accesscontextmanager.v1.AccessLevel access_level = 2;
1732
1733
1734    pub fn get_access_level(&self) -> &super::access_level::AccessLevel {
1735        self.access_level.as_ref().unwrap_or_else(|| <super::access_level::AccessLevel as ::protobuf::Message>::default_instance())
1736    }
1737    pub fn clear_access_level(&mut self) {
1738        self.access_level.clear();
1739    }
1740
1741    pub fn has_access_level(&self) -> bool {
1742        self.access_level.is_some()
1743    }
1744
1745    // Param is passed by value, moved
1746    pub fn set_access_level(&mut self, v: super::access_level::AccessLevel) {
1747        self.access_level = ::protobuf::SingularPtrField::some(v);
1748    }
1749
1750    // Mutable pointer to the field.
1751    // If field is not initialized, it is initialized with default value first.
1752    pub fn mut_access_level(&mut self) -> &mut super::access_level::AccessLevel {
1753        if self.access_level.is_none() {
1754            self.access_level.set_default();
1755        }
1756        self.access_level.as_mut().unwrap()
1757    }
1758
1759    // Take field
1760    pub fn take_access_level(&mut self) -> super::access_level::AccessLevel {
1761        self.access_level.take().unwrap_or_else(|| super::access_level::AccessLevel::new())
1762    }
1763}
1764
1765impl ::protobuf::Message for CreateAccessLevelRequest {
1766    fn is_initialized(&self) -> bool {
1767        for v in &self.access_level {
1768            if !v.is_initialized() {
1769                return false;
1770            }
1771        };
1772        true
1773    }
1774
1775    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1776        while !is.eof()? {
1777            let (field_number, wire_type) = is.read_tag_unpack()?;
1778            match field_number {
1779                1 => {
1780                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent)?;
1781                },
1782                2 => {
1783                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.access_level)?;
1784                },
1785                _ => {
1786                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1787                },
1788            };
1789        }
1790        ::std::result::Result::Ok(())
1791    }
1792
1793    // Compute sizes of nested messages
1794    #[allow(unused_variables)]
1795    fn compute_size(&self) -> u32 {
1796        let mut my_size = 0;
1797        if !self.parent.is_empty() {
1798            my_size += ::protobuf::rt::string_size(1, &self.parent);
1799        }
1800        if let Some(ref v) = self.access_level.as_ref() {
1801            let len = v.compute_size();
1802            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1803        }
1804        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1805        self.cached_size.set(my_size);
1806        my_size
1807    }
1808
1809    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1810        if !self.parent.is_empty() {
1811            os.write_string(1, &self.parent)?;
1812        }
1813        if let Some(ref v) = self.access_level.as_ref() {
1814            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1815            os.write_raw_varint32(v.get_cached_size())?;
1816            v.write_to_with_cached_sizes(os)?;
1817        }
1818        os.write_unknown_fields(self.get_unknown_fields())?;
1819        ::std::result::Result::Ok(())
1820    }
1821
1822    fn get_cached_size(&self) -> u32 {
1823        self.cached_size.get()
1824    }
1825
1826    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1827        &self.unknown_fields
1828    }
1829
1830    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1831        &mut self.unknown_fields
1832    }
1833
1834    fn as_any(&self) -> &dyn (::std::any::Any) {
1835        self as &dyn (::std::any::Any)
1836    }
1837    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1838        self as &mut dyn (::std::any::Any)
1839    }
1840    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1841        self
1842    }
1843
1844    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1845        Self::descriptor_static()
1846    }
1847
1848    fn new() -> CreateAccessLevelRequest {
1849        CreateAccessLevelRequest::new()
1850    }
1851
1852    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1853        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1854        descriptor.get(|| {
1855            let mut fields = ::std::vec::Vec::new();
1856            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1857                "parent",
1858                |m: &CreateAccessLevelRequest| { &m.parent },
1859                |m: &mut CreateAccessLevelRequest| { &mut m.parent },
1860            ));
1861            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::access_level::AccessLevel>>(
1862                "access_level",
1863                |m: &CreateAccessLevelRequest| { &m.access_level },
1864                |m: &mut CreateAccessLevelRequest| { &mut m.access_level },
1865            ));
1866            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CreateAccessLevelRequest>(
1867                "CreateAccessLevelRequest",
1868                fields,
1869                file_descriptor_proto()
1870            )
1871        })
1872    }
1873
1874    fn default_instance() -> &'static CreateAccessLevelRequest {
1875        static instance: ::protobuf::rt::LazyV2<CreateAccessLevelRequest> = ::protobuf::rt::LazyV2::INIT;
1876        instance.get(CreateAccessLevelRequest::new)
1877    }
1878}
1879
1880impl ::protobuf::Clear for CreateAccessLevelRequest {
1881    fn clear(&mut self) {
1882        self.parent.clear();
1883        self.access_level.clear();
1884        self.unknown_fields.clear();
1885    }
1886}
1887
1888impl ::std::fmt::Debug for CreateAccessLevelRequest {
1889    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1890        ::protobuf::text_format::fmt(self, f)
1891    }
1892}
1893
1894impl ::protobuf::reflect::ProtobufValue for CreateAccessLevelRequest {
1895    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1896        ::protobuf::reflect::ReflectValueRef::Message(self)
1897    }
1898}
1899
1900#[derive(PartialEq,Clone,Default)]
1901pub struct UpdateAccessLevelRequest {
1902    // message fields
1903    pub access_level: ::protobuf::SingularPtrField<super::access_level::AccessLevel>,
1904    pub update_mask: ::protobuf::SingularPtrField<::protobuf::well_known_types::FieldMask>,
1905    // special fields
1906    pub unknown_fields: ::protobuf::UnknownFields,
1907    pub cached_size: ::protobuf::CachedSize,
1908}
1909
1910impl<'a> ::std::default::Default for &'a UpdateAccessLevelRequest {
1911    fn default() -> &'a UpdateAccessLevelRequest {
1912        <UpdateAccessLevelRequest as ::protobuf::Message>::default_instance()
1913    }
1914}
1915
1916impl UpdateAccessLevelRequest {
1917    pub fn new() -> UpdateAccessLevelRequest {
1918        ::std::default::Default::default()
1919    }
1920
1921    // .google.identity.accesscontextmanager.v1.AccessLevel access_level = 1;
1922
1923
1924    pub fn get_access_level(&self) -> &super::access_level::AccessLevel {
1925        self.access_level.as_ref().unwrap_or_else(|| <super::access_level::AccessLevel as ::protobuf::Message>::default_instance())
1926    }
1927    pub fn clear_access_level(&mut self) {
1928        self.access_level.clear();
1929    }
1930
1931    pub fn has_access_level(&self) -> bool {
1932        self.access_level.is_some()
1933    }
1934
1935    // Param is passed by value, moved
1936    pub fn set_access_level(&mut self, v: super::access_level::AccessLevel) {
1937        self.access_level = ::protobuf::SingularPtrField::some(v);
1938    }
1939
1940    // Mutable pointer to the field.
1941    // If field is not initialized, it is initialized with default value first.
1942    pub fn mut_access_level(&mut self) -> &mut super::access_level::AccessLevel {
1943        if self.access_level.is_none() {
1944            self.access_level.set_default();
1945        }
1946        self.access_level.as_mut().unwrap()
1947    }
1948
1949    // Take field
1950    pub fn take_access_level(&mut self) -> super::access_level::AccessLevel {
1951        self.access_level.take().unwrap_or_else(|| super::access_level::AccessLevel::new())
1952    }
1953
1954    // .google.protobuf.FieldMask update_mask = 2;
1955
1956
1957    pub fn get_update_mask(&self) -> &::protobuf::well_known_types::FieldMask {
1958        self.update_mask.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::FieldMask as ::protobuf::Message>::default_instance())
1959    }
1960    pub fn clear_update_mask(&mut self) {
1961        self.update_mask.clear();
1962    }
1963
1964    pub fn has_update_mask(&self) -> bool {
1965        self.update_mask.is_some()
1966    }
1967
1968    // Param is passed by value, moved
1969    pub fn set_update_mask(&mut self, v: ::protobuf::well_known_types::FieldMask) {
1970        self.update_mask = ::protobuf::SingularPtrField::some(v);
1971    }
1972
1973    // Mutable pointer to the field.
1974    // If field is not initialized, it is initialized with default value first.
1975    pub fn mut_update_mask(&mut self) -> &mut ::protobuf::well_known_types::FieldMask {
1976        if self.update_mask.is_none() {
1977            self.update_mask.set_default();
1978        }
1979        self.update_mask.as_mut().unwrap()
1980    }
1981
1982    // Take field
1983    pub fn take_update_mask(&mut self) -> ::protobuf::well_known_types::FieldMask {
1984        self.update_mask.take().unwrap_or_else(|| ::protobuf::well_known_types::FieldMask::new())
1985    }
1986}
1987
1988impl ::protobuf::Message for UpdateAccessLevelRequest {
1989    fn is_initialized(&self) -> bool {
1990        for v in &self.access_level {
1991            if !v.is_initialized() {
1992                return false;
1993            }
1994        };
1995        for v in &self.update_mask {
1996            if !v.is_initialized() {
1997                return false;
1998            }
1999        };
2000        true
2001    }
2002
2003    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2004        while !is.eof()? {
2005            let (field_number, wire_type) = is.read_tag_unpack()?;
2006            match field_number {
2007                1 => {
2008                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.access_level)?;
2009                },
2010                2 => {
2011                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.update_mask)?;
2012                },
2013                _ => {
2014                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2015                },
2016            };
2017        }
2018        ::std::result::Result::Ok(())
2019    }
2020
2021    // Compute sizes of nested messages
2022    #[allow(unused_variables)]
2023    fn compute_size(&self) -> u32 {
2024        let mut my_size = 0;
2025        if let Some(ref v) = self.access_level.as_ref() {
2026            let len = v.compute_size();
2027            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2028        }
2029        if let Some(ref v) = self.update_mask.as_ref() {
2030            let len = v.compute_size();
2031            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2032        }
2033        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2034        self.cached_size.set(my_size);
2035        my_size
2036    }
2037
2038    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2039        if let Some(ref v) = self.access_level.as_ref() {
2040            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2041            os.write_raw_varint32(v.get_cached_size())?;
2042            v.write_to_with_cached_sizes(os)?;
2043        }
2044        if let Some(ref v) = self.update_mask.as_ref() {
2045            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2046            os.write_raw_varint32(v.get_cached_size())?;
2047            v.write_to_with_cached_sizes(os)?;
2048        }
2049        os.write_unknown_fields(self.get_unknown_fields())?;
2050        ::std::result::Result::Ok(())
2051    }
2052
2053    fn get_cached_size(&self) -> u32 {
2054        self.cached_size.get()
2055    }
2056
2057    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2058        &self.unknown_fields
2059    }
2060
2061    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2062        &mut self.unknown_fields
2063    }
2064
2065    fn as_any(&self) -> &dyn (::std::any::Any) {
2066        self as &dyn (::std::any::Any)
2067    }
2068    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2069        self as &mut dyn (::std::any::Any)
2070    }
2071    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2072        self
2073    }
2074
2075    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2076        Self::descriptor_static()
2077    }
2078
2079    fn new() -> UpdateAccessLevelRequest {
2080        UpdateAccessLevelRequest::new()
2081    }
2082
2083    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2084        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2085        descriptor.get(|| {
2086            let mut fields = ::std::vec::Vec::new();
2087            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::access_level::AccessLevel>>(
2088                "access_level",
2089                |m: &UpdateAccessLevelRequest| { &m.access_level },
2090                |m: &mut UpdateAccessLevelRequest| { &mut m.access_level },
2091            ));
2092            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::FieldMask>>(
2093                "update_mask",
2094                |m: &UpdateAccessLevelRequest| { &m.update_mask },
2095                |m: &mut UpdateAccessLevelRequest| { &mut m.update_mask },
2096            ));
2097            ::protobuf::reflect::MessageDescriptor::new_pb_name::<UpdateAccessLevelRequest>(
2098                "UpdateAccessLevelRequest",
2099                fields,
2100                file_descriptor_proto()
2101            )
2102        })
2103    }
2104
2105    fn default_instance() -> &'static UpdateAccessLevelRequest {
2106        static instance: ::protobuf::rt::LazyV2<UpdateAccessLevelRequest> = ::protobuf::rt::LazyV2::INIT;
2107        instance.get(UpdateAccessLevelRequest::new)
2108    }
2109}
2110
2111impl ::protobuf::Clear for UpdateAccessLevelRequest {
2112    fn clear(&mut self) {
2113        self.access_level.clear();
2114        self.update_mask.clear();
2115        self.unknown_fields.clear();
2116    }
2117}
2118
2119impl ::std::fmt::Debug for UpdateAccessLevelRequest {
2120    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2121        ::protobuf::text_format::fmt(self, f)
2122    }
2123}
2124
2125impl ::protobuf::reflect::ProtobufValue for UpdateAccessLevelRequest {
2126    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2127        ::protobuf::reflect::ReflectValueRef::Message(self)
2128    }
2129}
2130
2131#[derive(PartialEq,Clone,Default)]
2132pub struct DeleteAccessLevelRequest {
2133    // message fields
2134    pub name: ::std::string::String,
2135    // special fields
2136    pub unknown_fields: ::protobuf::UnknownFields,
2137    pub cached_size: ::protobuf::CachedSize,
2138}
2139
2140impl<'a> ::std::default::Default for &'a DeleteAccessLevelRequest {
2141    fn default() -> &'a DeleteAccessLevelRequest {
2142        <DeleteAccessLevelRequest as ::protobuf::Message>::default_instance()
2143    }
2144}
2145
2146impl DeleteAccessLevelRequest {
2147    pub fn new() -> DeleteAccessLevelRequest {
2148        ::std::default::Default::default()
2149    }
2150
2151    // string name = 1;
2152
2153
2154    pub fn get_name(&self) -> &str {
2155        &self.name
2156    }
2157    pub fn clear_name(&mut self) {
2158        self.name.clear();
2159    }
2160
2161    // Param is passed by value, moved
2162    pub fn set_name(&mut self, v: ::std::string::String) {
2163        self.name = v;
2164    }
2165
2166    // Mutable pointer to the field.
2167    // If field is not initialized, it is initialized with default value first.
2168    pub fn mut_name(&mut self) -> &mut ::std::string::String {
2169        &mut self.name
2170    }
2171
2172    // Take field
2173    pub fn take_name(&mut self) -> ::std::string::String {
2174        ::std::mem::replace(&mut self.name, ::std::string::String::new())
2175    }
2176}
2177
2178impl ::protobuf::Message for DeleteAccessLevelRequest {
2179    fn is_initialized(&self) -> bool {
2180        true
2181    }
2182
2183    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2184        while !is.eof()? {
2185            let (field_number, wire_type) = is.read_tag_unpack()?;
2186            match field_number {
2187                1 => {
2188                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
2189                },
2190                _ => {
2191                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2192                },
2193            };
2194        }
2195        ::std::result::Result::Ok(())
2196    }
2197
2198    // Compute sizes of nested messages
2199    #[allow(unused_variables)]
2200    fn compute_size(&self) -> u32 {
2201        let mut my_size = 0;
2202        if !self.name.is_empty() {
2203            my_size += ::protobuf::rt::string_size(1, &self.name);
2204        }
2205        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2206        self.cached_size.set(my_size);
2207        my_size
2208    }
2209
2210    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2211        if !self.name.is_empty() {
2212            os.write_string(1, &self.name)?;
2213        }
2214        os.write_unknown_fields(self.get_unknown_fields())?;
2215        ::std::result::Result::Ok(())
2216    }
2217
2218    fn get_cached_size(&self) -> u32 {
2219        self.cached_size.get()
2220    }
2221
2222    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2223        &self.unknown_fields
2224    }
2225
2226    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2227        &mut self.unknown_fields
2228    }
2229
2230    fn as_any(&self) -> &dyn (::std::any::Any) {
2231        self as &dyn (::std::any::Any)
2232    }
2233    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2234        self as &mut dyn (::std::any::Any)
2235    }
2236    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2237        self
2238    }
2239
2240    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2241        Self::descriptor_static()
2242    }
2243
2244    fn new() -> DeleteAccessLevelRequest {
2245        DeleteAccessLevelRequest::new()
2246    }
2247
2248    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2249        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2250        descriptor.get(|| {
2251            let mut fields = ::std::vec::Vec::new();
2252            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2253                "name",
2254                |m: &DeleteAccessLevelRequest| { &m.name },
2255                |m: &mut DeleteAccessLevelRequest| { &mut m.name },
2256            ));
2257            ::protobuf::reflect::MessageDescriptor::new_pb_name::<DeleteAccessLevelRequest>(
2258                "DeleteAccessLevelRequest",
2259                fields,
2260                file_descriptor_proto()
2261            )
2262        })
2263    }
2264
2265    fn default_instance() -> &'static DeleteAccessLevelRequest {
2266        static instance: ::protobuf::rt::LazyV2<DeleteAccessLevelRequest> = ::protobuf::rt::LazyV2::INIT;
2267        instance.get(DeleteAccessLevelRequest::new)
2268    }
2269}
2270
2271impl ::protobuf::Clear for DeleteAccessLevelRequest {
2272    fn clear(&mut self) {
2273        self.name.clear();
2274        self.unknown_fields.clear();
2275    }
2276}
2277
2278impl ::std::fmt::Debug for DeleteAccessLevelRequest {
2279    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2280        ::protobuf::text_format::fmt(self, f)
2281    }
2282}
2283
2284impl ::protobuf::reflect::ProtobufValue for DeleteAccessLevelRequest {
2285    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2286        ::protobuf::reflect::ReflectValueRef::Message(self)
2287    }
2288}
2289
2290#[derive(PartialEq,Clone,Default)]
2291pub struct ReplaceAccessLevelsRequest {
2292    // message fields
2293    pub parent: ::std::string::String,
2294    pub access_levels: ::protobuf::RepeatedField<super::access_level::AccessLevel>,
2295    pub etag: ::std::string::String,
2296    // special fields
2297    pub unknown_fields: ::protobuf::UnknownFields,
2298    pub cached_size: ::protobuf::CachedSize,
2299}
2300
2301impl<'a> ::std::default::Default for &'a ReplaceAccessLevelsRequest {
2302    fn default() -> &'a ReplaceAccessLevelsRequest {
2303        <ReplaceAccessLevelsRequest as ::protobuf::Message>::default_instance()
2304    }
2305}
2306
2307impl ReplaceAccessLevelsRequest {
2308    pub fn new() -> ReplaceAccessLevelsRequest {
2309        ::std::default::Default::default()
2310    }
2311
2312    // string parent = 1;
2313
2314
2315    pub fn get_parent(&self) -> &str {
2316        &self.parent
2317    }
2318    pub fn clear_parent(&mut self) {
2319        self.parent.clear();
2320    }
2321
2322    // Param is passed by value, moved
2323    pub fn set_parent(&mut self, v: ::std::string::String) {
2324        self.parent = 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_parent(&mut self) -> &mut ::std::string::String {
2330        &mut self.parent
2331    }
2332
2333    // Take field
2334    pub fn take_parent(&mut self) -> ::std::string::String {
2335        ::std::mem::replace(&mut self.parent, ::std::string::String::new())
2336    }
2337
2338    // repeated .google.identity.accesscontextmanager.v1.AccessLevel access_levels = 2;
2339
2340
2341    pub fn get_access_levels(&self) -> &[super::access_level::AccessLevel] {
2342        &self.access_levels
2343    }
2344    pub fn clear_access_levels(&mut self) {
2345        self.access_levels.clear();
2346    }
2347
2348    // Param is passed by value, moved
2349    pub fn set_access_levels(&mut self, v: ::protobuf::RepeatedField<super::access_level::AccessLevel>) {
2350        self.access_levels = v;
2351    }
2352
2353    // Mutable pointer to the field.
2354    pub fn mut_access_levels(&mut self) -> &mut ::protobuf::RepeatedField<super::access_level::AccessLevel> {
2355        &mut self.access_levels
2356    }
2357
2358    // Take field
2359    pub fn take_access_levels(&mut self) -> ::protobuf::RepeatedField<super::access_level::AccessLevel> {
2360        ::std::mem::replace(&mut self.access_levels, ::protobuf::RepeatedField::new())
2361    }
2362
2363    // string etag = 4;
2364
2365
2366    pub fn get_etag(&self) -> &str {
2367        &self.etag
2368    }
2369    pub fn clear_etag(&mut self) {
2370        self.etag.clear();
2371    }
2372
2373    // Param is passed by value, moved
2374    pub fn set_etag(&mut self, v: ::std::string::String) {
2375        self.etag = v;
2376    }
2377
2378    // Mutable pointer to the field.
2379    // If field is not initialized, it is initialized with default value first.
2380    pub fn mut_etag(&mut self) -> &mut ::std::string::String {
2381        &mut self.etag
2382    }
2383
2384    // Take field
2385    pub fn take_etag(&mut self) -> ::std::string::String {
2386        ::std::mem::replace(&mut self.etag, ::std::string::String::new())
2387    }
2388}
2389
2390impl ::protobuf::Message for ReplaceAccessLevelsRequest {
2391    fn is_initialized(&self) -> bool {
2392        for v in &self.access_levels {
2393            if !v.is_initialized() {
2394                return false;
2395            }
2396        };
2397        true
2398    }
2399
2400    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2401        while !is.eof()? {
2402            let (field_number, wire_type) = is.read_tag_unpack()?;
2403            match field_number {
2404                1 => {
2405                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent)?;
2406                },
2407                2 => {
2408                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.access_levels)?;
2409                },
2410                4 => {
2411                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.etag)?;
2412                },
2413                _ => {
2414                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2415                },
2416            };
2417        }
2418        ::std::result::Result::Ok(())
2419    }
2420
2421    // Compute sizes of nested messages
2422    #[allow(unused_variables)]
2423    fn compute_size(&self) -> u32 {
2424        let mut my_size = 0;
2425        if !self.parent.is_empty() {
2426            my_size += ::protobuf::rt::string_size(1, &self.parent);
2427        }
2428        for value in &self.access_levels {
2429            let len = value.compute_size();
2430            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2431        };
2432        if !self.etag.is_empty() {
2433            my_size += ::protobuf::rt::string_size(4, &self.etag);
2434        }
2435        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2436        self.cached_size.set(my_size);
2437        my_size
2438    }
2439
2440    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2441        if !self.parent.is_empty() {
2442            os.write_string(1, &self.parent)?;
2443        }
2444        for v in &self.access_levels {
2445            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2446            os.write_raw_varint32(v.get_cached_size())?;
2447            v.write_to_with_cached_sizes(os)?;
2448        };
2449        if !self.etag.is_empty() {
2450            os.write_string(4, &self.etag)?;
2451        }
2452        os.write_unknown_fields(self.get_unknown_fields())?;
2453        ::std::result::Result::Ok(())
2454    }
2455
2456    fn get_cached_size(&self) -> u32 {
2457        self.cached_size.get()
2458    }
2459
2460    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2461        &self.unknown_fields
2462    }
2463
2464    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2465        &mut self.unknown_fields
2466    }
2467
2468    fn as_any(&self) -> &dyn (::std::any::Any) {
2469        self as &dyn (::std::any::Any)
2470    }
2471    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2472        self as &mut dyn (::std::any::Any)
2473    }
2474    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2475        self
2476    }
2477
2478    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2479        Self::descriptor_static()
2480    }
2481
2482    fn new() -> ReplaceAccessLevelsRequest {
2483        ReplaceAccessLevelsRequest::new()
2484    }
2485
2486    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2487        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2488        descriptor.get(|| {
2489            let mut fields = ::std::vec::Vec::new();
2490            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2491                "parent",
2492                |m: &ReplaceAccessLevelsRequest| { &m.parent },
2493                |m: &mut ReplaceAccessLevelsRequest| { &mut m.parent },
2494            ));
2495            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::access_level::AccessLevel>>(
2496                "access_levels",
2497                |m: &ReplaceAccessLevelsRequest| { &m.access_levels },
2498                |m: &mut ReplaceAccessLevelsRequest| { &mut m.access_levels },
2499            ));
2500            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2501                "etag",
2502                |m: &ReplaceAccessLevelsRequest| { &m.etag },
2503                |m: &mut ReplaceAccessLevelsRequest| { &mut m.etag },
2504            ));
2505            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ReplaceAccessLevelsRequest>(
2506                "ReplaceAccessLevelsRequest",
2507                fields,
2508                file_descriptor_proto()
2509            )
2510        })
2511    }
2512
2513    fn default_instance() -> &'static ReplaceAccessLevelsRequest {
2514        static instance: ::protobuf::rt::LazyV2<ReplaceAccessLevelsRequest> = ::protobuf::rt::LazyV2::INIT;
2515        instance.get(ReplaceAccessLevelsRequest::new)
2516    }
2517}
2518
2519impl ::protobuf::Clear for ReplaceAccessLevelsRequest {
2520    fn clear(&mut self) {
2521        self.parent.clear();
2522        self.access_levels.clear();
2523        self.etag.clear();
2524        self.unknown_fields.clear();
2525    }
2526}
2527
2528impl ::std::fmt::Debug for ReplaceAccessLevelsRequest {
2529    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2530        ::protobuf::text_format::fmt(self, f)
2531    }
2532}
2533
2534impl ::protobuf::reflect::ProtobufValue for ReplaceAccessLevelsRequest {
2535    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2536        ::protobuf::reflect::ReflectValueRef::Message(self)
2537    }
2538}
2539
2540#[derive(PartialEq,Clone,Default)]
2541pub struct ReplaceAccessLevelsResponse {
2542    // message fields
2543    pub access_levels: ::protobuf::RepeatedField<super::access_level::AccessLevel>,
2544    // special fields
2545    pub unknown_fields: ::protobuf::UnknownFields,
2546    pub cached_size: ::protobuf::CachedSize,
2547}
2548
2549impl<'a> ::std::default::Default for &'a ReplaceAccessLevelsResponse {
2550    fn default() -> &'a ReplaceAccessLevelsResponse {
2551        <ReplaceAccessLevelsResponse as ::protobuf::Message>::default_instance()
2552    }
2553}
2554
2555impl ReplaceAccessLevelsResponse {
2556    pub fn new() -> ReplaceAccessLevelsResponse {
2557        ::std::default::Default::default()
2558    }
2559
2560    // repeated .google.identity.accesscontextmanager.v1.AccessLevel access_levels = 1;
2561
2562
2563    pub fn get_access_levels(&self) -> &[super::access_level::AccessLevel] {
2564        &self.access_levels
2565    }
2566    pub fn clear_access_levels(&mut self) {
2567        self.access_levels.clear();
2568    }
2569
2570    // Param is passed by value, moved
2571    pub fn set_access_levels(&mut self, v: ::protobuf::RepeatedField<super::access_level::AccessLevel>) {
2572        self.access_levels = v;
2573    }
2574
2575    // Mutable pointer to the field.
2576    pub fn mut_access_levels(&mut self) -> &mut ::protobuf::RepeatedField<super::access_level::AccessLevel> {
2577        &mut self.access_levels
2578    }
2579
2580    // Take field
2581    pub fn take_access_levels(&mut self) -> ::protobuf::RepeatedField<super::access_level::AccessLevel> {
2582        ::std::mem::replace(&mut self.access_levels, ::protobuf::RepeatedField::new())
2583    }
2584}
2585
2586impl ::protobuf::Message for ReplaceAccessLevelsResponse {
2587    fn is_initialized(&self) -> bool {
2588        for v in &self.access_levels {
2589            if !v.is_initialized() {
2590                return false;
2591            }
2592        };
2593        true
2594    }
2595
2596    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2597        while !is.eof()? {
2598            let (field_number, wire_type) = is.read_tag_unpack()?;
2599            match field_number {
2600                1 => {
2601                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.access_levels)?;
2602                },
2603                _ => {
2604                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2605                },
2606            };
2607        }
2608        ::std::result::Result::Ok(())
2609    }
2610
2611    // Compute sizes of nested messages
2612    #[allow(unused_variables)]
2613    fn compute_size(&self) -> u32 {
2614        let mut my_size = 0;
2615        for value in &self.access_levels {
2616            let len = value.compute_size();
2617            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
2618        };
2619        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2620        self.cached_size.set(my_size);
2621        my_size
2622    }
2623
2624    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2625        for v in &self.access_levels {
2626            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
2627            os.write_raw_varint32(v.get_cached_size())?;
2628            v.write_to_with_cached_sizes(os)?;
2629        };
2630        os.write_unknown_fields(self.get_unknown_fields())?;
2631        ::std::result::Result::Ok(())
2632    }
2633
2634    fn get_cached_size(&self) -> u32 {
2635        self.cached_size.get()
2636    }
2637
2638    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2639        &self.unknown_fields
2640    }
2641
2642    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2643        &mut self.unknown_fields
2644    }
2645
2646    fn as_any(&self) -> &dyn (::std::any::Any) {
2647        self as &dyn (::std::any::Any)
2648    }
2649    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2650        self as &mut dyn (::std::any::Any)
2651    }
2652    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2653        self
2654    }
2655
2656    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2657        Self::descriptor_static()
2658    }
2659
2660    fn new() -> ReplaceAccessLevelsResponse {
2661        ReplaceAccessLevelsResponse::new()
2662    }
2663
2664    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2665        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2666        descriptor.get(|| {
2667            let mut fields = ::std::vec::Vec::new();
2668            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::access_level::AccessLevel>>(
2669                "access_levels",
2670                |m: &ReplaceAccessLevelsResponse| { &m.access_levels },
2671                |m: &mut ReplaceAccessLevelsResponse| { &mut m.access_levels },
2672            ));
2673            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ReplaceAccessLevelsResponse>(
2674                "ReplaceAccessLevelsResponse",
2675                fields,
2676                file_descriptor_proto()
2677            )
2678        })
2679    }
2680
2681    fn default_instance() -> &'static ReplaceAccessLevelsResponse {
2682        static instance: ::protobuf::rt::LazyV2<ReplaceAccessLevelsResponse> = ::protobuf::rt::LazyV2::INIT;
2683        instance.get(ReplaceAccessLevelsResponse::new)
2684    }
2685}
2686
2687impl ::protobuf::Clear for ReplaceAccessLevelsResponse {
2688    fn clear(&mut self) {
2689        self.access_levels.clear();
2690        self.unknown_fields.clear();
2691    }
2692}
2693
2694impl ::std::fmt::Debug for ReplaceAccessLevelsResponse {
2695    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2696        ::protobuf::text_format::fmt(self, f)
2697    }
2698}
2699
2700impl ::protobuf::reflect::ProtobufValue for ReplaceAccessLevelsResponse {
2701    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2702        ::protobuf::reflect::ReflectValueRef::Message(self)
2703    }
2704}
2705
2706#[derive(PartialEq,Clone,Default)]
2707pub struct ListServicePerimetersRequest {
2708    // message fields
2709    pub parent: ::std::string::String,
2710    pub page_size: i32,
2711    pub page_token: ::std::string::String,
2712    // special fields
2713    pub unknown_fields: ::protobuf::UnknownFields,
2714    pub cached_size: ::protobuf::CachedSize,
2715}
2716
2717impl<'a> ::std::default::Default for &'a ListServicePerimetersRequest {
2718    fn default() -> &'a ListServicePerimetersRequest {
2719        <ListServicePerimetersRequest as ::protobuf::Message>::default_instance()
2720    }
2721}
2722
2723impl ListServicePerimetersRequest {
2724    pub fn new() -> ListServicePerimetersRequest {
2725        ::std::default::Default::default()
2726    }
2727
2728    // string parent = 1;
2729
2730
2731    pub fn get_parent(&self) -> &str {
2732        &self.parent
2733    }
2734    pub fn clear_parent(&mut self) {
2735        self.parent.clear();
2736    }
2737
2738    // Param is passed by value, moved
2739    pub fn set_parent(&mut self, v: ::std::string::String) {
2740        self.parent = v;
2741    }
2742
2743    // Mutable pointer to the field.
2744    // If field is not initialized, it is initialized with default value first.
2745    pub fn mut_parent(&mut self) -> &mut ::std::string::String {
2746        &mut self.parent
2747    }
2748
2749    // Take field
2750    pub fn take_parent(&mut self) -> ::std::string::String {
2751        ::std::mem::replace(&mut self.parent, ::std::string::String::new())
2752    }
2753
2754    // int32 page_size = 2;
2755
2756
2757    pub fn get_page_size(&self) -> i32 {
2758        self.page_size
2759    }
2760    pub fn clear_page_size(&mut self) {
2761        self.page_size = 0;
2762    }
2763
2764    // Param is passed by value, moved
2765    pub fn set_page_size(&mut self, v: i32) {
2766        self.page_size = v;
2767    }
2768
2769    // string page_token = 3;
2770
2771
2772    pub fn get_page_token(&self) -> &str {
2773        &self.page_token
2774    }
2775    pub fn clear_page_token(&mut self) {
2776        self.page_token.clear();
2777    }
2778
2779    // Param is passed by value, moved
2780    pub fn set_page_token(&mut self, v: ::std::string::String) {
2781        self.page_token = v;
2782    }
2783
2784    // Mutable pointer to the field.
2785    // If field is not initialized, it is initialized with default value first.
2786    pub fn mut_page_token(&mut self) -> &mut ::std::string::String {
2787        &mut self.page_token
2788    }
2789
2790    // Take field
2791    pub fn take_page_token(&mut self) -> ::std::string::String {
2792        ::std::mem::replace(&mut self.page_token, ::std::string::String::new())
2793    }
2794}
2795
2796impl ::protobuf::Message for ListServicePerimetersRequest {
2797    fn is_initialized(&self) -> bool {
2798        true
2799    }
2800
2801    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2802        while !is.eof()? {
2803            let (field_number, wire_type) = is.read_tag_unpack()?;
2804            match field_number {
2805                1 => {
2806                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent)?;
2807                },
2808                2 => {
2809                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
2810                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
2811                    }
2812                    let tmp = is.read_int32()?;
2813                    self.page_size = tmp;
2814                },
2815                3 => {
2816                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.page_token)?;
2817                },
2818                _ => {
2819                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
2820                },
2821            };
2822        }
2823        ::std::result::Result::Ok(())
2824    }
2825
2826    // Compute sizes of nested messages
2827    #[allow(unused_variables)]
2828    fn compute_size(&self) -> u32 {
2829        let mut my_size = 0;
2830        if !self.parent.is_empty() {
2831            my_size += ::protobuf::rt::string_size(1, &self.parent);
2832        }
2833        if self.page_size != 0 {
2834            my_size += ::protobuf::rt::value_size(2, self.page_size, ::protobuf::wire_format::WireTypeVarint);
2835        }
2836        if !self.page_token.is_empty() {
2837            my_size += ::protobuf::rt::string_size(3, &self.page_token);
2838        }
2839        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
2840        self.cached_size.set(my_size);
2841        my_size
2842    }
2843
2844    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
2845        if !self.parent.is_empty() {
2846            os.write_string(1, &self.parent)?;
2847        }
2848        if self.page_size != 0 {
2849            os.write_int32(2, self.page_size)?;
2850        }
2851        if !self.page_token.is_empty() {
2852            os.write_string(3, &self.page_token)?;
2853        }
2854        os.write_unknown_fields(self.get_unknown_fields())?;
2855        ::std::result::Result::Ok(())
2856    }
2857
2858    fn get_cached_size(&self) -> u32 {
2859        self.cached_size.get()
2860    }
2861
2862    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
2863        &self.unknown_fields
2864    }
2865
2866    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
2867        &mut self.unknown_fields
2868    }
2869
2870    fn as_any(&self) -> &dyn (::std::any::Any) {
2871        self as &dyn (::std::any::Any)
2872    }
2873    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
2874        self as &mut dyn (::std::any::Any)
2875    }
2876    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
2877        self
2878    }
2879
2880    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
2881        Self::descriptor_static()
2882    }
2883
2884    fn new() -> ListServicePerimetersRequest {
2885        ListServicePerimetersRequest::new()
2886    }
2887
2888    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
2889        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
2890        descriptor.get(|| {
2891            let mut fields = ::std::vec::Vec::new();
2892            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2893                "parent",
2894                |m: &ListServicePerimetersRequest| { &m.parent },
2895                |m: &mut ListServicePerimetersRequest| { &mut m.parent },
2896            ));
2897            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
2898                "page_size",
2899                |m: &ListServicePerimetersRequest| { &m.page_size },
2900                |m: &mut ListServicePerimetersRequest| { &mut m.page_size },
2901            ));
2902            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
2903                "page_token",
2904                |m: &ListServicePerimetersRequest| { &m.page_token },
2905                |m: &mut ListServicePerimetersRequest| { &mut m.page_token },
2906            ));
2907            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListServicePerimetersRequest>(
2908                "ListServicePerimetersRequest",
2909                fields,
2910                file_descriptor_proto()
2911            )
2912        })
2913    }
2914
2915    fn default_instance() -> &'static ListServicePerimetersRequest {
2916        static instance: ::protobuf::rt::LazyV2<ListServicePerimetersRequest> = ::protobuf::rt::LazyV2::INIT;
2917        instance.get(ListServicePerimetersRequest::new)
2918    }
2919}
2920
2921impl ::protobuf::Clear for ListServicePerimetersRequest {
2922    fn clear(&mut self) {
2923        self.parent.clear();
2924        self.page_size = 0;
2925        self.page_token.clear();
2926        self.unknown_fields.clear();
2927    }
2928}
2929
2930impl ::std::fmt::Debug for ListServicePerimetersRequest {
2931    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2932        ::protobuf::text_format::fmt(self, f)
2933    }
2934}
2935
2936impl ::protobuf::reflect::ProtobufValue for ListServicePerimetersRequest {
2937    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
2938        ::protobuf::reflect::ReflectValueRef::Message(self)
2939    }
2940}
2941
2942#[derive(PartialEq,Clone,Default)]
2943pub struct ListServicePerimetersResponse {
2944    // message fields
2945    pub service_perimeters: ::protobuf::RepeatedField<super::service_perimeter::ServicePerimeter>,
2946    pub next_page_token: ::std::string::String,
2947    // special fields
2948    pub unknown_fields: ::protobuf::UnknownFields,
2949    pub cached_size: ::protobuf::CachedSize,
2950}
2951
2952impl<'a> ::std::default::Default for &'a ListServicePerimetersResponse {
2953    fn default() -> &'a ListServicePerimetersResponse {
2954        <ListServicePerimetersResponse as ::protobuf::Message>::default_instance()
2955    }
2956}
2957
2958impl ListServicePerimetersResponse {
2959    pub fn new() -> ListServicePerimetersResponse {
2960        ::std::default::Default::default()
2961    }
2962
2963    // repeated .google.identity.accesscontextmanager.v1.ServicePerimeter service_perimeters = 1;
2964
2965
2966    pub fn get_service_perimeters(&self) -> &[super::service_perimeter::ServicePerimeter] {
2967        &self.service_perimeters
2968    }
2969    pub fn clear_service_perimeters(&mut self) {
2970        self.service_perimeters.clear();
2971    }
2972
2973    // Param is passed by value, moved
2974    pub fn set_service_perimeters(&mut self, v: ::protobuf::RepeatedField<super::service_perimeter::ServicePerimeter>) {
2975        self.service_perimeters = v;
2976    }
2977
2978    // Mutable pointer to the field.
2979    pub fn mut_service_perimeters(&mut self) -> &mut ::protobuf::RepeatedField<super::service_perimeter::ServicePerimeter> {
2980        &mut self.service_perimeters
2981    }
2982
2983    // Take field
2984    pub fn take_service_perimeters(&mut self) -> ::protobuf::RepeatedField<super::service_perimeter::ServicePerimeter> {
2985        ::std::mem::replace(&mut self.service_perimeters, ::protobuf::RepeatedField::new())
2986    }
2987
2988    // string next_page_token = 2;
2989
2990
2991    pub fn get_next_page_token(&self) -> &str {
2992        &self.next_page_token
2993    }
2994    pub fn clear_next_page_token(&mut self) {
2995        self.next_page_token.clear();
2996    }
2997
2998    // Param is passed by value, moved
2999    pub fn set_next_page_token(&mut self, v: ::std::string::String) {
3000        self.next_page_token = v;
3001    }
3002
3003    // Mutable pointer to the field.
3004    // If field is not initialized, it is initialized with default value first.
3005    pub fn mut_next_page_token(&mut self) -> &mut ::std::string::String {
3006        &mut self.next_page_token
3007    }
3008
3009    // Take field
3010    pub fn take_next_page_token(&mut self) -> ::std::string::String {
3011        ::std::mem::replace(&mut self.next_page_token, ::std::string::String::new())
3012    }
3013}
3014
3015impl ::protobuf::Message for ListServicePerimetersResponse {
3016    fn is_initialized(&self) -> bool {
3017        for v in &self.service_perimeters {
3018            if !v.is_initialized() {
3019                return false;
3020            }
3021        };
3022        true
3023    }
3024
3025    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3026        while !is.eof()? {
3027            let (field_number, wire_type) = is.read_tag_unpack()?;
3028            match field_number {
3029                1 => {
3030                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.service_perimeters)?;
3031                },
3032                2 => {
3033                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.next_page_token)?;
3034                },
3035                _ => {
3036                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3037                },
3038            };
3039        }
3040        ::std::result::Result::Ok(())
3041    }
3042
3043    // Compute sizes of nested messages
3044    #[allow(unused_variables)]
3045    fn compute_size(&self) -> u32 {
3046        let mut my_size = 0;
3047        for value in &self.service_perimeters {
3048            let len = value.compute_size();
3049            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3050        };
3051        if !self.next_page_token.is_empty() {
3052            my_size += ::protobuf::rt::string_size(2, &self.next_page_token);
3053        }
3054        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3055        self.cached_size.set(my_size);
3056        my_size
3057    }
3058
3059    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3060        for v in &self.service_perimeters {
3061            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3062            os.write_raw_varint32(v.get_cached_size())?;
3063            v.write_to_with_cached_sizes(os)?;
3064        };
3065        if !self.next_page_token.is_empty() {
3066            os.write_string(2, &self.next_page_token)?;
3067        }
3068        os.write_unknown_fields(self.get_unknown_fields())?;
3069        ::std::result::Result::Ok(())
3070    }
3071
3072    fn get_cached_size(&self) -> u32 {
3073        self.cached_size.get()
3074    }
3075
3076    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3077        &self.unknown_fields
3078    }
3079
3080    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3081        &mut self.unknown_fields
3082    }
3083
3084    fn as_any(&self) -> &dyn (::std::any::Any) {
3085        self as &dyn (::std::any::Any)
3086    }
3087    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3088        self as &mut dyn (::std::any::Any)
3089    }
3090    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3091        self
3092    }
3093
3094    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3095        Self::descriptor_static()
3096    }
3097
3098    fn new() -> ListServicePerimetersResponse {
3099        ListServicePerimetersResponse::new()
3100    }
3101
3102    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3103        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3104        descriptor.get(|| {
3105            let mut fields = ::std::vec::Vec::new();
3106            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::service_perimeter::ServicePerimeter>>(
3107                "service_perimeters",
3108                |m: &ListServicePerimetersResponse| { &m.service_perimeters },
3109                |m: &mut ListServicePerimetersResponse| { &mut m.service_perimeters },
3110            ));
3111            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3112                "next_page_token",
3113                |m: &ListServicePerimetersResponse| { &m.next_page_token },
3114                |m: &mut ListServicePerimetersResponse| { &mut m.next_page_token },
3115            ));
3116            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListServicePerimetersResponse>(
3117                "ListServicePerimetersResponse",
3118                fields,
3119                file_descriptor_proto()
3120            )
3121        })
3122    }
3123
3124    fn default_instance() -> &'static ListServicePerimetersResponse {
3125        static instance: ::protobuf::rt::LazyV2<ListServicePerimetersResponse> = ::protobuf::rt::LazyV2::INIT;
3126        instance.get(ListServicePerimetersResponse::new)
3127    }
3128}
3129
3130impl ::protobuf::Clear for ListServicePerimetersResponse {
3131    fn clear(&mut self) {
3132        self.service_perimeters.clear();
3133        self.next_page_token.clear();
3134        self.unknown_fields.clear();
3135    }
3136}
3137
3138impl ::std::fmt::Debug for ListServicePerimetersResponse {
3139    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3140        ::protobuf::text_format::fmt(self, f)
3141    }
3142}
3143
3144impl ::protobuf::reflect::ProtobufValue for ListServicePerimetersResponse {
3145    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3146        ::protobuf::reflect::ReflectValueRef::Message(self)
3147    }
3148}
3149
3150#[derive(PartialEq,Clone,Default)]
3151pub struct GetServicePerimeterRequest {
3152    // message fields
3153    pub name: ::std::string::String,
3154    // special fields
3155    pub unknown_fields: ::protobuf::UnknownFields,
3156    pub cached_size: ::protobuf::CachedSize,
3157}
3158
3159impl<'a> ::std::default::Default for &'a GetServicePerimeterRequest {
3160    fn default() -> &'a GetServicePerimeterRequest {
3161        <GetServicePerimeterRequest as ::protobuf::Message>::default_instance()
3162    }
3163}
3164
3165impl GetServicePerimeterRequest {
3166    pub fn new() -> GetServicePerimeterRequest {
3167        ::std::default::Default::default()
3168    }
3169
3170    // string name = 1;
3171
3172
3173    pub fn get_name(&self) -> &str {
3174        &self.name
3175    }
3176    pub fn clear_name(&mut self) {
3177        self.name.clear();
3178    }
3179
3180    // Param is passed by value, moved
3181    pub fn set_name(&mut self, v: ::std::string::String) {
3182        self.name = v;
3183    }
3184
3185    // Mutable pointer to the field.
3186    // If field is not initialized, it is initialized with default value first.
3187    pub fn mut_name(&mut self) -> &mut ::std::string::String {
3188        &mut self.name
3189    }
3190
3191    // Take field
3192    pub fn take_name(&mut self) -> ::std::string::String {
3193        ::std::mem::replace(&mut self.name, ::std::string::String::new())
3194    }
3195}
3196
3197impl ::protobuf::Message for GetServicePerimeterRequest {
3198    fn is_initialized(&self) -> bool {
3199        true
3200    }
3201
3202    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3203        while !is.eof()? {
3204            let (field_number, wire_type) = is.read_tag_unpack()?;
3205            match field_number {
3206                1 => {
3207                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
3208                },
3209                _ => {
3210                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3211                },
3212            };
3213        }
3214        ::std::result::Result::Ok(())
3215    }
3216
3217    // Compute sizes of nested messages
3218    #[allow(unused_variables)]
3219    fn compute_size(&self) -> u32 {
3220        let mut my_size = 0;
3221        if !self.name.is_empty() {
3222            my_size += ::protobuf::rt::string_size(1, &self.name);
3223        }
3224        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3225        self.cached_size.set(my_size);
3226        my_size
3227    }
3228
3229    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3230        if !self.name.is_empty() {
3231            os.write_string(1, &self.name)?;
3232        }
3233        os.write_unknown_fields(self.get_unknown_fields())?;
3234        ::std::result::Result::Ok(())
3235    }
3236
3237    fn get_cached_size(&self) -> u32 {
3238        self.cached_size.get()
3239    }
3240
3241    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3242        &self.unknown_fields
3243    }
3244
3245    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3246        &mut self.unknown_fields
3247    }
3248
3249    fn as_any(&self) -> &dyn (::std::any::Any) {
3250        self as &dyn (::std::any::Any)
3251    }
3252    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3253        self as &mut dyn (::std::any::Any)
3254    }
3255    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3256        self
3257    }
3258
3259    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3260        Self::descriptor_static()
3261    }
3262
3263    fn new() -> GetServicePerimeterRequest {
3264        GetServicePerimeterRequest::new()
3265    }
3266
3267    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3268        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3269        descriptor.get(|| {
3270            let mut fields = ::std::vec::Vec::new();
3271            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3272                "name",
3273                |m: &GetServicePerimeterRequest| { &m.name },
3274                |m: &mut GetServicePerimeterRequest| { &mut m.name },
3275            ));
3276            ::protobuf::reflect::MessageDescriptor::new_pb_name::<GetServicePerimeterRequest>(
3277                "GetServicePerimeterRequest",
3278                fields,
3279                file_descriptor_proto()
3280            )
3281        })
3282    }
3283
3284    fn default_instance() -> &'static GetServicePerimeterRequest {
3285        static instance: ::protobuf::rt::LazyV2<GetServicePerimeterRequest> = ::protobuf::rt::LazyV2::INIT;
3286        instance.get(GetServicePerimeterRequest::new)
3287    }
3288}
3289
3290impl ::protobuf::Clear for GetServicePerimeterRequest {
3291    fn clear(&mut self) {
3292        self.name.clear();
3293        self.unknown_fields.clear();
3294    }
3295}
3296
3297impl ::std::fmt::Debug for GetServicePerimeterRequest {
3298    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3299        ::protobuf::text_format::fmt(self, f)
3300    }
3301}
3302
3303impl ::protobuf::reflect::ProtobufValue for GetServicePerimeterRequest {
3304    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3305        ::protobuf::reflect::ReflectValueRef::Message(self)
3306    }
3307}
3308
3309#[derive(PartialEq,Clone,Default)]
3310pub struct CreateServicePerimeterRequest {
3311    // message fields
3312    pub parent: ::std::string::String,
3313    pub service_perimeter: ::protobuf::SingularPtrField<super::service_perimeter::ServicePerimeter>,
3314    // special fields
3315    pub unknown_fields: ::protobuf::UnknownFields,
3316    pub cached_size: ::protobuf::CachedSize,
3317}
3318
3319impl<'a> ::std::default::Default for &'a CreateServicePerimeterRequest {
3320    fn default() -> &'a CreateServicePerimeterRequest {
3321        <CreateServicePerimeterRequest as ::protobuf::Message>::default_instance()
3322    }
3323}
3324
3325impl CreateServicePerimeterRequest {
3326    pub fn new() -> CreateServicePerimeterRequest {
3327        ::std::default::Default::default()
3328    }
3329
3330    // string parent = 1;
3331
3332
3333    pub fn get_parent(&self) -> &str {
3334        &self.parent
3335    }
3336    pub fn clear_parent(&mut self) {
3337        self.parent.clear();
3338    }
3339
3340    // Param is passed by value, moved
3341    pub fn set_parent(&mut self, v: ::std::string::String) {
3342        self.parent = v;
3343    }
3344
3345    // Mutable pointer to the field.
3346    // If field is not initialized, it is initialized with default value first.
3347    pub fn mut_parent(&mut self) -> &mut ::std::string::String {
3348        &mut self.parent
3349    }
3350
3351    // Take field
3352    pub fn take_parent(&mut self) -> ::std::string::String {
3353        ::std::mem::replace(&mut self.parent, ::std::string::String::new())
3354    }
3355
3356    // .google.identity.accesscontextmanager.v1.ServicePerimeter service_perimeter = 2;
3357
3358
3359    pub fn get_service_perimeter(&self) -> &super::service_perimeter::ServicePerimeter {
3360        self.service_perimeter.as_ref().unwrap_or_else(|| <super::service_perimeter::ServicePerimeter as ::protobuf::Message>::default_instance())
3361    }
3362    pub fn clear_service_perimeter(&mut self) {
3363        self.service_perimeter.clear();
3364    }
3365
3366    pub fn has_service_perimeter(&self) -> bool {
3367        self.service_perimeter.is_some()
3368    }
3369
3370    // Param is passed by value, moved
3371    pub fn set_service_perimeter(&mut self, v: super::service_perimeter::ServicePerimeter) {
3372        self.service_perimeter = ::protobuf::SingularPtrField::some(v);
3373    }
3374
3375    // Mutable pointer to the field.
3376    // If field is not initialized, it is initialized with default value first.
3377    pub fn mut_service_perimeter(&mut self) -> &mut super::service_perimeter::ServicePerimeter {
3378        if self.service_perimeter.is_none() {
3379            self.service_perimeter.set_default();
3380        }
3381        self.service_perimeter.as_mut().unwrap()
3382    }
3383
3384    // Take field
3385    pub fn take_service_perimeter(&mut self) -> super::service_perimeter::ServicePerimeter {
3386        self.service_perimeter.take().unwrap_or_else(|| super::service_perimeter::ServicePerimeter::new())
3387    }
3388}
3389
3390impl ::protobuf::Message for CreateServicePerimeterRequest {
3391    fn is_initialized(&self) -> bool {
3392        for v in &self.service_perimeter {
3393            if !v.is_initialized() {
3394                return false;
3395            }
3396        };
3397        true
3398    }
3399
3400    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3401        while !is.eof()? {
3402            let (field_number, wire_type) = is.read_tag_unpack()?;
3403            match field_number {
3404                1 => {
3405                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent)?;
3406                },
3407                2 => {
3408                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.service_perimeter)?;
3409                },
3410                _ => {
3411                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3412                },
3413            };
3414        }
3415        ::std::result::Result::Ok(())
3416    }
3417
3418    // Compute sizes of nested messages
3419    #[allow(unused_variables)]
3420    fn compute_size(&self) -> u32 {
3421        let mut my_size = 0;
3422        if !self.parent.is_empty() {
3423            my_size += ::protobuf::rt::string_size(1, &self.parent);
3424        }
3425        if let Some(ref v) = self.service_perimeter.as_ref() {
3426            let len = v.compute_size();
3427            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3428        }
3429        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3430        self.cached_size.set(my_size);
3431        my_size
3432    }
3433
3434    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3435        if !self.parent.is_empty() {
3436            os.write_string(1, &self.parent)?;
3437        }
3438        if let Some(ref v) = self.service_perimeter.as_ref() {
3439            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3440            os.write_raw_varint32(v.get_cached_size())?;
3441            v.write_to_with_cached_sizes(os)?;
3442        }
3443        os.write_unknown_fields(self.get_unknown_fields())?;
3444        ::std::result::Result::Ok(())
3445    }
3446
3447    fn get_cached_size(&self) -> u32 {
3448        self.cached_size.get()
3449    }
3450
3451    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3452        &self.unknown_fields
3453    }
3454
3455    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3456        &mut self.unknown_fields
3457    }
3458
3459    fn as_any(&self) -> &dyn (::std::any::Any) {
3460        self as &dyn (::std::any::Any)
3461    }
3462    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3463        self as &mut dyn (::std::any::Any)
3464    }
3465    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3466        self
3467    }
3468
3469    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3470        Self::descriptor_static()
3471    }
3472
3473    fn new() -> CreateServicePerimeterRequest {
3474        CreateServicePerimeterRequest::new()
3475    }
3476
3477    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3478        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3479        descriptor.get(|| {
3480            let mut fields = ::std::vec::Vec::new();
3481            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3482                "parent",
3483                |m: &CreateServicePerimeterRequest| { &m.parent },
3484                |m: &mut CreateServicePerimeterRequest| { &mut m.parent },
3485            ));
3486            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::service_perimeter::ServicePerimeter>>(
3487                "service_perimeter",
3488                |m: &CreateServicePerimeterRequest| { &m.service_perimeter },
3489                |m: &mut CreateServicePerimeterRequest| { &mut m.service_perimeter },
3490            ));
3491            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CreateServicePerimeterRequest>(
3492                "CreateServicePerimeterRequest",
3493                fields,
3494                file_descriptor_proto()
3495            )
3496        })
3497    }
3498
3499    fn default_instance() -> &'static CreateServicePerimeterRequest {
3500        static instance: ::protobuf::rt::LazyV2<CreateServicePerimeterRequest> = ::protobuf::rt::LazyV2::INIT;
3501        instance.get(CreateServicePerimeterRequest::new)
3502    }
3503}
3504
3505impl ::protobuf::Clear for CreateServicePerimeterRequest {
3506    fn clear(&mut self) {
3507        self.parent.clear();
3508        self.service_perimeter.clear();
3509        self.unknown_fields.clear();
3510    }
3511}
3512
3513impl ::std::fmt::Debug for CreateServicePerimeterRequest {
3514    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3515        ::protobuf::text_format::fmt(self, f)
3516    }
3517}
3518
3519impl ::protobuf::reflect::ProtobufValue for CreateServicePerimeterRequest {
3520    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3521        ::protobuf::reflect::ReflectValueRef::Message(self)
3522    }
3523}
3524
3525#[derive(PartialEq,Clone,Default)]
3526pub struct UpdateServicePerimeterRequest {
3527    // message fields
3528    pub service_perimeter: ::protobuf::SingularPtrField<super::service_perimeter::ServicePerimeter>,
3529    pub update_mask: ::protobuf::SingularPtrField<::protobuf::well_known_types::FieldMask>,
3530    // special fields
3531    pub unknown_fields: ::protobuf::UnknownFields,
3532    pub cached_size: ::protobuf::CachedSize,
3533}
3534
3535impl<'a> ::std::default::Default for &'a UpdateServicePerimeterRequest {
3536    fn default() -> &'a UpdateServicePerimeterRequest {
3537        <UpdateServicePerimeterRequest as ::protobuf::Message>::default_instance()
3538    }
3539}
3540
3541impl UpdateServicePerimeterRequest {
3542    pub fn new() -> UpdateServicePerimeterRequest {
3543        ::std::default::Default::default()
3544    }
3545
3546    // .google.identity.accesscontextmanager.v1.ServicePerimeter service_perimeter = 1;
3547
3548
3549    pub fn get_service_perimeter(&self) -> &super::service_perimeter::ServicePerimeter {
3550        self.service_perimeter.as_ref().unwrap_or_else(|| <super::service_perimeter::ServicePerimeter as ::protobuf::Message>::default_instance())
3551    }
3552    pub fn clear_service_perimeter(&mut self) {
3553        self.service_perimeter.clear();
3554    }
3555
3556    pub fn has_service_perimeter(&self) -> bool {
3557        self.service_perimeter.is_some()
3558    }
3559
3560    // Param is passed by value, moved
3561    pub fn set_service_perimeter(&mut self, v: super::service_perimeter::ServicePerimeter) {
3562        self.service_perimeter = ::protobuf::SingularPtrField::some(v);
3563    }
3564
3565    // Mutable pointer to the field.
3566    // If field is not initialized, it is initialized with default value first.
3567    pub fn mut_service_perimeter(&mut self) -> &mut super::service_perimeter::ServicePerimeter {
3568        if self.service_perimeter.is_none() {
3569            self.service_perimeter.set_default();
3570        }
3571        self.service_perimeter.as_mut().unwrap()
3572    }
3573
3574    // Take field
3575    pub fn take_service_perimeter(&mut self) -> super::service_perimeter::ServicePerimeter {
3576        self.service_perimeter.take().unwrap_or_else(|| super::service_perimeter::ServicePerimeter::new())
3577    }
3578
3579    // .google.protobuf.FieldMask update_mask = 2;
3580
3581
3582    pub fn get_update_mask(&self) -> &::protobuf::well_known_types::FieldMask {
3583        self.update_mask.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::FieldMask as ::protobuf::Message>::default_instance())
3584    }
3585    pub fn clear_update_mask(&mut self) {
3586        self.update_mask.clear();
3587    }
3588
3589    pub fn has_update_mask(&self) -> bool {
3590        self.update_mask.is_some()
3591    }
3592
3593    // Param is passed by value, moved
3594    pub fn set_update_mask(&mut self, v: ::protobuf::well_known_types::FieldMask) {
3595        self.update_mask = ::protobuf::SingularPtrField::some(v);
3596    }
3597
3598    // Mutable pointer to the field.
3599    // If field is not initialized, it is initialized with default value first.
3600    pub fn mut_update_mask(&mut self) -> &mut ::protobuf::well_known_types::FieldMask {
3601        if self.update_mask.is_none() {
3602            self.update_mask.set_default();
3603        }
3604        self.update_mask.as_mut().unwrap()
3605    }
3606
3607    // Take field
3608    pub fn take_update_mask(&mut self) -> ::protobuf::well_known_types::FieldMask {
3609        self.update_mask.take().unwrap_or_else(|| ::protobuf::well_known_types::FieldMask::new())
3610    }
3611}
3612
3613impl ::protobuf::Message for UpdateServicePerimeterRequest {
3614    fn is_initialized(&self) -> bool {
3615        for v in &self.service_perimeter {
3616            if !v.is_initialized() {
3617                return false;
3618            }
3619        };
3620        for v in &self.update_mask {
3621            if !v.is_initialized() {
3622                return false;
3623            }
3624        };
3625        true
3626    }
3627
3628    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3629        while !is.eof()? {
3630            let (field_number, wire_type) = is.read_tag_unpack()?;
3631            match field_number {
3632                1 => {
3633                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.service_perimeter)?;
3634                },
3635                2 => {
3636                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.update_mask)?;
3637                },
3638                _ => {
3639                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3640                },
3641            };
3642        }
3643        ::std::result::Result::Ok(())
3644    }
3645
3646    // Compute sizes of nested messages
3647    #[allow(unused_variables)]
3648    fn compute_size(&self) -> u32 {
3649        let mut my_size = 0;
3650        if let Some(ref v) = self.service_perimeter.as_ref() {
3651            let len = v.compute_size();
3652            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3653        }
3654        if let Some(ref v) = self.update_mask.as_ref() {
3655            let len = v.compute_size();
3656            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
3657        }
3658        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3659        self.cached_size.set(my_size);
3660        my_size
3661    }
3662
3663    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3664        if let Some(ref v) = self.service_perimeter.as_ref() {
3665            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3666            os.write_raw_varint32(v.get_cached_size())?;
3667            v.write_to_with_cached_sizes(os)?;
3668        }
3669        if let Some(ref v) = self.update_mask.as_ref() {
3670            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
3671            os.write_raw_varint32(v.get_cached_size())?;
3672            v.write_to_with_cached_sizes(os)?;
3673        }
3674        os.write_unknown_fields(self.get_unknown_fields())?;
3675        ::std::result::Result::Ok(())
3676    }
3677
3678    fn get_cached_size(&self) -> u32 {
3679        self.cached_size.get()
3680    }
3681
3682    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3683        &self.unknown_fields
3684    }
3685
3686    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3687        &mut self.unknown_fields
3688    }
3689
3690    fn as_any(&self) -> &dyn (::std::any::Any) {
3691        self as &dyn (::std::any::Any)
3692    }
3693    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3694        self as &mut dyn (::std::any::Any)
3695    }
3696    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3697        self
3698    }
3699
3700    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3701        Self::descriptor_static()
3702    }
3703
3704    fn new() -> UpdateServicePerimeterRequest {
3705        UpdateServicePerimeterRequest::new()
3706    }
3707
3708    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3709        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3710        descriptor.get(|| {
3711            let mut fields = ::std::vec::Vec::new();
3712            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::service_perimeter::ServicePerimeter>>(
3713                "service_perimeter",
3714                |m: &UpdateServicePerimeterRequest| { &m.service_perimeter },
3715                |m: &mut UpdateServicePerimeterRequest| { &mut m.service_perimeter },
3716            ));
3717            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::FieldMask>>(
3718                "update_mask",
3719                |m: &UpdateServicePerimeterRequest| { &m.update_mask },
3720                |m: &mut UpdateServicePerimeterRequest| { &mut m.update_mask },
3721            ));
3722            ::protobuf::reflect::MessageDescriptor::new_pb_name::<UpdateServicePerimeterRequest>(
3723                "UpdateServicePerimeterRequest",
3724                fields,
3725                file_descriptor_proto()
3726            )
3727        })
3728    }
3729
3730    fn default_instance() -> &'static UpdateServicePerimeterRequest {
3731        static instance: ::protobuf::rt::LazyV2<UpdateServicePerimeterRequest> = ::protobuf::rt::LazyV2::INIT;
3732        instance.get(UpdateServicePerimeterRequest::new)
3733    }
3734}
3735
3736impl ::protobuf::Clear for UpdateServicePerimeterRequest {
3737    fn clear(&mut self) {
3738        self.service_perimeter.clear();
3739        self.update_mask.clear();
3740        self.unknown_fields.clear();
3741    }
3742}
3743
3744impl ::std::fmt::Debug for UpdateServicePerimeterRequest {
3745    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3746        ::protobuf::text_format::fmt(self, f)
3747    }
3748}
3749
3750impl ::protobuf::reflect::ProtobufValue for UpdateServicePerimeterRequest {
3751    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3752        ::protobuf::reflect::ReflectValueRef::Message(self)
3753    }
3754}
3755
3756#[derive(PartialEq,Clone,Default)]
3757pub struct DeleteServicePerimeterRequest {
3758    // message fields
3759    pub name: ::std::string::String,
3760    // special fields
3761    pub unknown_fields: ::protobuf::UnknownFields,
3762    pub cached_size: ::protobuf::CachedSize,
3763}
3764
3765impl<'a> ::std::default::Default for &'a DeleteServicePerimeterRequest {
3766    fn default() -> &'a DeleteServicePerimeterRequest {
3767        <DeleteServicePerimeterRequest as ::protobuf::Message>::default_instance()
3768    }
3769}
3770
3771impl DeleteServicePerimeterRequest {
3772    pub fn new() -> DeleteServicePerimeterRequest {
3773        ::std::default::Default::default()
3774    }
3775
3776    // string name = 1;
3777
3778
3779    pub fn get_name(&self) -> &str {
3780        &self.name
3781    }
3782    pub fn clear_name(&mut self) {
3783        self.name.clear();
3784    }
3785
3786    // Param is passed by value, moved
3787    pub fn set_name(&mut self, v: ::std::string::String) {
3788        self.name = v;
3789    }
3790
3791    // Mutable pointer to the field.
3792    // If field is not initialized, it is initialized with default value first.
3793    pub fn mut_name(&mut self) -> &mut ::std::string::String {
3794        &mut self.name
3795    }
3796
3797    // Take field
3798    pub fn take_name(&mut self) -> ::std::string::String {
3799        ::std::mem::replace(&mut self.name, ::std::string::String::new())
3800    }
3801}
3802
3803impl ::protobuf::Message for DeleteServicePerimeterRequest {
3804    fn is_initialized(&self) -> bool {
3805        true
3806    }
3807
3808    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3809        while !is.eof()? {
3810            let (field_number, wire_type) = is.read_tag_unpack()?;
3811            match field_number {
3812                1 => {
3813                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
3814                },
3815                _ => {
3816                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
3817                },
3818            };
3819        }
3820        ::std::result::Result::Ok(())
3821    }
3822
3823    // Compute sizes of nested messages
3824    #[allow(unused_variables)]
3825    fn compute_size(&self) -> u32 {
3826        let mut my_size = 0;
3827        if !self.name.is_empty() {
3828            my_size += ::protobuf::rt::string_size(1, &self.name);
3829        }
3830        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
3831        self.cached_size.set(my_size);
3832        my_size
3833    }
3834
3835    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
3836        if !self.name.is_empty() {
3837            os.write_string(1, &self.name)?;
3838        }
3839        os.write_unknown_fields(self.get_unknown_fields())?;
3840        ::std::result::Result::Ok(())
3841    }
3842
3843    fn get_cached_size(&self) -> u32 {
3844        self.cached_size.get()
3845    }
3846
3847    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
3848        &self.unknown_fields
3849    }
3850
3851    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
3852        &mut self.unknown_fields
3853    }
3854
3855    fn as_any(&self) -> &dyn (::std::any::Any) {
3856        self as &dyn (::std::any::Any)
3857    }
3858    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
3859        self as &mut dyn (::std::any::Any)
3860    }
3861    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
3862        self
3863    }
3864
3865    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
3866        Self::descriptor_static()
3867    }
3868
3869    fn new() -> DeleteServicePerimeterRequest {
3870        DeleteServicePerimeterRequest::new()
3871    }
3872
3873    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
3874        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
3875        descriptor.get(|| {
3876            let mut fields = ::std::vec::Vec::new();
3877            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
3878                "name",
3879                |m: &DeleteServicePerimeterRequest| { &m.name },
3880                |m: &mut DeleteServicePerimeterRequest| { &mut m.name },
3881            ));
3882            ::protobuf::reflect::MessageDescriptor::new_pb_name::<DeleteServicePerimeterRequest>(
3883                "DeleteServicePerimeterRequest",
3884                fields,
3885                file_descriptor_proto()
3886            )
3887        })
3888    }
3889
3890    fn default_instance() -> &'static DeleteServicePerimeterRequest {
3891        static instance: ::protobuf::rt::LazyV2<DeleteServicePerimeterRequest> = ::protobuf::rt::LazyV2::INIT;
3892        instance.get(DeleteServicePerimeterRequest::new)
3893    }
3894}
3895
3896impl ::protobuf::Clear for DeleteServicePerimeterRequest {
3897    fn clear(&mut self) {
3898        self.name.clear();
3899        self.unknown_fields.clear();
3900    }
3901}
3902
3903impl ::std::fmt::Debug for DeleteServicePerimeterRequest {
3904    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3905        ::protobuf::text_format::fmt(self, f)
3906    }
3907}
3908
3909impl ::protobuf::reflect::ProtobufValue for DeleteServicePerimeterRequest {
3910    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
3911        ::protobuf::reflect::ReflectValueRef::Message(self)
3912    }
3913}
3914
3915#[derive(PartialEq,Clone,Default)]
3916pub struct ReplaceServicePerimetersRequest {
3917    // message fields
3918    pub parent: ::std::string::String,
3919    pub service_perimeters: ::protobuf::RepeatedField<super::service_perimeter::ServicePerimeter>,
3920    pub etag: ::std::string::String,
3921    // special fields
3922    pub unknown_fields: ::protobuf::UnknownFields,
3923    pub cached_size: ::protobuf::CachedSize,
3924}
3925
3926impl<'a> ::std::default::Default for &'a ReplaceServicePerimetersRequest {
3927    fn default() -> &'a ReplaceServicePerimetersRequest {
3928        <ReplaceServicePerimetersRequest as ::protobuf::Message>::default_instance()
3929    }
3930}
3931
3932impl ReplaceServicePerimetersRequest {
3933    pub fn new() -> ReplaceServicePerimetersRequest {
3934        ::std::default::Default::default()
3935    }
3936
3937    // string parent = 1;
3938
3939
3940    pub fn get_parent(&self) -> &str {
3941        &self.parent
3942    }
3943    pub fn clear_parent(&mut self) {
3944        self.parent.clear();
3945    }
3946
3947    // Param is passed by value, moved
3948    pub fn set_parent(&mut self, v: ::std::string::String) {
3949        self.parent = v;
3950    }
3951
3952    // Mutable pointer to the field.
3953    // If field is not initialized, it is initialized with default value first.
3954    pub fn mut_parent(&mut self) -> &mut ::std::string::String {
3955        &mut self.parent
3956    }
3957
3958    // Take field
3959    pub fn take_parent(&mut self) -> ::std::string::String {
3960        ::std::mem::replace(&mut self.parent, ::std::string::String::new())
3961    }
3962
3963    // repeated .google.identity.accesscontextmanager.v1.ServicePerimeter service_perimeters = 2;
3964
3965
3966    pub fn get_service_perimeters(&self) -> &[super::service_perimeter::ServicePerimeter] {
3967        &self.service_perimeters
3968    }
3969    pub fn clear_service_perimeters(&mut self) {
3970        self.service_perimeters.clear();
3971    }
3972
3973    // Param is passed by value, moved
3974    pub fn set_service_perimeters(&mut self, v: ::protobuf::RepeatedField<super::service_perimeter::ServicePerimeter>) {
3975        self.service_perimeters = v;
3976    }
3977
3978    // Mutable pointer to the field.
3979    pub fn mut_service_perimeters(&mut self) -> &mut ::protobuf::RepeatedField<super::service_perimeter::ServicePerimeter> {
3980        &mut self.service_perimeters
3981    }
3982
3983    // Take field
3984    pub fn take_service_perimeters(&mut self) -> ::protobuf::RepeatedField<super::service_perimeter::ServicePerimeter> {
3985        ::std::mem::replace(&mut self.service_perimeters, ::protobuf::RepeatedField::new())
3986    }
3987
3988    // string etag = 3;
3989
3990
3991    pub fn get_etag(&self) -> &str {
3992        &self.etag
3993    }
3994    pub fn clear_etag(&mut self) {
3995        self.etag.clear();
3996    }
3997
3998    // Param is passed by value, moved
3999    pub fn set_etag(&mut self, v: ::std::string::String) {
4000        self.etag = v;
4001    }
4002
4003    // Mutable pointer to the field.
4004    // If field is not initialized, it is initialized with default value first.
4005    pub fn mut_etag(&mut self) -> &mut ::std::string::String {
4006        &mut self.etag
4007    }
4008
4009    // Take field
4010    pub fn take_etag(&mut self) -> ::std::string::String {
4011        ::std::mem::replace(&mut self.etag, ::std::string::String::new())
4012    }
4013}
4014
4015impl ::protobuf::Message for ReplaceServicePerimetersRequest {
4016    fn is_initialized(&self) -> bool {
4017        for v in &self.service_perimeters {
4018            if !v.is_initialized() {
4019                return false;
4020            }
4021        };
4022        true
4023    }
4024
4025    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4026        while !is.eof()? {
4027            let (field_number, wire_type) = is.read_tag_unpack()?;
4028            match field_number {
4029                1 => {
4030                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent)?;
4031                },
4032                2 => {
4033                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.service_perimeters)?;
4034                },
4035                3 => {
4036                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.etag)?;
4037                },
4038                _ => {
4039                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4040                },
4041            };
4042        }
4043        ::std::result::Result::Ok(())
4044    }
4045
4046    // Compute sizes of nested messages
4047    #[allow(unused_variables)]
4048    fn compute_size(&self) -> u32 {
4049        let mut my_size = 0;
4050        if !self.parent.is_empty() {
4051            my_size += ::protobuf::rt::string_size(1, &self.parent);
4052        }
4053        for value in &self.service_perimeters {
4054            let len = value.compute_size();
4055            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
4056        };
4057        if !self.etag.is_empty() {
4058            my_size += ::protobuf::rt::string_size(3, &self.etag);
4059        }
4060        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4061        self.cached_size.set(my_size);
4062        my_size
4063    }
4064
4065    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4066        if !self.parent.is_empty() {
4067            os.write_string(1, &self.parent)?;
4068        }
4069        for v in &self.service_perimeters {
4070            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
4071            os.write_raw_varint32(v.get_cached_size())?;
4072            v.write_to_with_cached_sizes(os)?;
4073        };
4074        if !self.etag.is_empty() {
4075            os.write_string(3, &self.etag)?;
4076        }
4077        os.write_unknown_fields(self.get_unknown_fields())?;
4078        ::std::result::Result::Ok(())
4079    }
4080
4081    fn get_cached_size(&self) -> u32 {
4082        self.cached_size.get()
4083    }
4084
4085    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4086        &self.unknown_fields
4087    }
4088
4089    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4090        &mut self.unknown_fields
4091    }
4092
4093    fn as_any(&self) -> &dyn (::std::any::Any) {
4094        self as &dyn (::std::any::Any)
4095    }
4096    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4097        self as &mut dyn (::std::any::Any)
4098    }
4099    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4100        self
4101    }
4102
4103    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4104        Self::descriptor_static()
4105    }
4106
4107    fn new() -> ReplaceServicePerimetersRequest {
4108        ReplaceServicePerimetersRequest::new()
4109    }
4110
4111    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4112        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4113        descriptor.get(|| {
4114            let mut fields = ::std::vec::Vec::new();
4115            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4116                "parent",
4117                |m: &ReplaceServicePerimetersRequest| { &m.parent },
4118                |m: &mut ReplaceServicePerimetersRequest| { &mut m.parent },
4119            ));
4120            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::service_perimeter::ServicePerimeter>>(
4121                "service_perimeters",
4122                |m: &ReplaceServicePerimetersRequest| { &m.service_perimeters },
4123                |m: &mut ReplaceServicePerimetersRequest| { &mut m.service_perimeters },
4124            ));
4125            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4126                "etag",
4127                |m: &ReplaceServicePerimetersRequest| { &m.etag },
4128                |m: &mut ReplaceServicePerimetersRequest| { &mut m.etag },
4129            ));
4130            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ReplaceServicePerimetersRequest>(
4131                "ReplaceServicePerimetersRequest",
4132                fields,
4133                file_descriptor_proto()
4134            )
4135        })
4136    }
4137
4138    fn default_instance() -> &'static ReplaceServicePerimetersRequest {
4139        static instance: ::protobuf::rt::LazyV2<ReplaceServicePerimetersRequest> = ::protobuf::rt::LazyV2::INIT;
4140        instance.get(ReplaceServicePerimetersRequest::new)
4141    }
4142}
4143
4144impl ::protobuf::Clear for ReplaceServicePerimetersRequest {
4145    fn clear(&mut self) {
4146        self.parent.clear();
4147        self.service_perimeters.clear();
4148        self.etag.clear();
4149        self.unknown_fields.clear();
4150    }
4151}
4152
4153impl ::std::fmt::Debug for ReplaceServicePerimetersRequest {
4154    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4155        ::protobuf::text_format::fmt(self, f)
4156    }
4157}
4158
4159impl ::protobuf::reflect::ProtobufValue for ReplaceServicePerimetersRequest {
4160    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4161        ::protobuf::reflect::ReflectValueRef::Message(self)
4162    }
4163}
4164
4165#[derive(PartialEq,Clone,Default)]
4166pub struct ReplaceServicePerimetersResponse {
4167    // message fields
4168    pub service_perimeters: ::protobuf::RepeatedField<super::service_perimeter::ServicePerimeter>,
4169    // special fields
4170    pub unknown_fields: ::protobuf::UnknownFields,
4171    pub cached_size: ::protobuf::CachedSize,
4172}
4173
4174impl<'a> ::std::default::Default for &'a ReplaceServicePerimetersResponse {
4175    fn default() -> &'a ReplaceServicePerimetersResponse {
4176        <ReplaceServicePerimetersResponse as ::protobuf::Message>::default_instance()
4177    }
4178}
4179
4180impl ReplaceServicePerimetersResponse {
4181    pub fn new() -> ReplaceServicePerimetersResponse {
4182        ::std::default::Default::default()
4183    }
4184
4185    // repeated .google.identity.accesscontextmanager.v1.ServicePerimeter service_perimeters = 1;
4186
4187
4188    pub fn get_service_perimeters(&self) -> &[super::service_perimeter::ServicePerimeter] {
4189        &self.service_perimeters
4190    }
4191    pub fn clear_service_perimeters(&mut self) {
4192        self.service_perimeters.clear();
4193    }
4194
4195    // Param is passed by value, moved
4196    pub fn set_service_perimeters(&mut self, v: ::protobuf::RepeatedField<super::service_perimeter::ServicePerimeter>) {
4197        self.service_perimeters = v;
4198    }
4199
4200    // Mutable pointer to the field.
4201    pub fn mut_service_perimeters(&mut self) -> &mut ::protobuf::RepeatedField<super::service_perimeter::ServicePerimeter> {
4202        &mut self.service_perimeters
4203    }
4204
4205    // Take field
4206    pub fn take_service_perimeters(&mut self) -> ::protobuf::RepeatedField<super::service_perimeter::ServicePerimeter> {
4207        ::std::mem::replace(&mut self.service_perimeters, ::protobuf::RepeatedField::new())
4208    }
4209}
4210
4211impl ::protobuf::Message for ReplaceServicePerimetersResponse {
4212    fn is_initialized(&self) -> bool {
4213        for v in &self.service_perimeters {
4214            if !v.is_initialized() {
4215                return false;
4216            }
4217        };
4218        true
4219    }
4220
4221    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4222        while !is.eof()? {
4223            let (field_number, wire_type) = is.read_tag_unpack()?;
4224            match field_number {
4225                1 => {
4226                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.service_perimeters)?;
4227                },
4228                _ => {
4229                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4230                },
4231            };
4232        }
4233        ::std::result::Result::Ok(())
4234    }
4235
4236    // Compute sizes of nested messages
4237    #[allow(unused_variables)]
4238    fn compute_size(&self) -> u32 {
4239        let mut my_size = 0;
4240        for value in &self.service_perimeters {
4241            let len = value.compute_size();
4242            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
4243        };
4244        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4245        self.cached_size.set(my_size);
4246        my_size
4247    }
4248
4249    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4250        for v in &self.service_perimeters {
4251            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
4252            os.write_raw_varint32(v.get_cached_size())?;
4253            v.write_to_with_cached_sizes(os)?;
4254        };
4255        os.write_unknown_fields(self.get_unknown_fields())?;
4256        ::std::result::Result::Ok(())
4257    }
4258
4259    fn get_cached_size(&self) -> u32 {
4260        self.cached_size.get()
4261    }
4262
4263    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4264        &self.unknown_fields
4265    }
4266
4267    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4268        &mut self.unknown_fields
4269    }
4270
4271    fn as_any(&self) -> &dyn (::std::any::Any) {
4272        self as &dyn (::std::any::Any)
4273    }
4274    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4275        self as &mut dyn (::std::any::Any)
4276    }
4277    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4278        self
4279    }
4280
4281    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4282        Self::descriptor_static()
4283    }
4284
4285    fn new() -> ReplaceServicePerimetersResponse {
4286        ReplaceServicePerimetersResponse::new()
4287    }
4288
4289    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4290        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4291        descriptor.get(|| {
4292            let mut fields = ::std::vec::Vec::new();
4293            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::service_perimeter::ServicePerimeter>>(
4294                "service_perimeters",
4295                |m: &ReplaceServicePerimetersResponse| { &m.service_perimeters },
4296                |m: &mut ReplaceServicePerimetersResponse| { &mut m.service_perimeters },
4297            ));
4298            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ReplaceServicePerimetersResponse>(
4299                "ReplaceServicePerimetersResponse",
4300                fields,
4301                file_descriptor_proto()
4302            )
4303        })
4304    }
4305
4306    fn default_instance() -> &'static ReplaceServicePerimetersResponse {
4307        static instance: ::protobuf::rt::LazyV2<ReplaceServicePerimetersResponse> = ::protobuf::rt::LazyV2::INIT;
4308        instance.get(ReplaceServicePerimetersResponse::new)
4309    }
4310}
4311
4312impl ::protobuf::Clear for ReplaceServicePerimetersResponse {
4313    fn clear(&mut self) {
4314        self.service_perimeters.clear();
4315        self.unknown_fields.clear();
4316    }
4317}
4318
4319impl ::std::fmt::Debug for ReplaceServicePerimetersResponse {
4320    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4321        ::protobuf::text_format::fmt(self, f)
4322    }
4323}
4324
4325impl ::protobuf::reflect::ProtobufValue for ReplaceServicePerimetersResponse {
4326    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4327        ::protobuf::reflect::ReflectValueRef::Message(self)
4328    }
4329}
4330
4331#[derive(PartialEq,Clone,Default)]
4332pub struct CommitServicePerimetersRequest {
4333    // message fields
4334    pub parent: ::std::string::String,
4335    pub etag: ::std::string::String,
4336    // special fields
4337    pub unknown_fields: ::protobuf::UnknownFields,
4338    pub cached_size: ::protobuf::CachedSize,
4339}
4340
4341impl<'a> ::std::default::Default for &'a CommitServicePerimetersRequest {
4342    fn default() -> &'a CommitServicePerimetersRequest {
4343        <CommitServicePerimetersRequest as ::protobuf::Message>::default_instance()
4344    }
4345}
4346
4347impl CommitServicePerimetersRequest {
4348    pub fn new() -> CommitServicePerimetersRequest {
4349        ::std::default::Default::default()
4350    }
4351
4352    // string parent = 1;
4353
4354
4355    pub fn get_parent(&self) -> &str {
4356        &self.parent
4357    }
4358    pub fn clear_parent(&mut self) {
4359        self.parent.clear();
4360    }
4361
4362    // Param is passed by value, moved
4363    pub fn set_parent(&mut self, v: ::std::string::String) {
4364        self.parent = v;
4365    }
4366
4367    // Mutable pointer to the field.
4368    // If field is not initialized, it is initialized with default value first.
4369    pub fn mut_parent(&mut self) -> &mut ::std::string::String {
4370        &mut self.parent
4371    }
4372
4373    // Take field
4374    pub fn take_parent(&mut self) -> ::std::string::String {
4375        ::std::mem::replace(&mut self.parent, ::std::string::String::new())
4376    }
4377
4378    // string etag = 2;
4379
4380
4381    pub fn get_etag(&self) -> &str {
4382        &self.etag
4383    }
4384    pub fn clear_etag(&mut self) {
4385        self.etag.clear();
4386    }
4387
4388    // Param is passed by value, moved
4389    pub fn set_etag(&mut self, v: ::std::string::String) {
4390        self.etag = v;
4391    }
4392
4393    // Mutable pointer to the field.
4394    // If field is not initialized, it is initialized with default value first.
4395    pub fn mut_etag(&mut self) -> &mut ::std::string::String {
4396        &mut self.etag
4397    }
4398
4399    // Take field
4400    pub fn take_etag(&mut self) -> ::std::string::String {
4401        ::std::mem::replace(&mut self.etag, ::std::string::String::new())
4402    }
4403}
4404
4405impl ::protobuf::Message for CommitServicePerimetersRequest {
4406    fn is_initialized(&self) -> bool {
4407        true
4408    }
4409
4410    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4411        while !is.eof()? {
4412            let (field_number, wire_type) = is.read_tag_unpack()?;
4413            match field_number {
4414                1 => {
4415                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent)?;
4416                },
4417                2 => {
4418                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.etag)?;
4419                },
4420                _ => {
4421                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4422                },
4423            };
4424        }
4425        ::std::result::Result::Ok(())
4426    }
4427
4428    // Compute sizes of nested messages
4429    #[allow(unused_variables)]
4430    fn compute_size(&self) -> u32 {
4431        let mut my_size = 0;
4432        if !self.parent.is_empty() {
4433            my_size += ::protobuf::rt::string_size(1, &self.parent);
4434        }
4435        if !self.etag.is_empty() {
4436            my_size += ::protobuf::rt::string_size(2, &self.etag);
4437        }
4438        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4439        self.cached_size.set(my_size);
4440        my_size
4441    }
4442
4443    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4444        if !self.parent.is_empty() {
4445            os.write_string(1, &self.parent)?;
4446        }
4447        if !self.etag.is_empty() {
4448            os.write_string(2, &self.etag)?;
4449        }
4450        os.write_unknown_fields(self.get_unknown_fields())?;
4451        ::std::result::Result::Ok(())
4452    }
4453
4454    fn get_cached_size(&self) -> u32 {
4455        self.cached_size.get()
4456    }
4457
4458    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4459        &self.unknown_fields
4460    }
4461
4462    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4463        &mut self.unknown_fields
4464    }
4465
4466    fn as_any(&self) -> &dyn (::std::any::Any) {
4467        self as &dyn (::std::any::Any)
4468    }
4469    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4470        self as &mut dyn (::std::any::Any)
4471    }
4472    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4473        self
4474    }
4475
4476    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4477        Self::descriptor_static()
4478    }
4479
4480    fn new() -> CommitServicePerimetersRequest {
4481        CommitServicePerimetersRequest::new()
4482    }
4483
4484    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4485        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4486        descriptor.get(|| {
4487            let mut fields = ::std::vec::Vec::new();
4488            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4489                "parent",
4490                |m: &CommitServicePerimetersRequest| { &m.parent },
4491                |m: &mut CommitServicePerimetersRequest| { &mut m.parent },
4492            ));
4493            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4494                "etag",
4495                |m: &CommitServicePerimetersRequest| { &m.etag },
4496                |m: &mut CommitServicePerimetersRequest| { &mut m.etag },
4497            ));
4498            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CommitServicePerimetersRequest>(
4499                "CommitServicePerimetersRequest",
4500                fields,
4501                file_descriptor_proto()
4502            )
4503        })
4504    }
4505
4506    fn default_instance() -> &'static CommitServicePerimetersRequest {
4507        static instance: ::protobuf::rt::LazyV2<CommitServicePerimetersRequest> = ::protobuf::rt::LazyV2::INIT;
4508        instance.get(CommitServicePerimetersRequest::new)
4509    }
4510}
4511
4512impl ::protobuf::Clear for CommitServicePerimetersRequest {
4513    fn clear(&mut self) {
4514        self.parent.clear();
4515        self.etag.clear();
4516        self.unknown_fields.clear();
4517    }
4518}
4519
4520impl ::std::fmt::Debug for CommitServicePerimetersRequest {
4521    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4522        ::protobuf::text_format::fmt(self, f)
4523    }
4524}
4525
4526impl ::protobuf::reflect::ProtobufValue for CommitServicePerimetersRequest {
4527    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4528        ::protobuf::reflect::ReflectValueRef::Message(self)
4529    }
4530}
4531
4532#[derive(PartialEq,Clone,Default)]
4533pub struct CommitServicePerimetersResponse {
4534    // message fields
4535    pub service_perimeters: ::protobuf::RepeatedField<super::service_perimeter::ServicePerimeter>,
4536    // special fields
4537    pub unknown_fields: ::protobuf::UnknownFields,
4538    pub cached_size: ::protobuf::CachedSize,
4539}
4540
4541impl<'a> ::std::default::Default for &'a CommitServicePerimetersResponse {
4542    fn default() -> &'a CommitServicePerimetersResponse {
4543        <CommitServicePerimetersResponse as ::protobuf::Message>::default_instance()
4544    }
4545}
4546
4547impl CommitServicePerimetersResponse {
4548    pub fn new() -> CommitServicePerimetersResponse {
4549        ::std::default::Default::default()
4550    }
4551
4552    // repeated .google.identity.accesscontextmanager.v1.ServicePerimeter service_perimeters = 1;
4553
4554
4555    pub fn get_service_perimeters(&self) -> &[super::service_perimeter::ServicePerimeter] {
4556        &self.service_perimeters
4557    }
4558    pub fn clear_service_perimeters(&mut self) {
4559        self.service_perimeters.clear();
4560    }
4561
4562    // Param is passed by value, moved
4563    pub fn set_service_perimeters(&mut self, v: ::protobuf::RepeatedField<super::service_perimeter::ServicePerimeter>) {
4564        self.service_perimeters = v;
4565    }
4566
4567    // Mutable pointer to the field.
4568    pub fn mut_service_perimeters(&mut self) -> &mut ::protobuf::RepeatedField<super::service_perimeter::ServicePerimeter> {
4569        &mut self.service_perimeters
4570    }
4571
4572    // Take field
4573    pub fn take_service_perimeters(&mut self) -> ::protobuf::RepeatedField<super::service_perimeter::ServicePerimeter> {
4574        ::std::mem::replace(&mut self.service_perimeters, ::protobuf::RepeatedField::new())
4575    }
4576}
4577
4578impl ::protobuf::Message for CommitServicePerimetersResponse {
4579    fn is_initialized(&self) -> bool {
4580        for v in &self.service_perimeters {
4581            if !v.is_initialized() {
4582                return false;
4583            }
4584        };
4585        true
4586    }
4587
4588    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4589        while !is.eof()? {
4590            let (field_number, wire_type) = is.read_tag_unpack()?;
4591            match field_number {
4592                1 => {
4593                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.service_perimeters)?;
4594                },
4595                _ => {
4596                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4597                },
4598            };
4599        }
4600        ::std::result::Result::Ok(())
4601    }
4602
4603    // Compute sizes of nested messages
4604    #[allow(unused_variables)]
4605    fn compute_size(&self) -> u32 {
4606        let mut my_size = 0;
4607        for value in &self.service_perimeters {
4608            let len = value.compute_size();
4609            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
4610        };
4611        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4612        self.cached_size.set(my_size);
4613        my_size
4614    }
4615
4616    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4617        for v in &self.service_perimeters {
4618            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
4619            os.write_raw_varint32(v.get_cached_size())?;
4620            v.write_to_with_cached_sizes(os)?;
4621        };
4622        os.write_unknown_fields(self.get_unknown_fields())?;
4623        ::std::result::Result::Ok(())
4624    }
4625
4626    fn get_cached_size(&self) -> u32 {
4627        self.cached_size.get()
4628    }
4629
4630    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4631        &self.unknown_fields
4632    }
4633
4634    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4635        &mut self.unknown_fields
4636    }
4637
4638    fn as_any(&self) -> &dyn (::std::any::Any) {
4639        self as &dyn (::std::any::Any)
4640    }
4641    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4642        self as &mut dyn (::std::any::Any)
4643    }
4644    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4645        self
4646    }
4647
4648    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4649        Self::descriptor_static()
4650    }
4651
4652    fn new() -> CommitServicePerimetersResponse {
4653        CommitServicePerimetersResponse::new()
4654    }
4655
4656    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4657        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4658        descriptor.get(|| {
4659            let mut fields = ::std::vec::Vec::new();
4660            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::service_perimeter::ServicePerimeter>>(
4661                "service_perimeters",
4662                |m: &CommitServicePerimetersResponse| { &m.service_perimeters },
4663                |m: &mut CommitServicePerimetersResponse| { &mut m.service_perimeters },
4664            ));
4665            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CommitServicePerimetersResponse>(
4666                "CommitServicePerimetersResponse",
4667                fields,
4668                file_descriptor_proto()
4669            )
4670        })
4671    }
4672
4673    fn default_instance() -> &'static CommitServicePerimetersResponse {
4674        static instance: ::protobuf::rt::LazyV2<CommitServicePerimetersResponse> = ::protobuf::rt::LazyV2::INIT;
4675        instance.get(CommitServicePerimetersResponse::new)
4676    }
4677}
4678
4679impl ::protobuf::Clear for CommitServicePerimetersResponse {
4680    fn clear(&mut self) {
4681        self.service_perimeters.clear();
4682        self.unknown_fields.clear();
4683    }
4684}
4685
4686impl ::std::fmt::Debug for CommitServicePerimetersResponse {
4687    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4688        ::protobuf::text_format::fmt(self, f)
4689    }
4690}
4691
4692impl ::protobuf::reflect::ProtobufValue for CommitServicePerimetersResponse {
4693    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4694        ::protobuf::reflect::ReflectValueRef::Message(self)
4695    }
4696}
4697
4698#[derive(PartialEq,Clone,Default)]
4699pub struct ListGcpUserAccessBindingsRequest {
4700    // message fields
4701    pub parent: ::std::string::String,
4702    pub page_size: i32,
4703    pub page_token: ::std::string::String,
4704    // special fields
4705    pub unknown_fields: ::protobuf::UnknownFields,
4706    pub cached_size: ::protobuf::CachedSize,
4707}
4708
4709impl<'a> ::std::default::Default for &'a ListGcpUserAccessBindingsRequest {
4710    fn default() -> &'a ListGcpUserAccessBindingsRequest {
4711        <ListGcpUserAccessBindingsRequest as ::protobuf::Message>::default_instance()
4712    }
4713}
4714
4715impl ListGcpUserAccessBindingsRequest {
4716    pub fn new() -> ListGcpUserAccessBindingsRequest {
4717        ::std::default::Default::default()
4718    }
4719
4720    // string parent = 1;
4721
4722
4723    pub fn get_parent(&self) -> &str {
4724        &self.parent
4725    }
4726    pub fn clear_parent(&mut self) {
4727        self.parent.clear();
4728    }
4729
4730    // Param is passed by value, moved
4731    pub fn set_parent(&mut self, v: ::std::string::String) {
4732        self.parent = v;
4733    }
4734
4735    // Mutable pointer to the field.
4736    // If field is not initialized, it is initialized with default value first.
4737    pub fn mut_parent(&mut self) -> &mut ::std::string::String {
4738        &mut self.parent
4739    }
4740
4741    // Take field
4742    pub fn take_parent(&mut self) -> ::std::string::String {
4743        ::std::mem::replace(&mut self.parent, ::std::string::String::new())
4744    }
4745
4746    // int32 page_size = 2;
4747
4748
4749    pub fn get_page_size(&self) -> i32 {
4750        self.page_size
4751    }
4752    pub fn clear_page_size(&mut self) {
4753        self.page_size = 0;
4754    }
4755
4756    // Param is passed by value, moved
4757    pub fn set_page_size(&mut self, v: i32) {
4758        self.page_size = v;
4759    }
4760
4761    // string page_token = 3;
4762
4763
4764    pub fn get_page_token(&self) -> &str {
4765        &self.page_token
4766    }
4767    pub fn clear_page_token(&mut self) {
4768        self.page_token.clear();
4769    }
4770
4771    // Param is passed by value, moved
4772    pub fn set_page_token(&mut self, v: ::std::string::String) {
4773        self.page_token = v;
4774    }
4775
4776    // Mutable pointer to the field.
4777    // If field is not initialized, it is initialized with default value first.
4778    pub fn mut_page_token(&mut self) -> &mut ::std::string::String {
4779        &mut self.page_token
4780    }
4781
4782    // Take field
4783    pub fn take_page_token(&mut self) -> ::std::string::String {
4784        ::std::mem::replace(&mut self.page_token, ::std::string::String::new())
4785    }
4786}
4787
4788impl ::protobuf::Message for ListGcpUserAccessBindingsRequest {
4789    fn is_initialized(&self) -> bool {
4790        true
4791    }
4792
4793    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4794        while !is.eof()? {
4795            let (field_number, wire_type) = is.read_tag_unpack()?;
4796            match field_number {
4797                1 => {
4798                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent)?;
4799                },
4800                2 => {
4801                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
4802                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
4803                    }
4804                    let tmp = is.read_int32()?;
4805                    self.page_size = tmp;
4806                },
4807                3 => {
4808                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.page_token)?;
4809                },
4810                _ => {
4811                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
4812                },
4813            };
4814        }
4815        ::std::result::Result::Ok(())
4816    }
4817
4818    // Compute sizes of nested messages
4819    #[allow(unused_variables)]
4820    fn compute_size(&self) -> u32 {
4821        let mut my_size = 0;
4822        if !self.parent.is_empty() {
4823            my_size += ::protobuf::rt::string_size(1, &self.parent);
4824        }
4825        if self.page_size != 0 {
4826            my_size += ::protobuf::rt::value_size(2, self.page_size, ::protobuf::wire_format::WireTypeVarint);
4827        }
4828        if !self.page_token.is_empty() {
4829            my_size += ::protobuf::rt::string_size(3, &self.page_token);
4830        }
4831        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
4832        self.cached_size.set(my_size);
4833        my_size
4834    }
4835
4836    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
4837        if !self.parent.is_empty() {
4838            os.write_string(1, &self.parent)?;
4839        }
4840        if self.page_size != 0 {
4841            os.write_int32(2, self.page_size)?;
4842        }
4843        if !self.page_token.is_empty() {
4844            os.write_string(3, &self.page_token)?;
4845        }
4846        os.write_unknown_fields(self.get_unknown_fields())?;
4847        ::std::result::Result::Ok(())
4848    }
4849
4850    fn get_cached_size(&self) -> u32 {
4851        self.cached_size.get()
4852    }
4853
4854    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
4855        &self.unknown_fields
4856    }
4857
4858    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
4859        &mut self.unknown_fields
4860    }
4861
4862    fn as_any(&self) -> &dyn (::std::any::Any) {
4863        self as &dyn (::std::any::Any)
4864    }
4865    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
4866        self as &mut dyn (::std::any::Any)
4867    }
4868    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
4869        self
4870    }
4871
4872    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
4873        Self::descriptor_static()
4874    }
4875
4876    fn new() -> ListGcpUserAccessBindingsRequest {
4877        ListGcpUserAccessBindingsRequest::new()
4878    }
4879
4880    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
4881        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
4882        descriptor.get(|| {
4883            let mut fields = ::std::vec::Vec::new();
4884            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4885                "parent",
4886                |m: &ListGcpUserAccessBindingsRequest| { &m.parent },
4887                |m: &mut ListGcpUserAccessBindingsRequest| { &mut m.parent },
4888            ));
4889            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeInt32>(
4890                "page_size",
4891                |m: &ListGcpUserAccessBindingsRequest| { &m.page_size },
4892                |m: &mut ListGcpUserAccessBindingsRequest| { &mut m.page_size },
4893            ));
4894            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
4895                "page_token",
4896                |m: &ListGcpUserAccessBindingsRequest| { &m.page_token },
4897                |m: &mut ListGcpUserAccessBindingsRequest| { &mut m.page_token },
4898            ));
4899            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListGcpUserAccessBindingsRequest>(
4900                "ListGcpUserAccessBindingsRequest",
4901                fields,
4902                file_descriptor_proto()
4903            )
4904        })
4905    }
4906
4907    fn default_instance() -> &'static ListGcpUserAccessBindingsRequest {
4908        static instance: ::protobuf::rt::LazyV2<ListGcpUserAccessBindingsRequest> = ::protobuf::rt::LazyV2::INIT;
4909        instance.get(ListGcpUserAccessBindingsRequest::new)
4910    }
4911}
4912
4913impl ::protobuf::Clear for ListGcpUserAccessBindingsRequest {
4914    fn clear(&mut self) {
4915        self.parent.clear();
4916        self.page_size = 0;
4917        self.page_token.clear();
4918        self.unknown_fields.clear();
4919    }
4920}
4921
4922impl ::std::fmt::Debug for ListGcpUserAccessBindingsRequest {
4923    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
4924        ::protobuf::text_format::fmt(self, f)
4925    }
4926}
4927
4928impl ::protobuf::reflect::ProtobufValue for ListGcpUserAccessBindingsRequest {
4929    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
4930        ::protobuf::reflect::ReflectValueRef::Message(self)
4931    }
4932}
4933
4934#[derive(PartialEq,Clone,Default)]
4935pub struct ListGcpUserAccessBindingsResponse {
4936    // message fields
4937    pub gcp_user_access_bindings: ::protobuf::RepeatedField<super::gcp_user_access_binding::GcpUserAccessBinding>,
4938    pub next_page_token: ::std::string::String,
4939    // special fields
4940    pub unknown_fields: ::protobuf::UnknownFields,
4941    pub cached_size: ::protobuf::CachedSize,
4942}
4943
4944impl<'a> ::std::default::Default for &'a ListGcpUserAccessBindingsResponse {
4945    fn default() -> &'a ListGcpUserAccessBindingsResponse {
4946        <ListGcpUserAccessBindingsResponse as ::protobuf::Message>::default_instance()
4947    }
4948}
4949
4950impl ListGcpUserAccessBindingsResponse {
4951    pub fn new() -> ListGcpUserAccessBindingsResponse {
4952        ::std::default::Default::default()
4953    }
4954
4955    // repeated .google.identity.accesscontextmanager.v1.GcpUserAccessBinding gcp_user_access_bindings = 1;
4956
4957
4958    pub fn get_gcp_user_access_bindings(&self) -> &[super::gcp_user_access_binding::GcpUserAccessBinding] {
4959        &self.gcp_user_access_bindings
4960    }
4961    pub fn clear_gcp_user_access_bindings(&mut self) {
4962        self.gcp_user_access_bindings.clear();
4963    }
4964
4965    // Param is passed by value, moved
4966    pub fn set_gcp_user_access_bindings(&mut self, v: ::protobuf::RepeatedField<super::gcp_user_access_binding::GcpUserAccessBinding>) {
4967        self.gcp_user_access_bindings = v;
4968    }
4969
4970    // Mutable pointer to the field.
4971    pub fn mut_gcp_user_access_bindings(&mut self) -> &mut ::protobuf::RepeatedField<super::gcp_user_access_binding::GcpUserAccessBinding> {
4972        &mut self.gcp_user_access_bindings
4973    }
4974
4975    // Take field
4976    pub fn take_gcp_user_access_bindings(&mut self) -> ::protobuf::RepeatedField<super::gcp_user_access_binding::GcpUserAccessBinding> {
4977        ::std::mem::replace(&mut self.gcp_user_access_bindings, ::protobuf::RepeatedField::new())
4978    }
4979
4980    // string next_page_token = 2;
4981
4982
4983    pub fn get_next_page_token(&self) -> &str {
4984        &self.next_page_token
4985    }
4986    pub fn clear_next_page_token(&mut self) {
4987        self.next_page_token.clear();
4988    }
4989
4990    // Param is passed by value, moved
4991    pub fn set_next_page_token(&mut self, v: ::std::string::String) {
4992        self.next_page_token = v;
4993    }
4994
4995    // Mutable pointer to the field.
4996    // If field is not initialized, it is initialized with default value first.
4997    pub fn mut_next_page_token(&mut self) -> &mut ::std::string::String {
4998        &mut self.next_page_token
4999    }
5000
5001    // Take field
5002    pub fn take_next_page_token(&mut self) -> ::std::string::String {
5003        ::std::mem::replace(&mut self.next_page_token, ::std::string::String::new())
5004    }
5005}
5006
5007impl ::protobuf::Message for ListGcpUserAccessBindingsResponse {
5008    fn is_initialized(&self) -> bool {
5009        for v in &self.gcp_user_access_bindings {
5010            if !v.is_initialized() {
5011                return false;
5012            }
5013        };
5014        true
5015    }
5016
5017    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5018        while !is.eof()? {
5019            let (field_number, wire_type) = is.read_tag_unpack()?;
5020            match field_number {
5021                1 => {
5022                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.gcp_user_access_bindings)?;
5023                },
5024                2 => {
5025                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.next_page_token)?;
5026                },
5027                _ => {
5028                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5029                },
5030            };
5031        }
5032        ::std::result::Result::Ok(())
5033    }
5034
5035    // Compute sizes of nested messages
5036    #[allow(unused_variables)]
5037    fn compute_size(&self) -> u32 {
5038        let mut my_size = 0;
5039        for value in &self.gcp_user_access_bindings {
5040            let len = value.compute_size();
5041            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5042        };
5043        if !self.next_page_token.is_empty() {
5044            my_size += ::protobuf::rt::string_size(2, &self.next_page_token);
5045        }
5046        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5047        self.cached_size.set(my_size);
5048        my_size
5049    }
5050
5051    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5052        for v in &self.gcp_user_access_bindings {
5053            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5054            os.write_raw_varint32(v.get_cached_size())?;
5055            v.write_to_with_cached_sizes(os)?;
5056        };
5057        if !self.next_page_token.is_empty() {
5058            os.write_string(2, &self.next_page_token)?;
5059        }
5060        os.write_unknown_fields(self.get_unknown_fields())?;
5061        ::std::result::Result::Ok(())
5062    }
5063
5064    fn get_cached_size(&self) -> u32 {
5065        self.cached_size.get()
5066    }
5067
5068    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5069        &self.unknown_fields
5070    }
5071
5072    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5073        &mut self.unknown_fields
5074    }
5075
5076    fn as_any(&self) -> &dyn (::std::any::Any) {
5077        self as &dyn (::std::any::Any)
5078    }
5079    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5080        self as &mut dyn (::std::any::Any)
5081    }
5082    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5083        self
5084    }
5085
5086    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5087        Self::descriptor_static()
5088    }
5089
5090    fn new() -> ListGcpUserAccessBindingsResponse {
5091        ListGcpUserAccessBindingsResponse::new()
5092    }
5093
5094    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5095        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5096        descriptor.get(|| {
5097            let mut fields = ::std::vec::Vec::new();
5098            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::gcp_user_access_binding::GcpUserAccessBinding>>(
5099                "gcp_user_access_bindings",
5100                |m: &ListGcpUserAccessBindingsResponse| { &m.gcp_user_access_bindings },
5101                |m: &mut ListGcpUserAccessBindingsResponse| { &mut m.gcp_user_access_bindings },
5102            ));
5103            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5104                "next_page_token",
5105                |m: &ListGcpUserAccessBindingsResponse| { &m.next_page_token },
5106                |m: &mut ListGcpUserAccessBindingsResponse| { &mut m.next_page_token },
5107            ));
5108            ::protobuf::reflect::MessageDescriptor::new_pb_name::<ListGcpUserAccessBindingsResponse>(
5109                "ListGcpUserAccessBindingsResponse",
5110                fields,
5111                file_descriptor_proto()
5112            )
5113        })
5114    }
5115
5116    fn default_instance() -> &'static ListGcpUserAccessBindingsResponse {
5117        static instance: ::protobuf::rt::LazyV2<ListGcpUserAccessBindingsResponse> = ::protobuf::rt::LazyV2::INIT;
5118        instance.get(ListGcpUserAccessBindingsResponse::new)
5119    }
5120}
5121
5122impl ::protobuf::Clear for ListGcpUserAccessBindingsResponse {
5123    fn clear(&mut self) {
5124        self.gcp_user_access_bindings.clear();
5125        self.next_page_token.clear();
5126        self.unknown_fields.clear();
5127    }
5128}
5129
5130impl ::std::fmt::Debug for ListGcpUserAccessBindingsResponse {
5131    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5132        ::protobuf::text_format::fmt(self, f)
5133    }
5134}
5135
5136impl ::protobuf::reflect::ProtobufValue for ListGcpUserAccessBindingsResponse {
5137    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5138        ::protobuf::reflect::ReflectValueRef::Message(self)
5139    }
5140}
5141
5142#[derive(PartialEq,Clone,Default)]
5143pub struct GetGcpUserAccessBindingRequest {
5144    // message fields
5145    pub name: ::std::string::String,
5146    // special fields
5147    pub unknown_fields: ::protobuf::UnknownFields,
5148    pub cached_size: ::protobuf::CachedSize,
5149}
5150
5151impl<'a> ::std::default::Default for &'a GetGcpUserAccessBindingRequest {
5152    fn default() -> &'a GetGcpUserAccessBindingRequest {
5153        <GetGcpUserAccessBindingRequest as ::protobuf::Message>::default_instance()
5154    }
5155}
5156
5157impl GetGcpUserAccessBindingRequest {
5158    pub fn new() -> GetGcpUserAccessBindingRequest {
5159        ::std::default::Default::default()
5160    }
5161
5162    // string name = 1;
5163
5164
5165    pub fn get_name(&self) -> &str {
5166        &self.name
5167    }
5168    pub fn clear_name(&mut self) {
5169        self.name.clear();
5170    }
5171
5172    // Param is passed by value, moved
5173    pub fn set_name(&mut self, v: ::std::string::String) {
5174        self.name = v;
5175    }
5176
5177    // Mutable pointer to the field.
5178    // If field is not initialized, it is initialized with default value first.
5179    pub fn mut_name(&mut self) -> &mut ::std::string::String {
5180        &mut self.name
5181    }
5182
5183    // Take field
5184    pub fn take_name(&mut self) -> ::std::string::String {
5185        ::std::mem::replace(&mut self.name, ::std::string::String::new())
5186    }
5187}
5188
5189impl ::protobuf::Message for GetGcpUserAccessBindingRequest {
5190    fn is_initialized(&self) -> bool {
5191        true
5192    }
5193
5194    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5195        while !is.eof()? {
5196            let (field_number, wire_type) = is.read_tag_unpack()?;
5197            match field_number {
5198                1 => {
5199                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
5200                },
5201                _ => {
5202                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5203                },
5204            };
5205        }
5206        ::std::result::Result::Ok(())
5207    }
5208
5209    // Compute sizes of nested messages
5210    #[allow(unused_variables)]
5211    fn compute_size(&self) -> u32 {
5212        let mut my_size = 0;
5213        if !self.name.is_empty() {
5214            my_size += ::protobuf::rt::string_size(1, &self.name);
5215        }
5216        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5217        self.cached_size.set(my_size);
5218        my_size
5219    }
5220
5221    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5222        if !self.name.is_empty() {
5223            os.write_string(1, &self.name)?;
5224        }
5225        os.write_unknown_fields(self.get_unknown_fields())?;
5226        ::std::result::Result::Ok(())
5227    }
5228
5229    fn get_cached_size(&self) -> u32 {
5230        self.cached_size.get()
5231    }
5232
5233    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5234        &self.unknown_fields
5235    }
5236
5237    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5238        &mut self.unknown_fields
5239    }
5240
5241    fn as_any(&self) -> &dyn (::std::any::Any) {
5242        self as &dyn (::std::any::Any)
5243    }
5244    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5245        self as &mut dyn (::std::any::Any)
5246    }
5247    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5248        self
5249    }
5250
5251    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5252        Self::descriptor_static()
5253    }
5254
5255    fn new() -> GetGcpUserAccessBindingRequest {
5256        GetGcpUserAccessBindingRequest::new()
5257    }
5258
5259    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5260        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5261        descriptor.get(|| {
5262            let mut fields = ::std::vec::Vec::new();
5263            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5264                "name",
5265                |m: &GetGcpUserAccessBindingRequest| { &m.name },
5266                |m: &mut GetGcpUserAccessBindingRequest| { &mut m.name },
5267            ));
5268            ::protobuf::reflect::MessageDescriptor::new_pb_name::<GetGcpUserAccessBindingRequest>(
5269                "GetGcpUserAccessBindingRequest",
5270                fields,
5271                file_descriptor_proto()
5272            )
5273        })
5274    }
5275
5276    fn default_instance() -> &'static GetGcpUserAccessBindingRequest {
5277        static instance: ::protobuf::rt::LazyV2<GetGcpUserAccessBindingRequest> = ::protobuf::rt::LazyV2::INIT;
5278        instance.get(GetGcpUserAccessBindingRequest::new)
5279    }
5280}
5281
5282impl ::protobuf::Clear for GetGcpUserAccessBindingRequest {
5283    fn clear(&mut self) {
5284        self.name.clear();
5285        self.unknown_fields.clear();
5286    }
5287}
5288
5289impl ::std::fmt::Debug for GetGcpUserAccessBindingRequest {
5290    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5291        ::protobuf::text_format::fmt(self, f)
5292    }
5293}
5294
5295impl ::protobuf::reflect::ProtobufValue for GetGcpUserAccessBindingRequest {
5296    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5297        ::protobuf::reflect::ReflectValueRef::Message(self)
5298    }
5299}
5300
5301#[derive(PartialEq,Clone,Default)]
5302pub struct CreateGcpUserAccessBindingRequest {
5303    // message fields
5304    pub parent: ::std::string::String,
5305    pub gcp_user_access_binding: ::protobuf::SingularPtrField<super::gcp_user_access_binding::GcpUserAccessBinding>,
5306    // special fields
5307    pub unknown_fields: ::protobuf::UnknownFields,
5308    pub cached_size: ::protobuf::CachedSize,
5309}
5310
5311impl<'a> ::std::default::Default for &'a CreateGcpUserAccessBindingRequest {
5312    fn default() -> &'a CreateGcpUserAccessBindingRequest {
5313        <CreateGcpUserAccessBindingRequest as ::protobuf::Message>::default_instance()
5314    }
5315}
5316
5317impl CreateGcpUserAccessBindingRequest {
5318    pub fn new() -> CreateGcpUserAccessBindingRequest {
5319        ::std::default::Default::default()
5320    }
5321
5322    // string parent = 1;
5323
5324
5325    pub fn get_parent(&self) -> &str {
5326        &self.parent
5327    }
5328    pub fn clear_parent(&mut self) {
5329        self.parent.clear();
5330    }
5331
5332    // Param is passed by value, moved
5333    pub fn set_parent(&mut self, v: ::std::string::String) {
5334        self.parent = v;
5335    }
5336
5337    // Mutable pointer to the field.
5338    // If field is not initialized, it is initialized with default value first.
5339    pub fn mut_parent(&mut self) -> &mut ::std::string::String {
5340        &mut self.parent
5341    }
5342
5343    // Take field
5344    pub fn take_parent(&mut self) -> ::std::string::String {
5345        ::std::mem::replace(&mut self.parent, ::std::string::String::new())
5346    }
5347
5348    // .google.identity.accesscontextmanager.v1.GcpUserAccessBinding gcp_user_access_binding = 2;
5349
5350
5351    pub fn get_gcp_user_access_binding(&self) -> &super::gcp_user_access_binding::GcpUserAccessBinding {
5352        self.gcp_user_access_binding.as_ref().unwrap_or_else(|| <super::gcp_user_access_binding::GcpUserAccessBinding as ::protobuf::Message>::default_instance())
5353    }
5354    pub fn clear_gcp_user_access_binding(&mut self) {
5355        self.gcp_user_access_binding.clear();
5356    }
5357
5358    pub fn has_gcp_user_access_binding(&self) -> bool {
5359        self.gcp_user_access_binding.is_some()
5360    }
5361
5362    // Param is passed by value, moved
5363    pub fn set_gcp_user_access_binding(&mut self, v: super::gcp_user_access_binding::GcpUserAccessBinding) {
5364        self.gcp_user_access_binding = ::protobuf::SingularPtrField::some(v);
5365    }
5366
5367    // Mutable pointer to the field.
5368    // If field is not initialized, it is initialized with default value first.
5369    pub fn mut_gcp_user_access_binding(&mut self) -> &mut super::gcp_user_access_binding::GcpUserAccessBinding {
5370        if self.gcp_user_access_binding.is_none() {
5371            self.gcp_user_access_binding.set_default();
5372        }
5373        self.gcp_user_access_binding.as_mut().unwrap()
5374    }
5375
5376    // Take field
5377    pub fn take_gcp_user_access_binding(&mut self) -> super::gcp_user_access_binding::GcpUserAccessBinding {
5378        self.gcp_user_access_binding.take().unwrap_or_else(|| super::gcp_user_access_binding::GcpUserAccessBinding::new())
5379    }
5380}
5381
5382impl ::protobuf::Message for CreateGcpUserAccessBindingRequest {
5383    fn is_initialized(&self) -> bool {
5384        for v in &self.gcp_user_access_binding {
5385            if !v.is_initialized() {
5386                return false;
5387            }
5388        };
5389        true
5390    }
5391
5392    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5393        while !is.eof()? {
5394            let (field_number, wire_type) = is.read_tag_unpack()?;
5395            match field_number {
5396                1 => {
5397                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.parent)?;
5398                },
5399                2 => {
5400                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.gcp_user_access_binding)?;
5401                },
5402                _ => {
5403                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5404                },
5405            };
5406        }
5407        ::std::result::Result::Ok(())
5408    }
5409
5410    // Compute sizes of nested messages
5411    #[allow(unused_variables)]
5412    fn compute_size(&self) -> u32 {
5413        let mut my_size = 0;
5414        if !self.parent.is_empty() {
5415            my_size += ::protobuf::rt::string_size(1, &self.parent);
5416        }
5417        if let Some(ref v) = self.gcp_user_access_binding.as_ref() {
5418            let len = v.compute_size();
5419            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5420        }
5421        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5422        self.cached_size.set(my_size);
5423        my_size
5424    }
5425
5426    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5427        if !self.parent.is_empty() {
5428            os.write_string(1, &self.parent)?;
5429        }
5430        if let Some(ref v) = self.gcp_user_access_binding.as_ref() {
5431            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5432            os.write_raw_varint32(v.get_cached_size())?;
5433            v.write_to_with_cached_sizes(os)?;
5434        }
5435        os.write_unknown_fields(self.get_unknown_fields())?;
5436        ::std::result::Result::Ok(())
5437    }
5438
5439    fn get_cached_size(&self) -> u32 {
5440        self.cached_size.get()
5441    }
5442
5443    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5444        &self.unknown_fields
5445    }
5446
5447    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5448        &mut self.unknown_fields
5449    }
5450
5451    fn as_any(&self) -> &dyn (::std::any::Any) {
5452        self as &dyn (::std::any::Any)
5453    }
5454    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5455        self as &mut dyn (::std::any::Any)
5456    }
5457    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5458        self
5459    }
5460
5461    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5462        Self::descriptor_static()
5463    }
5464
5465    fn new() -> CreateGcpUserAccessBindingRequest {
5466        CreateGcpUserAccessBindingRequest::new()
5467    }
5468
5469    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5470        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5471        descriptor.get(|| {
5472            let mut fields = ::std::vec::Vec::new();
5473            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5474                "parent",
5475                |m: &CreateGcpUserAccessBindingRequest| { &m.parent },
5476                |m: &mut CreateGcpUserAccessBindingRequest| { &mut m.parent },
5477            ));
5478            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::gcp_user_access_binding::GcpUserAccessBinding>>(
5479                "gcp_user_access_binding",
5480                |m: &CreateGcpUserAccessBindingRequest| { &m.gcp_user_access_binding },
5481                |m: &mut CreateGcpUserAccessBindingRequest| { &mut m.gcp_user_access_binding },
5482            ));
5483            ::protobuf::reflect::MessageDescriptor::new_pb_name::<CreateGcpUserAccessBindingRequest>(
5484                "CreateGcpUserAccessBindingRequest",
5485                fields,
5486                file_descriptor_proto()
5487            )
5488        })
5489    }
5490
5491    fn default_instance() -> &'static CreateGcpUserAccessBindingRequest {
5492        static instance: ::protobuf::rt::LazyV2<CreateGcpUserAccessBindingRequest> = ::protobuf::rt::LazyV2::INIT;
5493        instance.get(CreateGcpUserAccessBindingRequest::new)
5494    }
5495}
5496
5497impl ::protobuf::Clear for CreateGcpUserAccessBindingRequest {
5498    fn clear(&mut self) {
5499        self.parent.clear();
5500        self.gcp_user_access_binding.clear();
5501        self.unknown_fields.clear();
5502    }
5503}
5504
5505impl ::std::fmt::Debug for CreateGcpUserAccessBindingRequest {
5506    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5507        ::protobuf::text_format::fmt(self, f)
5508    }
5509}
5510
5511impl ::protobuf::reflect::ProtobufValue for CreateGcpUserAccessBindingRequest {
5512    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5513        ::protobuf::reflect::ReflectValueRef::Message(self)
5514    }
5515}
5516
5517#[derive(PartialEq,Clone,Default)]
5518pub struct UpdateGcpUserAccessBindingRequest {
5519    // message fields
5520    pub gcp_user_access_binding: ::protobuf::SingularPtrField<super::gcp_user_access_binding::GcpUserAccessBinding>,
5521    pub update_mask: ::protobuf::SingularPtrField<::protobuf::well_known_types::FieldMask>,
5522    // special fields
5523    pub unknown_fields: ::protobuf::UnknownFields,
5524    pub cached_size: ::protobuf::CachedSize,
5525}
5526
5527impl<'a> ::std::default::Default for &'a UpdateGcpUserAccessBindingRequest {
5528    fn default() -> &'a UpdateGcpUserAccessBindingRequest {
5529        <UpdateGcpUserAccessBindingRequest as ::protobuf::Message>::default_instance()
5530    }
5531}
5532
5533impl UpdateGcpUserAccessBindingRequest {
5534    pub fn new() -> UpdateGcpUserAccessBindingRequest {
5535        ::std::default::Default::default()
5536    }
5537
5538    // .google.identity.accesscontextmanager.v1.GcpUserAccessBinding gcp_user_access_binding = 1;
5539
5540
5541    pub fn get_gcp_user_access_binding(&self) -> &super::gcp_user_access_binding::GcpUserAccessBinding {
5542        self.gcp_user_access_binding.as_ref().unwrap_or_else(|| <super::gcp_user_access_binding::GcpUserAccessBinding as ::protobuf::Message>::default_instance())
5543    }
5544    pub fn clear_gcp_user_access_binding(&mut self) {
5545        self.gcp_user_access_binding.clear();
5546    }
5547
5548    pub fn has_gcp_user_access_binding(&self) -> bool {
5549        self.gcp_user_access_binding.is_some()
5550    }
5551
5552    // Param is passed by value, moved
5553    pub fn set_gcp_user_access_binding(&mut self, v: super::gcp_user_access_binding::GcpUserAccessBinding) {
5554        self.gcp_user_access_binding = ::protobuf::SingularPtrField::some(v);
5555    }
5556
5557    // Mutable pointer to the field.
5558    // If field is not initialized, it is initialized with default value first.
5559    pub fn mut_gcp_user_access_binding(&mut self) -> &mut super::gcp_user_access_binding::GcpUserAccessBinding {
5560        if self.gcp_user_access_binding.is_none() {
5561            self.gcp_user_access_binding.set_default();
5562        }
5563        self.gcp_user_access_binding.as_mut().unwrap()
5564    }
5565
5566    // Take field
5567    pub fn take_gcp_user_access_binding(&mut self) -> super::gcp_user_access_binding::GcpUserAccessBinding {
5568        self.gcp_user_access_binding.take().unwrap_or_else(|| super::gcp_user_access_binding::GcpUserAccessBinding::new())
5569    }
5570
5571    // .google.protobuf.FieldMask update_mask = 2;
5572
5573
5574    pub fn get_update_mask(&self) -> &::protobuf::well_known_types::FieldMask {
5575        self.update_mask.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::FieldMask as ::protobuf::Message>::default_instance())
5576    }
5577    pub fn clear_update_mask(&mut self) {
5578        self.update_mask.clear();
5579    }
5580
5581    pub fn has_update_mask(&self) -> bool {
5582        self.update_mask.is_some()
5583    }
5584
5585    // Param is passed by value, moved
5586    pub fn set_update_mask(&mut self, v: ::protobuf::well_known_types::FieldMask) {
5587        self.update_mask = ::protobuf::SingularPtrField::some(v);
5588    }
5589
5590    // Mutable pointer to the field.
5591    // If field is not initialized, it is initialized with default value first.
5592    pub fn mut_update_mask(&mut self) -> &mut ::protobuf::well_known_types::FieldMask {
5593        if self.update_mask.is_none() {
5594            self.update_mask.set_default();
5595        }
5596        self.update_mask.as_mut().unwrap()
5597    }
5598
5599    // Take field
5600    pub fn take_update_mask(&mut self) -> ::protobuf::well_known_types::FieldMask {
5601        self.update_mask.take().unwrap_or_else(|| ::protobuf::well_known_types::FieldMask::new())
5602    }
5603}
5604
5605impl ::protobuf::Message for UpdateGcpUserAccessBindingRequest {
5606    fn is_initialized(&self) -> bool {
5607        for v in &self.gcp_user_access_binding {
5608            if !v.is_initialized() {
5609                return false;
5610            }
5611        };
5612        for v in &self.update_mask {
5613            if !v.is_initialized() {
5614                return false;
5615            }
5616        };
5617        true
5618    }
5619
5620    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5621        while !is.eof()? {
5622            let (field_number, wire_type) = is.read_tag_unpack()?;
5623            match field_number {
5624                1 => {
5625                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.gcp_user_access_binding)?;
5626                },
5627                2 => {
5628                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.update_mask)?;
5629                },
5630                _ => {
5631                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5632                },
5633            };
5634        }
5635        ::std::result::Result::Ok(())
5636    }
5637
5638    // Compute sizes of nested messages
5639    #[allow(unused_variables)]
5640    fn compute_size(&self) -> u32 {
5641        let mut my_size = 0;
5642        if let Some(ref v) = self.gcp_user_access_binding.as_ref() {
5643            let len = v.compute_size();
5644            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5645        }
5646        if let Some(ref v) = self.update_mask.as_ref() {
5647            let len = v.compute_size();
5648            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
5649        }
5650        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5651        self.cached_size.set(my_size);
5652        my_size
5653    }
5654
5655    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5656        if let Some(ref v) = self.gcp_user_access_binding.as_ref() {
5657            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5658            os.write_raw_varint32(v.get_cached_size())?;
5659            v.write_to_with_cached_sizes(os)?;
5660        }
5661        if let Some(ref v) = self.update_mask.as_ref() {
5662            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
5663            os.write_raw_varint32(v.get_cached_size())?;
5664            v.write_to_with_cached_sizes(os)?;
5665        }
5666        os.write_unknown_fields(self.get_unknown_fields())?;
5667        ::std::result::Result::Ok(())
5668    }
5669
5670    fn get_cached_size(&self) -> u32 {
5671        self.cached_size.get()
5672    }
5673
5674    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5675        &self.unknown_fields
5676    }
5677
5678    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5679        &mut self.unknown_fields
5680    }
5681
5682    fn as_any(&self) -> &dyn (::std::any::Any) {
5683        self as &dyn (::std::any::Any)
5684    }
5685    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5686        self as &mut dyn (::std::any::Any)
5687    }
5688    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5689        self
5690    }
5691
5692    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5693        Self::descriptor_static()
5694    }
5695
5696    fn new() -> UpdateGcpUserAccessBindingRequest {
5697        UpdateGcpUserAccessBindingRequest::new()
5698    }
5699
5700    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5701        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5702        descriptor.get(|| {
5703            let mut fields = ::std::vec::Vec::new();
5704            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::gcp_user_access_binding::GcpUserAccessBinding>>(
5705                "gcp_user_access_binding",
5706                |m: &UpdateGcpUserAccessBindingRequest| { &m.gcp_user_access_binding },
5707                |m: &mut UpdateGcpUserAccessBindingRequest| { &mut m.gcp_user_access_binding },
5708            ));
5709            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::FieldMask>>(
5710                "update_mask",
5711                |m: &UpdateGcpUserAccessBindingRequest| { &m.update_mask },
5712                |m: &mut UpdateGcpUserAccessBindingRequest| { &mut m.update_mask },
5713            ));
5714            ::protobuf::reflect::MessageDescriptor::new_pb_name::<UpdateGcpUserAccessBindingRequest>(
5715                "UpdateGcpUserAccessBindingRequest",
5716                fields,
5717                file_descriptor_proto()
5718            )
5719        })
5720    }
5721
5722    fn default_instance() -> &'static UpdateGcpUserAccessBindingRequest {
5723        static instance: ::protobuf::rt::LazyV2<UpdateGcpUserAccessBindingRequest> = ::protobuf::rt::LazyV2::INIT;
5724        instance.get(UpdateGcpUserAccessBindingRequest::new)
5725    }
5726}
5727
5728impl ::protobuf::Clear for UpdateGcpUserAccessBindingRequest {
5729    fn clear(&mut self) {
5730        self.gcp_user_access_binding.clear();
5731        self.update_mask.clear();
5732        self.unknown_fields.clear();
5733    }
5734}
5735
5736impl ::std::fmt::Debug for UpdateGcpUserAccessBindingRequest {
5737    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5738        ::protobuf::text_format::fmt(self, f)
5739    }
5740}
5741
5742impl ::protobuf::reflect::ProtobufValue for UpdateGcpUserAccessBindingRequest {
5743    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5744        ::protobuf::reflect::ReflectValueRef::Message(self)
5745    }
5746}
5747
5748#[derive(PartialEq,Clone,Default)]
5749pub struct DeleteGcpUserAccessBindingRequest {
5750    // message fields
5751    pub name: ::std::string::String,
5752    // special fields
5753    pub unknown_fields: ::protobuf::UnknownFields,
5754    pub cached_size: ::protobuf::CachedSize,
5755}
5756
5757impl<'a> ::std::default::Default for &'a DeleteGcpUserAccessBindingRequest {
5758    fn default() -> &'a DeleteGcpUserAccessBindingRequest {
5759        <DeleteGcpUserAccessBindingRequest as ::protobuf::Message>::default_instance()
5760    }
5761}
5762
5763impl DeleteGcpUserAccessBindingRequest {
5764    pub fn new() -> DeleteGcpUserAccessBindingRequest {
5765        ::std::default::Default::default()
5766    }
5767
5768    // string name = 1;
5769
5770
5771    pub fn get_name(&self) -> &str {
5772        &self.name
5773    }
5774    pub fn clear_name(&mut self) {
5775        self.name.clear();
5776    }
5777
5778    // Param is passed by value, moved
5779    pub fn set_name(&mut self, v: ::std::string::String) {
5780        self.name = v;
5781    }
5782
5783    // Mutable pointer to the field.
5784    // If field is not initialized, it is initialized with default value first.
5785    pub fn mut_name(&mut self) -> &mut ::std::string::String {
5786        &mut self.name
5787    }
5788
5789    // Take field
5790    pub fn take_name(&mut self) -> ::std::string::String {
5791        ::std::mem::replace(&mut self.name, ::std::string::String::new())
5792    }
5793}
5794
5795impl ::protobuf::Message for DeleteGcpUserAccessBindingRequest {
5796    fn is_initialized(&self) -> bool {
5797        true
5798    }
5799
5800    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5801        while !is.eof()? {
5802            let (field_number, wire_type) = is.read_tag_unpack()?;
5803            match field_number {
5804                1 => {
5805                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
5806                },
5807                _ => {
5808                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5809                },
5810            };
5811        }
5812        ::std::result::Result::Ok(())
5813    }
5814
5815    // Compute sizes of nested messages
5816    #[allow(unused_variables)]
5817    fn compute_size(&self) -> u32 {
5818        let mut my_size = 0;
5819        if !self.name.is_empty() {
5820            my_size += ::protobuf::rt::string_size(1, &self.name);
5821        }
5822        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5823        self.cached_size.set(my_size);
5824        my_size
5825    }
5826
5827    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5828        if !self.name.is_empty() {
5829            os.write_string(1, &self.name)?;
5830        }
5831        os.write_unknown_fields(self.get_unknown_fields())?;
5832        ::std::result::Result::Ok(())
5833    }
5834
5835    fn get_cached_size(&self) -> u32 {
5836        self.cached_size.get()
5837    }
5838
5839    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5840        &self.unknown_fields
5841    }
5842
5843    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5844        &mut self.unknown_fields
5845    }
5846
5847    fn as_any(&self) -> &dyn (::std::any::Any) {
5848        self as &dyn (::std::any::Any)
5849    }
5850    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5851        self as &mut dyn (::std::any::Any)
5852    }
5853    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5854        self
5855    }
5856
5857    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5858        Self::descriptor_static()
5859    }
5860
5861    fn new() -> DeleteGcpUserAccessBindingRequest {
5862        DeleteGcpUserAccessBindingRequest::new()
5863    }
5864
5865    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5866        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5867        descriptor.get(|| {
5868            let mut fields = ::std::vec::Vec::new();
5869            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
5870                "name",
5871                |m: &DeleteGcpUserAccessBindingRequest| { &m.name },
5872                |m: &mut DeleteGcpUserAccessBindingRequest| { &mut m.name },
5873            ));
5874            ::protobuf::reflect::MessageDescriptor::new_pb_name::<DeleteGcpUserAccessBindingRequest>(
5875                "DeleteGcpUserAccessBindingRequest",
5876                fields,
5877                file_descriptor_proto()
5878            )
5879        })
5880    }
5881
5882    fn default_instance() -> &'static DeleteGcpUserAccessBindingRequest {
5883        static instance: ::protobuf::rt::LazyV2<DeleteGcpUserAccessBindingRequest> = ::protobuf::rt::LazyV2::INIT;
5884        instance.get(DeleteGcpUserAccessBindingRequest::new)
5885    }
5886}
5887
5888impl ::protobuf::Clear for DeleteGcpUserAccessBindingRequest {
5889    fn clear(&mut self) {
5890        self.name.clear();
5891        self.unknown_fields.clear();
5892    }
5893}
5894
5895impl ::std::fmt::Debug for DeleteGcpUserAccessBindingRequest {
5896    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
5897        ::protobuf::text_format::fmt(self, f)
5898    }
5899}
5900
5901impl ::protobuf::reflect::ProtobufValue for DeleteGcpUserAccessBindingRequest {
5902    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
5903        ::protobuf::reflect::ReflectValueRef::Message(self)
5904    }
5905}
5906
5907#[derive(PartialEq,Clone,Default)]
5908pub struct GcpUserAccessBindingOperationMetadata {
5909    // special fields
5910    pub unknown_fields: ::protobuf::UnknownFields,
5911    pub cached_size: ::protobuf::CachedSize,
5912}
5913
5914impl<'a> ::std::default::Default for &'a GcpUserAccessBindingOperationMetadata {
5915    fn default() -> &'a GcpUserAccessBindingOperationMetadata {
5916        <GcpUserAccessBindingOperationMetadata as ::protobuf::Message>::default_instance()
5917    }
5918}
5919
5920impl GcpUserAccessBindingOperationMetadata {
5921    pub fn new() -> GcpUserAccessBindingOperationMetadata {
5922        ::std::default::Default::default()
5923    }
5924}
5925
5926impl ::protobuf::Message for GcpUserAccessBindingOperationMetadata {
5927    fn is_initialized(&self) -> bool {
5928        true
5929    }
5930
5931    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5932        while !is.eof()? {
5933            let (field_number, wire_type) = is.read_tag_unpack()?;
5934            match field_number {
5935                _ => {
5936                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
5937                },
5938            };
5939        }
5940        ::std::result::Result::Ok(())
5941    }
5942
5943    // Compute sizes of nested messages
5944    #[allow(unused_variables)]
5945    fn compute_size(&self) -> u32 {
5946        let mut my_size = 0;
5947        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
5948        self.cached_size.set(my_size);
5949        my_size
5950    }
5951
5952    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
5953        os.write_unknown_fields(self.get_unknown_fields())?;
5954        ::std::result::Result::Ok(())
5955    }
5956
5957    fn get_cached_size(&self) -> u32 {
5958        self.cached_size.get()
5959    }
5960
5961    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
5962        &self.unknown_fields
5963    }
5964
5965    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
5966        &mut self.unknown_fields
5967    }
5968
5969    fn as_any(&self) -> &dyn (::std::any::Any) {
5970        self as &dyn (::std::any::Any)
5971    }
5972    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
5973        self as &mut dyn (::std::any::Any)
5974    }
5975    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
5976        self
5977    }
5978
5979    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
5980        Self::descriptor_static()
5981    }
5982
5983    fn new() -> GcpUserAccessBindingOperationMetadata {
5984        GcpUserAccessBindingOperationMetadata::new()
5985    }
5986
5987    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
5988        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
5989        descriptor.get(|| {
5990            let fields = ::std::vec::Vec::new();
5991            ::protobuf::reflect::MessageDescriptor::new_pb_name::<GcpUserAccessBindingOperationMetadata>(
5992                "GcpUserAccessBindingOperationMetadata",
5993                fields,
5994                file_descriptor_proto()
5995            )
5996        })
5997    }
5998
5999    fn default_instance() -> &'static GcpUserAccessBindingOperationMetadata {
6000        static instance: ::protobuf::rt::LazyV2<GcpUserAccessBindingOperationMetadata> = ::protobuf::rt::LazyV2::INIT;
6001        instance.get(GcpUserAccessBindingOperationMetadata::new)
6002    }
6003}
6004
6005impl ::protobuf::Clear for GcpUserAccessBindingOperationMetadata {
6006    fn clear(&mut self) {
6007        self.unknown_fields.clear();
6008    }
6009}
6010
6011impl ::std::fmt::Debug for GcpUserAccessBindingOperationMetadata {
6012    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6013        ::protobuf::text_format::fmt(self, f)
6014    }
6015}
6016
6017impl ::protobuf::reflect::ProtobufValue for GcpUserAccessBindingOperationMetadata {
6018    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6019        ::protobuf::reflect::ReflectValueRef::Message(self)
6020    }
6021}
6022
6023#[derive(PartialEq,Clone,Default)]
6024pub struct AccessContextManagerOperationMetadata {
6025    // special fields
6026    pub unknown_fields: ::protobuf::UnknownFields,
6027    pub cached_size: ::protobuf::CachedSize,
6028}
6029
6030impl<'a> ::std::default::Default for &'a AccessContextManagerOperationMetadata {
6031    fn default() -> &'a AccessContextManagerOperationMetadata {
6032        <AccessContextManagerOperationMetadata as ::protobuf::Message>::default_instance()
6033    }
6034}
6035
6036impl AccessContextManagerOperationMetadata {
6037    pub fn new() -> AccessContextManagerOperationMetadata {
6038        ::std::default::Default::default()
6039    }
6040}
6041
6042impl ::protobuf::Message for AccessContextManagerOperationMetadata {
6043    fn is_initialized(&self) -> bool {
6044        true
6045    }
6046
6047    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6048        while !is.eof()? {
6049            let (field_number, wire_type) = is.read_tag_unpack()?;
6050            match field_number {
6051                _ => {
6052                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
6053                },
6054            };
6055        }
6056        ::std::result::Result::Ok(())
6057    }
6058
6059    // Compute sizes of nested messages
6060    #[allow(unused_variables)]
6061    fn compute_size(&self) -> u32 {
6062        let mut my_size = 0;
6063        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
6064        self.cached_size.set(my_size);
6065        my_size
6066    }
6067
6068    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
6069        os.write_unknown_fields(self.get_unknown_fields())?;
6070        ::std::result::Result::Ok(())
6071    }
6072
6073    fn get_cached_size(&self) -> u32 {
6074        self.cached_size.get()
6075    }
6076
6077    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
6078        &self.unknown_fields
6079    }
6080
6081    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
6082        &mut self.unknown_fields
6083    }
6084
6085    fn as_any(&self) -> &dyn (::std::any::Any) {
6086        self as &dyn (::std::any::Any)
6087    }
6088    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
6089        self as &mut dyn (::std::any::Any)
6090    }
6091    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
6092        self
6093    }
6094
6095    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
6096        Self::descriptor_static()
6097    }
6098
6099    fn new() -> AccessContextManagerOperationMetadata {
6100        AccessContextManagerOperationMetadata::new()
6101    }
6102
6103    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
6104        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
6105        descriptor.get(|| {
6106            let fields = ::std::vec::Vec::new();
6107            ::protobuf::reflect::MessageDescriptor::new_pb_name::<AccessContextManagerOperationMetadata>(
6108                "AccessContextManagerOperationMetadata",
6109                fields,
6110                file_descriptor_proto()
6111            )
6112        })
6113    }
6114
6115    fn default_instance() -> &'static AccessContextManagerOperationMetadata {
6116        static instance: ::protobuf::rt::LazyV2<AccessContextManagerOperationMetadata> = ::protobuf::rt::LazyV2::INIT;
6117        instance.get(AccessContextManagerOperationMetadata::new)
6118    }
6119}
6120
6121impl ::protobuf::Clear for AccessContextManagerOperationMetadata {
6122    fn clear(&mut self) {
6123        self.unknown_fields.clear();
6124    }
6125}
6126
6127impl ::std::fmt::Debug for AccessContextManagerOperationMetadata {
6128    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
6129        ::protobuf::text_format::fmt(self, f)
6130    }
6131}
6132
6133impl ::protobuf::reflect::ProtobufValue for AccessContextManagerOperationMetadata {
6134    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6135        ::protobuf::reflect::ReflectValueRef::Message(self)
6136    }
6137}
6138
6139#[derive(Clone,PartialEq,Eq,Debug,Hash)]
6140pub enum LevelFormat {
6141    LEVEL_FORMAT_UNSPECIFIED = 0,
6142    AS_DEFINED = 1,
6143    CEL = 2,
6144}
6145
6146impl ::protobuf::ProtobufEnum for LevelFormat {
6147    fn value(&self) -> i32 {
6148        *self as i32
6149    }
6150
6151    fn from_i32(value: i32) -> ::std::option::Option<LevelFormat> {
6152        match value {
6153            0 => ::std::option::Option::Some(LevelFormat::LEVEL_FORMAT_UNSPECIFIED),
6154            1 => ::std::option::Option::Some(LevelFormat::AS_DEFINED),
6155            2 => ::std::option::Option::Some(LevelFormat::CEL),
6156            _ => ::std::option::Option::None
6157        }
6158    }
6159
6160    fn values() -> &'static [Self] {
6161        static values: &'static [LevelFormat] = &[
6162            LevelFormat::LEVEL_FORMAT_UNSPECIFIED,
6163            LevelFormat::AS_DEFINED,
6164            LevelFormat::CEL,
6165        ];
6166        values
6167    }
6168
6169    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
6170        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::EnumDescriptor> = ::protobuf::rt::LazyV2::INIT;
6171        descriptor.get(|| {
6172            ::protobuf::reflect::EnumDescriptor::new_pb_name::<LevelFormat>("LevelFormat", file_descriptor_proto())
6173        })
6174    }
6175}
6176
6177impl ::std::marker::Copy for LevelFormat {
6178}
6179
6180impl ::std::default::Default for LevelFormat {
6181    fn default() -> Self {
6182        LevelFormat::LEVEL_FORMAT_UNSPECIFIED
6183    }
6184}
6185
6186impl ::protobuf::reflect::ProtobufValue for LevelFormat {
6187    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
6188        ::protobuf::reflect::ReflectValueRef::Enum(::protobuf::ProtobufEnum::descriptor(self))
6189    }
6190}
6191
6192static file_descriptor_proto_data: &'static [u8] = b"\
6193    \nDgoogle/identity/accesscontextmanager/v1/access_context_manager.proto\
6194    \x12'google.identity.accesscontextmanager.v1\x1a\x1cgoogle/api/annotatio\
6195    ns.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior\
6196    .proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/iam/v1/iam_policy.\
6197    proto\x1a\x1agoogle/iam/v1/policy.proto\x1a:google/identity/accesscontex\
6198    tmanager/v1/access_level.proto\x1a;google/identity/accesscontextmanager/\
6199    v1/access_policy.proto\x1aEgoogle/identity/accesscontextmanager/v1/gcp_u\
6200    ser_access_binding.proto\x1a?google/identity/accesscontextmanager/v1/ser\
6201    vice_perimeter.proto\x1a#google/longrunning/operations.proto\x1a\x20goog\
6202    le/protobuf/field_mask.proto\"\xa9\x01\n\x19ListAccessPoliciesRequest\
6203    \x12P\n\x06parent\x18\x01\x20\x01(\tR\x06parentB8\xfaA2\n0cloudresourcem\
6204    anager.googleapis.com/Organization\xe0A\x02\x12\x1b\n\tpage_size\x18\x02\
6205    \x20\x01(\x05R\x08pageSize\x12\x1d\n\npage_token\x18\x03\x20\x01(\tR\tpa\
6206    geToken\"\xa4\x01\n\x1aListAccessPoliciesResponse\x12^\n\x0faccess_polic\
6207    ies\x18\x01\x20\x03(\x0b25.google.identity.accesscontextmanager.v1.Acces\
6208    sPolicyR\x0eaccessPolicies\x12&\n\x0fnext_page_token\x18\x02\x20\x01(\tR\
6209    \rnextPageToken\"f\n\x16GetAccessPolicyRequest\x12L\n\x04name\x18\x01\
6210    \x20\x01(\tR\x04nameB8\xfaA2\n0accesscontextmanager.googleapis.com/Acces\
6211    sPolicy\xe0A\x02\"\xb1\x01\n\x19UpdateAccessPolicyRequest\x12R\n\x06poli\
6212    cy\x18\x01\x20\x01(\x0b25.google.identity.accesscontextmanager.v1.Access\
6213    PolicyR\x06policyB\x03\xe0A\x02\x12@\n\x0bupdate_mask\x18\x02\x20\x01(\
6214    \x0b2\x1a.google.protobuf.FieldMaskR\nupdateMaskB\x03\xe0A\x02\"i\n\x19D\
6215    eleteAccessPolicyRequest\x12L\n\x04name\x18\x01\x20\x01(\tR\x04nameB8\
6216    \xfaA2\n0accesscontextmanager.googleapis.com/AccessPolicy\xe0A\x02\"\x8c\
6217    \x02\n\x17ListAccessLevelsRequest\x12O\n\x06parent\x18\x01\x20\x01(\tR\
6218    \x06parentB7\xfaA1\x12/accesscontextmanager.googleapis.com/AccessLevel\
6219    \xe0A\x02\x12\x1b\n\tpage_size\x18\x02\x20\x01(\x05R\x08pageSize\x12\x1d\
6220    \n\npage_token\x18\x03\x20\x01(\tR\tpageToken\x12d\n\x13access_level_for\
6221    mat\x18\x04\x20\x01(\x0e24.google.identity.accesscontextmanager.v1.Level\
6222    FormatR\x11accessLevelFormat\"\x9d\x01\n\x18ListAccessLevelsResponse\x12\
6223    Y\n\raccess_levels\x18\x01\x20\x03(\x0b24.google.identity.accesscontextm\
6224    anager.v1.AccessLevelR\x0caccessLevels\x12&\n\x0fnext_page_token\x18\x02\
6225    \x20\x01(\tR\rnextPageToken\"\xca\x01\n\x15GetAccessLevelRequest\x12K\n\
6226    \x04name\x18\x01\x20\x01(\tR\x04nameB7\xfaA1\n/accesscontextmanager.goog\
6227    leapis.com/AccessLevel\xe0A\x02\x12d\n\x13access_level_format\x18\x02\
6228    \x20\x01(\x0e24.google.identity.accesscontextmanager.v1.LevelFormatR\x11\
6229    accessLevelFormat\"\xc9\x01\n\x18CreateAccessLevelRequest\x12O\n\x06pare\
6230    nt\x18\x01\x20\x01(\tR\x06parentB7\xfaA1\x12/accesscontextmanager.google\
6231    apis.com/AccessLevel\xe0A\x02\x12\\\n\x0caccess_level\x18\x02\x20\x01(\
6232    \x0b24.google.identity.accesscontextmanager.v1.AccessLevelR\x0baccessLev\
6233    elB\x03\xe0A\x02\"\xba\x01\n\x18UpdateAccessLevelRequest\x12\\\n\x0cacce\
6234    ss_level\x18\x01\x20\x01(\x0b24.google.identity.accesscontextmanager.v1.\
6235    AccessLevelR\x0baccessLevelB\x03\xe0A\x02\x12@\n\x0bupdate_mask\x18\x02\
6236    \x20\x01(\x0b2\x1a.google.protobuf.FieldMaskR\nupdateMaskB\x03\xe0A\x02\
6237    \"g\n\x18DeleteAccessLevelRequest\x12K\n\x04name\x18\x01\x20\x01(\tR\x04\
6238    nameB7\xfaA1\n/accesscontextmanager.googleapis.com/AccessLevel\xe0A\x02\
6239    \"\xe1\x01\n\x1aReplaceAccessLevelsRequest\x12O\n\x06parent\x18\x01\x20\
6240    \x01(\tR\x06parentB7\xfaA1\x12/accesscontextmanager.googleapis.com/Acces\
6241    sLevel\xe0A\x02\x12^\n\raccess_levels\x18\x02\x20\x03(\x0b24.google.iden\
6242    tity.accesscontextmanager.v1.AccessLevelR\x0caccessLevelsB\x03\xe0A\x02\
6243    \x12\x12\n\x04etag\x18\x04\x20\x01(\tR\x04etag\"x\n\x1bReplaceAccessLeve\
6244    lsResponse\x12Y\n\raccess_levels\x18\x01\x20\x03(\x0b24.google.identity.\
6245    accesscontextmanager.v1.AccessLevelR\x0caccessLevels\"\xb0\x01\n\x1cList\
6246    ServicePerimetersRequest\x12T\n\x06parent\x18\x01\x20\x01(\tR\x06parentB\
6247    <\xfaA6\x124accesscontextmanager.googleapis.com/ServicePerimeter\xe0A\
6248    \x02\x12\x1b\n\tpage_size\x18\x02\x20\x01(\x05R\x08pageSize\x12\x1d\n\np\
6249    age_token\x18\x03\x20\x01(\tR\tpageToken\"\xb1\x01\n\x1dListServicePerim\
6250    etersResponse\x12h\n\x12service_perimeters\x18\x01\x20\x03(\x0b29.google\
6251    .identity.accesscontextmanager.v1.ServicePerimeterR\x11servicePerimeters\
6252    \x12&\n\x0fnext_page_token\x18\x02\x20\x01(\tR\rnextPageToken\"n\n\x1aGe\
6253    tServicePerimeterRequest\x12P\n\x04name\x18\x01\x20\x01(\tR\x04nameB<\
6254    \xfaA6\n4accesscontextmanager.googleapis.com/ServicePerimeter\xe0A\x02\"\
6255    \xe2\x01\n\x1dCreateServicePerimeterRequest\x12T\n\x06parent\x18\x01\x20\
6256    \x01(\tR\x06parentB<\xfaA6\x124accesscontextmanager.googleapis.com/Servi\
6257    cePerimeter\xe0A\x02\x12k\n\x11service_perimeter\x18\x02\x20\x01(\x0b29.\
6258    google.identity.accesscontextmanager.v1.ServicePerimeterR\x10servicePeri\
6259    meterB\x03\xe0A\x02\"\xce\x01\n\x1dUpdateServicePerimeterRequest\x12k\n\
6260    \x11service_perimeter\x18\x01\x20\x01(\x0b29.google.identity.accessconte\
6261    xtmanager.v1.ServicePerimeterR\x10servicePerimeterB\x03\xe0A\x02\x12@\n\
6262    \x0bupdate_mask\x18\x02\x20\x01(\x0b2\x1a.google.protobuf.FieldMaskR\nup\
6263    dateMaskB\x03\xe0A\x02\"q\n\x1dDeleteServicePerimeterRequest\x12P\n\x04n\
6264    ame\x18\x01\x20\x01(\tR\x04nameB<\xfaA6\n4accesscontextmanager.googleapi\
6265    s.com/ServicePerimeter\xe0A\x02\"\xfa\x01\n\x1fReplaceServicePerimetersR\
6266    equest\x12T\n\x06parent\x18\x01\x20\x01(\tR\x06parentB<\xfaA6\x124access\
6267    contextmanager.googleapis.com/ServicePerimeter\xe0A\x02\x12m\n\x12servic\
6268    e_perimeters\x18\x02\x20\x03(\x0b29.google.identity.accesscontextmanager\
6269    .v1.ServicePerimeterR\x11servicePerimetersB\x03\xe0A\x02\x12\x12\n\x04et\
6270    ag\x18\x03\x20\x01(\tR\x04etag\"\x8c\x01\n\x20ReplaceServicePerimetersRe\
6271    sponse\x12h\n\x12service_perimeters\x18\x01\x20\x03(\x0b29.google.identi\
6272    ty.accesscontextmanager.v1.ServicePerimeterR\x11servicePerimeters\"\x8a\
6273    \x01\n\x1eCommitServicePerimetersRequest\x12T\n\x06parent\x18\x01\x20\
6274    \x01(\tR\x06parentB<\xfaA6\x124accesscontextmanager.googleapis.com/Servi\
6275    cePerimeter\xe0A\x02\x12\x12\n\x04etag\x18\x02\x20\x01(\tR\x04etag\"\x8b\
6276    \x01\n\x1fCommitServicePerimetersResponse\x12h\n\x12service_perimeters\
6277    \x18\x01\x20\x03(\x0b29.google.identity.accesscontextmanager.v1.ServiceP\
6278    erimeterR\x11servicePerimeters\"\xba\x01\n\x20ListGcpUserAccessBindingsR\
6279    equest\x12P\n\x06parent\x18\x01\x20\x01(\tR\x06parentB8\xfaA2\n0cloudres\
6280    ourcemanager.googleapis.com/Organization\xe0A\x02\x12\x20\n\tpage_size\
6281    \x18\x02\x20\x01(\x05R\x08pageSizeB\x03\xe0A\x01\x12\"\n\npage_token\x18\
6282    \x03\x20\x01(\tR\tpageTokenB\x03\xe0A\x01\"\xc3\x01\n!ListGcpUserAccessB\
6283    indingsResponse\x12v\n\x18gcp_user_access_bindings\x18\x01\x20\x03(\x0b2\
6284    =.google.identity.accesscontextmanager.v1.GcpUserAccessBindingR\x15gcpUs\
6285    erAccessBindings\x12&\n\x0fnext_page_token\x18\x02\x20\x01(\tR\rnextPage\
6286    Token\"v\n\x1eGetGcpUserAccessBindingRequest\x12T\n\x04name\x18\x01\x20\
6287    \x01(\tR\x04nameB@\xfaA:\n8accesscontextmanager.googleapis.com/GcpUserAc\
6288    cessBinding\xe0A\x02\"\xf0\x01\n!CreateGcpUserAccessBindingRequest\x12P\
6289    \n\x06parent\x18\x01\x20\x01(\tR\x06parentB8\xfaA2\n0cloudresourcemanage\
6290    r.googleapis.com/Organization\xe0A\x02\x12y\n\x17gcp_user_access_binding\
6291    \x18\x02\x20\x01(\x0b2=.google.identity.accesscontextmanager.v1.GcpUserA\
6292    ccessBindingR\x14gcpUserAccessBindingB\x03\xe0A\x02\"\xe0\x01\n!UpdateGc\
6293    pUserAccessBindingRequest\x12y\n\x17gcp_user_access_binding\x18\x01\x20\
6294    \x01(\x0b2=.google.identity.accesscontextmanager.v1.GcpUserAccessBinding\
6295    R\x14gcpUserAccessBindingB\x03\xe0A\x02\x12@\n\x0bupdate_mask\x18\x02\
6296    \x20\x01(\x0b2\x1a.google.protobuf.FieldMaskR\nupdateMaskB\x03\xe0A\x02\
6297    \"y\n!DeleteGcpUserAccessBindingRequest\x12T\n\x04name\x18\x01\x20\x01(\
6298    \tR\x04nameB@\xfaA:\n8accesscontextmanager.googleapis.com/GcpUserAccessB\
6299    inding\xe0A\x02\"'\n%GcpUserAccessBindingOperationMetadata\"'\n%AccessCo\
6300    ntextManagerOperationMetadata*D\n\x0bLevelFormat\x12\x1c\n\x18LEVEL_FORM\
6301    AT_UNSPECIFIED\x10\0\x12\x0e\n\nAS_DEFINED\x10\x01\x12\x07\n\x03CEL\x10\
6302    \x022\xf12\n\x14AccessContextManager\x12\xb9\x01\n\x12ListAccessPolicies\
6303    \x12B.google.identity.accesscontextmanager.v1.ListAccessPoliciesRequest\
6304    \x1aC.google.identity.accesscontextmanager.v1.ListAccessPoliciesResponse\
6305    \"\x1a\x82\xd3\xe4\x93\x02\x14\x12\x12/v1/accessPolicies\x12\xb5\x01\n\
6306    \x0fGetAccessPolicy\x12?.google.identity.accesscontextmanager.v1.GetAcce\
6307    ssPolicyRequest\x1a5.google.identity.accesscontextmanager.v1.AccessPolic\
6308    y\"*\x82\xd3\xe4\x93\x02\x1d\x12\x1b/v1/{name=accessPolicies/*}\xdaA\x04\
6309    name\x12\xc1\x01\n\x12CreateAccessPolicy\x125.google.identity.accesscont\
6310    extmanager.v1.AccessPolicy\x1a\x1d.google.longrunning.Operation\"U\xcaA5\
6311    \n\x0cAccessPolicy\x12%AccessContextManagerOperationMetadata\x82\xd3\xe4\
6312    \x93\x02\x17\"\x12/v1/accessPolicies:\x01*\x12\xf8\x01\n\x12UpdateAccess\
6313    Policy\x12B.google.identity.accesscontextmanager.v1.UpdateAccessPolicyRe\
6314    quest\x1a\x1d.google.longrunning.Operation\"\x7f\xcaA5\n\x0cAccessPolicy\
6315    \x12%AccessContextManagerOperationMetadata\x82\xd3\xe4\x93\x02,2\"/v1/{p\
6316    olicy.name=accessPolicies/*}:\x06policy\xdaA\x12policy,update_mask\x12\
6317    \xe4\x01\n\x12DeleteAccessPolicy\x12B.google.identity.accesscontextmanag\
6318    er.v1.DeleteAccessPolicyRequest\x1a\x1d.google.longrunning.Operation\"k\
6319    \xcaA>\n\x15google.protobuf.Empty\x12%AccessContextManagerOperationMetad\
6320    ata\x82\xd3\xe4\x93\x02\x1d*\x1b/v1/{name=accessPolicies/*}\xdaA\x04name\
6321    \x12\xd4\x01\n\x10ListAccessLevels\x12@.google.identity.accesscontextman\
6322    ager.v1.ListAccessLevelsRequest\x1aA.google.identity.accesscontextmanage\
6323    r.v1.ListAccessLevelsResponse\";\x82\xd3\xe4\x93\x02,\x12*/v1/{parent=ac\
6324    cessPolicies/*}/accessLevels\xdaA\x06parent\x12\xc1\x01\n\x0eGetAccessLe\
6325    vel\x12>.google.identity.accesscontextmanager.v1.GetAccessLevelRequest\
6326    \x1a4.google.identity.accesscontextmanager.v1.AccessLevel\"9\x82\xd3\xe4\
6327    \x93\x02,\x12*/v1/{name=accessPolicies/*/accessLevels/*}\xdaA\x04name\
6328    \x12\x85\x02\n\x11CreateAccessLevel\x12A.google.identity.accesscontextma\
6329    nager.v1.CreateAccessLevelRequest\x1a\x1d.google.longrunning.Operation\"\
6330    \x8d\x01\xcaA4\n\x0bAccessLevel\x12%AccessContextManagerOperationMetadat\
6331    a\x82\xd3\xe4\x93\x02:\"*/v1/{parent=accessPolicies/*}/accessLevels:\x0c\
6332    access_level\xdaA\x13parent,access_level\x12\x97\x02\n\x11UpdateAccessLe\
6333    vel\x12A.google.identity.accesscontextmanager.v1.UpdateAccessLevelReques\
6334    t\x1a\x1d.google.longrunning.Operation\"\x9f\x01\xcaA4\n\x0bAccessLevel\
6335    \x12%AccessContextManagerOperationMetadata\x82\xd3\xe4\x93\x02G27/v1/{ac\
6336    cess_level.name=accessPolicies/*/accessLevels/*}:\x0caccess_level\xdaA\
6337    \x18access_level,update_mask\x12\xf1\x01\n\x11DeleteAccessLevel\x12A.goo\
6338    gle.identity.accesscontextmanager.v1.DeleteAccessLevelRequest\x1a\x1d.go\
6339    ogle.longrunning.Operation\"z\xcaA>\n\x15google.protobuf.Empty\x12%Acces\
6340    sContextManagerOperationMetadata\x82\xd3\xe4\x93\x02,**/v1/{name=accessP\
6341    olicies/*/accessLevels/*}\xdaA\x04name\x12\x83\x02\n\x13ReplaceAccessLev\
6342    els\x12C.google.identity.accesscontextmanager.v1.ReplaceAccessLevelsRequ\
6343    est\x1a\x1d.google.longrunning.Operation\"\x87\x01\xcaAD\n\x1bReplaceAcc\
6344    essLevelsResponse\x12%AccessContextManagerOperationMetadata\x82\xd3\xe4\
6345    \x93\x02:\"5/v1/{parent=accessPolicies/*}/accessLevels:replaceAll:\x01*\
6346    \x12\xe8\x01\n\x15ListServicePerimeters\x12E.google.identity.accessconte\
6347    xtmanager.v1.ListServicePerimetersRequest\x1aF.google.identity.accesscon\
6348    textmanager.v1.ListServicePerimetersResponse\"@\x82\xd3\xe4\x93\x021\x12\
6349    //v1/{parent=accessPolicies/*}/servicePerimeters\xdaA\x06parent\x12\xd5\
6350    \x01\n\x13GetServicePerimeter\x12C.google.identity.accesscontextmanager.\
6351    v1.GetServicePerimeterRequest\x1a9.google.identity.accesscontextmanager.\
6352    v1.ServicePerimeter\">\x82\xd3\xe4\x93\x021\x12//v1/{name=accessPolicies\
6353    /*/servicePerimeters/*}\xdaA\x04name\x12\xa3\x02\n\x16CreateServicePerim\
6354    eter\x12F.google.identity.accesscontextmanager.v1.CreateServicePerimeter\
6355    Request\x1a\x1d.google.longrunning.Operation\"\xa1\x01\xcaA9\n\x10Servic\
6356    ePerimeter\x12%AccessContextManagerOperationMetadata\x82\xd3\xe4\x93\x02\
6357    D\"//v1/{parent=accessPolicies/*}/servicePerimeters:\x11service_perimete\
6358    r\xdaA\x18parent,service_perimeter\x12\xba\x02\n\x16UpdateServicePerimet\
6359    er\x12F.google.identity.accesscontextmanager.v1.UpdateServicePerimeterRe\
6360    quest\x1a\x1d.google.longrunning.Operation\"\xb8\x01\xcaA9\n\x10ServiceP\
6361    erimeter\x12%AccessContextManagerOperationMetadata\x82\xd3\xe4\x93\x02V2\
6362    A/v1/{service_perimeter.name=accessPolicies/*/servicePerimeters/*}:\x11s\
6363    ervice_perimeter\xdaA\x1dservice_perimeter,update_mask\x12\x80\x02\n\x16\
6364    DeleteServicePerimeter\x12F.google.identity.accesscontextmanager.v1.Dele\
6365    teServicePerimeterRequest\x1a\x1d.google.longrunning.Operation\"\x7f\xca\
6366    A>\n\x15google.protobuf.Empty\x12%AccessContextManagerOperationMetadata\
6367    \x82\xd3\xe4\x93\x021*//v1/{name=accessPolicies/*/servicePerimeters/*}\
6368    \xdaA\x04name\x12\x97\x02\n\x18ReplaceServicePerimeters\x12H.google.iden\
6369    tity.accesscontextmanager.v1.ReplaceServicePerimetersRequest\x1a\x1d.goo\
6370    gle.longrunning.Operation\"\x91\x01\xcaAI\n\x20ReplaceServicePerimetersR\
6371    esponse\x12%AccessContextManagerOperationMetadata\x82\xd3\xe4\x93\x02?\"\
6372    :/v1/{parent=accessPolicies/*}/servicePerimeters:replaceAll:\x01*\x12\
6373    \x90\x02\n\x17CommitServicePerimeters\x12G.google.identity.accesscontext\
6374    manager.v1.CommitServicePerimetersRequest\x1a\x1d.google.longrunning.Ope\
6375    ration\"\x8c\x01\xcaAH\n\x1fCommitServicePerimetersResponse\x12%AccessCo\
6376    ntextManagerOperationMetadata\x82\xd3\xe4\x93\x02;\"6/v1/{parent=accessP\
6377    olicies/*}/servicePerimeters:commit:\x01*\x12\xf7\x01\n\x19ListGcpUserAc\
6378    cessBindings\x12I.google.identity.accesscontextmanager.v1.ListGcpUserAcc\
6379    essBindingsRequest\x1aJ.google.identity.accesscontextmanager.v1.ListGcpU\
6380    serAccessBindingsResponse\"C\x82\xd3\xe4\x93\x024\x122/v1/{parent=organi\
6381    zations/*}/gcpUserAccessBindings\xdaA\x06parent\x12\xe4\x01\n\x17GetGcpU\
6382    serAccessBinding\x12G.google.identity.accesscontextmanager.v1.GetGcpUser\
6383    AccessBindingRequest\x1a=.google.identity.accesscontextmanager.v1.GcpUse\
6384    rAccessBinding\"A\x82\xd3\xe4\x93\x024\x122/v1/{name=organizations/*/gcp\
6385    UserAccessBindings/*}\xdaA\x04name\x12\xbe\x02\n\x1aCreateGcpUserAccessB\
6386    inding\x12J.google.identity.accesscontextmanager.v1.CreateGcpUserAccessB\
6387    indingRequest\x1a\x1d.google.longrunning.Operation\"\xb4\x01\xcaA=\n\x14\
6388    GcpUserAccessBinding\x12%GcpUserAccessBindingOperationMetadata\x82\xd3\
6389    \xe4\x93\x02M\"2/v1/{parent=organizations/*}/gcpUserAccessBindings:\x17g\
6390    cp_user_access_binding\xdaA\x1eparent,gcp_user_access_binding\x12\xdb\
6391    \x02\n\x1aUpdateGcpUserAccessBinding\x12J.google.identity.accesscontextm\
6392    anager.v1.UpdateGcpUserAccessBindingRequest\x1a\x1d.google.longrunning.O\
6393    peration\"\xd1\x01\xcaA=\n\x14GcpUserAccessBinding\x12%GcpUserAccessBind\
6394    ingOperationMetadata\x82\xd3\xe4\x93\x02e2J/v1/{gcp_user_access_binding.\
6395    name=organizations/*/gcpUserAccessBindings/*}:\x17gcp_user_access_bindin\
6396    g\xdaA#gcp_user_access_binding,update_mask\x12\x8c\x02\n\x1aDeleteGcpUse\
6397    rAccessBinding\x12J.google.identity.accesscontextmanager.v1.DeleteGcpUse\
6398    rAccessBindingRequest\x1a\x1d.google.longrunning.Operation\"\x82\x01\xca\
6399    A>\n\x15google.protobuf.Empty\x12%GcpUserAccessBindingOperationMetadata\
6400    \x82\xd3\xe4\x93\x024*2/v1/{name=organizations/*/gcpUserAccessBindings/*\
6401    }\xdaA\x04name\x12\x82\x01\n\x0cSetIamPolicy\x12\".google.iam.v1.SetIamP\
6402    olicyRequest\x1a\x15.google.iam.v1.Policy\"7\x82\xd3\xe4\x93\x021\",/v1/\
6403    {resource=accessPolicies/*}:setIamPolicy:\x01*\x12\x82\x01\n\x0cGetIamPo\
6404    licy\x12\".google.iam.v1.GetIamPolicyRequest\x1a\x15.google.iam.v1.Polic\
6405    y\"7\x82\xd3\xe4\x93\x021\",/v1/{resource=accessPolicies/*}:getIamPolicy\
6406    :\x01*\x12\xbf\x02\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPer\
6407    missionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse\"\xd3\x01\
6408    \x82\xd3\xe4\x93\x02\xcc\x01\"2/v1/{resource=accessPolicies/*}:testIamPe\
6409    rmissions:\x01*ZF\"A/v1/{resource=accessPolicies/*/accessLevels/*}:testI\
6410    amPermissions:\x01*ZK\"F/v1/{resource=accessPolicies/*/servicePerimeters\
6411    /*}:testIamPermissions:\x01*\x1aW\xd2A.https://www.googleapis.com/auth/c\
6412    loud-platform\xcaA#accesscontextmanager.googleapis.comB\xb0\x02\n+com.go\
6413    ogle.identity.accesscontextmanager.v1B\x19AccessContextManagerProtoP\x01\
6414    Z\\cloud.google.com/go/accesscontextmanager/apiv1/accesscontextmanagerpb\
6415    ;accesscontextmanagerpb\xa2\x02\x04GACM\xaa\x02'Google.Identity.AccessCo\
6416    ntextManager.V1\xca\x02'Google\\Identity\\AccessContextManager\\V1\xea\
6417    \x02*Google::Identity::AccessContextManager::V1J\xbc\xfc\x01\n\x07\x12\
6418    \x05\x0e\0\xd9\x07\x01\n\xbc\x04\n\x01\x0c\x12\x03\x0e\0\x122\xb1\x04\
6419    \x20Copyright\x202022\x20Google\x20LLC\n\n\x20Licensed\x20under\x20the\
6420    \x20Apache\x20License,\x20Version\x202.0\x20(the\x20\"License\");\n\x20y\
6421    ou\x20may\x20not\x20use\x20this\x20file\x20except\x20in\x20compliance\
6422    \x20with\x20the\x20License.\n\x20You\x20may\x20obtain\x20a\x20copy\x20of\
6423    \x20the\x20License\x20at\n\n\x20\x20\x20\x20\x20http://www.apache.org/li\
6424    censes/LICENSE-2.0\n\n\x20Unless\x20required\x20by\x20applicable\x20law\
6425    \x20or\x20agreed\x20to\x20in\x20writing,\x20software\n\x20distributed\
6426    \x20under\x20the\x20License\x20is\x20distributed\x20on\x20an\x20\"AS\x20\
6427    IS\"\x20BASIS,\n\x20WITHOUT\x20WARRANTIES\x20OR\x20CONDITIONS\x20OF\x20A\
6428    NY\x20KIND,\x20either\x20express\x20or\x20implied.\n\x20See\x20the\x20Li\
6429    cense\x20for\x20the\x20specific\x20language\x20governing\x20permissions\
6430    \x20and\n\x20limitations\x20under\x20the\x20License.\n\n\x08\n\x01\x02\
6431    \x12\x03\x10\00\n\t\n\x02\x03\0\x12\x03\x12\0&\n\t\n\x02\x03\x01\x12\x03\
6432    \x13\0!\n\t\n\x02\x03\x02\x12\x03\x14\0)\n\t\n\x02\x03\x03\x12\x03\x15\0\
6433    #\n\t\n\x02\x03\x04\x12\x03\x16\0(\n\t\n\x02\x03\x05\x12\x03\x17\0$\n\t\
6434    \n\x02\x03\x06\x12\x03\x18\0D\n\t\n\x02\x03\x07\x12\x03\x19\0E\n\t\n\x02\
6435    \x03\x08\x12\x03\x1a\0O\n\t\n\x02\x03\t\x12\x03\x1b\0I\n\t\n\x02\x03\n\
6436    \x12\x03\x1c\0-\n\t\n\x02\x03\x0b\x12\x03\x1d\0*\n\x08\n\x01\x08\x12\x03\
6437    \x1f\0D\n\t\n\x02\x08%\x12\x03\x1f\0D\n\x08\n\x01\x08\x12\x03\x20\0s\n\t\
6438    \n\x02\x08\x0b\x12\x03\x20\0s\n\x08\n\x01\x08\x12\x03!\0\"\n\t\n\x02\x08\
6439    \n\x12\x03!\0\"\n\x08\n\x01\x08\x12\x03\"\0:\n\t\n\x02\x08\x08\x12\x03\"\
6440    \0:\n\x08\n\x01\x08\x12\x03#\0D\n\t\n\x02\x08\x01\x12\x03#\0D\n\x08\n\
6441    \x01\x08\x12\x03$\0\"\n\t\n\x02\x08$\x12\x03$\0\"\n\x08\n\x01\x08\x12\
6442    \x03%\0D\n\t\n\x02\x08)\x12\x03%\0D\n\x08\n\x01\x08\x12\x03&\0C\n\t\n\
6443    \x02\x08-\x12\x03&\0C\n\xfb\x04\n\x02\x06\0\x12\x053\0\xd7\x03\x01\x1a\
6444    \xed\x04\x20API\x20for\x20setting\x20[access\x20levels]\n\x20[google.ide\
6445    ntity.accesscontextmanager.v1.AccessLevel]\x20and\x20[service\n\x20perim\
6446    eters]\x20[google.identity.accesscontextmanager.v1.ServicePerimeter]\n\
6447    \x20for\x20Google\x20Cloud\x20projects.\x20Each\x20organization\x20has\
6448    \x20one\x20[access\x20policy]\n\x20[google.identity.accesscontextmanager\
6449    .v1.AccessPolicy]\x20that\x20contains\x20the\n\x20[access\x20levels]\x20\
6450    [google.identity.accesscontextmanager.v1.AccessLevel]\n\x20and\x20[servi\
6451    ce\x20perimeters]\n\x20[google.identity.accesscontextmanager.v1.ServiceP\
6452    erimeter].\x20This\n\x20[access\x20policy]\x20[google.identity.accesscon\
6453    textmanager.v1.AccessPolicy]\x20is\n\x20applicable\x20to\x20all\x20resou\
6454    rces\x20in\x20the\x20organization.\n\x20AccessPolicies\n\n\n\n\x03\x06\0\
6455    \x01\x12\x033\x08\x1c\n\n\n\x03\x06\0\x03\x12\x034\x02K\n\x0c\n\x05\x06\
6456    \0\x03\x99\x08\x12\x034\x02K\n\n\n\x03\x06\0\x03\x12\x035\x02V\n\x0c\n\
6457    \x05\x06\0\x03\x9a\x08\x12\x035\x02V\nx\n\x04\x06\0\x02\0\x12\x04:\x02>\
6458    \x03\x1aj\x20Lists\x20all\x20[access\x20policies]\n\x20[google.identity.\
6459    accesscontextmanager.v1.AccessPolicy]\x20in\x20an\n\x20organization.\n\n\
6460    \x0c\n\x05\x06\0\x02\0\x01\x12\x03:\x06\x18\n\x0c\n\x05\x06\0\x02\0\x02\
6461    \x12\x03:\x192\n\x0c\n\x05\x06\0\x02\0\x03\x12\x03:=W\n\r\n\x05\x06\0\
6462    \x02\0\x04\x12\x04;\x04=\x06\n\x11\n\t\x06\0\x02\0\x04\xb0\xca\xbc\"\x12\
6463    \x04;\x04=\x06\nu\n\x04\x06\0\x02\x01\x12\x04B\x02G\x03\x1ag\x20Returns\
6464    \x20an\x20[access\x20policy]\n\x20[google.identity.accesscontextmanager.\
6465    v1.AccessPolicy]\x20based\x20on\x20the\x20name.\n\n\x0c\n\x05\x06\0\x02\
6466    \x01\x01\x12\x03B\x06\x15\n\x0c\n\x05\x06\0\x02\x01\x02\x12\x03B\x16,\n\
6467    \x0c\n\x05\x06\0\x02\x01\x03\x12\x03B7C\n\r\n\x05\x06\0\x02\x01\x04\x12\
6468    \x04C\x04E\x06\n\x11\n\t\x06\0\x02\x01\x04\xb0\xca\xbc\"\x12\x04C\x04E\
6469    \x06\n\x0c\n\x05\x06\0\x02\x01\x04\x12\x03F\x042\n\x0f\n\x08\x06\0\x02\
6470    \x01\x04\x9b\x08\0\x12\x03F\x042\n\xb7\x02\n\x04\x06\0\x02\x02\x12\x04N\
6471    \x02W\x03\x1a\xa8\x02\x20Creates\x20an\x20access\x20policy.\x20This\x20m\
6472    ethod\x20fails\x20if\x20the\x20organization\x20already\x20has\n\x20an\
6473    \x20access\x20policy.\x20The\x20long-running\x20operation\x20has\x20a\
6474    \x20successful\x20status\n\x20after\x20the\x20access\x20policy\x20propag\
6475    ates\x20to\x20long-lasting\x20storage.\n\x20Syntactic\x20and\x20basic\
6476    \x20semantic\x20errors\x20are\x20returned\x20in\x20`metadata`\x20as\x20a\
6477    \n\x20BadRequest\x20proto.\n\n\x0c\n\x05\x06\0\x02\x02\x01\x12\x03N\x06\
6478    \x18\n\x0c\n\x05\x06\0\x02\x02\x02\x12\x03N\x19%\n\x0c\n\x05\x06\0\x02\
6479    \x02\x03\x12\x03N0L\n\r\n\x05\x06\0\x02\x02\x04\x12\x04O\x04R\x06\n\x11\
6480    \n\t\x06\0\x02\x02\x04\xb0\xca\xbc\"\x12\x04O\x04R\x06\n\r\n\x05\x06\0\
6481    \x02\x02\x04\x12\x04S\x04V\x06\n\x0f\n\x07\x06\0\x02\x02\x04\x99\x08\x12\
6482    \x04S\x04V\x06\n\xac\x02\n\x04\x06\0\x02\x03\x12\x04_\x02i\x03\x1a\x9d\
6483    \x02\x20Updates\x20an\x20[access\x20policy]\n\x20[google.identity.access\
6484    contextmanager.v1.AccessPolicy].\x20The\n\x20long-running\x20operation\
6485    \x20from\x20this\x20RPC\x20has\x20a\x20successful\x20status\x20after\x20\
6486    the\n\x20changes\x20to\x20the\x20[access\x20policy]\n\x20[google.identit\
6487    y.accesscontextmanager.v1.AccessPolicy]\x20propagate\n\x20to\x20long-las\
6488    ting\x20storage.\n\n\x0c\n\x05\x06\0\x02\x03\x01\x12\x03_\x06\x18\n\x0c\
6489    \n\x05\x06\0\x02\x03\x02\x12\x03_\x192\n\x0c\n\x05\x06\0\x02\x03\x03\x12\
6490    \x03_=Y\n\r\n\x05\x06\0\x02\x03\x04\x12\x04`\x04c\x06\n\x11\n\t\x06\0\
6491    \x02\x03\x04\xb0\xca\xbc\"\x12\x04`\x04c\x06\n\x0c\n\x05\x06\0\x02\x03\
6492    \x04\x12\x03d\x04@\n\x0f\n\x08\x06\0\x02\x03\x04\x9b\x08\0\x12\x03d\x04@\
6493    \n\r\n\x05\x06\0\x02\x03\x04\x12\x04e\x04h\x06\n\x0f\n\x07\x06\0\x02\x03\
6494    \x04\x99\x08\x12\x04e\x04h\x06\n\xac\x02\n\x04\x06\0\x02\x04\x12\x04p\
6495    \x02y\x03\x1a\x9d\x02\x20Deletes\x20an\x20[access\x20policy]\n\x20[googl\
6496    e.identity.accesscontextmanager.v1.AccessPolicy]\x20based\x20on\x20the\n\
6497    \x20resource\x20name.\x20The\x20long-running\x20operation\x20has\x20a\
6498    \x20successful\x20status\x20after\x20the\n\x20[access\x20policy]\x20[goo\
6499    gle.identity.accesscontextmanager.v1.AccessPolicy]\n\x20is\x20removed\
6500    \x20from\x20long-lasting\x20storage.\n\n\x0c\n\x05\x06\0\x02\x04\x01\x12\
6501    \x03p\x06\x18\n\x0c\n\x05\x06\0\x02\x04\x02\x12\x03p\x192\n\x0c\n\x05\
6502    \x06\0\x02\x04\x03\x12\x03p=Y\n\r\n\x05\x06\0\x02\x04\x04\x12\x04q\x04s\
6503    \x06\n\x11\n\t\x06\0\x02\x04\x04\xb0\xca\xbc\"\x12\x04q\x04s\x06\n\x0c\n\
6504    \x05\x06\0\x02\x04\x04\x12\x03t\x042\n\x0f\n\x08\x06\0\x02\x04\x04\x9b\
6505    \x08\0\x12\x03t\x042\n\r\n\x05\x06\0\x02\x04\x04\x12\x04u\x04x\x06\n\x0f\
6506    \n\x07\x06\0\x02\x04\x04\x99\x08\x12\x04u\x04x\x06\nx\n\x04\x06\0\x02\
6507    \x05\x12\x05~\x02\x83\x01\x03\x1ai\x20Lists\x20all\x20[access\x20levels]\
6508    \n\x20[google.identity.accesscontextmanager.v1.AccessLevel]\x20for\x20an\
6509    \x20access\n\x20policy.\n\n\x0c\n\x05\x06\0\x02\x05\x01\x12\x03~\x06\x16\
6510    \n\x0c\n\x05\x06\0\x02\x05\x02\x12\x03~\x17.\n\x0c\n\x05\x06\0\x02\x05\
6511    \x03\x12\x03~9Q\n\x0e\n\x05\x06\0\x02\x05\x04\x12\x05\x7f\x04\x81\x01\
6512    \x06\n\x12\n\t\x06\0\x02\x05\x04\xb0\xca\xbc\"\x12\x05\x7f\x04\x81\x01\
6513    \x06\n\r\n\x05\x06\0\x02\x05\x04\x12\x04\x82\x01\x044\n\x10\n\x08\x06\0\
6514    \x02\x05\x04\x9b\x08\0\x12\x04\x82\x01\x044\n|\n\x04\x06\0\x02\x06\x12\
6515    \x06\x88\x01\x02\x8d\x01\x03\x1al\x20Gets\x20an\x20[access\x20level]\n\
6516    \x20[google.identity.accesscontextmanager.v1.AccessLevel]\x20based\x20on\
6517    \x20the\x20resource\n\x20name.\n\n\r\n\x05\x06\0\x02\x06\x01\x12\x04\x88\
6518    \x01\x06\x14\n\r\n\x05\x06\0\x02\x06\x02\x12\x04\x88\x01\x15*\n\r\n\x05\
6519    \x06\0\x02\x06\x03\x12\x04\x88\x015@\n\x0f\n\x05\x06\0\x02\x06\x04\x12\
6520    \x06\x89\x01\x04\x8b\x01\x06\n\x13\n\t\x06\0\x02\x06\x04\xb0\xca\xbc\"\
6521    \x12\x06\x89\x01\x04\x8b\x01\x06\n\r\n\x05\x06\0\x02\x06\x04\x12\x04\x8c\
6522    \x01\x042\n\x10\n\x08\x06\0\x02\x06\x04\x9b\x08\0\x12\x04\x8c\x01\x042\n\
6523    \xb5\x03\n\x04\x06\0\x02\x07\x12\x06\x96\x01\x02\xa0\x01\x03\x1a\xa4\x03\
6524    \x20Creates\x20an\x20[access\x20level]\n\x20[google.identity.accessconte\
6525    xtmanager.v1.AccessLevel].\x20The\x20long-running\n\x20operation\x20from\
6526    \x20this\x20RPC\x20has\x20a\x20successful\x20status\x20after\x20the\x20[\
6527    access\n\x20level]\x20[google.identity.accesscontextmanager.v1.AccessLev\
6528    el]\n\x20propagates\x20to\x20long-lasting\x20storage.\x20If\x20[access\
6529    \x20levels]\n\x20[google.identity.accesscontextmanager.v1.AccessLevel]\
6530    \x20contain\n\x20errors,\x20an\x20error\x20response\x20is\x20returned\
6531    \x20for\x20the\x20first\x20error\x20encountered.\n\n\r\n\x05\x06\0\x02\
6532    \x07\x01\x12\x04\x96\x01\x06\x17\n\r\n\x05\x06\0\x02\x07\x02\x12\x04\x96\
6533    \x01\x180\n\r\n\x05\x06\0\x02\x07\x03\x12\x04\x96\x01;W\n\x0f\n\x05\x06\
6534    \0\x02\x07\x04\x12\x06\x97\x01\x04\x9a\x01\x06\n\x13\n\t\x06\0\x02\x07\
6535    \x04\xb0\xca\xbc\"\x12\x06\x97\x01\x04\x9a\x01\x06\n\r\n\x05\x06\0\x02\
6536    \x07\x04\x12\x04\x9b\x01\x04A\n\x10\n\x08\x06\0\x02\x07\x04\x9b\x08\0\
6537    \x12\x04\x9b\x01\x04A\n\x0f\n\x05\x06\0\x02\x07\x04\x12\x06\x9c\x01\x04\
6538    \x9f\x01\x06\n\x11\n\x07\x06\0\x02\x07\x04\x99\x08\x12\x06\x9c\x01\x04\
6539    \x9f\x01\x06\n\xc4\x03\n\x04\x06\0\x02\x08\x12\x06\xaa\x01\x02\xb4\x01\
6540    \x03\x1a\xb3\x03\x20Updates\x20an\x20[access\x20level]\n\x20[google.iden\
6541    tity.accesscontextmanager.v1.AccessLevel].\x20The\x20long-running\n\x20o\
6542    peration\x20from\x20this\x20RPC\x20has\x20a\x20successful\x20status\x20a\
6543    fter\x20the\x20changes\x20to\n\x20the\x20[access\x20level]\n\x20[google.\
6544    identity.accesscontextmanager.v1.AccessLevel]\x20propagate\n\x20to\x20lo\
6545    ng-lasting\x20storage.\x20If\x20[access\x20levels]\n\x20[google.identity\
6546    .accesscontextmanager.v1.AccessLevel]\x20contain\n\x20errors,\x20an\x20e\
6547    rror\x20response\x20is\x20returned\x20for\x20the\x20first\x20error\x20en\
6548    countered.\n\n\r\n\x05\x06\0\x02\x08\x01\x12\x04\xaa\x01\x06\x17\n\r\n\
6549    \x05\x06\0\x02\x08\x02\x12\x04\xaa\x01\x180\n\r\n\x05\x06\0\x02\x08\x03\
6550    \x12\x04\xaa\x01;W\n\x0f\n\x05\x06\0\x02\x08\x04\x12\x06\xab\x01\x04\xae\
6551    \x01\x06\n\x13\n\t\x06\0\x02\x08\x04\xb0\xca\xbc\"\x12\x06\xab\x01\x04\
6552    \xae\x01\x06\n\r\n\x05\x06\0\x02\x08\x04\x12\x04\xaf\x01\x04F\n\x10\n\
6553    \x08\x06\0\x02\x08\x04\x9b\x08\0\x12\x04\xaf\x01\x04F\n\x0f\n\x05\x06\0\
6554    \x02\x08\x04\x12\x06\xb0\x01\x04\xb3\x01\x06\n\x11\n\x07\x06\0\x02\x08\
6555    \x04\x99\x08\x12\x06\xb0\x01\x04\xb3\x01\x06\n\xbf\x02\n\x04\x06\0\x02\t\
6556    \x12\x06\xbc\x01\x02\xc5\x01\x03\x1a\xae\x02\x20Deletes\x20an\x20[access\
6557    \x20level]\n\x20[google.identity.accesscontextmanager.v1.AccessLevel]\
6558    \x20based\x20on\x20the\x20resource\n\x20name.\x20The\x20long-running\x20\
6559    operation\x20from\x20this\x20RPC\x20has\x20a\x20successful\x20status\n\
6560    \x20after\x20the\x20[access\x20level]\n\x20[google.identity.accesscontex\
6561    tmanager.v1.AccessLevel]\x20has\x20been\x20removed\n\x20from\x20long-las\
6562    ting\x20storage.\n\n\r\n\x05\x06\0\x02\t\x01\x12\x04\xbc\x01\x06\x17\n\r\
6563    \n\x05\x06\0\x02\t\x02\x12\x04\xbc\x01\x180\n\r\n\x05\x06\0\x02\t\x03\
6564    \x12\x04\xbc\x01;W\n\x0f\n\x05\x06\0\x02\t\x04\x12\x06\xbd\x01\x04\xbf\
6565    \x01\x06\n\x13\n\t\x06\0\x02\t\x04\xb0\xca\xbc\"\x12\x06\xbd\x01\x04\xbf\
6566    \x01\x06\n\r\n\x05\x06\0\x02\t\x04\x12\x04\xc0\x01\x042\n\x10\n\x08\x06\
6567    \0\x02\t\x04\x9b\x08\0\x12\x04\xc0\x01\x042\n\x0f\n\x05\x06\0\x02\t\x04\
6568    \x12\x06\xc1\x01\x04\xc4\x01\x06\n\x11\n\x07\x06\0\x02\t\x04\x99\x08\x12\
6569    \x06\xc1\x01\x04\xc4\x01\x06\n\xb7\x07\n\x04\x06\0\x02\n\x12\x06\xd8\x01\
6570    \x02\xe1\x01\x03\x1a\xa6\x07\x20Replaces\x20all\x20existing\x20[access\
6571    \x20levels]\n\x20[google.identity.accesscontextmanager.v1.AccessLevel]\
6572    \x20in\x20an\x20[access\n\x20policy]\x20[google.identity.accesscontextma\
6573    nager.v1.AccessPolicy]\x20with\n\x20the\x20[access\x20levels]\n\x20[goog\
6574    le.identity.accesscontextmanager.v1.AccessLevel]\x20provided.\x20This\n\
6575    \x20is\x20done\x20atomically.\x20The\x20long-running\x20operation\x20fro\
6576    m\x20this\x20RPC\x20has\x20a\n\x20successful\x20status\x20after\x20all\
6577    \x20replacements\x20propagate\x20to\x20long-lasting\n\x20storage.\x20If\
6578    \x20the\x20replacement\x20contains\x20errors,\x20an\x20error\x20response\
6579    \x20is\x20returned\n\x20for\x20the\x20first\x20error\x20encountered.\x20\
6580    \x20Upon\x20error,\x20the\x20replacement\x20is\x20cancelled,\n\x20and\
6581    \x20existing\x20[access\x20levels]\n\x20[google.identity.accesscontextma\
6582    nager.v1.AccessLevel]\x20are\x20not\n\x20affected.\x20The\x20Operation.r\
6583    esponse\x20field\x20contains\n\x20ReplaceAccessLevelsResponse.\x20Removi\
6584    ng\x20[access\x20levels]\n\x20[google.identity.accesscontextmanager.v1.A\
6585    ccessLevel]\x20contained\x20in\x20existing\n\x20[service\x20perimeters]\
6586    \n\x20[google.identity.accesscontextmanager.v1.ServicePerimeter]\x20resu\
6587    lt\x20in\x20an\n\x20error.\n\n\r\n\x05\x06\0\x02\n\x01\x12\x04\xd8\x01\
6588    \x06\x19\n\r\n\x05\x06\0\x02\n\x02\x12\x04\xd8\x01\x1a4\n\r\n\x05\x06\0\
6589    \x02\n\x03\x12\x04\xd8\x01?[\n\x0f\n\x05\x06\0\x02\n\x04\x12\x06\xd9\x01\
6590    \x04\xdc\x01\x06\n\x13\n\t\x06\0\x02\n\x04\xb0\xca\xbc\"\x12\x06\xd9\x01\
6591    \x04\xdc\x01\x06\n\x0f\n\x05\x06\0\x02\n\x04\x12\x06\xdd\x01\x04\xe0\x01\
6592    \x06\n\x11\n\x07\x06\0\x02\n\x04\x99\x08\x12\x06\xdd\x01\x04\xe0\x01\x06\
6593    \n\x83\x01\n\x04\x06\0\x02\x0b\x12\x06\xe6\x01\x02\xeb\x01\x03\x1as\x20L\
6594    ists\x20all\x20[service\x20perimeters]\n\x20[google.identity.accessconte\
6595    xtmanager.v1.ServicePerimeter]\x20for\x20an\n\x20access\x20policy.\n\n\r\
6596    \n\x05\x06\0\x02\x0b\x01\x12\x04\xe6\x01\x06\x1b\n\r\n\x05\x06\0\x02\x0b\
6597    \x02\x12\x04\xe6\x01\x1c8\n\r\n\x05\x06\0\x02\x0b\x03\x12\x04\xe6\x01C`\
6598    \n\x0f\n\x05\x06\0\x02\x0b\x04\x12\x06\xe7\x01\x04\xe9\x01\x06\n\x13\n\t\
6599    \x06\0\x02\x0b\x04\xb0\xca\xbc\"\x12\x06\xe7\x01\x04\xe9\x01\x06\n\r\n\
6600    \x05\x06\0\x02\x0b\x04\x12\x04\xea\x01\x044\n\x10\n\x08\x06\0\x02\x0b\
6601    \x04\x9b\x08\0\x12\x04\xea\x01\x044\n\x85\x01\n\x04\x06\0\x02\x0c\x12\
6602    \x06\xf0\x01\x02\xf5\x01\x03\x1au\x20Gets\x20a\x20[service\x20perimeter]\
6603    \n\x20[google.identity.accesscontextmanager.v1.ServicePerimeter]\x20base\
6604    d\x20on\x20the\n\x20resource\x20name.\n\n\r\n\x05\x06\0\x02\x0c\x01\x12\
6605    \x04\xf0\x01\x06\x19\n\r\n\x05\x06\0\x02\x0c\x02\x12\x04\xf0\x01\x1a4\n\
6606    \r\n\x05\x06\0\x02\x0c\x03\x12\x04\xf0\x01?O\n\x0f\n\x05\x06\0\x02\x0c\
6607    \x04\x12\x06\xf1\x01\x04\xf3\x01\x06\n\x13\n\t\x06\0\x02\x0c\x04\xb0\xca\
6608    \xbc\"\x12\x06\xf1\x01\x04\xf3\x01\x06\n\r\n\x05\x06\0\x02\x0c\x04\x12\
6609    \x04\xf4\x01\x042\n\x10\n\x08\x06\0\x02\x0c\x04\x9b\x08\0\x12\x04\xf4\
6610    \x01\x042\n\xd5\x03\n\x04\x06\0\x02\r\x12\x06\xff\x01\x02\x89\x02\x03\
6611    \x1a\xc4\x03\x20Creates\x20a\x20[service\x20perimeter]\n\x20[google.iden\
6612    tity.accesscontextmanager.v1.ServicePerimeter].\x20The\n\x20long-running\
6613    \x20operation\x20from\x20this\x20RPC\x20has\x20a\x20successful\x20status\
6614    \x20after\x20the\n\x20[service\x20perimeter]\n\x20[google.identity.acces\
6615    scontextmanager.v1.ServicePerimeter]\n\x20propagates\x20to\x20long-lasti\
6616    ng\x20storage.\x20If\x20a\x20[service\x20perimeter]\n\x20[google.identit\
6617    y.accesscontextmanager.v1.ServicePerimeter]\x20contains\n\x20errors,\x20\
6618    an\x20error\x20response\x20is\x20returned\x20for\x20the\x20first\x20erro\
6619    r\x20encountered.\n\n\r\n\x05\x06\0\x02\r\x01\x12\x04\xff\x01\x06\x1c\n\
6620    \r\n\x05\x06\0\x02\r\x02\x12\x04\xff\x01\x1d:\n\r\n\x05\x06\0\x02\r\x03\
6621    \x12\x04\xff\x01Ea\n\x0f\n\x05\x06\0\x02\r\x04\x12\x06\x80\x02\x04\x83\
6622    \x02\x06\n\x13\n\t\x06\0\x02\r\x04\xb0\xca\xbc\"\x12\x06\x80\x02\x04\x83\
6623    \x02\x06\n\r\n\x05\x06\0\x02\r\x04\x12\x04\x84\x02\x04F\n\x10\n\x08\x06\
6624    \0\x02\r\x04\x9b\x08\0\x12\x04\x84\x02\x04F\n\x0f\n\x05\x06\0\x02\r\x04\
6625    \x12\x06\x85\x02\x04\x88\x02\x06\n\x11\n\x07\x06\0\x02\r\x04\x99\x08\x12\
6626    \x06\x85\x02\x04\x88\x02\x06\n\xd5\x03\n\x04\x06\0\x02\x0e\x12\x06\x93\
6627    \x02\x02\x9d\x02\x03\x1a\xc4\x03\x20Updates\x20a\x20[service\x20perimete\
6628    r]\n\x20[google.identity.accesscontextmanager.v1.ServicePerimeter].\x20T\
6629    he\n\x20long-running\x20operation\x20from\x20this\x20RPC\x20has\x20a\x20\
6630    successful\x20status\x20after\x20the\n\x20[service\x20perimeter]\n\x20[g\
6631    oogle.identity.accesscontextmanager.v1.ServicePerimeter]\n\x20propagates\
6632    \x20to\x20long-lasting\x20storage.\x20If\x20a\x20[service\x20perimeter]\
6633    \n\x20[google.identity.accesscontextmanager.v1.ServicePerimeter]\x20cont\
6634    ains\n\x20errors,\x20an\x20error\x20response\x20is\x20returned\x20for\
6635    \x20the\x20first\x20error\x20encountered.\n\n\r\n\x05\x06\0\x02\x0e\x01\
6636    \x12\x04\x93\x02\x06\x1c\n\r\n\x05\x06\0\x02\x0e\x02\x12\x04\x93\x02\x1d\
6637    :\n\r\n\x05\x06\0\x02\x0e\x03\x12\x04\x93\x02Ea\n\x0f\n\x05\x06\0\x02\
6638    \x0e\x04\x12\x06\x94\x02\x04\x97\x02\x06\n\x13\n\t\x06\0\x02\x0e\x04\xb0\
6639    \xca\xbc\"\x12\x06\x94\x02\x04\x97\x02\x06\n\r\n\x05\x06\0\x02\x0e\x04\
6640    \x12\x04\x98\x02\x04K\n\x10\n\x08\x06\0\x02\x0e\x04\x9b\x08\0\x12\x04\
6641    \x98\x02\x04K\n\x0f\n\x05\x06\0\x02\x0e\x04\x12\x06\x99\x02\x04\x9c\x02\
6642    \x06\n\x11\n\x07\x06\0\x02\x0e\x04\x99\x08\x12\x06\x99\x02\x04\x9c\x02\
6643    \x06\n\xcc\x02\n\x04\x06\0\x02\x0f\x12\x06\xa5\x02\x02\xae\x02\x03\x1a\
6644    \xbb\x02\x20Deletes\x20a\x20[service\x20perimeter]\n\x20[google.identity\
6645    .accesscontextmanager.v1.ServicePerimeter]\x20based\x20on\x20the\n\x20re\
6646    source\x20name.\x20The\x20long-running\x20operation\x20from\x20this\x20R\
6647    PC\x20has\x20a\x20successful\n\x20status\x20after\x20the\x20[service\x20\
6648    perimeter]\n\x20[google.identity.accesscontextmanager.v1.ServicePerimete\
6649    r]\x20is\x20removed\x20from\n\x20long-lasting\x20storage.\n\n\r\n\x05\
6650    \x06\0\x02\x0f\x01\x12\x04\xa5\x02\x06\x1c\n\r\n\x05\x06\0\x02\x0f\x02\
6651    \x12\x04\xa5\x02\x1d:\n\r\n\x05\x06\0\x02\x0f\x03\x12\x04\xa5\x02Ea\n\
6652    \x0f\n\x05\x06\0\x02\x0f\x04\x12\x06\xa6\x02\x04\xa8\x02\x06\n\x13\n\t\
6653    \x06\0\x02\x0f\x04\xb0\xca\xbc\"\x12\x06\xa6\x02\x04\xa8\x02\x06\n\r\n\
6654    \x05\x06\0\x02\x0f\x04\x12\x04\xa9\x02\x042\n\x10\n\x08\x06\0\x02\x0f\
6655    \x04\x9b\x08\0\x12\x04\xa9\x02\x042\n\x0f\n\x05\x06\0\x02\x0f\x04\x12\
6656    \x06\xaa\x02\x04\xad\x02\x06\n\x11\n\x07\x06\0\x02\x0f\x04\x99\x08\x12\
6657    \x06\xaa\x02\x04\xad\x02\x06\n\x83\x06\n\x04\x06\0\x02\x10\x12\x06\xbd\
6658    \x02\x02\xc6\x02\x03\x1a\xf2\x05\x20Replace\x20all\x20existing\x20[servi\
6659    ce\x20perimeters]\n\x20[google.identity.accesscontextmanager.v1.ServiceP\
6660    erimeter]\x20in\x20an\x20[access\n\x20policy]\x20[google.identity.access\
6661    contextmanager.v1.AccessPolicy]\x20with\x20the\n\x20[service\x20perimete\
6662    rs]\n\x20[google.identity.accesscontextmanager.v1.ServicePerimeter]\x20p\
6663    rovided.\x20This\n\x20is\x20done\x20atomically.\x20The\x20long-running\
6664    \x20operation\x20from\x20this\x20RPC\x20has\x20a\n\x20successful\x20stat\
6665    us\x20after\x20all\x20replacements\x20propagate\x20to\x20long-lasting\
6666    \x20storage.\n\x20Replacements\x20containing\x20errors\x20result\x20in\
6667    \x20an\x20error\x20response\x20for\x20the\x20first\n\x20error\x20encount\
6668    ered.\x20Upon\x20an\x20error,\x20replacement\x20are\x20cancelled\x20and\
6669    \x20existing\n\x20[service\x20perimeters]\n\x20[google.identity.accessco\
6670    ntextmanager.v1.ServicePerimeter]\x20are\x20not\n\x20affected.\x20The\
6671    \x20Operation.response\x20field\x20contains\n\x20ReplaceServicePerimeter\
6672    sResponse.\n\n\r\n\x05\x06\0\x02\x10\x01\x12\x04\xbd\x02\x06\x1e\n\r\n\
6673    \x05\x06\0\x02\x10\x02\x12\x04\xbd\x02\x1f>\n\r\n\x05\x06\0\x02\x10\x03\
6674    \x12\x04\xbd\x02Ie\n\x0f\n\x05\x06\0\x02\x10\x04\x12\x06\xbe\x02\x04\xc1\
6675    \x02\x06\n\x13\n\t\x06\0\x02\x10\x04\xb0\xca\xbc\"\x12\x06\xbe\x02\x04\
6676    \xc1\x02\x06\n\x0f\n\x05\x06\0\x02\x10\x04\x12\x06\xc2\x02\x04\xc5\x02\
6677    \x06\n\x11\n\x07\x06\0\x02\x10\x04\x99\x08\x12\x06\xc2\x02\x04\xc5\x02\
6678    \x06\n\x95\x08\n\x04\x06\0\x02\x11\x12\x06\xd7\x02\x02\xe0\x02\x03\x1a\
6679    \x84\x08\x20Commits\x20the\x20dry-run\x20specification\x20for\x20all\x20\
6680    the\x20[service\x20perimeters]\n\x20[google.identity.accesscontextmanage\
6681    r.v1.ServicePerimeter]\x20in\x20an\n\x20[access\x20policy][google.identi\
6682    ty.accesscontextmanager.v1.AccessPolicy].\n\x20A\x20commit\x20operation\
6683    \x20on\x20a\x20service\x20perimeter\x20involves\x20copying\x20its\x20`sp\
6684    ec`\x20field\n\x20to\x20the\x20`status`\x20field\x20of\x20the\x20service\
6685    \x20perimeter.\x20Only\x20[service\x20perimeters]\n\x20[google.identity.\
6686    accesscontextmanager.v1.ServicePerimeter]\x20with\n\x20`use_explicit_dry\
6687    _run_spec`\x20field\x20set\x20to\x20true\x20are\x20affected\x20by\x20a\
6688    \x20commit\n\x20operation.\x20The\x20long-running\x20operation\x20from\
6689    \x20this\x20RPC\x20has\x20a\x20successful\n\x20status\x20after\x20the\
6690    \x20dry-run\x20specifications\x20for\x20all\x20the\x20[service\x20perime\
6691    ters]\n\x20[google.identity.accesscontextmanager.v1.ServicePerimeter]\
6692    \x20have\x20been\n\x20committed.\x20If\x20a\x20commit\x20fails,\x20it\
6693    \x20causes\x20the\x20long-running\x20operation\x20to\n\x20return\x20an\
6694    \x20error\x20response\x20and\x20the\x20entire\x20commit\x20operation\x20\
6695    is\x20cancelled.\n\x20When\x20successful,\x20the\x20Operation.response\
6696    \x20field\x20contains\n\x20CommitServicePerimetersResponse.\x20The\x20`d\
6697    ry_run`\x20and\x20the\x20`spec`\x20fields\x20are\n\x20cleared\x20after\
6698    \x20a\x20successful\x20commit\x20operation.\n\n\r\n\x05\x06\0\x02\x11\
6699    \x01\x12\x04\xd7\x02\x06\x1d\n\r\n\x05\x06\0\x02\x11\x02\x12\x04\xd7\x02\
6700    \x1e<\n\r\n\x05\x06\0\x02\x11\x03\x12\x04\xd7\x02Gc\n\x0f\n\x05\x06\0\
6701    \x02\x11\x04\x12\x06\xd8\x02\x04\xdb\x02\x06\n\x13\n\t\x06\0\x02\x11\x04\
6702    \xb0\xca\xbc\"\x12\x06\xd8\x02\x04\xdb\x02\x06\n\x0f\n\x05\x06\0\x02\x11\
6703    \x04\x12\x06\xdc\x02\x04\xdf\x02\x06\n\x11\n\x07\x06\0\x02\x11\x04\x99\
6704    \x08\x12\x06\xdc\x02\x04\xdf\x02\x06\n\x96\x01\n\x04\x06\0\x02\x12\x12\
6705    \x06\xe5\x02\x02\xea\x02\x03\x1a\x85\x01\x20Lists\x20all\x20[GcpUserAcce\
6706    ssBindings]\n\x20[google.identity.accesscontextmanager.v1.GcpUserAccessB\
6707    inding]\x20for\x20a\n\x20Google\x20Cloud\x20organization.\n\n\r\n\x05\
6708    \x06\0\x02\x12\x01\x12\x04\xe5\x02\x06\x1f\n\r\n\x05\x06\0\x02\x12\x02\
6709    \x12\x04\xe5\x02\x20@\n\r\n\x05\x06\0\x02\x12\x03\x12\x04\xe5\x02Kl\n\
6710    \x0f\n\x05\x06\0\x02\x12\x04\x12\x06\xe6\x02\x04\xe8\x02\x06\n\x13\n\t\
6711    \x06\0\x02\x12\x04\xb0\xca\xbc\"\x12\x06\xe6\x02\x04\xe8\x02\x06\n\r\n\
6712    \x05\x06\0\x02\x12\x04\x12\x04\xe9\x02\x044\n\x10\n\x08\x06\0\x02\x12\
6713    \x04\x9b\x08\0\x12\x04\xe9\x02\x044\n\x87\x01\n\x04\x06\0\x02\x13\x12\
6714    \x06\xef\x02\x02\xf4\x02\x03\x1aw\x20Gets\x20the\x20[GcpUserAccessBindin\
6715    g]\n\x20[google.identity.accesscontextmanager.v1.GcpUserAccessBinding]\
6716    \x20with\n\x20the\x20given\x20name.\n\n\r\n\x05\x06\0\x02\x13\x01\x12\
6717    \x04\xef\x02\x06\x1d\n\r\n\x05\x06\0\x02\x13\x02\x12\x04\xef\x02\x1e<\n\
6718    \r\n\x05\x06\0\x02\x13\x03\x12\x04\xef\x02G[\n\x0f\n\x05\x06\0\x02\x13\
6719    \x04\x12\x06\xf0\x02\x04\xf2\x02\x06\n\x13\n\t\x06\0\x02\x13\x04\xb0\xca\
6720    \xbc\"\x12\x06\xf0\x02\x04\xf2\x02\x06\n\r\n\x05\x06\0\x02\x13\x04\x12\
6721    \x04\xf3\x02\x042\n\x10\n\x08\x06\0\x02\x13\x04\x9b\x08\0\x12\x04\xf3\
6722    \x02\x042\n\x9b\x04\n\x04\x06\0\x02\x14\x12\x06\x80\x03\x02\x8a\x03\x03\
6723    \x1a\x8a\x04\x20Creates\x20a\x20[GcpUserAccessBinding]\n\x20[google.iden\
6724    tity.accesscontextmanager.v1.GcpUserAccessBinding].\x20If\x20the\n\x20cl\
6725    ient\x20specifies\x20a\x20[name]\n\x20[google.identity.accesscontextmana\
6726    ger.v1.GcpUserAccessBinding.name],\n\x20the\x20server\x20ignores\x20it.\
6727    \x20Fails\x20if\x20a\x20resource\x20already\x20exists\x20with\x20the\x20\
6728    same\n\x20[group_key]\n\x20[google.identity.accesscontextmanager.v1.GcpU\
6729    serAccessBinding.group_key].\n\x20Completion\x20of\x20this\x20long-runni\
6730    ng\x20operation\x20does\x20not\x20necessarily\x20signify\x20that\n\x20th\
6731    e\x20new\x20binding\x20is\x20deployed\x20onto\x20all\x20affected\x20user\
6732    s,\x20which\x20may\x20take\x20more\n\x20time.\n\n\r\n\x05\x06\0\x02\x14\
6733    \x01\x12\x04\x80\x03\x06\x20\n\r\n\x05\x06\0\x02\x14\x02\x12\x04\x80\x03\
6734    !B\n\r\n\x05\x06\0\x02\x14\x03\x12\x04\x80\x03Mi\n\x0f\n\x05\x06\0\x02\
6735    \x14\x04\x12\x06\x81\x03\x04\x84\x03\x06\n\x13\n\t\x06\0\x02\x14\x04\xb0\
6736    \xca\xbc\"\x12\x06\x81\x03\x04\x84\x03\x06\n\r\n\x05\x06\0\x02\x14\x04\
6737    \x12\x04\x85\x03\x04L\n\x10\n\x08\x06\0\x02\x14\x04\x9b\x08\0\x12\x04\
6738    \x85\x03\x04L\n\x0f\n\x05\x06\0\x02\x14\x04\x12\x06\x86\x03\x04\x89\x03\
6739    \x06\n\x11\n\x07\x06\0\x02\x14\x04\x99\x08\x12\x06\x86\x03\x04\x89\x03\
6740    \x06\n\x96\x02\n\x04\x06\0\x02\x15\x12\x06\x91\x03\x02\x9b\x03\x03\x1a\
6741    \x85\x02\x20Updates\x20a\x20[GcpUserAccessBinding]\n\x20[google.identity\
6742    .accesscontextmanager.v1.GcpUserAccessBinding].\n\x20Completion\x20of\
6743    \x20this\x20long-running\x20operation\x20does\x20not\x20necessarily\x20s\
6744    ignify\x20that\n\x20the\x20changed\x20binding\x20is\x20deployed\x20onto\
6745    \x20all\x20affected\x20users,\x20which\x20may\x20take\n\x20more\x20time.\
6746    \n\n\r\n\x05\x06\0\x02\x15\x01\x12\x04\x91\x03\x06\x20\n\r\n\x05\x06\0\
6747    \x02\x15\x02\x12\x04\x91\x03!B\n\r\n\x05\x06\0\x02\x15\x03\x12\x04\x91\
6748    \x03Mi\n\x0f\n\x05\x06\0\x02\x15\x04\x12\x06\x92\x03\x04\x95\x03\x06\n\
6749    \x13\n\t\x06\0\x02\x15\x04\xb0\xca\xbc\"\x12\x06\x92\x03\x04\x95\x03\x06\
6750    \n\r\n\x05\x06\0\x02\x15\x04\x12\x04\x96\x03\x04Q\n\x10\n\x08\x06\0\x02\
6751    \x15\x04\x9b\x08\0\x12\x04\x96\x03\x04Q\n\x0f\n\x05\x06\0\x02\x15\x04\
6752    \x12\x06\x97\x03\x04\x9a\x03\x06\n\x11\n\x07\x06\0\x02\x15\x04\x99\x08\
6753    \x12\x06\x97\x03\x04\x9a\x03\x06\n\x97\x02\n\x04\x06\0\x02\x16\x12\x06\
6754    \xa2\x03\x02\xab\x03\x03\x1a\x86\x02\x20Deletes\x20a\x20[GcpUserAccessBi\
6755    nding]\n\x20[google.identity.accesscontextmanager.v1.GcpUserAccessBindin\
6756    g].\n\x20Completion\x20of\x20this\x20long-running\x20operation\x20does\
6757    \x20not\x20necessarily\x20signify\x20that\n\x20the\x20binding\x20deletio\
6758    n\x20is\x20deployed\x20onto\x20all\x20affected\x20users,\x20which\x20may\
6759    \x20take\n\x20more\x20time.\n\n\r\n\x05\x06\0\x02\x16\x01\x12\x04\xa2\
6760    \x03\x06\x20\n\r\n\x05\x06\0\x02\x16\x02\x12\x04\xa2\x03!B\n\r\n\x05\x06\
6761    \0\x02\x16\x03\x12\x04\xa2\x03Mi\n\x0f\n\x05\x06\0\x02\x16\x04\x12\x06\
6762    \xa3\x03\x04\xa5\x03\x06\n\x13\n\t\x06\0\x02\x16\x04\xb0\xca\xbc\"\x12\
6763    \x06\xa3\x03\x04\xa5\x03\x06\n\r\n\x05\x06\0\x02\x16\x04\x12\x04\xa6\x03\
6764    \x042\n\x10\n\x08\x06\0\x02\x16\x04\x9b\x08\0\x12\x04\xa6\x03\x042\n\x0f\
6765    \n\x05\x06\0\x02\x16\x04\x12\x06\xa7\x03\x04\xaa\x03\x06\n\x11\n\x07\x06\
6766    \0\x02\x16\x04\x99\x08\x12\x06\xa7\x03\x04\xaa\x03\x06\n\x90\x03\n\x04\
6767    \x06\0\x02\x17\x12\x06\xb3\x03\x02\xb8\x03\x03\x1a\xff\x02\x20Sets\x20th\
6768    e\x20IAM\x20policy\x20for\x20the\x20specified\x20Access\x20Context\x20Ma\
6769    nager\n\x20[access\x20policy][google.identity.accesscontextmanager.v1.Ac\
6770    cessPolicy].\n\x20This\x20method\x20replaces\x20the\x20existing\x20IAM\
6771    \x20policy\x20on\x20the\x20access\x20policy.\x20The\x20IAM\n\x20policy\
6772    \x20controls\x20the\x20set\x20of\x20users\x20who\x20can\x20perform\x20sp\
6773    ecific\x20operations\x20on\x20the\n\x20Access\x20Context\x20Manager\x20[\
6774    access\n\x20policy][google.identity.accesscontextmanager.v1.AccessPolicy\
6775    ].\n\n\r\n\x05\x06\0\x02\x17\x01\x12\x04\xb3\x03\x06\x12\n\r\n\x05\x06\0\
6776    \x02\x17\x02\x12\x04\xb3\x03\x134\n\r\n\x05\x06\0\x02\x17\x03\x12\x04\
6777    \xb3\x03?S\n\x0f\n\x05\x06\0\x02\x17\x04\x12\x06\xb4\x03\x04\xb7\x03\x06\
6778    \n\x13\n\t\x06\0\x02\x17\x04\xb0\xca\xbc\"\x12\x06\xb4\x03\x04\xb7\x03\
6779    \x06\n\x97\x01\n\x04\x06\0\x02\x18\x12\x06\xbc\x03\x02\xc1\x03\x03\x1a\
6780    \x86\x01\x20Gets\x20the\x20IAM\x20policy\x20for\x20the\x20specified\x20A\
6781    ccess\x20Context\x20Manager\n\x20[access\x20policy][google.identity.acce\
6782    sscontextmanager.v1.AccessPolicy].\n\n\r\n\x05\x06\0\x02\x18\x01\x12\x04\
6783    \xbc\x03\x06\x12\n\r\n\x05\x06\0\x02\x18\x02\x12\x04\xbc\x03\x134\n\r\n\
6784    \x05\x06\0\x02\x18\x03\x12\x04\xbc\x03?S\n\x0f\n\x05\x06\0\x02\x18\x04\
6785    \x12\x06\xbd\x03\x04\xc0\x03\x06\n\x13\n\t\x06\0\x02\x18\x04\xb0\xca\xbc\
6786    \"\x12\x06\xbd\x03\x04\xc0\x03\x06\n\x9a\x03\n\x04\x06\0\x02\x19\x12\x06\
6787    \xc9\x03\x02\xd6\x03\x03\x1a\x89\x03\x20Returns\x20the\x20IAM\x20permiss\
6788    ions\x20that\x20the\x20caller\x20has\x20on\x20the\x20specified\x20Access\
6789    \n\x20Context\x20Manager\x20resource.\x20The\x20resource\x20can\x20be\
6790    \x20an\n\x20[AccessPolicy][google.identity.accesscontextmanager.v1.Acces\
6791    sPolicy],\n\x20[AccessLevel][google.identity.accesscontextmanager.v1.Acc\
6792    essLevel],\x20or\n\x20[ServicePerimeter][google.identity.accesscontextma\
6793    nager.v1.ServicePerimeter\n\x20].\x20This\x20method\x20does\x20not\x20su\
6794    pport\x20other\x20resources.\n\n\r\n\x05\x06\0\x02\x19\x01\x12\x04\xc9\
6795    \x03\x06\x18\n\r\n\x05\x06\0\x02\x19\x02\x12\x04\xc9\x03\x19@\n\r\n\x05\
6796    \x06\0\x02\x19\x03\x12\x04\xc9\x03Ks\n\x0f\n\x05\x06\0\x02\x19\x04\x12\
6797    \x06\xca\x03\x04\xd5\x03\x06\n\x13\n\t\x06\0\x02\x19\x04\xb0\xca\xbc\"\
6798    \x12\x06\xca\x03\x04\xd5\x03\x06\nG\n\x02\x04\0\x12\x06\xda\x03\0\xed\
6799    \x03\x01\x1a9\x20A\x20request\x20to\x20list\x20all\x20`AccessPolicies`\
6800    \x20for\x20a\x20container.\n\n\x0b\n\x03\x04\0\x01\x12\x04\xda\x03\x08!\
6801    \n\x85\x01\n\x04\x04\0\x02\0\x12\x06\xe0\x03\x02\xe5\x03\x04\x1au\x20Req\
6802    uired.\x20Resource\x20name\x20for\x20the\x20container\x20to\x20list\x20A\
6803    ccessPolicy\x20instances\n\x20from.\n\n\x20Format:\n\x20`organizations/{\
6804    org_id}`\n\n\r\n\x05\x04\0\x02\0\x05\x12\x04\xe0\x03\x02\x08\n\r\n\x05\
6805    \x04\0\x02\0\x01\x12\x04\xe0\x03\t\x0f\n\r\n\x05\x04\0\x02\0\x03\x12\x04\
6806    \xe0\x03\x12\x13\n\x0f\n\x05\x04\0\x02\0\x08\x12\x06\xe0\x03\x14\xe5\x03\
6807    \x03\n\x10\n\x08\x04\0\x02\0\x08\x9c\x08\0\x12\x04\xe1\x03\x04*\n\x11\n\
6808    \x07\x04\0\x02\0\x08\x9f\x08\x12\x06\xe2\x03\x04\xe4\x03\x05\nU\n\x04\
6809    \x04\0\x02\x01\x12\x04\xe8\x03\x02\x16\x1aG\x20Number\x20of\x20AccessPol\
6810    icy\x20instances\x20to\x20include\x20in\x20the\x20list.\x20Default\x2010\
6811    0.\n\n\r\n\x05\x04\0\x02\x01\x05\x12\x04\xe8\x03\x02\x07\n\r\n\x05\x04\0\
6812    \x02\x01\x01\x12\x04\xe8\x03\x08\x11\n\r\n\x05\x04\0\x02\x01\x03\x12\x04\
6813    \xe8\x03\x14\x15\nu\n\x04\x04\0\x02\x02\x12\x04\xec\x03\x02\x18\x1ag\x20\
6814    Next\x20page\x20token\x20for\x20the\x20next\x20batch\x20of\x20AccessPoli\
6815    cy\x20instances.\x20Defaults\x20to\n\x20the\x20first\x20page\x20of\x20re\
6816    sults.\n\n\r\n\x05\x04\0\x02\x02\x05\x12\x04\xec\x03\x02\x08\n\r\n\x05\
6817    \x04\0\x02\x02\x01\x12\x04\xec\x03\t\x13\n\r\n\x05\x04\0\x02\x02\x03\x12\
6818    \x04\xec\x03\x16\x17\n:\n\x02\x04\x01\x12\x06\xf0\x03\0\xf7\x03\x01\x1a,\
6819    \x20A\x20response\x20to\x20`ListAccessPoliciesRequest`.\n\n\x0b\n\x03\
6820    \x04\x01\x01\x12\x04\xf0\x03\x08\"\n3\n\x04\x04\x01\x02\0\x12\x04\xf2\
6821    \x03\x02,\x1a%\x20List\x20of\x20the\x20AccessPolicy\x20instances.\n\n\r\
6822    \n\x05\x04\x01\x02\0\x04\x12\x04\xf2\x03\x02\n\n\r\n\x05\x04\x01\x02\0\
6823    \x06\x12\x04\xf2\x03\x0b\x17\n\r\n\x05\x04\x01\x02\0\x01\x12\x04\xf2\x03\
6824    \x18'\n\r\n\x05\x04\x01\x02\0\x03\x12\x04\xf2\x03*+\n}\n\x04\x04\x01\x02\
6825    \x01\x12\x04\xf6\x03\x02\x1d\x1ao\x20The\x20pagination\x20token\x20to\
6826    \x20retrieve\x20the\x20next\x20page\x20of\x20results.\x20If\x20the\x20va\
6827    lue\x20is\n\x20empty,\x20no\x20further\x20results\x20remain.\n\n\r\n\x05\
6828    \x04\x01\x02\x01\x05\x12\x04\xf6\x03\x02\x08\n\r\n\x05\x04\x01\x02\x01\
6829    \x01\x12\x04\xf6\x03\t\x18\n\r\n\x05\x04\x01\x02\x01\x03\x12\x04\xf6\x03\
6830    \x1b\x1c\n=\n\x02\x04\x02\x12\x06\xfa\x03\0\x84\x04\x01\x1a/\x20A\x20req\
6831    uest\x20to\x20get\x20a\x20particular\x20`AccessPolicy`.\n\n\x0b\n\x03\
6832    \x04\x02\x01\x12\x04\xfa\x03\x08\x1e\nm\n\x04\x04\x02\x02\0\x12\x06\xfe\
6833    \x03\x02\x83\x04\x04\x1a]\x20Required.\x20Resource\x20name\x20for\x20the\
6834    \x20access\x20policy\x20to\x20get.\n\n\x20Format\x20`accessPolicies/{pol\
6835    icy_id}`\n\n\r\n\x05\x04\x02\x02\0\x05\x12\x04\xfe\x03\x02\x08\n\r\n\x05\
6836    \x04\x02\x02\0\x01\x12\x04\xfe\x03\t\r\n\r\n\x05\x04\x02\x02\0\x03\x12\
6837    \x04\xfe\x03\x10\x11\n\x0f\n\x05\x04\x02\x02\0\x08\x12\x06\xfe\x03\x12\
6838    \x83\x04\x03\n\x10\n\x08\x04\x02\x02\0\x08\x9c\x08\0\x12\x04\xff\x03\x04\
6839    *\n\x11\n\x07\x04\x02\x02\0\x08\x9f\x08\x12\x06\x80\x04\x04\x82\x04\x05\
6840    \n6\n\x02\x04\x03\x12\x06\x87\x04\0\x8d\x04\x01\x1a(\x20A\x20request\x20\
6841    to\x20update\x20an\x20`AccessPolicy`.\n\n\x0b\n\x03\x04\x03\x01\x12\x04\
6842    \x87\x04\x08!\n3\n\x04\x04\x03\x02\0\x12\x04\x89\x04\x02C\x1a%\x20Requir\
6843    ed.\x20The\x20updated\x20AccessPolicy.\n\n\r\n\x05\x04\x03\x02\0\x06\x12\
6844    \x04\x89\x04\x02\x0e\n\r\n\x05\x04\x03\x02\0\x01\x12\x04\x89\x04\x0f\x15\
6845    \n\r\n\x05\x04\x03\x02\0\x03\x12\x04\x89\x04\x18\x19\n\r\n\x05\x04\x03\
6846    \x02\0\x08\x12\x04\x89\x04\x1aB\n\x10\n\x08\x04\x03\x02\0\x08\x9c\x08\0\
6847    \x12\x04\x89\x04\x1bA\nV\n\x04\x04\x03\x02\x01\x12\x04\x8c\x04\x02U\x1aH\
6848    \x20Required.\x20Mask\x20to\x20control\x20which\x20fields\x20get\x20upda\
6849    ted.\x20Must\x20be\x20non-empty.\n\n\r\n\x05\x04\x03\x02\x01\x06\x12\x04\
6850    \x8c\x04\x02\x1b\n\r\n\x05\x04\x03\x02\x01\x01\x12\x04\x8c\x04\x1c'\n\r\
6851    \n\x05\x04\x03\x02\x01\x03\x12\x04\x8c\x04*+\n\r\n\x05\x04\x03\x02\x01\
6852    \x08\x12\x04\x8c\x04,T\n\x10\n\x08\x04\x03\x02\x01\x08\x9c\x08\0\x12\x04\
6853    \x8c\x04-S\n6\n\x02\x04\x04\x12\x06\x90\x04\0\x9a\x04\x01\x1a(\x20A\x20r\
6854    equest\x20to\x20delete\x20an\x20`AccessPolicy`.\n\n\x0b\n\x03\x04\x04\
6855    \x01\x12\x04\x90\x04\x08!\np\n\x04\x04\x04\x02\0\x12\x06\x94\x04\x02\x99\
6856    \x04\x04\x1a`\x20Required.\x20Resource\x20name\x20for\x20the\x20access\
6857    \x20policy\x20to\x20delete.\n\n\x20Format\x20`accessPolicies/{policy_id}\
6858    `\n\n\r\n\x05\x04\x04\x02\0\x05\x12\x04\x94\x04\x02\x08\n\r\n\x05\x04\
6859    \x04\x02\0\x01\x12\x04\x94\x04\t\r\n\r\n\x05\x04\x04\x02\0\x03\x12\x04\
6860    \x94\x04\x10\x11\n\x0f\n\x05\x04\x04\x02\0\x08\x12\x06\x94\x04\x12\x99\
6861    \x04\x03\n\x10\n\x08\x04\x04\x02\0\x08\x9c\x08\0\x12\x04\x95\x04\x04*\n\
6862    \x11\n\x07\x04\x04\x02\0\x08\x9f\x08\x12\x06\x96\x04\x04\x98\x04\x05\nJ\
6863    \n\x02\x04\x05\x12\x06\x9d\x04\0\xb8\x04\x01\x1a<\x20A\x20request\x20to\
6864    \x20list\x20all\x20`AccessLevels`\x20in\x20an\x20`AccessPolicy`.\n\n\x0b\
6865    \n\x03\x04\x05\x01\x12\x04\x9d\x04\x08\x1f\n\xbd\x01\n\x04\x04\x05\x02\0\
6866    \x12\x06\xa3\x04\x02\xa8\x04\x04\x1a\xac\x01\x20Required.\x20Resource\
6867    \x20name\x20for\x20the\x20access\x20policy\x20to\x20list\x20[Access\x20L\
6868    evels]\n\x20[google.identity.accesscontextmanager.v1.AccessLevel]\x20fro\
6869    m.\n\n\x20Format:\n\x20`accessPolicies/{policy_id}`\n\n\r\n\x05\x04\x05\
6870    \x02\0\x05\x12\x04\xa3\x04\x02\x08\n\r\n\x05\x04\x05\x02\0\x01\x12\x04\
6871    \xa3\x04\t\x0f\n\r\n\x05\x04\x05\x02\0\x03\x12\x04\xa3\x04\x12\x13\n\x0f\
6872    \n\x05\x04\x05\x02\0\x08\x12\x06\xa3\x04\x14\xa8\x04\x03\n\x10\n\x08\x04\
6873    \x05\x02\0\x08\x9c\x08\0\x12\x04\xa4\x04\x04*\n\x11\n\x07\x04\x05\x02\0\
6874    \x08\x9f\x08\x12\x06\xa5\x04\x04\xa7\x04\x05\n\x86\x01\n\x04\x04\x05\x02\
6875    \x01\x12\x04\xad\x04\x02\x16\x1ax\x20Number\x20of\x20[Access\x20Levels]\
6876    \n\x20[google.identity.accesscontextmanager.v1.AccessLevel]\x20to\x20inc\
6877    lude\x20in\n\x20the\x20list.\x20Default\x20100.\n\n\r\n\x05\x04\x05\x02\
6878    \x01\x05\x12\x04\xad\x04\x02\x07\n\r\n\x05\x04\x05\x02\x01\x01\x12\x04\
6879    \xad\x04\x08\x11\n\r\n\x05\x04\x05\x02\x01\x03\x12\x04\xad\x04\x14\x15\n\
6880    \xaf\x01\n\x04\x04\x05\x02\x02\x12\x04\xb2\x04\x02\x18\x1a\xa0\x01\x20Ne\
6881    xt\x20page\x20token\x20for\x20the\x20next\x20batch\x20of\x20[Access\x20L\
6882    evel]\n\x20[google.identity.accesscontextmanager.v1.AccessLevel]\x20inst\
6883    ances.\n\x20Defaults\x20to\x20the\x20first\x20page\x20of\x20results.\n\n\
6884    \r\n\x05\x04\x05\x02\x02\x05\x12\x04\xb2\x04\x02\x08\n\r\n\x05\x04\x05\
6885    \x02\x02\x01\x12\x04\xb2\x04\t\x13\n\r\n\x05\x04\x05\x02\x02\x03\x12\x04\
6886    \xb2\x04\x16\x17\n\xd2\x01\n\x04\x04\x05\x02\x03\x12\x04\xb7\x04\x02&\
6887    \x1a\xc3\x01\x20Whether\x20to\x20return\x20`BasicLevels`\x20in\x20the\
6888    \x20Cloud\x20Common\x20Expression\x20language,\x20as\n\x20`CustomLevels`\
6889    ,\x20rather\x20than\x20as\x20`BasicLevels`.\x20Defaults\x20to\x20returni\
6890    ng\n\x20`AccessLevels`\x20in\x20the\x20format\x20they\x20were\x20defined\
6891    .\n\n\r\n\x05\x04\x05\x02\x03\x06\x12\x04\xb7\x04\x02\r\n\r\n\x05\x04\
6892    \x05\x02\x03\x01\x12\x04\xb7\x04\x0e!\n\r\n\x05\x04\x05\x02\x03\x03\x12\
6893    \x04\xb7\x04$%\n8\n\x02\x04\x06\x12\x06\xbb\x04\0\xc3\x04\x01\x1a*\x20A\
6894    \x20response\x20to\x20`ListAccessLevelsRequest`.\n\n\x0b\n\x03\x04\x06\
6895    \x01\x12\x04\xbb\x04\x08\x20\nl\n\x04\x04\x06\x02\0\x12\x04\xbe\x04\x02)\
6896    \x1a^\x20List\x20of\x20the\x20[Access\x20Level]\n\x20[google.identity.ac\
6897    cesscontextmanager.v1.AccessLevel]\x20instances.\n\n\r\n\x05\x04\x06\x02\
6898    \0\x04\x12\x04\xbe\x04\x02\n\n\r\n\x05\x04\x06\x02\0\x06\x12\x04\xbe\x04\
6899    \x0b\x16\n\r\n\x05\x04\x06\x02\0\x01\x12\x04\xbe\x04\x17$\n\r\n\x05\x04\
6900    \x06\x02\0\x03\x12\x04\xbe\x04'(\n}\n\x04\x04\x06\x02\x01\x12\x04\xc2\
6901    \x04\x02\x1d\x1ao\x20The\x20pagination\x20token\x20to\x20retrieve\x20the\
6902    \x20next\x20page\x20of\x20results.\x20If\x20the\x20value\x20is\n\x20empt\
6903    y,\x20no\x20further\x20results\x20remain.\n\n\r\n\x05\x04\x06\x02\x01\
6904    \x05\x12\x04\xc2\x04\x02\x08\n\r\n\x05\x04\x06\x02\x01\x01\x12\x04\xc2\
6905    \x04\t\x18\n\r\n\x05\x04\x06\x02\x01\x03\x12\x04\xc2\x04\x1b\x1c\n<\n\
6906    \x02\x04\x07\x12\x06\xc6\x04\0\xdc\x04\x01\x1a.\x20A\x20request\x20to\
6907    \x20get\x20a\x20particular\x20`AccessLevel`.\n\n\x0b\n\x03\x04\x07\x01\
6908    \x12\x04\xc6\x04\x08\x1d\n\xc0\x01\n\x04\x04\x07\x02\0\x12\x06\xcc\x04\
6909    \x02\xd1\x04\x04\x1a\xaf\x01\x20Required.\x20Resource\x20name\x20for\x20\
6910    the\x20[Access\x20Level]\n\x20[google.identity.accesscontextmanager.v1.A\
6911    ccessLevel].\n\n\x20Format:\n\x20`accessPolicies/{policy_id}/accessLevel\
6912    s/{access_level_id}`\n\n\r\n\x05\x04\x07\x02\0\x05\x12\x04\xcc\x04\x02\
6913    \x08\n\r\n\x05\x04\x07\x02\0\x01\x12\x04\xcc\x04\t\r\n\r\n\x05\x04\x07\
6914    \x02\0\x03\x12\x04\xcc\x04\x10\x11\n\x0f\n\x05\x04\x07\x02\0\x08\x12\x06\
6915    \xcc\x04\x12\xd1\x04\x03\n\x10\n\x08\x04\x07\x02\0\x08\x9c\x08\0\x12\x04\
6916    \xcd\x04\x04*\n\x11\n\x07\x04\x07\x02\0\x08\x9f\x08\x12\x06\xce\x04\x04\
6917    \xd0\x04\x05\n\xf6\x03\n\x04\x04\x07\x02\x01\x12\x04\xdb\x04\x02&\x1a\
6918    \xe7\x03\x20Whether\x20to\x20return\x20`BasicLevels`\x20in\x20the\x20Clo\
6919    ud\x20Common\x20Expression\n\x20Language\x20rather\x20than\x20as\x20`Bas\
6920    icLevels`.\x20Defaults\x20to\x20AS_DEFINED,\x20where\n\x20[Access\x20Lev\
6921    els]\x20[google.identity.accesscontextmanager.v1.AccessLevel]\n\x20are\
6922    \x20returned\x20as\x20`BasicLevels`\x20or\x20`CustomLevels`\x20based\x20\
6923    on\x20how\x20they\x20were\n\x20created.\x20If\x20set\x20to\x20CEL,\x20al\
6924    l\x20[Access\x20Levels]\n\x20[google.identity.accesscontextmanager.v1.Ac\
6925    cessLevel]\x20are\x20returned\x20as\n\x20`CustomLevels`.\x20In\x20the\
6926    \x20CEL\x20case,\x20`BasicLevels`\x20are\x20translated\x20to\x20equivale\
6927    nt\n\x20`CustomLevels`.\n\n\r\n\x05\x04\x07\x02\x01\x06\x12\x04\xdb\x04\
6928    \x02\r\n\r\n\x05\x04\x07\x02\x01\x01\x12\x04\xdb\x04\x0e!\n\r\n\x05\x04\
6929    \x07\x02\x01\x03\x12\x04\xdb\x04$%\n5\n\x02\x04\x08\x12\x06\xdf\x04\0\
6930    \xf1\x04\x01\x1a'\x20A\x20request\x20to\x20create\x20an\x20`AccessLevel`\
6931    .\n\n\x0b\n\x03\x04\x08\x01\x12\x04\xdf\x04\x08\x20\n\xbe\x01\n\x04\x04\
6932    \x08\x02\0\x12\x06\xe4\x04\x02\xe9\x04\x04\x1a\xad\x01\x20Required.\x20R\
6933    esource\x20name\x20for\x20the\x20access\x20policy\x20which\x20owns\x20th\
6934    is\x20[Access\n\x20Level]\x20[google.identity.accesscontextmanager.v1.Ac\
6935    cessLevel].\n\n\x20Format:\x20`accessPolicies/{policy_id}`\n\n\r\n\x05\
6936    \x04\x08\x02\0\x05\x12\x04\xe4\x04\x02\x08\n\r\n\x05\x04\x08\x02\0\x01\
6937    \x12\x04\xe4\x04\t\x0f\n\r\n\x05\x04\x08\x02\0\x03\x12\x04\xe4\x04\x12\
6938    \x13\n\x0f\n\x05\x04\x08\x02\0\x08\x12\x06\xe4\x04\x14\xe9\x04\x03\n\x10\
6939    \n\x08\x04\x08\x02\0\x08\x9c\x08\0\x12\x04\xe5\x04\x04*\n\x11\n\x07\x04\
6940    \x08\x02\0\x08\x9f\x08\x12\x06\xe6\x04\x04\xe8\x04\x05\n\xf4\x01\n\x04\
6941    \x04\x08\x02\x01\x12\x04\xf0\x04\x02H\x1a\xe5\x01\x20Required.\x20The\
6942    \x20[Access\x20Level]\n\x20[google.identity.accesscontextmanager.v1.Acce\
6943    ssLevel]\x20to\x20create.\n\x20Syntactic\x20correctness\x20of\x20the\x20\
6944    [Access\x20Level]\n\x20[google.identity.accesscontextmanager.v1.AccessLe\
6945    vel]\x20is\x20a\n\x20precondition\x20for\x20creation.\n\n\r\n\x05\x04\
6946    \x08\x02\x01\x06\x12\x04\xf0\x04\x02\r\n\r\n\x05\x04\x08\x02\x01\x01\x12\
6947    \x04\xf0\x04\x0e\x1a\n\r\n\x05\x04\x08\x02\x01\x03\x12\x04\xf0\x04\x1d\
6948    \x1e\n\r\n\x05\x04\x08\x02\x01\x08\x12\x04\xf0\x04\x1fG\n\x10\n\x08\x04\
6949    \x08\x02\x01\x08\x9c\x08\0\x12\x04\xf0\x04\x20F\n5\n\x02\x04\t\x12\x06\
6950    \xf4\x04\0\xfe\x04\x01\x1a'\x20A\x20request\x20to\x20update\x20an\x20`Ac\
6951    cessLevel`.\n\n\x0b\n\x03\x04\t\x01\x12\x04\xf4\x04\x08\x20\n\xf2\x01\n\
6952    \x04\x04\t\x02\0\x12\x04\xfa\x04\x02H\x1a\xe3\x01\x20Required.\x20The\
6953    \x20updated\x20[Access\x20Level]\n\x20[google.identity.accesscontextmana\
6954    ger.v1.AccessLevel].\x20Syntactic\n\x20correctness\x20of\x20the\x20[Acce\
6955    ss\x20Level]\n\x20[google.identity.accesscontextmanager.v1.AccessLevel]\
6956    \x20is\x20a\n\x20precondition\x20for\x20creation.\n\n\r\n\x05\x04\t\x02\
6957    \0\x06\x12\x04\xfa\x04\x02\r\n\r\n\x05\x04\t\x02\0\x01\x12\x04\xfa\x04\
6958    \x0e\x1a\n\r\n\x05\x04\t\x02\0\x03\x12\x04\xfa\x04\x1d\x1e\n\r\n\x05\x04\
6959    \t\x02\0\x08\x12\x04\xfa\x04\x1fG\n\x10\n\x08\x04\t\x02\0\x08\x9c\x08\0\
6960    \x12\x04\xfa\x04\x20F\nV\n\x04\x04\t\x02\x01\x12\x04\xfd\x04\x02U\x1aH\
6961    \x20Required.\x20Mask\x20to\x20control\x20which\x20fields\x20get\x20upda\
6962    ted.\x20Must\x20be\x20non-empty.\n\n\r\n\x05\x04\t\x02\x01\x06\x12\x04\
6963    \xfd\x04\x02\x1b\n\r\n\x05\x04\t\x02\x01\x01\x12\x04\xfd\x04\x1c'\n\r\n\
6964    \x05\x04\t\x02\x01\x03\x12\x04\xfd\x04*+\n\r\n\x05\x04\t\x02\x01\x08\x12\
6965    \x04\xfd\x04,T\n\x10\n\x08\x04\t\x02\x01\x08\x9c\x08\0\x12\x04\xfd\x04-S\
6966    \n5\n\x02\x04\n\x12\x06\x81\x05\0\x8d\x05\x01\x1a'\x20A\x20request\x20to\
6967    \x20delete\x20an\x20`AccessLevel`.\n\n\x0b\n\x03\x04\n\x01\x12\x04\x81\
6968    \x05\x08\x20\n\xc0\x01\n\x04\x04\n\x02\0\x12\x06\x87\x05\x02\x8c\x05\x04\
6969    \x1a\xaf\x01\x20Required.\x20Resource\x20name\x20for\x20the\x20[Access\
6970    \x20Level]\n\x20[google.identity.accesscontextmanager.v1.AccessLevel].\n\
6971    \n\x20Format:\n\x20`accessPolicies/{policy_id}/accessLevels/{access_leve\
6972    l_id}`\n\n\r\n\x05\x04\n\x02\0\x05\x12\x04\x87\x05\x02\x08\n\r\n\x05\x04\
6973    \n\x02\0\x01\x12\x04\x87\x05\t\r\n\r\n\x05\x04\n\x02\0\x03\x12\x04\x87\
6974    \x05\x10\x11\n\x0f\n\x05\x04\n\x02\0\x08\x12\x06\x87\x05\x12\x8c\x05\x03\
6975    \n\x10\n\x08\x04\n\x02\0\x08\x9c\x08\0\x12\x04\x88\x05\x04*\n\x11\n\x07\
6976    \x04\n\x02\0\x08\x9f\x08\x12\x06\x89\x05\x04\x8b\x05\x05\n\x8f\x01\n\x02\
6977    \x04\x0b\x12\x06\x91\x05\0\xae\x05\x01\x1a\x80\x01\x20A\x20request\x20to\
6978    \x20replace\x20all\x20existing\x20Access\x20Levels\x20in\x20an\x20Access\
6979    \x20Policy\x20with\n\x20the\x20Access\x20Levels\x20provided.\x20This\x20\
6980    is\x20done\x20atomically.\n\n\x0b\n\x03\x04\x0b\x01\x12\x04\x91\x05\x08\
6981    \"\n\xc1\x01\n\x04\x04\x0b\x02\0\x12\x06\x97\x05\x02\x9c\x05\x04\x1a\xb0\
6982    \x01\x20Required.\x20Resource\x20name\x20for\x20the\x20access\x20policy\
6983    \x20which\x20owns\x20these\n\x20[Access\x20Levels]\n\x20[google.identity\
6984    .accesscontextmanager.v1.AccessLevel].\n\n\x20Format:\x20`accessPolicies\
6985    /{policy_id}`\n\n\r\n\x05\x04\x0b\x02\0\x05\x12\x04\x97\x05\x02\x08\n\r\
6986    \n\x05\x04\x0b\x02\0\x01\x12\x04\x97\x05\t\x0f\n\r\n\x05\x04\x0b\x02\0\
6987    \x03\x12\x04\x97\x05\x12\x13\n\x0f\n\x05\x04\x0b\x02\0\x08\x12\x06\x97\
6988    \x05\x14\x9c\x05\x03\n\x10\n\x08\x04\x0b\x02\0\x08\x9c\x08\0\x12\x04\x98\
6989    \x05\x04*\n\x11\n\x07\x04\x0b\x02\0\x08\x9f\x08\x12\x06\x99\x05\x04\x9b\
6990    \x05\x05\n\xa7\x02\n\x04\x04\x0b\x02\x01\x12\x04\xa4\x05\x02R\x1a\x98\
6991    \x02\x20Required.\x20The\x20desired\x20[Access\x20Levels]\n\x20[google.i\
6992    dentity.accesscontextmanager.v1.AccessLevel]\x20that\x20should\n\x20repl\
6993    ace\x20all\x20existing\x20[Access\x20Levels]\n\x20[google.identity.acces\
6994    scontextmanager.v1.AccessLevel]\x20in\x20the\n\x20[Access\x20Policy]\n\
6995    \x20[google.identity.accesscontextmanager.v1.AccessPolicy].\n\n\r\n\x05\
6996    \x04\x0b\x02\x01\x04\x12\x04\xa4\x05\x02\n\n\r\n\x05\x04\x0b\x02\x01\x06\
6997    \x12\x04\xa4\x05\x0b\x16\n\r\n\x05\x04\x0b\x02\x01\x01\x12\x04\xa4\x05\
6998    \x17$\n\r\n\x05\x04\x0b\x02\x01\x03\x12\x04\xa4\x05'(\n\r\n\x05\x04\x0b\
6999    \x02\x01\x08\x12\x04\xa4\x05)Q\n\x10\n\x08\x04\x0b\x02\x01\x08\x9c\x08\0\
7000    \x12\x04\xa4\x05*P\n\xfa\x03\n\x04\x04\x0b\x02\x02\x12\x04\xad\x05\x02\
7001    \x12\x1a\xeb\x03\x20Optional.\x20The\x20etag\x20for\x20the\x20version\
7002    \x20of\x20the\x20[Access\x20Policy]\n\x20[google.identity.accesscontextm\
7003    anager.v1.AccessPolicy]\x20that\x20this\n\x20replace\x20operation\x20is\
7004    \x20to\x20be\x20performed\x20on.\x20If,\x20at\x20the\x20time\x20of\x20re\
7005    place,\x20the\n\x20etag\x20for\x20the\x20Access\x20Policy\x20stored\x20i\
7006    n\x20Access\x20Context\x20Manager\x20is\x20different\n\x20from\x20the\
7007    \x20specified\x20etag,\x20then\x20the\x20replace\x20operation\x20will\
7008    \x20not\x20be\x20performed\n\x20and\x20the\x20call\x20will\x20fail.\x20T\
7009    his\x20field\x20is\x20not\x20required.\x20If\x20etag\x20is\x20not\n\x20p\
7010    rovided,\x20the\x20operation\x20will\x20be\x20performed\x20as\x20if\x20a\
7011    \x20valid\x20etag\x20is\x20provided.\n\n\r\n\x05\x04\x0b\x02\x02\x05\x12\
7012    \x04\xad\x05\x02\x08\n\r\n\x05\x04\x0b\x02\x02\x01\x12\x04\xad\x05\t\r\n\
7013    \r\n\x05\x04\x0b\x02\x02\x03\x12\x04\xad\x05\x10\x11\no\n\x02\x04\x0c\
7014    \x12\x06\xb2\x05\0\xb6\x05\x01\x1aa\x20A\x20response\x20to\x20ReplaceAcc\
7015    essLevelsRequest.\x20This\x20will\x20be\x20put\x20inside\x20of\n\x20Oper\
7016    ation.response\x20field.\n\n\x0b\n\x03\x04\x0c\x01\x12\x04\xb2\x05\x08#\
7017    \nl\n\x04\x04\x0c\x02\0\x12\x04\xb5\x05\x02)\x1a^\x20List\x20of\x20the\
7018    \x20[Access\x20Level]\n\x20[google.identity.accesscontextmanager.v1.Acce\
7019    ssLevel]\x20instances.\n\n\r\n\x05\x04\x0c\x02\0\x04\x12\x04\xb5\x05\x02\
7020    \n\n\r\n\x05\x04\x0c\x02\0\x06\x12\x04\xb5\x05\x0b\x16\n\r\n\x05\x04\x0c\
7021    \x02\0\x01\x12\x04\xb5\x05\x17$\n\r\n\x05\x04\x0c\x02\0\x03\x12\x04\xb5\
7022    \x05'(\nO\n\x02\x04\r\x12\x06\xb9\x05\0\xcf\x05\x01\x1aA\x20A\x20request\
7023    \x20to\x20list\x20all\x20`ServicePerimeters`\x20in\x20an\x20`AccessPolic\
7024    y`.\n\n\x0b\n\x03\x04\r\x01\x12\x04\xb9\x05\x08$\n\xc7\x01\n\x04\x04\r\
7025    \x02\0\x12\x06\xbf\x05\x02\xc4\x05\x04\x1a\xb6\x01\x20Required.\x20Resou\
7026    rce\x20name\x20for\x20the\x20access\x20policy\x20to\x20list\x20[Service\
7027    \x20Perimeters]\n\x20[google.identity.accesscontextmanager.v1.ServicePer\
7028    imeter]\x20from.\n\n\x20Format:\n\x20`accessPolicies/{policy_id}`\n\n\r\
7029    \n\x05\x04\r\x02\0\x05\x12\x04\xbf\x05\x02\x08\n\r\n\x05\x04\r\x02\0\x01\
7030    \x12\x04\xbf\x05\t\x0f\n\r\n\x05\x04\r\x02\0\x03\x12\x04\xbf\x05\x12\x13\
7031    \n\x0f\n\x05\x04\r\x02\0\x08\x12\x06\xbf\x05\x14\xc4\x05\x03\n\x10\n\x08\
7032    \x04\r\x02\0\x08\x9c\x08\0\x12\x04\xc0\x05\x04*\n\x11\n\x07\x04\r\x02\0\
7033    \x08\x9f\x08\x12\x06\xc1\x05\x04\xc3\x05\x05\n\x91\x01\n\x04\x04\r\x02\
7034    \x01\x12\x04\xc9\x05\x02\x16\x1a\x82\x01\x20Number\x20of\x20[Service\x20\
7035    Perimeters]\n\x20[google.identity.accesscontextmanager.v1.ServicePerimet\
7036    er]\x20to\x20include\n\x20in\x20the\x20list.\x20Default\x20100.\n\n\r\n\
7037    \x05\x04\r\x02\x01\x05\x12\x04\xc9\x05\x02\x07\n\r\n\x05\x04\r\x02\x01\
7038    \x01\x12\x04\xc9\x05\x08\x11\n\r\n\x05\x04\r\x02\x01\x03\x12\x04\xc9\x05\
7039    \x14\x15\n\xb9\x01\n\x04\x04\r\x02\x02\x12\x04\xce\x05\x02\x18\x1a\xaa\
7040    \x01\x20Next\x20page\x20token\x20for\x20the\x20next\x20batch\x20of\x20[S\
7041    ervice\x20Perimeter]\n\x20[google.identity.accesscontextmanager.v1.Servi\
7042    cePerimeter]\x20instances.\n\x20Defaults\x20to\x20the\x20first\x20page\
7043    \x20of\x20results.\n\n\r\n\x05\x04\r\x02\x02\x05\x12\x04\xce\x05\x02\x08\
7044    \n\r\n\x05\x04\r\x02\x02\x01\x12\x04\xce\x05\t\x13\n\r\n\x05\x04\r\x02\
7045    \x02\x03\x12\x04\xce\x05\x16\x17\n=\n\x02\x04\x0e\x12\x06\xd2\x05\0\xda\
7046    \x05\x01\x1a/\x20A\x20response\x20to\x20`ListServicePerimetersRequest`.\
7047    \n\n\x0b\n\x03\x04\x0e\x01\x12\x04\xd2\x05\x08%\nv\n\x04\x04\x0e\x02\0\
7048    \x12\x04\xd5\x05\x023\x1ah\x20List\x20of\x20the\x20[Service\x20Perimeter\
7049    ]\n\x20[google.identity.accesscontextmanager.v1.ServicePerimeter]\x20ins\
7050    tances.\n\n\r\n\x05\x04\x0e\x02\0\x04\x12\x04\xd5\x05\x02\n\n\r\n\x05\
7051    \x04\x0e\x02\0\x06\x12\x04\xd5\x05\x0b\x1b\n\r\n\x05\x04\x0e\x02\0\x01\
7052    \x12\x04\xd5\x05\x1c.\n\r\n\x05\x04\x0e\x02\0\x03\x12\x04\xd5\x0512\n}\n\
7053    \x04\x04\x0e\x02\x01\x12\x04\xd9\x05\x02\x1d\x1ao\x20The\x20pagination\
7054    \x20token\x20to\x20retrieve\x20the\x20next\x20page\x20of\x20results.\x20\
7055    If\x20the\x20value\x20is\n\x20empty,\x20no\x20further\x20results\x20rema\
7056    in.\n\n\r\n\x05\x04\x0e\x02\x01\x05\x12\x04\xd9\x05\x02\x08\n\r\n\x05\
7057    \x04\x0e\x02\x01\x01\x12\x04\xd9\x05\t\x18\n\r\n\x05\x04\x0e\x02\x01\x03\
7058    \x12\x04\xd9\x05\x1b\x1c\nA\n\x02\x04\x0f\x12\x06\xdd\x05\0\xe9\x05\x01\
7059    \x1a3\x20A\x20request\x20to\x20get\x20a\x20particular\x20`ServicePerimet\
7060    er`.\n\n\x0b\n\x03\x04\x0f\x01\x12\x04\xdd\x05\x08\"\n\xd5\x01\n\x04\x04\
7061    \x0f\x02\0\x12\x06\xe3\x05\x02\xe8\x05\x04\x1a\xc4\x01\x20Required.\x20R\
7062    esource\x20name\x20for\x20the\x20[Service\x20Perimeter]\n\x20[google.ide\
7063    ntity.accesscontextmanager.v1.ServicePerimeter].\n\n\x20Format:\n\x20`ac\
7064    cessPolicies/{policy_id}/servicePerimeters/{service_perimeters_id}`\n\n\
7065    \r\n\x05\x04\x0f\x02\0\x05\x12\x04\xe3\x05\x02\x08\n\r\n\x05\x04\x0f\x02\
7066    \0\x01\x12\x04\xe3\x05\t\r\n\r\n\x05\x04\x0f\x02\0\x03\x12\x04\xe3\x05\
7067    \x10\x11\n\x0f\n\x05\x04\x0f\x02\0\x08\x12\x06\xe3\x05\x12\xe8\x05\x03\n\
7068    \x10\n\x08\x04\x0f\x02\0\x08\x9c\x08\0\x12\x04\xe4\x05\x04*\n\x11\n\x07\
7069    \x04\x0f\x02\0\x08\x9f\x08\x12\x06\xe5\x05\x04\xe7\x05\x05\n9\n\x02\x04\
7070    \x10\x12\x06\xec\x05\0\xfe\x05\x01\x1a+\x20A\x20request\x20to\x20create\
7071    \x20a\x20`ServicePerimeter`.\n\n\x0b\n\x03\x04\x10\x01\x12\x04\xec\x05\
7072    \x08%\n\xc8\x01\n\x04\x04\x10\x02\0\x12\x06\xf1\x05\x02\xf6\x05\x04\x1a\
7073    \xb7\x01\x20Required.\x20Resource\x20name\x20for\x20the\x20access\x20pol\
7074    icy\x20which\x20owns\x20this\x20[Service\n\x20Perimeter]\x20[google.iden\
7075    tity.accesscontextmanager.v1.ServicePerimeter].\n\n\x20Format:\x20`acces\
7076    sPolicies/{policy_id}`\n\n\r\n\x05\x04\x10\x02\0\x05\x12\x04\xf1\x05\x02\
7077    \x08\n\r\n\x05\x04\x10\x02\0\x01\x12\x04\xf1\x05\t\x0f\n\r\n\x05\x04\x10\
7078    \x02\0\x03\x12\x04\xf1\x05\x12\x13\n\x0f\n\x05\x04\x10\x02\0\x08\x12\x06\
7079    \xf1\x05\x14\xf6\x05\x03\n\x10\n\x08\x04\x10\x02\0\x08\x9c\x08\0\x12\x04\
7080    \xf2\x05\x04*\n\x11\n\x07\x04\x10\x02\0\x08\x9f\x08\x12\x06\xf3\x05\x04\
7081    \xf5\x05\x05\n\x88\x02\n\x04\x04\x10\x02\x01\x12\x04\xfd\x05\x02R\x1a\
7082    \xf9\x01\x20Required.\x20The\x20[Service\x20Perimeter]\n\x20[google.iden\
7083    tity.accesscontextmanager.v1.ServicePerimeter]\x20to\x20create.\n\x20Syn\
7084    tactic\x20correctness\x20of\x20the\x20[Service\x20Perimeter]\n\x20[googl\
7085    e.identity.accesscontextmanager.v1.ServicePerimeter]\x20is\x20a\n\x20pre\
7086    condition\x20for\x20creation.\n\n\r\n\x05\x04\x10\x02\x01\x06\x12\x04\
7087    \xfd\x05\x02\x12\n\r\n\x05\x04\x10\x02\x01\x01\x12\x04\xfd\x05\x13$\n\r\
7088    \n\x05\x04\x10\x02\x01\x03\x12\x04\xfd\x05'(\n\r\n\x05\x04\x10\x02\x01\
7089    \x08\x12\x04\xfd\x05)Q\n\x10\n\x08\x04\x10\x02\x01\x08\x9c\x08\0\x12\x04\
7090    \xfd\x05*P\n9\n\x02\x04\x11\x12\x06\x81\x06\0\x88\x06\x01\x1a+\x20A\x20r\
7091    equest\x20to\x20update\x20a\x20`ServicePerimeter`.\n\n\x0b\n\x03\x04\x11\
7092    \x01\x12\x04\x81\x06\x08%\n\x8a\x01\n\x04\x04\x11\x02\0\x12\x04\x84\x06\
7093    \x02R\x1a|\x20Required.\x20The\x20updated\x20`ServicePerimeter`.\x20Synt\
7094    actic\x20correctness\x20of\x20the\n\x20`ServicePerimeter`\x20is\x20a\x20\
7095    precondition\x20for\x20creation.\n\n\r\n\x05\x04\x11\x02\0\x06\x12\x04\
7096    \x84\x06\x02\x12\n\r\n\x05\x04\x11\x02\0\x01\x12\x04\x84\x06\x13$\n\r\n\
7097    \x05\x04\x11\x02\0\x03\x12\x04\x84\x06'(\n\r\n\x05\x04\x11\x02\0\x08\x12\
7098    \x04\x84\x06)Q\n\x10\n\x08\x04\x11\x02\0\x08\x9c\x08\0\x12\x04\x84\x06*P\
7099    \nV\n\x04\x04\x11\x02\x01\x12\x04\x87\x06\x02U\x1aH\x20Required.\x20Mask\
7100    \x20to\x20control\x20which\x20fields\x20get\x20updated.\x20Must\x20be\
7101    \x20non-empty.\n\n\r\n\x05\x04\x11\x02\x01\x06\x12\x04\x87\x06\x02\x1b\n\
7102    \r\n\x05\x04\x11\x02\x01\x01\x12\x04\x87\x06\x1c'\n\r\n\x05\x04\x11\x02\
7103    \x01\x03\x12\x04\x87\x06*+\n\r\n\x05\x04\x11\x02\x01\x08\x12\x04\x87\x06\
7104    ,T\n\x10\n\x08\x04\x11\x02\x01\x08\x9c\x08\0\x12\x04\x87\x06-S\n9\n\x02\
7105    \x04\x12\x12\x06\x8b\x06\0\x97\x06\x01\x1a+\x20A\x20request\x20to\x20del\
7106    ete\x20a\x20`ServicePerimeter`.\n\n\x0b\n\x03\x04\x12\x01\x12\x04\x8b\
7107    \x06\x08%\n\xd4\x01\n\x04\x04\x12\x02\0\x12\x06\x91\x06\x02\x96\x06\x04\
7108    \x1a\xc3\x01\x20Required.\x20Resource\x20name\x20for\x20the\x20[Service\
7109    \x20Perimeter]\n\x20[google.identity.accesscontextmanager.v1.ServicePeri\
7110    meter].\n\n\x20Format:\n\x20`accessPolicies/{policy_id}/servicePerimeter\
7111    s/{service_perimeter_id}`\n\n\r\n\x05\x04\x12\x02\0\x05\x12\x04\x91\x06\
7112    \x02\x08\n\r\n\x05\x04\x12\x02\0\x01\x12\x04\x91\x06\t\r\n\r\n\x05\x04\
7113    \x12\x02\0\x03\x12\x04\x91\x06\x10\x11\n\x0f\n\x05\x04\x12\x02\0\x08\x12\
7114    \x06\x91\x06\x12\x96\x06\x03\n\x10\n\x08\x04\x12\x02\0\x08\x9c\x08\0\x12\
7115    \x04\x92\x06\x04*\n\x11\n\x07\x04\x12\x02\0\x08\x9f\x08\x12\x06\x93\x06\
7116    \x04\x95\x06\x05\n\x99\x01\n\x02\x04\x13\x12\x06\x9b\x06\0\xb8\x06\x01\
7117    \x1a\x8a\x01\x20A\x20request\x20to\x20replace\x20all\x20existing\x20Serv\
7118    ice\x20Perimeters\x20in\x20an\x20Access\x20Policy\n\x20with\x20the\x20Se\
7119    rvice\x20Perimeters\x20provided.\x20This\x20is\x20done\x20atomically.\n\
7120    \n\x0b\n\x03\x04\x13\x01\x12\x04\x9b\x06\x08'\n\xcb\x01\n\x04\x04\x13\
7121    \x02\0\x12\x06\xa1\x06\x02\xa6\x06\x04\x1a\xba\x01\x20Required.\x20Resou\
7122    rce\x20name\x20for\x20the\x20access\x20policy\x20which\x20owns\x20these\
7123    \n\x20[Service\x20Perimeters]\n\x20[google.identity.accesscontextmanager\
7124    .v1.ServicePerimeter].\n\n\x20Format:\x20`accessPolicies/{policy_id}`\n\
7125    \n\r\n\x05\x04\x13\x02\0\x05\x12\x04\xa1\x06\x02\x08\n\r\n\x05\x04\x13\
7126    \x02\0\x01\x12\x04\xa1\x06\t\x0f\n\r\n\x05\x04\x13\x02\0\x03\x12\x04\xa1\
7127    \x06\x12\x13\n\x0f\n\x05\x04\x13\x02\0\x08\x12\x06\xa1\x06\x14\xa6\x06\
7128    \x03\n\x10\n\x08\x04\x13\x02\0\x08\x9c\x08\0\x12\x04\xa2\x06\x04*\n\x11\
7129    \n\x07\x04\x13\x02\0\x08\x9f\x08\x12\x06\xa3\x06\x04\xa5\x06\x05\n\xbb\
7130    \x02\n\x04\x04\x13\x02\x01\x12\x04\xae\x06\x02\\\x1a\xac\x02\x20Required\
7131    .\x20The\x20desired\x20[Service\x20Perimeters]\n\x20[google.identity.acc\
7132    esscontextmanager.v1.ServicePerimeter]\x20that\x20should\n\x20replace\
7133    \x20all\x20existing\x20[Service\x20Perimeters]\n\x20[google.identity.acc\
7134    esscontextmanager.v1.ServicePerimeter]\x20in\x20the\n\x20[Access\x20Poli\
7135    cy]\n\x20[google.identity.accesscontextmanager.v1.AccessPolicy].\n\n\r\n\
7136    \x05\x04\x13\x02\x01\x04\x12\x04\xae\x06\x02\n\n\r\n\x05\x04\x13\x02\x01\
7137    \x06\x12\x04\xae\x06\x0b\x1b\n\r\n\x05\x04\x13\x02\x01\x01\x12\x04\xae\
7138    \x06\x1c.\n\r\n\x05\x04\x13\x02\x01\x03\x12\x04\xae\x0612\n\r\n\x05\x04\
7139    \x13\x02\x01\x08\x12\x04\xae\x063[\n\x10\n\x08\x04\x13\x02\x01\x08\x9c\
7140    \x08\0\x12\x04\xae\x064Z\n\xfa\x03\n\x04\x04\x13\x02\x02\x12\x04\xb7\x06\
7141    \x02\x12\x1a\xeb\x03\x20Optional.\x20The\x20etag\x20for\x20the\x20versio\
7142    n\x20of\x20the\x20[Access\x20Policy]\n\x20[google.identity.accesscontext\
7143    manager.v1.AccessPolicy]\x20that\x20this\n\x20replace\x20operation\x20is\
7144    \x20to\x20be\x20performed\x20on.\x20If,\x20at\x20the\x20time\x20of\x20re\
7145    place,\x20the\n\x20etag\x20for\x20the\x20Access\x20Policy\x20stored\x20i\
7146    n\x20Access\x20Context\x20Manager\x20is\x20different\n\x20from\x20the\
7147    \x20specified\x20etag,\x20then\x20the\x20replace\x20operation\x20will\
7148    \x20not\x20be\x20performed\n\x20and\x20the\x20call\x20will\x20fail.\x20T\
7149    his\x20field\x20is\x20not\x20required.\x20If\x20etag\x20is\x20not\n\x20p\
7150    rovided,\x20the\x20operation\x20will\x20be\x20performed\x20as\x20if\x20a\
7151    \x20valid\x20etag\x20is\x20provided.\n\n\r\n\x05\x04\x13\x02\x02\x05\x12\
7152    \x04\xb7\x06\x02\x08\n\r\n\x05\x04\x13\x02\x02\x01\x12\x04\xb7\x06\t\r\n\
7153    \r\n\x05\x04\x13\x02\x02\x03\x12\x04\xb7\x06\x10\x11\nt\n\x02\x04\x14\
7154    \x12\x06\xbc\x06\0\xc0\x06\x01\x1af\x20A\x20response\x20to\x20ReplaceSer\
7155    vicePerimetersRequest.\x20This\x20will\x20be\x20put\x20inside\x20of\n\
7156    \x20Operation.response\x20field.\n\n\x0b\n\x03\x04\x14\x01\x12\x04\xbc\
7157    \x06\x08(\nv\n\x04\x04\x14\x02\0\x12\x04\xbf\x06\x023\x1ah\x20List\x20of\
7158    \x20the\x20[Service\x20Perimeter]\n\x20[google.identity.accesscontextman\
7159    ager.v1.ServicePerimeter]\x20instances.\n\n\r\n\x05\x04\x14\x02\0\x04\
7160    \x12\x04\xbf\x06\x02\n\n\r\n\x05\x04\x14\x02\0\x06\x12\x04\xbf\x06\x0b\
7161    \x1b\n\r\n\x05\x04\x14\x02\0\x01\x12\x04\xbf\x06\x1c.\n\r\n\x05\x04\x14\
7162    \x02\0\x03\x12\x04\xbf\x0612\n\xe2\x01\n\x02\x04\x15\x12\x06\xc5\x06\0\
7163    \xdc\x06\x01\x1a\xd3\x01\x20A\x20request\x20to\x20commit\x20dry-run\x20s\
7164    pecs\x20in\x20all\x20[Service\x20Perimeters]\n\x20[google.identity.acces\
7165    scontextmanager.v1.ServicePerimeter]\x20belonging\x20to\n\x20an\x20[Acce\
7166    ss\x20Policy][google.identity.accesscontextmanager.v1.AccessPolicy].\n\n\
7167    \x0b\n\x03\x04\x15\x01\x12\x04\xc5\x06\x08&\n\xad\x02\n\x04\x04\x15\x02\
7168    \0\x12\x06\xcd\x06\x02\xd2\x06\x04\x1a\x9c\x02\x20Required.\x20Resource\
7169    \x20name\x20for\x20the\x20parent\x20[Access\x20Policy]\n\x20[google.iden\
7170    tity.accesscontextmanager.v1.AccessPolicy]\x20which\x20owns\x20all\n\x20\
7171    [Service\x20Perimeters]\n\x20[google.identity.accesscontextmanager.v1.Se\
7172    rvicePerimeter]\x20in\x20scope\x20for\n\x20the\x20commit\x20operation.\n\
7173    \n\x20Format:\x20`accessPolicies/{policy_id}`\n\n\r\n\x05\x04\x15\x02\0\
7174    \x05\x12\x04\xcd\x06\x02\x08\n\r\n\x05\x04\x15\x02\0\x01\x12\x04\xcd\x06\
7175    \t\x0f\n\r\n\x05\x04\x15\x02\0\x03\x12\x04\xcd\x06\x12\x13\n\x0f\n\x05\
7176    \x04\x15\x02\0\x08\x12\x06\xcd\x06\x14\xd2\x06\x03\n\x10\n\x08\x04\x15\
7177    \x02\0\x08\x9c\x08\0\x12\x04\xce\x06\x04*\n\x11\n\x07\x04\x15\x02\0\x08\
7178    \x9f\x08\x12\x06\xcf\x06\x04\xd1\x06\x05\n\xf7\x03\n\x04\x04\x15\x02\x01\
7179    \x12\x04\xdb\x06\x02\x12\x1a\xe8\x03\x20Optional.\x20The\x20etag\x20for\
7180    \x20the\x20version\x20of\x20the\x20[Access\x20Policy]\n\x20[google.ident\
7181    ity.accesscontextmanager.v1.AccessPolicy]\x20that\x20this\n\x20commit\
7182    \x20operation\x20is\x20to\x20be\x20performed\x20on.\x20If,\x20at\x20the\
7183    \x20time\x20of\x20commit,\x20the\n\x20etag\x20for\x20the\x20Access\x20Po\
7184    licy\x20stored\x20in\x20Access\x20Context\x20Manager\x20is\x20different\
7185    \n\x20from\x20the\x20specified\x20etag,\x20then\x20the\x20commit\x20oper\
7186    ation\x20will\x20not\x20be\x20performed\n\x20and\x20the\x20call\x20will\
7187    \x20fail.\x20This\x20field\x20is\x20not\x20required.\x20If\x20etag\x20is\
7188    \x20not\n\x20provided,\x20the\x20operation\x20will\x20be\x20performed\
7189    \x20as\x20if\x20a\x20valid\x20etag\x20is\x20provided.\n\n\r\n\x05\x04\
7190    \x15\x02\x01\x05\x12\x04\xdb\x06\x02\x08\n\r\n\x05\x04\x15\x02\x01\x01\
7191    \x12\x04\xdb\x06\t\r\n\r\n\x05\x04\x15\x02\x01\x03\x12\x04\xdb\x06\x10\
7192    \x11\ns\n\x02\x04\x16\x12\x06\xe0\x06\0\xe6\x06\x01\x1ae\x20A\x20respons\
7193    e\x20to\x20CommitServicePerimetersRequest.\x20This\x20will\x20be\x20put\
7194    \x20inside\x20of\n\x20Operation.response\x20field.\n\n\x0b\n\x03\x04\x16\
7195    \x01\x12\x04\xe0\x06\x08'\n\xcb\x01\n\x04\x04\x16\x02\0\x12\x04\xe5\x06\
7196    \x023\x1a\xbc\x01\x20List\x20of\x20all\x20the\x20[Service\x20Perimeter]\
7197    \n\x20[google.identity.accesscontextmanager.v1.ServicePerimeter]\x20inst\
7198    ances\x20in\n\x20the\x20[Access\x20Policy]\n\x20[google.identity.accessc\
7199    ontextmanager.v1.AccessPolicy].\n\n\r\n\x05\x04\x16\x02\0\x04\x12\x04\
7200    \xe5\x06\x02\n\n\r\n\x05\x04\x16\x02\0\x06\x12\x04\xe5\x06\x0b\x1b\n\r\n\
7201    \x05\x04\x16\x02\0\x01\x12\x04\xe5\x06\x1c.\n\r\n\x05\x04\x16\x02\0\x03\
7202    \x12\x04\xe5\x0612\n4\n\x02\x05\0\x12\x06\xe9\x06\0\xf4\x06\x01\x1a&\x20\
7203    The\x20format\x20used\x20in\x20an\x20`AccessLevel`.\n\n\x0b\n\x03\x05\0\
7204    \x01\x12\x04\xe9\x06\x05\x10\n-\n\x04\x05\0\x02\0\x12\x04\xeb\x06\x02\
7205    \x1f\x1a\x1f\x20The\x20format\x20was\x20not\x20specified.\n\n\r\n\x05\
7206    \x05\0\x02\0\x01\x12\x04\xeb\x06\x02\x1a\n\r\n\x05\x05\0\x02\0\x02\x12\
7207    \x04\xeb\x06\x1d\x1e\n\x92\x01\n\x04\x05\0\x02\x01\x12\x04\xef\x06\x02\
7208    \x11\x1a\x83\x01\x20Uses\x20the\x20format\x20the\x20resource\x20was\x20d\
7209    efined\x20in.\x20BasicLevels\x20are\x20returned\x20as\n\x20BasicLevels,\
7210    \x20CustomLevels\x20are\x20returned\x20as\x20CustomLevels.\n\n\r\n\x05\
7211    \x05\0\x02\x01\x01\x12\x04\xef\x06\x02\x0c\n\r\n\x05\x05\0\x02\x01\x02\
7212    \x12\x04\xef\x06\x0f\x10\n\x94\x01\n\x04\x05\0\x02\x02\x12\x04\xf3\x06\
7213    \x02\n\x1a\x85\x01\x20Use\x20Cloud\x20Common\x20Expression\x20Language\
7214    \x20when\x20returning\x20the\x20resource.\x20\x20Both\n\x20BasicLevels\
7215    \x20and\x20CustomLevels\x20are\x20returned\x20as\x20CustomLevels.\n\n\r\
7216    \n\x05\x05\0\x02\x02\x01\x12\x04\xf3\x06\x02\x05\n\r\n\x05\x05\0\x02\x02\
7217    \x02\x12\x04\xf3\x06\x08\t\n\x92\x01\n\x02\x04\x17\x12\x06\xf8\x06\0\x8a\
7218    \x07\x01\x1a\x83\x01\x20Request\x20of\x20[ListGcpUserAccessBindings]\n\
7219    \x20[google.identity.accesscontextmanager.v1.AccessContextManager.ListGc\
7220    pUserAccessBindings].\n\n\x0b\n\x03\x04\x17\x01\x12\x04\xf8\x06\x08(\n8\
7221    \n\x04\x04\x17\x02\0\x12\x06\xfa\x06\x02\xff\x06\x04\x1a(\x20Required.\
7222    \x20Example:\x20\"organizations/256\"\n\n\r\n\x05\x04\x17\x02\0\x05\x12\
7223    \x04\xfa\x06\x02\x08\n\r\n\x05\x04\x17\x02\0\x01\x12\x04\xfa\x06\t\x0f\n\
7224    \r\n\x05\x04\x17\x02\0\x03\x12\x04\xfa\x06\x12\x13\n\x0f\n\x05\x04\x17\
7225    \x02\0\x08\x12\x06\xfa\x06\x14\xff\x06\x03\n\x10\n\x08\x04\x17\x02\0\x08\
7226    \x9c\x08\0\x12\x04\xfb\x06\x04*\n\x11\n\x07\x04\x17\x02\0\x08\x9f\x08\
7227    \x12\x06\xfc\x06\x04\xfe\x06\x05\n\x9b\x01\n\x04\x04\x17\x02\x01\x12\x04\
7228    \x83\x07\x02?\x1a\x8c\x01\x20Optional.\x20Maximum\x20number\x20of\x20ite\
7229    ms\x20to\x20return.\x20The\x20server\x20may\x20return\x20fewer\x20items.\
7230    \n\x20If\x20left\x20blank,\x20the\x20server\x20may\x20return\x20any\x20n\
7231    umber\x20of\x20items.\n\n\r\n\x05\x04\x17\x02\x01\x05\x12\x04\x83\x07\
7232    \x02\x07\n\r\n\x05\x04\x17\x02\x01\x01\x12\x04\x83\x07\x08\x11\n\r\n\x05\
7233    \x04\x17\x02\x01\x03\x12\x04\x83\x07\x14\x15\n\r\n\x05\x04\x17\x02\x01\
7234    \x08\x12\x04\x83\x07\x16>\n\x10\n\x08\x04\x17\x02\x01\x08\x9c\x08\0\x12\
7235    \x04\x83\x07\x17=\n\xf5\x01\n\x04\x04\x17\x02\x02\x12\x04\x89\x07\x02A\
7236    \x1a\xe6\x01\x20Optional.\x20If\x20left\x20blank,\x20returns\x20the\x20f\
7237    irst\x20page.\x20To\x20enumerate\x20all\x20items,\x20use\x20the\n\x20[ne\
7238    xt_page_token]\n\x20[google.identity.accesscontextmanager.v1.ListGcpUser\
7239    AccessBindingsResponse.next_page_token]\n\x20from\x20your\x20previous\
7240    \x20list\x20operation.\n\n\r\n\x05\x04\x17\x02\x02\x05\x12\x04\x89\x07\
7241    \x02\x08\n\r\n\x05\x04\x17\x02\x02\x01\x12\x04\x89\x07\t\x13\n\r\n\x05\
7242    \x04\x17\x02\x02\x03\x12\x04\x89\x07\x16\x17\n\r\n\x05\x04\x17\x02\x02\
7243    \x08\x12\x04\x89\x07\x18@\n\x10\n\x08\x04\x17\x02\x02\x08\x9c\x08\0\x12\
7244    \x04\x89\x07\x19?\n\x93\x01\n\x02\x04\x18\x12\x06\x8e\x07\0\x95\x07\x01\
7245    \x1a\x84\x01\x20Response\x20of\x20[ListGcpUserAccessBindings]\n\x20[goog\
7246    le.identity.accesscontextmanager.v1.AccessContextManager.ListGcpUserAcce\
7247    ssBindings].\n\n\x0b\n\x03\x04\x18\x01\x12\x04\x8e\x07\x08)\nf\n\x04\x04\
7248    \x18\x02\0\x12\x04\x91\x07\x02=\x1aX\x20[GcpUserAccessBinding]\n\x20[goo\
7249    gle.identity.accesscontextmanager.v1.GcpUserAccessBinding]\n\n\r\n\x05\
7250    \x04\x18\x02\0\x04\x12\x04\x91\x07\x02\n\n\r\n\x05\x04\x18\x02\0\x06\x12\
7251    \x04\x91\x07\x0b\x1f\n\r\n\x05\x04\x18\x02\0\x01\x12\x04\x91\x07\x208\n\
7252    \r\n\x05\x04\x18\x02\0\x03\x12\x04\x91\x07;<\nW\n\x04\x04\x18\x02\x01\
7253    \x12\x04\x94\x07\x02\x1d\x1aI\x20Token\x20to\x20get\x20the\x20next\x20pa\
7254    ge\x20of\x20items.\x20If\x20blank,\x20there\x20are\x20no\x20more\x20item\
7255    s.\n\n\r\n\x05\x04\x18\x02\x01\x05\x12\x04\x94\x07\x02\x08\n\r\n\x05\x04\
7256    \x18\x02\x01\x01\x12\x04\x94\x07\t\x18\n\r\n\x05\x04\x18\x02\x01\x03\x12\
7257    \x04\x94\x07\x1b\x1c\n\x8d\x01\n\x02\x04\x19\x12\x06\x99\x07\0\xa1\x07\
7258    \x01\x1a\x7f\x20Request\x20of\x20[GetGcpUserAccessBinding]\n\x20[google.\
7259    identity.accesscontextmanager.v1.AccessContextManager.GetGcpUserAccessBi\
7260    nding].\n\n\x0b\n\x03\x04\x19\x01\x12\x04\x99\x07\x08&\n[\n\x04\x04\x19\
7261    \x02\0\x12\x06\x9b\x07\x02\xa0\x07\x04\x1aK\x20Required.\x20Example:\x20\
7262    \"organizations/256/gcpUserAccessBindings/b3-BhcX_Ud5N\"\n\n\r\n\x05\x04\
7263    \x19\x02\0\x05\x12\x04\x9b\x07\x02\x08\n\r\n\x05\x04\x19\x02\0\x01\x12\
7264    \x04\x9b\x07\t\r\n\r\n\x05\x04\x19\x02\0\x03\x12\x04\x9b\x07\x10\x11\n\
7265    \x0f\n\x05\x04\x19\x02\0\x08\x12\x06\x9b\x07\x12\xa0\x07\x03\n\x10\n\x08\
7266    \x04\x19\x02\0\x08\x9c\x08\0\x12\x04\x9c\x07\x04*\n\x11\n\x07\x04\x19\
7267    \x02\0\x08\x9f\x08\x12\x06\x9d\x07\x04\x9f\x07\x05\n\x94\x01\n\x02\x04\
7268    \x1a\x12\x06\xa5\x07\0\xb1\x07\x01\x1a\x85\x01\x20Request\x20of\x20[Crea\
7269    teGcpUserAccessBinding]\n\x20[google.identity.accesscontextmanager.v1.Ac\
7270    cessContextManager.CreateGcpUserAccessBinding].\n\n\x0b\n\x03\x04\x1a\
7271    \x01\x12\x04\xa5\x07\x08)\n8\n\x04\x04\x1a\x02\0\x12\x06\xa7\x07\x02\xac\
7272    \x07\x04\x1a(\x20Required.\x20Example:\x20\"organizations/256\"\n\n\r\n\
7273    \x05\x04\x1a\x02\0\x05\x12\x04\xa7\x07\x02\x08\n\r\n\x05\x04\x1a\x02\0\
7274    \x01\x12\x04\xa7\x07\t\x0f\n\r\n\x05\x04\x1a\x02\0\x03\x12\x04\xa7\x07\
7275    \x12\x13\n\x0f\n\x05\x04\x1a\x02\0\x08\x12\x06\xa7\x07\x14\xac\x07\x03\n\
7276    \x10\n\x08\x04\x1a\x02\0\x08\x9c\x08\0\x12\x04\xa8\x07\x04*\n\x11\n\x07\
7277    \x04\x1a\x02\0\x08\x9f\x08\x12\x06\xa9\x07\x04\xab\x07\x05\np\n\x04\x04\
7278    \x1a\x02\x01\x12\x04\xb0\x07\x02\\\x1ab\x20Required.\x20[GcpUserAccessBi\
7279    nding]\n\x20[google.identity.accesscontextmanager.v1.GcpUserAccessBindin\
7280    g]\n\n\r\n\x05\x04\x1a\x02\x01\x06\x12\x04\xb0\x07\x02\x16\n\r\n\x05\x04\
7281    \x1a\x02\x01\x01\x12\x04\xb0\x07\x17.\n\r\n\x05\x04\x1a\x02\x01\x03\x12\
7282    \x04\xb0\x0712\n\r\n\x05\x04\x1a\x02\x01\x08\x12\x04\xb0\x073[\n\x10\n\
7283    \x08\x04\x1a\x02\x01\x08\x9c\x08\0\x12\x04\xb0\x074Z\n\x94\x01\n\x02\x04\
7284    \x1b\x12\x06\xb5\x07\0\xc1\x07\x01\x1a\x85\x01\x20Request\x20of\x20[Upda\
7285    teGcpUserAccessBinding]\n\x20[google.identity.accesscontextmanager.v1.Ac\
7286    cessContextManager.UpdateGcpUserAccessBinding].\n\n\x0b\n\x03\x04\x1b\
7287    \x01\x12\x04\xb5\x07\x08)\np\n\x04\x04\x1b\x02\0\x12\x04\xb8\x07\x02\\\
7288    \x1ab\x20Required.\x20[GcpUserAccessBinding]\n\x20[google.identity.acces\
7289    scontextmanager.v1.GcpUserAccessBinding]\n\n\r\n\x05\x04\x1b\x02\0\x06\
7290    \x12\x04\xb8\x07\x02\x16\n\r\n\x05\x04\x1b\x02\0\x01\x12\x04\xb8\x07\x17\
7291    .\n\r\n\x05\x04\x1b\x02\0\x03\x12\x04\xb8\x0712\n\r\n\x05\x04\x1b\x02\0\
7292    \x08\x12\x04\xb8\x073[\n\x10\n\x08\x04\x1b\x02\0\x08\x9c\x08\0\x12\x04\
7293    \xb8\x074Z\n\xd4\x01\n\x04\x04\x1b\x02\x01\x12\x04\xc0\x07\x02U\x1a\xc5\
7294    \x01\x20Required.\x20Only\x20the\x20fields\x20specified\x20in\x20this\
7295    \x20mask\x20are\x20updated.\x20Because\x20name\x20and\n\x20group_key\x20\
7296    cannot\x20be\x20changed,\x20update_mask\x20is\x20required\x20and\x20must\
7297    \x20always\x20be:\n\n\x20update_mask\x20{\n\x20paths:\x20\"access_levels\
7298    \"\n\x20}\n\n\r\n\x05\x04\x1b\x02\x01\x06\x12\x04\xc0\x07\x02\x1b\n\r\n\
7299    \x05\x04\x1b\x02\x01\x01\x12\x04\xc0\x07\x1c'\n\r\n\x05\x04\x1b\x02\x01\
7300    \x03\x12\x04\xc0\x07*+\n\r\n\x05\x04\x1b\x02\x01\x08\x12\x04\xc0\x07,T\n\
7301    \x10\n\x08\x04\x1b\x02\x01\x08\x9c\x08\0\x12\x04\xc0\x07-S\n\x94\x01\n\
7302    \x02\x04\x1c\x12\x06\xc5\x07\0\xcd\x07\x01\x1a\x85\x01\x20Request\x20of\
7303    \x20[DeleteGcpUserAccessBinding]\n\x20[google.identity.accesscontextmana\
7304    ger.v1.AccessContextManager.DeleteGcpUserAccessBinding].\n\n\x0b\n\x03\
7305    \x04\x1c\x01\x12\x04\xc5\x07\x08)\n[\n\x04\x04\x1c\x02\0\x12\x06\xc7\x07\
7306    \x02\xcc\x07\x04\x1aK\x20Required.\x20Example:\x20\"organizations/256/gc\
7307    pUserAccessBindings/b3-BhcX_Ud5N\"\n\n\r\n\x05\x04\x1c\x02\0\x05\x12\x04\
7308    \xc7\x07\x02\x08\n\r\n\x05\x04\x1c\x02\0\x01\x12\x04\xc7\x07\t\r\n\r\n\
7309    \x05\x04\x1c\x02\0\x03\x12\x04\xc7\x07\x10\x11\n\x0f\n\x05\x04\x1c\x02\0\
7310    \x08\x12\x06\xc7\x07\x12\xcc\x07\x03\n\x10\n\x08\x04\x1c\x02\0\x08\x9c\
7311    \x08\0\x12\x04\xc8\x07\x04*\n\x11\n\x07\x04\x1c\x02\0\x08\x9f\x08\x12\
7312    \x06\xc9\x07\x04\xcb\x07\x05\n\xd9\x01\n\x02\x04\x1d\x12\x06\xd2\x07\0\
7313    \xd4\x07\x01\x1a\xca\x01\x20Currently,\x20a\x20completed\x20operation\
7314    \x20means\x20nothing.\x20In\x20the\x20future,\x20this\x20metadata\n\x20a\
7315    nd\x20a\x20completed\x20operation\x20may\x20indicate\x20that\x20the\x20b\
7316    inding\x20has\x20taken\x20effect\x20and\n\x20is\x20affecting\x20access\
7317    \x20decisions\x20for\x20all\x20users.\n\n\x0b\n\x03\x04\x1d\x01\x12\x04\
7318    \xd2\x07\x08-\nM\n\x02\x04\x1e\x12\x06\xd7\x07\0\xd9\x07\x01\x1a?\x20Met\
7319    adata\x20of\x20Access\x20Context\x20Manager's\x20Long\x20Running\x20Oper\
7320    ations.\n\n\x0b\n\x03\x04\x1e\x01\x12\x04\xd7\x07\x08-b\x06proto3\
7321";
7322
7323static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
7324
7325fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
7326    ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
7327}
7328
7329pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
7330    file_descriptor_proto_lazy.get(|| {
7331        parse_descriptor_proto()
7332    })
7333}