syntax = "proto3";

package safepower_agent_config;

import "safepower_agent.proto";

// 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 {}
