blob: 2332a73106119713062788e2f92eea38bd3670c2 [file] [log] [blame]
// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#![allow(clippy::all)]
// This file is generated by rust-protobuf 3.5.1. Do not edit
// .proto file is parsed by protoc --rust_out=...
// @generated
// https://github.com/rust-lang/rust-clippy/issues/702
#![allow(unknown_lints)]
#![allow(clippy::all)]
#![allow(unused_attributes)]
#![cfg_attr(rustfmt, rustfmt::skip)]
#![allow(dead_code)]
#![allow(missing_docs)]
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![allow(non_upper_case_globals)]
#![allow(trivial_casts)]
#![allow(unused_results)]
#![allow(unused_mut)]
//! Generated file from `voyager_server_config.proto`
/// Generated files are compatible only with the same version
/// of protobuf runtime.
const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_3_5_1;
// @@protoc_insertion_point(message:third_party_voyager.ConfigGroup)
#[derive(PartialEq,Clone,Default,Debug)]
pub struct ConfigGroup {
// message fields
// @@protoc_insertion_point(field:third_party_voyager.ConfigGroup.req_fqp_names)
pub req_fqp_names: ::std::vec::Vec<::std::string::String>,
// special fields
// @@protoc_insertion_point(special_field:third_party_voyager.ConfigGroup.special_fields)
pub special_fields: ::protobuf::SpecialFields,
}
impl<'a> ::std::default::Default for &'a ConfigGroup {
fn default() -> &'a ConfigGroup {
<ConfigGroup as ::protobuf::Message>::default_instance()
}
}
impl ConfigGroup {
pub fn new() -> ConfigGroup {
::std::default::Default::default()
}
fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
let mut fields = ::std::vec::Vec::with_capacity(1);
let mut oneofs = ::std::vec::Vec::with_capacity(0);
fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
"req_fqp_names",
|m: &ConfigGroup| { &m.req_fqp_names },
|m: &mut ConfigGroup| { &mut m.req_fqp_names },
));
::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<ConfigGroup>(
"ConfigGroup",
fields,
oneofs,
)
}
}
impl ::protobuf::Message for ConfigGroup {
const NAME: &'static str = "ConfigGroup";
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
while let Some(tag) = is.read_raw_tag_or_eof()? {
match tag {
10 => {
self.req_fqp_names.push(is.read_string()?);
},
tag => {
::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
// Compute sizes of nested messages
#[allow(unused_variables)]
fn compute_size(&self) -> u64 {
let mut my_size = 0;
for value in &self.req_fqp_names {
my_size += ::protobuf::rt::string_size(1, &value);
};
my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
self.special_fields.cached_size().set(my_size as u32);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
for v in &self.req_fqp_names {
os.write_string(1, &v)?;
};
os.write_unknown_fields(self.special_fields.unknown_fields())?;
::std::result::Result::Ok(())
}
fn special_fields(&self) -> &::protobuf::SpecialFields {
&self.special_fields
}
fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
&mut self.special_fields
}
fn new() -> ConfigGroup {
ConfigGroup::new()
}
fn clear(&mut self) {
self.req_fqp_names.clear();
self.special_fields.clear();
}
fn default_instance() -> &'static ConfigGroup {
static instance: ConfigGroup = ConfigGroup {
req_fqp_names: ::std::vec::Vec::new(),
special_fields: ::protobuf::SpecialFields::new(),
};
&instance
}
}
impl ::protobuf::MessageFull for ConfigGroup {
fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
descriptor.get(|| file_descriptor().message_by_package_relative_name("ConfigGroup").unwrap()).clone()
}
}
impl ::std::fmt::Display for ConfigGroup {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for ConfigGroup {
type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
}
// @@protoc_insertion_point(message:third_party_voyager.ReqFqpConfig)
#[derive(PartialEq,Clone,Default,Debug)]
pub struct ReqFqpConfig {
// message fields
// @@protoc_insertion_point(field:third_party_voyager.ReqFqpConfig.req_fqp)
pub req_fqp: ::std::vec::Vec<super::voyager_telemetry::RequestFqp>,
// special fields
// @@protoc_insertion_point(special_field:third_party_voyager.ReqFqpConfig.special_fields)
pub special_fields: ::protobuf::SpecialFields,
}
impl<'a> ::std::default::Default for &'a ReqFqpConfig {
fn default() -> &'a ReqFqpConfig {
<ReqFqpConfig as ::protobuf::Message>::default_instance()
}
}
impl ReqFqpConfig {
pub fn new() -> ReqFqpConfig {
::std::default::Default::default()
}
fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
let mut fields = ::std::vec::Vec::with_capacity(1);
let mut oneofs = ::std::vec::Vec::with_capacity(0);
fields.push(::protobuf::reflect::rt::v2::make_vec_simpler_accessor::<_, _>(
"req_fqp",
|m: &ReqFqpConfig| { &m.req_fqp },
|m: &mut ReqFqpConfig| { &mut m.req_fqp },
));
::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<ReqFqpConfig>(
"ReqFqpConfig",
fields,
oneofs,
)
}
}
impl ::protobuf::Message for ReqFqpConfig {
const NAME: &'static str = "ReqFqpConfig";
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
while let Some(tag) = is.read_raw_tag_or_eof()? {
match tag {
10 => {
self.req_fqp.push(is.read_message()?);
},
tag => {
::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
// Compute sizes of nested messages
#[allow(unused_variables)]
fn compute_size(&self) -> u64 {
let mut my_size = 0;
for value in &self.req_fqp {
let len = value.compute_size();
my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
};
my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
self.special_fields.cached_size().set(my_size as u32);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
for v in &self.req_fqp {
::protobuf::rt::write_message_field_with_cached_size(1, v, os)?;
};
os.write_unknown_fields(self.special_fields.unknown_fields())?;
::std::result::Result::Ok(())
}
fn special_fields(&self) -> &::protobuf::SpecialFields {
&self.special_fields
}
fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
&mut self.special_fields
}
fn new() -> ReqFqpConfig {
ReqFqpConfig::new()
}
fn clear(&mut self) {
self.req_fqp.clear();
self.special_fields.clear();
}
fn default_instance() -> &'static ReqFqpConfig {
static instance: ReqFqpConfig = ReqFqpConfig {
req_fqp: ::std::vec::Vec::new(),
special_fields: ::protobuf::SpecialFields::new(),
};
&instance
}
}
impl ::protobuf::MessageFull for ReqFqpConfig {
fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
descriptor.get(|| file_descriptor().message_by_package_relative_name("ReqFqpConfig").unwrap()).clone()
}
}
impl ::std::fmt::Display for ReqFqpConfig {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for ReqFqpConfig {
type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
}
/// ServerConfig is the root telemetry configuration container maintained on
/// the server. This is typically applied OOB as a configuration file. It can
/// also be applied as an idempotent "replace configuration" RPC that the server
/// accepts (not defined here).req_fqp
// @@protoc_insertion_point(message:third_party_voyager.ServerConfig)
#[derive(PartialEq,Clone,Default,Debug)]
pub struct ServerConfig {
// message fields
/// Top-level configuration groups, use a name like
/// "repairability_basic_cfg_group" to select a ConfigGroup, which may
/// contains a vector of names like "thermal_sensors", "mem_metrics",
/// "proc_metrics", "fan", "proc_info", "mem_info", each then can be used
/// to select a vector of event sources defined as RequestFqp, these
/// RequestFqp will have FqpType as FQP_TYPE_NOT_SET, so they have a full
/// Redfish odata.id to uniquely address an event source.
/// Each RequestFqp also has a threshold_config defined to select one
/// ThresholdConfig from its entry at ServerThresholdsConfig, as its initial
/// threshold_config.
// @@protoc_insertion_point(field:third_party_voyager.ServerConfig.cfg_groups)
pub cfg_groups: ::std::collections::HashMap<::std::string::String, ConfigGroup>,
/// Second-level configurations, keys are names like "thermal_sensors", "fan"
/// "mem_metrics", etc.
// @@protoc_insertion_point(field:third_party_voyager.ServerConfig.req_fqp_configs)
pub req_fqp_configs: ::std::collections::HashMap<::std::string::String, ReqFqpConfig>,
///
/// threshold_config is a map from resource ID to its Thresholds config.
// @@protoc_insertion_point(field:third_party_voyager.ServerConfig.threshold_config)
pub threshold_config: ::std::collections::HashMap<::std::string::String, super::voyager_telemetry::Thresholds>,
// special fields
// @@protoc_insertion_point(special_field:third_party_voyager.ServerConfig.special_fields)
pub special_fields: ::protobuf::SpecialFields,
}
impl<'a> ::std::default::Default for &'a ServerConfig {
fn default() -> &'a ServerConfig {
<ServerConfig as ::protobuf::Message>::default_instance()
}
}
impl ServerConfig {
pub fn new() -> ServerConfig {
::std::default::Default::default()
}
fn generated_message_descriptor_data() -> ::protobuf::reflect::GeneratedMessageDescriptorData {
let mut fields = ::std::vec::Vec::with_capacity(3);
let mut oneofs = ::std::vec::Vec::with_capacity(0);
fields.push(::protobuf::reflect::rt::v2::make_map_simpler_accessor_new::<_, _>(
"cfg_groups",
|m: &ServerConfig| { &m.cfg_groups },
|m: &mut ServerConfig| { &mut m.cfg_groups },
));
fields.push(::protobuf::reflect::rt::v2::make_map_simpler_accessor_new::<_, _>(
"req_fqp_configs",
|m: &ServerConfig| { &m.req_fqp_configs },
|m: &mut ServerConfig| { &mut m.req_fqp_configs },
));
fields.push(::protobuf::reflect::rt::v2::make_map_simpler_accessor_new::<_, _>(
"threshold_config",
|m: &ServerConfig| { &m.threshold_config },
|m: &mut ServerConfig| { &mut m.threshold_config },
));
::protobuf::reflect::GeneratedMessageDescriptorData::new_2::<ServerConfig>(
"ServerConfig",
fields,
oneofs,
)
}
}
impl ::protobuf::Message for ServerConfig {
const NAME: &'static str = "ServerConfig";
fn is_initialized(&self) -> bool {
true
}
fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::Result<()> {
while let Some(tag) = is.read_raw_tag_or_eof()? {
match tag {
10 => {
let len = is.read_raw_varint32()?;
let old_limit = is.push_limit(len as u64)?;
let mut key = ::std::default::Default::default();
let mut value = ::std::default::Default::default();
while let Some(tag) = is.read_raw_tag_or_eof()? {
match tag {
10 => key = is.read_string()?,
18 => value = is.read_message()?,
_ => ::protobuf::rt::skip_field_for_tag(tag, is)?,
};
}
is.pop_limit(old_limit);
self.cfg_groups.insert(key, value);
},
18 => {
let len = is.read_raw_varint32()?;
let old_limit = is.push_limit(len as u64)?;
let mut key = ::std::default::Default::default();
let mut value = ::std::default::Default::default();
while let Some(tag) = is.read_raw_tag_or_eof()? {
match tag {
10 => key = is.read_string()?,
18 => value = is.read_message()?,
_ => ::protobuf::rt::skip_field_for_tag(tag, is)?,
};
}
is.pop_limit(old_limit);
self.req_fqp_configs.insert(key, value);
},
26 => {
let len = is.read_raw_varint32()?;
let old_limit = is.push_limit(len as u64)?;
let mut key = ::std::default::Default::default();
let mut value = ::std::default::Default::default();
while let Some(tag) = is.read_raw_tag_or_eof()? {
match tag {
10 => key = is.read_string()?,
18 => value = is.read_message()?,
_ => ::protobuf::rt::skip_field_for_tag(tag, is)?,
};
}
is.pop_limit(old_limit);
self.threshold_config.insert(key, value);
},
tag => {
::protobuf::rt::read_unknown_or_skip_group(tag, is, self.special_fields.mut_unknown_fields())?;
},
};
}
::std::result::Result::Ok(())
}
// Compute sizes of nested messages
#[allow(unused_variables)]
fn compute_size(&self) -> u64 {
let mut my_size = 0;
for (k, v) in &self.cfg_groups {
let mut entry_size = 0;
entry_size += ::protobuf::rt::string_size(1, &k);
let len = v.compute_size();
entry_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(entry_size) + entry_size
};
for (k, v) in &self.req_fqp_configs {
let mut entry_size = 0;
entry_size += ::protobuf::rt::string_size(1, &k);
let len = v.compute_size();
entry_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(entry_size) + entry_size
};
for (k, v) in &self.threshold_config {
let mut entry_size = 0;
entry_size += ::protobuf::rt::string_size(1, &k);
let len = v.compute_size();
entry_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
my_size += 1 + ::protobuf::rt::compute_raw_varint64_size(entry_size) + entry_size
};
my_size += ::protobuf::rt::unknown_fields_size(self.special_fields.unknown_fields());
self.special_fields.cached_size().set(my_size as u32);
my_size
}
fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::Result<()> {
for (k, v) in &self.cfg_groups {
let mut entry_size = 0;
entry_size += ::protobuf::rt::string_size(1, &k);
let len = v.cached_size() as u64;
entry_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
os.write_raw_varint32(10)?; // Tag.
os.write_raw_varint32(entry_size as u32)?;
os.write_string(1, &k)?;
::protobuf::rt::write_message_field_with_cached_size(2, v, os)?;
};
for (k, v) in &self.req_fqp_configs {
let mut entry_size = 0;
entry_size += ::protobuf::rt::string_size(1, &k);
let len = v.cached_size() as u64;
entry_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
os.write_raw_varint32(18)?; // Tag.
os.write_raw_varint32(entry_size as u32)?;
os.write_string(1, &k)?;
::protobuf::rt::write_message_field_with_cached_size(2, v, os)?;
};
for (k, v) in &self.threshold_config {
let mut entry_size = 0;
entry_size += ::protobuf::rt::string_size(1, &k);
let len = v.cached_size() as u64;
entry_size += 1 + ::protobuf::rt::compute_raw_varint64_size(len) + len;
os.write_raw_varint32(26)?; // Tag.
os.write_raw_varint32(entry_size as u32)?;
os.write_string(1, &k)?;
::protobuf::rt::write_message_field_with_cached_size(2, v, os)?;
};
os.write_unknown_fields(self.special_fields.unknown_fields())?;
::std::result::Result::Ok(())
}
fn special_fields(&self) -> &::protobuf::SpecialFields {
&self.special_fields
}
fn mut_special_fields(&mut self) -> &mut ::protobuf::SpecialFields {
&mut self.special_fields
}
fn new() -> ServerConfig {
ServerConfig::new()
}
fn clear(&mut self) {
self.cfg_groups.clear();
self.req_fqp_configs.clear();
self.threshold_config.clear();
self.special_fields.clear();
}
fn default_instance() -> &'static ServerConfig {
static instance: ::protobuf::rt::Lazy<ServerConfig> = ::protobuf::rt::Lazy::new();
instance.get(ServerConfig::new)
}
}
impl ::protobuf::MessageFull for ServerConfig {
fn descriptor() -> ::protobuf::reflect::MessageDescriptor {
static descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::Lazy::new();
descriptor.get(|| file_descriptor().message_by_package_relative_name("ServerConfig").unwrap()).clone()
}
}
impl ::std::fmt::Display for ServerConfig {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
::protobuf::text_format::fmt(self, f)
}
}
impl ::protobuf::reflect::ProtobufValue for ServerConfig {
type RuntimeType = ::protobuf::reflect::rt::RuntimeTypeMessage<Self>;
}
static file_descriptor_proto_data: &'static [u8] = b"\
\n\x1bvoyager_server_config.proto\x12\x13third_party_voyager\x1a\x17voya\
ger_telemetry.proto\"1\n\x0bConfigGroup\x12\"\n\rreq_fqp_names\x18\x01\
\x20\x03(\tR\x0breqFqpNames\"H\n\x0cReqFqpConfig\x128\n\x07req_fqp\x18\
\x01\x20\x03(\x0b2\x1f.third_party_voyager.RequestFqpR\x06reqFqp\"\xca\
\x04\n\x0cServerConfig\x12O\n\ncfg_groups\x18\x01\x20\x03(\x0b20.third_p\
arty_voyager.ServerConfig.CfgGroupsEntryR\tcfgGroups\x12\\\n\x0freq_fqp_\
configs\x18\x02\x20\x03(\x0b24.third_party_voyager.ServerConfig.ReqFqpCo\
nfigsEntryR\rreqFqpConfigs\x12a\n\x10threshold_config\x18\x03\x20\x03(\
\x0b26.third_party_voyager.ServerConfig.ThresholdConfigEntryR\x0fthresho\
ldConfig\x1a^\n\x0eCfgGroupsEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\
\x03key\x126\n\x05value\x18\x02\x20\x01(\x0b2\x20.third_party_voyager.Co\
nfigGroupR\x05value:\x028\x01\x1ac\n\x12ReqFqpConfigsEntry\x12\x10\n\x03\
key\x18\x01\x20\x01(\tR\x03key\x127\n\x05value\x18\x02\x20\x01(\x0b2!.th\
ird_party_voyager.ReqFqpConfigR\x05value:\x028\x01\x1ac\n\x14ThresholdCo\
nfigEntry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x125\n\x05value\
\x18\x02\x20\x01(\x0b2\x1f.third_party_voyager.ThresholdsR\x05value:\x02\
8\x01J\xed\x0f\n\x06\x12\x04\x11\09\x01\n\xbd\x04\n\x01\x0c\x12\x03\x11\
\0\x122\xb2\x04\n\x20Copyright\x202024\x20Google\x20LLC\n\n\x20Licensed\
\x20under\x20the\x20Apache\x20License,\x20Version\x202.0\x20(the\x20\"Li\
cense\");\n\x20you\x20may\x20not\x20use\x20this\x20file\x20except\x20in\
\x20compliance\x20with\x20the\x20License.\n\x20You\x20may\x20obtain\x20a\
\x20copy\x20of\x20the\x20License\x20at\n\n\x20\x20\x20\x20http://www.apa\
che.org/licenses/LICENSE-2.0\n\n\x20Unless\x20required\x20by\x20applicab\
le\x20law\x20or\x20agreed\x20to\x20in\x20writing,\x20software\n\x20distr\
ibuted\x20under\x20the\x20License\x20is\x20distributed\x20on\x20an\x20\"\
AS\x20IS\"\x20BASIS,\n\x20WITHOUT\x20WARRANTIES\x20OR\x20CONDITIONS\x20O\
F\x20ANY\x20KIND,\x20either\x20express\x20or\n\x20implied.\n\x20See\x20t\
he\x20License\x20for\x20the\x20specific\x20language\x20governing\x20perm\
issions\x20and\n\x20limitations\x20under\x20the\x20License.\n\n\x08\n\
\x01\x02\x12\x03\x13\0\x1c\n\t\n\x02\x03\0\x12\x03\x15\0!\n\n\n\x02\x04\
\0\x12\x04\x17\0\x19\x01\n\n\n\x03\x04\0\x01\x12\x03\x17\x08\x13\n\x0b\n\
\x04\x04\0\x02\0\x12\x03\x18\x02$\n\x0c\n\x05\x04\0\x02\0\x04\x12\x03\
\x18\x02\n\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x18\x0b\x11\n\x0c\n\x05\
\x04\0\x02\0\x01\x12\x03\x18\x12\x1f\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\
\x18\"#\n\n\n\x02\x04\x01\x12\x04\x1b\0\x1d\x01\n\n\n\x03\x04\x01\x01\
\x12\x03\x1b\x08\x14\n\x0b\n\x04\x04\x01\x02\0\x12\x03\x1c\x02\"\n\x0c\n\
\x05\x04\x01\x02\0\x04\x12\x03\x1c\x02\n\n\x0c\n\x05\x04\x01\x02\0\x06\
\x12\x03\x1c\x0b\x15\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03\x1c\x16\x1d\n\
\x0c\n\x05\x04\x01\x02\0\x03\x12\x03\x1c\x20!\n\x94\x02\n\x02\x04\x02\
\x12\x04$\09\x01\x1a\x87\x02\x20ServerConfig\x20is\x20the\x20root\x20tel\
emetry\x20configuration\x20container\x20maintained\x20on\n\x20the\x20ser\
ver.\x20This\x20is\x20typically\x20applied\x20OOB\x20as\x20a\x20configur\
ation\x20file.\x20It\x20can\n\x20also\x20be\x20applied\x20as\x20an\x20id\
empotent\x20\"replace\x20configuration\"\x20RPC\x20that\x20the\x20server\
\n\x20accepts\x20(not\x20defined\x20here).req_fqp\n\n\n\n\x03\x04\x02\
\x01\x12\x03$\x08\x14\n\xed\x04\n\x04\x04\x02\x02\0\x12\x030\x02*\x1a\
\xdf\x04\x20Top-level\x20configuration\x20groups,\x20use\x20a\x20name\
\x20like\n\x20\"repairability_basic_cfg_group\"\x20to\x20select\x20a\x20\
ConfigGroup,\x20which\x20may\n\x20contains\x20a\x20vector\x20of\x20names\
\x20like\x20\"thermal_sensors\",\x20\"mem_metrics\",\n\x20\"proc_metrics\
\",\x20\"fan\",\x20\"proc_info\",\x20\"mem_info\",\x20each\x20then\x20ca\
n\x20be\x20used\n\x20to\x20select\x20a\x20vector\x20of\x20event\x20sourc\
es\x20defined\x20as\x20RequestFqp,\x20these\n\x20RequestFqp\x20will\x20h\
ave\x20FqpType\x20as\x20FQP_TYPE_NOT_SET,\x20so\x20they\x20have\x20a\x20\
full\n\x20Redfish\x20odata.id\x20to\x20uniquely\x20address\x20an\x20even\
t\x20source.\n\x20Each\x20RequestFqp\x20also\x20has\x20a\x20threshold_co\
nfig\x20defined\x20to\x20select\x20one\n\x20ThresholdConfig\x20from\x20i\
ts\x20entry\x20at\x20ServerThresholdsConfig,\x20as\x20its\x20initial\n\
\x20threshold_config.\n\n\x0c\n\x05\x04\x02\x02\0\x06\x12\x030\x02\x1a\n\
\x0c\n\x05\x04\x02\x02\0\x01\x12\x030\x1b%\n\x0c\n\x05\x04\x02\x02\0\x03\
\x12\x030()\nm\n\x04\x04\x02\x02\x01\x12\x034\x020\x1a`\x20Second-level\
\x20configurations,\x20keys\x20are\x20names\x20like\x20\"thermal_sensors\
\",\x20\"fan\"\n\x20\"mem_metrics\",\x20etc.\n\n\x0c\n\x05\x04\x02\x02\
\x01\x06\x12\x034\x02\x1b\n\x0c\n\x05\x04\x02\x02\x01\x01\x12\x034\x1c+\
\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x034./\nT\n\x04\x04\x02\x02\x02\x12\
\x038\x020\x1aG\n\x20threshold_config\x20is\x20a\x20map\x20from\x20resou\
rce\x20ID\x20to\x20its\x20Thresholds\x20config.\n\n\x0c\n\x05\x04\x02\
\x02\x02\x06\x12\x038\x02\x1a\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x038\
\x1b+\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x038./b\x06proto3\
";
/// `FileDescriptorProto` object which was a source for this generated file
fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
static file_descriptor_proto_lazy: ::protobuf::rt::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::Lazy::new();
file_descriptor_proto_lazy.get(|| {
::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
})
}
/// `FileDescriptor` object which allows dynamic access to files
pub fn file_descriptor() -> &'static ::protobuf::reflect::FileDescriptor {
static generated_file_descriptor_lazy: ::protobuf::rt::Lazy<::protobuf::reflect::GeneratedFileDescriptor> = ::protobuf::rt::Lazy::new();
static file_descriptor: ::protobuf::rt::Lazy<::protobuf::reflect::FileDescriptor> = ::protobuf::rt::Lazy::new();
file_descriptor.get(|| {
let generated_file_descriptor = generated_file_descriptor_lazy.get(|| {
let mut deps = ::std::vec::Vec::with_capacity(1);
deps.push(super::voyager_telemetry::file_descriptor().clone());
let mut messages = ::std::vec::Vec::with_capacity(3);
messages.push(ConfigGroup::generated_message_descriptor_data());
messages.push(ReqFqpConfig::generated_message_descriptor_data());
messages.push(ServerConfig::generated_message_descriptor_data());
let mut enums = ::std::vec::Vec::with_capacity(0);
::protobuf::reflect::GeneratedFileDescriptor::new_generated(
file_descriptor_proto(),
deps,
messages,
enums,
)
});
::protobuf::reflect::FileDescriptor::new_generated_2(generated_file_descriptor)
})
}