Files
dozzle/proto/cloud/cloud.pb.go
T
Amir Raminfar 8dac197f60 feat(cloud-proto): add SearchLogs unary RPC (#4672)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 16:11:32 -07:00

2489 lines
73 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.11
// protoc v7.34.1
// source: cloud.proto
package cloud
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
unsafe "unsafe"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type ToolScope int32
const (
// Default — treated as INSTANCE. Exists so forward-compat clients without
// a scope field don't misroute.
ToolScope_TOOL_SCOPE_UNSPECIFIED ToolScope = 0
// Applies to the whole Dozzle instance (list_hosts, notifications, etc.).
// Requires instance_id in the args.
ToolScope_TOOL_SCOPE_INSTANCE ToolScope = 1
// Targets a specific Docker host (deploy_compose, list_deploy_versions).
// Requires host_id in the args.
ToolScope_TOOL_SCOPE_HOST ToolScope = 2
// Targets a specific container (logs, actions, inspect). Requires
// container_id in the args (host_id is typically also present for the
// Docker API call inside Dozzle but isn't used for routing).
ToolScope_TOOL_SCOPE_CONTAINER ToolScope = 3
)
// Enum value maps for ToolScope.
var (
ToolScope_name = map[int32]string{
0: "TOOL_SCOPE_UNSPECIFIED",
1: "TOOL_SCOPE_INSTANCE",
2: "TOOL_SCOPE_HOST",
3: "TOOL_SCOPE_CONTAINER",
}
ToolScope_value = map[string]int32{
"TOOL_SCOPE_UNSPECIFIED": 0,
"TOOL_SCOPE_INSTANCE": 1,
"TOOL_SCOPE_HOST": 2,
"TOOL_SCOPE_CONTAINER": 3,
}
)
func (x ToolScope) Enum() *ToolScope {
p := new(ToolScope)
*p = x
return p
}
func (x ToolScope) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ToolScope) Descriptor() protoreflect.EnumDescriptor {
return file_cloud_proto_enumTypes[0].Descriptor()
}
func (ToolScope) Type() protoreflect.EnumType {
return &file_cloud_proto_enumTypes[0]
}
func (x ToolScope) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ToolScope.Descriptor instead.
func (ToolScope) EnumDescriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{0}
}
type ToolRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
// Types that are valid to be assigned to Type:
//
// *ToolRequest_ListTools
// *ToolRequest_CallTool
// *ToolRequest_CancelStream
Type isToolRequest_Type `protobuf_oneof:"type"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ToolRequest) Reset() {
*x = ToolRequest{}
mi := &file_cloud_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ToolRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ToolRequest) ProtoMessage() {}
func (x *ToolRequest) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[0]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ToolRequest.ProtoReflect.Descriptor instead.
func (*ToolRequest) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{0}
}
func (x *ToolRequest) GetRequestId() string {
if x != nil {
return x.RequestId
}
return ""
}
func (x *ToolRequest) GetType() isToolRequest_Type {
if x != nil {
return x.Type
}
return nil
}
func (x *ToolRequest) GetListTools() *ListToolsRequest {
if x != nil {
if x, ok := x.Type.(*ToolRequest_ListTools); ok {
return x.ListTools
}
}
return nil
}
func (x *ToolRequest) GetCallTool() *CallToolRequest {
if x != nil {
if x, ok := x.Type.(*ToolRequest_CallTool); ok {
return x.CallTool
}
}
return nil
}
func (x *ToolRequest) GetCancelStream() *CancelStreamRequest {
if x != nil {
if x, ok := x.Type.(*ToolRequest_CancelStream); ok {
return x.CancelStream
}
}
return nil
}
type isToolRequest_Type interface {
isToolRequest_Type()
}
type ToolRequest_ListTools struct {
ListTools *ListToolsRequest `protobuf:"bytes,2,opt,name=list_tools,json=listTools,proto3,oneof"`
}
type ToolRequest_CallTool struct {
CallTool *CallToolRequest `protobuf:"bytes,3,opt,name=call_tool,json=callTool,proto3,oneof"`
}
type ToolRequest_CancelStream struct {
CancelStream *CancelStreamRequest `protobuf:"bytes,4,opt,name=cancel_stream,json=cancelStream,proto3,oneof"`
}
func (*ToolRequest_ListTools) isToolRequest_Type() {}
func (*ToolRequest_CallTool) isToolRequest_Type() {}
func (*ToolRequest_CancelStream) isToolRequest_Type() {}
type ToolResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
// Types that are valid to be assigned to Type:
//
// *ToolResponse_ListTools
// *ToolResponse_CallTool
// *ToolResponse_LogBatch
Type isToolResponse_Type `protobuf_oneof:"type"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ToolResponse) Reset() {
*x = ToolResponse{}
mi := &file_cloud_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ToolResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ToolResponse) ProtoMessage() {}
func (x *ToolResponse) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[1]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ToolResponse.ProtoReflect.Descriptor instead.
func (*ToolResponse) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{1}
}
func (x *ToolResponse) GetRequestId() string {
if x != nil {
return x.RequestId
}
return ""
}
func (x *ToolResponse) GetType() isToolResponse_Type {
if x != nil {
return x.Type
}
return nil
}
func (x *ToolResponse) GetListTools() *ListToolsResponse {
if x != nil {
if x, ok := x.Type.(*ToolResponse_ListTools); ok {
return x.ListTools
}
}
return nil
}
func (x *ToolResponse) GetCallTool() *CallToolResponse {
if x != nil {
if x, ok := x.Type.(*ToolResponse_CallTool); ok {
return x.CallTool
}
}
return nil
}
func (x *ToolResponse) GetLogBatch() *LogBatch {
if x != nil {
if x, ok := x.Type.(*ToolResponse_LogBatch); ok {
return x.LogBatch
}
}
return nil
}
type isToolResponse_Type interface {
isToolResponse_Type()
}
type ToolResponse_ListTools struct {
ListTools *ListToolsResponse `protobuf:"bytes,2,opt,name=list_tools,json=listTools,proto3,oneof"`
}
type ToolResponse_CallTool struct {
CallTool *CallToolResponse `protobuf:"bytes,3,opt,name=call_tool,json=callTool,proto3,oneof"`
}
type ToolResponse_LogBatch struct {
// Unsolicited server-push: batched container log lines streamed from
// Dozzle to Cloud for ingestion into VictoriaLogs. request_id is empty
// for log batches — they are not replies to a ToolRequest.
LogBatch *LogBatch `protobuf:"bytes,4,opt,name=log_batch,json=logBatch,proto3,oneof"`
}
func (*ToolResponse_ListTools) isToolResponse_Type() {}
func (*ToolResponse_CallTool) isToolResponse_Type() {}
func (*ToolResponse_LogBatch) isToolResponse_Type() {}
// Batch of log lines from one or more containers. Dozzle pushes these
// continuously while connected. Cloud routes them to VictoriaLogs scoped
// to the owning user (derived from the connection's auth).
type LogBatch struct {
state protoimpl.MessageState `protogen:"open.v1"`
Entries []*LogBatchEntry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LogBatch) Reset() {
*x = LogBatch{}
mi := &file_cloud_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LogBatch) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LogBatch) ProtoMessage() {}
func (x *LogBatch) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[2]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LogBatch.ProtoReflect.Descriptor instead.
func (*LogBatch) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{2}
}
func (x *LogBatch) GetEntries() []*LogBatchEntry {
if x != nil {
return x.Entries
}
return nil
}
type LogBatchEntry struct {
state protoimpl.MessageState `protogen:"open.v1"`
HostId string `protobuf:"bytes,1,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
ContainerId string `protobuf:"bytes,2,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
ContainerName string `protobuf:"bytes,3,opt,name=container_name,json=containerName,proto3" json:"container_name,omitempty"`
TimestampNs int64 `protobuf:"varint,4,opt,name=timestamp_ns,json=timestampNs,proto3" json:"timestamp_ns,omitempty"` // unix nanoseconds
Message string `protobuf:"bytes,5,opt,name=message,proto3" json:"message,omitempty"`
Stream string `protobuf:"bytes,6,opt,name=stream,proto3" json:"stream,omitempty"` // "stdout" or "stderr"
Level string `protobuf:"bytes,7,opt,name=level,proto3" json:"level,omitempty"` // "info", "warn", "error", etc. (best-effort)
// Deterministic FNV-32a hash of the raw log line, the same id Dozzle
// stamps on LogEvent.Id. Cloud indexes this as a non-stream field so
// search results can produce a stable permanent link
// (/container/:id/time/:datetime?logId=...) that lands the user on
// exactly the matching line in the local log viewer.
LogId uint32 `protobuf:"varint,8,opt,name=log_id,json=logId,proto3" json:"log_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LogBatchEntry) Reset() {
*x = LogBatchEntry{}
mi := &file_cloud_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LogBatchEntry) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LogBatchEntry) ProtoMessage() {}
func (x *LogBatchEntry) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[3]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LogBatchEntry.ProtoReflect.Descriptor instead.
func (*LogBatchEntry) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{3}
}
func (x *LogBatchEntry) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *LogBatchEntry) GetContainerId() string {
if x != nil {
return x.ContainerId
}
return ""
}
func (x *LogBatchEntry) GetContainerName() string {
if x != nil {
return x.ContainerName
}
return ""
}
func (x *LogBatchEntry) GetTimestampNs() int64 {
if x != nil {
return x.TimestampNs
}
return 0
}
func (x *LogBatchEntry) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
func (x *LogBatchEntry) GetStream() string {
if x != nil {
return x.Stream
}
return ""
}
func (x *LogBatchEntry) GetLevel() string {
if x != nil {
return x.Level
}
return ""
}
func (x *LogBatchEntry) GetLogId() uint32 {
if x != nil {
return x.LogId
}
return 0
}
type ListToolsRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListToolsRequest) Reset() {
*x = ListToolsRequest{}
mi := &file_cloud_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListToolsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListToolsRequest) ProtoMessage() {}
func (x *ListToolsRequest) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListToolsRequest.ProtoReflect.Descriptor instead.
func (*ListToolsRequest) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{4}
}
type ListToolsResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Tools []*ToolDefinition `protobuf:"bytes,1,rep,name=tools,proto3" json:"tools,omitempty"`
Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListToolsResponse) Reset() {
*x = ListToolsResponse{}
mi := &file_cloud_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListToolsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListToolsResponse) ProtoMessage() {}
func (x *ListToolsResponse) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListToolsResponse.ProtoReflect.Descriptor instead.
func (*ListToolsResponse) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{5}
}
func (x *ListToolsResponse) GetTools() []*ToolDefinition {
if x != nil {
return x.Tools
}
return nil
}
func (x *ListToolsResponse) GetVersion() string {
if x != nil {
return x.Version
}
return ""
}
type ToolDefinition struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
ParametersJson string `protobuf:"bytes,3,opt,name=parameters_json,json=parametersJson,proto3" json:"parameters_json,omitempty"`
// scope tells the cloud router how to multiplex calls to this tool. Dozzle
// itself has no notion of "multiple instances"; this field lets the router
// decide whether to fan out (default), target a specific container/host
// inferred from the existing host_id/container_id params, or target the
// whole Dozzle instance (in which case the router injects an instance_id
// argument into the LLM-facing schema and strips it before forwarding).
Scope ToolScope `protobuf:"varint,4,opt,name=scope,proto3,enum=cloud.ToolScope" json:"scope,omitempty"`
// read_only = true means the tool has no side effects and is safe to fan
// out across every connected Dozzle instance when the scope's routing
// argument is missing (e.g. list_notifications without instance_id queries
// all instances and merges results). Mutating tools (create/delete/deploy/
// restart/etc.) must leave this false — the router will require the scope
// argument and error if it's missing, so a write never fans out by mistake.
ReadOnly bool `protobuf:"varint,5,opt,name=read_only,json=readOnly,proto3" json:"read_only,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ToolDefinition) Reset() {
*x = ToolDefinition{}
mi := &file_cloud_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ToolDefinition) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ToolDefinition) ProtoMessage() {}
func (x *ToolDefinition) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[6]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ToolDefinition.ProtoReflect.Descriptor instead.
func (*ToolDefinition) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{6}
}
func (x *ToolDefinition) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ToolDefinition) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *ToolDefinition) GetParametersJson() string {
if x != nil {
return x.ParametersJson
}
return ""
}
func (x *ToolDefinition) GetScope() ToolScope {
if x != nil {
return x.Scope
}
return ToolScope_TOOL_SCOPE_UNSPECIFIED
}
func (x *ToolDefinition) GetReadOnly() bool {
if x != nil {
return x.ReadOnly
}
return false
}
type CallToolRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
ArgumentsJson string `protobuf:"bytes,2,opt,name=arguments_json,json=argumentsJson,proto3" json:"arguments_json,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CallToolRequest) Reset() {
*x = CallToolRequest{}
mi := &file_cloud_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CallToolRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CallToolRequest) ProtoMessage() {}
func (x *CallToolRequest) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[7]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CallToolRequest.ProtoReflect.Descriptor instead.
func (*CallToolRequest) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{7}
}
func (x *CallToolRequest) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *CallToolRequest) GetArgumentsJson() string {
if x != nil {
return x.ArgumentsJson
}
return ""
}
type CallToolResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"`
Stream bool `protobuf:"varint,9,opt,name=stream,proto3" json:"stream,omitempty"`
EndStream bool `protobuf:"varint,10,opt,name=end_stream,json=endStream,proto3" json:"end_stream,omitempty"`
// Types that are valid to be assigned to Result:
//
// *CallToolResponse_ListHosts
// *CallToolResponse_ListContainers
// *CallToolResponse_ContainerStats
// *CallToolResponse_Action
// *CallToolResponse_FetchLogs
// *CallToolResponse_InspectContainer
// *CallToolResponse_Deploy
// *CallToolResponse_Notification
Result isCallToolResponse_Result `protobuf_oneof:"result"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CallToolResponse) Reset() {
*x = CallToolResponse{}
mi := &file_cloud_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CallToolResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CallToolResponse) ProtoMessage() {}
func (x *CallToolResponse) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[8]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CallToolResponse.ProtoReflect.Descriptor instead.
func (*CallToolResponse) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{8}
}
func (x *CallToolResponse) GetSuccess() bool {
if x != nil {
return x.Success
}
return false
}
func (x *CallToolResponse) GetError() string {
if x != nil {
return x.Error
}
return ""
}
func (x *CallToolResponse) GetStream() bool {
if x != nil {
return x.Stream
}
return false
}
func (x *CallToolResponse) GetEndStream() bool {
if x != nil {
return x.EndStream
}
return false
}
func (x *CallToolResponse) GetResult() isCallToolResponse_Result {
if x != nil {
return x.Result
}
return nil
}
func (x *CallToolResponse) GetListHosts() *ListHostsResult {
if x != nil {
if x, ok := x.Result.(*CallToolResponse_ListHosts); ok {
return x.ListHosts
}
}
return nil
}
func (x *CallToolResponse) GetListContainers() *ListContainersResult {
if x != nil {
if x, ok := x.Result.(*CallToolResponse_ListContainers); ok {
return x.ListContainers
}
}
return nil
}
func (x *CallToolResponse) GetContainerStats() *ContainerStatsResult {
if x != nil {
if x, ok := x.Result.(*CallToolResponse_ContainerStats); ok {
return x.ContainerStats
}
}
return nil
}
func (x *CallToolResponse) GetAction() *ActionResult {
if x != nil {
if x, ok := x.Result.(*CallToolResponse_Action); ok {
return x.Action
}
}
return nil
}
func (x *CallToolResponse) GetFetchLogs() *FetchLogsResult {
if x != nil {
if x, ok := x.Result.(*CallToolResponse_FetchLogs); ok {
return x.FetchLogs
}
}
return nil
}
func (x *CallToolResponse) GetInspectContainer() *InspectContainerResult {
if x != nil {
if x, ok := x.Result.(*CallToolResponse_InspectContainer); ok {
return x.InspectContainer
}
}
return nil
}
func (x *CallToolResponse) GetDeploy() *DeployResult {
if x != nil {
if x, ok := x.Result.(*CallToolResponse_Deploy); ok {
return x.Deploy
}
}
return nil
}
func (x *CallToolResponse) GetNotification() *NotificationResult {
if x != nil {
if x, ok := x.Result.(*CallToolResponse_Notification); ok {
return x.Notification
}
}
return nil
}
type isCallToolResponse_Result interface {
isCallToolResponse_Result()
}
type CallToolResponse_ListHosts struct {
ListHosts *ListHostsResult `protobuf:"bytes,3,opt,name=list_hosts,json=listHosts,proto3,oneof"`
}
type CallToolResponse_ListContainers struct {
ListContainers *ListContainersResult `protobuf:"bytes,4,opt,name=list_containers,json=listContainers,proto3,oneof"`
}
type CallToolResponse_ContainerStats struct {
ContainerStats *ContainerStatsResult `protobuf:"bytes,5,opt,name=container_stats,json=containerStats,proto3,oneof"`
}
type CallToolResponse_Action struct {
Action *ActionResult `protobuf:"bytes,6,opt,name=action,proto3,oneof"`
}
type CallToolResponse_FetchLogs struct {
FetchLogs *FetchLogsResult `protobuf:"bytes,7,opt,name=fetch_logs,json=fetchLogs,proto3,oneof"`
}
type CallToolResponse_InspectContainer struct {
InspectContainer *InspectContainerResult `protobuf:"bytes,8,opt,name=inspect_container,json=inspectContainer,proto3,oneof"`
}
type CallToolResponse_Deploy struct {
Deploy *DeployResult `protobuf:"bytes,11,opt,name=deploy,proto3,oneof"`
}
type CallToolResponse_Notification struct {
Notification *NotificationResult `protobuf:"bytes,12,opt,name=notification,proto3,oneof"`
}
func (*CallToolResponse_ListHosts) isCallToolResponse_Result() {}
func (*CallToolResponse_ListContainers) isCallToolResponse_Result() {}
func (*CallToolResponse_ContainerStats) isCallToolResponse_Result() {}
func (*CallToolResponse_Action) isCallToolResponse_Result() {}
func (*CallToolResponse_FetchLogs) isCallToolResponse_Result() {}
func (*CallToolResponse_InspectContainer) isCallToolResponse_Result() {}
func (*CallToolResponse_Deploy) isCallToolResponse_Result() {}
func (*CallToolResponse_Notification) isCallToolResponse_Result() {}
type CancelStreamRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
StreamRequestId string `protobuf:"bytes,1,opt,name=stream_request_id,json=streamRequestId,proto3" json:"stream_request_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *CancelStreamRequest) Reset() {
*x = CancelStreamRequest{}
mi := &file_cloud_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *CancelStreamRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CancelStreamRequest) ProtoMessage() {}
func (x *CancelStreamRequest) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[9]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use CancelStreamRequest.ProtoReflect.Descriptor instead.
func (*CancelStreamRequest) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{9}
}
func (x *CancelStreamRequest) GetStreamRequestId() string {
if x != nil {
return x.StreamRequestId
}
return ""
}
// Host information
type HostInfo struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
NCpu int32 `protobuf:"varint,3,opt,name=n_cpu,json=nCpu,proto3" json:"n_cpu,omitempty"`
MemTotal int64 `protobuf:"varint,4,opt,name=mem_total,json=memTotal,proto3" json:"mem_total,omitempty"`
DockerVersion string `protobuf:"bytes,5,opt,name=docker_version,json=dockerVersion,proto3" json:"docker_version,omitempty"`
AgentVersion string `protobuf:"bytes,6,opt,name=agent_version,json=agentVersion,proto3" json:"agent_version,omitempty"`
Type string `protobuf:"bytes,7,opt,name=type,proto3" json:"type,omitempty"`
Available bool `protobuf:"varint,8,opt,name=available,proto3" json:"available,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *HostInfo) Reset() {
*x = HostInfo{}
mi := &file_cloud_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *HostInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*HostInfo) ProtoMessage() {}
func (x *HostInfo) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[10]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use HostInfo.ProtoReflect.Descriptor instead.
func (*HostInfo) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{10}
}
func (x *HostInfo) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *HostInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *HostInfo) GetNCpu() int32 {
if x != nil {
return x.NCpu
}
return 0
}
func (x *HostInfo) GetMemTotal() int64 {
if x != nil {
return x.MemTotal
}
return 0
}
func (x *HostInfo) GetDockerVersion() string {
if x != nil {
return x.DockerVersion
}
return ""
}
func (x *HostInfo) GetAgentVersion() string {
if x != nil {
return x.AgentVersion
}
return ""
}
func (x *HostInfo) GetType() string {
if x != nil {
return x.Type
}
return ""
}
func (x *HostInfo) GetAvailable() bool {
if x != nil {
return x.Available
}
return false
}
type ListHostsResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Hosts []*HostInfo `protobuf:"bytes,1,rep,name=hosts,proto3" json:"hosts,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListHostsResult) Reset() {
*x = ListHostsResult{}
mi := &file_cloud_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListHostsResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListHostsResult) ProtoMessage() {}
func (x *ListHostsResult) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[11]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListHostsResult.ProtoReflect.Descriptor instead.
func (*ListHostsResult) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{11}
}
func (x *ListHostsResult) GetHosts() []*HostInfo {
if x != nil {
return x.Hosts
}
return nil
}
// Container information
type ContainerInfo struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Image string `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"`
Command string `protobuf:"bytes,4,opt,name=command,proto3" json:"command,omitempty"`
Created string `protobuf:"bytes,5,opt,name=created,proto3" json:"created,omitempty"`
StartedAt string `protobuf:"bytes,6,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
FinishedAt string `protobuf:"bytes,7,opt,name=finished_at,json=finishedAt,proto3" json:"finished_at,omitempty"`
State string `protobuf:"bytes,8,opt,name=state,proto3" json:"state,omitempty"`
Health string `protobuf:"bytes,9,opt,name=health,proto3" json:"health,omitempty"`
HostName string `protobuf:"bytes,10,opt,name=host_name,json=hostName,proto3" json:"host_name,omitempty"`
HostId string `protobuf:"bytes,12,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
Group string `protobuf:"bytes,11,opt,name=group,proto3" json:"group,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ContainerInfo) Reset() {
*x = ContainerInfo{}
mi := &file_cloud_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ContainerInfo) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ContainerInfo) ProtoMessage() {}
func (x *ContainerInfo) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[12]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ContainerInfo.ProtoReflect.Descriptor instead.
func (*ContainerInfo) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{12}
}
func (x *ContainerInfo) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *ContainerInfo) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ContainerInfo) GetImage() string {
if x != nil {
return x.Image
}
return ""
}
func (x *ContainerInfo) GetCommand() string {
if x != nil {
return x.Command
}
return ""
}
func (x *ContainerInfo) GetCreated() string {
if x != nil {
return x.Created
}
return ""
}
func (x *ContainerInfo) GetStartedAt() string {
if x != nil {
return x.StartedAt
}
return ""
}
func (x *ContainerInfo) GetFinishedAt() string {
if x != nil {
return x.FinishedAt
}
return ""
}
func (x *ContainerInfo) GetState() string {
if x != nil {
return x.State
}
return ""
}
func (x *ContainerInfo) GetHealth() string {
if x != nil {
return x.Health
}
return ""
}
func (x *ContainerInfo) GetHostName() string {
if x != nil {
return x.HostName
}
return ""
}
func (x *ContainerInfo) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *ContainerInfo) GetGroup() string {
if x != nil {
return x.Group
}
return ""
}
type ListContainersResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Containers []*ContainerInfo `protobuf:"bytes,1,rep,name=containers,proto3" json:"containers,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ListContainersResult) Reset() {
*x = ListContainersResult{}
mi := &file_cloud_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ListContainersResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListContainersResult) ProtoMessage() {}
func (x *ListContainersResult) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[13]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ListContainersResult.ProtoReflect.Descriptor instead.
func (*ListContainersResult) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{13}
}
func (x *ListContainersResult) GetContainers() []*ContainerInfo {
if x != nil {
return x.Containers
}
return nil
}
// Container stats
type ContainerStatEntry struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Host string `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"`
CpuPercent float64 `protobuf:"fixed64,4,opt,name=cpu_percent,json=cpuPercent,proto3" json:"cpu_percent,omitempty"`
MemoryPercent float64 `protobuf:"fixed64,5,opt,name=memory_percent,json=memoryPercent,proto3" json:"memory_percent,omitempty"`
MemoryUsage float64 `protobuf:"fixed64,6,opt,name=memory_usage,json=memoryUsage,proto3" json:"memory_usage,omitempty"`
MaxCpu_5Min float64 `protobuf:"fixed64,7,opt,name=max_cpu_5min,json=maxCpu5min,proto3" json:"max_cpu_5min,omitempty"`
MaxMemory_5Min float64 `protobuf:"fixed64,8,opt,name=max_memory_5min,json=maxMemory5min,proto3" json:"max_memory_5min,omitempty"`
HostId string `protobuf:"bytes,9,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
NetworkRxTotal uint64 `protobuf:"varint,10,opt,name=network_rx_total,json=networkRxTotal,proto3" json:"network_rx_total,omitempty"`
NetworkTxTotal uint64 `protobuf:"varint,11,opt,name=network_tx_total,json=networkTxTotal,proto3" json:"network_tx_total,omitempty"`
NetworkRx_5Min uint64 `protobuf:"varint,12,opt,name=network_rx_5min,json=networkRx5min,proto3" json:"network_rx_5min,omitempty"`
NetworkTx_5Min uint64 `protobuf:"varint,13,opt,name=network_tx_5min,json=networkTx5min,proto3" json:"network_tx_5min,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ContainerStatEntry) Reset() {
*x = ContainerStatEntry{}
mi := &file_cloud_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ContainerStatEntry) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ContainerStatEntry) ProtoMessage() {}
func (x *ContainerStatEntry) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[14]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ContainerStatEntry.ProtoReflect.Descriptor instead.
func (*ContainerStatEntry) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{14}
}
func (x *ContainerStatEntry) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *ContainerStatEntry) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ContainerStatEntry) GetHost() string {
if x != nil {
return x.Host
}
return ""
}
func (x *ContainerStatEntry) GetCpuPercent() float64 {
if x != nil {
return x.CpuPercent
}
return 0
}
func (x *ContainerStatEntry) GetMemoryPercent() float64 {
if x != nil {
return x.MemoryPercent
}
return 0
}
func (x *ContainerStatEntry) GetMemoryUsage() float64 {
if x != nil {
return x.MemoryUsage
}
return 0
}
func (x *ContainerStatEntry) GetMaxCpu_5Min() float64 {
if x != nil {
return x.MaxCpu_5Min
}
return 0
}
func (x *ContainerStatEntry) GetMaxMemory_5Min() float64 {
if x != nil {
return x.MaxMemory_5Min
}
return 0
}
func (x *ContainerStatEntry) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *ContainerStatEntry) GetNetworkRxTotal() uint64 {
if x != nil {
return x.NetworkRxTotal
}
return 0
}
func (x *ContainerStatEntry) GetNetworkTxTotal() uint64 {
if x != nil {
return x.NetworkTxTotal
}
return 0
}
func (x *ContainerStatEntry) GetNetworkRx_5Min() uint64 {
if x != nil {
return x.NetworkRx_5Min
}
return 0
}
func (x *ContainerStatEntry) GetNetworkTx_5Min() uint64 {
if x != nil {
return x.NetworkTx_5Min
}
return 0
}
type ContainerStatsResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Stats []*ContainerStatEntry `protobuf:"bytes,1,rep,name=stats,proto3" json:"stats,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ContainerStatsResult) Reset() {
*x = ContainerStatsResult{}
mi := &file_cloud_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ContainerStatsResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ContainerStatsResult) ProtoMessage() {}
func (x *ContainerStatsResult) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[15]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ContainerStatsResult.ProtoReflect.Descriptor instead.
func (*ContainerStatsResult) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{15}
}
func (x *ContainerStatsResult) GetStats() []*ContainerStatEntry {
if x != nil {
return x.Stats
}
return nil
}
// Container logs
type LogEntry struct {
state protoimpl.MessageState `protogen:"open.v1"`
Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
Stream string `protobuf:"bytes,3,opt,name=stream,proto3" json:"stream,omitempty"` // "stdout" or "stderr"
Level string `protobuf:"bytes,4,opt,name=level,proto3" json:"level,omitempty"` // "info", "warn", "error", etc.
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *LogEntry) Reset() {
*x = LogEntry{}
mi := &file_cloud_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *LogEntry) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*LogEntry) ProtoMessage() {}
func (x *LogEntry) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[16]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use LogEntry.ProtoReflect.Descriptor instead.
func (*LogEntry) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{16}
}
func (x *LogEntry) GetTimestamp() int64 {
if x != nil {
return x.Timestamp
}
return 0
}
func (x *LogEntry) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
func (x *LogEntry) GetStream() string {
if x != nil {
return x.Stream
}
return ""
}
func (x *LogEntry) GetLevel() string {
if x != nil {
return x.Level
}
return ""
}
type FetchLogsResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
ContainerName string `protobuf:"bytes,1,opt,name=container_name,json=containerName,proto3" json:"container_name,omitempty"`
Entries []*LogEntry `protobuf:"bytes,2,rep,name=entries,proto3" json:"entries,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *FetchLogsResult) Reset() {
*x = FetchLogsResult{}
mi := &file_cloud_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *FetchLogsResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FetchLogsResult) ProtoMessage() {}
func (x *FetchLogsResult) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[17]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FetchLogsResult.ProtoReflect.Descriptor instead.
func (*FetchLogsResult) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{17}
}
func (x *FetchLogsResult) GetContainerName() string {
if x != nil {
return x.ContainerName
}
return ""
}
func (x *FetchLogsResult) GetEntries() []*LogEntry {
if x != nil {
return x.Entries
}
return nil
}
// Container inspect result
type InspectContainerResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Image string `protobuf:"bytes,3,opt,name=image,proto3" json:"image,omitempty"`
Command string `protobuf:"bytes,4,opt,name=command,proto3" json:"command,omitempty"`
Created string `protobuf:"bytes,5,opt,name=created,proto3" json:"created,omitempty"`
StartedAt string `protobuf:"bytes,6,opt,name=started_at,json=startedAt,proto3" json:"started_at,omitempty"`
FinishedAt string `protobuf:"bytes,7,opt,name=finished_at,json=finishedAt,proto3" json:"finished_at,omitempty"`
State string `protobuf:"bytes,8,opt,name=state,proto3" json:"state,omitempty"`
Health string `protobuf:"bytes,9,opt,name=health,proto3" json:"health,omitempty"`
HostName string `protobuf:"bytes,10,opt,name=host_name,json=hostName,proto3" json:"host_name,omitempty"`
HostId string `protobuf:"bytes,19,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
Labels map[string]string `protobuf:"bytes,11,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
MemoryLimit uint64 `protobuf:"varint,12,opt,name=memory_limit,json=memoryLimit,proto3" json:"memory_limit,omitempty"`
CpuLimit float64 `protobuf:"fixed64,13,opt,name=cpu_limit,json=cpuLimit,proto3" json:"cpu_limit,omitempty"`
Ports []string `protobuf:"bytes,15,rep,name=ports,proto3" json:"ports,omitempty"`
Mounts []string `protobuf:"bytes,16,rep,name=mounts,proto3" json:"mounts,omitempty"`
RestartPolicy string `protobuf:"bytes,17,opt,name=restart_policy,json=restartPolicy,proto3" json:"restart_policy,omitempty"`
NetworkMode string `protobuf:"bytes,18,opt,name=network_mode,json=networkMode,proto3" json:"network_mode,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *InspectContainerResult) Reset() {
*x = InspectContainerResult{}
mi := &file_cloud_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *InspectContainerResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InspectContainerResult) ProtoMessage() {}
func (x *InspectContainerResult) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[18]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InspectContainerResult.ProtoReflect.Descriptor instead.
func (*InspectContainerResult) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{18}
}
func (x *InspectContainerResult) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *InspectContainerResult) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *InspectContainerResult) GetImage() string {
if x != nil {
return x.Image
}
return ""
}
func (x *InspectContainerResult) GetCommand() string {
if x != nil {
return x.Command
}
return ""
}
func (x *InspectContainerResult) GetCreated() string {
if x != nil {
return x.Created
}
return ""
}
func (x *InspectContainerResult) GetStartedAt() string {
if x != nil {
return x.StartedAt
}
return ""
}
func (x *InspectContainerResult) GetFinishedAt() string {
if x != nil {
return x.FinishedAt
}
return ""
}
func (x *InspectContainerResult) GetState() string {
if x != nil {
return x.State
}
return ""
}
func (x *InspectContainerResult) GetHealth() string {
if x != nil {
return x.Health
}
return ""
}
func (x *InspectContainerResult) GetHostName() string {
if x != nil {
return x.HostName
}
return ""
}
func (x *InspectContainerResult) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *InspectContainerResult) GetLabels() map[string]string {
if x != nil {
return x.Labels
}
return nil
}
func (x *InspectContainerResult) GetMemoryLimit() uint64 {
if x != nil {
return x.MemoryLimit
}
return 0
}
func (x *InspectContainerResult) GetCpuLimit() float64 {
if x != nil {
return x.CpuLimit
}
return 0
}
func (x *InspectContainerResult) GetPorts() []string {
if x != nil {
return x.Ports
}
return nil
}
func (x *InspectContainerResult) GetMounts() []string {
if x != nil {
return x.Mounts
}
return nil
}
func (x *InspectContainerResult) GetRestartPolicy() string {
if x != nil {
return x.RestartPolicy
}
return ""
}
func (x *InspectContainerResult) GetNetworkMode() string {
if x != nil {
return x.NetworkMode
}
return ""
}
// Container action result
type ActionResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
ContainerId string `protobuf:"bytes,2,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
Action string `protobuf:"bytes,3,opt,name=action,proto3" json:"action,omitempty"`
Message string `protobuf:"bytes,4,opt,name=message,proto3" json:"message,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *ActionResult) Reset() {
*x = ActionResult{}
mi := &file_cloud_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *ActionResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ActionResult) ProtoMessage() {}
func (x *ActionResult) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[19]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ActionResult.ProtoReflect.Descriptor instead.
func (*ActionResult) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{19}
}
func (x *ActionResult) GetSuccess() bool {
if x != nil {
return x.Success
}
return false
}
func (x *ActionResult) GetContainerId() string {
if x != nil {
return x.ContainerId
}
return ""
}
func (x *ActionResult) GetAction() string {
if x != nil {
return x.Action
}
return ""
}
func (x *ActionResult) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
// Deploy compose result
type DeployResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"`
Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *DeployResult) Reset() {
*x = DeployResult{}
mi := &file_cloud_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *DeployResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*DeployResult) ProtoMessage() {}
func (x *DeployResult) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[20]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use DeployResult.ProtoReflect.Descriptor instead.
func (*DeployResult) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{20}
}
func (x *DeployResult) GetSuccess() bool {
if x != nil {
return x.Success
}
return false
}
func (x *DeployResult) GetProject() string {
if x != nil {
return x.Project
}
return ""
}
func (x *DeployResult) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
// Notification/alert tool result (list, create).
type NotificationResult struct {
state protoimpl.MessageState `protogen:"open.v1"`
Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *NotificationResult) Reset() {
*x = NotificationResult{}
mi := &file_cloud_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *NotificationResult) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*NotificationResult) ProtoMessage() {}
func (x *NotificationResult) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[21]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use NotificationResult.ProtoReflect.Descriptor instead.
func (*NotificationResult) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{21}
}
func (x *NotificationResult) GetSuccess() bool {
if x != nil {
return x.Success
}
return false
}
func (x *NotificationResult) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
// Cloud log search.
type SearchLogsRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Substring/word-filter query. Empty -> empty result. Whitespace-only
// is rejected client-side; server treats as empty.
Query string `protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
// Result cap. Default 20, server-capped at 50.
Limit int32 `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
// Pagination cursor: return only hits with timestamp_ns < this value.
// 0 = newest. Reserved for future use.
BeforeTsNs int64 `protobuf:"varint,3,opt,name=before_ts_ns,json=beforeTsNs,proto3" json:"before_ts_ns,omitempty"`
// Optional filter — narrow to a specific Docker host inside the instance.
// Empty = all hosts under this instance.
HostId string `protobuf:"bytes,4,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
// Optional filter — narrow to a specific container.
ContainerId string `protobuf:"bytes,5,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SearchLogsRequest) Reset() {
*x = SearchLogsRequest{}
mi := &file_cloud_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SearchLogsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SearchLogsRequest) ProtoMessage() {}
func (x *SearchLogsRequest) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[22]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SearchLogsRequest.ProtoReflect.Descriptor instead.
func (*SearchLogsRequest) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{22}
}
func (x *SearchLogsRequest) GetQuery() string {
if x != nil {
return x.Query
}
return ""
}
func (x *SearchLogsRequest) GetLimit() int32 {
if x != nil {
return x.Limit
}
return 0
}
func (x *SearchLogsRequest) GetBeforeTsNs() int64 {
if x != nil {
return x.BeforeTsNs
}
return 0
}
func (x *SearchLogsRequest) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *SearchLogsRequest) GetContainerId() string {
if x != nil {
return x.ContainerId
}
return ""
}
type SearchLogsResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Hits []*SearchLogHit `protobuf:"bytes,1,rep,name=hits,proto3" json:"hits,omitempty"`
HasMore bool `protobuf:"varint,2,opt,name=has_more,json=hasMore,proto3" json:"has_more,omitempty"`
// For pagination: pass back as before_ts_ns to fetch the next page.
NextBeforeTsNs int64 `protobuf:"varint,3,opt,name=next_before_ts_ns,json=nextBeforeTsNs,proto3" json:"next_before_ts_ns,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SearchLogsResponse) Reset() {
*x = SearchLogsResponse{}
mi := &file_cloud_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SearchLogsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SearchLogsResponse) ProtoMessage() {}
func (x *SearchLogsResponse) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[23]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SearchLogsResponse.ProtoReflect.Descriptor instead.
func (*SearchLogsResponse) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{23}
}
func (x *SearchLogsResponse) GetHits() []*SearchLogHit {
if x != nil {
return x.Hits
}
return nil
}
func (x *SearchLogsResponse) GetHasMore() bool {
if x != nil {
return x.HasMore
}
return false
}
func (x *SearchLogsResponse) GetNextBeforeTsNs() int64 {
if x != nil {
return x.NextBeforeTsNs
}
return 0
}
type SearchLogHit struct {
state protoimpl.MessageState `protogen:"open.v1"`
TimestampNs int64 `protobuf:"varint,1,opt,name=timestamp_ns,json=timestampNs,proto3" json:"timestamp_ns,omitempty"`
HostId string `protobuf:"bytes,2,opt,name=host_id,json=hostId,proto3" json:"host_id,omitempty"`
ContainerId string `protobuf:"bytes,3,opt,name=container_id,json=containerId,proto3" json:"container_id,omitempty"`
ContainerName string `protobuf:"bytes,4,opt,name=container_name,json=containerName,proto3" json:"container_name,omitempty"`
// Full log line as indexed.
Message string `protobuf:"bytes,5,opt,name=message,proto3" json:"message,omitempty"`
Stream string `protobuf:"bytes,6,opt,name=stream,proto3" json:"stream,omitempty"`
Level string `protobuf:"bytes,7,opt,name=level,proto3" json:"level,omitempty"`
// FNV-32a hash of the raw log line — same id Dozzle assigns LogEvent.Id
// and exposes via "Copy permalink". Lets the search-result row deep-link
// straight to the matching line.
LogId uint32 `protobuf:"varint,8,opt,name=log_id,json=logId,proto3" json:"log_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *SearchLogHit) Reset() {
*x = SearchLogHit{}
mi := &file_cloud_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *SearchLogHit) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SearchLogHit) ProtoMessage() {}
func (x *SearchLogHit) ProtoReflect() protoreflect.Message {
mi := &file_cloud_proto_msgTypes[24]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use SearchLogHit.ProtoReflect.Descriptor instead.
func (*SearchLogHit) Descriptor() ([]byte, []int) {
return file_cloud_proto_rawDescGZIP(), []int{24}
}
func (x *SearchLogHit) GetTimestampNs() int64 {
if x != nil {
return x.TimestampNs
}
return 0
}
func (x *SearchLogHit) GetHostId() string {
if x != nil {
return x.HostId
}
return ""
}
func (x *SearchLogHit) GetContainerId() string {
if x != nil {
return x.ContainerId
}
return ""
}
func (x *SearchLogHit) GetContainerName() string {
if x != nil {
return x.ContainerName
}
return ""
}
func (x *SearchLogHit) GetMessage() string {
if x != nil {
return x.Message
}
return ""
}
func (x *SearchLogHit) GetStream() string {
if x != nil {
return x.Stream
}
return ""
}
func (x *SearchLogHit) GetLevel() string {
if x != nil {
return x.Level
}
return ""
}
func (x *SearchLogHit) GetLogId() uint32 {
if x != nil {
return x.LogId
}
return 0
}
var File_cloud_proto protoreflect.FileDescriptor
const file_cloud_proto_rawDesc = "" +
"\n" +
"\vcloud.proto\x12\x05cloud\"\xe8\x01\n" +
"\vToolRequest\x12\x1d\n" +
"\n" +
"request_id\x18\x01 \x01(\tR\trequestId\x128\n" +
"\n" +
"list_tools\x18\x02 \x01(\v2\x17.cloud.ListToolsRequestH\x00R\tlistTools\x125\n" +
"\tcall_tool\x18\x03 \x01(\v2\x16.cloud.CallToolRequestH\x00R\bcallTool\x12A\n" +
"\rcancel_stream\x18\x04 \x01(\v2\x1a.cloud.CancelStreamRequestH\x00R\fcancelStreamB\x06\n" +
"\x04type\"\xd8\x01\n" +
"\fToolResponse\x12\x1d\n" +
"\n" +
"request_id\x18\x01 \x01(\tR\trequestId\x129\n" +
"\n" +
"list_tools\x18\x02 \x01(\v2\x18.cloud.ListToolsResponseH\x00R\tlistTools\x126\n" +
"\tcall_tool\x18\x03 \x01(\v2\x17.cloud.CallToolResponseH\x00R\bcallTool\x12.\n" +
"\tlog_batch\x18\x04 \x01(\v2\x0f.cloud.LogBatchH\x00R\blogBatchB\x06\n" +
"\x04type\":\n" +
"\bLogBatch\x12.\n" +
"\aentries\x18\x01 \x03(\v2\x14.cloud.LogBatchEntryR\aentries\"\xf4\x01\n" +
"\rLogBatchEntry\x12\x17\n" +
"\ahost_id\x18\x01 \x01(\tR\x06hostId\x12!\n" +
"\fcontainer_id\x18\x02 \x01(\tR\vcontainerId\x12%\n" +
"\x0econtainer_name\x18\x03 \x01(\tR\rcontainerName\x12!\n" +
"\ftimestamp_ns\x18\x04 \x01(\x03R\vtimestampNs\x12\x18\n" +
"\amessage\x18\x05 \x01(\tR\amessage\x12\x16\n" +
"\x06stream\x18\x06 \x01(\tR\x06stream\x12\x14\n" +
"\x05level\x18\a \x01(\tR\x05level\x12\x15\n" +
"\x06log_id\x18\b \x01(\rR\x05logId\"\x12\n" +
"\x10ListToolsRequest\"Z\n" +
"\x11ListToolsResponse\x12+\n" +
"\x05tools\x18\x01 \x03(\v2\x15.cloud.ToolDefinitionR\x05tools\x12\x18\n" +
"\aversion\x18\x02 \x01(\tR\aversion\"\xb4\x01\n" +
"\x0eToolDefinition\x12\x12\n" +
"\x04name\x18\x01 \x01(\tR\x04name\x12 \n" +
"\vdescription\x18\x02 \x01(\tR\vdescription\x12'\n" +
"\x0fparameters_json\x18\x03 \x01(\tR\x0eparametersJson\x12&\n" +
"\x05scope\x18\x04 \x01(\x0e2\x10.cloud.ToolScopeR\x05scope\x12\x1b\n" +
"\tread_only\x18\x05 \x01(\bR\breadOnly\"L\n" +
"\x0fCallToolRequest\x12\x12\n" +
"\x04name\x18\x01 \x01(\tR\x04name\x12%\n" +
"\x0earguments_json\x18\x02 \x01(\tR\rargumentsJson\"\xf2\x04\n" +
"\x10CallToolResponse\x12\x18\n" +
"\asuccess\x18\x01 \x01(\bR\asuccess\x12\x14\n" +
"\x05error\x18\x02 \x01(\tR\x05error\x12\x16\n" +
"\x06stream\x18\t \x01(\bR\x06stream\x12\x1d\n" +
"\n" +
"end_stream\x18\n" +
" \x01(\bR\tendStream\x127\n" +
"\n" +
"list_hosts\x18\x03 \x01(\v2\x16.cloud.ListHostsResultH\x00R\tlistHosts\x12F\n" +
"\x0flist_containers\x18\x04 \x01(\v2\x1b.cloud.ListContainersResultH\x00R\x0elistContainers\x12F\n" +
"\x0fcontainer_stats\x18\x05 \x01(\v2\x1b.cloud.ContainerStatsResultH\x00R\x0econtainerStats\x12-\n" +
"\x06action\x18\x06 \x01(\v2\x13.cloud.ActionResultH\x00R\x06action\x127\n" +
"\n" +
"fetch_logs\x18\a \x01(\v2\x16.cloud.FetchLogsResultH\x00R\tfetchLogs\x12L\n" +
"\x11inspect_container\x18\b \x01(\v2\x1d.cloud.InspectContainerResultH\x00R\x10inspectContainer\x12-\n" +
"\x06deploy\x18\v \x01(\v2\x13.cloud.DeployResultH\x00R\x06deploy\x12?\n" +
"\fnotification\x18\f \x01(\v2\x19.cloud.NotificationResultH\x00R\fnotificationB\b\n" +
"\x06result\"A\n" +
"\x13CancelStreamRequest\x12*\n" +
"\x11stream_request_id\x18\x01 \x01(\tR\x0fstreamRequestId\"\xde\x01\n" +
"\bHostInfo\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
"\x04name\x18\x02 \x01(\tR\x04name\x12\x13\n" +
"\x05n_cpu\x18\x03 \x01(\x05R\x04nCpu\x12\x1b\n" +
"\tmem_total\x18\x04 \x01(\x03R\bmemTotal\x12%\n" +
"\x0edocker_version\x18\x05 \x01(\tR\rdockerVersion\x12#\n" +
"\ragent_version\x18\x06 \x01(\tR\fagentVersion\x12\x12\n" +
"\x04type\x18\a \x01(\tR\x04type\x12\x1c\n" +
"\tavailable\x18\b \x01(\bR\tavailable\"8\n" +
"\x0fListHostsResult\x12%\n" +
"\x05hosts\x18\x01 \x03(\v2\x0f.cloud.HostInfoR\x05hosts\"\xb7\x02\n" +
"\rContainerInfo\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
"\x04name\x18\x02 \x01(\tR\x04name\x12\x14\n" +
"\x05image\x18\x03 \x01(\tR\x05image\x12\x18\n" +
"\acommand\x18\x04 \x01(\tR\acommand\x12\x18\n" +
"\acreated\x18\x05 \x01(\tR\acreated\x12\x1d\n" +
"\n" +
"started_at\x18\x06 \x01(\tR\tstartedAt\x12\x1f\n" +
"\vfinished_at\x18\a \x01(\tR\n" +
"finishedAt\x12\x14\n" +
"\x05state\x18\b \x01(\tR\x05state\x12\x16\n" +
"\x06health\x18\t \x01(\tR\x06health\x12\x1b\n" +
"\thost_name\x18\n" +
" \x01(\tR\bhostName\x12\x17\n" +
"\ahost_id\x18\f \x01(\tR\x06hostId\x12\x14\n" +
"\x05group\x18\v \x01(\tR\x05group\"L\n" +
"\x14ListContainersResult\x124\n" +
"\n" +
"containers\x18\x01 \x03(\v2\x14.cloud.ContainerInfoR\n" +
"containers\"\xbe\x03\n" +
"\x12ContainerStatEntry\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
"\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n" +
"\x04host\x18\x03 \x01(\tR\x04host\x12\x1f\n" +
"\vcpu_percent\x18\x04 \x01(\x01R\n" +
"cpuPercent\x12%\n" +
"\x0ememory_percent\x18\x05 \x01(\x01R\rmemoryPercent\x12!\n" +
"\fmemory_usage\x18\x06 \x01(\x01R\vmemoryUsage\x12 \n" +
"\fmax_cpu_5min\x18\a \x01(\x01R\n" +
"maxCpu5min\x12&\n" +
"\x0fmax_memory_5min\x18\b \x01(\x01R\rmaxMemory5min\x12\x17\n" +
"\ahost_id\x18\t \x01(\tR\x06hostId\x12(\n" +
"\x10network_rx_total\x18\n" +
" \x01(\x04R\x0enetworkRxTotal\x12(\n" +
"\x10network_tx_total\x18\v \x01(\x04R\x0enetworkTxTotal\x12&\n" +
"\x0fnetwork_rx_5min\x18\f \x01(\x04R\rnetworkRx5min\x12&\n" +
"\x0fnetwork_tx_5min\x18\r \x01(\x04R\rnetworkTx5min\"G\n" +
"\x14ContainerStatsResult\x12/\n" +
"\x05stats\x18\x01 \x03(\v2\x19.cloud.ContainerStatEntryR\x05stats\"p\n" +
"\bLogEntry\x12\x1c\n" +
"\ttimestamp\x18\x01 \x01(\x03R\ttimestamp\x12\x18\n" +
"\amessage\x18\x02 \x01(\tR\amessage\x12\x16\n" +
"\x06stream\x18\x03 \x01(\tR\x06stream\x12\x14\n" +
"\x05level\x18\x04 \x01(\tR\x05level\"c\n" +
"\x0fFetchLogsResult\x12%\n" +
"\x0econtainer_name\x18\x01 \x01(\tR\rcontainerName\x12)\n" +
"\aentries\x18\x02 \x03(\v2\x0f.cloud.LogEntryR\aentries\"\xeb\x04\n" +
"\x16InspectContainerResult\x12\x0e\n" +
"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
"\x04name\x18\x02 \x01(\tR\x04name\x12\x14\n" +
"\x05image\x18\x03 \x01(\tR\x05image\x12\x18\n" +
"\acommand\x18\x04 \x01(\tR\acommand\x12\x18\n" +
"\acreated\x18\x05 \x01(\tR\acreated\x12\x1d\n" +
"\n" +
"started_at\x18\x06 \x01(\tR\tstartedAt\x12\x1f\n" +
"\vfinished_at\x18\a \x01(\tR\n" +
"finishedAt\x12\x14\n" +
"\x05state\x18\b \x01(\tR\x05state\x12\x16\n" +
"\x06health\x18\t \x01(\tR\x06health\x12\x1b\n" +
"\thost_name\x18\n" +
" \x01(\tR\bhostName\x12\x17\n" +
"\ahost_id\x18\x13 \x01(\tR\x06hostId\x12A\n" +
"\x06labels\x18\v \x03(\v2).cloud.InspectContainerResult.LabelsEntryR\x06labels\x12!\n" +
"\fmemory_limit\x18\f \x01(\x04R\vmemoryLimit\x12\x1b\n" +
"\tcpu_limit\x18\r \x01(\x01R\bcpuLimit\x12\x14\n" +
"\x05ports\x18\x0f \x03(\tR\x05ports\x12\x16\n" +
"\x06mounts\x18\x10 \x03(\tR\x06mounts\x12%\n" +
"\x0erestart_policy\x18\x11 \x01(\tR\rrestartPolicy\x12!\n" +
"\fnetwork_mode\x18\x12 \x01(\tR\vnetworkMode\x1a9\n" +
"\vLabelsEntry\x12\x10\n" +
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01J\x04\b\x0e\x10\x0fR\x03env\"}\n" +
"\fActionResult\x12\x18\n" +
"\asuccess\x18\x01 \x01(\bR\asuccess\x12!\n" +
"\fcontainer_id\x18\x02 \x01(\tR\vcontainerId\x12\x16\n" +
"\x06action\x18\x03 \x01(\tR\x06action\x12\x18\n" +
"\amessage\x18\x04 \x01(\tR\amessage\"\\\n" +
"\fDeployResult\x12\x18\n" +
"\asuccess\x18\x01 \x01(\bR\asuccess\x12\x18\n" +
"\aproject\x18\x02 \x01(\tR\aproject\x12\x18\n" +
"\amessage\x18\x03 \x01(\tR\amessage\"H\n" +
"\x12NotificationResult\x12\x18\n" +
"\asuccess\x18\x01 \x01(\bR\asuccess\x12\x18\n" +
"\amessage\x18\x02 \x01(\tR\amessage\"\x9d\x01\n" +
"\x11SearchLogsRequest\x12\x14\n" +
"\x05query\x18\x01 \x01(\tR\x05query\x12\x14\n" +
"\x05limit\x18\x02 \x01(\x05R\x05limit\x12 \n" +
"\fbefore_ts_ns\x18\x03 \x01(\x03R\n" +
"beforeTsNs\x12\x17\n" +
"\ahost_id\x18\x04 \x01(\tR\x06hostId\x12!\n" +
"\fcontainer_id\x18\x05 \x01(\tR\vcontainerId\"\x83\x01\n" +
"\x12SearchLogsResponse\x12'\n" +
"\x04hits\x18\x01 \x03(\v2\x13.cloud.SearchLogHitR\x04hits\x12\x19\n" +
"\bhas_more\x18\x02 \x01(\bR\ahasMore\x12)\n" +
"\x11next_before_ts_ns\x18\x03 \x01(\x03R\x0enextBeforeTsNs\"\xf3\x01\n" +
"\fSearchLogHit\x12!\n" +
"\ftimestamp_ns\x18\x01 \x01(\x03R\vtimestampNs\x12\x17\n" +
"\ahost_id\x18\x02 \x01(\tR\x06hostId\x12!\n" +
"\fcontainer_id\x18\x03 \x01(\tR\vcontainerId\x12%\n" +
"\x0econtainer_name\x18\x04 \x01(\tR\rcontainerName\x12\x18\n" +
"\amessage\x18\x05 \x01(\tR\amessage\x12\x16\n" +
"\x06stream\x18\x06 \x01(\tR\x06stream\x12\x14\n" +
"\x05level\x18\a \x01(\tR\x05level\x12\x15\n" +
"\x06log_id\x18\b \x01(\rR\x05logId*o\n" +
"\tToolScope\x12\x1a\n" +
"\x16TOOL_SCOPE_UNSPECIFIED\x10\x00\x12\x17\n" +
"\x13TOOL_SCOPE_INSTANCE\x10\x01\x12\x13\n" +
"\x0fTOOL_SCOPE_HOST\x10\x02\x12\x18\n" +
"\x14TOOL_SCOPE_CONTAINER\x10\x032\x90\x01\n" +
"\x10CloudToolService\x129\n" +
"\n" +
"ToolStream\x12\x13.cloud.ToolResponse\x1a\x12.cloud.ToolRequest(\x010\x01\x12A\n" +
"\n" +
"SearchLogs\x12\x18.cloud.SearchLogsRequest\x1a\x19.cloud.SearchLogsResponseB&Z$github.com/amir20/dozzle/proto/cloudb\x06proto3"
var (
file_cloud_proto_rawDescOnce sync.Once
file_cloud_proto_rawDescData []byte
)
func file_cloud_proto_rawDescGZIP() []byte {
file_cloud_proto_rawDescOnce.Do(func() {
file_cloud_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_cloud_proto_rawDesc), len(file_cloud_proto_rawDesc)))
})
return file_cloud_proto_rawDescData
}
var file_cloud_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_cloud_proto_msgTypes = make([]protoimpl.MessageInfo, 26)
var file_cloud_proto_goTypes = []any{
(ToolScope)(0), // 0: cloud.ToolScope
(*ToolRequest)(nil), // 1: cloud.ToolRequest
(*ToolResponse)(nil), // 2: cloud.ToolResponse
(*LogBatch)(nil), // 3: cloud.LogBatch
(*LogBatchEntry)(nil), // 4: cloud.LogBatchEntry
(*ListToolsRequest)(nil), // 5: cloud.ListToolsRequest
(*ListToolsResponse)(nil), // 6: cloud.ListToolsResponse
(*ToolDefinition)(nil), // 7: cloud.ToolDefinition
(*CallToolRequest)(nil), // 8: cloud.CallToolRequest
(*CallToolResponse)(nil), // 9: cloud.CallToolResponse
(*CancelStreamRequest)(nil), // 10: cloud.CancelStreamRequest
(*HostInfo)(nil), // 11: cloud.HostInfo
(*ListHostsResult)(nil), // 12: cloud.ListHostsResult
(*ContainerInfo)(nil), // 13: cloud.ContainerInfo
(*ListContainersResult)(nil), // 14: cloud.ListContainersResult
(*ContainerStatEntry)(nil), // 15: cloud.ContainerStatEntry
(*ContainerStatsResult)(nil), // 16: cloud.ContainerStatsResult
(*LogEntry)(nil), // 17: cloud.LogEntry
(*FetchLogsResult)(nil), // 18: cloud.FetchLogsResult
(*InspectContainerResult)(nil), // 19: cloud.InspectContainerResult
(*ActionResult)(nil), // 20: cloud.ActionResult
(*DeployResult)(nil), // 21: cloud.DeployResult
(*NotificationResult)(nil), // 22: cloud.NotificationResult
(*SearchLogsRequest)(nil), // 23: cloud.SearchLogsRequest
(*SearchLogsResponse)(nil), // 24: cloud.SearchLogsResponse
(*SearchLogHit)(nil), // 25: cloud.SearchLogHit
nil, // 26: cloud.InspectContainerResult.LabelsEntry
}
var file_cloud_proto_depIdxs = []int32{
5, // 0: cloud.ToolRequest.list_tools:type_name -> cloud.ListToolsRequest
8, // 1: cloud.ToolRequest.call_tool:type_name -> cloud.CallToolRequest
10, // 2: cloud.ToolRequest.cancel_stream:type_name -> cloud.CancelStreamRequest
6, // 3: cloud.ToolResponse.list_tools:type_name -> cloud.ListToolsResponse
9, // 4: cloud.ToolResponse.call_tool:type_name -> cloud.CallToolResponse
3, // 5: cloud.ToolResponse.log_batch:type_name -> cloud.LogBatch
4, // 6: cloud.LogBatch.entries:type_name -> cloud.LogBatchEntry
7, // 7: cloud.ListToolsResponse.tools:type_name -> cloud.ToolDefinition
0, // 8: cloud.ToolDefinition.scope:type_name -> cloud.ToolScope
12, // 9: cloud.CallToolResponse.list_hosts:type_name -> cloud.ListHostsResult
14, // 10: cloud.CallToolResponse.list_containers:type_name -> cloud.ListContainersResult
16, // 11: cloud.CallToolResponse.container_stats:type_name -> cloud.ContainerStatsResult
20, // 12: cloud.CallToolResponse.action:type_name -> cloud.ActionResult
18, // 13: cloud.CallToolResponse.fetch_logs:type_name -> cloud.FetchLogsResult
19, // 14: cloud.CallToolResponse.inspect_container:type_name -> cloud.InspectContainerResult
21, // 15: cloud.CallToolResponse.deploy:type_name -> cloud.DeployResult
22, // 16: cloud.CallToolResponse.notification:type_name -> cloud.NotificationResult
11, // 17: cloud.ListHostsResult.hosts:type_name -> cloud.HostInfo
13, // 18: cloud.ListContainersResult.containers:type_name -> cloud.ContainerInfo
15, // 19: cloud.ContainerStatsResult.stats:type_name -> cloud.ContainerStatEntry
17, // 20: cloud.FetchLogsResult.entries:type_name -> cloud.LogEntry
26, // 21: cloud.InspectContainerResult.labels:type_name -> cloud.InspectContainerResult.LabelsEntry
25, // 22: cloud.SearchLogsResponse.hits:type_name -> cloud.SearchLogHit
2, // 23: cloud.CloudToolService.ToolStream:input_type -> cloud.ToolResponse
23, // 24: cloud.CloudToolService.SearchLogs:input_type -> cloud.SearchLogsRequest
1, // 25: cloud.CloudToolService.ToolStream:output_type -> cloud.ToolRequest
24, // 26: cloud.CloudToolService.SearchLogs:output_type -> cloud.SearchLogsResponse
25, // [25:27] is the sub-list for method output_type
23, // [23:25] is the sub-list for method input_type
23, // [23:23] is the sub-list for extension type_name
23, // [23:23] is the sub-list for extension extendee
0, // [0:23] is the sub-list for field type_name
}
func init() { file_cloud_proto_init() }
func file_cloud_proto_init() {
if File_cloud_proto != nil {
return
}
file_cloud_proto_msgTypes[0].OneofWrappers = []any{
(*ToolRequest_ListTools)(nil),
(*ToolRequest_CallTool)(nil),
(*ToolRequest_CancelStream)(nil),
}
file_cloud_proto_msgTypes[1].OneofWrappers = []any{
(*ToolResponse_ListTools)(nil),
(*ToolResponse_CallTool)(nil),
(*ToolResponse_LogBatch)(nil),
}
file_cloud_proto_msgTypes[8].OneofWrappers = []any{
(*CallToolResponse_ListHosts)(nil),
(*CallToolResponse_ListContainers)(nil),
(*CallToolResponse_ContainerStats)(nil),
(*CallToolResponse_Action)(nil),
(*CallToolResponse_FetchLogs)(nil),
(*CallToolResponse_InspectContainer)(nil),
(*CallToolResponse_Deploy)(nil),
(*CallToolResponse_Notification)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_cloud_proto_rawDesc), len(file_cloud_proto_rawDesc)),
NumEnums: 1,
NumMessages: 26,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_cloud_proto_goTypes,
DependencyIndexes: file_cloud_proto_depIdxs,
EnumInfos: file_cloud_proto_enumTypes,
MessageInfos: file_cloud_proto_msgTypes,
}.Build()
File_cloud_proto = out.File
file_cloud_proto_goTypes = nil
file_cloud_proto_depIdxs = nil
}