|  | @@ -1198,6 +1198,108 @@ func (x *ListResponse) GetContainers() []*Container {
 | 
	
		
			
				|  |  |  	return nil
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +type LogsRequest struct {
 | 
	
		
			
				|  |  | +	state         protoimpl.MessageState
 | 
	
		
			
				|  |  | +	sizeCache     protoimpl.SizeCache
 | 
	
		
			
				|  |  | +	unknownFields protoimpl.UnknownFields
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	ContainerId string `protobuf:"bytes,1,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
 | 
	
		
			
				|  |  | +	Follow      bool   `protobuf:"varint,2,opt,name=follow,proto3" json:"follow,omitempty"`
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *LogsRequest) Reset() {
 | 
	
		
			
				|  |  | +	*x = LogsRequest{}
 | 
	
		
			
				|  |  | +	if protoimpl.UnsafeEnabled {
 | 
	
		
			
				|  |  | +		mi := &file_containers_v1_containers_proto_msgTypes[19]
 | 
	
		
			
				|  |  | +		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  | +		ms.StoreMessageInfo(mi)
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *LogsRequest) String() string {
 | 
	
		
			
				|  |  | +	return protoimpl.X.MessageStringOf(x)
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (*LogsRequest) ProtoMessage() {}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *LogsRequest) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  | +	mi := &file_containers_v1_containers_proto_msgTypes[19]
 | 
	
		
			
				|  |  | +	if protoimpl.UnsafeEnabled && x != nil {
 | 
	
		
			
				|  |  | +		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  | +		if ms.LoadMessageInfo() == nil {
 | 
	
		
			
				|  |  | +			ms.StoreMessageInfo(mi)
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		return ms
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	return mi.MessageOf(x)
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +// Deprecated: Use LogsRequest.ProtoReflect.Descriptor instead.
 | 
	
		
			
				|  |  | +func (*LogsRequest) Descriptor() ([]byte, []int) {
 | 
	
		
			
				|  |  | +	return file_containers_v1_containers_proto_rawDescGZIP(), []int{19}
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *LogsRequest) GetContainerId() string {
 | 
	
		
			
				|  |  | +	if x != nil {
 | 
	
		
			
				|  |  | +		return x.ContainerId
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	return ""
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *LogsRequest) GetFollow() bool {
 | 
	
		
			
				|  |  | +	if x != nil {
 | 
	
		
			
				|  |  | +		return x.Follow
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	return false
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +type LogsResponse struct {
 | 
	
		
			
				|  |  | +	state         protoimpl.MessageState
 | 
	
		
			
				|  |  | +	sizeCache     protoimpl.SizeCache
 | 
	
		
			
				|  |  | +	unknownFields protoimpl.UnknownFields
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	Logs []byte `protobuf:"bytes,1,opt,name=logs,proto3" json:"logs,omitempty"`
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *LogsResponse) Reset() {
 | 
	
		
			
				|  |  | +	*x = LogsResponse{}
 | 
	
		
			
				|  |  | +	if protoimpl.UnsafeEnabled {
 | 
	
		
			
				|  |  | +		mi := &file_containers_v1_containers_proto_msgTypes[20]
 | 
	
		
			
				|  |  | +		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  | +		ms.StoreMessageInfo(mi)
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *LogsResponse) String() string {
 | 
	
		
			
				|  |  | +	return protoimpl.X.MessageStringOf(x)
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (*LogsResponse) ProtoMessage() {}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *LogsResponse) ProtoReflect() protoreflect.Message {
 | 
	
		
			
				|  |  | +	mi := &file_containers_v1_containers_proto_msgTypes[20]
 | 
	
		
			
				|  |  | +	if protoimpl.UnsafeEnabled && x != nil {
 | 
	
		
			
				|  |  | +		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 | 
	
		
			
				|  |  | +		if ms.LoadMessageInfo() == nil {
 | 
	
		
			
				|  |  | +			ms.StoreMessageInfo(mi)
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		return ms
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	return mi.MessageOf(x)
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +// Deprecated: Use LogsResponse.ProtoReflect.Descriptor instead.
 | 
	
		
			
				|  |  | +func (*LogsResponse) Descriptor() ([]byte, []int) {
 | 
	
		
			
				|  |  | +	return file_containers_v1_containers_proto_rawDescGZIP(), []int{20}
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *LogsResponse) GetLogs() []byte {
 | 
	
		
			
				|  |  | +	if x != nil {
 | 
	
		
			
				|  |  | +		return x.Logs
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	return nil
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  var File_containers_v1_containers_proto protoreflect.FileDescriptor
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  var file_containers_v1_containers_proto_rawDesc = []byte{
 | 
	
	
		
			
				|  | @@ -1316,60 +1418,73 @@ var file_containers_v1_containers_proto_rawDesc = []byte{
 | 
	
		
			
				|  |  |  	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63, 0x6b,
 | 
	
		
			
				|  |  |  	0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
 | 
	
		
			
				|  |  |  	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x0a,
 | 
	
		
			
				|  |  | -	0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x32, 0x99, 0x06, 0x0a, 0x0a, 0x43,
 | 
	
		
			
				|  |  | -	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x5d, 0x0a, 0x04, 0x4c, 0x69, 0x73,
 | 
	
		
			
				|  |  | -	0x74, 0x12, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61,
 | 
	
		
			
				|  |  | -	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x31,
 | 
	
		
			
				|  |  | -	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63,
 | 
	
		
			
				|  |  | -	0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
 | 
	
		
			
				|  |  | -	0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74,
 | 
	
		
			
				|  |  | -	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61,
 | 
	
		
			
				|  |  | -	0x74, 0x65, 0x12, 0x2b, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2e,
 | 
	
		
			
				|  |  | -	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x76,
 | 
	
		
			
				|  |  | -	0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
	
		
			
				|  |  | -	0x2c, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69,
 | 
	
		
			
				|  |  | -	0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43,
 | 
	
		
			
				|  |  | -	0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a,
 | 
	
		
			
				|  |  | -	0x05, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63,
 | 
	
		
			
				|  |  | -	0x6b, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
 | 
	
		
			
				|  |  | -	0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
	
		
			
				|  |  | -	0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2e,
 | 
	
		
			
				|  |  | -	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x76,
 | 
	
		
			
				|  |  | -	0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
 | 
	
		
			
				|  |  | -	0x5d, 0x0a, 0x04, 0x53, 0x74, 0x6f, 0x70, 0x12, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f,
 | 
	
		
			
				|  |  | -	0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
 | 
	
		
			
				|  |  | -	0x65, 0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
	
		
			
				|  |  | -	0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2e,
 | 
	
		
			
				|  |  | +	0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x22, 0x48, 0x0a, 0x0b, 0x4c, 0x6f,
 | 
	
		
			
				|  |  | +	0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e,
 | 
	
		
			
				|  |  | +	0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
 | 
	
		
			
				|  |  | +	0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06,
 | 
	
		
			
				|  |  | +	0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x66, 0x6f,
 | 
	
		
			
				|  |  | +	0x6c, 0x6c, 0x6f, 0x77, 0x22, 0x22, 0x0a, 0x0c, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70,
 | 
	
		
			
				|  |  | +	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01,
 | 
	
		
			
				|  |  | +	0x28, 0x0c, 0x52, 0x04, 0x6c, 0x6f, 0x67, 0x73, 0x32, 0xfa, 0x06, 0x0a, 0x0a, 0x43, 0x6f, 0x6e,
 | 
	
		
			
				|  |  | +	0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x5d, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12,
 | 
	
		
			
				|  |  | +	0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69,
 | 
	
		
			
				|  |  | +	0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
 | 
	
		
			
				|  |  | +	0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x6f, 0x6d,
 | 
	
		
			
				|  |  | +	0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74,
 | 
	
		
			
				|  |  | +	0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65,
 | 
	
		
			
				|  |  | +	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
 | 
	
		
			
				|  |  | +	0x12, 0x2b, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x70,
 | 
	
		
			
				|  |  | +	0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e,
 | 
	
		
			
				|  |  | +	0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e,
 | 
	
		
			
				|  |  | +	0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
 | 
	
		
			
				|  |  | +	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65,
 | 
	
		
			
				|  |  | +	0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x05, 0x53,
 | 
	
		
			
				|  |  | +	0x74, 0x61, 0x72, 0x74, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65,
 | 
	
		
			
				|  |  | +	0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73,
 | 
	
		
			
				|  |  | +	0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
	
		
			
				|  |  | +	0x1a, 0x2b, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x70,
 | 
	
		
			
				|  |  | +	0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e,
 | 
	
		
			
				|  |  | +	0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a,
 | 
	
		
			
				|  |  | +	0x04, 0x53, 0x74, 0x6f, 0x70, 0x12, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63, 0x6b,
 | 
	
		
			
				|  |  | +	0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
 | 
	
		
			
				|  |  | +	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
 | 
	
		
			
				|  |  | +	0x1a, 0x2a, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x70,
 | 
	
		
			
				|  |  | +	0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e,
 | 
	
		
			
				|  |  | +	0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x04,
 | 
	
		
			
				|  |  | +	0x4b, 0x69, 0x6c, 0x6c, 0x12, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65,
 | 
	
		
			
				|  |  | +	0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73,
 | 
	
		
			
				|  |  | +	0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
 | 
	
		
			
				|  |  | +	0x2a, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69,
 | 
	
		
			
				|  |  | +	0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4b,
 | 
	
		
			
				|  |  | +	0x69, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x06, 0x44,
 | 
	
		
			
				|  |  | +	0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2b, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63, 0x6b,
 | 
	
		
			
				|  |  | +	0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
 | 
	
		
			
				|  |  | +	0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
 | 
	
		
			
				|  |  | +	0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2e,
 | 
	
		
			
				|  |  |  	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x76,
 | 
	
		
			
				|  |  | -	0x31, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d,
 | 
	
		
			
				|  |  | -	0x0a, 0x04, 0x4b, 0x69, 0x6c, 0x6c, 0x12, 0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63,
 | 
	
		
			
				|  |  | -	0x6b, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
 | 
	
		
			
				|  |  | -	0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
 | 
	
		
			
				|  |  | -	0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61,
 | 
	
		
			
				|  |  | -	0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x31,
 | 
	
		
			
				|  |  | -	0x2e, 0x4b, 0x69, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a,
 | 
	
		
			
				|  |  | -	0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x2b, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f,
 | 
	
		
			
				|  |  | +	0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
 | 
	
		
			
				|  |  | +	0x12, 0x63, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x2e, 0x63, 0x6f, 0x6d,
 | 
	
		
			
				|  |  | +	0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74,
 | 
	
		
			
				|  |  | +	0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
 | 
	
		
			
				|  |  | +	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f,
 | 
	
		
			
				|  |  |  	0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
 | 
	
		
			
				|  |  | -	0x65, 0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71,
 | 
	
		
			
				|  |  | -	0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65,
 | 
	
		
			
				|  |  | -	0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73,
 | 
	
		
			
				|  |  | -	0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
 | 
	
		
			
				|  |  | -	0x73, 0x65, 0x12, 0x63, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x2b, 0x2e, 0x63,
 | 
	
		
			
				|  |  | +	0x65, 0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73,
 | 
	
		
			
				|  |  | +	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x04, 0x45, 0x78, 0x65, 0x63, 0x12, 0x29, 0x2e,
 | 
	
		
			
				|  |  | +	0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63,
 | 
	
		
			
				|  |  | +	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65,
 | 
	
		
			
				|  |  | +	0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64,
 | 
	
		
			
				|  |  | +	0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69,
 | 
	
		
			
				|  |  | +	0x6e, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65, 0x73, 0x70,
 | 
	
		
			
				|  |  | +	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x04, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x29, 0x2e, 0x63,
 | 
	
		
			
				|  |  |  	0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f,
 | 
	
		
			
				|  |  | -	0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61,
 | 
	
		
			
				|  |  | -	0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x6f, 0x6d, 0x2e,
 | 
	
		
			
				|  |  | -	0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61,
 | 
	
		
			
				|  |  | -	0x69, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52,
 | 
	
		
			
				|  |  | -	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x04, 0x45, 0x78, 0x65, 0x63, 0x12,
 | 
	
		
			
				|  |  | -	0x29, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69,
 | 
	
		
			
				|  |  | -	0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45,
 | 
	
		
			
				|  |  | -	0x78, 0x65, 0x63, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x6f, 0x6d,
 | 
	
		
			
				|  |  | -	0x2e, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74,
 | 
	
		
			
				|  |  | -	0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x52, 0x65,
 | 
	
		
			
				|  |  | -	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x28, 0x5a, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
 | 
	
		
			
				|  |  | -	0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f,
 | 
	
		
			
				|  |  | -	0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x76, 0x31,
 | 
	
		
			
				|  |  | -	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
	
		
			
				|  |  | +	0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x73,
 | 
	
		
			
				|  |  | +	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x64, 0x6f,
 | 
	
		
			
				|  |  | +	0x63, 0x6b, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
 | 
	
		
			
				|  |  | +	0x65, 0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
 | 
	
		
			
				|  |  | +	0x6e, 0x73, 0x65, 0x30, 0x01, 0x42, 0x28, 0x5a, 0x26, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e,
 | 
	
		
			
				|  |  | +	0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63,
 | 
	
		
			
				|  |  | +	0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x76, 0x31, 0x62,
 | 
	
		
			
				|  |  | +	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  var (
 | 
	
	
		
			
				|  | @@ -1384,7 +1499,7 @@ func file_containers_v1_containers_proto_rawDescGZIP() []byte {
 | 
	
		
			
				|  |  |  	return file_containers_v1_containers_proto_rawDescData
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -var file_containers_v1_containers_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
 | 
	
		
			
				|  |  | +var file_containers_v1_containers_proto_msgTypes = make([]protoimpl.MessageInfo, 22)
 | 
	
		
			
				|  |  |  var file_containers_v1_containers_proto_goTypes = []interface{}{
 | 
	
		
			
				|  |  |  	(*Port)(nil),           // 0: com.docker.api.containers.v1.Port
 | 
	
		
			
				|  |  |  	(*Container)(nil),      // 1: com.docker.api.containers.v1.Container
 | 
	
	
		
			
				|  | @@ -1405,12 +1520,14 @@ var file_containers_v1_containers_proto_goTypes = []interface{}{
 | 
	
		
			
				|  |  |  	(*KillResponse)(nil),   // 16: com.docker.api.containers.v1.KillResponse
 | 
	
		
			
				|  |  |  	(*ListRequest)(nil),    // 17: com.docker.api.containers.v1.ListRequest
 | 
	
		
			
				|  |  |  	(*ListResponse)(nil),   // 18: com.docker.api.containers.v1.ListResponse
 | 
	
		
			
				|  |  | -	nil,                    // 19: com.docker.api.containers.v1.CreateRequest.LabelsEntry
 | 
	
		
			
				|  |  | +	(*LogsRequest)(nil),    // 19: com.docker.api.containers.v1.LogsRequest
 | 
	
		
			
				|  |  | +	(*LogsResponse)(nil),   // 20: com.docker.api.containers.v1.LogsResponse
 | 
	
		
			
				|  |  | +	nil,                    // 21: com.docker.api.containers.v1.CreateRequest.LabelsEntry
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  var file_containers_v1_containers_proto_depIdxs = []int32{
 | 
	
		
			
				|  |  |  	0,  // 0: com.docker.api.containers.v1.Container.ports:type_name -> com.docker.api.containers.v1.Port
 | 
	
		
			
				|  |  |  	3,  // 1: com.docker.api.containers.v1.CreateRequest.mounts:type_name -> com.docker.api.containers.v1.Mount
 | 
	
		
			
				|  |  | -	19, // 2: com.docker.api.containers.v1.CreateRequest.labels:type_name -> com.docker.api.containers.v1.CreateRequest.LabelsEntry
 | 
	
		
			
				|  |  | +	21, // 2: com.docker.api.containers.v1.CreateRequest.labels:type_name -> com.docker.api.containers.v1.CreateRequest.LabelsEntry
 | 
	
		
			
				|  |  |  	1,  // 3: com.docker.api.containers.v1.ListResponse.containers:type_name -> com.docker.api.containers.v1.Container
 | 
	
		
			
				|  |  |  	17, // 4: com.docker.api.containers.v1.Containers.List:input_type -> com.docker.api.containers.v1.ListRequest
 | 
	
		
			
				|  |  |  	2,  // 5: com.docker.api.containers.v1.Containers.Create:input_type -> com.docker.api.containers.v1.CreateRequest
 | 
	
	
		
			
				|  | @@ -1420,16 +1537,18 @@ var file_containers_v1_containers_proto_depIdxs = []int32{
 | 
	
		
			
				|  |  |  	7,  // 9: com.docker.api.containers.v1.Containers.Delete:input_type -> com.docker.api.containers.v1.DeleteRequest
 | 
	
		
			
				|  |  |  	5,  // 10: com.docker.api.containers.v1.Containers.Update:input_type -> com.docker.api.containers.v1.UpdateRequest
 | 
	
		
			
				|  |  |  	13, // 11: com.docker.api.containers.v1.Containers.Exec:input_type -> com.docker.api.containers.v1.ExecRequest
 | 
	
		
			
				|  |  | -	18, // 12: com.docker.api.containers.v1.Containers.List:output_type -> com.docker.api.containers.v1.ListResponse
 | 
	
		
			
				|  |  | -	4,  // 13: com.docker.api.containers.v1.Containers.Create:output_type -> com.docker.api.containers.v1.CreateResponse
 | 
	
		
			
				|  |  | -	10, // 14: com.docker.api.containers.v1.Containers.Start:output_type -> com.docker.api.containers.v1.StartResponse
 | 
	
		
			
				|  |  | -	12, // 15: com.docker.api.containers.v1.Containers.Stop:output_type -> com.docker.api.containers.v1.StopResponse
 | 
	
		
			
				|  |  | -	16, // 16: com.docker.api.containers.v1.Containers.Kill:output_type -> com.docker.api.containers.v1.KillResponse
 | 
	
		
			
				|  |  | -	8,  // 17: com.docker.api.containers.v1.Containers.Delete:output_type -> com.docker.api.containers.v1.DeleteResponse
 | 
	
		
			
				|  |  | -	6,  // 18: com.docker.api.containers.v1.Containers.Update:output_type -> com.docker.api.containers.v1.UpdateResponse
 | 
	
		
			
				|  |  | -	14, // 19: com.docker.api.containers.v1.Containers.Exec:output_type -> com.docker.api.containers.v1.ExecResponse
 | 
	
		
			
				|  |  | -	12, // [12:20] is the sub-list for method output_type
 | 
	
		
			
				|  |  | -	4,  // [4:12] is the sub-list for method input_type
 | 
	
		
			
				|  |  | +	19, // 12: com.docker.api.containers.v1.Containers.Logs:input_type -> com.docker.api.containers.v1.LogsRequest
 | 
	
		
			
				|  |  | +	18, // 13: com.docker.api.containers.v1.Containers.List:output_type -> com.docker.api.containers.v1.ListResponse
 | 
	
		
			
				|  |  | +	4,  // 14: com.docker.api.containers.v1.Containers.Create:output_type -> com.docker.api.containers.v1.CreateResponse
 | 
	
		
			
				|  |  | +	10, // 15: com.docker.api.containers.v1.Containers.Start:output_type -> com.docker.api.containers.v1.StartResponse
 | 
	
		
			
				|  |  | +	12, // 16: com.docker.api.containers.v1.Containers.Stop:output_type -> com.docker.api.containers.v1.StopResponse
 | 
	
		
			
				|  |  | +	16, // 17: com.docker.api.containers.v1.Containers.Kill:output_type -> com.docker.api.containers.v1.KillResponse
 | 
	
		
			
				|  |  | +	8,  // 18: com.docker.api.containers.v1.Containers.Delete:output_type -> com.docker.api.containers.v1.DeleteResponse
 | 
	
		
			
				|  |  | +	6,  // 19: com.docker.api.containers.v1.Containers.Update:output_type -> com.docker.api.containers.v1.UpdateResponse
 | 
	
		
			
				|  |  | +	14, // 20: com.docker.api.containers.v1.Containers.Exec:output_type -> com.docker.api.containers.v1.ExecResponse
 | 
	
		
			
				|  |  | +	20, // 21: com.docker.api.containers.v1.Containers.Logs:output_type -> com.docker.api.containers.v1.LogsResponse
 | 
	
		
			
				|  |  | +	13, // [13:22] is the sub-list for method output_type
 | 
	
		
			
				|  |  | +	4,  // [4:13] is the sub-list for method input_type
 | 
	
		
			
				|  |  |  	4,  // [4:4] is the sub-list for extension type_name
 | 
	
		
			
				|  |  |  	4,  // [4:4] is the sub-list for extension extendee
 | 
	
		
			
				|  |  |  	0,  // [0:4] is the sub-list for field type_name
 | 
	
	
		
			
				|  | @@ -1669,6 +1788,30 @@ func file_containers_v1_containers_proto_init() {
 | 
	
		
			
				|  |  |  				return nil
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  | +		file_containers_v1_containers_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
 | 
	
		
			
				|  |  | +			switch v := v.(*LogsRequest); i {
 | 
	
		
			
				|  |  | +			case 0:
 | 
	
		
			
				|  |  | +				return &v.state
 | 
	
		
			
				|  |  | +			case 1:
 | 
	
		
			
				|  |  | +				return &v.sizeCache
 | 
	
		
			
				|  |  | +			case 2:
 | 
	
		
			
				|  |  | +				return &v.unknownFields
 | 
	
		
			
				|  |  | +			default:
 | 
	
		
			
				|  |  | +				return nil
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		file_containers_v1_containers_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
 | 
	
		
			
				|  |  | +			switch v := v.(*LogsResponse); i {
 | 
	
		
			
				|  |  | +			case 0:
 | 
	
		
			
				|  |  | +				return &v.state
 | 
	
		
			
				|  |  | +			case 1:
 | 
	
		
			
				|  |  | +				return &v.sizeCache
 | 
	
		
			
				|  |  | +			case 2:
 | 
	
		
			
				|  |  | +				return &v.unknownFields
 | 
	
		
			
				|  |  | +			default:
 | 
	
		
			
				|  |  | +				return nil
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  	type x struct{}
 | 
	
		
			
				|  |  |  	out := protoimpl.TypeBuilder{
 | 
	
	
		
			
				|  | @@ -1676,7 +1819,7 @@ func file_containers_v1_containers_proto_init() {
 | 
	
		
			
				|  |  |  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 | 
	
		
			
				|  |  |  			RawDescriptor: file_containers_v1_containers_proto_rawDesc,
 | 
	
		
			
				|  |  |  			NumEnums:      0,
 | 
	
		
			
				|  |  | -			NumMessages:   20,
 | 
	
		
			
				|  |  | +			NumMessages:   22,
 | 
	
		
			
				|  |  |  			NumExtensions: 0,
 | 
	
		
			
				|  |  |  			NumServices:   1,
 | 
	
		
			
				|  |  |  		},
 | 
	
	
		
			
				|  | @@ -1710,6 +1853,7 @@ type ContainersClient interface {
 | 
	
		
			
				|  |  |  	Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*DeleteResponse, error)
 | 
	
		
			
				|  |  |  	Update(ctx context.Context, in *UpdateRequest, opts ...grpc.CallOption) (*UpdateResponse, error)
 | 
	
		
			
				|  |  |  	Exec(ctx context.Context, in *ExecRequest, opts ...grpc.CallOption) (*ExecResponse, error)
 | 
	
		
			
				|  |  | +	Logs(ctx context.Context, in *LogsRequest, opts ...grpc.CallOption) (Containers_LogsClient, error)
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  type containersClient struct {
 | 
	
	
		
			
				|  | @@ -1792,6 +1936,38 @@ func (c *containersClient) Exec(ctx context.Context, in *ExecRequest, opts ...gr
 | 
	
		
			
				|  |  |  	return out, nil
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +func (c *containersClient) Logs(ctx context.Context, in *LogsRequest, opts ...grpc.CallOption) (Containers_LogsClient, error) {
 | 
	
		
			
				|  |  | +	stream, err := c.cc.NewStream(ctx, &_Containers_serviceDesc.Streams[0], "/com.docker.api.containers.v1.Containers/Logs", opts...)
 | 
	
		
			
				|  |  | +	if err != nil {
 | 
	
		
			
				|  |  | +		return nil, err
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	x := &containersLogsClient{stream}
 | 
	
		
			
				|  |  | +	if err := x.ClientStream.SendMsg(in); err != nil {
 | 
	
		
			
				|  |  | +		return nil, err
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	if err := x.ClientStream.CloseSend(); err != nil {
 | 
	
		
			
				|  |  | +		return nil, err
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	return x, nil
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +type Containers_LogsClient interface {
 | 
	
		
			
				|  |  | +	Recv() (*LogsResponse, error)
 | 
	
		
			
				|  |  | +	grpc.ClientStream
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +type containersLogsClient struct {
 | 
	
		
			
				|  |  | +	grpc.ClientStream
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *containersLogsClient) Recv() (*LogsResponse, error) {
 | 
	
		
			
				|  |  | +	m := new(LogsResponse)
 | 
	
		
			
				|  |  | +	if err := x.ClientStream.RecvMsg(m); err != nil {
 | 
	
		
			
				|  |  | +		return nil, err
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	return m, nil
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  // ContainersServer is the server API for Containers service.
 | 
	
		
			
				|  |  |  type ContainersServer interface {
 | 
	
		
			
				|  |  |  	List(context.Context, *ListRequest) (*ListResponse, error)
 | 
	
	
		
			
				|  | @@ -1802,6 +1978,7 @@ type ContainersServer interface {
 | 
	
		
			
				|  |  |  	Delete(context.Context, *DeleteRequest) (*DeleteResponse, error)
 | 
	
		
			
				|  |  |  	Update(context.Context, *UpdateRequest) (*UpdateResponse, error)
 | 
	
		
			
				|  |  |  	Exec(context.Context, *ExecRequest) (*ExecResponse, error)
 | 
	
		
			
				|  |  | +	Logs(*LogsRequest, Containers_LogsServer) error
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  // UnimplementedContainersServer can be embedded to have forward compatible implementations.
 | 
	
	
		
			
				|  | @@ -1832,6 +2009,9 @@ func (*UnimplementedContainersServer) Update(context.Context, *UpdateRequest) (*
 | 
	
		
			
				|  |  |  func (*UnimplementedContainersServer) Exec(context.Context, *ExecRequest) (*ExecResponse, error) {
 | 
	
		
			
				|  |  |  	return nil, status.Errorf(codes.Unimplemented, "method Exec not implemented")
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  | +func (*UnimplementedContainersServer) Logs(*LogsRequest, Containers_LogsServer) error {
 | 
	
		
			
				|  |  | +	return status.Errorf(codes.Unimplemented, "method Logs not implemented")
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func RegisterContainersServer(s *grpc.Server, srv ContainersServer) {
 | 
	
		
			
				|  |  |  	s.RegisterService(&_Containers_serviceDesc, srv)
 | 
	
	
		
			
				|  | @@ -1981,6 +2161,27 @@ func _Containers_Exec_Handler(srv interface{}, ctx context.Context, dec func(int
 | 
	
		
			
				|  |  |  	return interceptor(ctx, in, info, handler)
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +func _Containers_Logs_Handler(srv interface{}, stream grpc.ServerStream) error {
 | 
	
		
			
				|  |  | +	m := new(LogsRequest)
 | 
	
		
			
				|  |  | +	if err := stream.RecvMsg(m); err != nil {
 | 
	
		
			
				|  |  | +		return err
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	return srv.(ContainersServer).Logs(m, &containersLogsServer{stream})
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +type Containers_LogsServer interface {
 | 
	
		
			
				|  |  | +	Send(*LogsResponse) error
 | 
	
		
			
				|  |  | +	grpc.ServerStream
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +type containersLogsServer struct {
 | 
	
		
			
				|  |  | +	grpc.ServerStream
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (x *containersLogsServer) Send(m *LogsResponse) error {
 | 
	
		
			
				|  |  | +	return x.ServerStream.SendMsg(m)
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  var _Containers_serviceDesc = grpc.ServiceDesc{
 | 
	
		
			
				|  |  |  	ServiceName: "com.docker.api.containers.v1.Containers",
 | 
	
		
			
				|  |  |  	HandlerType: (*ContainersServer)(nil),
 | 
	
	
		
			
				|  | @@ -2018,6 +2219,12 @@ var _Containers_serviceDesc = grpc.ServiceDesc{
 | 
	
		
			
				|  |  |  			Handler:    _Containers_Exec_Handler,
 | 
	
		
			
				|  |  |  		},
 | 
	
		
			
				|  |  |  	},
 | 
	
		
			
				|  |  | -	Streams:  []grpc.StreamDesc{},
 | 
	
		
			
				|  |  | +	Streams: []grpc.StreamDesc{
 | 
	
		
			
				|  |  | +		{
 | 
	
		
			
				|  |  | +			StreamName:    "Logs",
 | 
	
		
			
				|  |  | +			Handler:       _Containers_Logs_Handler,
 | 
	
		
			
				|  |  | +			ServerStreams: true,
 | 
	
		
			
				|  |  | +		},
 | 
	
		
			
				|  |  | +	},
 | 
	
		
			
				|  |  |  	Metadata: "containers/v1/containers.proto",
 | 
	
		
			
				|  |  |  }
 |