// External scaler protobuf definition from KEDA
// Source: https://github.com/kedacore/keda/blob/main/pkg/scalers/externalscaler/externalscaler.proto

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.7
// 	protoc        (unknown)
// source: externalscaler.proto

package externalscaler

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 ScaledObjectRef struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Name           string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Namespace      string                 `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
	ScalerMetadata map[string]string      `protobuf:"bytes,3,rep,name=scalerMetadata,proto3" json:"scalerMetadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *ScaledObjectRef) Reset() {
	*x = ScaledObjectRef{}
	mi := &file_externalscaler_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ScaledObjectRef) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ScaledObjectRef) ProtoMessage() {}

func (x *ScaledObjectRef) ProtoReflect() protoreflect.Message {
	mi := &file_externalscaler_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 ScaledObjectRef.ProtoReflect.Descriptor instead.
func (*ScaledObjectRef) Descriptor() ([]byte, []int) {
	return file_externalscaler_proto_rawDescGZIP(), []int{0}
}

func (x *ScaledObjectRef) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *ScaledObjectRef) GetNamespace() string {
	if x != nil {
		return x.Namespace
	}
	return ""
}

func (x *ScaledObjectRef) GetScalerMetadata() map[string]string {
	if x != nil {
		return x.ScalerMetadata
	}
	return nil
}

type IsActiveResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Result        bool                   `protobuf:"varint,1,opt,name=result,proto3" json:"result,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *IsActiveResponse) Reset() {
	*x = IsActiveResponse{}
	mi := &file_externalscaler_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *IsActiveResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*IsActiveResponse) ProtoMessage() {}

func (x *IsActiveResponse) ProtoReflect() protoreflect.Message {
	mi := &file_externalscaler_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 IsActiveResponse.ProtoReflect.Descriptor instead.
func (*IsActiveResponse) Descriptor() ([]byte, []int) {
	return file_externalscaler_proto_rawDescGZIP(), []int{1}
}

func (x *IsActiveResponse) GetResult() bool {
	if x != nil {
		return x.Result
	}
	return false
}

type GetMetricSpecResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	MetricSpecs   []*MetricSpec          `protobuf:"bytes,1,rep,name=metricSpecs,proto3" json:"metricSpecs,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetMetricSpecResponse) Reset() {
	*x = GetMetricSpecResponse{}
	mi := &file_externalscaler_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetMetricSpecResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetMetricSpecResponse) ProtoMessage() {}

func (x *GetMetricSpecResponse) ProtoReflect() protoreflect.Message {
	mi := &file_externalscaler_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 GetMetricSpecResponse.ProtoReflect.Descriptor instead.
func (*GetMetricSpecResponse) Descriptor() ([]byte, []int) {
	return file_externalscaler_proto_rawDescGZIP(), []int{2}
}

func (x *GetMetricSpecResponse) GetMetricSpecs() []*MetricSpec {
	if x != nil {
		return x.MetricSpecs
	}
	return nil
}

type MetricSpec struct {
	state      protoimpl.MessageState `protogen:"open.v1"`
	MetricName string                 `protobuf:"bytes,1,opt,name=metricName,proto3" json:"metricName,omitempty"`
	// deprecated, use targetSizeFloat instead
	TargetSize      int64   `protobuf:"varint,2,opt,name=targetSize,proto3" json:"targetSize,omitempty"`
	TargetSizeFloat float64 `protobuf:"fixed64,3,opt,name=targetSizeFloat,proto3" json:"targetSizeFloat,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *MetricSpec) Reset() {
	*x = MetricSpec{}
	mi := &file_externalscaler_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MetricSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MetricSpec) ProtoMessage() {}

func (x *MetricSpec) ProtoReflect() protoreflect.Message {
	mi := &file_externalscaler_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 MetricSpec.ProtoReflect.Descriptor instead.
func (*MetricSpec) Descriptor() ([]byte, []int) {
	return file_externalscaler_proto_rawDescGZIP(), []int{3}
}

func (x *MetricSpec) GetMetricName() string {
	if x != nil {
		return x.MetricName
	}
	return ""
}

func (x *MetricSpec) GetTargetSize() int64 {
	if x != nil {
		return x.TargetSize
	}
	return 0
}

func (x *MetricSpec) GetTargetSizeFloat() float64 {
	if x != nil {
		return x.TargetSizeFloat
	}
	return 0
}

type GetMetricsRequest struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	ScaledObjectRef *ScaledObjectRef       `protobuf:"bytes,1,opt,name=scaledObjectRef,proto3" json:"scaledObjectRef,omitempty"`
	MetricName      string                 `protobuf:"bytes,2,opt,name=metricName,proto3" json:"metricName,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *GetMetricsRequest) Reset() {
	*x = GetMetricsRequest{}
	mi := &file_externalscaler_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetMetricsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetMetricsRequest) ProtoMessage() {}

func (x *GetMetricsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_externalscaler_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 GetMetricsRequest.ProtoReflect.Descriptor instead.
func (*GetMetricsRequest) Descriptor() ([]byte, []int) {
	return file_externalscaler_proto_rawDescGZIP(), []int{4}
}

func (x *GetMetricsRequest) GetScaledObjectRef() *ScaledObjectRef {
	if x != nil {
		return x.ScaledObjectRef
	}
	return nil
}

func (x *GetMetricsRequest) GetMetricName() string {
	if x != nil {
		return x.MetricName
	}
	return ""
}

type GetMetricsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	MetricValues  []*MetricValue         `protobuf:"bytes,1,rep,name=metricValues,proto3" json:"metricValues,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetMetricsResponse) Reset() {
	*x = GetMetricsResponse{}
	mi := &file_externalscaler_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetMetricsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetMetricsResponse) ProtoMessage() {}

func (x *GetMetricsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_externalscaler_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 GetMetricsResponse.ProtoReflect.Descriptor instead.
func (*GetMetricsResponse) Descriptor() ([]byte, []int) {
	return file_externalscaler_proto_rawDescGZIP(), []int{5}
}

func (x *GetMetricsResponse) GetMetricValues() []*MetricValue {
	if x != nil {
		return x.MetricValues
	}
	return nil
}

type MetricValue struct {
	state      protoimpl.MessageState `protogen:"open.v1"`
	MetricName string                 `protobuf:"bytes,1,opt,name=metricName,proto3" json:"metricName,omitempty"`
	// deprecated, use metricValueFloat instead
	MetricValue      int64   `protobuf:"varint,2,opt,name=metricValue,proto3" json:"metricValue,omitempty"`
	MetricValueFloat float64 `protobuf:"fixed64,3,opt,name=metricValueFloat,proto3" json:"metricValueFloat,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *MetricValue) Reset() {
	*x = MetricValue{}
	mi := &file_externalscaler_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MetricValue) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MetricValue) ProtoMessage() {}

func (x *MetricValue) ProtoReflect() protoreflect.Message {
	mi := &file_externalscaler_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 MetricValue.ProtoReflect.Descriptor instead.
func (*MetricValue) Descriptor() ([]byte, []int) {
	return file_externalscaler_proto_rawDescGZIP(), []int{6}
}

func (x *MetricValue) GetMetricName() string {
	if x != nil {
		return x.MetricName
	}
	return ""
}

func (x *MetricValue) GetMetricValue() int64 {
	if x != nil {
		return x.MetricValue
	}
	return 0
}

func (x *MetricValue) GetMetricValueFloat() float64 {
	if x != nil {
		return x.MetricValueFloat
	}
	return 0
}

var File_externalscaler_proto protoreflect.FileDescriptor

const file_externalscaler_proto_rawDesc = "" +
	"\n" +
	"\x14externalscaler.proto\x12\x0eexternalscaler\"\xe3\x01\n" +
	"\x0fScaledObjectRef\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x1c\n" +
	"\tnamespace\x18\x02 \x01(\tR\tnamespace\x12[\n" +
	"\x0escalerMetadata\x18\x03 \x03(\v23.externalscaler.ScaledObjectRef.ScalerMetadataEntryR\x0escalerMetadata\x1aA\n" +
	"\x13ScalerMetadataEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"*\n" +
	"\x10IsActiveResponse\x12\x16\n" +
	"\x06result\x18\x01 \x01(\bR\x06result\"U\n" +
	"\x15GetMetricSpecResponse\x12<\n" +
	"\vmetricSpecs\x18\x01 \x03(\v2\x1a.externalscaler.MetricSpecR\vmetricSpecs\"v\n" +
	"\n" +
	"MetricSpec\x12\x1e\n" +
	"\n" +
	"metricName\x18\x01 \x01(\tR\n" +
	"metricName\x12\x1e\n" +
	"\n" +
	"targetSize\x18\x02 \x01(\x03R\n" +
	"targetSize\x12(\n" +
	"\x0ftargetSizeFloat\x18\x03 \x01(\x01R\x0ftargetSizeFloat\"~\n" +
	"\x11GetMetricsRequest\x12I\n" +
	"\x0fscaledObjectRef\x18\x01 \x01(\v2\x1f.externalscaler.ScaledObjectRefR\x0fscaledObjectRef\x12\x1e\n" +
	"\n" +
	"metricName\x18\x02 \x01(\tR\n" +
	"metricName\"U\n" +
	"\x12GetMetricsResponse\x12?\n" +
	"\fmetricValues\x18\x01 \x03(\v2\x1b.externalscaler.MetricValueR\fmetricValues\"{\n" +
	"\vMetricValue\x12\x1e\n" +
	"\n" +
	"metricName\x18\x01 \x01(\tR\n" +
	"metricName\x12 \n" +
	"\vmetricValue\x18\x02 \x01(\x03R\vmetricValue\x12*\n" +
	"\x10metricValueFloat\x18\x03 \x01(\x01R\x10metricValueFloat2\xec\x02\n" +
	"\x0eExternalScaler\x12O\n" +
	"\bIsActive\x12\x1f.externalscaler.ScaledObjectRef\x1a .externalscaler.IsActiveResponse\"\x00\x12W\n" +
	"\x0eStreamIsActive\x12\x1f.externalscaler.ScaledObjectRef\x1a .externalscaler.IsActiveResponse\"\x000\x01\x12Y\n" +
	"\rGetMetricSpec\x12\x1f.externalscaler.ScaledObjectRef\x1a%.externalscaler.GetMetricSpecResponse\"\x00\x12U\n" +
	"\n" +
	"GetMetrics\x12!.externalscaler.GetMetricsRequest\x1a\".externalscaler.GetMetricsResponse\"\x00B:Z8github.com/cardinalhq/lakerunner/internal/externalscalerb\x06proto3"

var (
	file_externalscaler_proto_rawDescOnce sync.Once
	file_externalscaler_proto_rawDescData []byte
)

func file_externalscaler_proto_rawDescGZIP() []byte {
	file_externalscaler_proto_rawDescOnce.Do(func() {
		file_externalscaler_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_externalscaler_proto_rawDesc), len(file_externalscaler_proto_rawDesc)))
	})
	return file_externalscaler_proto_rawDescData
}

var file_externalscaler_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
var file_externalscaler_proto_goTypes = []any{
	(*ScaledObjectRef)(nil),       // 0: externalscaler.ScaledObjectRef
	(*IsActiveResponse)(nil),      // 1: externalscaler.IsActiveResponse
	(*GetMetricSpecResponse)(nil), // 2: externalscaler.GetMetricSpecResponse
	(*MetricSpec)(nil),            // 3: externalscaler.MetricSpec
	(*GetMetricsRequest)(nil),     // 4: externalscaler.GetMetricsRequest
	(*GetMetricsResponse)(nil),    // 5: externalscaler.GetMetricsResponse
	(*MetricValue)(nil),           // 6: externalscaler.MetricValue
	nil,                           // 7: externalscaler.ScaledObjectRef.ScalerMetadataEntry
}
var file_externalscaler_proto_depIdxs = []int32{
	7, // 0: externalscaler.ScaledObjectRef.scalerMetadata:type_name -> externalscaler.ScaledObjectRef.ScalerMetadataEntry
	3, // 1: externalscaler.GetMetricSpecResponse.metricSpecs:type_name -> externalscaler.MetricSpec
	0, // 2: externalscaler.GetMetricsRequest.scaledObjectRef:type_name -> externalscaler.ScaledObjectRef
	6, // 3: externalscaler.GetMetricsResponse.metricValues:type_name -> externalscaler.MetricValue
	0, // 4: externalscaler.ExternalScaler.IsActive:input_type -> externalscaler.ScaledObjectRef
	0, // 5: externalscaler.ExternalScaler.StreamIsActive:input_type -> externalscaler.ScaledObjectRef
	0, // 6: externalscaler.ExternalScaler.GetMetricSpec:input_type -> externalscaler.ScaledObjectRef
	4, // 7: externalscaler.ExternalScaler.GetMetrics:input_type -> externalscaler.GetMetricsRequest
	1, // 8: externalscaler.ExternalScaler.IsActive:output_type -> externalscaler.IsActiveResponse
	1, // 9: externalscaler.ExternalScaler.StreamIsActive:output_type -> externalscaler.IsActiveResponse
	2, // 10: externalscaler.ExternalScaler.GetMetricSpec:output_type -> externalscaler.GetMetricSpecResponse
	5, // 11: externalscaler.ExternalScaler.GetMetrics:output_type -> externalscaler.GetMetricsResponse
	8, // [8:12] is the sub-list for method output_type
	4, // [4:8] is the sub-list for method input_type
	4, // [4:4] is the sub-list for extension type_name
	4, // [4:4] is the sub-list for extension extendee
	0, // [0:4] is the sub-list for field type_name
}

func init() { file_externalscaler_proto_init() }
func file_externalscaler_proto_init() {
	if File_externalscaler_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_externalscaler_proto_rawDesc), len(file_externalscaler_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   8,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_externalscaler_proto_goTypes,
		DependencyIndexes: file_externalscaler_proto_depIdxs,
		MessageInfos:      file_externalscaler_proto_msgTypes,
	}.Build()
	File_externalscaler_proto = out.File
	file_externalscaler_proto_goTypes = nil
	file_externalscaler_proto_depIdxs = nil
}
