google_cloud_rust_raw/api/
service.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/service.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 Service {
28    // message fields
29    pub name: ::std::string::String,
30    pub title: ::std::string::String,
31    pub producer_project_id: ::std::string::String,
32    pub id: ::std::string::String,
33    pub apis: ::protobuf::RepeatedField<::protobuf::well_known_types::Api>,
34    pub types: ::protobuf::RepeatedField<::protobuf::well_known_types::Type>,
35    pub enums: ::protobuf::RepeatedField<::protobuf::well_known_types::Enum>,
36    pub documentation: ::protobuf::SingularPtrField<super::documentation::Documentation>,
37    pub backend: ::protobuf::SingularPtrField<super::backend::Backend>,
38    pub http: ::protobuf::SingularPtrField<super::http::Http>,
39    pub quota: ::protobuf::SingularPtrField<super::quota::Quota>,
40    pub authentication: ::protobuf::SingularPtrField<super::auth::Authentication>,
41    pub context: ::protobuf::SingularPtrField<super::context::Context>,
42    pub usage: ::protobuf::SingularPtrField<super::usage::Usage>,
43    pub endpoints: ::protobuf::RepeatedField<super::endpoint::Endpoint>,
44    pub control: ::protobuf::SingularPtrField<super::control::Control>,
45    pub logs: ::protobuf::RepeatedField<super::log::LogDescriptor>,
46    pub metrics: ::protobuf::RepeatedField<super::metric::MetricDescriptor>,
47    pub monitored_resources: ::protobuf::RepeatedField<super::monitored_resource::MonitoredResourceDescriptor>,
48    pub billing: ::protobuf::SingularPtrField<super::billing::Billing>,
49    pub logging: ::protobuf::SingularPtrField<super::logging::Logging>,
50    pub monitoring: ::protobuf::SingularPtrField<super::monitoring::Monitoring>,
51    pub system_parameters: ::protobuf::SingularPtrField<super::system_parameter::SystemParameters>,
52    pub source_info: ::protobuf::SingularPtrField<super::source_info::SourceInfo>,
53    pub publishing: ::protobuf::SingularPtrField<super::client::Publishing>,
54    pub config_version: ::protobuf::SingularPtrField<::protobuf::well_known_types::UInt32Value>,
55    // special fields
56    pub unknown_fields: ::protobuf::UnknownFields,
57    pub cached_size: ::protobuf::CachedSize,
58}
59
60impl<'a> ::std::default::Default for &'a Service {
61    fn default() -> &'a Service {
62        <Service as ::protobuf::Message>::default_instance()
63    }
64}
65
66impl Service {
67    pub fn new() -> Service {
68        ::std::default::Default::default()
69    }
70
71    // string name = 1;
72
73
74    pub fn get_name(&self) -> &str {
75        &self.name
76    }
77    pub fn clear_name(&mut self) {
78        self.name.clear();
79    }
80
81    // Param is passed by value, moved
82    pub fn set_name(&mut self, v: ::std::string::String) {
83        self.name = v;
84    }
85
86    // Mutable pointer to the field.
87    // If field is not initialized, it is initialized with default value first.
88    pub fn mut_name(&mut self) -> &mut ::std::string::String {
89        &mut self.name
90    }
91
92    // Take field
93    pub fn take_name(&mut self) -> ::std::string::String {
94        ::std::mem::replace(&mut self.name, ::std::string::String::new())
95    }
96
97    // string title = 2;
98
99
100    pub fn get_title(&self) -> &str {
101        &self.title
102    }
103    pub fn clear_title(&mut self) {
104        self.title.clear();
105    }
106
107    // Param is passed by value, moved
108    pub fn set_title(&mut self, v: ::std::string::String) {
109        self.title = v;
110    }
111
112    // Mutable pointer to the field.
113    // If field is not initialized, it is initialized with default value first.
114    pub fn mut_title(&mut self) -> &mut ::std::string::String {
115        &mut self.title
116    }
117
118    // Take field
119    pub fn take_title(&mut self) -> ::std::string::String {
120        ::std::mem::replace(&mut self.title, ::std::string::String::new())
121    }
122
123    // string producer_project_id = 22;
124
125
126    pub fn get_producer_project_id(&self) -> &str {
127        &self.producer_project_id
128    }
129    pub fn clear_producer_project_id(&mut self) {
130        self.producer_project_id.clear();
131    }
132
133    // Param is passed by value, moved
134    pub fn set_producer_project_id(&mut self, v: ::std::string::String) {
135        self.producer_project_id = v;
136    }
137
138    // Mutable pointer to the field.
139    // If field is not initialized, it is initialized with default value first.
140    pub fn mut_producer_project_id(&mut self) -> &mut ::std::string::String {
141        &mut self.producer_project_id
142    }
143
144    // Take field
145    pub fn take_producer_project_id(&mut self) -> ::std::string::String {
146        ::std::mem::replace(&mut self.producer_project_id, ::std::string::String::new())
147    }
148
149    // string id = 33;
150
151
152    pub fn get_id(&self) -> &str {
153        &self.id
154    }
155    pub fn clear_id(&mut self) {
156        self.id.clear();
157    }
158
159    // Param is passed by value, moved
160    pub fn set_id(&mut self, v: ::std::string::String) {
161        self.id = v;
162    }
163
164    // Mutable pointer to the field.
165    // If field is not initialized, it is initialized with default value first.
166    pub fn mut_id(&mut self) -> &mut ::std::string::String {
167        &mut self.id
168    }
169
170    // Take field
171    pub fn take_id(&mut self) -> ::std::string::String {
172        ::std::mem::replace(&mut self.id, ::std::string::String::new())
173    }
174
175    // repeated .google.protobuf.Api apis = 3;
176
177
178    pub fn get_apis(&self) -> &[::protobuf::well_known_types::Api] {
179        &self.apis
180    }
181    pub fn clear_apis(&mut self) {
182        self.apis.clear();
183    }
184
185    // Param is passed by value, moved
186    pub fn set_apis(&mut self, v: ::protobuf::RepeatedField<::protobuf::well_known_types::Api>) {
187        self.apis = v;
188    }
189
190    // Mutable pointer to the field.
191    pub fn mut_apis(&mut self) -> &mut ::protobuf::RepeatedField<::protobuf::well_known_types::Api> {
192        &mut self.apis
193    }
194
195    // Take field
196    pub fn take_apis(&mut self) -> ::protobuf::RepeatedField<::protobuf::well_known_types::Api> {
197        ::std::mem::replace(&mut self.apis, ::protobuf::RepeatedField::new())
198    }
199
200    // repeated .google.protobuf.Type types = 4;
201
202
203    pub fn get_types(&self) -> &[::protobuf::well_known_types::Type] {
204        &self.types
205    }
206    pub fn clear_types(&mut self) {
207        self.types.clear();
208    }
209
210    // Param is passed by value, moved
211    pub fn set_types(&mut self, v: ::protobuf::RepeatedField<::protobuf::well_known_types::Type>) {
212        self.types = v;
213    }
214
215    // Mutable pointer to the field.
216    pub fn mut_types(&mut self) -> &mut ::protobuf::RepeatedField<::protobuf::well_known_types::Type> {
217        &mut self.types
218    }
219
220    // Take field
221    pub fn take_types(&mut self) -> ::protobuf::RepeatedField<::protobuf::well_known_types::Type> {
222        ::std::mem::replace(&mut self.types, ::protobuf::RepeatedField::new())
223    }
224
225    // repeated .google.protobuf.Enum enums = 5;
226
227
228    pub fn get_enums(&self) -> &[::protobuf::well_known_types::Enum] {
229        &self.enums
230    }
231    pub fn clear_enums(&mut self) {
232        self.enums.clear();
233    }
234
235    // Param is passed by value, moved
236    pub fn set_enums(&mut self, v: ::protobuf::RepeatedField<::protobuf::well_known_types::Enum>) {
237        self.enums = v;
238    }
239
240    // Mutable pointer to the field.
241    pub fn mut_enums(&mut self) -> &mut ::protobuf::RepeatedField<::protobuf::well_known_types::Enum> {
242        &mut self.enums
243    }
244
245    // Take field
246    pub fn take_enums(&mut self) -> ::protobuf::RepeatedField<::protobuf::well_known_types::Enum> {
247        ::std::mem::replace(&mut self.enums, ::protobuf::RepeatedField::new())
248    }
249
250    // .google.api.Documentation documentation = 6;
251
252
253    pub fn get_documentation(&self) -> &super::documentation::Documentation {
254        self.documentation.as_ref().unwrap_or_else(|| <super::documentation::Documentation as ::protobuf::Message>::default_instance())
255    }
256    pub fn clear_documentation(&mut self) {
257        self.documentation.clear();
258    }
259
260    pub fn has_documentation(&self) -> bool {
261        self.documentation.is_some()
262    }
263
264    // Param is passed by value, moved
265    pub fn set_documentation(&mut self, v: super::documentation::Documentation) {
266        self.documentation = ::protobuf::SingularPtrField::some(v);
267    }
268
269    // Mutable pointer to the field.
270    // If field is not initialized, it is initialized with default value first.
271    pub fn mut_documentation(&mut self) -> &mut super::documentation::Documentation {
272        if self.documentation.is_none() {
273            self.documentation.set_default();
274        }
275        self.documentation.as_mut().unwrap()
276    }
277
278    // Take field
279    pub fn take_documentation(&mut self) -> super::documentation::Documentation {
280        self.documentation.take().unwrap_or_else(|| super::documentation::Documentation::new())
281    }
282
283    // .google.api.Backend backend = 8;
284
285
286    pub fn get_backend(&self) -> &super::backend::Backend {
287        self.backend.as_ref().unwrap_or_else(|| <super::backend::Backend as ::protobuf::Message>::default_instance())
288    }
289    pub fn clear_backend(&mut self) {
290        self.backend.clear();
291    }
292
293    pub fn has_backend(&self) -> bool {
294        self.backend.is_some()
295    }
296
297    // Param is passed by value, moved
298    pub fn set_backend(&mut self, v: super::backend::Backend) {
299        self.backend = ::protobuf::SingularPtrField::some(v);
300    }
301
302    // Mutable pointer to the field.
303    // If field is not initialized, it is initialized with default value first.
304    pub fn mut_backend(&mut self) -> &mut super::backend::Backend {
305        if self.backend.is_none() {
306            self.backend.set_default();
307        }
308        self.backend.as_mut().unwrap()
309    }
310
311    // Take field
312    pub fn take_backend(&mut self) -> super::backend::Backend {
313        self.backend.take().unwrap_or_else(|| super::backend::Backend::new())
314    }
315
316    // .google.api.Http http = 9;
317
318
319    pub fn get_http(&self) -> &super::http::Http {
320        self.http.as_ref().unwrap_or_else(|| <super::http::Http as ::protobuf::Message>::default_instance())
321    }
322    pub fn clear_http(&mut self) {
323        self.http.clear();
324    }
325
326    pub fn has_http(&self) -> bool {
327        self.http.is_some()
328    }
329
330    // Param is passed by value, moved
331    pub fn set_http(&mut self, v: super::http::Http) {
332        self.http = ::protobuf::SingularPtrField::some(v);
333    }
334
335    // Mutable pointer to the field.
336    // If field is not initialized, it is initialized with default value first.
337    pub fn mut_http(&mut self) -> &mut super::http::Http {
338        if self.http.is_none() {
339            self.http.set_default();
340        }
341        self.http.as_mut().unwrap()
342    }
343
344    // Take field
345    pub fn take_http(&mut self) -> super::http::Http {
346        self.http.take().unwrap_or_else(|| super::http::Http::new())
347    }
348
349    // .google.api.Quota quota = 10;
350
351
352    pub fn get_quota(&self) -> &super::quota::Quota {
353        self.quota.as_ref().unwrap_or_else(|| <super::quota::Quota as ::protobuf::Message>::default_instance())
354    }
355    pub fn clear_quota(&mut self) {
356        self.quota.clear();
357    }
358
359    pub fn has_quota(&self) -> bool {
360        self.quota.is_some()
361    }
362
363    // Param is passed by value, moved
364    pub fn set_quota(&mut self, v: super::quota::Quota) {
365        self.quota = ::protobuf::SingularPtrField::some(v);
366    }
367
368    // Mutable pointer to the field.
369    // If field is not initialized, it is initialized with default value first.
370    pub fn mut_quota(&mut self) -> &mut super::quota::Quota {
371        if self.quota.is_none() {
372            self.quota.set_default();
373        }
374        self.quota.as_mut().unwrap()
375    }
376
377    // Take field
378    pub fn take_quota(&mut self) -> super::quota::Quota {
379        self.quota.take().unwrap_or_else(|| super::quota::Quota::new())
380    }
381
382    // .google.api.Authentication authentication = 11;
383
384
385    pub fn get_authentication(&self) -> &super::auth::Authentication {
386        self.authentication.as_ref().unwrap_or_else(|| <super::auth::Authentication as ::protobuf::Message>::default_instance())
387    }
388    pub fn clear_authentication(&mut self) {
389        self.authentication.clear();
390    }
391
392    pub fn has_authentication(&self) -> bool {
393        self.authentication.is_some()
394    }
395
396    // Param is passed by value, moved
397    pub fn set_authentication(&mut self, v: super::auth::Authentication) {
398        self.authentication = ::protobuf::SingularPtrField::some(v);
399    }
400
401    // Mutable pointer to the field.
402    // If field is not initialized, it is initialized with default value first.
403    pub fn mut_authentication(&mut self) -> &mut super::auth::Authentication {
404        if self.authentication.is_none() {
405            self.authentication.set_default();
406        }
407        self.authentication.as_mut().unwrap()
408    }
409
410    // Take field
411    pub fn take_authentication(&mut self) -> super::auth::Authentication {
412        self.authentication.take().unwrap_or_else(|| super::auth::Authentication::new())
413    }
414
415    // .google.api.Context context = 12;
416
417
418    pub fn get_context(&self) -> &super::context::Context {
419        self.context.as_ref().unwrap_or_else(|| <super::context::Context as ::protobuf::Message>::default_instance())
420    }
421    pub fn clear_context(&mut self) {
422        self.context.clear();
423    }
424
425    pub fn has_context(&self) -> bool {
426        self.context.is_some()
427    }
428
429    // Param is passed by value, moved
430    pub fn set_context(&mut self, v: super::context::Context) {
431        self.context = ::protobuf::SingularPtrField::some(v);
432    }
433
434    // Mutable pointer to the field.
435    // If field is not initialized, it is initialized with default value first.
436    pub fn mut_context(&mut self) -> &mut super::context::Context {
437        if self.context.is_none() {
438            self.context.set_default();
439        }
440        self.context.as_mut().unwrap()
441    }
442
443    // Take field
444    pub fn take_context(&mut self) -> super::context::Context {
445        self.context.take().unwrap_or_else(|| super::context::Context::new())
446    }
447
448    // .google.api.Usage usage = 15;
449
450
451    pub fn get_usage(&self) -> &super::usage::Usage {
452        self.usage.as_ref().unwrap_or_else(|| <super::usage::Usage as ::protobuf::Message>::default_instance())
453    }
454    pub fn clear_usage(&mut self) {
455        self.usage.clear();
456    }
457
458    pub fn has_usage(&self) -> bool {
459        self.usage.is_some()
460    }
461
462    // Param is passed by value, moved
463    pub fn set_usage(&mut self, v: super::usage::Usage) {
464        self.usage = ::protobuf::SingularPtrField::some(v);
465    }
466
467    // Mutable pointer to the field.
468    // If field is not initialized, it is initialized with default value first.
469    pub fn mut_usage(&mut self) -> &mut super::usage::Usage {
470        if self.usage.is_none() {
471            self.usage.set_default();
472        }
473        self.usage.as_mut().unwrap()
474    }
475
476    // Take field
477    pub fn take_usage(&mut self) -> super::usage::Usage {
478        self.usage.take().unwrap_or_else(|| super::usage::Usage::new())
479    }
480
481    // repeated .google.api.Endpoint endpoints = 18;
482
483
484    pub fn get_endpoints(&self) -> &[super::endpoint::Endpoint] {
485        &self.endpoints
486    }
487    pub fn clear_endpoints(&mut self) {
488        self.endpoints.clear();
489    }
490
491    // Param is passed by value, moved
492    pub fn set_endpoints(&mut self, v: ::protobuf::RepeatedField<super::endpoint::Endpoint>) {
493        self.endpoints = v;
494    }
495
496    // Mutable pointer to the field.
497    pub fn mut_endpoints(&mut self) -> &mut ::protobuf::RepeatedField<super::endpoint::Endpoint> {
498        &mut self.endpoints
499    }
500
501    // Take field
502    pub fn take_endpoints(&mut self) -> ::protobuf::RepeatedField<super::endpoint::Endpoint> {
503        ::std::mem::replace(&mut self.endpoints, ::protobuf::RepeatedField::new())
504    }
505
506    // .google.api.Control control = 21;
507
508
509    pub fn get_control(&self) -> &super::control::Control {
510        self.control.as_ref().unwrap_or_else(|| <super::control::Control as ::protobuf::Message>::default_instance())
511    }
512    pub fn clear_control(&mut self) {
513        self.control.clear();
514    }
515
516    pub fn has_control(&self) -> bool {
517        self.control.is_some()
518    }
519
520    // Param is passed by value, moved
521    pub fn set_control(&mut self, v: super::control::Control) {
522        self.control = ::protobuf::SingularPtrField::some(v);
523    }
524
525    // Mutable pointer to the field.
526    // If field is not initialized, it is initialized with default value first.
527    pub fn mut_control(&mut self) -> &mut super::control::Control {
528        if self.control.is_none() {
529            self.control.set_default();
530        }
531        self.control.as_mut().unwrap()
532    }
533
534    // Take field
535    pub fn take_control(&mut self) -> super::control::Control {
536        self.control.take().unwrap_or_else(|| super::control::Control::new())
537    }
538
539    // repeated .google.api.LogDescriptor logs = 23;
540
541
542    pub fn get_logs(&self) -> &[super::log::LogDescriptor] {
543        &self.logs
544    }
545    pub fn clear_logs(&mut self) {
546        self.logs.clear();
547    }
548
549    // Param is passed by value, moved
550    pub fn set_logs(&mut self, v: ::protobuf::RepeatedField<super::log::LogDescriptor>) {
551        self.logs = v;
552    }
553
554    // Mutable pointer to the field.
555    pub fn mut_logs(&mut self) -> &mut ::protobuf::RepeatedField<super::log::LogDescriptor> {
556        &mut self.logs
557    }
558
559    // Take field
560    pub fn take_logs(&mut self) -> ::protobuf::RepeatedField<super::log::LogDescriptor> {
561        ::std::mem::replace(&mut self.logs, ::protobuf::RepeatedField::new())
562    }
563
564    // repeated .google.api.MetricDescriptor metrics = 24;
565
566
567    pub fn get_metrics(&self) -> &[super::metric::MetricDescriptor] {
568        &self.metrics
569    }
570    pub fn clear_metrics(&mut self) {
571        self.metrics.clear();
572    }
573
574    // Param is passed by value, moved
575    pub fn set_metrics(&mut self, v: ::protobuf::RepeatedField<super::metric::MetricDescriptor>) {
576        self.metrics = v;
577    }
578
579    // Mutable pointer to the field.
580    pub fn mut_metrics(&mut self) -> &mut ::protobuf::RepeatedField<super::metric::MetricDescriptor> {
581        &mut self.metrics
582    }
583
584    // Take field
585    pub fn take_metrics(&mut self) -> ::protobuf::RepeatedField<super::metric::MetricDescriptor> {
586        ::std::mem::replace(&mut self.metrics, ::protobuf::RepeatedField::new())
587    }
588
589    // repeated .google.api.MonitoredResourceDescriptor monitored_resources = 25;
590
591
592    pub fn get_monitored_resources(&self) -> &[super::monitored_resource::MonitoredResourceDescriptor] {
593        &self.monitored_resources
594    }
595    pub fn clear_monitored_resources(&mut self) {
596        self.monitored_resources.clear();
597    }
598
599    // Param is passed by value, moved
600    pub fn set_monitored_resources(&mut self, v: ::protobuf::RepeatedField<super::monitored_resource::MonitoredResourceDescriptor>) {
601        self.monitored_resources = v;
602    }
603
604    // Mutable pointer to the field.
605    pub fn mut_monitored_resources(&mut self) -> &mut ::protobuf::RepeatedField<super::monitored_resource::MonitoredResourceDescriptor> {
606        &mut self.monitored_resources
607    }
608
609    // Take field
610    pub fn take_monitored_resources(&mut self) -> ::protobuf::RepeatedField<super::monitored_resource::MonitoredResourceDescriptor> {
611        ::std::mem::replace(&mut self.monitored_resources, ::protobuf::RepeatedField::new())
612    }
613
614    // .google.api.Billing billing = 26;
615
616
617    pub fn get_billing(&self) -> &super::billing::Billing {
618        self.billing.as_ref().unwrap_or_else(|| <super::billing::Billing as ::protobuf::Message>::default_instance())
619    }
620    pub fn clear_billing(&mut self) {
621        self.billing.clear();
622    }
623
624    pub fn has_billing(&self) -> bool {
625        self.billing.is_some()
626    }
627
628    // Param is passed by value, moved
629    pub fn set_billing(&mut self, v: super::billing::Billing) {
630        self.billing = ::protobuf::SingularPtrField::some(v);
631    }
632
633    // Mutable pointer to the field.
634    // If field is not initialized, it is initialized with default value first.
635    pub fn mut_billing(&mut self) -> &mut super::billing::Billing {
636        if self.billing.is_none() {
637            self.billing.set_default();
638        }
639        self.billing.as_mut().unwrap()
640    }
641
642    // Take field
643    pub fn take_billing(&mut self) -> super::billing::Billing {
644        self.billing.take().unwrap_or_else(|| super::billing::Billing::new())
645    }
646
647    // .google.api.Logging logging = 27;
648
649
650    pub fn get_logging(&self) -> &super::logging::Logging {
651        self.logging.as_ref().unwrap_or_else(|| <super::logging::Logging as ::protobuf::Message>::default_instance())
652    }
653    pub fn clear_logging(&mut self) {
654        self.logging.clear();
655    }
656
657    pub fn has_logging(&self) -> bool {
658        self.logging.is_some()
659    }
660
661    // Param is passed by value, moved
662    pub fn set_logging(&mut self, v: super::logging::Logging) {
663        self.logging = ::protobuf::SingularPtrField::some(v);
664    }
665
666    // Mutable pointer to the field.
667    // If field is not initialized, it is initialized with default value first.
668    pub fn mut_logging(&mut self) -> &mut super::logging::Logging {
669        if self.logging.is_none() {
670            self.logging.set_default();
671        }
672        self.logging.as_mut().unwrap()
673    }
674
675    // Take field
676    pub fn take_logging(&mut self) -> super::logging::Logging {
677        self.logging.take().unwrap_or_else(|| super::logging::Logging::new())
678    }
679
680    // .google.api.Monitoring monitoring = 28;
681
682
683    pub fn get_monitoring(&self) -> &super::monitoring::Monitoring {
684        self.monitoring.as_ref().unwrap_or_else(|| <super::monitoring::Monitoring as ::protobuf::Message>::default_instance())
685    }
686    pub fn clear_monitoring(&mut self) {
687        self.monitoring.clear();
688    }
689
690    pub fn has_monitoring(&self) -> bool {
691        self.monitoring.is_some()
692    }
693
694    // Param is passed by value, moved
695    pub fn set_monitoring(&mut self, v: super::monitoring::Monitoring) {
696        self.monitoring = ::protobuf::SingularPtrField::some(v);
697    }
698
699    // Mutable pointer to the field.
700    // If field is not initialized, it is initialized with default value first.
701    pub fn mut_monitoring(&mut self) -> &mut super::monitoring::Monitoring {
702        if self.monitoring.is_none() {
703            self.monitoring.set_default();
704        }
705        self.monitoring.as_mut().unwrap()
706    }
707
708    // Take field
709    pub fn take_monitoring(&mut self) -> super::monitoring::Monitoring {
710        self.monitoring.take().unwrap_or_else(|| super::monitoring::Monitoring::new())
711    }
712
713    // .google.api.SystemParameters system_parameters = 29;
714
715
716    pub fn get_system_parameters(&self) -> &super::system_parameter::SystemParameters {
717        self.system_parameters.as_ref().unwrap_or_else(|| <super::system_parameter::SystemParameters as ::protobuf::Message>::default_instance())
718    }
719    pub fn clear_system_parameters(&mut self) {
720        self.system_parameters.clear();
721    }
722
723    pub fn has_system_parameters(&self) -> bool {
724        self.system_parameters.is_some()
725    }
726
727    // Param is passed by value, moved
728    pub fn set_system_parameters(&mut self, v: super::system_parameter::SystemParameters) {
729        self.system_parameters = ::protobuf::SingularPtrField::some(v);
730    }
731
732    // Mutable pointer to the field.
733    // If field is not initialized, it is initialized with default value first.
734    pub fn mut_system_parameters(&mut self) -> &mut super::system_parameter::SystemParameters {
735        if self.system_parameters.is_none() {
736            self.system_parameters.set_default();
737        }
738        self.system_parameters.as_mut().unwrap()
739    }
740
741    // Take field
742    pub fn take_system_parameters(&mut self) -> super::system_parameter::SystemParameters {
743        self.system_parameters.take().unwrap_or_else(|| super::system_parameter::SystemParameters::new())
744    }
745
746    // .google.api.SourceInfo source_info = 37;
747
748
749    pub fn get_source_info(&self) -> &super::source_info::SourceInfo {
750        self.source_info.as_ref().unwrap_or_else(|| <super::source_info::SourceInfo as ::protobuf::Message>::default_instance())
751    }
752    pub fn clear_source_info(&mut self) {
753        self.source_info.clear();
754    }
755
756    pub fn has_source_info(&self) -> bool {
757        self.source_info.is_some()
758    }
759
760    // Param is passed by value, moved
761    pub fn set_source_info(&mut self, v: super::source_info::SourceInfo) {
762        self.source_info = ::protobuf::SingularPtrField::some(v);
763    }
764
765    // Mutable pointer to the field.
766    // If field is not initialized, it is initialized with default value first.
767    pub fn mut_source_info(&mut self) -> &mut super::source_info::SourceInfo {
768        if self.source_info.is_none() {
769            self.source_info.set_default();
770        }
771        self.source_info.as_mut().unwrap()
772    }
773
774    // Take field
775    pub fn take_source_info(&mut self) -> super::source_info::SourceInfo {
776        self.source_info.take().unwrap_or_else(|| super::source_info::SourceInfo::new())
777    }
778
779    // .google.api.Publishing publishing = 45;
780
781
782    pub fn get_publishing(&self) -> &super::client::Publishing {
783        self.publishing.as_ref().unwrap_or_else(|| <super::client::Publishing as ::protobuf::Message>::default_instance())
784    }
785    pub fn clear_publishing(&mut self) {
786        self.publishing.clear();
787    }
788
789    pub fn has_publishing(&self) -> bool {
790        self.publishing.is_some()
791    }
792
793    // Param is passed by value, moved
794    pub fn set_publishing(&mut self, v: super::client::Publishing) {
795        self.publishing = ::protobuf::SingularPtrField::some(v);
796    }
797
798    // Mutable pointer to the field.
799    // If field is not initialized, it is initialized with default value first.
800    pub fn mut_publishing(&mut self) -> &mut super::client::Publishing {
801        if self.publishing.is_none() {
802            self.publishing.set_default();
803        }
804        self.publishing.as_mut().unwrap()
805    }
806
807    // Take field
808    pub fn take_publishing(&mut self) -> super::client::Publishing {
809        self.publishing.take().unwrap_or_else(|| super::client::Publishing::new())
810    }
811
812    // .google.protobuf.UInt32Value config_version = 20;
813
814
815    pub fn get_config_version(&self) -> &::protobuf::well_known_types::UInt32Value {
816        self.config_version.as_ref().unwrap_or_else(|| <::protobuf::well_known_types::UInt32Value as ::protobuf::Message>::default_instance())
817    }
818    pub fn clear_config_version(&mut self) {
819        self.config_version.clear();
820    }
821
822    pub fn has_config_version(&self) -> bool {
823        self.config_version.is_some()
824    }
825
826    // Param is passed by value, moved
827    pub fn set_config_version(&mut self, v: ::protobuf::well_known_types::UInt32Value) {
828        self.config_version = ::protobuf::SingularPtrField::some(v);
829    }
830
831    // Mutable pointer to the field.
832    // If field is not initialized, it is initialized with default value first.
833    pub fn mut_config_version(&mut self) -> &mut ::protobuf::well_known_types::UInt32Value {
834        if self.config_version.is_none() {
835            self.config_version.set_default();
836        }
837        self.config_version.as_mut().unwrap()
838    }
839
840    // Take field
841    pub fn take_config_version(&mut self) -> ::protobuf::well_known_types::UInt32Value {
842        self.config_version.take().unwrap_or_else(|| ::protobuf::well_known_types::UInt32Value::new())
843    }
844}
845
846impl ::protobuf::Message for Service {
847    fn is_initialized(&self) -> bool {
848        for v in &self.apis {
849            if !v.is_initialized() {
850                return false;
851            }
852        };
853        for v in &self.types {
854            if !v.is_initialized() {
855                return false;
856            }
857        };
858        for v in &self.enums {
859            if !v.is_initialized() {
860                return false;
861            }
862        };
863        for v in &self.documentation {
864            if !v.is_initialized() {
865                return false;
866            }
867        };
868        for v in &self.backend {
869            if !v.is_initialized() {
870                return false;
871            }
872        };
873        for v in &self.http {
874            if !v.is_initialized() {
875                return false;
876            }
877        };
878        for v in &self.quota {
879            if !v.is_initialized() {
880                return false;
881            }
882        };
883        for v in &self.authentication {
884            if !v.is_initialized() {
885                return false;
886            }
887        };
888        for v in &self.context {
889            if !v.is_initialized() {
890                return false;
891            }
892        };
893        for v in &self.usage {
894            if !v.is_initialized() {
895                return false;
896            }
897        };
898        for v in &self.endpoints {
899            if !v.is_initialized() {
900                return false;
901            }
902        };
903        for v in &self.control {
904            if !v.is_initialized() {
905                return false;
906            }
907        };
908        for v in &self.logs {
909            if !v.is_initialized() {
910                return false;
911            }
912        };
913        for v in &self.metrics {
914            if !v.is_initialized() {
915                return false;
916            }
917        };
918        for v in &self.monitored_resources {
919            if !v.is_initialized() {
920                return false;
921            }
922        };
923        for v in &self.billing {
924            if !v.is_initialized() {
925                return false;
926            }
927        };
928        for v in &self.logging {
929            if !v.is_initialized() {
930                return false;
931            }
932        };
933        for v in &self.monitoring {
934            if !v.is_initialized() {
935                return false;
936            }
937        };
938        for v in &self.system_parameters {
939            if !v.is_initialized() {
940                return false;
941            }
942        };
943        for v in &self.source_info {
944            if !v.is_initialized() {
945                return false;
946            }
947        };
948        for v in &self.publishing {
949            if !v.is_initialized() {
950                return false;
951            }
952        };
953        for v in &self.config_version {
954            if !v.is_initialized() {
955                return false;
956            }
957        };
958        true
959    }
960
961    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
962        while !is.eof()? {
963            let (field_number, wire_type) = is.read_tag_unpack()?;
964            match field_number {
965                1 => {
966                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
967                },
968                2 => {
969                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.title)?;
970                },
971                22 => {
972                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.producer_project_id)?;
973                },
974                33 => {
975                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.id)?;
976                },
977                3 => {
978                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.apis)?;
979                },
980                4 => {
981                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.types)?;
982                },
983                5 => {
984                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.enums)?;
985                },
986                6 => {
987                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.documentation)?;
988                },
989                8 => {
990                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.backend)?;
991                },
992                9 => {
993                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.http)?;
994                },
995                10 => {
996                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.quota)?;
997                },
998                11 => {
999                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.authentication)?;
1000                },
1001                12 => {
1002                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.context)?;
1003                },
1004                15 => {
1005                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.usage)?;
1006                },
1007                18 => {
1008                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.endpoints)?;
1009                },
1010                21 => {
1011                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.control)?;
1012                },
1013                23 => {
1014                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.logs)?;
1015                },
1016                24 => {
1017                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.metrics)?;
1018                },
1019                25 => {
1020                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.monitored_resources)?;
1021                },
1022                26 => {
1023                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.billing)?;
1024                },
1025                27 => {
1026                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.logging)?;
1027                },
1028                28 => {
1029                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.monitoring)?;
1030                },
1031                29 => {
1032                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.system_parameters)?;
1033                },
1034                37 => {
1035                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.source_info)?;
1036                },
1037                45 => {
1038                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.publishing)?;
1039                },
1040                20 => {
1041                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.config_version)?;
1042                },
1043                _ => {
1044                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1045                },
1046            };
1047        }
1048        ::std::result::Result::Ok(())
1049    }
1050
1051    // Compute sizes of nested messages
1052    #[allow(unused_variables)]
1053    fn compute_size(&self) -> u32 {
1054        let mut my_size = 0;
1055        if !self.name.is_empty() {
1056            my_size += ::protobuf::rt::string_size(1, &self.name);
1057        }
1058        if !self.title.is_empty() {
1059            my_size += ::protobuf::rt::string_size(2, &self.title);
1060        }
1061        if !self.producer_project_id.is_empty() {
1062            my_size += ::protobuf::rt::string_size(22, &self.producer_project_id);
1063        }
1064        if !self.id.is_empty() {
1065            my_size += ::protobuf::rt::string_size(33, &self.id);
1066        }
1067        for value in &self.apis {
1068            let len = value.compute_size();
1069            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1070        };
1071        for value in &self.types {
1072            let len = value.compute_size();
1073            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1074        };
1075        for value in &self.enums {
1076            let len = value.compute_size();
1077            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1078        };
1079        if let Some(ref v) = self.documentation.as_ref() {
1080            let len = v.compute_size();
1081            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1082        }
1083        if let Some(ref v) = self.backend.as_ref() {
1084            let len = v.compute_size();
1085            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1086        }
1087        if let Some(ref v) = self.http.as_ref() {
1088            let len = v.compute_size();
1089            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1090        }
1091        if let Some(ref v) = self.quota.as_ref() {
1092            let len = v.compute_size();
1093            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1094        }
1095        if let Some(ref v) = self.authentication.as_ref() {
1096            let len = v.compute_size();
1097            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1098        }
1099        if let Some(ref v) = self.context.as_ref() {
1100            let len = v.compute_size();
1101            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1102        }
1103        if let Some(ref v) = self.usage.as_ref() {
1104            let len = v.compute_size();
1105            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1106        }
1107        for value in &self.endpoints {
1108            let len = value.compute_size();
1109            my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1110        };
1111        if let Some(ref v) = self.control.as_ref() {
1112            let len = v.compute_size();
1113            my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1114        }
1115        for value in &self.logs {
1116            let len = value.compute_size();
1117            my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1118        };
1119        for value in &self.metrics {
1120            let len = value.compute_size();
1121            my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1122        };
1123        for value in &self.monitored_resources {
1124            let len = value.compute_size();
1125            my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1126        };
1127        if let Some(ref v) = self.billing.as_ref() {
1128            let len = v.compute_size();
1129            my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1130        }
1131        if let Some(ref v) = self.logging.as_ref() {
1132            let len = v.compute_size();
1133            my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1134        }
1135        if let Some(ref v) = self.monitoring.as_ref() {
1136            let len = v.compute_size();
1137            my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1138        }
1139        if let Some(ref v) = self.system_parameters.as_ref() {
1140            let len = v.compute_size();
1141            my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1142        }
1143        if let Some(ref v) = self.source_info.as_ref() {
1144            let len = v.compute_size();
1145            my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1146        }
1147        if let Some(ref v) = self.publishing.as_ref() {
1148            let len = v.compute_size();
1149            my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1150        }
1151        if let Some(ref v) = self.config_version.as_ref() {
1152            let len = v.compute_size();
1153            my_size += 2 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1154        }
1155        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1156        self.cached_size.set(my_size);
1157        my_size
1158    }
1159
1160    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1161        if !self.name.is_empty() {
1162            os.write_string(1, &self.name)?;
1163        }
1164        if !self.title.is_empty() {
1165            os.write_string(2, &self.title)?;
1166        }
1167        if !self.producer_project_id.is_empty() {
1168            os.write_string(22, &self.producer_project_id)?;
1169        }
1170        if !self.id.is_empty() {
1171            os.write_string(33, &self.id)?;
1172        }
1173        for v in &self.apis {
1174            os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1175            os.write_raw_varint32(v.get_cached_size())?;
1176            v.write_to_with_cached_sizes(os)?;
1177        };
1178        for v in &self.types {
1179            os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1180            os.write_raw_varint32(v.get_cached_size())?;
1181            v.write_to_with_cached_sizes(os)?;
1182        };
1183        for v in &self.enums {
1184            os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1185            os.write_raw_varint32(v.get_cached_size())?;
1186            v.write_to_with_cached_sizes(os)?;
1187        };
1188        if let Some(ref v) = self.documentation.as_ref() {
1189            os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1190            os.write_raw_varint32(v.get_cached_size())?;
1191            v.write_to_with_cached_sizes(os)?;
1192        }
1193        if let Some(ref v) = self.backend.as_ref() {
1194            os.write_tag(8, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1195            os.write_raw_varint32(v.get_cached_size())?;
1196            v.write_to_with_cached_sizes(os)?;
1197        }
1198        if let Some(ref v) = self.http.as_ref() {
1199            os.write_tag(9, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1200            os.write_raw_varint32(v.get_cached_size())?;
1201            v.write_to_with_cached_sizes(os)?;
1202        }
1203        if let Some(ref v) = self.quota.as_ref() {
1204            os.write_tag(10, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1205            os.write_raw_varint32(v.get_cached_size())?;
1206            v.write_to_with_cached_sizes(os)?;
1207        }
1208        if let Some(ref v) = self.authentication.as_ref() {
1209            os.write_tag(11, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1210            os.write_raw_varint32(v.get_cached_size())?;
1211            v.write_to_with_cached_sizes(os)?;
1212        }
1213        if let Some(ref v) = self.context.as_ref() {
1214            os.write_tag(12, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1215            os.write_raw_varint32(v.get_cached_size())?;
1216            v.write_to_with_cached_sizes(os)?;
1217        }
1218        if let Some(ref v) = self.usage.as_ref() {
1219            os.write_tag(15, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1220            os.write_raw_varint32(v.get_cached_size())?;
1221            v.write_to_with_cached_sizes(os)?;
1222        }
1223        for v in &self.endpoints {
1224            os.write_tag(18, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1225            os.write_raw_varint32(v.get_cached_size())?;
1226            v.write_to_with_cached_sizes(os)?;
1227        };
1228        if let Some(ref v) = self.control.as_ref() {
1229            os.write_tag(21, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1230            os.write_raw_varint32(v.get_cached_size())?;
1231            v.write_to_with_cached_sizes(os)?;
1232        }
1233        for v in &self.logs {
1234            os.write_tag(23, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1235            os.write_raw_varint32(v.get_cached_size())?;
1236            v.write_to_with_cached_sizes(os)?;
1237        };
1238        for v in &self.metrics {
1239            os.write_tag(24, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1240            os.write_raw_varint32(v.get_cached_size())?;
1241            v.write_to_with_cached_sizes(os)?;
1242        };
1243        for v in &self.monitored_resources {
1244            os.write_tag(25, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1245            os.write_raw_varint32(v.get_cached_size())?;
1246            v.write_to_with_cached_sizes(os)?;
1247        };
1248        if let Some(ref v) = self.billing.as_ref() {
1249            os.write_tag(26, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1250            os.write_raw_varint32(v.get_cached_size())?;
1251            v.write_to_with_cached_sizes(os)?;
1252        }
1253        if let Some(ref v) = self.logging.as_ref() {
1254            os.write_tag(27, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1255            os.write_raw_varint32(v.get_cached_size())?;
1256            v.write_to_with_cached_sizes(os)?;
1257        }
1258        if let Some(ref v) = self.monitoring.as_ref() {
1259            os.write_tag(28, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1260            os.write_raw_varint32(v.get_cached_size())?;
1261            v.write_to_with_cached_sizes(os)?;
1262        }
1263        if let Some(ref v) = self.system_parameters.as_ref() {
1264            os.write_tag(29, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1265            os.write_raw_varint32(v.get_cached_size())?;
1266            v.write_to_with_cached_sizes(os)?;
1267        }
1268        if let Some(ref v) = self.source_info.as_ref() {
1269            os.write_tag(37, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1270            os.write_raw_varint32(v.get_cached_size())?;
1271            v.write_to_with_cached_sizes(os)?;
1272        }
1273        if let Some(ref v) = self.publishing.as_ref() {
1274            os.write_tag(45, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1275            os.write_raw_varint32(v.get_cached_size())?;
1276            v.write_to_with_cached_sizes(os)?;
1277        }
1278        if let Some(ref v) = self.config_version.as_ref() {
1279            os.write_tag(20, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1280            os.write_raw_varint32(v.get_cached_size())?;
1281            v.write_to_with_cached_sizes(os)?;
1282        }
1283        os.write_unknown_fields(self.get_unknown_fields())?;
1284        ::std::result::Result::Ok(())
1285    }
1286
1287    fn get_cached_size(&self) -> u32 {
1288        self.cached_size.get()
1289    }
1290
1291    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1292        &self.unknown_fields
1293    }
1294
1295    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1296        &mut self.unknown_fields
1297    }
1298
1299    fn as_any(&self) -> &dyn (::std::any::Any) {
1300        self as &dyn (::std::any::Any)
1301    }
1302    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1303        self as &mut dyn (::std::any::Any)
1304    }
1305    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1306        self
1307    }
1308
1309    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1310        Self::descriptor_static()
1311    }
1312
1313    fn new() -> Service {
1314        Service::new()
1315    }
1316
1317    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1318        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1319        descriptor.get(|| {
1320            let mut fields = ::std::vec::Vec::new();
1321            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1322                "name",
1323                |m: &Service| { &m.name },
1324                |m: &mut Service| { &mut m.name },
1325            ));
1326            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1327                "title",
1328                |m: &Service| { &m.title },
1329                |m: &mut Service| { &mut m.title },
1330            ));
1331            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1332                "producer_project_id",
1333                |m: &Service| { &m.producer_project_id },
1334                |m: &mut Service| { &mut m.producer_project_id },
1335            ));
1336            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1337                "id",
1338                |m: &Service| { &m.id },
1339                |m: &mut Service| { &mut m.id },
1340            ));
1341            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Api>>(
1342                "apis",
1343                |m: &Service| { &m.apis },
1344                |m: &mut Service| { &mut m.apis },
1345            ));
1346            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Type>>(
1347                "types",
1348                |m: &Service| { &m.types },
1349                |m: &mut Service| { &mut m.types },
1350            ));
1351            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::Enum>>(
1352                "enums",
1353                |m: &Service| { &m.enums },
1354                |m: &mut Service| { &mut m.enums },
1355            ));
1356            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::documentation::Documentation>>(
1357                "documentation",
1358                |m: &Service| { &m.documentation },
1359                |m: &mut Service| { &mut m.documentation },
1360            ));
1361            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::backend::Backend>>(
1362                "backend",
1363                |m: &Service| { &m.backend },
1364                |m: &mut Service| { &mut m.backend },
1365            ));
1366            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::http::Http>>(
1367                "http",
1368                |m: &Service| { &m.http },
1369                |m: &mut Service| { &mut m.http },
1370            ));
1371            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::quota::Quota>>(
1372                "quota",
1373                |m: &Service| { &m.quota },
1374                |m: &mut Service| { &mut m.quota },
1375            ));
1376            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::auth::Authentication>>(
1377                "authentication",
1378                |m: &Service| { &m.authentication },
1379                |m: &mut Service| { &mut m.authentication },
1380            ));
1381            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::context::Context>>(
1382                "context",
1383                |m: &Service| { &m.context },
1384                |m: &mut Service| { &mut m.context },
1385            ));
1386            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::usage::Usage>>(
1387                "usage",
1388                |m: &Service| { &m.usage },
1389                |m: &mut Service| { &mut m.usage },
1390            ));
1391            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::endpoint::Endpoint>>(
1392                "endpoints",
1393                |m: &Service| { &m.endpoints },
1394                |m: &mut Service| { &mut m.endpoints },
1395            ));
1396            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::control::Control>>(
1397                "control",
1398                |m: &Service| { &m.control },
1399                |m: &mut Service| { &mut m.control },
1400            ));
1401            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::log::LogDescriptor>>(
1402                "logs",
1403                |m: &Service| { &m.logs },
1404                |m: &mut Service| { &mut m.logs },
1405            ));
1406            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::metric::MetricDescriptor>>(
1407                "metrics",
1408                |m: &Service| { &m.metrics },
1409                |m: &mut Service| { &mut m.metrics },
1410            ));
1411            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::monitored_resource::MonitoredResourceDescriptor>>(
1412                "monitored_resources",
1413                |m: &Service| { &m.monitored_resources },
1414                |m: &mut Service| { &mut m.monitored_resources },
1415            ));
1416            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::billing::Billing>>(
1417                "billing",
1418                |m: &Service| { &m.billing },
1419                |m: &mut Service| { &mut m.billing },
1420            ));
1421            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::logging::Logging>>(
1422                "logging",
1423                |m: &Service| { &m.logging },
1424                |m: &mut Service| { &mut m.logging },
1425            ));
1426            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::monitoring::Monitoring>>(
1427                "monitoring",
1428                |m: &Service| { &m.monitoring },
1429                |m: &mut Service| { &mut m.monitoring },
1430            ));
1431            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::system_parameter::SystemParameters>>(
1432                "system_parameters",
1433                |m: &Service| { &m.system_parameters },
1434                |m: &mut Service| { &mut m.system_parameters },
1435            ));
1436            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::source_info::SourceInfo>>(
1437                "source_info",
1438                |m: &Service| { &m.source_info },
1439                |m: &mut Service| { &mut m.source_info },
1440            ));
1441            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::client::Publishing>>(
1442                "publishing",
1443                |m: &Service| { &m.publishing },
1444                |m: &mut Service| { &mut m.publishing },
1445            ));
1446            fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<::protobuf::well_known_types::UInt32Value>>(
1447                "config_version",
1448                |m: &Service| { &m.config_version },
1449                |m: &mut Service| { &mut m.config_version },
1450            ));
1451            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Service>(
1452                "Service",
1453                fields,
1454                file_descriptor_proto()
1455            )
1456        })
1457    }
1458
1459    fn default_instance() -> &'static Service {
1460        static instance: ::protobuf::rt::LazyV2<Service> = ::protobuf::rt::LazyV2::INIT;
1461        instance.get(Service::new)
1462    }
1463}
1464
1465impl ::protobuf::Clear for Service {
1466    fn clear(&mut self) {
1467        self.name.clear();
1468        self.title.clear();
1469        self.producer_project_id.clear();
1470        self.id.clear();
1471        self.apis.clear();
1472        self.types.clear();
1473        self.enums.clear();
1474        self.documentation.clear();
1475        self.backend.clear();
1476        self.http.clear();
1477        self.quota.clear();
1478        self.authentication.clear();
1479        self.context.clear();
1480        self.usage.clear();
1481        self.endpoints.clear();
1482        self.control.clear();
1483        self.logs.clear();
1484        self.metrics.clear();
1485        self.monitored_resources.clear();
1486        self.billing.clear();
1487        self.logging.clear();
1488        self.monitoring.clear();
1489        self.system_parameters.clear();
1490        self.source_info.clear();
1491        self.publishing.clear();
1492        self.config_version.clear();
1493        self.unknown_fields.clear();
1494    }
1495}
1496
1497impl ::std::fmt::Debug for Service {
1498    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1499        ::protobuf::text_format::fmt(self, f)
1500    }
1501}
1502
1503impl ::protobuf::reflect::ProtobufValue for Service {
1504    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1505        ::protobuf::reflect::ReflectValueRef::Message(self)
1506    }
1507}
1508
1509static file_descriptor_proto_data: &'static [u8] = b"\
1510    \n\x18google/api/service.proto\x12\ngoogle.api\x1a\x15google/api/auth.pr\
1511    oto\x1a\x18google/api/backend.proto\x1a\x18google/api/billing.proto\x1a\
1512    \x17google/api/client.proto\x1a\x18google/api/context.proto\x1a\x18googl\
1513    e/api/control.proto\x1a\x1egoogle/api/documentation.proto\x1a\x19google/\
1514    api/endpoint.proto\x1a\x15google/api/http.proto\x1a\x14google/api/log.pr\
1515    oto\x1a\x18google/api/logging.proto\x1a\x17google/api/metric.proto\x1a#g\
1516    oogle/api/monitored_resource.proto\x1a\x1bgoogle/api/monitoring.proto\
1517    \x1a\x16google/api/quota.proto\x1a\x1cgoogle/api/source_info.proto\x1a!g\
1518    oogle/api/system_parameter.proto\x1a\x16google/api/usage.proto\x1a\x19go\
1519    ogle/protobuf/api.proto\x1a\x1agoogle/protobuf/type.proto\x1a\x1egoogle/\
1520    protobuf/wrappers.proto\"\x8d\n\n\x07Service\x12\x12\n\x04name\x18\x01\
1521    \x20\x01(\tR\x04name\x12\x14\n\x05title\x18\x02\x20\x01(\tR\x05title\x12\
1522    .\n\x13producer_project_id\x18\x16\x20\x01(\tR\x11producerProjectId\x12\
1523    \x0e\n\x02id\x18!\x20\x01(\tR\x02id\x12(\n\x04apis\x18\x03\x20\x03(\x0b2\
1524    \x14.google.protobuf.ApiR\x04apis\x12+\n\x05types\x18\x04\x20\x03(\x0b2\
1525    \x15.google.protobuf.TypeR\x05types\x12+\n\x05enums\x18\x05\x20\x03(\x0b\
1526    2\x15.google.protobuf.EnumR\x05enums\x12?\n\rdocumentation\x18\x06\x20\
1527    \x01(\x0b2\x19.google.api.DocumentationR\rdocumentation\x12-\n\x07backen\
1528    d\x18\x08\x20\x01(\x0b2\x13.google.api.BackendR\x07backend\x12$\n\x04htt\
1529    p\x18\t\x20\x01(\x0b2\x10.google.api.HttpR\x04http\x12'\n\x05quota\x18\n\
1530    \x20\x01(\x0b2\x11.google.api.QuotaR\x05quota\x12B\n\x0eauthentication\
1531    \x18\x0b\x20\x01(\x0b2\x1a.google.api.AuthenticationR\x0eauthentication\
1532    \x12-\n\x07context\x18\x0c\x20\x01(\x0b2\x13.google.api.ContextR\x07cont\
1533    ext\x12'\n\x05usage\x18\x0f\x20\x01(\x0b2\x11.google.api.UsageR\x05usage\
1534    \x122\n\tendpoints\x18\x12\x20\x03(\x0b2\x14.google.api.EndpointR\tendpo\
1535    ints\x12-\n\x07control\x18\x15\x20\x01(\x0b2\x13.google.api.ControlR\x07\
1536    control\x12-\n\x04logs\x18\x17\x20\x03(\x0b2\x19.google.api.LogDescripto\
1537    rR\x04logs\x126\n\x07metrics\x18\x18\x20\x03(\x0b2\x1c.google.api.Metric\
1538    DescriptorR\x07metrics\x12X\n\x13monitored_resources\x18\x19\x20\x03(\
1539    \x0b2'.google.api.MonitoredResourceDescriptorR\x12monitoredResources\x12\
1540    -\n\x07billing\x18\x1a\x20\x01(\x0b2\x13.google.api.BillingR\x07billing\
1541    \x12-\n\x07logging\x18\x1b\x20\x01(\x0b2\x13.google.api.LoggingR\x07logg\
1542    ing\x126\n\nmonitoring\x18\x1c\x20\x01(\x0b2\x16.google.api.MonitoringR\
1543    \nmonitoring\x12I\n\x11system_parameters\x18\x1d\x20\x01(\x0b2\x1c.googl\
1544    e.api.SystemParametersR\x10systemParameters\x127\n\x0bsource_info\x18%\
1545    \x20\x01(\x0b2\x16.google.api.SourceInfoR\nsourceInfo\x126\n\npublishing\
1546    \x18-\x20\x01(\x0b2\x16.google.api.PublishingR\npublishing\x12C\n\x0econ\
1547    fig_version\x18\x14\x20\x01(\x0b2\x1c.google.protobuf.UInt32ValueR\rconf\
1548    igVersionBn\n\x0ecom.google.apiB\x0cServiceProtoP\x01ZEgoogle.golang.org\
1549    /genproto/googleapis/api/serviceconfig;serviceconfig\xa2\x02\x04GAPIJ\
1550    \xad3\n\x07\x12\x05\x0e\0\xbe\x01\x01\n\xbc\x04\n\x01\x0c\x12\x03\x0e\0\
1551    \x122\xb1\x04\x20Copyright\x202023\x20Google\x20LLC\n\n\x20Licensed\x20u\
1552    nder\x20the\x20Apache\x20License,\x20Version\x202.0\x20(the\x20\"License\
1553    \");\n\x20you\x20may\x20not\x20use\x20this\x20file\x20except\x20in\x20co\
1554    mpliance\x20with\x20the\x20License.\n\x20You\x20may\x20obtain\x20a\x20co\
1555    py\x20of\x20the\x20License\x20at\n\n\x20\x20\x20\x20\x20http://www.apach\
1556    e.org/licenses/LICENSE-2.0\n\n\x20Unless\x20required\x20by\x20applicable\
1557    \x20law\x20or\x20agreed\x20to\x20in\x20writing,\x20software\n\x20distrib\
1558    uted\x20under\x20the\x20License\x20is\x20distributed\x20on\x20an\x20\"AS\
1559    \x20IS\"\x20BASIS,\n\x20WITHOUT\x20WARRANTIES\x20OR\x20CONDITIONS\x20OF\
1560    \x20ANY\x20KIND,\x20either\x20express\x20or\x20implied.\n\x20See\x20the\
1561    \x20License\x20for\x20the\x20specific\x20language\x20governing\x20permis\
1562    sions\x20and\n\x20limitations\x20under\x20the\x20License.\n\n\x08\n\x01\
1563    \x02\x12\x03\x10\0\x13\n\t\n\x02\x03\0\x12\x03\x12\0\x1f\n\t\n\x02\x03\
1564    \x01\x12\x03\x13\0\"\n\t\n\x02\x03\x02\x12\x03\x14\0\"\n\t\n\x02\x03\x03\
1565    \x12\x03\x15\0!\n\t\n\x02\x03\x04\x12\x03\x16\0\"\n\t\n\x02\x03\x05\x12\
1566    \x03\x17\0\"\n\t\n\x02\x03\x06\x12\x03\x18\0(\n\t\n\x02\x03\x07\x12\x03\
1567    \x19\0#\n\t\n\x02\x03\x08\x12\x03\x1a\0\x1f\n\t\n\x02\x03\t\x12\x03\x1b\
1568    \0\x1e\n\t\n\x02\x03\n\x12\x03\x1c\0\"\n\t\n\x02\x03\x0b\x12\x03\x1d\0!\
1569    \n\t\n\x02\x03\x0c\x12\x03\x1e\0-\n\t\n\x02\x03\r\x12\x03\x1f\0%\n\t\n\
1570    \x02\x03\x0e\x12\x03\x20\0\x20\n\t\n\x02\x03\x0f\x12\x03!\0&\n\t\n\x02\
1571    \x03\x10\x12\x03\"\0+\n\t\n\x02\x03\x11\x12\x03#\0\x20\n\t\n\x02\x03\x12\
1572    \x12\x03$\0#\n\t\n\x02\x03\x13\x12\x03%\0$\n\t\n\x02\x03\x14\x12\x03&\0(\
1573    \n\x08\n\x01\x08\x12\x03(\0\\\n\t\n\x02\x08\x0b\x12\x03(\0\\\n\x08\n\x01\
1574    \x08\x12\x03)\0\"\n\t\n\x02\x08\n\x12\x03)\0\"\n\x08\n\x01\x08\x12\x03*\
1575    \0-\n\t\n\x02\x08\x08\x12\x03*\0-\n\x08\n\x01\x08\x12\x03+\0'\n\t\n\x02\
1576    \x08\x01\x12\x03+\0'\n\x08\n\x01\x08\x12\x03,\0\"\n\t\n\x02\x08$\x12\x03\
1577    ,\0\"\n\xcc\x08\n\x02\x04\0\x12\x05O\0\xbe\x01\x01\x1a\xbe\x08\x20`Servi\
1578    ce`\x20is\x20the\x20root\x20object\x20of\x20Google\x20API\x20service\x20\
1579    configuration\x20(service\n\x20config).\x20It\x20describes\x20the\x20bas\
1580    ic\x20information\x20about\x20a\x20logical\x20service,\n\x20such\x20as\
1581    \x20the\x20service\x20name\x20and\x20the\x20user-facing\x20title,\x20and\
1582    \x20delegates\x20other\n\x20aspects\x20to\x20sub-sections.\x20Each\x20su\
1583    b-section\x20is\x20either\x20a\x20proto\x20message\x20or\x20a\n\x20repea\
1584    ted\x20proto\x20message\x20that\x20configures\x20a\x20specific\x20aspect\
1585    ,\x20such\x20as\x20auth.\n\x20For\x20more\x20information,\x20see\x20each\
1586    \x20proto\x20message\x20definition.\n\n\x20Example:\n\n\x20\x20\x20\x20\
1587    \x20type:\x20google.api.Service\n\x20\x20\x20\x20\x20name:\x20calendar.g\
1588    oogleapis.com\n\x20\x20\x20\x20\x20title:\x20Google\x20Calendar\x20API\n\
1589    \x20\x20\x20\x20\x20apis:\n\x20\x20\x20\x20\x20-\x20name:\x20google.cale\
1590    ndar.v3.Calendar\n\n\x20\x20\x20\x20\x20visibility:\n\x20\x20\x20\x20\
1591    \x20\x20\x20rules:\n\x20\x20\x20\x20\x20\x20\x20-\x20selector:\x20\"goog\
1592    le.calendar.v3.*\"\n\x20\x20\x20\x20\x20\x20\x20\x20\x20restriction:\x20\
1593    PREVIEW\n\x20\x20\x20\x20\x20backend:\n\x20\x20\x20\x20\x20\x20\x20rules\
1594    :\n\x20\x20\x20\x20\x20\x20\x20-\x20selector:\x20\"google.calendar.v3.*\
1595    \"\n\x20\x20\x20\x20\x20\x20\x20\x20\x20address:\x20calendar.example.com\
1596    \n\n\x20\x20\x20\x20\x20authentication:\n\x20\x20\x20\x20\x20\x20\x20pro\
1597    viders:\n\x20\x20\x20\x20\x20\x20\x20-\x20id:\x20google_calendar_auth\n\
1598    \x20\x20\x20\x20\x20\x20\x20\x20\x20jwks_uri:\x20https://www.googleapis.\
1599    com/oauth2/v1/certs\n\x20\x20\x20\x20\x20\x20\x20\x20\x20issuer:\x20http\
1600    s://securetoken.google.com\n\x20\x20\x20\x20\x20\x20\x20rules:\n\x20\x20\
1601    \x20\x20\x20\x20\x20-\x20selector:\x20\"*\"\n\x20\x20\x20\x20\x20\x20\
1602    \x20\x20\x20requirements:\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20p\
1603    rovider_id:\x20google_calendar_auth\n\n\n\n\x03\x04\0\x01\x12\x03O\x08\
1604    \x0f\n\xf6\x01\n\x04\x04\0\x02\0\x12\x03T\x02\x12\x1a\xe8\x01\x20The\x20\
1605    service\x20name,\x20which\x20is\x20a\x20DNS-like\x20logical\x20identifie\
1606    r\x20for\x20the\n\x20service,\x20such\x20as\x20`calendar.googleapis.com`\
1607    .\x20The\x20service\x20name\n\x20typically\x20goes\x20through\x20DNS\x20\
1608    verification\x20to\x20make\x20sure\x20the\x20owner\n\x20of\x20the\x20ser\
1609    vice\x20also\x20owns\x20the\x20DNS\x20name.\n\n\x0c\n\x05\x04\0\x02\0\
1610    \x05\x12\x03T\x02\x08\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03T\t\r\n\x0c\n\
1611    \x05\x04\0\x02\0\x03\x12\x03T\x10\x11\ne\n\x04\x04\0\x02\x01\x12\x03X\
1612    \x02\x13\x1aX\x20The\x20product\x20title\x20for\x20this\x20service,\x20i\
1613    t\x20is\x20the\x20name\x20displayed\x20in\x20Google\n\x20Cloud\x20Consol\
1614    e.\n\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03X\x02\x08\n\x0c\n\x05\x04\0\
1615    \x02\x01\x01\x12\x03X\t\x0e\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03X\x11\
1616    \x12\n9\n\x04\x04\0\x02\x02\x12\x03[\x02\"\x1a,\x20The\x20Google\x20proj\
1617    ect\x20that\x20owns\x20this\x20service.\n\n\x0c\n\x05\x04\0\x02\x02\x05\
1618    \x12\x03[\x02\x08\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03[\t\x1c\n\x0c\n\
1619    \x05\x04\0\x02\x02\x03\x12\x03[\x1f!\n\x9f\x02\n\x04\x04\0\x02\x03\x12\
1620    \x03a\x02\x11\x1a\x91\x02\x20A\x20unique\x20ID\x20for\x20a\x20specific\
1621    \x20instance\x20of\x20this\x20message,\x20typically\x20assigned\n\x20by\
1622    \x20the\x20client\x20for\x20tracking\x20purpose.\x20Must\x20be\x20no\x20\
1623    longer\x20than\x2063\x20characters\n\x20and\x20only\x20lower\x20case\x20\
1624    letters,\x20digits,\x20'.',\x20'_'\x20and\x20'-'\x20are\x20allowed.\x20I\
1625    f\n\x20empty,\x20the\x20server\x20may\x20choose\x20to\x20generate\x20one\
1626    \x20instead.\n\n\x0c\n\x05\x04\0\x02\x03\x05\x12\x03a\x02\x08\n\x0c\n\
1627    \x05\x04\0\x02\x03\x01\x12\x03a\t\x0b\n\x0c\n\x05\x04\0\x02\x03\x03\x12\
1628    \x03a\x0e\x10\n\x82\x03\n\x04\x04\0\x02\x04\x12\x03h\x02(\x1a\xf4\x02\
1629    \x20A\x20list\x20of\x20API\x20interfaces\x20exported\x20by\x20this\x20se\
1630    rvice.\x20Only\x20the\x20`name`\x20field\n\x20of\x20the\x20[google.proto\
1631    buf.Api][google.protobuf.Api]\x20needs\x20to\x20be\x20provided\x20by\n\
1632    \x20the\x20configuration\x20author,\x20as\x20the\x20remaining\x20fields\
1633    \x20will\x20be\x20derived\x20from\x20the\n\x20IDL\x20during\x20the\x20no\
1634    rmalization\x20process.\x20It\x20is\x20an\x20error\x20to\x20specify\x20a\
1635    n\x20API\n\x20interface\x20here\x20which\x20cannot\x20be\x20resolved\x20\
1636    against\x20the\x20associated\x20IDL\x20files.\n\n\x0c\n\x05\x04\0\x02\
1637    \x04\x04\x12\x03h\x02\n\n\x0c\n\x05\x04\0\x02\x04\x06\x12\x03h\x0b\x1e\n\
1638    \x0c\n\x05\x04\0\x02\x04\x01\x12\x03h\x1f#\n\x0c\n\x05\x04\0\x02\x04\x03\
1639    \x12\x03h&'\n\x89\x03\n\x04\x04\0\x02\x05\x12\x03r\x02*\x1a\xfb\x02\x20A\
1640    \x20list\x20of\x20all\x20proto\x20message\x20types\x20included\x20in\x20\
1641    this\x20API\x20service.\n\x20Types\x20referenced\x20directly\x20or\x20in\
1642    directly\x20by\x20the\x20`apis`\x20are\x20automatically\n\x20included.\
1643    \x20\x20Messages\x20which\x20are\x20not\x20referenced\x20but\x20shall\
1644    \x20be\x20included,\x20such\x20as\n\x20types\x20used\x20by\x20the\x20`go\
1645    ogle.protobuf.Any`\x20type,\x20should\x20be\x20listed\x20here\x20by\n\
1646    \x20name\x20by\x20the\x20configuration\x20author.\x20Example:\n\n\x20\
1647    \x20\x20\x20\x20types:\n\x20\x20\x20\x20\x20-\x20name:\x20google.protobu\
1648    f.Int32\n\n\x0c\n\x05\x04\0\x02\x05\x04\x12\x03r\x02\n\n\x0c\n\x05\x04\0\
1649    \x02\x05\x06\x12\x03r\x0b\x1f\n\x0c\n\x05\x04\0\x02\x05\x01\x12\x03r\x20\
1650    %\n\x0c\n\x05\x04\0\x02\x05\x03\x12\x03r()\n\xcb\x02\n\x04\x04\0\x02\x06\
1651    \x12\x03{\x02*\x1a\xbd\x02\x20A\x20list\x20of\x20all\x20enum\x20types\
1652    \x20included\x20in\x20this\x20API\x20service.\x20\x20Enums\x20referenced\
1653    \n\x20directly\x20or\x20indirectly\x20by\x20the\x20`apis`\x20are\x20auto\
1654    matically\x20included.\x20\x20Enums\n\x20which\x20are\x20not\x20referenc\
1655    ed\x20but\x20shall\x20be\x20included\x20should\x20be\x20listed\x20here\
1656    \x20by\n\x20name\x20by\x20the\x20configuration\x20author.\x20Example:\n\
1657    \n\x20\x20\x20\x20\x20enums:\n\x20\x20\x20\x20\x20-\x20name:\x20google.s\
1658    omeapi.v1.SomeEnum\n\n\x0c\n\x05\x04\0\x02\x06\x04\x12\x03{\x02\n\n\x0c\
1659    \n\x05\x04\0\x02\x06\x06\x12\x03{\x0b\x1f\n\x0c\n\x05\x04\0\x02\x06\x01\
1660    \x12\x03{\x20%\n\x0c\n\x05\x04\0\x02\x06\x03\x12\x03{()\n,\n\x04\x04\0\
1661    \x02\x07\x12\x03~\x02\"\x1a\x1f\x20Additional\x20API\x20documentation.\n\
1662    \n\x0c\n\x05\x04\0\x02\x07\x06\x12\x03~\x02\x0f\n\x0c\n\x05\x04\0\x02\
1663    \x07\x01\x12\x03~\x10\x1d\n\x0c\n\x05\x04\0\x02\x07\x03\x12\x03~\x20!\n*\
1664    \n\x04\x04\0\x02\x08\x12\x04\x81\x01\x02\x16\x1a\x1c\x20API\x20backend\
1665    \x20configuration.\n\n\r\n\x05\x04\0\x02\x08\x06\x12\x04\x81\x01\x02\t\n\
1666    \r\n\x05\x04\0\x02\x08\x01\x12\x04\x81\x01\n\x11\n\r\n\x05\x04\0\x02\x08\
1667    \x03\x12\x04\x81\x01\x14\x15\n#\n\x04\x04\0\x02\t\x12\x04\x84\x01\x02\
1668    \x10\x1a\x15\x20HTTP\x20configuration.\n\n\r\n\x05\x04\0\x02\t\x06\x12\
1669    \x04\x84\x01\x02\x06\n\r\n\x05\x04\0\x02\t\x01\x12\x04\x84\x01\x07\x0b\n\
1670    \r\n\x05\x04\0\x02\t\x03\x12\x04\x84\x01\x0e\x0f\n$\n\x04\x04\0\x02\n\
1671    \x12\x04\x87\x01\x02\x13\x1a\x16\x20Quota\x20configuration.\n\n\r\n\x05\
1672    \x04\0\x02\n\x06\x12\x04\x87\x01\x02\x07\n\r\n\x05\x04\0\x02\n\x01\x12\
1673    \x04\x87\x01\x08\r\n\r\n\x05\x04\0\x02\n\x03\x12\x04\x87\x01\x10\x12\n#\
1674    \n\x04\x04\0\x02\x0b\x12\x04\x8a\x01\x02%\x1a\x15\x20Auth\x20configurati\
1675    on.\n\n\r\n\x05\x04\0\x02\x0b\x06\x12\x04\x8a\x01\x02\x10\n\r\n\x05\x04\
1676    \0\x02\x0b\x01\x12\x04\x8a\x01\x11\x1f\n\r\n\x05\x04\0\x02\x0b\x03\x12\
1677    \x04\x8a\x01\"$\n&\n\x04\x04\0\x02\x0c\x12\x04\x8d\x01\x02\x17\x1a\x18\
1678    \x20Context\x20configuration.\n\n\r\n\x05\x04\0\x02\x0c\x06\x12\x04\x8d\
1679    \x01\x02\t\n\r\n\x05\x04\0\x02\x0c\x01\x12\x04\x8d\x01\n\x11\n\r\n\x05\
1680    \x04\0\x02\x0c\x03\x12\x04\x8d\x01\x14\x16\n@\n\x04\x04\0\x02\r\x12\x04\
1681    \x90\x01\x02\x13\x1a2\x20Configuration\x20controlling\x20usage\x20of\x20\
1682    this\x20service.\n\n\r\n\x05\x04\0\x02\r\x06\x12\x04\x90\x01\x02\x07\n\r\
1683    \n\x05\x04\0\x02\r\x01\x12\x04\x90\x01\x08\r\n\r\n\x05\x04\0\x02\r\x03\
1684    \x12\x04\x90\x01\x10\x12\n\xb5\x01\n\x04\x04\0\x02\x0e\x12\x04\x95\x01\
1685    \x02#\x1a\xa6\x01\x20Configuration\x20for\x20network\x20endpoints.\x20\
1686    \x20If\x20this\x20is\x20empty,\x20then\x20an\x20endpoint\n\x20with\x20th\
1687    e\x20same\x20name\x20as\x20the\x20service\x20is\x20automatically\x20gene\
1688    rated\x20to\x20service\x20all\n\x20defined\x20APIs.\n\n\r\n\x05\x04\0\
1689    \x02\x0e\x04\x12\x04\x95\x01\x02\n\n\r\n\x05\x04\0\x02\x0e\x06\x12\x04\
1690    \x95\x01\x0b\x13\n\r\n\x05\x04\0\x02\x0e\x01\x12\x04\x95\x01\x14\x1d\n\r\
1691    \n\x05\x04\0\x02\x0e\x03\x12\x04\x95\x01\x20\"\n<\n\x04\x04\0\x02\x0f\
1692    \x12\x04\x98\x01\x02\x17\x1a.\x20Configuration\x20for\x20the\x20service\
1693    \x20control\x20plane.\n\n\r\n\x05\x04\0\x02\x0f\x06\x12\x04\x98\x01\x02\
1694    \t\n\r\n\x05\x04\0\x02\x0f\x01\x12\x04\x98\x01\n\x11\n\r\n\x05\x04\0\x02\
1695    \x0f\x03\x12\x04\x98\x01\x14\x16\n6\n\x04\x04\0\x02\x10\x12\x04\x9b\x01\
1696    \x02#\x1a(\x20Defines\x20the\x20logs\x20used\x20by\x20this\x20service.\n\
1697    \n\r\n\x05\x04\0\x02\x10\x04\x12\x04\x9b\x01\x02\n\n\r\n\x05\x04\0\x02\
1698    \x10\x06\x12\x04\x9b\x01\x0b\x18\n\r\n\x05\x04\0\x02\x10\x01\x12\x04\x9b\
1699    \x01\x19\x1d\n\r\n\x05\x04\0\x02\x10\x03\x12\x04\x9b\x01\x20\"\n9\n\x04\
1700    \x04\0\x02\x11\x12\x04\x9e\x01\x02)\x1a+\x20Defines\x20the\x20metrics\
1701    \x20used\x20by\x20this\x20service.\n\n\r\n\x05\x04\0\x02\x11\x04\x12\x04\
1702    \x9e\x01\x02\n\n\r\n\x05\x04\0\x02\x11\x06\x12\x04\x9e\x01\x0b\x1b\n\r\n\
1703    \x05\x04\0\x02\x11\x01\x12\x04\x9e\x01\x1c#\n\r\n\x05\x04\0\x02\x11\x03\
1704    \x12\x04\x9e\x01&(\n\xd6\x01\n\x04\x04\0\x02\x12\x12\x04\xa3\x01\x02@\
1705    \x1a\xc7\x01\x20Defines\x20the\x20monitored\x20resources\x20used\x20by\
1706    \x20this\x20service.\x20This\x20is\x20required\n\x20by\x20the\x20[Servic\
1707    e.monitoring][google.api.Service.monitoring]\x20and\n\x20[Service.loggin\
1708    g][google.api.Service.logging]\x20configurations.\n\n\r\n\x05\x04\0\x02\
1709    \x12\x04\x12\x04\xa3\x01\x02\n\n\r\n\x05\x04\0\x02\x12\x06\x12\x04\xa3\
1710    \x01\x0b&\n\r\n\x05\x04\0\x02\x12\x01\x12\x04\xa3\x01':\n\r\n\x05\x04\0\
1711    \x02\x12\x03\x12\x04\xa3\x01=?\n&\n\x04\x04\0\x02\x13\x12\x04\xa6\x01\
1712    \x02\x17\x1a\x18\x20Billing\x20configuration.\n\n\r\n\x05\x04\0\x02\x13\
1713    \x06\x12\x04\xa6\x01\x02\t\n\r\n\x05\x04\0\x02\x13\x01\x12\x04\xa6\x01\n\
1714    \x11\n\r\n\x05\x04\0\x02\x13\x03\x12\x04\xa6\x01\x14\x16\n&\n\x04\x04\0\
1715    \x02\x14\x12\x04\xa9\x01\x02\x17\x1a\x18\x20Logging\x20configuration.\n\
1716    \n\r\n\x05\x04\0\x02\x14\x06\x12\x04\xa9\x01\x02\t\n\r\n\x05\x04\0\x02\
1717    \x14\x01\x12\x04\xa9\x01\n\x11\n\r\n\x05\x04\0\x02\x14\x03\x12\x04\xa9\
1718    \x01\x14\x16\n)\n\x04\x04\0\x02\x15\x12\x04\xac\x01\x02\x1d\x1a\x1b\x20M\
1719    onitoring\x20configuration.\n\n\r\n\x05\x04\0\x02\x15\x06\x12\x04\xac\
1720    \x01\x02\x0c\n\r\n\x05\x04\0\x02\x15\x01\x12\x04\xac\x01\r\x17\n\r\n\x05\
1721    \x04\0\x02\x15\x03\x12\x04\xac\x01\x1a\x1c\n/\n\x04\x04\0\x02\x16\x12\
1722    \x04\xaf\x01\x02*\x1a!\x20System\x20parameter\x20configuration.\n\n\r\n\
1723    \x05\x04\0\x02\x16\x06\x12\x04\xaf\x01\x02\x12\n\r\n\x05\x04\0\x02\x16\
1724    \x01\x12\x04\xaf\x01\x13$\n\r\n\x05\x04\0\x02\x16\x03\x12\x04\xaf\x01')\
1725    \nX\n\x04\x04\0\x02\x17\x12\x04\xb2\x01\x02\x1e\x1aJ\x20Output\x20only.\
1726    \x20The\x20source\x20information\x20for\x20this\x20configuration\x20if\
1727    \x20available.\n\n\r\n\x05\x04\0\x02\x17\x06\x12\x04\xb2\x01\x02\x0c\n\r\
1728    \n\x05\x04\0\x02\x17\x01\x12\x04\xb2\x01\r\x18\n\r\n\x05\x04\0\x02\x17\
1729    \x03\x12\x04\xb2\x01\x1b\x1d\n\xab\x01\n\x04\x04\0\x02\x18\x12\x04\xb7\
1730    \x01\x02\x1d\x1a\x9c\x01\x20Settings\x20for\x20[Google\x20Cloud\x20Clien\
1731    t\n\x20libraries](https://cloud.google.com/apis/docs/cloud-client-librar\
1732    ies)\n\x20generated\x20from\x20APIs\x20defined\x20as\x20protocol\x20buff\
1733    ers.\n\n\r\n\x05\x04\0\x02\x18\x06\x12\x04\xb7\x01\x02\x0c\n\r\n\x05\x04\
1734    \0\x02\x18\x01\x12\x04\xb7\x01\r\x17\n\r\n\x05\x04\0\x02\x18\x03\x12\x04\
1735    \xb7\x01\x1a\x1c\n\x87\x01\n\x04\x04\0\x02\x19\x12\x04\xbd\x01\x022\x1ay\
1736    \x20Obsolete.\x20Do\x20not\x20use.\n\n\x20This\x20field\x20has\x20no\x20\
1737    semantic\x20meaning.\x20The\x20service\x20config\x20compiler\x20always\n\
1738    \x20sets\x20this\x20field\x20to\x20`3`.\n\n\r\n\x05\x04\0\x02\x19\x06\
1739    \x12\x04\xbd\x01\x02\x1d\n\r\n\x05\x04\0\x02\x19\x01\x12\x04\xbd\x01\x1e\
1740    ,\n\r\n\x05\x04\0\x02\x19\x03\x12\x04\xbd\x01/1b\x06proto3\
1741";
1742
1743static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
1744
1745fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
1746    ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
1747}
1748
1749pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
1750    file_descriptor_proto_lazy.get(|| {
1751        parse_descriptor_proto()
1752    })
1753}