containerd/api/services/execution/execution.proto
Akihiro Suda bf8abef70f api: introduce api/{types,services} for deduplication of API definition
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-02-14 02:42:13 +00:00

118 lines
3.1 KiB
Protocol Buffer

syntax = "proto3";
package containerd.v1.services;
import "google/protobuf/empty.proto";
import "gogoproto/gogo.proto";
import "github.com/docker/containerd/api/types/container/container.proto";
import "github.com/docker/containerd/api/types/process/process.proto";
service ExecutionService {
rpc CreateContainer(CreateContainerRequest) returns (CreateContainerResponse);
rpc StartContainer(StartContainerRequest) returns (google.protobuf.Empty);
rpc UpdateContainer(UpdateContainerRequest) returns (google.protobuf.Empty);
rpc PauseContainer(PauseContainerRequest) returns (google.protobuf.Empty);
rpc ResumeContainer(ResumeContainerRequest) returns (google.protobuf.Empty);
rpc DeleteContainer(DeleteContainerRequest) returns (google.protobuf.Empty);
rpc GetContainer(GetContainerRequest) returns (GetContainerResponse);
rpc ListContainers(ListContainersRequest) returns (ListContainersResponse);
rpc StartProcess(StartProcessRequest) returns (StartProcessResponse);
rpc GetProcess(GetProcessRequest) returns (GetProcessResponse);
rpc SignalProcess(SignalProcessRequest) returns (google.protobuf.Empty);
rpc DeleteProcess(DeleteProcessRequest) returns (google.protobuf.Empty);
rpc ListProcesses(ListProcessesRequest) returns (ListProcessesResponse);
}
message StartContainerRequest {
string id = 1 [(gogoproto.customname) = "ID"];
}
message CreateContainerRequest {
string id = 1 [(gogoproto.customname) = "ID"];
string bundle_path = 2;
bool console = 3;
string stdin = 4;
string stdout = 5;
string stderr = 6;
}
message CreateContainerResponse {
types.Container container = 1;
types.Process initProcess = 2;
}
message DeleteContainerRequest {
string id = 1 [(gogoproto.customname) = "ID"];
}
message ListContainersRequest {
repeated string owner = 1;
}
message ListContainersResponse {
repeated types.Container containers = 1;
}
message StartProcessRequest {
string container_id = 1 [(gogoproto.customname) = "ContainerID"];
types.Process process = 2;
bool console = 3;
string stdin = 4;
string stdout = 5;
string stderr = 6;
}
message StartProcessResponse {
types.Process process = 1;
}
message GetContainerRequest {
string id = 1 [(gogoproto.customname) = "ID"];
}
message GetContainerResponse {
types.Container container = 1;
}
message UpdateContainerRequest {
string container_id = 1 [(gogoproto.customname) = "ContainerID"];
string bundle_path = 2;
}
message PauseContainerRequest {
string id = 1 [(gogoproto.customname) = "ID"];
}
message ResumeContainerRequest {
string id = 1 [(gogoproto.customname) = "ID"];
}
message GetProcessRequest {
string container_id = 1 [(gogoproto.customname) = "ContainerID"];
uint32 pid = 2;
}
message GetProcessResponse {
types.Process process = 1;
}
message SignalProcessRequest {
string container_id = 1 [(gogoproto.customname) = "ContainerID"];
uint32 pid = 2;
uint32 signal = 3;
}
message DeleteProcessRequest {
string container_id = 1 [(gogoproto.customname) = "ContainerID"];
uint32 pid = 2;
}
message ListProcessesRequest {
string container_id = 1 [(gogoproto.customname) = "ContainerID"];
}
message ListProcessesResponse {
repeated types.Process processes = 1;
}