tensorflow_serving_client/
model_server_config.rs

1// This file is generated by rust-protobuf 2.14.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#![cfg_attr(rustfmt, rustfmt_skip)]
9
10#![allow(box_pointers)]
11#![allow(dead_code)]
12#![allow(missing_docs)]
13#![allow(non_camel_case_types)]
14#![allow(non_snake_case)]
15#![allow(non_upper_case_globals)]
16#![allow(trivial_casts)]
17#![allow(unsafe_code)]
18#![allow(unused_imports)]
19#![allow(unused_results)]
20//! Generated file from `tensorflow_serving/config/model_server_config.proto`
21
22use protobuf::Message as Message_imported_for_functions;
23use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions;
24
25/// Generated files are compatible only with the same version
26/// of protobuf runtime.
27// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_14_0;
28
29#[derive(PartialEq,Clone,Default)]
30pub struct ModelConfig {
31    // message fields
32    pub name: ::std::string::String,
33    pub base_path: ::std::string::String,
34    pub model_type: ModelType,
35    pub model_platform: ::std::string::String,
36    pub model_version_policy: ::protobuf::SingularPtrField<super::file_system_storage_path_source::FileSystemStoragePathSourceConfig_ServableVersionPolicy>,
37    pub version_labels: ::std::collections::HashMap<::std::string::String, i64>,
38    pub logging_config: ::protobuf::SingularPtrField<super::logging_config::LoggingConfig>,
39    // special fields
40    pub unknown_fields: ::protobuf::UnknownFields,
41    pub cached_size: ::protobuf::CachedSize,
42}
43
44impl<'a> ::std::default::Default for &'a ModelConfig {
45    fn default() -> &'a ModelConfig {
46        <ModelConfig as ::protobuf::Message>::default_instance()
47    }
48}
49
50impl ModelConfig {
51    pub fn new() -> ModelConfig {
52        ::std::default::Default::default()
53    }
54
55    // string name = 1;
56
57
58    pub fn get_name(&self) -> &str {
59        &self.name
60    }
61    pub fn clear_name(&mut self) {
62        self.name.clear();
63    }
64
65    // Param is passed by value, moved
66    pub fn set_name(&mut self, v: ::std::string::String) {
67        self.name = v;
68    }
69
70    // Mutable pointer to the field.
71    // If field is not initialized, it is initialized with default value first.
72    pub fn mut_name(&mut self) -> &mut ::std::string::String {
73        &mut self.name
74    }
75
76    // Take field
77    pub fn take_name(&mut self) -> ::std::string::String {
78        ::std::mem::replace(&mut self.name, ::std::string::String::new())
79    }
80
81    // string base_path = 2;
82
83
84    pub fn get_base_path(&self) -> &str {
85        &self.base_path
86    }
87    pub fn clear_base_path(&mut self) {
88        self.base_path.clear();
89    }
90
91    // Param is passed by value, moved
92    pub fn set_base_path(&mut self, v: ::std::string::String) {
93        self.base_path = v;
94    }
95
96    // Mutable pointer to the field.
97    // If field is not initialized, it is initialized with default value first.
98    pub fn mut_base_path(&mut self) -> &mut ::std::string::String {
99        &mut self.base_path
100    }
101
102    // Take field
103    pub fn take_base_path(&mut self) -> ::std::string::String {
104        ::std::mem::replace(&mut self.base_path, ::std::string::String::new())
105    }
106
107    // .tensorflow.serving.ModelType model_type = 3;
108
109
110    pub fn get_model_type(&self) -> ModelType {
111        self.model_type
112    }
113    pub fn clear_model_type(&mut self) {
114        self.model_type = ModelType::MODEL_TYPE_UNSPECIFIED;
115    }
116
117    // Param is passed by value, moved
118    pub fn set_model_type(&mut self, v: ModelType) {
119        self.model_type = v;
120    }
121
122    // string model_platform = 4;
123
124
125    pub fn get_model_platform(&self) -> &str {
126        &self.model_platform
127    }
128    pub fn clear_model_platform(&mut self) {
129        self.model_platform.clear();
130    }
131
132    // Param is passed by value, moved
133    pub fn set_model_platform(&mut self, v: ::std::string::String) {
134        self.model_platform = v;
135    }
136
137    // Mutable pointer to the field.
138    // If field is not initialized, it is initialized with default value first.
139    pub fn mut_model_platform(&mut self) -> &mut ::std::string::String {
140        &mut self.model_platform
141    }
142
143    // Take field
144    pub fn take_model_platform(&mut self) -> ::std::string::String {
145        ::std::mem::replace(&mut self.model_platform, ::std::string::String::new())
146    }
147
148    // .tensorflow.serving.FileSystemStoragePathSourceConfig.ServableVersionPolicy model_version_policy = 7;
149
150
151    pub fn get_model_version_policy(&self) -> &super::file_system_storage_path_source::FileSystemStoragePathSourceConfig_ServableVersionPolicy {
152        self.model_version_policy.as_ref().unwrap_or_else(|| super::file_system_storage_path_source::FileSystemStoragePathSourceConfig_ServableVersionPolicy::default_instance())
153    }
154    pub fn clear_model_version_policy(&mut self) {
155        self.model_version_policy.clear();
156    }
157
158    pub fn has_model_version_policy(&self) -> bool {
159        self.model_version_policy.is_some()
160    }
161
162    // Param is passed by value, moved
163    pub fn set_model_version_policy(&mut self, v: super::file_system_storage_path_source::FileSystemStoragePathSourceConfig_ServableVersionPolicy) {
164        self.model_version_policy = ::protobuf::SingularPtrField::some(v);
165    }
166
167    // Mutable pointer to the field.
168    // If field is not initialized, it is initialized with default value first.
169    pub fn mut_model_version_policy(&mut self) -> &mut super::file_system_storage_path_source::FileSystemStoragePathSourceConfig_ServableVersionPolicy {
170        if self.model_version_policy.is_none() {
171            self.model_version_policy.set_default();
172        }
173        self.model_version_policy.as_mut().unwrap()
174    }
175
176    // Take field
177    pub fn take_model_version_policy(&mut self) -> super::file_system_storage_path_source::FileSystemStoragePathSourceConfig_ServableVersionPolicy {
178        self.model_version_policy.take().unwrap_or_else(|| super::file_system_storage_path_source::FileSystemStoragePathSourceConfig_ServableVersionPolicy::new())
179    }
180
181    // repeated .tensorflow.serving.ModelConfig.VersionLabelsEntry version_labels = 8;
182
183
184    pub fn get_version_labels(&self) -> &::std::collections::HashMap<::std::string::String, i64> {
185        &self.version_labels
186    }
187    pub fn clear_version_labels(&mut self) {
188        self.version_labels.clear();
189    }
190
191    // Param is passed by value, moved
192    pub fn set_version_labels(&mut self, v: ::std::collections::HashMap<::std::string::String, i64>) {
193        self.version_labels = v;
194    }
195
196    // Mutable pointer to the field.
197    pub fn mut_version_labels(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, i64> {
198        &mut self.version_labels
199    }
200
201    // Take field
202    pub fn take_version_labels(&mut self) -> ::std::collections::HashMap<::std::string::String, i64> {
203        ::std::mem::replace(&mut self.version_labels, ::std::collections::HashMap::new())
204    }
205
206    // .tensorflow.serving.LoggingConfig logging_config = 6;
207
208
209    pub fn get_logging_config(&self) -> &super::logging_config::LoggingConfig {
210        self.logging_config.as_ref().unwrap_or_else(|| super::logging_config::LoggingConfig::default_instance())
211    }
212    pub fn clear_logging_config(&mut self) {
213        self.logging_config.clear();
214    }
215
216    pub fn has_logging_config(&self) -> bool {
217        self.logging_config.is_some()
218    }
219
220    // Param is passed by value, moved
221    pub fn set_logging_config(&mut self, v: super::logging_config::LoggingConfig) {
222        self.logging_config = ::protobuf::SingularPtrField::some(v);
223    }
224
225    // Mutable pointer to the field.
226    // If field is not initialized, it is initialized with default value first.
227    pub fn mut_logging_config(&mut self) -> &mut super::logging_config::LoggingConfig {
228        if self.logging_config.is_none() {
229            self.logging_config.set_default();
230        }
231        self.logging_config.as_mut().unwrap()
232    }
233
234    // Take field
235    pub fn take_logging_config(&mut self) -> super::logging_config::LoggingConfig {
236        self.logging_config.take().unwrap_or_else(|| super::logging_config::LoggingConfig::new())
237    }
238}
239
240impl ::protobuf::Message for ModelConfig {
241    fn is_initialized(&self) -> bool {
242        for v in &self.model_version_policy {
243            if !v.is_initialized() {
244                return false;
245            }
246        };
247        for v in &self.logging_config {
248            if !v.is_initialized() {
249                return false;
250            }
251        };
252        true
253    }
254
255    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
256        while !is.eof()? {
257            let (field_number, wire_type) = is.read_tag_unpack()?;
258            match field_number {
259                1 => {
260                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
261                },
262                2 => {
263                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.base_path)?;
264                },
265                3 => {
266                    ::protobuf::rt::read_proto3_enum_with_unknown_fields_into(wire_type, is, &mut self.model_type, 3, &mut self.unknown_fields)?
267                },
268                4 => {
269                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.model_platform)?;
270                },
271                7 => {
272                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.model_version_policy)?;
273                },
274                8 => {
275                    ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeInt64>(wire_type, is, &mut self.version_labels)?;
276                },
277                6 => {
278                    ::protobuf::rt::read_singular_message_into(wire_type, is, &mut self.logging_config)?;
279                },
280                _ => {
281                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
282                },
283            };
284        }
285        ::std::result::Result::Ok(())
286    }
287
288    // Compute sizes of nested messages
289    #[allow(unused_variables)]
290    fn compute_size(&self) -> u32 {
291        let mut my_size = 0;
292        if !self.name.is_empty() {
293            my_size += ::protobuf::rt::string_size(1, &self.name);
294        }
295        if !self.base_path.is_empty() {
296            my_size += ::protobuf::rt::string_size(2, &self.base_path);
297        }
298        if self.model_type != ModelType::MODEL_TYPE_UNSPECIFIED {
299            my_size += ::protobuf::rt::enum_size(3, self.model_type);
300        }
301        if !self.model_platform.is_empty() {
302            my_size += ::protobuf::rt::string_size(4, &self.model_platform);
303        }
304        if let Some(ref v) = self.model_version_policy.as_ref() {
305            let len = v.compute_size();
306            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
307        }
308        my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeInt64>(8, &self.version_labels);
309        if let Some(ref v) = self.logging_config.as_ref() {
310            let len = v.compute_size();
311            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
312        }
313        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
314        self.cached_size.set(my_size);
315        my_size
316    }
317
318    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
319        if !self.name.is_empty() {
320            os.write_string(1, &self.name)?;
321        }
322        if !self.base_path.is_empty() {
323            os.write_string(2, &self.base_path)?;
324        }
325        if self.model_type != ModelType::MODEL_TYPE_UNSPECIFIED {
326            os.write_enum(3, self.model_type.value())?;
327        }
328        if !self.model_platform.is_empty() {
329            os.write_string(4, &self.model_platform)?;
330        }
331        if let Some(ref v) = self.model_version_policy.as_ref() {
332            os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
333            os.write_raw_varint32(v.get_cached_size())?;
334            v.write_to_with_cached_sizes(os)?;
335        }
336        ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeInt64>(8, &self.version_labels, os)?;
337        if let Some(ref v) = self.logging_config.as_ref() {
338            os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
339            os.write_raw_varint32(v.get_cached_size())?;
340            v.write_to_with_cached_sizes(os)?;
341        }
342        os.write_unknown_fields(self.get_unknown_fields())?;
343        ::std::result::Result::Ok(())
344    }
345
346    fn get_cached_size(&self) -> u32 {
347        self.cached_size.get()
348    }
349
350    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
351        &self.unknown_fields
352    }
353
354    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
355        &mut self.unknown_fields
356    }
357
358    fn as_any(&self) -> &dyn (::std::any::Any) {
359        self as &dyn (::std::any::Any)
360    }
361    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
362        self as &mut dyn (::std::any::Any)
363    }
364    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
365        self
366    }
367
368    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
369        Self::descriptor_static()
370    }
371
372    fn new() -> ModelConfig {
373        ModelConfig::new()
374    }
375
376    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
377        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
378        unsafe {
379            descriptor.get(|| {
380                let mut fields = ::std::vec::Vec::new();
381                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
382                    "name",
383                    |m: &ModelConfig| { &m.name },
384                    |m: &mut ModelConfig| { &mut m.name },
385                ));
386                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
387                    "base_path",
388                    |m: &ModelConfig| { &m.base_path },
389                    |m: &mut ModelConfig| { &mut m.base_path },
390                ));
391                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeEnum<ModelType>>(
392                    "model_type",
393                    |m: &ModelConfig| { &m.model_type },
394                    |m: &mut ModelConfig| { &mut m.model_type },
395                ));
396                fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
397                    "model_platform",
398                    |m: &ModelConfig| { &m.model_platform },
399                    |m: &mut ModelConfig| { &mut m.model_platform },
400                ));
401                fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::file_system_storage_path_source::FileSystemStoragePathSourceConfig_ServableVersionPolicy>>(
402                    "model_version_policy",
403                    |m: &ModelConfig| { &m.model_version_policy },
404                    |m: &mut ModelConfig| { &mut m.model_version_policy },
405                ));
406                fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeInt64>(
407                    "version_labels",
408                    |m: &ModelConfig| { &m.version_labels },
409                    |m: &mut ModelConfig| { &mut m.version_labels },
410                ));
411                fields.push(::protobuf::reflect::accessor::make_singular_ptr_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::logging_config::LoggingConfig>>(
412                    "logging_config",
413                    |m: &ModelConfig| { &m.logging_config },
414                    |m: &mut ModelConfig| { &mut m.logging_config },
415                ));
416                ::protobuf::reflect::MessageDescriptor::new_pb_name::<ModelConfig>(
417                    "ModelConfig",
418                    fields,
419                    file_descriptor_proto()
420                )
421            })
422        }
423    }
424
425    fn default_instance() -> &'static ModelConfig {
426        static mut instance: ::protobuf::lazy::Lazy<ModelConfig> = ::protobuf::lazy::Lazy::INIT;
427        unsafe {
428            instance.get(ModelConfig::new)
429        }
430    }
431}
432
433impl ::protobuf::Clear for ModelConfig {
434    fn clear(&mut self) {
435        self.name.clear();
436        self.base_path.clear();
437        self.model_type = ModelType::MODEL_TYPE_UNSPECIFIED;
438        self.model_platform.clear();
439        self.model_version_policy.clear();
440        self.version_labels.clear();
441        self.logging_config.clear();
442        self.unknown_fields.clear();
443    }
444}
445
446impl ::std::fmt::Debug for ModelConfig {
447    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
448        ::protobuf::text_format::fmt(self, f)
449    }
450}
451
452impl ::protobuf::reflect::ProtobufValue for ModelConfig {
453    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
454        ::protobuf::reflect::ReflectValueRef::Message(self)
455    }
456}
457
458#[derive(PartialEq,Clone,Default)]
459pub struct ModelConfigList {
460    // message fields
461    pub config: ::protobuf::RepeatedField<ModelConfig>,
462    // special fields
463    pub unknown_fields: ::protobuf::UnknownFields,
464    pub cached_size: ::protobuf::CachedSize,
465}
466
467impl<'a> ::std::default::Default for &'a ModelConfigList {
468    fn default() -> &'a ModelConfigList {
469        <ModelConfigList as ::protobuf::Message>::default_instance()
470    }
471}
472
473impl ModelConfigList {
474    pub fn new() -> ModelConfigList {
475        ::std::default::Default::default()
476    }
477
478    // repeated .tensorflow.serving.ModelConfig config = 1;
479
480
481    pub fn get_config(&self) -> &[ModelConfig] {
482        &self.config
483    }
484    pub fn clear_config(&mut self) {
485        self.config.clear();
486    }
487
488    // Param is passed by value, moved
489    pub fn set_config(&mut self, v: ::protobuf::RepeatedField<ModelConfig>) {
490        self.config = v;
491    }
492
493    // Mutable pointer to the field.
494    pub fn mut_config(&mut self) -> &mut ::protobuf::RepeatedField<ModelConfig> {
495        &mut self.config
496    }
497
498    // Take field
499    pub fn take_config(&mut self) -> ::protobuf::RepeatedField<ModelConfig> {
500        ::std::mem::replace(&mut self.config, ::protobuf::RepeatedField::new())
501    }
502}
503
504impl ::protobuf::Message for ModelConfigList {
505    fn is_initialized(&self) -> bool {
506        for v in &self.config {
507            if !v.is_initialized() {
508                return false;
509            }
510        };
511        true
512    }
513
514    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
515        while !is.eof()? {
516            let (field_number, wire_type) = is.read_tag_unpack()?;
517            match field_number {
518                1 => {
519                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.config)?;
520                },
521                _ => {
522                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
523                },
524            };
525        }
526        ::std::result::Result::Ok(())
527    }
528
529    // Compute sizes of nested messages
530    #[allow(unused_variables)]
531    fn compute_size(&self) -> u32 {
532        let mut my_size = 0;
533        for value in &self.config {
534            let len = value.compute_size();
535            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
536        };
537        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
538        self.cached_size.set(my_size);
539        my_size
540    }
541
542    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
543        for v in &self.config {
544            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
545            os.write_raw_varint32(v.get_cached_size())?;
546            v.write_to_with_cached_sizes(os)?;
547        };
548        os.write_unknown_fields(self.get_unknown_fields())?;
549        ::std::result::Result::Ok(())
550    }
551
552    fn get_cached_size(&self) -> u32 {
553        self.cached_size.get()
554    }
555
556    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
557        &self.unknown_fields
558    }
559
560    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
561        &mut self.unknown_fields
562    }
563
564    fn as_any(&self) -> &dyn (::std::any::Any) {
565        self as &dyn (::std::any::Any)
566    }
567    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
568        self as &mut dyn (::std::any::Any)
569    }
570    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
571        self
572    }
573
574    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
575        Self::descriptor_static()
576    }
577
578    fn new() -> ModelConfigList {
579        ModelConfigList::new()
580    }
581
582    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
583        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
584        unsafe {
585            descriptor.get(|| {
586                let mut fields = ::std::vec::Vec::new();
587                fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<ModelConfig>>(
588                    "config",
589                    |m: &ModelConfigList| { &m.config },
590                    |m: &mut ModelConfigList| { &mut m.config },
591                ));
592                ::protobuf::reflect::MessageDescriptor::new_pb_name::<ModelConfigList>(
593                    "ModelConfigList",
594                    fields,
595                    file_descriptor_proto()
596                )
597            })
598        }
599    }
600
601    fn default_instance() -> &'static ModelConfigList {
602        static mut instance: ::protobuf::lazy::Lazy<ModelConfigList> = ::protobuf::lazy::Lazy::INIT;
603        unsafe {
604            instance.get(ModelConfigList::new)
605        }
606    }
607}
608
609impl ::protobuf::Clear for ModelConfigList {
610    fn clear(&mut self) {
611        self.config.clear();
612        self.unknown_fields.clear();
613    }
614}
615
616impl ::std::fmt::Debug for ModelConfigList {
617    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
618        ::protobuf::text_format::fmt(self, f)
619    }
620}
621
622impl ::protobuf::reflect::ProtobufValue for ModelConfigList {
623    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
624        ::protobuf::reflect::ReflectValueRef::Message(self)
625    }
626}
627
628#[derive(PartialEq,Clone,Default)]
629pub struct ModelServerConfig {
630    // message oneof groups
631    pub config: ::std::option::Option<ModelServerConfig_oneof_config>,
632    // special fields
633    pub unknown_fields: ::protobuf::UnknownFields,
634    pub cached_size: ::protobuf::CachedSize,
635}
636
637impl<'a> ::std::default::Default for &'a ModelServerConfig {
638    fn default() -> &'a ModelServerConfig {
639        <ModelServerConfig as ::protobuf::Message>::default_instance()
640    }
641}
642
643#[derive(Clone,PartialEq,Debug)]
644pub enum ModelServerConfig_oneof_config {
645    model_config_list(ModelConfigList),
646    custom_model_config(::protobuf::well_known_types::Any),
647}
648
649impl ModelServerConfig {
650    pub fn new() -> ModelServerConfig {
651        ::std::default::Default::default()
652    }
653
654    // .tensorflow.serving.ModelConfigList model_config_list = 1;
655
656
657    pub fn get_model_config_list(&self) -> &ModelConfigList {
658        match self.config {
659            ::std::option::Option::Some(ModelServerConfig_oneof_config::model_config_list(ref v)) => v,
660            _ => ModelConfigList::default_instance(),
661        }
662    }
663    pub fn clear_model_config_list(&mut self) {
664        self.config = ::std::option::Option::None;
665    }
666
667    pub fn has_model_config_list(&self) -> bool {
668        match self.config {
669            ::std::option::Option::Some(ModelServerConfig_oneof_config::model_config_list(..)) => true,
670            _ => false,
671        }
672    }
673
674    // Param is passed by value, moved
675    pub fn set_model_config_list(&mut self, v: ModelConfigList) {
676        self.config = ::std::option::Option::Some(ModelServerConfig_oneof_config::model_config_list(v))
677    }
678
679    // Mutable pointer to the field.
680    pub fn mut_model_config_list(&mut self) -> &mut ModelConfigList {
681        if let ::std::option::Option::Some(ModelServerConfig_oneof_config::model_config_list(_)) = self.config {
682        } else {
683            self.config = ::std::option::Option::Some(ModelServerConfig_oneof_config::model_config_list(ModelConfigList::new()));
684        }
685        match self.config {
686            ::std::option::Option::Some(ModelServerConfig_oneof_config::model_config_list(ref mut v)) => v,
687            _ => panic!(),
688        }
689    }
690
691    // Take field
692    pub fn take_model_config_list(&mut self) -> ModelConfigList {
693        if self.has_model_config_list() {
694            match self.config.take() {
695                ::std::option::Option::Some(ModelServerConfig_oneof_config::model_config_list(v)) => v,
696                _ => panic!(),
697            }
698        } else {
699            ModelConfigList::new()
700        }
701    }
702
703    // .google.protobuf.Any custom_model_config = 2;
704
705
706    pub fn get_custom_model_config(&self) -> &::protobuf::well_known_types::Any {
707        match self.config {
708            ::std::option::Option::Some(ModelServerConfig_oneof_config::custom_model_config(ref v)) => v,
709            _ => ::protobuf::well_known_types::Any::default_instance(),
710        }
711    }
712    pub fn clear_custom_model_config(&mut self) {
713        self.config = ::std::option::Option::None;
714    }
715
716    pub fn has_custom_model_config(&self) -> bool {
717        match self.config {
718            ::std::option::Option::Some(ModelServerConfig_oneof_config::custom_model_config(..)) => true,
719            _ => false,
720        }
721    }
722
723    // Param is passed by value, moved
724    pub fn set_custom_model_config(&mut self, v: ::protobuf::well_known_types::Any) {
725        self.config = ::std::option::Option::Some(ModelServerConfig_oneof_config::custom_model_config(v))
726    }
727
728    // Mutable pointer to the field.
729    pub fn mut_custom_model_config(&mut self) -> &mut ::protobuf::well_known_types::Any {
730        if let ::std::option::Option::Some(ModelServerConfig_oneof_config::custom_model_config(_)) = self.config {
731        } else {
732            self.config = ::std::option::Option::Some(ModelServerConfig_oneof_config::custom_model_config(::protobuf::well_known_types::Any::new()));
733        }
734        match self.config {
735            ::std::option::Option::Some(ModelServerConfig_oneof_config::custom_model_config(ref mut v)) => v,
736            _ => panic!(),
737        }
738    }
739
740    // Take field
741    pub fn take_custom_model_config(&mut self) -> ::protobuf::well_known_types::Any {
742        if self.has_custom_model_config() {
743            match self.config.take() {
744                ::std::option::Option::Some(ModelServerConfig_oneof_config::custom_model_config(v)) => v,
745                _ => panic!(),
746            }
747        } else {
748            ::protobuf::well_known_types::Any::new()
749        }
750    }
751}
752
753impl ::protobuf::Message for ModelServerConfig {
754    fn is_initialized(&self) -> bool {
755        if let Some(ModelServerConfig_oneof_config::model_config_list(ref v)) = self.config {
756            if !v.is_initialized() {
757                return false;
758            }
759        }
760        if let Some(ModelServerConfig_oneof_config::custom_model_config(ref v)) = self.config {
761            if !v.is_initialized() {
762                return false;
763            }
764        }
765        true
766    }
767
768    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
769        while !is.eof()? {
770            let (field_number, wire_type) = is.read_tag_unpack()?;
771            match field_number {
772                1 => {
773                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
774                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
775                    }
776                    self.config = ::std::option::Option::Some(ModelServerConfig_oneof_config::model_config_list(is.read_message()?));
777                },
778                2 => {
779                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
780                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
781                    }
782                    self.config = ::std::option::Option::Some(ModelServerConfig_oneof_config::custom_model_config(is.read_message()?));
783                },
784                _ => {
785                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
786                },
787            };
788        }
789        ::std::result::Result::Ok(())
790    }
791
792    // Compute sizes of nested messages
793    #[allow(unused_variables)]
794    fn compute_size(&self) -> u32 {
795        let mut my_size = 0;
796        if let ::std::option::Option::Some(ref v) = self.config {
797            match v {
798                &ModelServerConfig_oneof_config::model_config_list(ref v) => {
799                    let len = v.compute_size();
800                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
801                },
802                &ModelServerConfig_oneof_config::custom_model_config(ref v) => {
803                    let len = v.compute_size();
804                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
805                },
806            };
807        }
808        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
809        self.cached_size.set(my_size);
810        my_size
811    }
812
813    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
814        if let ::std::option::Option::Some(ref v) = self.config {
815            match v {
816                &ModelServerConfig_oneof_config::model_config_list(ref v) => {
817                    os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
818                    os.write_raw_varint32(v.get_cached_size())?;
819                    v.write_to_with_cached_sizes(os)?;
820                },
821                &ModelServerConfig_oneof_config::custom_model_config(ref v) => {
822                    os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
823                    os.write_raw_varint32(v.get_cached_size())?;
824                    v.write_to_with_cached_sizes(os)?;
825                },
826            };
827        }
828        os.write_unknown_fields(self.get_unknown_fields())?;
829        ::std::result::Result::Ok(())
830    }
831
832    fn get_cached_size(&self) -> u32 {
833        self.cached_size.get()
834    }
835
836    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
837        &self.unknown_fields
838    }
839
840    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
841        &mut self.unknown_fields
842    }
843
844    fn as_any(&self) -> &dyn (::std::any::Any) {
845        self as &dyn (::std::any::Any)
846    }
847    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
848        self as &mut dyn (::std::any::Any)
849    }
850    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
851        self
852    }
853
854    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
855        Self::descriptor_static()
856    }
857
858    fn new() -> ModelServerConfig {
859        ModelServerConfig::new()
860    }
861
862    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
863        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
864        unsafe {
865            descriptor.get(|| {
866                let mut fields = ::std::vec::Vec::new();
867                fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, ModelConfigList>(
868                    "model_config_list",
869                    ModelServerConfig::has_model_config_list,
870                    ModelServerConfig::get_model_config_list,
871                ));
872                fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, ::protobuf::well_known_types::Any>(
873                    "custom_model_config",
874                    ModelServerConfig::has_custom_model_config,
875                    ModelServerConfig::get_custom_model_config,
876                ));
877                ::protobuf::reflect::MessageDescriptor::new_pb_name::<ModelServerConfig>(
878                    "ModelServerConfig",
879                    fields,
880                    file_descriptor_proto()
881                )
882            })
883        }
884    }
885
886    fn default_instance() -> &'static ModelServerConfig {
887        static mut instance: ::protobuf::lazy::Lazy<ModelServerConfig> = ::protobuf::lazy::Lazy::INIT;
888        unsafe {
889            instance.get(ModelServerConfig::new)
890        }
891    }
892}
893
894impl ::protobuf::Clear for ModelServerConfig {
895    fn clear(&mut self) {
896        self.config = ::std::option::Option::None;
897        self.config = ::std::option::Option::None;
898        self.unknown_fields.clear();
899    }
900}
901
902impl ::std::fmt::Debug for ModelServerConfig {
903    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
904        ::protobuf::text_format::fmt(self, f)
905    }
906}
907
908impl ::protobuf::reflect::ProtobufValue for ModelServerConfig {
909    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
910        ::protobuf::reflect::ReflectValueRef::Message(self)
911    }
912}
913
914#[derive(Clone,PartialEq,Eq,Debug,Hash)]
915pub enum ModelType {
916    MODEL_TYPE_UNSPECIFIED = 0,
917    TENSORFLOW = 1,
918    OTHER = 2,
919}
920
921impl ::protobuf::ProtobufEnum for ModelType {
922    fn value(&self) -> i32 {
923        *self as i32
924    }
925
926    fn from_i32(value: i32) -> ::std::option::Option<ModelType> {
927        match value {
928            0 => ::std::option::Option::Some(ModelType::MODEL_TYPE_UNSPECIFIED),
929            1 => ::std::option::Option::Some(ModelType::TENSORFLOW),
930            2 => ::std::option::Option::Some(ModelType::OTHER),
931            _ => ::std::option::Option::None
932        }
933    }
934
935    fn values() -> &'static [Self] {
936        static values: &'static [ModelType] = &[
937            ModelType::MODEL_TYPE_UNSPECIFIED,
938            ModelType::TENSORFLOW,
939            ModelType::OTHER,
940        ];
941        values
942    }
943
944    fn enum_descriptor_static() -> &'static ::protobuf::reflect::EnumDescriptor {
945        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::EnumDescriptor> = ::protobuf::lazy::Lazy::INIT;
946        unsafe {
947            descriptor.get(|| {
948                ::protobuf::reflect::EnumDescriptor::new_pb_name::<ModelType>("ModelType", file_descriptor_proto())
949            })
950        }
951    }
952}
953
954impl ::std::marker::Copy for ModelType {
955}
956
957impl ::std::default::Default for ModelType {
958    fn default() -> Self {
959        ModelType::MODEL_TYPE_UNSPECIFIED
960    }
961}
962
963impl ::protobuf::reflect::ProtobufValue for ModelType {
964    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
965        ::protobuf::reflect::ReflectValueRef::Enum(self.descriptor())
966    }
967}
968
969static file_descriptor_proto_data: &'static [u8] = b"\
970    \n3tensorflow_serving/config/model_server_config.proto\x12\x12tensorflow\
971    .serving\x1a\x19google/protobuf/any.proto\x1a.tensorflow_serving/config/\
972    logging_config.proto\x1aMtensorflow_serving/sources/storage_path/file_sy\
973    stem_storage_path_source.proto\"\x93\x04\n\x0bModelConfig\x12\x12\n\x04n\
974    ame\x18\x01\x20\x01(\tR\x04name\x12\x1b\n\tbase_path\x18\x02\x20\x01(\tR\
975    \x08basePath\x12@\n\nmodel_type\x18\x03\x20\x01(\x0e2\x1d.tensorflow.ser\
976    ving.ModelTypeR\tmodelTypeB\x02\x18\x01\x12%\n\x0emodel_platform\x18\x04\
977    \x20\x01(\tR\rmodelPlatform\x12}\n\x14model_version_policy\x18\x07\x20\
978    \x01(\x0b2K.tensorflow.serving.FileSystemStoragePathSourceConfig.Servabl\
979    eVersionPolicyR\x12modelVersionPolicy\x12Y\n\x0eversion_labels\x18\x08\
980    \x20\x03(\x0b22.tensorflow.serving.ModelConfig.VersionLabelsEntryR\rvers\
981    ionLabels\x12H\n\x0elogging_config\x18\x06\x20\x01(\x0b2!.tensorflow.ser\
982    ving.LoggingConfigR\rloggingConfig\x1a@\n\x12VersionLabelsEntry\x12\x10\
983    \n\x03key\x18\x01\x20\x01(\tR\x03key\x12\x14\n\x05value\x18\x02\x20\x01(\
984    \x03R\x05value:\x028\x01J\x04\x08\x05\x10\x06\"J\n\x0fModelConfigList\
985    \x127\n\x06config\x18\x01\x20\x03(\x0b2\x1f.tensorflow.serving.ModelConf\
986    igR\x06config\"\xb8\x01\n\x11ModelServerConfig\x12Q\n\x11model_config_li\
987    st\x18\x01\x20\x01(\x0b2#.tensorflow.serving.ModelConfigListH\0R\x0fmode\
988    lConfigList\x12F\n\x13custom_model_config\x18\x02\x20\x01(\x0b2\x14.goog\
989    le.protobuf.AnyH\0R\x11customModelConfigB\x08\n\x06config*N\n\tModelType\
990    \x12\x1e\n\x16MODEL_TYPE_UNSPECIFIED\x10\0\x1a\x02\x08\x01\x12\x12\n\nTE\
991    NSORFLOW\x10\x01\x1a\x02\x08\x01\x12\r\n\x05OTHER\x10\x02\x1a\x02\x08\
992    \x01B\x03\xf8\x01\x01J\xa8\x18\n\x06\x12\x04\0\0S\x01\n\x08\n\x01\x0c\
993    \x12\x03\0\0\x12\n\x08\n\x01\x02\x12\x03\x02\0\x1b\n\x08\n\x01\x08\x12\
994    \x03\x03\0\x1f\n\t\n\x02\x08\x1f\x12\x03\x03\0\x1f\n\t\n\x02\x03\0\x12\
995    \x03\x05\0#\n\t\n\x02\x03\x01\x12\x03\x06\08\n\t\n\x02\x03\x02\x12\x03\
996    \x07\0W\n?\n\x02\x05\0\x12\x04\x0b\0\x0f\x01\x1a3\x20The\x20type\x20of\
997    \x20model.\n\x20TODO(b/31336131):\x20DEPRECATED.\n\n\n\n\x03\x05\0\x01\
998    \x12\x03\x0b\x05\x0e\n\x0b\n\x04\x05\0\x02\0\x12\x03\x0c\x021\n\x0c\n\
999    \x05\x05\0\x02\0\x01\x12\x03\x0c\x02\x18\n\x0c\n\x05\x05\0\x02\0\x02\x12\
1000    \x03\x0c\x1b\x1c\n\x0c\n\x05\x05\0\x02\0\x03\x12\x03\x0c\x1d0\n\r\n\x06\
1001    \x05\0\x02\0\x03\x01\x12\x03\x0c\x1e/\n\x0b\n\x04\x05\0\x02\x01\x12\x03\
1002    \r\x02%\n\x0c\n\x05\x05\0\x02\x01\x01\x12\x03\r\x02\x0c\n\x0c\n\x05\x05\
1003    \0\x02\x01\x02\x12\x03\r\x0f\x10\n\x0c\n\x05\x05\0\x02\x01\x03\x12\x03\r\
1004    \x11$\n\r\n\x06\x05\0\x02\x01\x03\x01\x12\x03\r\x12#\n\x0b\n\x04\x05\0\
1005    \x02\x02\x12\x03\x0e\x02\x20\n\x0c\n\x05\x05\0\x02\x02\x01\x12\x03\x0e\
1006    \x02\x07\n\x0c\n\x05\x05\0\x02\x02\x02\x12\x03\x0e\n\x0b\n\x0c\n\x05\x05\
1007    \0\x02\x02\x03\x12\x03\x0e\x0c\x1f\n\r\n\x06\x05\0\x02\x02\x03\x01\x12\
1008    \x03\x0e\r\x1e\nD\n\x02\x04\0\x12\x04\x12\0C\x01\x1a8\x20Common\x20confi\
1009    guration\x20for\x20loading\x20a\x20model\x20being\x20served.\n\n\n\n\x03\
1010    \x04\0\x01\x12\x03\x12\x08\x13\n!\n\x04\x04\0\x02\0\x12\x03\x14\x02\x12\
1011    \x1a\x14\x20Name\x20of\x20the\x20model.\n\n\x0c\n\x05\x04\0\x02\0\x05\
1012    \x12\x03\x14\x02\x08\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x14\t\r\n\x0c\n\
1013    \x05\x04\0\x02\0\x03\x12\x03\x14\x10\x11\n\x8a\x03\n\x04\x04\0\x02\x01\
1014    \x12\x03\x1d\x02\x17\x1a\xfc\x02\x20Base\x20path\x20to\x20the\x20model,\
1015    \x20excluding\x20the\x20version\x20directory.\n\x20E.g>\x20for\x20a\x20m\
1016    odel\x20at\x20/foo/bar/my_model/123,\x20where\x20123\x20is\x20the\x20ver\
1017    sion,\x20the\n\x20base\x20path\x20is\x20/foo/bar/my_model.\n\n\x20(This\
1018    \x20can\x20be\x20changed\x20once\x20a\x20model\x20is\x20in\x20serving,\
1019    \x20*if*\x20the\x20underlying\x20data\n\x20remains\x20the\x20same.\x20Ot\
1020    herwise\x20there\x20are\x20no\x20guarantees\x20about\x20whether\x20the\
1021    \x20old\n\x20or\x20new\x20data\x20will\x20be\x20used\x20for\x20model\x20\
1022    versions\x20currently\x20loaded.)\n\n\x0c\n\x05\x04\0\x02\x01\x05\x12\
1023    \x03\x1d\x02\x08\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x1d\t\x12\n\x0c\n\
1024    \x05\x04\0\x02\x01\x03\x12\x03\x1d\x15\x16\na\n\x04\x04\0\x02\x02\x12\
1025    \x03!\x02/\x1aT\x20Type\x20of\x20model.\n\x20TODO(b/31336131):\x20DEPREC\
1026    ATED.\x20Please\x20use\x20'model_platform'\x20instead.\n\n\x0c\n\x05\x04\
1027    \0\x02\x02\x06\x12\x03!\x02\x0b\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03!\
1028    \x0c\x16\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03!\x19\x1a\n\x0c\n\x05\x04\
1029    \0\x02\x02\x08\x12\x03!\x1b.\n\r\n\x06\x04\0\x02\x02\x08\x03\x12\x03!\
1030    \x1c-\nh\n\x04\x04\0\x02\x03\x12\x03&\x02\x1c\x1a[\x20Type\x20of\x20mode\
1031    l\x20(e.g.\x20\"tensorflow\").\n\n\x20(This\x20cannot\x20be\x20changed\
1032    \x20once\x20a\x20model\x20is\x20in\x20serving.)\n\n\x0c\n\x05\x04\0\x02\
1033    \x03\x05\x12\x03&\x02\x08\n\x0c\n\x05\x04\0\x02\x03\x01\x12\x03&\t\x17\n\
1034    \x0c\n\x05\x04\0\x02\x03\x03\x12\x03&\x1a\x1b\n\n\n\x03\x04\0\t\x12\x03(\
1035    \x02\r\n\x0b\n\x04\x04\0\t\0\x12\x03(\x0b\x0c\n\x0c\n\x05\x04\0\t\0\x01\
1036    \x12\x03(\x0b\x0c\n\x0c\n\x05\x04\0\t\0\x02\x12\x03(\x0b\x0c\n\x88\x02\n\
1037    \x04\x04\0\x02\x04\x12\x04/\x020\x08\x1a\xf9\x01\x20Version\x20policy\
1038    \x20for\x20the\x20model\x20indicating\x20which\x20version(s)\x20of\x20th\
1039    e\x20model\x20to\n\x20load\x20and\x20make\x20available\x20for\x20serving\
1040    \x20simultaneously.\n\x20The\x20default\x20option\x20is\x20to\x20serve\
1041    \x20only\x20the\x20latest\x20version\x20of\x20the\x20model.\n\n\x20(This\
1042    \x20can\x20be\x20changed\x20once\x20a\x20model\x20is\x20in\x20serving.)\
1043    \n\n\x0c\n\x05\x04\0\x02\x04\x06\x12\x03/\x029\n\x0c\n\x05\x04\0\x02\x04\
1044    \x01\x12\x03/:N\n\x0c\n\x05\x04\0\x02\x04\x03\x12\x030\x06\x07\n\xd1\x05\
1045    \n\x04\x04\0\x02\x05\x12\x03=\x02(\x1a\xc3\x05\x20String\x20labels\x20to\
1046    \x20associate\x20with\x20versions\x20of\x20the\x20model,\x20allowing\x20\
1047    inference\n\x20queries\x20to\x20refer\x20to\x20versions\x20by\x20label\
1048    \x20instead\x20of\x20number.\x20Multiple\x20labels\n\x20can\x20map\x20to\
1049    \x20the\x20same\x20version,\x20but\x20not\x20vice-versa.\n\n\x20An\x20en\
1050    visioned\x20use-case\x20for\x20these\x20labels\x20is\x20canarying\x20ten\
1051    tative\x20versions.\n\x20For\x20example,\x20one\x20can\x20assign\x20labe\
1052    ls\x20\"stable\"\x20and\x20\"canary\"\x20to\x20two\x20specific\n\x20vers\
1053    ions.\x20Perhaps\x20initially\x20\"stable\"\x20is\x20assigned\x20to\x20v\
1054    ersion\x200\x20and\x20\"canary\"\n\x20to\x20version\x201.\x20Once\x20ver\
1055    sion\x201\x20passes\x20canary,\x20one\x20can\x20shift\x20the\x20\"stable\
1056    \"\n\x20label\x20to\x20refer\x20to\x20version\x201\x20(at\x20that\x20poi\
1057    nt\x20both\x20labels\x20map\x20to\x20the\x20same\n\x20version\x20--\x20v\
1058    ersion\x201\x20--\x20which\x20is\x20fine).\x20Later\x20once\x20version\
1059    \x202\x20is\x20ready\x20to\n\x20canary\x20one\x20can\x20move\x20the\x20\
1060    \"canary\"\x20label\x20to\x20version\x202.\x20And\x20so\x20on.\n\n\x0c\n\
1061    \x05\x04\0\x02\x05\x06\x12\x03=\x02\x14\n\x0c\n\x05\x04\0\x02\x05\x01\
1062    \x12\x03=\x15#\n\x0c\n\x05\x04\0\x02\x05\x03\x12\x03=&'\n{\n\x04\x04\0\
1063    \x02\x06\x12\x03B\x02#\x1an\x20Configures\x20logging\x20requests\x20and\
1064    \x20responses,\x20to\x20the\x20model.\n\n\x20(This\x20can\x20be\x20chang\
1065    ed\x20once\x20a\x20model\x20is\x20in\x20serving.)\n\n\x0c\n\x05\x04\0\
1066    \x02\x06\x06\x12\x03B\x02\x0f\n\x0c\n\x05\x04\0\x02\x06\x01\x12\x03B\x10\
1067    \x1e\n\x0c\n\x05\x04\0\x02\x06\x03\x12\x03B!\"\n=\n\x02\x04\x01\x12\x04F\
1068    \0H\x01\x1a1\x20Static\x20list\x20of\x20models\x20to\x20be\x20loaded\x20\
1069    for\x20serving.\n\n\n\n\x03\x04\x01\x01\x12\x03F\x08\x17\n\x0b\n\x04\x04\
1070    \x01\x02\0\x12\x03G\x02\"\n\x0c\n\x05\x04\x01\x02\0\x04\x12\x03G\x02\n\n\
1071    \x0c\n\x05\x04\x01\x02\0\x06\x12\x03G\x0b\x16\n\x0c\n\x05\x04\x01\x02\0\
1072    \x01\x12\x03G\x17\x1d\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03G\x20!\n!\n\
1073    \x02\x04\x02\x12\x04K\0S\x01\x1a\x15\x20ModelServer\x20config.\n\n\n\n\
1074    \x03\x04\x02\x01\x12\x03K\x08\x19\n\xd6\x01\n\x04\x04\x02\x08\0\x12\x04O\
1075    \x02R\x03\x1a\xc7\x01\x20ModelServer\x20takes\x20either\x20a\x20static\
1076    \x20file-based\x20model\x20config\x20list\x20or\x20an\x20Any\n\x20proto\
1077    \x20representing\x20custom\x20model\x20config\x20that\x20is\x20fetched\
1078    \x20dynamically\x20at\n\x20runtime\x20(through\x20network\x20RPC,\x20cus\
1079    tom\x20service,\x20etc.).\n\n\x0c\n\x05\x04\x02\x08\0\x01\x12\x03O\x08\
1080    \x0e\n\x0b\n\x04\x04\x02\x02\0\x12\x03P\x04*\n\x0c\n\x05\x04\x02\x02\0\
1081    \x06\x12\x03P\x04\x13\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03P\x14%\n\x0c\
1082    \n\x05\x04\x02\x02\0\x03\x12\x03P()\n\x0b\n\x04\x04\x02\x02\x01\x12\x03Q\
1083    \x040\n\x0c\n\x05\x04\x02\x02\x01\x06\x12\x03Q\x04\x17\n\x0c\n\x05\x04\
1084    \x02\x02\x01\x01\x12\x03Q\x18+\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03Q.\
1085    /b\x06proto3\
1086";
1087
1088static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy::INIT;
1089
1090fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
1091    ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap()
1092}
1093
1094pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
1095    unsafe {
1096        file_descriptor_proto_lazy.get(|| {
1097            parse_descriptor_proto()
1098        })
1099    }
1100}