google_cloud_rust_raw/api/
monitoring.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/monitoring.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 Monitoring {
28    // message fields
29    pub producer_destinations: ::protobuf::RepeatedField<Monitoring_MonitoringDestination>,
30    pub consumer_destinations: ::protobuf::RepeatedField<Monitoring_MonitoringDestination>,
31    // special fields
32    pub unknown_fields: ::protobuf::UnknownFields,
33    pub cached_size: ::protobuf::CachedSize,
34}
35
36impl<'a> ::std::default::Default for &'a Monitoring {
37    fn default() -> &'a Monitoring {
38        <Monitoring as ::protobuf::Message>::default_instance()
39    }
40}
41
42impl Monitoring {
43    pub fn new() -> Monitoring {
44        ::std::default::Default::default()
45    }
46
47    // repeated .google.api.Monitoring.MonitoringDestination producer_destinations = 1;
48
49
50    pub fn get_producer_destinations(&self) -> &[Monitoring_MonitoringDestination] {
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<Monitoring_MonitoringDestination>) {
59        self.producer_destinations = v;
60    }
61
62    // Mutable pointer to the field.
63    pub fn mut_producer_destinations(&mut self) -> &mut ::protobuf::RepeatedField<Monitoring_MonitoringDestination> {
64        &mut self.producer_destinations
65    }
66
67    // Take field
68    pub fn take_producer_destinations(&mut self) -> ::protobuf::RepeatedField<Monitoring_MonitoringDestination> {
69        ::std::mem::replace(&mut self.producer_destinations, ::protobuf::RepeatedField::new())
70    }
71
72    // repeated .google.api.Monitoring.MonitoringDestination consumer_destinations = 2;
73
74
75    pub fn get_consumer_destinations(&self) -> &[Monitoring_MonitoringDestination] {
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<Monitoring_MonitoringDestination>) {
84        self.consumer_destinations = v;
85    }
86
87    // Mutable pointer to the field.
88    pub fn mut_consumer_destinations(&mut self) -> &mut ::protobuf::RepeatedField<Monitoring_MonitoringDestination> {
89        &mut self.consumer_destinations
90    }
91
92    // Take field
93    pub fn take_consumer_destinations(&mut self) -> ::protobuf::RepeatedField<Monitoring_MonitoringDestination> {
94        ::std::mem::replace(&mut self.consumer_destinations, ::protobuf::RepeatedField::new())
95    }
96}
97
98impl ::protobuf::Message for Monitoring {
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() -> Monitoring {
190        Monitoring::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<Monitoring_MonitoringDestination>>(
198                "producer_destinations",
199                |m: &Monitoring| { &m.producer_destinations },
200                |m: &mut Monitoring| { &mut m.producer_destinations },
201            ));
202            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Monitoring_MonitoringDestination>>(
203                "consumer_destinations",
204                |m: &Monitoring| { &m.consumer_destinations },
205                |m: &mut Monitoring| { &mut m.consumer_destinations },
206            ));
207            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Monitoring>(
208                "Monitoring",
209                fields,
210                file_descriptor_proto()
211            )
212        })
213    }
214
215    fn default_instance() -> &'static Monitoring {
216        static instance: ::protobuf::rt::LazyV2<Monitoring> = ::protobuf::rt::LazyV2::INIT;
217        instance.get(Monitoring::new)
218    }
219}
220
221impl ::protobuf::Clear for Monitoring {
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 Monitoring {
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 Monitoring {
236    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
237        ::protobuf::reflect::ReflectValueRef::Message(self)
238    }
239}
240
241#[derive(PartialEq,Clone,Default)]
242pub struct Monitoring_MonitoringDestination {
243    // message fields
244    pub monitored_resource: ::std::string::String,
245    pub metrics: ::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 Monitoring_MonitoringDestination {
252    fn default() -> &'a Monitoring_MonitoringDestination {
253        <Monitoring_MonitoringDestination as ::protobuf::Message>::default_instance()
254    }
255}
256
257impl Monitoring_MonitoringDestination {
258    pub fn new() -> Monitoring_MonitoringDestination {
259        ::std::default::Default::default()
260    }
261
262    // string monitored_resource = 1;
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 metrics = 2;
289
290
291    pub fn get_metrics(&self) -> &[::std::string::String] {
292        &self.metrics
293    }
294    pub fn clear_metrics(&mut self) {
295        self.metrics.clear();
296    }
297
298    // Param is passed by value, moved
299    pub fn set_metrics(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
300        self.metrics = v;
301    }
302
303    // Mutable pointer to the field.
304    pub fn mut_metrics(&mut self) -> &mut ::protobuf::RepeatedField<::std::string::String> {
305        &mut self.metrics
306    }
307
308    // Take field
309    pub fn take_metrics(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
310        ::std::mem::replace(&mut self.metrics, ::protobuf::RepeatedField::new())
311    }
312}
313
314impl ::protobuf::Message for Monitoring_MonitoringDestination {
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                1 => {
324                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.monitored_resource)?;
325                },
326                2 => {
327                    ::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.metrics)?;
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(1, &self.monitored_resource);
343        }
344        for value in &self.metrics {
345            my_size += ::protobuf::rt::string_size(2, &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(1, &self.monitored_resource)?;
355        }
356        for v in &self.metrics {
357            os.write_string(2, &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() -> Monitoring_MonitoringDestination {
390        Monitoring_MonitoringDestination::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: &Monitoring_MonitoringDestination| { &m.monitored_resource },
400                |m: &mut Monitoring_MonitoringDestination| { &mut m.monitored_resource },
401            ));
402            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
403                "metrics",
404                |m: &Monitoring_MonitoringDestination| { &m.metrics },
405                |m: &mut Monitoring_MonitoringDestination| { &mut m.metrics },
406            ));
407            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Monitoring_MonitoringDestination>(
408                "Monitoring.MonitoringDestination",
409                fields,
410                file_descriptor_proto()
411            )
412        })
413    }
414
415    fn default_instance() -> &'static Monitoring_MonitoringDestination {
416        static instance: ::protobuf::rt::LazyV2<Monitoring_MonitoringDestination> = ::protobuf::rt::LazyV2::INIT;
417        instance.get(Monitoring_MonitoringDestination::new)
418    }
419}
420
421impl ::protobuf::Clear for Monitoring_MonitoringDestination {
422    fn clear(&mut self) {
423        self.monitored_resource.clear();
424        self.metrics.clear();
425        self.unknown_fields.clear();
426    }
427}
428
429impl ::std::fmt::Debug for Monitoring_MonitoringDestination {
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 Monitoring_MonitoringDestination {
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\x1bgoogle/api/monitoring.proto\x12\ngoogle.api\"\xb4\x02\n\nMonitorin\
443    g\x12a\n\x15producer_destinations\x18\x01\x20\x03(\x0b2,.google.api.Moni\
444    toring.MonitoringDestinationR\x14producerDestinations\x12a\n\x15consumer\
445    _destinations\x18\x02\x20\x03(\x0b2,.google.api.Monitoring.MonitoringDes\
446    tinationR\x14consumerDestinations\x1a`\n\x15MonitoringDestination\x12-\n\
447    \x12monitored_resource\x18\x01\x20\x01(\tR\x11monitoredResource\x12\x18\
448    \n\x07metrics\x18\x02\x20\x03(\tR\x07metricsBq\n\x0ecom.google.apiB\x0fM\
449    onitoringProtoP\x01ZEgoogle.golang.org/genproto/googleapis/api/serviceco\
450    nfig;serviceconfig\xa2\x02\x04GAPIJ\xd3\x20\n\x06\x12\x04\x0e\0j\x01\n\
451    \xbc\x04\n\x01\x0c\x12\x03\x0e\0\x122\xb1\x04\x20Copyright\x202023\x20Go\
452    ogle\x20LLC\n\n\x20Licensed\x20under\x20the\x20Apache\x20License,\x20Ver\
453    sion\x202.0\x20(the\x20\"License\");\n\x20you\x20may\x20not\x20use\x20th\
454    is\x20file\x20except\x20in\x20compliance\x20with\x20the\x20License.\n\
455    \x20You\x20may\x20obtain\x20a\x20copy\x20of\x20the\x20License\x20at\n\n\
456    \x20\x20\x20\x20\x20http://www.apache.org/licenses/LICENSE-2.0\n\n\x20Un\
457    less\x20required\x20by\x20applicable\x20law\x20or\x20agreed\x20to\x20in\
458    \x20writing,\x20software\n\x20distributed\x20under\x20the\x20License\x20\
459    is\x20distributed\x20on\x20an\x20\"AS\x20IS\"\x20BASIS,\n\x20WITHOUT\x20\
460    WARRANTIES\x20OR\x20CONDITIONS\x20OF\x20ANY\x20KIND,\x20either\x20expres\
461    s\x20or\x20implied.\n\x20See\x20the\x20License\x20for\x20the\x20specific\
462    \x20language\x20governing\x20permissions\x20and\n\x20limitations\x20unde\
463    r\x20the\x20License.\n\n\x08\n\x01\x02\x12\x03\x10\0\x13\n\x08\n\x01\x08\
464    \x12\x03\x12\0\\\n\t\n\x02\x08\x0b\x12\x03\x12\0\\\n\x08\n\x01\x08\x12\
465    \x03\x13\0\"\n\t\n\x02\x08\n\x12\x03\x13\0\"\n\x08\n\x01\x08\x12\x03\x14\
466    \00\n\t\n\x02\x08\x08\x12\x03\x14\00\n\x08\n\x01\x08\x12\x03\x15\0'\n\t\
467    \n\x02\x08\x01\x12\x03\x15\0'\n\x08\n\x01\x08\x12\x03\x16\0\"\n\t\n\x02\
468    \x08$\x12\x03\x16\0\"\n\x9e\x0f\n\x02\x04\0\x12\x04L\0j\x01\x1a\x91\x0f\
469    \x20Monitoring\x20configuration\x20of\x20the\x20service.\n\n\x20The\x20e\
470    xample\x20below\x20shows\x20how\x20to\x20configure\x20monitored\x20resou\
471    rces\x20and\x20metrics\n\x20for\x20monitoring.\x20In\x20the\x20example,\
472    \x20a\x20monitored\x20resource\x20and\x20two\x20metrics\x20are\n\x20defi\
473    ned.\x20The\x20`library.googleapis.com/book/returned_count`\x20metric\
474    \x20is\x20sent\n\x20to\x20both\x20producer\x20and\x20consumer\x20project\
475    s,\x20whereas\x20the\n\x20`library.googleapis.com/book/num_overdue`\x20m\
476    etric\x20is\x20only\x20sent\x20to\x20the\n\x20consumer\x20project.\n\n\
477    \x20\x20\x20\x20\x20monitored_resources:\n\x20\x20\x20\x20\x20-\x20type:\
478    \x20library.googleapis.com/Branch\n\x20\x20\x20\x20\x20\x20\x20display_n\
479    ame:\x20\"Library\x20Branch\"\n\x20\x20\x20\x20\x20\x20\x20description:\
480    \x20\"A\x20branch\x20of\x20a\x20library.\"\n\x20\x20\x20\x20\x20\x20\x20\
481    launch_stage:\x20GA\n\x20\x20\x20\x20\x20\x20\x20labels:\n\x20\x20\x20\
482    \x20\x20\x20\x20-\x20key:\x20resource_container\n\x20\x20\x20\x20\x20\
483    \x20\x20\x20\x20description:\x20\"The\x20Cloud\x20container\x20(ie.\x20p\
484    roject\x20id)\x20for\x20the\x20Branch.\"\n\x20\x20\x20\x20\x20\x20\x20-\
485    \x20key:\x20location\n\x20\x20\x20\x20\x20\x20\x20\x20\x20description:\
486    \x20\"The\x20location\x20of\x20the\x20library\x20branch.\"\n\x20\x20\x20\
487    \x20\x20\x20\x20-\x20key:\x20branch_id\n\x20\x20\x20\x20\x20\x20\x20\x20\
488    \x20description:\x20\"The\x20id\x20of\x20the\x20branch.\"\n\x20\x20\x20\
489    \x20\x20metrics:\n\x20\x20\x20\x20\x20-\x20name:\x20library.googleapis.c\
490    om/book/returned_count\n\x20\x20\x20\x20\x20\x20\x20display_name:\x20\"B\
491    ooks\x20Returned\"\n\x20\x20\x20\x20\x20\x20\x20description:\x20\"The\
492    \x20count\x20of\x20books\x20that\x20have\x20been\x20returned.\"\n\x20\
493    \x20\x20\x20\x20\x20\x20launch_stage:\x20GA\n\x20\x20\x20\x20\x20\x20\
494    \x20metric_kind:\x20DELTA\n\x20\x20\x20\x20\x20\x20\x20value_type:\x20IN\
495    T64\n\x20\x20\x20\x20\x20\x20\x20unit:\x20\"1\"\n\x20\x20\x20\x20\x20\
496    \x20\x20labels:\n\x20\x20\x20\x20\x20\x20\x20-\x20key:\x20customer_id\n\
497    \x20\x20\x20\x20\x20\x20\x20\x20\x20description:\x20\"The\x20id\x20of\
498    \x20the\x20customer.\"\n\x20\x20\x20\x20\x20-\x20name:\x20library.google\
499    apis.com/book/num_overdue\n\x20\x20\x20\x20\x20\x20\x20display_name:\x20\
500    \"Books\x20Overdue\"\n\x20\x20\x20\x20\x20\x20\x20description:\x20\"The\
501    \x20current\x20number\x20of\x20overdue\x20books.\"\n\x20\x20\x20\x20\x20\
502    \x20\x20launch_stage:\x20GA\n\x20\x20\x20\x20\x20\x20\x20metric_kind:\
503    \x20GAUGE\n\x20\x20\x20\x20\x20\x20\x20value_type:\x20INT64\n\x20\x20\
504    \x20\x20\x20\x20\x20unit:\x20\"1\"\n\x20\x20\x20\x20\x20\x20\x20labels:\
505    \n\x20\x20\x20\x20\x20\x20\x20-\x20key:\x20customer_id\n\x20\x20\x20\x20\
506    \x20\x20\x20\x20\x20description:\x20\"The\x20id\x20of\x20the\x20customer\
507    .\"\n\x20\x20\x20\x20\x20monitoring:\n\x20\x20\x20\x20\x20\x20\x20produc\
508    er_destinations:\n\x20\x20\x20\x20\x20\x20\x20-\x20monitored_resource:\
509    \x20library.googleapis.com/Branch\n\x20\x20\x20\x20\x20\x20\x20\x20\x20m\
510    etrics:\n\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20library.googleapis.com\
511    /book/returned_count\n\x20\x20\x20\x20\x20\x20\x20consumer_destinations:\
512    \n\x20\x20\x20\x20\x20\x20\x20-\x20monitored_resource:\x20library.google\
513    apis.com/Branch\n\x20\x20\x20\x20\x20\x20\x20\x20\x20metrics:\n\x20\x20\
514    \x20\x20\x20\x20\x20\x20\x20-\x20library.googleapis.com/book/returned_co\
515    unt\n\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20library.googleapis.com/boo\
516    k/num_overdue\n\n\n\n\x03\x04\0\x01\x12\x03L\x08\x12\ns\n\x04\x04\0\x03\
517    \0\x12\x04O\x02Y\x03\x1ae\x20Configuration\x20of\x20a\x20specific\x20mon\
518    itoring\x20destination\x20(the\x20producer\x20project\n\x20or\x20the\x20\
519    consumer\x20project).\n\n\x0c\n\x05\x04\0\x03\0\x01\x12\x03O\n\x1f\n\x9b\
520    \x01\n\x06\x04\0\x03\0\x02\0\x12\x03S\x04\"\x1a\x8b\x01\x20The\x20monito\
521    red\x20resource\x20type.\x20The\x20type\x20must\x20be\x20defined\x20in\n\
522    \x20[Service.monitored_resources][google.api.Service.monitored_resources\
523    ]\n\x20section.\n\n\x0e\n\x07\x04\0\x03\0\x02\0\x05\x12\x03S\x04\n\n\x0e\
524    \n\x07\x04\0\x03\0\x02\0\x01\x12\x03S\x0b\x1d\n\x0e\n\x07\x04\0\x03\0\
525    \x02\0\x03\x12\x03S\x20!\n\xa6\x01\n\x06\x04\0\x03\0\x02\x01\x12\x03X\
526    \x04\x20\x1a\x96\x01\x20Types\x20of\x20the\x20metrics\x20to\x20report\
527    \x20to\x20this\x20monitoring\x20destination.\n\x20Each\x20type\x20must\
528    \x20be\x20defined\x20in\n\x20[Service.metrics][google.api.Service.metric\
529    s]\x20section.\n\n\x0e\n\x07\x04\0\x03\0\x02\x01\x04\x12\x03X\x04\x0c\n\
530    \x0e\n\x07\x04\0\x03\0\x02\x01\x05\x12\x03X\r\x13\n\x0e\n\x07\x04\0\x03\
531    \0\x02\x01\x01\x12\x03X\x14\x1b\n\x0e\n\x07\x04\0\x03\0\x02\x01\x03\x12\
532    \x03X\x1e\x1f\n\x9e\x03\n\x04\x04\0\x02\0\x12\x03a\x02;\x1a\x90\x03\x20M\
533    onitoring\x20configurations\x20for\x20sending\x20metrics\x20to\x20the\
534    \x20producer\x20project.\n\x20There\x20can\x20be\x20multiple\x20producer\
535    \x20destinations.\x20A\x20monitored\x20resource\x20type\x20may\n\x20appe\
536    ar\x20in\x20multiple\x20monitoring\x20destinations\x20if\x20different\
537    \x20aggregations\x20are\n\x20needed\x20for\x20different\x20sets\x20of\
538    \x20metrics\x20associated\x20with\x20that\x20monitored\n\x20resource\x20\
539    type.\x20A\x20monitored\x20resource\x20and\x20metric\x20pair\x20may\x20o\
540    nly\x20be\x20used\x20once\n\x20in\x20the\x20Monitoring\x20configuration.\
541    \n\n\x0c\n\x05\x04\0\x02\0\x04\x12\x03a\x02\n\n\x0c\n\x05\x04\0\x02\0\
542    \x06\x12\x03a\x0b\x20\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03a!6\n\x0c\n\x05\
543    \x04\0\x02\0\x03\x12\x03a9:\n\x9e\x03\n\x04\x04\0\x02\x01\x12\x03i\x02;\
544    \x1a\x90\x03\x20Monitoring\x20configurations\x20for\x20sending\x20metric\
545    s\x20to\x20the\x20consumer\x20project.\n\x20There\x20can\x20be\x20multip\
546    le\x20consumer\x20destinations.\x20A\x20monitored\x20resource\x20type\
547    \x20may\n\x20appear\x20in\x20multiple\x20monitoring\x20destinations\x20i\
548    f\x20different\x20aggregations\x20are\n\x20needed\x20for\x20different\
549    \x20sets\x20of\x20metrics\x20associated\x20with\x20that\x20monitored\n\
550    \x20resource\x20type.\x20A\x20monitored\x20resource\x20and\x20metric\x20\
551    pair\x20may\x20only\x20be\x20used\x20once\n\x20in\x20the\x20Monitoring\
552    \x20configuration.\n\n\x0c\n\x05\x04\0\x02\x01\x04\x12\x03i\x02\n\n\x0c\
553    \n\x05\x04\0\x02\x01\x06\x12\x03i\x0b\x20\n\x0c\n\x05\x04\0\x02\x01\x01\
554    \x12\x03i!6\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03i9:b\x06proto3\
555";
556
557static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
558
559fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
560    ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
561}
562
563pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
564    file_descriptor_proto_lazy.get(|| {
565        parse_descriptor_proto()
566    })
567}