syntax = "proto3";

package proto;

message ShowVersionRequest {
};

message ShowVersionResponse {
    string model_name = 1;
    string internal_version = 2;
    string system_mac_address = 3;
    string serial_number = 4;
    int64 mem_total = 5;
    double bootup_timestamp = 6;
    int64 mem_free = 7;
    string version = 8;
    string architecture = 9;
    string internal_build_id = 10;
    string hardware_revision = 11;
};

message ShowEnvironmentTemperatureRequest {
};

message ShowEnvironmentTemperatureResponse {
};

service AristaProxy {
    rpc ShowVersion(ShowVersionRequest) returns (ShowVersionResponse);
    rpc ShowEnvironmentTemperature(ShowEnvironmentTemperatureRequest) returns (ShowEnvironmentTemperatureResponse);
};
