| /* |
| * 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; |
| } |