Files
onepanel/api/workflow.proto
2019-12-16 17:16:57 -08:00

97 lines
2.4 KiB
Protocol Buffer

syntax = "proto3";
package api;
import "google/api/annotations.proto";
import "workflow_template.proto";
service WorkflowService {
// Creates a Workflow
rpc CreateWorkflow (CreateWorkflowRequest) returns (Workflow) {
option (google.api.http) = {
post: "/apis/v1beta1/{namespace}/workflows"
body: "workflow"
};
}
rpc GetWorkflow (GetWorkflowRequest) returns (Workflow) {
option (google.api.http) = {
get: "/apis/v1beta1/{namespace}/workflows/{name}"
};
}
rpc ListWorkflows (ListWorkflowsRequest) returns (ListWorkflowsResponse) {
option (google.api.http) = {
get: "/apis/v1beta1/{namespace}/workflows"
};
}
rpc WatchWorkflow (WatchWorkflowRequest) returns (stream Workflow) {
option (google.api.http) = {
get: "/apis/v1beta1/{namespace}/workflows/{name}"
};
}
rpc CreateWorkflowTemplate (CreateWorkflowTemplateRequest) returns (WorkflowTemplate) {
option (google.api.http) = {
post: "/apis/v1beta1/{namespace}/workflow_templates"
body: "workflowTemplate"
};
}
rpc GetWorkflowTemplate (GetWorkflowTemplateRequest) returns (WorkflowTemplate) {
option (google.api.http) = {
get: "/apis/v1beta1/{namespace}/workflow_templates/{uid}"
additional_bindings {
get: "/apis/v1beta1/{namespace}/workflow_templates/{uid}/versions/{version}"
}
};
}
rpc ListWorkflowTemplateVersions (ListWorkflowTemplateVersionsRequest) returns (ListWorkflowTemplateVersionsResponse) {
option (google.api.http) = {
get: "/apis/v1beta1/{namespace}/workflow_templates/{uid}/versions"
};
}
}
message CreateWorkflowRequest {
string namespace = 1;
Workflow workflow = 2;
}
message GetWorkflowRequest {
string namespace = 1;
string name = 2;
}
message WatchWorkflowRequest {
string namespace = 1;
string name = 2;
}
message ListWorkflowsRequest {
string namespace = 1;
string workflowTemplateUid = 2;
}
message ListWorkflowsResponse {
repeated Workflow workflows = 1;
int32 count = 2;
}
message Workflow {
string uid = 1;
string name = 2;
string status = 3;
repeated Parameter parameters = 4;
WorkflowTemplate workflowTemplate = 5;
}
message Parameter {
string name = 1;
string value = 2;
}