// // Copyright 2020 Docker Compose CLI authors // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // http://www.apache.org/licenses/LICENSE-2.0 // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; package com.docker.api.protos.containers.v1; option go_package = "github.com/docker/compose-cli/protos/containers/v1;v1"; service Containers { rpc List(ListRequest) returns (ListResponse); rpc Start(StartRequest) returns (StartResponse); rpc Stop(StopRequest) returns (StopResponse); rpc Kill(KillRequest) returns (KillResponse); rpc Run(RunRequest) returns (RunResponse); rpc Exec(ExecRequest) returns (ExecResponse); rpc Logs(LogsRequest) returns (stream LogsResponse); rpc Delete(DeleteRequest) returns (DeleteResponse); rpc Inspect(InspectRequest) returns (InspectResponse); } message Port { uint32 host_port = 1; uint32 container_port = 2; string protocol = 3; string host_ip = 4; } message Container { string id = 1; string image = 2; string status = 3; string command = 4; uint64 cpu_time = 5; uint64 memory_usage = 6; uint64 memory_limit = 7; uint64 pids_current = 8; uint64 pids_limit = 9; repeated string labels = 10; repeated Port ports = 11; uint64 cpu_limit = 12; string platform = 13; string restart_policy_condition = 14; } message InspectRequest { string id = 1; } message InspectResponse { Container container = 1; } message DeleteRequest { string id = 1; bool force = 2; } message DeleteResponse { } message StartRequest { string id = 1; } message StartResponse { } message StopRequest { string id = 1; uint32 timeout = 2; } message StopResponse { } message KillRequest { string id = 1; string signal = 2; } message KillResponse { } message RunRequest { string id = 1; string image = 2; repeated Port ports = 3; map labels = 4; repeated string volumes = 5; uint64 memory_limit = 6; uint64 cpu_limit = 7; string restart_policy_condition = 8; } message RunResponse { } message ExecRequest { string id = 1; string command = 2; string stream_id = 3; repeated string args = 4; repeated string env = 5; bool tty = 6; } message ExecResponse { bytes output = 1; } message ListRequest { bool all = 1; } message ListResponse { repeated Container containers = 1; } message LogsRequest { string container_id = 1; bool follow = 3; } message LogsResponse { bytes value = 1; }