Files
maestro/src/pipelines/proto/pipeline.proto
T
2022-02-04 10:03:55 -03:00

98 lines
2.0 KiB
Protocol Buffer

syntax = "proto3";
package pipeline;
import "google/protobuf/timestamp.proto";
service PipelineService{
rpc Create(CreatePipelineRequest) returns (Pipeline) {}
rpc Show(IdRequest) returns (Pipeline) {}
rpc List(Empty) returns (ListResponse){}
rpc Update(UpdatePipelineRequest) returns (Pipeline){}
rpc Remove(IdRequest) returns (Empty){}
rpc getPipelineLogsMessages(getPipelineLogsMessagesRequest) returns (getPipelineLogsMessagesResponse){}
rpc getPipelineStatus(IdRequest) returns (getPipelineStatusResponse){}
}
message Empty {}
message IdRequest{
string id = 1;
}
message Transformation {
string id = 1;
string inputSource = 2;
string table = 3;
string type = 4;
string params = 5;
}
message Input {
string id = 1;
string cronFormated = 2;
string name = 3;
string plugin = 4;
string values = 5;
string operation = 6;
}
message Output {
string id = 1;
string name = 2;
string plugin = 3;
string values = 4;
string operation = 5;
}
message Pipeline {
string id = 1;
Input input = 2;
Output output = 3;
Transformation transformations = 4;
repeated string tags = 5;
string name = 6;
string description = 7;
string status = 8;
}
message CreatePipelineRequest {
Input input = 1;
Output output = 2;
Transformation transformations = 3;
repeated string tags = 4;
string name = 5;
string description = 6;
}
message UpdatePipelineRequest{
string id = 1;
repeated string tags = 2;
string name = 3;
string description = 4;
string status = 5;
}
message ListResponse {
repeated Pipeline pipelines = 1;
}
message getPipelineLogsMessagesRequest{
string id = 1;
string details = 2;
}
message getPipelineLogsMessagesResponseItem{
string date = 1;
string log = 2;
}
message getPipelineLogsMessagesResponse{
repeated getPipelineLogsMessagesResponseItem pipelineLogs = 1;
}
message getPipelineStatusResponse{
string status = 1;
}