google_cloud_rust_raw/api/
visibility.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/api/visibility.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 Visibility {
28    // message fields
29    pub rules: ::protobuf::RepeatedField<VisibilityRule>,
30    // special fields
31    pub unknown_fields: ::protobuf::UnknownFields,
32    pub cached_size: ::protobuf::CachedSize,
33}
34
35impl<'a> ::std::default::Default for &'a Visibility {
36    fn default() -> &'a Visibility {
37        <Visibility as ::protobuf::Message>::default_instance()
38    }
39}
40
41impl Visibility {
42    pub fn new() -> Visibility {
43        ::std::default::Default::default()
44    }
45
46    // repeated .google.api.VisibilityRule rules = 1;
47
48
49    pub fn get_rules(&self) -> &[VisibilityRule] {
50        &self.rules
51    }
52    pub fn clear_rules(&mut self) {
53        self.rules.clear();
54    }
55
56    // Param is passed by value, moved
57    pub fn set_rules(&mut self, v: ::protobuf::RepeatedField<VisibilityRule>) {
58        self.rules = v;
59    }
60
61    // Mutable pointer to the field.
62    pub fn mut_rules(&mut self) -> &mut ::protobuf::RepeatedField<VisibilityRule> {
63        &mut self.rules
64    }
65
66    // Take field
67    pub fn take_rules(&mut self) -> ::protobuf::RepeatedField<VisibilityRule> {
68        ::std::mem::replace(&mut self.rules, ::protobuf::RepeatedField::new())
69    }
70}
71
72impl ::protobuf::Message for Visibility {
73    fn is_initialized(&self) -> bool {
74        for v in &self.rules {
75            if !v.is_initialized() {
76                return false;
77            }
78        };
79        true
80    }
81
82    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
83        while !is.eof()? {
84            let (field_number, wire_type) = is.read_tag_unpack()?;
85            match field_number {
86                1 => {
87                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.rules)?;
88                },
89                _ => {
90                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
91                },
92            };
93        }
94        ::std::result::Result::Ok(())
95    }
96
97    // Compute sizes of nested messages
98    #[allow(unused_variables)]
99    fn compute_size(&self) -> u32 {
100        let mut my_size = 0;
101        for value in &self.rules {
102            let len = value.compute_size();
103            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
104        };
105        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
106        self.cached_size.set(my_size);
107        my_size
108    }
109
110    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
111        for v in &self.rules {
112            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
113            os.write_raw_varint32(v.get_cached_size())?;
114            v.write_to_with_cached_sizes(os)?;
115        };
116        os.write_unknown_fields(self.get_unknown_fields())?;
117        ::std::result::Result::Ok(())
118    }
119
120    fn get_cached_size(&self) -> u32 {
121        self.cached_size.get()
122    }
123
124    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
125        &self.unknown_fields
126    }
127
128    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
129        &mut self.unknown_fields
130    }
131
132    fn as_any(&self) -> &dyn (::std::any::Any) {
133        self as &dyn (::std::any::Any)
134    }
135    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
136        self as &mut dyn (::std::any::Any)
137    }
138    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
139        self
140    }
141
142    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
143        Self::descriptor_static()
144    }
145
146    fn new() -> Visibility {
147        Visibility::new()
148    }
149
150    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
151        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
152        descriptor.get(|| {
153            let mut fields = ::std::vec::Vec::new();
154            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<VisibilityRule>>(
155                "rules",
156                |m: &Visibility| { &m.rules },
157                |m: &mut Visibility| { &mut m.rules },
158            ));
159            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Visibility>(
160                "Visibility",
161                fields,
162                file_descriptor_proto()
163            )
164        })
165    }
166
167    fn default_instance() -> &'static Visibility {
168        static instance: ::protobuf::rt::LazyV2<Visibility> = ::protobuf::rt::LazyV2::INIT;
169        instance.get(Visibility::new)
170    }
171}
172
173impl ::protobuf::Clear for Visibility {
174    fn clear(&mut self) {
175        self.rules.clear();
176        self.unknown_fields.clear();
177    }
178}
179
180impl ::std::fmt::Debug for Visibility {
181    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
182        ::protobuf::text_format::fmt(self, f)
183    }
184}
185
186impl ::protobuf::reflect::ProtobufValue for Visibility {
187    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
188        ::protobuf::reflect::ReflectValueRef::Message(self)
189    }
190}
191
192#[derive(PartialEq,Clone,Default)]
193pub struct VisibilityRule {
194    // message fields
195    pub selector: ::std::string::String,
196    pub restriction: ::std::string::String,
197    // special fields
198    pub unknown_fields: ::protobuf::UnknownFields,
199    pub cached_size: ::protobuf::CachedSize,
200}
201
202impl<'a> ::std::default::Default for &'a VisibilityRule {
203    fn default() -> &'a VisibilityRule {
204        <VisibilityRule as ::protobuf::Message>::default_instance()
205    }
206}
207
208impl VisibilityRule {
209    pub fn new() -> VisibilityRule {
210        ::std::default::Default::default()
211    }
212
213    // string selector = 1;
214
215
216    pub fn get_selector(&self) -> &str {
217        &self.selector
218    }
219    pub fn clear_selector(&mut self) {
220        self.selector.clear();
221    }
222
223    // Param is passed by value, moved
224    pub fn set_selector(&mut self, v: ::std::string::String) {
225        self.selector = v;
226    }
227
228    // Mutable pointer to the field.
229    // If field is not initialized, it is initialized with default value first.
230    pub fn mut_selector(&mut self) -> &mut ::std::string::String {
231        &mut self.selector
232    }
233
234    // Take field
235    pub fn take_selector(&mut self) -> ::std::string::String {
236        ::std::mem::replace(&mut self.selector, ::std::string::String::new())
237    }
238
239    // string restriction = 2;
240
241
242    pub fn get_restriction(&self) -> &str {
243        &self.restriction
244    }
245    pub fn clear_restriction(&mut self) {
246        self.restriction.clear();
247    }
248
249    // Param is passed by value, moved
250    pub fn set_restriction(&mut self, v: ::std::string::String) {
251        self.restriction = v;
252    }
253
254    // Mutable pointer to the field.
255    // If field is not initialized, it is initialized with default value first.
256    pub fn mut_restriction(&mut self) -> &mut ::std::string::String {
257        &mut self.restriction
258    }
259
260    // Take field
261    pub fn take_restriction(&mut self) -> ::std::string::String {
262        ::std::mem::replace(&mut self.restriction, ::std::string::String::new())
263    }
264}
265
266impl ::protobuf::Message for VisibilityRule {
267    fn is_initialized(&self) -> bool {
268        true
269    }
270
271    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
272        while !is.eof()? {
273            let (field_number, wire_type) = is.read_tag_unpack()?;
274            match field_number {
275                1 => {
276                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.selector)?;
277                },
278                2 => {
279                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.restriction)?;
280                },
281                _ => {
282                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
283                },
284            };
285        }
286        ::std::result::Result::Ok(())
287    }
288
289    // Compute sizes of nested messages
290    #[allow(unused_variables)]
291    fn compute_size(&self) -> u32 {
292        let mut my_size = 0;
293        if !self.selector.is_empty() {
294            my_size += ::protobuf::rt::string_size(1, &self.selector);
295        }
296        if !self.restriction.is_empty() {
297            my_size += ::protobuf::rt::string_size(2, &self.restriction);
298        }
299        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
300        self.cached_size.set(my_size);
301        my_size
302    }
303
304    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
305        if !self.selector.is_empty() {
306            os.write_string(1, &self.selector)?;
307        }
308        if !self.restriction.is_empty() {
309            os.write_string(2, &self.restriction)?;
310        }
311        os.write_unknown_fields(self.get_unknown_fields())?;
312        ::std::result::Result::Ok(())
313    }
314
315    fn get_cached_size(&self) -> u32 {
316        self.cached_size.get()
317    }
318
319    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
320        &self.unknown_fields
321    }
322
323    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
324        &mut self.unknown_fields
325    }
326
327    fn as_any(&self) -> &dyn (::std::any::Any) {
328        self as &dyn (::std::any::Any)
329    }
330    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
331        self as &mut dyn (::std::any::Any)
332    }
333    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
334        self
335    }
336
337    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
338        Self::descriptor_static()
339    }
340
341    fn new() -> VisibilityRule {
342        VisibilityRule::new()
343    }
344
345    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
346        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
347        descriptor.get(|| {
348            let mut fields = ::std::vec::Vec::new();
349            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
350                "selector",
351                |m: &VisibilityRule| { &m.selector },
352                |m: &mut VisibilityRule| { &mut m.selector },
353            ));
354            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
355                "restriction",
356                |m: &VisibilityRule| { &m.restriction },
357                |m: &mut VisibilityRule| { &mut m.restriction },
358            ));
359            ::protobuf::reflect::MessageDescriptor::new_pb_name::<VisibilityRule>(
360                "VisibilityRule",
361                fields,
362                file_descriptor_proto()
363            )
364        })
365    }
366
367    fn default_instance() -> &'static VisibilityRule {
368        static instance: ::protobuf::rt::LazyV2<VisibilityRule> = ::protobuf::rt::LazyV2::INIT;
369        instance.get(VisibilityRule::new)
370    }
371}
372
373impl ::protobuf::Clear for VisibilityRule {
374    fn clear(&mut self) {
375        self.selector.clear();
376        self.restriction.clear();
377        self.unknown_fields.clear();
378    }
379}
380
381impl ::std::fmt::Debug for VisibilityRule {
382    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
383        ::protobuf::text_format::fmt(self, f)
384    }
385}
386
387impl ::protobuf::reflect::ProtobufValue for VisibilityRule {
388    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
389        ::protobuf::reflect::ReflectValueRef::Message(self)
390    }
391}
392
393/// Extension fields
394pub mod exts {
395
396    pub const enum_visibility: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumOptions, ::protobuf::types::ProtobufTypeMessage<super::VisibilityRule>> = ::protobuf::ext::ExtFieldOptional { field_number: 72295727, phantom: ::std::marker::PhantomData };
397
398    pub const value_visibility: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::EnumValueOptions, ::protobuf::types::ProtobufTypeMessage<super::VisibilityRule>> = ::protobuf::ext::ExtFieldOptional { field_number: 72295727, phantom: ::std::marker::PhantomData };
399
400    pub const field_visibility: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::FieldOptions, ::protobuf::types::ProtobufTypeMessage<super::VisibilityRule>> = ::protobuf::ext::ExtFieldOptional { field_number: 72295727, phantom: ::std::marker::PhantomData };
401
402    pub const message_visibility: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::MessageOptions, ::protobuf::types::ProtobufTypeMessage<super::VisibilityRule>> = ::protobuf::ext::ExtFieldOptional { field_number: 72295727, phantom: ::std::marker::PhantomData };
403
404    pub const method_visibility: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::MethodOptions, ::protobuf::types::ProtobufTypeMessage<super::VisibilityRule>> = ::protobuf::ext::ExtFieldOptional { field_number: 72295727, phantom: ::std::marker::PhantomData };
405
406    pub const api_visibility: ::protobuf::ext::ExtFieldOptional<::protobuf::descriptor::ServiceOptions, ::protobuf::types::ProtobufTypeMessage<super::VisibilityRule>> = ::protobuf::ext::ExtFieldOptional { field_number: 72295727, phantom: ::std::marker::PhantomData };
407}
408
409static file_descriptor_proto_data: &'static [u8] = b"\
410    \n\x1bgoogle/api/visibility.proto\x12\ngoogle.api\x1a\x20google/protobuf\
411    /descriptor.proto\">\n\nVisibility\x120\n\x05rules\x18\x01\x20\x03(\x0b2\
412    \x1a.google.api.VisibilityRuleR\x05rules\"N\n\x0eVisibilityRule\x12\x1a\
413    \n\x08selector\x18\x01\x20\x01(\tR\x08selector\x12\x20\n\x0brestriction\
414    \x18\x02\x20\x01(\tR\x0brestriction:d\n\x0fenum_visibility\x18\xaf\xca\
415    \xbc\"\x20\x01(\x0b2\x1a.google.api.VisibilityRule\x12\x1c.google.protob\
416    uf.EnumOptionsR\x0eenumVisibility:k\n\x10value_visibility\x18\xaf\xca\
417    \xbc\"\x20\x01(\x0b2\x1a.google.api.VisibilityRule\x12!.google.protobuf.\
418    EnumValueOptionsR\x0fvalueVisibility:g\n\x10field_visibility\x18\xaf\xca\
419    \xbc\"\x20\x01(\x0b2\x1a.google.api.VisibilityRule\x12\x1d.google.protob\
420    uf.FieldOptionsR\x0ffieldVisibility:m\n\x12message_visibility\x18\xaf\
421    \xca\xbc\"\x20\x01(\x0b2\x1a.google.api.VisibilityRule\x12\x1f.google.pr\
422    otobuf.MessageOptionsR\x11messageVisibility:j\n\x11method_visibility\x18\
423    \xaf\xca\xbc\"\x20\x01(\x0b2\x1a.google.api.VisibilityRule\x12\x1e.googl\
424    e.protobuf.MethodOptionsR\x10methodVisibility:e\n\x0eapi_visibility\x18\
425    \xaf\xca\xbc\"\x20\x01(\x0b2\x1a.google.api.VisibilityRule\x12\x1f.googl\
426    e.protobuf.ServiceOptionsR\rapiVisibilityBn\n\x0ecom.google.apiB\x0fVisi\
427    bilityProtoP\x01Z?google.golang.org/genproto/googleapis/api/visibility;v\
428    isibility\xf8\x01\x01\xa2\x02\x04GAPIJ\x9e\x1a\n\x06\x12\x04\x0e\0p\x01\
429    \n\xbc\x04\n\x01\x0c\x12\x03\x0e\0\x122\xb1\x04\x20Copyright\x202023\x20\
430    Google\x20LLC\n\n\x20Licensed\x20under\x20the\x20Apache\x20License,\x20V\
431    ersion\x202.0\x20(the\x20\"License\");\n\x20you\x20may\x20not\x20use\x20\
432    this\x20file\x20except\x20in\x20compliance\x20with\x20the\x20License.\n\
433    \x20You\x20may\x20obtain\x20a\x20copy\x20of\x20the\x20License\x20at\n\n\
434    \x20\x20\x20\x20\x20http://www.apache.org/licenses/LICENSE-2.0\n\n\x20Un\
435    less\x20required\x20by\x20applicable\x20law\x20or\x20agreed\x20to\x20in\
436    \x20writing,\x20software\n\x20distributed\x20under\x20the\x20License\x20\
437    is\x20distributed\x20on\x20an\x20\"AS\x20IS\"\x20BASIS,\n\x20WITHOUT\x20\
438    WARRANTIES\x20OR\x20CONDITIONS\x20OF\x20ANY\x20KIND,\x20either\x20expres\
439    s\x20or\x20implied.\n\x20See\x20the\x20License\x20for\x20the\x20specific\
440    \x20language\x20governing\x20permissions\x20and\n\x20limitations\x20unde\
441    r\x20the\x20License.\n\n\x08\n\x01\x02\x12\x03\x10\0\x13\n\t\n\x02\x03\0\
442    \x12\x03\x12\0*\n\x08\n\x01\x08\x12\x03\x14\0\x1f\n\t\n\x02\x08\x1f\x12\
443    \x03\x14\0\x1f\n\x08\n\x01\x08\x12\x03\x15\0V\n\t\n\x02\x08\x0b\x12\x03\
444    \x15\0V\n\x08\n\x01\x08\x12\x03\x16\0\"\n\t\n\x02\x08\n\x12\x03\x16\0\"\
445    \n\x08\n\x01\x08\x12\x03\x17\00\n\t\n\x02\x08\x08\x12\x03\x17\00\n\x08\n\
446    \x01\x08\x12\x03\x18\0'\n\t\n\x02\x08\x01\x12\x03\x18\0'\n\x08\n\x01\x08\
447    \x12\x03\x19\0\"\n\t\n\x02\x08$\x12\x03\x19\0\"\n\t\n\x01\x07\x12\x04\
448    \x1b\0\x1e\x01\n\"\n\x02\x07\0\x12\x03\x1d\x027\x1a\x17\x20See\x20`Visib\
449    ilityRule`.\n\n\n\n\x03\x07\0\x02\x12\x03\x1b\x07\"\n\n\n\x03\x07\0\x06\
450    \x12\x03\x1d\x02\x1b\n\n\n\x03\x07\0\x01\x12\x03\x1d\x1c+\n\n\n\x03\x07\
451    \0\x03\x12\x03\x1d.6\n\t\n\x01\x07\x12\x04\x20\0#\x01\n\"\n\x02\x07\x01\
452    \x12\x03\"\x028\x1a\x17\x20See\x20`VisibilityRule`.\n\n\n\n\x03\x07\x01\
453    \x02\x12\x03\x20\x07'\n\n\n\x03\x07\x01\x06\x12\x03\"\x02\x1b\n\n\n\x03\
454    \x07\x01\x01\x12\x03\"\x1c,\n\n\n\x03\x07\x01\x03\x12\x03\"/7\n\t\n\x01\
455    \x07\x12\x04%\0(\x01\n\"\n\x02\x07\x02\x12\x03'\x028\x1a\x17\x20See\x20`\
456    VisibilityRule`.\n\n\n\n\x03\x07\x02\x02\x12\x03%\x07#\n\n\n\x03\x07\x02\
457    \x06\x12\x03'\x02\x1b\n\n\n\x03\x07\x02\x01\x12\x03'\x1c,\n\n\n\x03\x07\
458    \x02\x03\x12\x03'/7\n\t\n\x01\x07\x12\x04*\0-\x01\n\"\n\x02\x07\x03\x12\
459    \x03,\x02:\x1a\x17\x20See\x20`VisibilityRule`.\n\n\n\n\x03\x07\x03\x02\
460    \x12\x03*\x07%\n\n\n\x03\x07\x03\x06\x12\x03,\x02\x1b\n\n\n\x03\x07\x03\
461    \x01\x12\x03,\x1c.\n\n\n\x03\x07\x03\x03\x12\x03,19\n\t\n\x01\x07\x12\
462    \x04/\02\x01\n\"\n\x02\x07\x04\x12\x031\x029\x1a\x17\x20See\x20`Visibili\
463    tyRule`.\n\n\n\n\x03\x07\x04\x02\x12\x03/\x07$\n\n\n\x03\x07\x04\x06\x12\
464    \x031\x02\x1b\n\n\n\x03\x07\x04\x01\x12\x031\x1c-\n\n\n\x03\x07\x04\x03\
465    \x12\x03108\n\t\n\x01\x07\x12\x044\07\x01\n\"\n\x02\x07\x05\x12\x036\x02\
466    6\x1a\x17\x20See\x20`VisibilityRule`.\n\n\n\n\x03\x07\x05\x02\x12\x034\
467    \x07%\n\n\n\x03\x07\x05\x06\x12\x036\x02\x1b\n\n\n\x03\x07\x05\x01\x12\
468    \x036\x1c*\n\n\n\x03\x07\x05\x03\x12\x036-5\n\xa3\x07\n\x02\x04\0\x12\
469    \x04P\0U\x01\x1a\x96\x07\x20`Visibility`\x20restricts\x20service\x20cons\
470    umer's\x20access\x20to\x20service\x20elements,\n\x20such\x20as\x20whethe\
471    r\x20an\x20application\x20can\x20call\x20a\x20visibility-restricted\x20m\
472    ethod.\n\x20The\x20restriction\x20is\x20expressed\x20by\x20applying\x20v\
473    isibility\x20labels\x20on\x20service\n\x20elements.\x20The\x20visibility\
474    \x20labels\x20are\x20elsewhere\x20linked\x20to\x20service\x20consumers.\
475    \n\n\x20A\x20service\x20can\x20define\x20multiple\x20visibility\x20label\
476    s,\x20but\x20a\x20service\x20consumer\n\x20should\x20be\x20granted\x20at\
477    \x20most\x20one\x20visibility\x20label.\x20Multiple\x20visibility\n\x20l\
478    abels\x20for\x20a\x20single\x20service\x20consumer\x20are\x20not\x20supp\
479    orted.\n\n\x20If\x20an\x20element\x20and\x20all\x20its\x20parents\x20hav\
480    e\x20no\x20visibility\x20label,\x20its\x20visibility\n\x20is\x20uncondit\
481    ionally\x20granted.\n\n\x20Example:\n\n\x20\x20\x20\x20\x20visibility:\n\
482    \x20\x20\x20\x20\x20\x20\x20rules:\n\x20\x20\x20\x20\x20\x20\x20-\x20sel\
483    ector:\x20google.calendar.Calendar.EnhancedSearch\n\x20\x20\x20\x20\x20\
484    \x20\x20\x20\x20restriction:\x20PREVIEW\n\x20\x20\x20\x20\x20\x20\x20-\
485    \x20selector:\x20google.calendar.Calendar.Delegate\n\x20\x20\x20\x20\x20\
486    \x20\x20\x20\x20restriction:\x20INTERNAL\n\n\x20Here,\x20all\x20methods\
487    \x20are\x20publicly\x20visible\x20except\x20for\x20the\x20restricted\x20\
488    methods\n\x20EnhancedSearch\x20and\x20Delegate.\n\n\n\n\x03\x04\0\x01\
489    \x12\x03P\x08\x12\n\x9b\x01\n\x04\x04\0\x02\0\x12\x03T\x02$\x1a\x8d\x01\
490    \x20A\x20list\x20of\x20visibility\x20rules\x20that\x20apply\x20to\x20ind\
491    ividual\x20API\x20elements.\n\n\x20**NOTE:**\x20All\x20service\x20config\
492    uration\x20rules\x20follow\x20\"last\x20one\x20wins\"\x20order.\n\n\x0c\
493    \n\x05\x04\0\x02\0\x04\x12\x03T\x02\n\n\x0c\n\x05\x04\0\x02\0\x06\x12\
494    \x03T\x0b\x19\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03T\x1a\x1f\n\x0c\n\x05\
495    \x04\0\x02\0\x03\x12\x03T\"#\na\n\x02\x04\x01\x12\x04Y\0p\x01\x1aU\x20A\
496    \x20visibility\x20rule\x20provides\x20visibility\x20configuration\x20for\
497    \x20an\x20individual\x20API\n\x20element.\n\n\n\n\x03\x04\x01\x01\x12\
498    \x03Y\x08\x16\n\xac\x01\n\x04\x04\x01\x02\0\x12\x03^\x02\x16\x1a\x9e\x01\
499    \x20Selects\x20methods,\x20messages,\x20fields,\x20enums,\x20etc.\x20to\
500    \x20which\x20this\x20rule\x20applies.\n\n\x20Refer\x20to\x20[selector][g\
501    oogle.api.DocumentationRule.selector]\x20for\x20syntax\n\x20details.\n\n\
502    \x0c\n\x05\x04\x01\x02\0\x05\x12\x03^\x02\x08\n\x0c\n\x05\x04\x01\x02\0\
503    \x01\x12\x03^\t\x11\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03^\x14\x15\n\x8d\
504    \x04\n\x04\x04\x01\x02\x01\x12\x03o\x02\x19\x1a\xff\x03\x20A\x20comma-se\
505    parated\x20list\x20of\x20visibility\x20labels\x20that\x20apply\x20to\x20\
506    the\x20`selector`.\n\x20Any\x20of\x20the\x20listed\x20labels\x20can\x20b\
507    e\x20used\x20to\x20grant\x20the\x20visibility.\n\n\x20If\x20a\x20rule\
508    \x20has\x20multiple\x20labels,\x20removing\x20one\x20of\x20the\x20labels\
509    \x20but\x20not\x20all\x20of\n\x20them\x20can\x20break\x20clients.\n\n\
510    \x20Example:\n\n\x20\x20\x20\x20\x20visibility:\n\x20\x20\x20\x20\x20\
511    \x20\x20rules:\n\x20\x20\x20\x20\x20\x20\x20-\x20selector:\x20google.cal\
512    endar.Calendar.EnhancedSearch\n\x20\x20\x20\x20\x20\x20\x20\x20\x20restr\
513    iction:\x20INTERNAL,\x20PREVIEW\n\n\x20Removing\x20INTERNAL\x20from\x20t\
514    his\x20restriction\x20will\x20break\x20clients\x20that\x20rely\x20on\n\
515    \x20this\x20method\x20and\x20only\x20had\x20access\x20to\x20it\x20throug\
516    h\x20INTERNAL.\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03o\x02\x08\n\x0c\
517    \n\x05\x04\x01\x02\x01\x01\x12\x03o\t\x14\n\x0c\n\x05\x04\x01\x02\x01\
518    \x03\x12\x03o\x17\x18b\x06proto3\
519";
520
521static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
522
523fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
524    ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
525}
526
527pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
528    file_descriptor_proto_lazy.get(|| {
529        parse_descriptor_proto()
530    })
531}