// 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 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
	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
}

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"`
}

func (*ToolResponse_ListTools) isToolResponse_Type() {}

func (*ToolResponse_CallTool) isToolResponse_Type() {}

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[2]
	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[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 ListToolsRequest.ProtoReflect.Descriptor instead.
func (*ListToolsRequest) Descriptor() ([]byte, []int) {
	return file_cloud_proto_rawDescGZIP(), []int{2}
}

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[3]
	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[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 ListToolsResponse.ProtoReflect.Descriptor instead.
func (*ListToolsResponse) Descriptor() ([]byte, []int) {
	return file_cloud_proto_rawDescGZIP(), []int{3}
}

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"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *ToolDefinition) Reset() {
	*x = ToolDefinition{}
	mi := &file_cloud_proto_msgTypes[4]
	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[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 ToolDefinition.ProtoReflect.Descriptor instead.
func (*ToolDefinition) Descriptor() ([]byte, []int) {
	return file_cloud_proto_rawDescGZIP(), []int{4}
}

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 ""
}

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[5]
	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[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 CallToolRequest.ProtoReflect.Descriptor instead.
func (*CallToolRequest) Descriptor() ([]byte, []int) {
	return file_cloud_proto_rawDescGZIP(), []int{5}
}

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
	Result        isCallToolResponse_Result `protobuf_oneof:"result"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CallToolResponse) Reset() {
	*x = CallToolResponse{}
	mi := &file_cloud_proto_msgTypes[6]
	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[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 CallToolResponse.ProtoReflect.Descriptor instead.
func (*CallToolResponse) Descriptor() ([]byte, []int) {
	return file_cloud_proto_rawDescGZIP(), []int{6}
}

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
}

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"`
}

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() {}

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[7]
	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[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 CancelStreamRequest.ProtoReflect.Descriptor instead.
func (*CancelStreamRequest) Descriptor() ([]byte, []int) {
	return file_cloud_proto_rawDescGZIP(), []int{7}
}

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[8]
	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[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 HostInfo.ProtoReflect.Descriptor instead.
func (*HostInfo) Descriptor() ([]byte, []int) {
	return file_cloud_proto_rawDescGZIP(), []int{8}
}

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[9]
	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[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 ListHostsResult.ProtoReflect.Descriptor instead.
func (*ListHostsResult) Descriptor() ([]byte, []int) {
	return file_cloud_proto_rawDescGZIP(), []int{9}
}

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[10]
	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[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 ContainerInfo.ProtoReflect.Descriptor instead.
func (*ContainerInfo) Descriptor() ([]byte, []int) {
	return file_cloud_proto_rawDescGZIP(), []int{10}
}

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[11]
	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[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 ListContainersResult.ProtoReflect.Descriptor instead.
func (*ListContainersResult) Descriptor() ([]byte, []int) {
	return file_cloud_proto_rawDescGZIP(), []int{11}
}

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"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *ContainerStatEntry) Reset() {
	*x = ContainerStatEntry{}
	mi := &file_cloud_proto_msgTypes[12]
	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[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 ContainerStatEntry.ProtoReflect.Descriptor instead.
func (*ContainerStatEntry) Descriptor() ([]byte, []int) {
	return file_cloud_proto_rawDescGZIP(), []int{12}
}

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 ""
}

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[13]
	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[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 ContainerStatsResult.ProtoReflect.Descriptor instead.
func (*ContainerStatsResult) Descriptor() ([]byte, []int) {
	return file_cloud_proto_rawDescGZIP(), []int{13}
}

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[14]
	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[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 LogEntry.ProtoReflect.Descriptor instead.
func (*LogEntry) Descriptor() ([]byte, []int) {
	return file_cloud_proto_rawDescGZIP(), []int{14}
}

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[15]
	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[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 FetchLogsResult.ProtoReflect.Descriptor instead.
func (*FetchLogsResult) Descriptor() ([]byte, []int) {
	return file_cloud_proto_rawDescGZIP(), []int{15}
}

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[16]
	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[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 InspectContainerResult.ProtoReflect.Descriptor instead.
func (*InspectContainerResult) Descriptor() ([]byte, []int) {
	return file_cloud_proto_rawDescGZIP(), []int{16}
}

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[17]
	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[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 ActionResult.ProtoReflect.Descriptor instead.
func (*ActionResult) Descriptor() ([]byte, []int) {
	return file_cloud_proto_rawDescGZIP(), []int{17}
}

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 ""
}

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\"\xa8\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\bcallToolB\x06\n" +
	"\x04type\"\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\"o\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\"L\n" +
	"\x0fCallToolRequest\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12%\n" +
	"\x0earguments_json\x18\x02 \x01(\tR\rargumentsJson\"\x82\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\x10inspectContainerB\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\"\x9a\x02\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\"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\amessage2M\n" +
	"\x10CloudToolService\x129\n" +
	"\n" +
	"ToolStream\x12\x13.cloud.ToolResponse\x1a\x12.cloud.ToolRequest(\x010\x01B&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_msgTypes = make([]protoimpl.MessageInfo, 19)
var file_cloud_proto_goTypes = []any{
	(*ToolRequest)(nil),            // 0: cloud.ToolRequest
	(*ToolResponse)(nil),           // 1: cloud.ToolResponse
	(*ListToolsRequest)(nil),       // 2: cloud.ListToolsRequest
	(*ListToolsResponse)(nil),      // 3: cloud.ListToolsResponse
	(*ToolDefinition)(nil),         // 4: cloud.ToolDefinition
	(*CallToolRequest)(nil),        // 5: cloud.CallToolRequest
	(*CallToolResponse)(nil),       // 6: cloud.CallToolResponse
	(*CancelStreamRequest)(nil),    // 7: cloud.CancelStreamRequest
	(*HostInfo)(nil),               // 8: cloud.HostInfo
	(*ListHostsResult)(nil),        // 9: cloud.ListHostsResult
	(*ContainerInfo)(nil),          // 10: cloud.ContainerInfo
	(*ListContainersResult)(nil),   // 11: cloud.ListContainersResult
	(*ContainerStatEntry)(nil),     // 12: cloud.ContainerStatEntry
	(*ContainerStatsResult)(nil),   // 13: cloud.ContainerStatsResult
	(*LogEntry)(nil),               // 14: cloud.LogEntry
	(*FetchLogsResult)(nil),        // 15: cloud.FetchLogsResult
	(*InspectContainerResult)(nil), // 16: cloud.InspectContainerResult
	(*ActionResult)(nil),           // 17: cloud.ActionResult
	nil,                            // 18: cloud.InspectContainerResult.LabelsEntry
}
var file_cloud_proto_depIdxs = []int32{
	2,  // 0: cloud.ToolRequest.list_tools:type_name -> cloud.ListToolsRequest
	5,  // 1: cloud.ToolRequest.call_tool:type_name -> cloud.CallToolRequest
	7,  // 2: cloud.ToolRequest.cancel_stream:type_name -> cloud.CancelStreamRequest
	3,  // 3: cloud.ToolResponse.list_tools:type_name -> cloud.ListToolsResponse
	6,  // 4: cloud.ToolResponse.call_tool:type_name -> cloud.CallToolResponse
	4,  // 5: cloud.ListToolsResponse.tools:type_name -> cloud.ToolDefinition
	9,  // 6: cloud.CallToolResponse.list_hosts:type_name -> cloud.ListHostsResult
	11, // 7: cloud.CallToolResponse.list_containers:type_name -> cloud.ListContainersResult
	13, // 8: cloud.CallToolResponse.container_stats:type_name -> cloud.ContainerStatsResult
	17, // 9: cloud.CallToolResponse.action:type_name -> cloud.ActionResult
	15, // 10: cloud.CallToolResponse.fetch_logs:type_name -> cloud.FetchLogsResult
	16, // 11: cloud.CallToolResponse.inspect_container:type_name -> cloud.InspectContainerResult
	8,  // 12: cloud.ListHostsResult.hosts:type_name -> cloud.HostInfo
	10, // 13: cloud.ListContainersResult.containers:type_name -> cloud.ContainerInfo
	12, // 14: cloud.ContainerStatsResult.stats:type_name -> cloud.ContainerStatEntry
	14, // 15: cloud.FetchLogsResult.entries:type_name -> cloud.LogEntry
	18, // 16: cloud.InspectContainerResult.labels:type_name -> cloud.InspectContainerResult.LabelsEntry
	1,  // 17: cloud.CloudToolService.ToolStream:input_type -> cloud.ToolResponse
	0,  // 18: cloud.CloudToolService.ToolStream:output_type -> cloud.ToolRequest
	18, // [18:19] is the sub-list for method output_type
	17, // [17:18] is the sub-list for method input_type
	17, // [17:17] is the sub-list for extension type_name
	17, // [17:17] is the sub-list for extension extendee
	0,  // [0:17] 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),
	}
	file_cloud_proto_msgTypes[6].OneofWrappers = []any{
		(*CallToolResponse_ListHosts)(nil),
		(*CallToolResponse_ListContainers)(nil),
		(*CallToolResponse_ContainerStats)(nil),
		(*CallToolResponse_Action)(nil),
		(*CallToolResponse_FetchLogs)(nil),
		(*CallToolResponse_InspectContainer)(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:      0,
			NumMessages:   19,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_cloud_proto_goTypes,
		DependencyIndexes: file_cloud_proto_depIdxs,
		MessageInfos:      file_cloud_proto_msgTypes,
	}.Build()
	File_cloud_proto = out.File
	file_cloud_proto_goTypes = nil
	file_cloud_proto_depIdxs = nil
}
