google_cloud_rust_raw/api/
logging.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/logging.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 Logging {
28    // message fields
29    pub producer_destinations: ::protobuf::RepeatedField<Logging_LoggingDestination>,
30    pub consumer_destinations: ::protobuf::RepeatedField<Logging_LoggingDestination>,
31    // special fields
32    pub unknown_fields: ::protobuf::UnknownFields,
33    pub cached_size: ::protobuf::CachedSize,
34}
35
36impl<'a> ::std::default::Default for &'a Logging {
37    fn default() -> &'a Logging {
38        <Logging as ::protobuf::Message>::default_instance()
39    }
40}
41
42impl Logging {
43    pub fn new() -> Logging {
44        ::std::default::Default::default()
45    }
46
47    // repeated .google.api.Logging.LoggingDestination producer_destinations = 1;
48
49
50    pub fn get_producer_destinations(&self) -> &[Logging_LoggingDestination] {
51        &self.producer_destinations
52    }
53    pub fn clear_producer_destinations(&mut self) {
54        self.producer_destinations.clear();
55    }
56
57    // Param is passed by value, moved
58    pub fn set_producer_destinations(&mut self, v: ::protobuf::RepeatedField<Logging_LoggingDestination>) {
59        self.producer_destinations = v;
60    }
61
62    // Mutable pointer to the field.
63    pub fn mut_producer_destinations(&mut self) -> &mut ::protobuf::RepeatedField<Logging_LoggingDestination> {
64        &mut self.producer_destinations
65    }
66
67    // Take field
68    pub fn take_producer_destinations(&mut self) -> ::protobuf::RepeatedField<Logging_LoggingDestination> {
69        ::std::mem::replace(&mut self.producer_destinations, ::protobuf::RepeatedField::new())
70    }
71
72    // repeated .google.api.Logging.LoggingDestination consumer_destinations = 2;
73
74
75    pub fn get_consumer_destinations(&self) -> &[Logging_LoggingDestination] {
76        &self.consumer_destinations
77    }
78    pub fn clear_consumer_destinations(&mut self) {
79        self.consumer_destinations.clear();
80    }
81
82    // Param is passed by value, moved
83    pub fn set_consumer_destinations(&mut self, v: ::protobuf::RepeatedField<Logging_LoggingDestination>) {
84        self.consumer_destinations = v;
85    }
86
87    // Mutable pointer to the field.
88    pub fn mut_consumer_destinations(&mut self) -> &mut ::protobuf::RepeatedField<Logging_LoggingDestination> {
89        &mut self.consumer_destinations
90    }
91
92    // Take field
93    pub fn take_consumer_destinations(&mut self) -> ::protobuf::RepeatedField<Logging_LoggingDestination> {
94        ::std::mem::replace(&mut self.consumer_destinations, ::protobuf::RepeatedField::new())
95    }
96}
97
98impl ::protobuf::Message for Logging {
99    fn is_initialized(&self) -> bool {
100        for v in &self.producer_destinations {
101            if !v.is_initialized() {
102                return false;
103            }
104        };
105        for v in &self.consumer_destinations {
106            if !v.is_initialized() {
107                return false;
108            }
109        };
110        true
111    }
112
113    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
114        while !is.eof()? {
115            let (field_number, wire_type) = is.read_tag_unpack()?;
116            match field_number {
117                1 => {
118                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.producer_destinations)?;
119                },
120                2 => {
121                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.consumer_destinations)?;
122                },
123                _ => {
124                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
125                },
126            };
127        }
128        ::std::result::Result::Ok(())
129    }
130
131    // Compute sizes of nested messages
132    #[allow(unused_variables)]
133    fn compute_size(&self) -> u32 {
134        let mut my_size = 0;
135        for value in &self.producer_destinations {
136            let len = value.compute_size();
137            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
138        };
139        for value in &self.consumer_destinations {
140            let len = value.compute_size();
141            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
142        };
143        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
144        self.cached_size.set(my_size);
145        my_size
146    }
147
148    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
149        for v in &self.producer_destinations {
150            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
151            os.write_raw_varint32(v.get_cached_size())?;
152            v.write_to_with_cached_sizes(os)?;
153        };
154        for v in &self.consumer_destinations {
155            os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
156            os.write_raw_varint32(v.get_cached_size())?;
157            v.write_to_with_cached_sizes(os)?;
158        };
159        os.write_unknown_fields(self.get_unknown_fields())?;
160        ::std::result::Result::Ok(())
161    }
162
163    fn get_cached_size(&self) -> u32 {
164        self.cached_size.get()
165    }
166
167    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
168        &self.unknown_fields
169    }
170
171    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
172        &mut self.unknown_fields
173    }
174
175    fn as_any(&self) -> &dyn (::std::any::Any) {
176        self as &dyn (::std::any::Any)
177    }
178    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
179        self as &mut dyn (::std::any::Any)
180    }
181    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
182        self
183    }
184
185    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
186        Self::descriptor_static()
187    }
188
189    fn new() -> Logging {
190        Logging::new()
191    }
192
193    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
194        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
195        descriptor.get(|| {
196            let mut fields = ::std::vec::Vec::new();
197            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Logging_LoggingDestination>>(
198                "producer_destinations",
199                |m: &Logging| { &m.producer_destinations },
200                |m: &mut Logging| { &mut m.producer_destinations },
201            ));
202            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Logging_LoggingDestination>>(
203                "consumer_destinations",
204                |m: &Logging| { &m.consumer_destinations },
205                |m: &mut Logging| { &mut m.consumer_destinations },
206            ));
207            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Logging>(
208                "Logging",
209                fields,
210                file_descriptor_proto()
211            )
212        })
213    }
214
215    fn default_instance() -> &'static Logging {
216        static instance: ::protobuf::rt::LazyV2<Logging> = ::protobuf::rt::LazyV2::INIT;
217        instance.get(Logging::new)
218    }
219}
220
221impl ::protobuf::Clear for Logging {
222    fn clear(&mut self) {
223        self.producer_destinations.clear();
224        self.consumer_destinations.clear();
225        self.unknown_fields.clear();
226    }
227}
228
229impl ::std::fmt::Debug for Logging {
230    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
231        ::protobuf::text_format::fmt(self, f)
232    }
233}
234
235impl ::protobuf::reflect::ProtobufValue for Logging {
236    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
237        ::protobuf::reflect::ReflectValueRef::Message(self)
238    }
239}
240
241#[derive(PartialEq,Clone,Default)]
242pub struct Logging_LoggingDestination {
243    // message fields
244    pub monitored_resource: ::std::string::String,
245    pub logs: ::protobuf::RepeatedField<::std::string::String>,
246    // special fields
247    pub unknown_fields: ::protobuf::UnknownFields,
248    pub cached_size: ::protobuf::CachedSize,
249}
250
251impl<'a> ::std::default::Default for &'a Logging_LoggingDestination {
252    fn default() -> &'a Logging_LoggingDestination {
253        <Logging_LoggingDestination as ::protobuf::Message>::default_instance()
254    }
255}
256
257impl Logging_LoggingDestination {
258    pub fn new() -> Logging_LoggingDestination {
259        ::std::default::Default::default()
260    }
261
262    // string monitored_resource = 3;
263
264
265    pub fn get_monitored_resource(&self) -> &str {
266        &self.monitored_resource
267    }
268    pub fn clear_monitored_resource(&mut self) {
269        self.monitored_resource.clear();
270    }
271
272    // Param is passed by value, moved
273    pub fn set_monitored_resource(&mut self, v: ::std::string::String) {
274        self.monitored_resource = v;
275    }
276
277    // Mutable pointer to the field.
278    // If field is not initialized, it is initialized with default value first.
279    pub fn mut_monitored_resource(&mut self) -> &mut ::std::string::String {
280        &mut self.monitored_resource
281    }
282
283    // Take field
284    pub fn take_monitored_resource(&mut self) -> ::std::string::String {
285        ::std::mem::replace(&mut self.monitored_resource, ::std::string::String::new())
286    }
287
288    // repeated string logs = 1;
289
290
291    pub fn get_logs(&self) -> &[::std::string::String] {
292        &self.logs
293    }
294    pub fn clear_logs(&mut self) {
295        self.logs.clear();
296    }
297
298    // Param is passed by value, moved
299    pub fn set_logs(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
300        self.logs = v;
301    }
302
303    // Mutable pointer to the field.
304    pub fn mut_logs(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
305        &mut self.logs
306    }
307
308    // Take field
309    pub fn take_logs(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
310        ::std::mem::replace(&mut self.logs, ::protobuf::RepeatedField::new())
311    }
312}
313
314impl ::protobuf::Message for Logging_LoggingDestination {
315    fn is_initialized(&self) -> bool {
316        true
317    }
318
319    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
320        while !is.eof()? {
321            let (field_number, wire_type) = is.read_tag_unpack()?;
322            match field_number {
323                3 => {
324                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.monitored_resource)?;
325                },
326                1 => {
327                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.logs)?;
328                },
329                _ => {
330                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
331                },
332            };
333        }
334        ::std::result::Result::Ok(())
335    }
336
337    // Compute sizes of nested messages
338    #[allow(unused_variables)]
339    fn compute_size(&self) -> u32 {
340        let mut my_size = 0;
341        if !self.monitored_resource.is_empty() {
342            my_size += ::protobuf::rt::string_size(3, &self.monitored_resource);
343        }
344        for value in &self.logs {
345            my_size += ::protobuf::rt::string_size(1, &value);
346        };
347        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
348        self.cached_size.set(my_size);
349        my_size
350    }
351
352    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
353        if !self.monitored_resource.is_empty() {
354            os.write_string(3, &self.monitored_resource)?;
355        }
356        for v in &self.logs {
357            os.write_string(1, &v)?;
358        };
359        os.write_unknown_fields(self.get_unknown_fields())?;
360        ::std::result::Result::Ok(())
361    }
362
363    fn get_cached_size(&self) -> u32 {
364        self.cached_size.get()
365    }
366
367    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
368        &self.unknown_fields
369    }
370
371    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
372        &mut self.unknown_fields
373    }
374
375    fn as_any(&self) -> &dyn (::std::any::Any) {
376        self as &dyn (::std::any::Any)
377    }
378    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
379        self as &mut dyn (::std::any::Any)
380    }
381    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
382        self
383    }
384
385    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
386        Self::descriptor_static()
387    }
388
389    fn new() -> Logging_LoggingDestination {
390        Logging_LoggingDestination::new()
391    }
392
393    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
394        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
395        descriptor.get(|| {
396            let mut fields = ::std::vec::Vec::new();
397            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
398                "monitored_resource",
399                |m: &Logging_LoggingDestination| { &m.monitored_resource },
400                |m: &mut Logging_LoggingDestination| { &mut m.monitored_resource },
401            ));
402            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
403                "logs",
404                |m: &Logging_LoggingDestination| { &m.logs },
405                |m: &mut Logging_LoggingDestination| { &mut m.logs },
406            ));
407            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Logging_LoggingDestination>(
408                "Logging.LoggingDestination",
409                fields,
410                file_descriptor_proto()
411            )
412        })
413    }
414
415    fn default_instance() -> &'static Logging_LoggingDestination {
416        static instance: ::protobuf::rt::LazyV2<Logging_LoggingDestination> = ::protobuf::rt::LazyV2::INIT;
417        instance.get(Logging_LoggingDestination::new)
418    }
419}
420
421impl ::protobuf::Clear for Logging_LoggingDestination {
422    fn clear(&mut self) {
423        self.monitored_resource.clear();
424        self.logs.clear();
425        self.unknown_fields.clear();
426    }
427}
428
429impl ::std::fmt::Debug for Logging_LoggingDestination {
430    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
431        ::protobuf::text_format::fmt(self, f)
432    }
433}
434
435impl ::protobuf::reflect::ProtobufValue for Logging_LoggingDestination {
436    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
437        ::protobuf::reflect::ReflectValueRef::Message(self)
438    }
439}
440
441static file_descriptor_proto_data: &'static [u8] = b"\
442    \n\x18google/api/logging.proto\x12\ngoogle.api\"\x9c\x02\n\x07Logging\
443    \x12[\n\x15producer_destinations\x18\x01\x20\x03(\x0b2&.google.api.Loggi\
444    ng.LoggingDestinationR\x14producerDestinations\x12[\n\x15consumer_destin\
445    ations\x18\x02\x20\x03(\x0b2&.google.api.Logging.LoggingDestinationR\x14\
446    consumerDestinations\x1aW\n\x12LoggingDestination\x12-\n\x12monitored_re\
447    source\x18\x03\x20\x01(\tR\x11monitoredResource\x12\x12\n\x04logs\x18\
448    \x01\x20\x03(\tR\x04logsBn\n\x0ecom.google.apiB\x0cLoggingProtoP\x01ZEgo\
449    ogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig\xa2\
450    \x02\x04GAPIJ\x9a\x17\n\x06\x12\x04\x0e\0P\x01\n\xbc\x04\n\x01\x0c\x12\
451    \x03\x0e\0\x122\xb1\x04\x20Copyright\x202023\x20Google\x20LLC\n\n\x20Lic\
452    ensed\x20under\x20the\x20Apache\x20License,\x20Version\x202.0\x20(the\
453    \x20\"License\");\n\x20you\x20may\x20not\x20use\x20this\x20file\x20excep\
454    t\x20in\x20compliance\x20with\x20the\x20License.\n\x20You\x20may\x20obta\
455    in\x20a\x20copy\x20of\x20the\x20License\x20at\n\n\x20\x20\x20\x20\x20htt\
456    p://www.apache.org/licenses/LICENSE-2.0\n\n\x20Unless\x20required\x20by\
457    \x20applicable\x20law\x20or\x20agreed\x20to\x20in\x20writing,\x20softwar\
458    e\n\x20distributed\x20under\x20the\x20License\x20is\x20distributed\x20on\
459    \x20an\x20\"AS\x20IS\"\x20BASIS,\n\x20WITHOUT\x20WARRANTIES\x20OR\x20CON\
460    DITIONS\x20OF\x20ANY\x20KIND,\x20either\x20express\x20or\x20implied.\n\
461    \x20See\x20the\x20License\x20for\x20the\x20specific\x20language\x20gover\
462    ning\x20permissions\x20and\n\x20limitations\x20under\x20the\x20License.\
463    \n\n\x08\n\x01\x02\x12\x03\x10\0\x13\n\x08\n\x01\x08\x12\x03\x12\0\\\n\t\
464    \n\x02\x08\x0b\x12\x03\x12\0\\\n\x08\n\x01\x08\x12\x03\x13\0\"\n\t\n\x02\
465    \x08\n\x12\x03\x13\0\"\n\x08\n\x01\x08\x12\x03\x14\0-\n\t\n\x02\x08\x08\
466    \x12\x03\x14\0-\n\x08\n\x01\x08\x12\x03\x15\0'\n\t\n\x02\x08\x01\x12\x03\
467    \x15\0'\n\x08\n\x01\x08\x12\x03\x16\0\"\n\t\n\x02\x08$\x12\x03\x16\0\"\n\
468    \xda\x07\n\x02\x04\0\x12\x045\0P\x01\x1a\xcd\x07\x20Logging\x20configura\
469    tion\x20of\x20the\x20service.\n\n\x20The\x20following\x20example\x20show\
470    s\x20how\x20to\x20configure\x20logs\x20to\x20be\x20sent\x20to\x20the\n\
471    \x20producer\x20and\x20consumer\x20projects.\x20In\x20the\x20example,\
472    \x20the\x20`activity_history`\n\x20log\x20is\x20sent\x20to\x20both\x20th\
473    e\x20producer\x20and\x20consumer\x20projects,\x20whereas\x20the\n\x20`pu\
474    rchase_history`\x20log\x20is\x20only\x20sent\x20to\x20the\x20producer\
475    \x20project.\n\n\x20\x20\x20\x20\x20monitored_resources:\n\x20\x20\x20\
476    \x20\x20-\x20type:\x20library.googleapis.com/branch\n\x20\x20\x20\x20\
477    \x20\x20\x20labels:\n\x20\x20\x20\x20\x20\x20\x20-\x20key:\x20/city\n\
478    \x20\x20\x20\x20\x20\x20\x20\x20\x20description:\x20The\x20city\x20where\
479    \x20the\x20library\x20branch\x20is\x20located\x20in.\n\x20\x20\x20\x20\
480    \x20\x20\x20-\x20key:\x20/name\n\x20\x20\x20\x20\x20\x20\x20\x20\x20desc\
481    ription:\x20The\x20name\x20of\x20the\x20branch.\n\x20\x20\x20\x20\x20log\
482    s:\n\x20\x20\x20\x20\x20-\x20name:\x20activity_history\n\x20\x20\x20\x20\
483    \x20\x20\x20labels:\n\x20\x20\x20\x20\x20\x20\x20-\x20key:\x20/customer_\
484    id\n\x20\x20\x20\x20\x20-\x20name:\x20purchase_history\n\x20\x20\x20\x20\
485    \x20logging:\n\x20\x20\x20\x20\x20\x20\x20producer_destinations:\n\x20\
486    \x20\x20\x20\x20\x20\x20-\x20monitored_resource:\x20library.googleapis.c\
487    om/branch\n\x20\x20\x20\x20\x20\x20\x20\x20\x20logs:\n\x20\x20\x20\x20\
488    \x20\x20\x20\x20\x20-\x20activity_history\n\x20\x20\x20\x20\x20\x20\x20\
489    \x20\x20-\x20purchase_history\n\x20\x20\x20\x20\x20\x20\x20consumer_dest\
490    inations:\n\x20\x20\x20\x20\x20\x20\x20-\x20monitored_resource:\x20libra\
491    ry.googleapis.com/branch\n\x20\x20\x20\x20\x20\x20\x20\x20\x20logs:\n\
492    \x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20activity_history\n\n\n\n\x03\
493    \x04\0\x01\x12\x035\x08\x0f\np\n\x04\x04\0\x03\0\x12\x048\x02C\x03\x1ab\
494    \x20Configuration\x20of\x20a\x20specific\x20logging\x20destination\x20(t\
495    he\x20producer\x20project\n\x20or\x20the\x20consumer\x20project).\n\n\
496    \x0c\n\x05\x04\0\x03\0\x01\x12\x038\n\x1c\n\x9f\x01\n\x06\x04\0\x03\0\
497    \x02\0\x12\x03<\x04\"\x1a\x8f\x01\x20The\x20monitored\x20resource\x20typ\
498    e.\x20The\x20type\x20must\x20be\x20defined\x20in\x20the\n\x20[Service.mo\
499    nitored_resources][google.api.Service.monitored_resources]\n\x20section.\
500    \n\n\x0e\n\x07\x04\0\x03\0\x02\0\x05\x12\x03<\x04\n\n\x0e\n\x07\x04\0\
501    \x03\0\x02\0\x01\x12\x03<\x0b\x1d\n\x0e\n\x07\x04\0\x03\0\x02\0\x03\x12\
502    \x03<\x20!\n\x8e\x02\n\x06\x04\0\x03\0\x02\x01\x12\x03B\x04\x1d\x1a\xfe\
503    \x01\x20Names\x20of\x20the\x20logs\x20to\x20be\x20sent\x20to\x20this\x20\
504    destination.\x20Each\x20name\x20must\n\x20be\x20defined\x20in\x20the\x20\
505    [Service.logs][google.api.Service.logs]\x20section.\x20If\x20the\n\x20lo\
506    g\x20name\x20is\x20not\x20a\x20domain\x20scoped\x20name,\x20it\x20will\
507    \x20be\x20automatically\x20prefixed\n\x20with\x20the\x20service\x20name\
508    \x20followed\x20by\x20\"/\".\n\n\x0e\n\x07\x04\0\x03\0\x02\x01\x04\x12\
509    \x03B\x04\x0c\n\x0e\n\x07\x04\0\x03\0\x02\x01\x05\x12\x03B\r\x13\n\x0e\n\
510    \x07\x04\0\x03\0\x02\x01\x01\x12\x03B\x14\x18\n\x0e\n\x07\x04\0\x03\0\
511    \x02\x01\x03\x12\x03B\x1b\x1c\n\xef\x01\n\x04\x04\0\x02\0\x12\x03I\x028\
512    \x1a\xe1\x01\x20Logging\x20configurations\x20for\x20sending\x20logs\x20t\
513    o\x20the\x20producer\x20project.\n\x20There\x20can\x20be\x20multiple\x20\
514    producer\x20destinations,\x20each\x20one\x20must\x20have\x20a\n\x20diffe\
515    rent\x20monitored\x20resource\x20type.\x20A\x20log\x20can\x20be\x20used\
516    \x20in\x20at\x20most\n\x20one\x20producer\x20destination.\n\n\x0c\n\x05\
517    \x04\0\x02\0\x04\x12\x03I\x02\n\n\x0c\n\x05\x04\0\x02\0\x06\x12\x03I\x0b\
518    \x1d\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03I\x1e3\n\x0c\n\x05\x04\0\x02\0\
519    \x03\x12\x03I67\n\xef\x01\n\x04\x04\0\x02\x01\x12\x03O\x028\x1a\xe1\x01\
520    \x20Logging\x20configurations\x20for\x20sending\x20logs\x20to\x20the\x20\
521    consumer\x20project.\n\x20There\x20can\x20be\x20multiple\x20consumer\x20\
522    destinations,\x20each\x20one\x20must\x20have\x20a\n\x20different\x20moni\
523    tored\x20resource\x20type.\x20A\x20log\x20can\x20be\x20used\x20in\x20at\
524    \x20most\n\x20one\x20consumer\x20destination.\n\n\x0c\n\x05\x04\0\x02\
525    \x01\x04\x12\x03O\x02\n\n\x0c\n\x05\x04\0\x02\x01\x06\x12\x03O\x0b\x1d\n\
526    \x0c\n\x05\x04\0\x02\x01\x01\x12\x03O\x1e3\n\x0c\n\x05\x04\0\x02\x01\x03\
527    \x12\x03O67b\x06proto3\
528";
529
530static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
531
532fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
533    ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
534}
535
536pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
537    file_descriptor_proto_lazy.get(|| {
538        parse_descriptor_proto()
539    })
540}