141 lines
2.5 KiB
Protocol Buffer
141 lines
2.5 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
option go_package = "gen/grpc";
|
|
|
|
import "google/api/annotations.proto";
|
|
|
|
message Action {
|
|
string id = 1;
|
|
string title = 2;
|
|
string icon = 3;
|
|
bool canExec = 4;
|
|
|
|
repeated ActionArgument arguments = 5;
|
|
}
|
|
|
|
message ActionArgument {
|
|
string name = 1;
|
|
string title = 2;
|
|
string type = 3;
|
|
string defaultValue = 4;
|
|
|
|
repeated ActionArgumentChoice choices = 5;
|
|
|
|
string description = 6;
|
|
}
|
|
|
|
message ActionArgumentChoice {
|
|
string value = 1;
|
|
string title = 2;
|
|
}
|
|
|
|
message Entity {
|
|
string title = 1;
|
|
string icon = 2;
|
|
repeated Action actions = 3;
|
|
}
|
|
|
|
message GetDashboardComponentsResponse {
|
|
string title = 1;
|
|
repeated Action actions = 2;
|
|
repeated Entity entities = 3;
|
|
}
|
|
|
|
message GetDashboardComponentsRequest {}
|
|
|
|
message StartActionRequest {
|
|
string actionName = 1;
|
|
|
|
repeated StartActionArgument arguments = 2;
|
|
}
|
|
|
|
message StartActionArgument {
|
|
string name = 1;
|
|
string value = 2;
|
|
}
|
|
|
|
message StartActionResponse {
|
|
LogEntry logEntry = 1;
|
|
}
|
|
|
|
message GetLogsRequest{};
|
|
|
|
message LogEntry {
|
|
string datetime = 1;
|
|
string actionTitle = 2;
|
|
string stdout = 3;
|
|
string stderr = 4;
|
|
bool timedOut = 5;
|
|
int32 exitCode = 6;
|
|
string user = 7;
|
|
string userClass = 8;
|
|
string actionIcon = 9;
|
|
repeated string tags = 10;
|
|
}
|
|
|
|
message GetLogsResponse {
|
|
repeated LogEntry logs = 1;
|
|
}
|
|
|
|
message ValidateArgumentTypeRequest {
|
|
string value = 1;
|
|
string type = 2;
|
|
}
|
|
|
|
message ValidateArgumentTypeResponse {
|
|
bool valid = 1;
|
|
string description = 2;
|
|
}
|
|
|
|
message WhoAmIRequest {}
|
|
|
|
message WhoAmIResponse {
|
|
string authenticatedUser = 1;
|
|
}
|
|
|
|
message SosReportRequest {}
|
|
|
|
message SosReportResponse {
|
|
string alert = 1;
|
|
}
|
|
|
|
service OliveTinApi {
|
|
rpc GetDashboardComponents(GetDashboardComponentsRequest) returns (GetDashboardComponentsResponse) {
|
|
option (google.api.http) = {
|
|
get: "/api/GetDashboardComponents"
|
|
};
|
|
}
|
|
|
|
rpc StartAction(StartActionRequest) returns (StartActionResponse) {
|
|
option (google.api.http) = {
|
|
post: "/api/StartAction"
|
|
body: "*"
|
|
};
|
|
}
|
|
|
|
rpc GetLogs(GetLogsRequest) returns (GetLogsResponse) {
|
|
option (google.api.http) = {
|
|
get: "/api/GetLogs"
|
|
};
|
|
}
|
|
|
|
rpc ValidateArgumentType(ValidateArgumentTypeRequest) returns (ValidateArgumentTypeResponse) {
|
|
option (google.api.http) = {
|
|
post: "/api/ValidateArgumentType"
|
|
body: "*"
|
|
};
|
|
}
|
|
|
|
rpc WhoAmI(WhoAmIRequest) returns (WhoAmIResponse) {
|
|
option (google.api.http) = {
|
|
get: "/api/WhoAmI"
|
|
};
|
|
}
|
|
|
|
rpc SosReport(SosReportRequest) returns (SosReportResponse) {
|
|
option (google.api.http) = {
|
|
get: "/api/sosreport"
|
|
};
|
|
}
|
|
}
|