// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.4
// 	protoc        v5.29.0
// source: app/v1/o11y/otelmeter.proto

package v1

import (
	_ "buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate"
	kernel "github.com/aileron-gateway/aileron-gateway/apis/kernel"
	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)
)

// OpenTelemetryMeter resource definition.
// apiVersion="app/v1", kind="OpenTelemetryMeter".
type OpenTelemetryMeter struct {
	state         protoimpl.MessageState  `protogen:"open.v1"`
	APIVersion    string                  `protobuf:"bytes,1,opt,name=APIVersion,json=apiVersion,proto3" json:"APIVersion,omitempty"`
	Kind          string                  `protobuf:"bytes,2,opt,name=Kind,json=kind,proto3" json:"Kind,omitempty"`
	Metadata      *kernel.Metadata        `protobuf:"bytes,3,opt,name=Metadata,json=metadata,proto3" json:"Metadata,omitempty"`
	Spec          *OpenTelemetryMeterSpec `protobuf:"bytes,4,opt,name=Spec,json=spec,proto3" json:"Spec,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*OpenTelemetryMeter) ProtoMessage() {}

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

func (x *OpenTelemetryMeter) GetAPIVersion() string {
	if x != nil {
		return x.APIVersion
	}
	return ""
}

func (x *OpenTelemetryMeter) GetKind() string {
	if x != nil {
		return x.Kind
	}
	return ""
}

func (x *OpenTelemetryMeter) GetMetadata() *kernel.Metadata {
	if x != nil {
		return x.Metadata
	}
	return nil
}

func (x *OpenTelemetryMeter) GetSpec() *OpenTelemetryMeterSpec {
	if x != nil {
		return x.Spec
	}
	return nil
}

// OpenTelemetryMeterSpec is the specifications of the OpenTelemetryMeter object.
type OpenTelemetryMeterSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// [OPTIONAL]
	// ServiceName is the value for "service.name" semantic conventions.
	// If not set or empty, a default value is used.
	// Default is ["gateway"].
	ServiceName string `protobuf:"bytes,1,opt,name=ServiceName,json=serviceName,proto3" json:"ServiceName,omitempty"`
	// [OPTIONAL]
	// LibraryName is the OpenTelemetry meter name.
	// If not set or empty, go package name is used.
	LibraryName string `protobuf:"bytes,2,opt,name=LibraryName,json=libraryName,proto3" json:"LibraryName,omitempty"`
	// [OPTIONAL]
	// PeriodicReader is the configuration of a collector that collects and
	// exports metric data to the exporter at a defined interval.
	// Default configuration is used if not set.
	PeriodicReader *PeriodicReaderSpec `protobuf:"bytes,5,opt,name=PeriodicReader,json=periodicReader,proto3" json:"PeriodicReader,omitempty"`
	// Types that are valid to be assigned to Exporters:
	//
	//	*OpenTelemetryMeterSpec_HTTPExporterSpec
	//	*OpenTelemetryMeterSpec_GRPCExporterSpec
	//	*OpenTelemetryMeterSpec_StdoutExporterSpec
	Exporters     isOpenTelemetryMeterSpec_Exporters `protobuf_oneof:"Exporters"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*OpenTelemetryMeterSpec) ProtoMessage() {}

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

func (x *OpenTelemetryMeterSpec) GetServiceName() string {
	if x != nil {
		return x.ServiceName
	}
	return ""
}

func (x *OpenTelemetryMeterSpec) GetLibraryName() string {
	if x != nil {
		return x.LibraryName
	}
	return ""
}

func (x *OpenTelemetryMeterSpec) GetPeriodicReader() *PeriodicReaderSpec {
	if x != nil {
		return x.PeriodicReader
	}
	return nil
}

func (x *OpenTelemetryMeterSpec) GetExporters() isOpenTelemetryMeterSpec_Exporters {
	if x != nil {
		return x.Exporters
	}
	return nil
}

func (x *OpenTelemetryMeterSpec) GetHTTPExporterSpec() *HTTPMetricsExporterSpec {
	if x != nil {
		if x, ok := x.Exporters.(*OpenTelemetryMeterSpec_HTTPExporterSpec); ok {
			return x.HTTPExporterSpec
		}
	}
	return nil
}

func (x *OpenTelemetryMeterSpec) GetGRPCExporterSpec() *GRPCMetricsExporterSpec {
	if x != nil {
		if x, ok := x.Exporters.(*OpenTelemetryMeterSpec_GRPCExporterSpec); ok {
			return x.GRPCExporterSpec
		}
	}
	return nil
}

func (x *OpenTelemetryMeterSpec) GetStdoutExporterSpec() *StdoutMetricsExporterSpec {
	if x != nil {
		if x, ok := x.Exporters.(*OpenTelemetryMeterSpec_StdoutExporterSpec); ok {
			return x.StdoutExporterSpec
		}
	}
	return nil
}

type isOpenTelemetryMeterSpec_Exporters interface {
	isOpenTelemetryMeterSpec_Exporters()
}

type OpenTelemetryMeterSpec_HTTPExporterSpec struct {
	HTTPExporterSpec *HTTPMetricsExporterSpec `protobuf:"bytes,10,opt,name=HTTPExporterSpec,json=httpExporter,proto3,oneof"`
}

type OpenTelemetryMeterSpec_GRPCExporterSpec struct {
	GRPCExporterSpec *GRPCMetricsExporterSpec `protobuf:"bytes,11,opt,name=GRPCExporterSpec,json=grpcExporter,proto3,oneof"`
}

type OpenTelemetryMeterSpec_StdoutExporterSpec struct {
	StdoutExporterSpec *StdoutMetricsExporterSpec `protobuf:"bytes,12,opt,name=StdoutExporterSpec,json=stdoutExporter,proto3,oneof"`
}

func (*OpenTelemetryMeterSpec_HTTPExporterSpec) isOpenTelemetryMeterSpec_Exporters() {}

func (*OpenTelemetryMeterSpec_GRPCExporterSpec) isOpenTelemetryMeterSpec_Exporters() {}

func (*OpenTelemetryMeterSpec_StdoutExporterSpec) isOpenTelemetryMeterSpec_Exporters() {}

type HTTPMetricsExporterSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// [OPTIONAL]
	// EndpointURL is the target endpoint URL (scheme, host, port, path)
	// the Exporter will connect to.
	// If the OTEL_EXPORTER_OTLP_ENDPOINT or OTEL_EXPORTER_OTLP_METRICS_ENDPOINT environment variable is set,
	// and this option is not passed, that variable value will be used.
	// If both environment variables are set, OTEL_EXPORTER_OTLP_METRICS_ENDPOINT will take precedence.
	// If an environment variable is set, and this option is passed, this option will take precedence.
	// if an environment variable is not set, and this option is not passed, "localhost:4318" will be used.
	// Default is not set.
	EndpointURL string `protobuf:"bytes,1,opt,name=EndpointURL,json=endpointURL,proto3" json:"EndpointURL,omitempty"`
	// [OPTIONAL]
	// Headers is the additional HTTP headers sent with payloads.
	// Default is not set.
	Headers map[string]string `protobuf:"bytes,2,rep,name=Headers,json=headers,proto3" json:"Headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// [OPTIONAL]
	// Compress is the flag to compress data when sending to collectors.
	// Default is [false].
	Compress bool `protobuf:"varint,3,opt,name=Compress,json=compress,proto3" json:"Compress,omitempty"`
	// [OPTIONAL]
	// Insecure is the flag use HTTP instead of HTTPS.
	// Default is [false].
	Insecure bool `protobuf:"varint,4,opt,name=Insecure,json=insecure,proto3" json:"Insecure,omitempty"`
	// [OPTIONAL]
	// TLSConfig is the TLS configuration to use when connecting backend using HTTPS.
	// Default is not set.
	TLSConfig *kernel.TLSConfig `protobuf:"bytes,5,opt,name=TLSConfig,json=tlsConfig,proto3" json:"TLSConfig,omitempty"`
	// [OPTIONAL]
	// Timeout is the timeout seconds of the driver's the max waiting time for
	// the backend to process each spans batch.
	// If zero or negative, or not set, the default will be 10 seconds.
	// Default is not set.
	Timeout int32 `protobuf:"varint,6,opt,name=Timeout,json=timeout,proto3" json:"Timeout,omitempty"`
	// [OPTIONAL]
	// OTLPRetry is the retry policy for transient retry-able errors that may be returned
	// by the target endpoint when exporting a batch of spans.
	// If not set, the default retry policy will be used.
	// It will retry the export 5 seconds after receiving a retry-able error and
	// increase exponentially after each error for no more than a total time of 1 minute.
	// Default is not set.
	OTLPRetry     *OTLPMetricsRetrySpec `protobuf:"bytes,7,opt,name=OTLPRetry,json=otlpRetry,proto3" json:"OTLPRetry,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*HTTPMetricsExporterSpec) ProtoMessage() {}

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

func (x *HTTPMetricsExporterSpec) GetEndpointURL() string {
	if x != nil {
		return x.EndpointURL
	}
	return ""
}

func (x *HTTPMetricsExporterSpec) GetHeaders() map[string]string {
	if x != nil {
		return x.Headers
	}
	return nil
}

func (x *HTTPMetricsExporterSpec) GetCompress() bool {
	if x != nil {
		return x.Compress
	}
	return false
}

func (x *HTTPMetricsExporterSpec) GetInsecure() bool {
	if x != nil {
		return x.Insecure
	}
	return false
}

func (x *HTTPMetricsExporterSpec) GetTLSConfig() *kernel.TLSConfig {
	if x != nil {
		return x.TLSConfig
	}
	return nil
}

func (x *HTTPMetricsExporterSpec) GetTimeout() int32 {
	if x != nil {
		return x.Timeout
	}
	return 0
}

func (x *HTTPMetricsExporterSpec) GetOTLPRetry() *OTLPMetricsRetrySpec {
	if x != nil {
		return x.OTLPRetry
	}
	return nil
}

type GRPCMetricsExporterSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// [OPTIONAL]
	// EndpointURL is the target endpoint URL (scheme, host, port, path)
	// the Exporter will connect to.
	// If the OTEL_EXPORTER_OTLP_ENDPOINT or OTEL_EXPORTER_OTLP_METRICS_ENDPOINT environment variable is set,
	// and this option is not passed, that variable value will be used.
	// If both environment variables are set, OTEL_EXPORTER_OTLP_METRICS_ENDPOINT will take precedence.
	// If an environment variable is set, and this option is passed, this option will take precedence.
	// if an environment variable is not set, and this option is not passed, "localhost:4317" will be used.
	// Default is not set.
	EndpointURL string `protobuf:"bytes,1,opt,name=EndpointURL,json=endpointURL,proto3" json:"EndpointURL,omitempty"`
	// [OPTIONAL]
	// Headers is the additional HTTP headers sent with payloads.
	// Default is not set.
	Headers map[string]string `protobuf:"bytes,2,rep,name=Headers,json=headers,proto3" json:"Headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// [OPTIONAL]
	// Compress is the flag to compress data when sending to collectors.
	// Default is [false].
	Compress bool `protobuf:"varint,3,opt,name=Compress,json=compress,proto3" json:"Compress,omitempty"`
	// [OPTIONAL]
	// Insecure is the flag use HTTP instead of HTTPS.
	// Default is [false].
	Insecure bool `protobuf:"varint,4,opt,name=Insecure,json=insecure,proto3" json:"Insecure,omitempty"`
	// [OPTIONAL]
	// TLSConfig is the TLS configuration to use
	// when connecting backend using HTTPS.
	// Default is not set.
	TLSConfig *kernel.TLSConfig `protobuf:"bytes,5,opt,name=TLSConfig,json=tlsConfig,proto3" json:"TLSConfig,omitempty"`
	// [OPTIONAL]
	// Timeout is the timeout seconds of the driver's the max waiting time for
	// the backend to process each spans batch.
	// If zero or negative, or not set, the default will be 10 seconds.
	// Default is not set.
	Timeout int32 `protobuf:"varint,6,opt,name=Timeout,json=timeout,proto3" json:"Timeout,omitempty"`
	// [OPTIONAL]
	// OTLPRetry is the retry policy for transient retryable errors that may be returned
	// by the target endpoint when exporting a batch of spans.
	// If the target endpoint responds with not only a retryable error,
	// but explicitly returns a backoff time in the response.
	// That time will take precedence over these settings.
	// These settings do not define any network retry strategy.
	// That is entirely handled by the gRPC ClientConn.
	// If not set, the default retry policy will be used.
	// It will retry the export 5 seconds after receiving a retryable error and
	// increase exponentially after each error for no more than a total time of 1 minute.
	// Default is not set.
	OTLPRetry *OTLPMetricsRetrySpec `protobuf:"bytes,7,opt,name=OTLPRetry,json=otlpRetry,proto3" json:"OTLPRetry,omitempty"`
	// [OPTIONAL]
	// ReconnectionPeriod is the minimum amount of time in seconds
	// between connection attempts to the target endpoint.
	// If zero or negative, or not set, this option has no effect.
	// Default is not set.
	ReconnectionPeriod int32 `protobuf:"varint,8,opt,name=ReconnectionPeriod,json=reconnectionPeriod,proto3" json:"ReconnectionPeriod,omitempty"`
	// [OPTIONAL]
	// ServiceConfig is the gRPC service config string.
	// See https://github.com/grpc/grpc/blob/master/doc/service_config.md
	// Default is not set.
	ServiceConfig string `protobuf:"bytes,9,opt,name=ServiceConfig,json=serviceConfig,proto3" json:"ServiceConfig,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GRPCMetricsExporterSpec) ProtoMessage() {}

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

func (x *GRPCMetricsExporterSpec) GetEndpointURL() string {
	if x != nil {
		return x.EndpointURL
	}
	return ""
}

func (x *GRPCMetricsExporterSpec) GetHeaders() map[string]string {
	if x != nil {
		return x.Headers
	}
	return nil
}

func (x *GRPCMetricsExporterSpec) GetCompress() bool {
	if x != nil {
		return x.Compress
	}
	return false
}

func (x *GRPCMetricsExporterSpec) GetInsecure() bool {
	if x != nil {
		return x.Insecure
	}
	return false
}

func (x *GRPCMetricsExporterSpec) GetTLSConfig() *kernel.TLSConfig {
	if x != nil {
		return x.TLSConfig
	}
	return nil
}

func (x *GRPCMetricsExporterSpec) GetTimeout() int32 {
	if x != nil {
		return x.Timeout
	}
	return 0
}

func (x *GRPCMetricsExporterSpec) GetOTLPRetry() *OTLPMetricsRetrySpec {
	if x != nil {
		return x.OTLPRetry
	}
	return nil
}

func (x *GRPCMetricsExporterSpec) GetReconnectionPeriod() int32 {
	if x != nil {
		return x.ReconnectionPeriod
	}
	return 0
}

func (x *GRPCMetricsExporterSpec) GetServiceConfig() string {
	if x != nil {
		return x.ServiceConfig
	}
	return ""
}

type StdoutMetricsExporterSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// [OPTIONAL]
	// PrettyPrint is the flag to prettifies the emitted output.
	// Default is [false].
	PrettyPrint bool `protobuf:"varint,1,opt,name=PrettyPrint,json=prettyPrint,proto3" json:"PrettyPrint,omitempty"`
	// [OPTIONAL]
	// WithoutTimestamps is the flag to make the export stream not include timestamps.
	// Default is [false].
	WithoutTimestamps bool `protobuf:"varint,2,opt,name=WithoutTimestamps,json=timestamps,proto3" json:"WithoutTimestamps,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*StdoutMetricsExporterSpec) ProtoMessage() {}

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

func (x *StdoutMetricsExporterSpec) GetPrettyPrint() bool {
	if x != nil {
		return x.PrettyPrint
	}
	return false
}

func (x *StdoutMetricsExporterSpec) GetWithoutTimestamps() bool {
	if x != nil {
		return x.WithoutTimestamps
	}
	return false
}

type OTLPMetricsRetrySpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// [OPTIONAL]
	// Enabled indicates whether to not retry sending batches in case of export failure.
	// Default is [false].
	Enabled bool `protobuf:"varint,1,opt,name=Enabled,json=enabled,proto3" json:"Enabled,omitempty"`
	// [OPTIONAL]
	// InitialInterval is the time to wait after the first failure before retrying.
	// Value is in seconds.
	// If zero or not set, default value is used.
	// Default is not set.
	InitialInterval int32 `protobuf:"varint,2,opt,name=InitialInterval,json=initialInterval,proto3" json:"InitialInterval,omitempty"`
	// [OPTIONAL]
	// MaxInterval is the upper bound on backoff interval.
	// Once this value is reached the delay between consecutive retries will always be `MaxInterval`.
	// Value is in seconds.
	// If zero or not set, default value is used.
	// Default is not set.
	MaxInterval int32 `protobuf:"varint,3,opt,name=MaxInterval,json=maxInterval,proto3" json:"MaxInterval,omitempty"`
	// [OPTIONAL]
	// MaxElapsedTime is the maximum amount of time (including retries) spent trying to send a request/batch.
	// Once this value is reached, the data is discarded.
	// Value is in seconds.
	// If zero or not set, default value is used.
	// Default is not set.
	MaxElapsedTime int32 `protobuf:"varint,4,opt,name=MaxElapsedTime,json=maxElapsedTime,proto3" json:"MaxElapsedTime,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*OTLPMetricsRetrySpec) ProtoMessage() {}

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

func (x *OTLPMetricsRetrySpec) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *OTLPMetricsRetrySpec) GetInitialInterval() int32 {
	if x != nil {
		return x.InitialInterval
	}
	return 0
}

func (x *OTLPMetricsRetrySpec) GetMaxInterval() int32 {
	if x != nil {
		return x.MaxInterval
	}
	return 0
}

func (x *OTLPMetricsRetrySpec) GetMaxElapsedTime() int32 {
	if x != nil {
		return x.MaxElapsedTime
	}
	return 0
}

type PeriodicReaderSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// [OPTIONAL]
	// Interval is the time interval at which the PeriodicReader exports data.
	// This value determines the frequency with which data is sent out.
	// Value is in seconds.
	// If zero or not set, default value is used.
	// Default is 5 seconds.
	Interval int32 `protobuf:"varint,1,opt,name=Interval,json=interval,proto3" json:"Interval,omitempty"`
	// [OPTIONAL]
	// Timeout is the duration that the PeriodicReader waits until the export completes.
	// Value is in seconds.
	// If zero or not set, default value is used.
	// Default is 30 seconds.
	Timeout       int32 `protobuf:"varint,2,opt,name=Timeout,json=timeout,proto3" json:"Timeout,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*PeriodicReaderSpec) ProtoMessage() {}

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

func (x *PeriodicReaderSpec) GetInterval() int32 {
	if x != nil {
		return x.Interval
	}
	return 0
}

func (x *PeriodicReaderSpec) GetTimeout() int32 {
	if x != nil {
		return x.Timeout
	}
	return 0
}

var File_app_v1_o11y_otelmeter_proto protoreflect.FileDescriptor

var file_app_v1_o11y_otelmeter_proto_rawDesc = string([]byte{
	0x0a, 0x1b, 0x61, 0x70, 0x70, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x31, 0x31, 0x79, 0x2f, 0x6f, 0x74,
	0x65, 0x6c, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x61,
	0x70, 0x70, 0x2e, 0x76, 0x31, 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64,
	0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x1a, 0x15, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75,
	0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x6b, 0x65, 0x72, 0x6e, 0x65,
	0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
	0xaa, 0x01, 0x0a, 0x12, 0x4f, 0x70, 0x65, 0x6e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72,
	0x79, 0x4d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x41, 0x50, 0x49, 0x56, 0x65, 0x72,
	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56,
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x2c, 0x0a, 0x08, 0x4d, 0x65,
	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6b,
	0x65, 0x72, 0x6e, 0x65, 0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08,
	0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x32, 0x0a, 0x04, 0x53, 0x70, 0x65, 0x63,
	0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e,
	0x4f, 0x70, 0x65, 0x6e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x4d, 0x65, 0x74,
	0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0x94, 0x03, 0x0a,
	0x16, 0x4f, 0x70, 0x65, 0x6e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x4d, 0x65,
	0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x4c, 0x69, 0x62,
	0x72, 0x61, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
	0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x42, 0x0a, 0x0e, 0x50,
	0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x05, 0x20,
	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72,
	0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x52,
	0x0e, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12,
	0x49, 0x0a, 0x10, 0x48, 0x54, 0x54, 0x50, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x53,
	0x70, 0x65, 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x70, 0x70, 0x2e,
	0x76, 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x78,
	0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x0c, 0x68, 0x74,
	0x74, 0x70, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x10, 0x47, 0x52,
	0x50, 0x43, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x18, 0x0b,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x52,
	0x50, 0x43, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65,
	0x72, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x0c, 0x67, 0x72, 0x70, 0x63, 0x45, 0x78, 0x70,
	0x6f, 0x72, 0x74, 0x65, 0x72, 0x12, 0x4f, 0x0a, 0x12, 0x53, 0x74, 0x64, 0x6f, 0x75, 0x74, 0x45,
	0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x18, 0x0c, 0x20, 0x01, 0x28,
	0x0b, 0x32, 0x21, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x64, 0x6f, 0x75,
	0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72,
	0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x0e, 0x73, 0x74, 0x64, 0x6f, 0x75, 0x74, 0x45, 0x78,
	0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74,
	0x65, 0x72, 0x73, 0x22, 0xfe, 0x02, 0x0a, 0x17, 0x48, 0x54, 0x54, 0x50, 0x4d, 0x65, 0x74, 0x72,
	0x69, 0x63, 0x73, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12,
	0x20, 0x0a, 0x0b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x55, 0x52, 0x4c, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x55, 0x52,
	0x4c, 0x12, 0x46, 0x0a, 0x07, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50,
	0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x53,
	0x70, 0x65, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
	0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6f, 0x6d,
	0x70, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x6f, 0x6d,
	0x70, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72,
	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72,
	0x65, 0x12, 0x2f, 0x0a, 0x09, 0x54, 0x4c, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x2e, 0x54, 0x4c,
	0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x74, 0x6c, 0x73, 0x43, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x06, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3a, 0x0a, 0x09,
	0x4f, 0x54, 0x4c, 0x50, 0x52, 0x65, 0x74, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1c, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x54, 0x4c, 0x50, 0x4d, 0x65, 0x74,
	0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x70, 0x65, 0x63, 0x52, 0x09, 0x6f,
	0x74, 0x6c, 0x70, 0x52, 0x65, 0x74, 0x72, 0x79, 0x1a, 0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
	0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
	0x3a, 0x02, 0x38, 0x01, 0x22, 0xd4, 0x03, 0x0a, 0x17, 0x47, 0x52, 0x50, 0x43, 0x4d, 0x65, 0x74,
	0x72, 0x69, 0x63, 0x73, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63,
	0x12, 0x20, 0x0a, 0x0b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x55, 0x52, 0x4c, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x55,
	0x52, 0x4c, 0x12, 0x46, 0x0a, 0x07, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20,
	0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x52, 0x50,
	0x43, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72,
	0x53, 0x70, 0x65, 0x63, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72,
	0x79, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6f,
	0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x63, 0x6f,
	0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x49, 0x6e, 0x73, 0x65, 0x63, 0x75,
	0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75,
	0x72, 0x65, 0x12, 0x2f, 0x0a, 0x09, 0x54, 0x4c, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x2e, 0x54,
	0x4c, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, 0x74, 0x6c, 0x73, 0x43, 0x6f, 0x6e,
	0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3a, 0x0a,
	0x09, 0x4f, 0x54, 0x4c, 0x50, 0x52, 0x65, 0x74, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1c, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x54, 0x4c, 0x50, 0x4d, 0x65,
	0x74, 0x72, 0x69, 0x63, 0x73, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x70, 0x65, 0x63, 0x52, 0x09,
	0x6f, 0x74, 0x6c, 0x70, 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, 0x2e, 0x0a, 0x12, 0x52, 0x65, 0x63,
	0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18,
	0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x24, 0x0a, 0x0d, 0x53, 0x65, 0x72,
	0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a,
	0x3a, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
	0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65,
	0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x64, 0x0a, 0x19, 0x53,
	0x74, 0x64, 0x6f, 0x75, 0x74, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x45, 0x78, 0x70, 0x6f,
	0x72, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x20, 0x0a, 0x0b, 0x50, 0x72, 0x65, 0x74,
	0x74, 0x79, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70,
	0x72, 0x65, 0x74, 0x74, 0x79, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x11, 0x57, 0x69,
	0x74, 0x68, 0x6f, 0x75, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
	0x73, 0x22, 0xc8, 0x01, 0x0a, 0x14, 0x4f, 0x54, 0x4c, 0x50, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63,
	0x73, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x18, 0x0a, 0x07, 0x45, 0x6e,
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61,
	0x62, 0x6c, 0x65, 0x64, 0x12, 0x34, 0x0a, 0x0f, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x49,
	0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x0a, 0xba,
	0x48, 0x07, 0x1a, 0x05, 0x18, 0xd8, 0x04, 0x28, 0x00, 0x52, 0x0f, 0x69, 0x6e, 0x69, 0x74, 0x69,
	0x61, 0x6c, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x2c, 0x0a, 0x0b, 0x4d, 0x61,
	0x78, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x42,
	0x0a, 0xba, 0x48, 0x07, 0x1a, 0x05, 0x18, 0xd8, 0x04, 0x28, 0x00, 0x52, 0x0b, 0x6d, 0x61, 0x78,
	0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x32, 0x0a, 0x0e, 0x4d, 0x61, 0x78, 0x45,
	0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
	0x42, 0x0a, 0xba, 0x48, 0x07, 0x1a, 0x05, 0x18, 0x88, 0x0e, 0x28, 0x00, 0x52, 0x0e, 0x6d, 0x61,
	0x78, 0x45, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x62, 0x0a, 0x12,
	0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x69, 0x63, 0x52, 0x65, 0x61, 0x64, 0x65, 0x72, 0x53, 0x70,
	0x65, 0x63, 0x12, 0x26, 0x0a, 0x08, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x05, 0x42, 0x0a, 0xba, 0x48, 0x07, 0x1a, 0x05, 0x18, 0xd8, 0x04, 0x28, 0x00,
	0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x24, 0x0a, 0x07, 0x54, 0x69,
	0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x0a, 0xba, 0x48, 0x07,
	0x1a, 0x05, 0x18, 0xac, 0x02, 0x28, 0x00, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
	0x42, 0x38, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61,
	0x69, 0x6c, 0x65, 0x72, 0x6f, 0x6e, 0x2d, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2f, 0x61,
	0x69, 0x6c, 0x65, 0x72, 0x6f, 0x6e, 0x2d, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2f, 0x61,
	0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x33,
})

var (
	file_app_v1_o11y_otelmeter_proto_rawDescOnce sync.Once
	file_app_v1_o11y_otelmeter_proto_rawDescData []byte
)

func file_app_v1_o11y_otelmeter_proto_rawDescGZIP() []byte {
	file_app_v1_o11y_otelmeter_proto_rawDescOnce.Do(func() {
		file_app_v1_o11y_otelmeter_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_app_v1_o11y_otelmeter_proto_rawDesc), len(file_app_v1_o11y_otelmeter_proto_rawDesc)))
	})
	return file_app_v1_o11y_otelmeter_proto_rawDescData
}

var file_app_v1_o11y_otelmeter_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_app_v1_o11y_otelmeter_proto_goTypes = []any{
	(*OpenTelemetryMeter)(nil),        // 0: app.v1.OpenTelemetryMeter
	(*OpenTelemetryMeterSpec)(nil),    // 1: app.v1.OpenTelemetryMeterSpec
	(*HTTPMetricsExporterSpec)(nil),   // 2: app.v1.HTTPMetricsExporterSpec
	(*GRPCMetricsExporterSpec)(nil),   // 3: app.v1.GRPCMetricsExporterSpec
	(*StdoutMetricsExporterSpec)(nil), // 4: app.v1.StdoutMetricsExporterSpec
	(*OTLPMetricsRetrySpec)(nil),      // 5: app.v1.OTLPMetricsRetrySpec
	(*PeriodicReaderSpec)(nil),        // 6: app.v1.PeriodicReaderSpec
	nil,                               // 7: app.v1.HTTPMetricsExporterSpec.HeadersEntry
	nil,                               // 8: app.v1.GRPCMetricsExporterSpec.HeadersEntry
	(*kernel.Metadata)(nil),           // 9: kernel.Metadata
	(*kernel.TLSConfig)(nil),          // 10: kernel.TLSConfig
}
var file_app_v1_o11y_otelmeter_proto_depIdxs = []int32{
	9,  // 0: app.v1.OpenTelemetryMeter.Metadata:type_name -> kernel.Metadata
	1,  // 1: app.v1.OpenTelemetryMeter.Spec:type_name -> app.v1.OpenTelemetryMeterSpec
	6,  // 2: app.v1.OpenTelemetryMeterSpec.PeriodicReader:type_name -> app.v1.PeriodicReaderSpec
	2,  // 3: app.v1.OpenTelemetryMeterSpec.HTTPExporterSpec:type_name -> app.v1.HTTPMetricsExporterSpec
	3,  // 4: app.v1.OpenTelemetryMeterSpec.GRPCExporterSpec:type_name -> app.v1.GRPCMetricsExporterSpec
	4,  // 5: app.v1.OpenTelemetryMeterSpec.StdoutExporterSpec:type_name -> app.v1.StdoutMetricsExporterSpec
	7,  // 6: app.v1.HTTPMetricsExporterSpec.Headers:type_name -> app.v1.HTTPMetricsExporterSpec.HeadersEntry
	10, // 7: app.v1.HTTPMetricsExporterSpec.TLSConfig:type_name -> kernel.TLSConfig
	5,  // 8: app.v1.HTTPMetricsExporterSpec.OTLPRetry:type_name -> app.v1.OTLPMetricsRetrySpec
	8,  // 9: app.v1.GRPCMetricsExporterSpec.Headers:type_name -> app.v1.GRPCMetricsExporterSpec.HeadersEntry
	10, // 10: app.v1.GRPCMetricsExporterSpec.TLSConfig:type_name -> kernel.TLSConfig
	5,  // 11: app.v1.GRPCMetricsExporterSpec.OTLPRetry:type_name -> app.v1.OTLPMetricsRetrySpec
	12, // [12:12] is the sub-list for method output_type
	12, // [12:12] is the sub-list for method input_type
	12, // [12:12] is the sub-list for extension type_name
	12, // [12:12] is the sub-list for extension extendee
	0,  // [0:12] is the sub-list for field type_name
}

func init() { file_app_v1_o11y_otelmeter_proto_init() }
func file_app_v1_o11y_otelmeter_proto_init() {
	if File_app_v1_o11y_otelmeter_proto != nil {
		return
	}
	file_app_v1_o11y_otelmeter_proto_msgTypes[1].OneofWrappers = []any{
		(*OpenTelemetryMeterSpec_HTTPExporterSpec)(nil),
		(*OpenTelemetryMeterSpec_GRPCExporterSpec)(nil),
		(*OpenTelemetryMeterSpec_StdoutExporterSpec)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_app_v1_o11y_otelmeter_proto_rawDesc), len(file_app_v1_o11y_otelmeter_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   9,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_app_v1_o11y_otelmeter_proto_goTypes,
		DependencyIndexes: file_app_v1_o11y_otelmeter_proto_depIdxs,
		MessageInfos:      file_app_v1_o11y_otelmeter_proto_msgTypes,
	}.Build()
	File_app_v1_o11y_otelmeter_proto = out.File
	file_app_v1_o11y_otelmeter_proto_goTypes = nil
	file_app_v1_o11y_otelmeter_proto_depIdxs = nil
}
