blob: 074c74e710b19e374808cb9abb4ce4daad584222 [file] [log] [blame]
/*
* Copyright 2024 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.
*
* Author: Yongbing Chen yongbingchen@google.com
*/
syntax = "proto3";
package third_party_voyager;
import "voyager_telemetry.proto";
message ConfigGroup {
repeated string req_fqp_names = 1;
}
message ReqFqpConfig {
repeated RequestFqp req_fqp = 1;
}
/* 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
*/
message ServerConfig {
/* 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.
*/
map<string, ConfigGroup> cfg_groups = 1;
/* Second-level configurations, keys are names like "thermal_sensors", "fan"
* "mem_metrics", etc.
*/
map<string, ReqFqpConfig> req_fqp_configs = 2;
/*
* threshold_config is a map from resource ID to its Thresholds config.
*/
map <string, Thresholds> threshold_config = 3;
}