func (*HorizontalRecommendationRequest) Descriptor() ([]byte, []int) {
	return file_skplug_proto_rawDescGZIP(), []int{9}
}
Deprecated: Use HorizontalRecommendationRequest.ProtoReflect.Descriptor instead.
package proto
import (
	context "context"
	proto "github.com/golang/protobuf/proto"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)
const (
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
const _ = proto.ProtoPackageIsVersion4
type EventType int32
const (
	EventType_CREATE EventType = 0
	EventType_UPDATE EventType = 1
	EventType_DELETE EventType = 2
)
var (
	EventType_name = map[int32]string{
		0: "CREATE",
		1: "UPDATE",
		2: "DELETE",
	}
	EventType_value = map[string]int32{
		"CREATE": 0,
		"UPDATE": 1,
		"DELETE": 2,
	}
)
func (x EventType) Enum() *EventType {
	p := new(EventType)
	*p = x
	return p
}
func (x EventType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (EventType) Descriptor() protoreflect.EnumDescriptor {
	return file_skplug_proto_enumTypes[0].Descriptor()
}
func (EventType) Type() protoreflect.EnumType {
	return &file_skplug_proto_enumTypes[0]
}
func (x EventType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}
func (EventType) EnumDescriptor() ([]byte, []int) {
	return file_skplug_proto_rawDescGZIP(), []int{0}
}
type MetricType int32
const (
	MetricType_CPU_MILLIS                 MetricType = 0
	MetricType_CONCURRENT_REQUESTS_MILLIS MetricType = 1
)
var (
	MetricType_name = map[int32]string{
		0: "CPU_MILLIS",
		1: "CONCURRENT_REQUESTS_MILLIS",
	}
	MetricType_value = map[string]int32{
		"CPU_MILLIS":                 0,
		"CONCURRENT_REQUESTS_MILLIS": 1,
	}
)
func (x MetricType) Enum() *MetricType {
	p := new(MetricType)
	*p = x
	return p
}
func (x MetricType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (MetricType) Descriptor() protoreflect.EnumDescriptor {
	return file_skplug_proto_enumTypes[1].Descriptor()
}
func (MetricType) Type() protoreflect.EnumType {
	return &file_skplug_proto_enumTypes[1]
}
func (x MetricType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}
func (MetricType) EnumDescriptor() ([]byte, []int) {
	return file_skplug_proto_rawDescGZIP(), []int{1}
}
type Capability int32
const (
	Capability_EVENT                     Capability = 0
	Capability_STAT                      Capability = 1
	Capability_VERTICAL_RECOMMENDATION   Capability = 2
	Capability_HORIZONTAL_RECOMMENDATION Capability = 3
)
var (
	Capability_name = map[int32]string{
		0: "EVENT",
		1: "STAT",
		2: "VERTICAL_RECOMMENDATION",
		3: "HORIZONTAL_RECOMMENDATION",
	}
	Capability_value = map[string]int32{
		"EVENT":                     0,
		"STAT":                      1,
		"VERTICAL_RECOMMENDATION":   2,
		"HORIZONTAL_RECOMMENDATION": 3,
	}
)
func (x Capability) Enum() *Capability {
	p := new(Capability)
	*p = x
	return p
}
func (x Capability) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Capability) Descriptor() protoreflect.EnumDescriptor {
	return file_skplug_proto_enumTypes[2].Descriptor()
}
func (Capability) Type() protoreflect.EnumType {
	return &file_skplug_proto_enumTypes[2]
}
func (x Capability) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}
func (Capability) EnumDescriptor() ([]byte, []int) {
	return file_skplug_proto_rawDescGZIP(), []int{2}
}
type Empty struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}
func (x *Empty) Reset() {
	*x = Empty{}
	if protoimpl.UnsafeEnabled {
		mi := &file_skplug_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}
func (x *Empty) String() string {
	return protoimpl.X.MessageStringOf(x)
}
func (*Empty) ProtoMessage() {}
func (x *Empty) ProtoReflect() protoreflect.Message {
	mi := &file_skplug_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}
func (*Empty) Descriptor() ([]byte, []int) {
	return file_skplug_proto_rawDescGZIP(), []int{0}
}
type Autoscaler struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	Yaml string `protobuf:"bytes,2,opt,name=yaml,proto3" json:"yaml,omitempty"`
}
func (x *Autoscaler) Reset() {
	*x = Autoscaler{}
	if protoimpl.UnsafeEnabled {
		mi := &file_skplug_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}
func (x *Autoscaler) String() string {
	return protoimpl.X.MessageStringOf(x)
}
func (*Autoscaler) ProtoMessage() {}
func (x *Autoscaler) ProtoReflect() protoreflect.Message {
	mi := &file_skplug_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}
func (*Autoscaler) Descriptor() ([]byte, []int) {
	return file_skplug_proto_rawDescGZIP(), []int{1}
}
func (x *Autoscaler) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}
func (x *Autoscaler) GetYaml() string {
	if x != nil {
		return x.Yaml
	}
	return ""
}
type Pod struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
	Name           string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	State          string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
	LastTransition int64  `protobuf:"varint,3,opt,name=last_transition,json=lastTransition,proto3" json:"last_transition,omitempty"`
	CpuRequest     int32  `protobuf:"varint,4,opt,name=cpu_request,json=cpuRequest,proto3" json:"cpu_request,omitempty"`
}
func (x *Pod) Reset() {
	*x = Pod{}
	if protoimpl.UnsafeEnabled {
		mi := &file_skplug_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}
func (x *Pod) String() string {
	return protoimpl.X.MessageStringOf(x)
}
func (*Pod) ProtoMessage() {}
func (x *Pod) ProtoReflect() protoreflect.Message {
	mi := &file_skplug_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}
func (*Pod) Descriptor() ([]byte, []int) {
	return file_skplug_proto_rawDescGZIP(), []int{2}
}
func (x *Pod) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}
func (x *Pod) GetState() string {
	if x != nil {
		return x.State
	}
	return ""
}
func (x *Pod) GetLastTransition() int64 {
	if x != nil {
		return x.LastTransition
	}
	return 0
}
func (x *Pod) GetCpuRequest() int32 {
	if x != nil {
		return x.CpuRequest
	}
	return 0
}
type EventRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
	Partition string    `protobuf:"bytes,1,opt,name=partition,proto3" json:"partition,omitempty"`
	Time      int64     `protobuf:"varint,2,opt,name=time,proto3" json:"time,omitempty"`
	Type      EventType `protobuf:"varint,3,opt,name=type,proto3,enum=proto.EventType" json:"type,omitempty"`
	ObjectOneof isEventRequest_ObjectOneof `protobuf_oneof:"object_oneof"`
}
func (x *EventRequest) Reset() {
	*x = EventRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_skplug_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}
func (x *EventRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}
func (*EventRequest) ProtoMessage() {}
func (x *EventRequest) ProtoReflect() protoreflect.Message {
	mi := &file_skplug_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}
func (*EventRequest) Descriptor() ([]byte, []int) {
	return file_skplug_proto_rawDescGZIP(), []int{3}
}
func (x *EventRequest) GetPartition() string {
	if x != nil {
		return x.Partition
	}
	return ""
}
func (x *EventRequest) GetTime() int64 {
	if x != nil {
		return x.Time
	}
	return 0
}
func (x *EventRequest) GetType() EventType {
	if x != nil {
		return x.Type
	}
	return EventType_CREATE
}
func (m *EventRequest) GetObjectOneof() isEventRequest_ObjectOneof {
	if m != nil {
		return m.ObjectOneof
	}
	return nil
}
func (x *EventRequest) GetAutoscaler() *Autoscaler {
	if x, ok := x.GetObjectOneof().(*EventRequest_Autoscaler); ok {
		return x.Autoscaler
	}
	return nil
}
func (x *EventRequest) GetPod() *Pod {
	if x, ok := x.GetObjectOneof().(*EventRequest_Pod); ok {
		return x.Pod
	}
	return nil
}
type isEventRequest_ObjectOneof interface {
	isEventRequest_ObjectOneof()
}
type EventRequest_Autoscaler struct {
	Autoscaler *Autoscaler `protobuf:"bytes,4,opt,name=autoscaler,proto3,oneof"`
}
type EventRequest_Pod struct {
	Pod *Pod `protobuf:"bytes,5,opt,name=pod,proto3,oneof"`
}
func (*EventRequest_Autoscaler) isEventRequest_ObjectOneof() {}
func (*EventRequest_Pod) isEventRequest_ObjectOneof() {}
type Stat struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
	Time    int64      `protobuf:"varint,1,opt,name=time,proto3" json:"time,omitempty"`
	PodName string     `protobuf:"bytes,2,opt,name=pod_name,json=podName,proto3" json:"pod_name,omitempty"`
	Type    MetricType `protobuf:"varint,3,opt,name=type,proto3,enum=proto.MetricType" json:"type,omitempty"`
	Value   int32      `protobuf:"varint,4,opt,name=value,proto3" json:"value,omitempty"`
}
func (x *Stat) Reset() {
	*x = Stat{}
	if protoimpl.UnsafeEnabled {
		mi := &file_skplug_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}
func (x *Stat) String() string {
	return protoimpl.X.MessageStringOf(x)
}
func (*Stat) ProtoMessage() {}
func (x *Stat) ProtoReflect() protoreflect.Message {
	mi := &file_skplug_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}
func (*Stat) Descriptor() ([]byte, []int) {
	return file_skplug_proto_rawDescGZIP(), []int{4}
}
func (x *Stat) GetTime() int64 {
	if x != nil {
		return x.Time
	}
	return 0
}
func (x *Stat) GetPodName() string {
	if x != nil {
		return x.PodName
	}
	return ""
}
func (x *Stat) GetType() MetricType {
	if x != nil {
		return x.Type
	}
	return MetricType_CPU_MILLIS
}
func (x *Stat) GetValue() int32 {
	if x != nil {
		return x.Value
	}
	return 0
}
type StatRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
	Partition string  `protobuf:"bytes,1,opt,name=partition,proto3" json:"partition,omitempty"`
	Stat      []*Stat `protobuf:"bytes,2,rep,name=stat,proto3" json:"stat,omitempty"`
}
func (x *StatRequest) Reset() {
	*x = StatRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_skplug_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}
func (x *StatRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}
func (*StatRequest) ProtoMessage() {}
func (x *StatRequest) ProtoReflect() protoreflect.Message {
	mi := &file_skplug_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}
func (*StatRequest) Descriptor() ([]byte, []int) {
	return file_skplug_proto_rawDescGZIP(), []int{5}
}
func (x *StatRequest) GetPartition() string {
	if x != nil {
		return x.Partition
	}
	return ""
}
func (x *StatRequest) GetStat() []*Stat {
	if x != nil {
		return x.Stat
	}
	return nil
}
type VerticalRecommendationRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
	Partition string `protobuf:"bytes,1,opt,name=partition,proto3" json:"partition,omitempty"`
	TimeNanos int64  `protobuf:"varint,2,opt,name=time_nanos,json=timeNanos,proto3" json:"time_nanos,omitempty"`
}
func (x *VerticalRecommendationRequest) Reset() {
	*x = VerticalRecommendationRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_skplug_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}
func (x *VerticalRecommendationRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}
func (*VerticalRecommendationRequest) ProtoMessage() {}
func (x *VerticalRecommendationRequest) ProtoReflect() protoreflect.Message {
	mi := &file_skplug_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}
func (*VerticalRecommendationRequest) Descriptor() ([]byte, []int) {
	return file_skplug_proto_rawDescGZIP(), []int{6}
}
func (x *VerticalRecommendationRequest) GetPartition() string {
	if x != nil {
		return x.Partition
	}
	return ""
}
func (x *VerticalRecommendationRequest) GetTimeNanos() int64 {
	if x != nil {
		return x.TimeNanos
	}
	return 0
}
type VerticalRecommendationResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
	Rec []*RecommendedPodResources `protobuf:"bytes,1,rep,name=rec,proto3" json:"rec,omitempty"`
}
func (x *VerticalRecommendationResponse) Reset() {
	*x = VerticalRecommendationResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_skplug_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}
func (x *VerticalRecommendationResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}
func (*VerticalRecommendationResponse) ProtoMessage() {}
func (x *VerticalRecommendationResponse) ProtoReflect() protoreflect.Message {
	mi := &file_skplug_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}
func (*VerticalRecommendationResponse) Descriptor() ([]byte, []int) {
	return file_skplug_proto_rawDescGZIP(), []int{7}
}
func (x *VerticalRecommendationResponse) GetRec() []*RecommendedPodResources {
	if x != nil {
		return x.Rec
	}
	return nil
}
type RecommendedPodResources struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
	LowerBound   int64  `protobuf:"varint,2,opt,name=lower_bound,json=lowerBound,proto3" json:"lower_bound,omitempty"`
	UpperBound   int64  `protobuf:"varint,3,opt,name=upper_bound,json=upperBound,proto3" json:"upper_bound,omitempty"`
	Target       int64  `protobuf:"varint,4,opt,name=target,proto3" json:"target,omitempty"`
	ResourceName string `protobuf:"bytes,5,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
}
func (x *RecommendedPodResources) Reset() {
	*x = RecommendedPodResources{}
	if protoimpl.UnsafeEnabled {
		mi := &file_skplug_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}
func (x *RecommendedPodResources) String() string {
	return protoimpl.X.MessageStringOf(x)
}
func (*RecommendedPodResources) ProtoMessage() {}
func (x *RecommendedPodResources) ProtoReflect() protoreflect.Message {
	mi := &file_skplug_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}
func (*RecommendedPodResources) Descriptor() ([]byte, []int) {
	return file_skplug_proto_rawDescGZIP(), []int{8}
}
func (x *RecommendedPodResources) GetLowerBound() int64 {
	if x != nil {
		return x.LowerBound
	}
	return 0
}
func (x *RecommendedPodResources) GetUpperBound() int64 {
	if x != nil {
		return x.UpperBound
	}
	return 0
}
func (x *RecommendedPodResources) GetTarget() int64 {
	if x != nil {
		return x.Target
	}
	return 0
}
func (x *RecommendedPodResources) GetResourceName() string {
	if x != nil {
		return x.ResourceName
	}
	return ""
}
type HorizontalRecommendationRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
	Partition string `protobuf:"bytes,1,opt,name=partition,proto3" json:"partition,omitempty"`
	TimeNanos int64  `protobuf:"varint,2,opt,name=time_nanos,json=timeNanos,proto3" json:"time_nanos,omitempty"`
}
func (x *HorizontalRecommendationRequest) Reset() {
	*x = HorizontalRecommendationRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_skplug_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}
func (x *HorizontalRecommendationRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}
func (*HorizontalRecommendationRequest) ProtoMessage() {}
func (x *HorizontalRecommendationRequest) ProtoReflect() protoreflect.Message {
	mi := &file_skplug_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}