compose/containers/v1/containers.proto

113 lines
2.0 KiB
Protocol Buffer

syntax = "proto3";
package com.docker.container.v1;
import "google/protobuf/empty.proto";
option go_package = "github.com/docker/d2/api/containers/v1;v1";
service Containers {
rpc List(ListRequest) returns (ListResponse);
rpc Create(CreateRequest) returns (CreateResponse);
rpc Start(StartRequest) returns (StartResponse);
rpc Stop(StopRequest) returns (google.protobuf.Empty);
rpc Kill(KillRequest) returns (google.protobuf.Empty);
rpc Delete(DeleteRequest) returns (google.protobuf.Empty);
rpc Update(UpdateRequest) returns (UpdateResponse);
rpc Exec(ExecRequest) returns (ExecResponse);
}
message Container {
string id = 1;
string image = 2;
string status = 3;
uint64 cpu_time = 4;
uint64 memory_usage = 5;
uint64 memory_limit = 6;
uint64 pids_current = 7;
uint64 pids_limit = 8;
repeated string labels = 9;
}
message CreateRequest {
string id = 1;
repeated string args = 2;
repeated string env = 3;
bool tty = 4;
string image = 5;
string hostname = 6;
repeated string networks = 7;
string snapshotter = 8;
string logger = 9;
string profile = 10;
string restart_status = 11;
repeated Mount mounts = 12;
string working_dir = 13;
repeated string labels = 14;
}
message Mount {
string type = 1;
string source = 2;
string destination = 3;
repeated string options = 4;
}
message CreateResponse {
}
message UpdateRequest {
string id = 1;
string image = 2;
}
message UpdateResponse {
}
message DeleteRequest {
string id = 1;
bool force = 2;
}
message StartRequest {
string id = 1;
string stream_id = 2;
}
message StartResponse {
}
message StopRequest {
string id = 1;
int64 signal = 2;
}
message ExecRequest {
string id = 1;
string stream_id = 2;
repeated string args = 3;
repeated string env = 4;
bool tty = 5;
string working_dir = 6;
}
message ExecResponse {
}
message KillRequest {
string id = 1;
int64 signal = 2;
}
message ListRequest {
repeated string filters = 1;
}
message ListResponse {
repeated Container containers = 1;
}