mirror of
https://github.com/onepanelio/onepanel.git
synced 2025-10-09 23:50:07 +08:00
131 lines
3.6 KiB
Protocol Buffer
131 lines
3.6 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package api;
|
|
option go_package = "github.com/onepanelio/core/api/gen";
|
|
|
|
import "google/api/annotations.proto";
|
|
import "workflow_template.proto";
|
|
import "label.proto";
|
|
|
|
service WorkspaceTemplateService {
|
|
// Get the generated WorkflowTemplate for a WorkspaceTemplate
|
|
rpc GenerateWorkspaceTemplateWorkflowTemplate (GenerateWorkspaceTemplateWorkflowTemplateRequest) returns (WorkflowTemplate) {
|
|
option (google.api.http) = {
|
|
post: "/apis/v1beta1/{namespace}/workspace_templates/{uid}/workflow_template"
|
|
body: "workspaceTemplate"
|
|
};
|
|
}
|
|
|
|
// Creates a WorkspaceTemplate
|
|
rpc CreateWorkspaceTemplate (CreateWorkspaceTemplateRequest) returns (WorkspaceTemplate) {
|
|
option (google.api.http) = {
|
|
post: "/apis/v1beta1/{namespace}/workspace_templates"
|
|
body: "workspaceTemplate"
|
|
};
|
|
}
|
|
|
|
// Updates a WorkspaceTemplate
|
|
rpc UpdateWorkspaceTemplate (UpdateWorkspaceTemplateRequest) returns (WorkspaceTemplate) {
|
|
option (google.api.http) = {
|
|
put: "/apis/v1beta1/{namespace}/workspace_templates/{uid}"
|
|
body: "workspaceTemplate"
|
|
};
|
|
}
|
|
|
|
// Archives a WorkspaceTemplate
|
|
rpc ArchiveWorkspaceTemplate (ArchiveWorkspaceTemplateRequest) returns (WorkspaceTemplate) {
|
|
option (google.api.http) = {
|
|
put: "/apis/v1beta1/{namespace}/workspace_templates/{uid}/archive"
|
|
};
|
|
}
|
|
|
|
// Get a WorkspaceTemplate
|
|
rpc GetWorkspaceTemplate (GetWorkspaceTemplateRequest) returns (WorkspaceTemplate) {
|
|
option (google.api.http) = {
|
|
get: "/apis/v1beta1/{namespace}/workspace_templates/{uid}"
|
|
};
|
|
}
|
|
|
|
rpc ListWorkspaceTemplates (ListWorkspaceTemplatesRequest) returns (ListWorkspaceTemplatesResponse) {
|
|
option (google.api.http) = {
|
|
get: "/apis/v1beta1/{namespace}/workspace_templates"
|
|
};
|
|
}
|
|
|
|
rpc ListWorkspaceTemplateVersions (ListWorkspaceTemplateVersionsRequest) returns (ListWorkspaceTemplateVersionsResponse) {
|
|
option (google.api.http) = {
|
|
get: "/apis/v1beta1/{namespace}/workspace_templates/{uid}/versions"
|
|
};
|
|
}
|
|
}
|
|
|
|
message WorkspaceTemplate {
|
|
string uid = 1;
|
|
string name = 2;
|
|
int64 version = 3;
|
|
string manifest = 4;
|
|
bool isLatest = 5;
|
|
string createdAt = 6;
|
|
WorkflowTemplate workflowTemplate = 7;
|
|
repeated KeyValue labels = 8;
|
|
bool isArchived = 9;
|
|
string description = 10;
|
|
}
|
|
|
|
message GenerateWorkspaceTemplateWorkflowTemplateRequest {
|
|
string namespace = 1;
|
|
string uid = 2;
|
|
WorkspaceTemplate workspaceTemplate = 3;
|
|
}
|
|
|
|
message CreateWorkspaceTemplateRequest {
|
|
string namespace = 1;
|
|
WorkspaceTemplate workspaceTemplate = 2;
|
|
}
|
|
|
|
message UpdateWorkspaceTemplateRequest {
|
|
string namespace = 1;
|
|
string uid = 2;
|
|
WorkspaceTemplate workspaceTemplate = 3;
|
|
}
|
|
|
|
message GetWorkspaceTemplateRequest {
|
|
string namespace = 1;
|
|
string uid = 2;
|
|
int64 version = 3;
|
|
}
|
|
|
|
message ArchiveWorkspaceTemplateRequest {
|
|
string namespace = 1;
|
|
string uid = 2;
|
|
}
|
|
|
|
message ListWorkspaceTemplatesRequest {
|
|
string namespace = 1;
|
|
int32 pageSize = 2;
|
|
int32 page = 3;
|
|
string order = 4;
|
|
string labels = 5;
|
|
string uid = 6;
|
|
}
|
|
|
|
message ListWorkspaceTemplatesResponse {
|
|
int32 count = 1;
|
|
repeated WorkspaceTemplate workspaceTemplates = 2;
|
|
int32 page = 3;
|
|
int32 pages = 4;
|
|
int32 totalCount = 5;
|
|
}
|
|
|
|
message ListWorkspaceTemplateVersionsRequest {
|
|
string namespace = 1;
|
|
string uid = 2;
|
|
}
|
|
|
|
message ListWorkspaceTemplateVersionsResponse {
|
|
int32 count = 1;
|
|
repeated WorkspaceTemplate workspaceTemplates = 2;
|
|
}
|
|
|
|
|