google_cloud_rust_raw/api/
usage.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/usage.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 Usage {
28    // message fields
29    pub requirements: ::protobuf::RepeatedField<::std::string::String>,
30    pub rules: ::protobuf::RepeatedField<UsageRule>,
31    pub producer_notification_channel: ::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 Usage {
38    fn default() -> &'a Usage {
39        <Usage as ::protobuf::Message>::default_instance()
40    }
41}
42
43impl Usage {
44    pub fn new() -> Usage {
45        ::std::default::Default::default()
46    }
47
48    // repeated string requirements = 1;
49
50
51    pub fn get_requirements(&self) -> &[::std::string::String] {
52        &self.requirements
53    }
54    pub fn clear_requirements(&mut self) {
55        self.requirements.clear();
56    }
57
58    // Param is passed by value, moved
59    pub fn set_requirements(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
60        self.requirements = v;
61    }
62
63    // Mutable pointer to the field.
64    pub fn mut_requirements(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
65        &mut self.requirements
66    }
67
68    // Take field
69    pub fn take_requirements(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
70        ::std::mem::replace(&mut self.requirements, ::protobuf::RepeatedField::new())
71    }
72
73    // repeated .google.api.UsageRule rules = 6;
74
75
76    pub fn get_rules(&self) -> &[UsageRule] {
77        &self.rules
78    }
79    pub fn clear_rules(&mut self) {
80        self.rules.clear();
81    }
82
83    // Param is passed by value, moved
84    pub fn set_rules(&mut self, v: ::protobuf::RepeatedField<UsageRule>) {
85        self.rules = v;
86    }
87
88    // Mutable pointer to the field.
89    pub fn mut_rules(&mut self) -> &mut ::protobuf::RepeatedField<UsageRule> {
90        &mut self.rules
91    }
92
93    // Take field
94    pub fn take_rules(&mut self) -> ::protobuf::RepeatedField<UsageRule> {
95        ::std::mem::replace(&mut self.rules, ::protobuf::RepeatedField::new())
96    }
97
98    // string producer_notification_channel = 7;
99
100
101    pub fn get_producer_notification_channel(&self) -> &str {
102        &self.producer_notification_channel
103    }
104    pub fn clear_producer_notification_channel(&mut self) {
105        self.producer_notification_channel.clear();
106    }
107
108    // Param is passed by value, moved
109    pub fn set_producer_notification_channel(&mut self, v: ::std::string::String) {
110        self.producer_notification_channel = v;
111    }
112
113    // Mutable pointer to the field.
114    // If field is not initialized, it is initialized with default value first.
115    pub fn mut_producer_notification_channel(&mut self) -> &mut ::std::string::String {
116        &mut self.producer_notification_channel
117    }
118
119    // Take field
120    pub fn take_producer_notification_channel(&mut self) -> ::std::string::String {
121        ::std::mem::replace(&mut self.producer_notification_channel, ::std::string::String::new())
122    }
123}
124
125impl ::protobuf::Message for Usage {
126    fn is_initialized(&self) -> bool {
127        for v in &self.rules {
128            if !v.is_initialized() {
129                return false;
130            }
131        };
132        true
133    }
134
135    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
136        while !is.eof()? {
137            let (field_number, wire_type) = is.read_tag_unpack()?;
138            match field_number {
139                1 => {
140                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.requirements)?;
141                },
142                6 => {
143                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.rules)?;
144                },
145                7 => {
146                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.producer_notification_channel)?;
147                },
148                _ => {
149                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
150                },
151            };
152        }
153        ::std::result::Result::Ok(())
154    }
155
156    // Compute sizes of nested messages
157    #[allow(unused_variables)]
158    fn compute_size(&self) -> u32 {
159        let mut my_size = 0;
160        for value in &self.requirements {
161            my_size += ::protobuf::rt::string_size(1, &value);
162        };
163        for value in &self.rules {
164            let len = value.compute_size();
165            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
166        };
167        if !self.producer_notification_channel.is_empty() {
168            my_size += ::protobuf::rt::string_size(7, &self.producer_notification_channel);
169        }
170        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
171        self.cached_size.set(my_size);
172        my_size
173    }
174
175    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
176        for v in &self.requirements {
177            os.write_string(1, &v)?;
178        };
179        for v in &self.rules {
180            os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
181            os.write_raw_varint32(v.get_cached_size())?;
182            v.write_to_with_cached_sizes(os)?;
183        };
184        if !self.producer_notification_channel.is_empty() {
185            os.write_string(7, &self.producer_notification_channel)?;
186        }
187        os.write_unknown_fields(self.get_unknown_fields())?;
188        ::std::result::Result::Ok(())
189    }
190
191    fn get_cached_size(&self) -> u32 {
192        self.cached_size.get()
193    }
194
195    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
196        &self.unknown_fields
197    }
198
199    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
200        &mut self.unknown_fields
201    }
202
203    fn as_any(&self) -> &dyn (::std::any::Any) {
204        self as &dyn (::std::any::Any)
205    }
206    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
207        self as &mut dyn (::std::any::Any)
208    }
209    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
210        self
211    }
212
213    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
214        Self::descriptor_static()
215    }
216
217    fn new() -> Usage {
218        Usage::new()
219    }
220
221    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
222        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
223        descriptor.get(|| {
224            let mut fields = ::std::vec::Vec::new();
225            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
226                "requirements",
227                |m: &Usage| { &m.requirements },
228                |m: &mut Usage| { &mut m.requirements },
229            ));
230            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<UsageRule>>(
231                "rules",
232                |m: &Usage| { &m.rules },
233                |m: &mut Usage| { &mut m.rules },
234            ));
235            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
236                "producer_notification_channel",
237                |m: &Usage| { &m.producer_notification_channel },
238                |m: &mut Usage| { &mut m.producer_notification_channel },
239            ));
240            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Usage>(
241                "Usage",
242                fields,
243                file_descriptor_proto()
244            )
245        })
246    }
247
248    fn default_instance() -> &'static Usage {
249        static instance: ::protobuf::rt::LazyV2<Usage> = ::protobuf::rt::LazyV2::INIT;
250        instance.get(Usage::new)
251    }
252}
253
254impl ::protobuf::Clear for Usage {
255    fn clear(&mut self) {
256        self.requirements.clear();
257        self.rules.clear();
258        self.producer_notification_channel.clear();
259        self.unknown_fields.clear();
260    }
261}
262
263impl ::std::fmt::Debug for Usage {
264    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
265        ::protobuf::text_format::fmt(self, f)
266    }
267}
268
269impl ::protobuf::reflect::ProtobufValue for Usage {
270    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
271        ::protobuf::reflect::ReflectValueRef::Message(self)
272    }
273}
274
275#[derive(PartialEq,Clone,Default)]
276pub struct UsageRule {
277    // message fields
278    pub selector: ::std::string::String,
279    pub allow_unregistered_calls: bool,
280    pub skip_service_control: bool,
281    // special fields
282    pub unknown_fields: ::protobuf::UnknownFields,
283    pub cached_size: ::protobuf::CachedSize,
284}
285
286impl<'a> ::std::default::Default for &'a UsageRule {
287    fn default() -> &'a UsageRule {
288        <UsageRule as ::protobuf::Message>::default_instance()
289    }
290}
291
292impl UsageRule {
293    pub fn new() -> UsageRule {
294        ::std::default::Default::default()
295    }
296
297    // string selector = 1;
298
299
300    pub fn get_selector(&self) -> &str {
301        &self.selector
302    }
303    pub fn clear_selector(&mut self) {
304        self.selector.clear();
305    }
306
307    // Param is passed by value, moved
308    pub fn set_selector(&mut self, v: ::std::string::String) {
309        self.selector = v;
310    }
311
312    // Mutable pointer to the field.
313    // If field is not initialized, it is initialized with default value first.
314    pub fn mut_selector(&mut self) -> &mut ::std::string::String {
315        &mut self.selector
316    }
317
318    // Take field
319    pub fn take_selector(&mut self) -> ::std::string::String {
320        ::std::mem::replace(&mut self.selector, ::std::string::String::new())
321    }
322
323    // bool allow_unregistered_calls = 2;
324
325
326    pub fn get_allow_unregistered_calls(&self) -> bool {
327        self.allow_unregistered_calls
328    }
329    pub fn clear_allow_unregistered_calls(&mut self) {
330        self.allow_unregistered_calls = false;
331    }
332
333    // Param is passed by value, moved
334    pub fn set_allow_unregistered_calls(&mut self, v: bool) {
335        self.allow_unregistered_calls = v;
336    }
337
338    // bool skip_service_control = 3;
339
340
341    pub fn get_skip_service_control(&self) -> bool {
342        self.skip_service_control
343    }
344    pub fn clear_skip_service_control(&mut self) {
345        self.skip_service_control = false;
346    }
347
348    // Param is passed by value, moved
349    pub fn set_skip_service_control(&mut self, v: bool) {
350        self.skip_service_control = v;
351    }
352}
353
354impl ::protobuf::Message for UsageRule {
355    fn is_initialized(&self) -> bool {
356        true
357    }
358
359    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
360        while !is.eof()? {
361            let (field_number, wire_type) = is.read_tag_unpack()?;
362            match field_number {
363                1 => {
364                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.selector)?;
365                },
366                2 => {
367                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
368                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
369                    }
370                    let tmp = is.read_bool()?;
371                    self.allow_unregistered_calls = tmp;
372                },
373                3 => {
374                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
375                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
376                    }
377                    let tmp = is.read_bool()?;
378                    self.skip_service_control = tmp;
379                },
380                _ => {
381                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
382                },
383            };
384        }
385        ::std::result::Result::Ok(())
386    }
387
388    // Compute sizes of nested messages
389    #[allow(unused_variables)]
390    fn compute_size(&self) -> u32 {
391        let mut my_size = 0;
392        if !self.selector.is_empty() {
393            my_size += ::protobuf::rt::string_size(1, &self.selector);
394        }
395        if self.allow_unregistered_calls != false {
396            my_size += 2;
397        }
398        if self.skip_service_control != false {
399            my_size += 2;
400        }
401        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
402        self.cached_size.set(my_size);
403        my_size
404    }
405
406    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
407        if !self.selector.is_empty() {
408            os.write_string(1, &self.selector)?;
409        }
410        if self.allow_unregistered_calls != false {
411            os.write_bool(2, self.allow_unregistered_calls)?;
412        }
413        if self.skip_service_control != false {
414            os.write_bool(3, self.skip_service_control)?;
415        }
416        os.write_unknown_fields(self.get_unknown_fields())?;
417        ::std::result::Result::Ok(())
418    }
419
420    fn get_cached_size(&self) -> u32 {
421        self.cached_size.get()
422    }
423
424    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
425        &self.unknown_fields
426    }
427
428    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
429        &mut self.unknown_fields
430    }
431
432    fn as_any(&self) -> &dyn (::std::any::Any) {
433        self as &dyn (::std::any::Any)
434    }
435    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
436        self as &mut dyn (::std::any::Any)
437    }
438    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
439        self
440    }
441
442    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
443        Self::descriptor_static()
444    }
445
446    fn new() -> UsageRule {
447        UsageRule::new()
448    }
449
450    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
451        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
452        descriptor.get(|| {
453            let mut fields = ::std::vec::Vec::new();
454            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
455                "selector",
456                |m: &UsageRule| { &m.selector },
457                |m: &mut UsageRule| { &mut m.selector },
458            ));
459            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
460                "allow_unregistered_calls",
461                |m: &UsageRule| { &m.allow_unregistered_calls },
462                |m: &mut UsageRule| { &mut m.allow_unregistered_calls },
463            ));
464            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
465                "skip_service_control",
466                |m: &UsageRule| { &m.skip_service_control },
467                |m: &mut UsageRule| { &mut m.skip_service_control },
468            ));
469            ::protobuf::reflect::MessageDescriptor::new_pb_name::<UsageRule>(
470                "UsageRule",
471                fields,
472                file_descriptor_proto()
473            )
474        })
475    }
476
477    fn default_instance() -> &'static UsageRule {
478        static instance: ::protobuf::rt::LazyV2<UsageRule> = ::protobuf::rt::LazyV2::INIT;
479        instance.get(UsageRule::new)
480    }
481}
482
483impl ::protobuf::Clear for UsageRule {
484    fn clear(&mut self) {
485        self.selector.clear();
486        self.allow_unregistered_calls = false;
487        self.skip_service_control = false;
488        self.unknown_fields.clear();
489    }
490}
491
492impl ::std::fmt::Debug for UsageRule {
493    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
494        ::protobuf::text_format::fmt(self, f)
495    }
496}
497
498impl ::protobuf::reflect::ProtobufValue for UsageRule {
499    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
500        ::protobuf::reflect::ReflectValueRef::Message(self)
501    }
502}
503
504static file_descriptor_proto_data: &'static [u8] = b"\
505    \n\x16google/api/usage.proto\x12\ngoogle.api\"\x9c\x01\n\x05Usage\x12\"\
506    \n\x0crequirements\x18\x01\x20\x03(\tR\x0crequirements\x12+\n\x05rules\
507    \x18\x06\x20\x03(\x0b2\x15.google.api.UsageRuleR\x05rules\x12B\n\x1dprod\
508    ucer_notification_channel\x18\x07\x20\x01(\tR\x1bproducerNotificationCha\
509    nnel\"\x93\x01\n\tUsageRule\x12\x1a\n\x08selector\x18\x01\x20\x01(\tR\
510    \x08selector\x128\n\x18allow_unregistered_calls\x18\x02\x20\x01(\x08R\
511    \x16allowUnregisteredCalls\x120\n\x14skip_service_control\x18\x03\x20\
512    \x01(\x08R\x12skipServiceControlBl\n\x0ecom.google.apiB\nUsageProtoP\x01\
513    ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\
514    \xa2\x02\x04GAPIJ\xa0\x1c\n\x06\x12\x04\x0e\0_\x01\n\xbc\x04\n\x01\x0c\
515    \x12\x03\x0e\0\x122\xb1\x04\x20Copyright\x202023\x20Google\x20LLC\n\n\
516    \x20Licensed\x20under\x20the\x20Apache\x20License,\x20Version\x202.0\x20\
517    (the\x20\"License\");\n\x20you\x20may\x20not\x20use\x20this\x20file\x20e\
518    xcept\x20in\x20compliance\x20with\x20the\x20License.\n\x20You\x20may\x20\
519    obtain\x20a\x20copy\x20of\x20the\x20License\x20at\n\n\x20\x20\x20\x20\
520    \x20http://www.apache.org/licenses/LICENSE-2.0\n\n\x20Unless\x20required\
521    \x20by\x20applicable\x20law\x20or\x20agreed\x20to\x20in\x20writing,\x20s\
522    oftware\n\x20distributed\x20under\x20the\x20License\x20is\x20distributed\
523    \x20on\x20an\x20\"AS\x20IS\"\x20BASIS,\n\x20WITHOUT\x20WARRANTIES\x20OR\
524    \x20CONDITIONS\x20OF\x20ANY\x20KIND,\x20either\x20express\x20or\x20impli\
525    ed.\n\x20See\x20the\x20License\x20for\x20the\x20specific\x20language\x20\
526    governing\x20permissions\x20and\n\x20limitations\x20under\x20the\x20Lice\
527    nse.\n\n\x08\n\x01\x02\x12\x03\x10\0\x13\n\x08\n\x01\x08\x12\x03\x12\0\\\
528    \n\t\n\x02\x08\x0b\x12\x03\x12\0\\\n\x08\n\x01\x08\x12\x03\x13\0\"\n\t\n\
529    \x02\x08\n\x12\x03\x13\0\"\n\x08\n\x01\x08\x12\x03\x14\0+\n\t\n\x02\x08\
530    \x08\x12\x03\x14\0+\n\x08\n\x01\x08\x12\x03\x15\0'\n\t\n\x02\x08\x01\x12\
531    \x03\x15\0'\n\x08\n\x01\x08\x12\x03\x16\0\"\n\t\n\x02\x08$\x12\x03\x16\0\
532    \"\n;\n\x02\x04\0\x12\x04\x19\03\x01\x1a/\x20Configuration\x20controllin\
533    g\x20usage\x20of\x20a\x20service.\n\n\n\n\x03\x04\0\x01\x12\x03\x19\x08\
534    \r\n\xff\x03\n\x04\x04\0\x02\0\x12\x03#\x02#\x1a\xf1\x03\x20Requirements\
535    \x20that\x20must\x20be\x20satisfied\x20before\x20a\x20consumer\x20projec\
536    t\x20can\x20use\x20the\n\x20service.\x20Each\x20requirement\x20is\x20of\
537    \x20the\x20form\x20<service.name>/<requirement-id>;\n\x20for\x20example\
538    \x20'serviceusage.googleapis.com/billing-enabled'.\n\n\x20For\x20Google\
539    \x20APIs,\x20a\x20Terms\x20of\x20Service\x20requirement\x20must\x20be\
540    \x20included\x20here.\n\x20Google\x20Cloud\x20APIs\x20must\x20include\
541    \x20\"serviceusage.googleapis.com/tos/cloud\".\n\x20Other\x20Google\x20A\
542    PIs\x20should\x20include\n\x20\"serviceusage.googleapis.com/tos/universa\
543    l\".\x20Additional\x20ToS\x20can\x20be\n\x20included\x20based\x20on\x20t\
544    he\x20business\x20needs.\n\n\x0c\n\x05\x04\0\x02\0\x04\x12\x03#\x02\n\n\
545    \x0c\n\x05\x04\0\x02\0\x05\x12\x03#\x0b\x11\n\x0c\n\x05\x04\0\x02\0\x01\
546    \x12\x03#\x12\x1e\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03#!\"\n\x95\x01\n\
547    \x04\x04\0\x02\x01\x12\x03(\x02\x1f\x1a\x87\x01\x20A\x20list\x20of\x20us\
548    age\x20rules\x20that\x20apply\x20to\x20individual\x20API\x20methods.\n\n\
549    \x20**NOTE:**\x20All\x20service\x20configuration\x20rules\x20follow\x20\
550    \"last\x20one\x20wins\"\x20order.\n\n\x0c\n\x05\x04\0\x02\x01\x04\x12\
551    \x03(\x02\n\n\x0c\n\x05\x04\0\x02\x01\x06\x12\x03(\x0b\x14\n\x0c\n\x05\
552    \x04\0\x02\x01\x01\x12\x03(\x15\x1a\n\x0c\n\x05\x04\0\x02\x01\x03\x12\
553    \x03(\x1d\x1e\n\xbd\x03\n\x04\x04\0\x02\x02\x12\x032\x02+\x1a\xaf\x03\
554    \x20The\x20full\x20resource\x20name\x20of\x20a\x20channel\x20used\x20for\
555    \x20sending\x20notifications\x20to\x20the\n\x20service\x20producer.\n\n\
556    \x20Google\x20Service\x20Management\x20currently\x20only\x20supports\n\
557    \x20[Google\x20Cloud\x20Pub/Sub](https://cloud.google.com/pubsub)\x20as\
558    \x20a\x20notification\n\x20channel.\x20To\x20use\x20Google\x20Cloud\x20P\
559    ub/Sub\x20as\x20the\x20channel,\x20this\x20must\x20be\x20the\x20name\n\
560    \x20of\x20a\x20Cloud\x20Pub/Sub\x20topic\x20that\x20uses\x20the\x20Cloud\
561    \x20Pub/Sub\x20topic\x20name\x20format\n\x20documented\x20in\x20https://\
562    cloud.google.com/pubsub/docs/overview.\n\n\x0c\n\x05\x04\0\x02\x02\x05\
563    \x12\x032\x02\x08\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x032\t&\n\x0c\n\x05\
564    \x04\0\x02\x02\x03\x12\x032)*\n\xc0\x06\n\x02\x04\x01\x12\x04N\0_\x01\
565    \x1a\xb3\x06\x20Usage\x20configuration\x20rules\x20for\x20the\x20service\
566    .\n\n\x20NOTE:\x20Under\x20development.\n\n\n\x20Use\x20this\x20rule\x20\
567    to\x20configure\x20unregistered\x20calls\x20for\x20the\x20service.\x20Un\
568    registered\n\x20calls\x20are\x20calls\x20that\x20do\x20not\x20contain\
569    \x20consumer\x20project\x20identity.\n\x20(Example:\x20calls\x20that\x20\
570    do\x20not\x20contain\x20an\x20API\x20key).\n\x20By\x20default,\x20API\
571    \x20methods\x20do\x20not\x20allow\x20unregistered\x20calls,\x20and\x20ea\
572    ch\x20method\x20call\n\x20must\x20be\x20identified\x20by\x20a\x20consume\
573    r\x20project\x20identity.\x20Use\x20this\x20rule\x20to\n\x20allow/disall\
574    ow\x20unregistered\x20calls.\n\n\x20Example\x20of\x20an\x20API\x20that\
575    \x20wants\x20to\x20allow\x20unregistered\x20calls\x20for\x20entire\x20se\
576    rvice.\n\n\x20\x20\x20\x20\x20usage:\n\x20\x20\x20\x20\x20\x20\x20rules:\
577    \n\x20\x20\x20\x20\x20\x20\x20-\x20selector:\x20\"*\"\n\x20\x20\x20\x20\
578    \x20\x20\x20\x20\x20allow_unregistered_calls:\x20true\n\n\x20Example\x20\
579    of\x20a\x20method\x20that\x20wants\x20to\x20allow\x20unregistered\x20cal\
580    ls.\n\n\x20\x20\x20\x20\x20usage:\n\x20\x20\x20\x20\x20\x20\x20rules:\n\
581    \x20\x20\x20\x20\x20\x20\x20-\x20selector:\x20\"google.example.library.v\
582    1.LibraryService.CreateBook\"\n\x20\x20\x20\x20\x20\x20\x20\x20\x20allow\
583    _unregistered_calls:\x20true\n\n\n\n\x03\x04\x01\x01\x12\x03N\x08\x11\n\
584    \xbf\x01\n\x04\x04\x01\x02\0\x12\x03T\x02\x16\x1a\xb1\x01\x20Selects\x20\
585    the\x20methods\x20to\x20which\x20this\x20rule\x20applies.\x20Use\x20'*'\
586    \x20to\x20indicate\x20all\n\x20methods\x20in\x20all\x20APIs.\n\n\x20Refe\
587    r\x20to\x20[selector][google.api.DocumentationRule.selector]\x20for\x20s\
588    yntax\n\x20details.\n\n\x0c\n\x05\x04\x01\x02\0\x05\x12\x03T\x02\x08\n\
589    \x0c\n\x05\x04\x01\x02\0\x01\x12\x03T\t\x11\n\x0c\n\x05\x04\x01\x02\0\
590    \x03\x12\x03T\x14\x15\n\x7f\n\x04\x04\x01\x02\x01\x12\x03X\x02$\x1ar\x20\
591    If\x20true,\x20the\x20selected\x20method\x20allows\x20unregistered\x20ca\
592    lls,\x20e.g.\x20calls\n\x20that\x20don't\x20identify\x20any\x20user\x20o\
593    r\x20application.\n\n\x0c\n\x05\x04\x01\x02\x01\x05\x12\x03X\x02\x06\n\
594    \x0c\n\x05\x04\x01\x02\x01\x01\x12\x03X\x07\x1f\n\x0c\n\x05\x04\x01\x02\
595    \x01\x03\x12\x03X\"#\n\x96\x02\n\x04\x04\x01\x02\x02\x12\x03^\x02\x20\
596    \x1a\x88\x02\x20If\x20true,\x20the\x20selected\x20method\x20should\x20sk\
597    ip\x20service\x20control\x20and\x20the\x20control\n\x20plane\x20features\
598    ,\x20such\x20as\x20quota\x20and\x20billing,\x20will\x20not\x20be\x20avai\
599    lable.\n\x20This\x20flag\x20is\x20used\x20by\x20Google\x20Cloud\x20Endpo\
600    ints\x20to\x20bypass\x20checks\x20for\x20internal\n\x20methods,\x20such\
601    \x20as\x20service\x20health\x20check\x20methods.\n\n\x0c\n\x05\x04\x01\
602    \x02\x02\x05\x12\x03^\x02\x06\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x03^\
603    \x07\x1b\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x03^\x1e\x1fb\x06proto3\
604";
605
606static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
607
608fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
609    ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
610}
611
612pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
613    file_descriptor_proto_lazy.get(|| {
614        parse_descriptor_proto()
615    })
616}