blob: 1325416ba263dd0a39cf81e9655884ccd5a08fd0 [file] [log] [blame]
edition = "2023";
package safepower_agent_config;
import "safepower_agent.proto";
option features.field_presence = IMPLICIT;
// shared configs
message SafePowerAgentConfig {
GpowerdConfig gpowerd_config = 1;
repeated ActionConfig action_configs = 2;
}
// gpowerd specific configs will go here
message GpowerdConfig {
repeated StateMonitorConfig state_monitor_config = 1;
}
message StateMonitorConfig {
string state_name = 1;
StateGatheringInfo state_gathering_info = 2;
safepower_agent_proto.SystemComponent system_component = 3;
}
message StateGatheringInfo {
oneof info {
RedfishInfo redfish = 1;
DbusInfo dbus = 2;
}
uint32 collection_interval_ms = 3;
safepower_agent_proto.ComponentState prototype = 4;
}
message RedfishInfo {
string uri = 1;
string json_key = 2;
}
message DbusInfo {
string dbus_path = 1;
string dbus_method = 2;
string dbus_interface = 3;
string dbus_value = 4;
}
message ActionConfig {
string action_name = 1;
safepower_agent_proto.Action action = 2;
oneof info {
RedfishAction redfish = 4;
DbusAction dbus = 5;
}
}
message RedfishAction {
string uri = 1;
string json_body = 2;
string ip = 3;
uint32 port = 4;
}
message DbusAction {}