// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.4
// 	protoc        v5.29.0
// source: app/v1/o11y/oteltracer.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)
)

type PropagationType int32

const (
	PropagationType_W3CTraceContext PropagationType = 0 // W3C Trace Context format
	PropagationType_W3CBaggage      PropagationType = 1 // W3C Baggage format
	PropagationType_B3              PropagationType = 2 // B3 format
	PropagationType_Jaeger          PropagationType = 3 // Jaeger format
	PropagationType_XRay            PropagationType = 4 // AWS X-Ray format
	PropagationType_OpenCensus      PropagationType = 5 // OpenCensus Binary format
	PropagationType_OpenTracing     PropagationType = 6 // OpenTracing format
)

// Enum value maps for PropagationType.
var (
	PropagationType_name = map[int32]string{
		0: "W3CTraceContext",
		1: "W3CBaggage",
		2: "B3",
		3: "Jaeger",
		4: "XRay",
		5: "OpenCensus",
		6: "OpenTracing",
	}
	PropagationType_value = map[string]int32{
		"W3CTraceContext": 0,
		"W3CBaggage":      1,
		"B3":              2,
		"Jaeger":          3,
		"XRay":            4,
		"OpenCensus":      5,
		"OpenTracing":     6,
	}
)

func (x PropagationType) Enum() *PropagationType {
	p := new(PropagationType)
	*p = x
	return p
}

func (x PropagationType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (PropagationType) Descriptor() protoreflect.EnumDescriptor {
	return file_app_v1_o11y_oteltracer_proto_enumTypes[0].Descriptor()
}

func (PropagationType) Type() protoreflect.EnumType {
	return &file_app_v1_o11y_oteltracer_proto_enumTypes[0]
}

func (x PropagationType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use PropagationType.Descriptor instead.
func (PropagationType) EnumDescriptor() ([]byte, []int) {
	return file_app_v1_o11y_oteltracer_proto_rawDescGZIP(), []int{0}
}

// OpenTelemetryTracer resource definition.
// apiVersion="app/v1", kind="OpenTelemetryTracer".
type OpenTelemetryTracer 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          *OpenTelemetryTracerSpec `protobuf:"bytes,4,opt,name=Spec,json=spec,proto3" json:"Spec,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*OpenTelemetryTracer) ProtoMessage() {}

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

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

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

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

func (x *OpenTelemetryTracer) GetSpec() *OpenTelemetryTracerSpec {
	if x != nil {
		return x.Spec
	}
	return nil
}

// OpenTelemetryTracerSpec is the specifications for the OpenTelemetryTracer object.
type OpenTelemetryTracerSpec 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 value for "otel.library.name" in span tags.
	// If empty or not set, go package name is used.
	LibraryName string `protobuf:"bytes,2,opt,name=LibraryName,json=libraryName,proto3" json:"LibraryName,omitempty"`
	// [OPTIONAL]
	// PropagationTypes are the types of trace context propagators.
	// If not set, default values are used.
	// Default list is [W3CTraceContext, W3CBaggage].
	PropagationTypes []PropagationType `protobuf:"varint,3,rep,packed,name=PropagationTypes,json=propagationTypes,proto3,enum=app.v1.PropagationType" json:"PropagationTypes,omitempty"`
	// [OPTIONAL]
	// TraceIDRatioBased samples a given fraction of traces.
	// Fractions >= 1 will always sample.
	// Fractions < 0 are treated as zero.
	// Default is [1.0], or sample all.
	TraceIDRatioBased float32 `protobuf:"fixed32,4,opt,name=TraceIDRatioBased,json=traceIDRatioBased,proto3" json:"TraceIDRatioBased,omitempty"`
	// [OPTIONAL]
	// TracerProviderBatch is the batch configuration for span processors.
	// Default configuration is used if not set.
	TracerProviderBatch *TracerProviderBatchSpec `protobuf:"bytes,5,opt,name=TracerProviderBatch,json=tracerProviderBatch,proto3" json:"TracerProviderBatch,omitempty"`
	// [OPTIONAL]
	// TracerProviderLimit is the limit configuration for span processors.
	// Default configuration is used if not set.
	TracerProviderLimit *TracerProviderLimitSpec `protobuf:"bytes,6,opt,name=TracerProviderLimit,json=tracerProviderLimit,proto3" json:"TracerProviderLimit,omitempty"`
	// [OPTIONAL]
	// Headers are the http header names that are added to the span attributes.
	// Default is not set.
	Headers []string `protobuf:"bytes,7,rep,name=Headers,json=headers,proto3" json:"Headers,omitempty"`
	// Types that are valid to be assigned to Exporters:
	//
	//	*OpenTelemetryTracerSpec_HTTPExporterSpec
	//	*OpenTelemetryTracerSpec_GRPCExporterSpec
	//	*OpenTelemetryTracerSpec_StdoutExporterSpec
	//	*OpenTelemetryTracerSpec_ZipkinExporterSpec
	Exporters     isOpenTelemetryTracerSpec_Exporters `protobuf_oneof:"Exporters"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*OpenTelemetryTracerSpec) ProtoMessage() {}

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

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

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

func (x *OpenTelemetryTracerSpec) GetPropagationTypes() []PropagationType {
	if x != nil {
		return x.PropagationTypes
	}
	return nil
}

func (x *OpenTelemetryTracerSpec) GetTraceIDRatioBased() float32 {
	if x != nil {
		return x.TraceIDRatioBased
	}
	return 0
}

func (x *OpenTelemetryTracerSpec) GetTracerProviderBatch() *TracerProviderBatchSpec {
	if x != nil {
		return x.TracerProviderBatch
	}
	return nil
}

func (x *OpenTelemetryTracerSpec) GetTracerProviderLimit() *TracerProviderLimitSpec {
	if x != nil {
		return x.TracerProviderLimit
	}
	return nil
}

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

func (x *OpenTelemetryTracerSpec) GetExporters() isOpenTelemetryTracerSpec_Exporters {
	if x != nil {
		return x.Exporters
	}
	return nil
}

func (x *OpenTelemetryTracerSpec) GetHTTPExporterSpec() *HTTPTraceExporterSpec {
	if x != nil {
		if x, ok := x.Exporters.(*OpenTelemetryTracerSpec_HTTPExporterSpec); ok {
			return x.HTTPExporterSpec
		}
	}
	return nil
}

func (x *OpenTelemetryTracerSpec) GetGRPCExporterSpec() *GRPCTraceExporterSpec {
	if x != nil {
		if x, ok := x.Exporters.(*OpenTelemetryTracerSpec_GRPCExporterSpec); ok {
			return x.GRPCExporterSpec
		}
	}
	return nil
}

func (x *OpenTelemetryTracerSpec) GetStdoutExporterSpec() *StdoutTraceExporterSpec {
	if x != nil {
		if x, ok := x.Exporters.(*OpenTelemetryTracerSpec_StdoutExporterSpec); ok {
			return x.StdoutExporterSpec
		}
	}
	return nil
}

func (x *OpenTelemetryTracerSpec) GetZipkinExporterSpec() *ZipkinTraceExporterSpec {
	if x != nil {
		if x, ok := x.Exporters.(*OpenTelemetryTracerSpec_ZipkinExporterSpec); ok {
			return x.ZipkinExporterSpec
		}
	}
	return nil
}

type isOpenTelemetryTracerSpec_Exporters interface {
	isOpenTelemetryTracerSpec_Exporters()
}

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

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

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

type OpenTelemetryTracerSpec_ZipkinExporterSpec struct {
	ZipkinExporterSpec *ZipkinTraceExporterSpec `protobuf:"bytes,13,opt,name=ZipkinExporterSpec,json=zipkinExporter,proto3,oneof"`
}

func (*OpenTelemetryTracerSpec_HTTPExporterSpec) isOpenTelemetryTracerSpec_Exporters() {}

func (*OpenTelemetryTracerSpec_GRPCExporterSpec) isOpenTelemetryTracerSpec_Exporters() {}

func (*OpenTelemetryTracerSpec_StdoutExporterSpec) isOpenTelemetryTracerSpec_Exporters() {}

func (*OpenTelemetryTracerSpec_ZipkinExporterSpec) isOpenTelemetryTracerSpec_Exporters() {}

type TracerProviderBatchSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// [OPTIONAL]
	// MaxQueueSize the maximum queue size allowed for a BatchSpanProcessor.
	// Default is [2048].
	MaxQueueSize int32 `protobuf:"varint,1,opt,name=MaxQueueSize,json=maxQueueSize,proto3" json:"MaxQueueSize,omitempty"`
	// [OPTIONAL]
	// BatchTimeout is the maximum delay in seconds allowed for a BatchSpanProcessor
	// before it will export any held span (whether the queue is full or not).
	// Default is [5] seconds.
	BatchTimeout int32 `protobuf:"varint,2,opt,name=BatchTimeout,json=batchTimeout,proto3" json:"BatchTimeout,omitempty"`
	// [OPTIONAL]
	// ExportTimeout is the amount of time a BatchSpanProcessor waits for an exporter
	// to export before abandoning the export.
	// Default is [30] seconds.
	ExportTimeout int32 `protobuf:"varint,3,opt,name=ExportTimeout,json=exportTimeout,proto3" json:"ExportTimeout,omitempty"`
	// [OPTIONAL]
	// MaxExportBatchSize is the maximum export batch size allowed for a BatchSpanProcessor.
	// Default is [512].
	MaxExportBatchSize int32 `protobuf:"varint,4,opt,name=MaxExportBatchSize,json=maxExportBatchSize,proto3" json:"MaxExportBatchSize,omitempty"`
	// [OPTIONAL]
	// Blocking, if true, wait for enqueue operations to succeed
	// instead of dropping data when the queue is full.
	// Default is [false].
	Blocking      bool `protobuf:"varint,5,opt,name=Blocking,json=blocking,proto3" json:"Blocking,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TracerProviderBatchSpec) ProtoMessage() {}

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

func (x *TracerProviderBatchSpec) GetMaxQueueSize() int32 {
	if x != nil {
		return x.MaxQueueSize
	}
	return 0
}

func (x *TracerProviderBatchSpec) GetBatchTimeout() int32 {
	if x != nil {
		return x.BatchTimeout
	}
	return 0
}

func (x *TracerProviderBatchSpec) GetExportTimeout() int32 {
	if x != nil {
		return x.ExportTimeout
	}
	return 0
}

func (x *TracerProviderBatchSpec) GetMaxExportBatchSize() int32 {
	if x != nil {
		return x.MaxExportBatchSize
	}
	return 0
}

func (x *TracerProviderBatchSpec) GetBlocking() bool {
	if x != nil {
		return x.Blocking
	}
	return false
}

type TracerProviderLimitSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// [OPTIONAL]
	// AttributeValueLengthLimit is the maximum allowed attribute value length.
	// This limit only applies to string and string slice attribute values.
	// Any string longer than this value will be truncated to this length.
	// Setting this to a negative value means no limit is applied.
	// Zero is the same with default value.
	// Default is [-1].
	AttributeValueLengthLimit int32 `protobuf:"varint,1,opt,name=AttributeValueLengthLimit,json=attributeValueLengthLimit,proto3" json:"AttributeValueLengthLimit,omitempty"`
	// [OPTIONAL]
	// AttributeCountLimit is the maximum allowed span attribute count.
	// Any attribute added to a span once this limit is reached will be dropped.
	// Setting this to a negative value means no limit is applied.
	// Zero is the same with default value.
	// Default is [-1].
	AttributeCountLimit int32 `protobuf:"varint,2,opt,name=AttributeCountLimit,json=attributeCountLimit,proto3" json:"AttributeCountLimit,omitempty"`
	// [OPTIONAL]
	// EventCountLimit is the maximum allowed span event count.
	// Any event added to a span once this limit is reached means it will be added but the oldest event will be dropped.
	// Setting this to a negative value means no limit is applied.
	// Zero is the same with default value.
	// Default is [-1].
	EventCountLimit int32 `protobuf:"varint,3,opt,name=EventCountLimit,json=eventCountLimit,proto3" json:"EventCountLimit,omitempty"`
	// [OPTIONAL]
	// LinkCountLimit is the maximum allowed span link count.
	// Any link added to a span once this limit is reached means it will be added but the oldest link will be dropped.
	// Setting this to a negative value means no limit is applied.
	// Zero is the same with default value.
	// Default is [-1].
	LinkCountLimit int32 `protobuf:"varint,4,opt,name=LinkCountLimit,json=linkCountLimit,proto3" json:"LinkCountLimit,omitempty"`
	// [OPTIONAL]
	// AttributePerEventCountLimit is the maximum number of attributes allowed per span event.
	// Any attribute added after this limit reached will be dropped.
	// Setting this to a negative value means no limit is applied.
	// Zero is the same with default value.
	// Default is [-1].
	AttributePerEventCountLimit int32 `protobuf:"varint,5,opt,name=AttributePerEventCountLimit,json=attributePerEventCountLimit,proto3" json:"AttributePerEventCountLimit,omitempty"`
	// [OPTIONAL]
	// AttributePerLinkCountLimit is the maximum number of attributes allowed per span link.
	// Any attribute added after this limit reached will be dropped.
	// Setting this to a negative value means no limit is applied.
	// Zero is the same with default value.
	// Default is [-1].
	AttributePerLinkCountLimit int32 `protobuf:"varint,6,opt,name=AttributePerLinkCountLimit,json=attributePerLinkCountLimit,proto3" json:"AttributePerLinkCountLimit,omitempty"`
	unknownFields              protoimpl.UnknownFields
	sizeCache                  protoimpl.SizeCache
}

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

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

func (*TracerProviderLimitSpec) ProtoMessage() {}

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

func (x *TracerProviderLimitSpec) GetAttributeValueLengthLimit() int32 {
	if x != nil {
		return x.AttributeValueLengthLimit
	}
	return 0
}

func (x *TracerProviderLimitSpec) GetAttributeCountLimit() int32 {
	if x != nil {
		return x.AttributeCountLimit
	}
	return 0
}

func (x *TracerProviderLimitSpec) GetEventCountLimit() int32 {
	if x != nil {
		return x.EventCountLimit
	}
	return 0
}

func (x *TracerProviderLimitSpec) GetLinkCountLimit() int32 {
	if x != nil {
		return x.LinkCountLimit
	}
	return 0
}

func (x *TracerProviderLimitSpec) GetAttributePerEventCountLimit() int32 {
	if x != nil {
		return x.AttributePerEventCountLimit
	}
	return 0
}

func (x *TracerProviderLimitSpec) GetAttributePerLinkCountLimit() int32 {
	if x != nil {
		return x.AttributePerLinkCountLimit
	}
	return 0
}

type HTTPTraceExporterSpec 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_TRACES_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_TRACES_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 retryable 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 retryable error and
	// increase exponentially after each error for no more than a total time of 1 minute.
	// Default is not set.
	OTLPRetry     *OTLPTraceRetrySpec `protobuf:"bytes,7,opt,name=OTLPRetry,json=otlpRetry,proto3" json:"OTLPRetry,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*HTTPTraceExporterSpec) ProtoMessage() {}

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

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

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

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

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

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

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

func (x *HTTPTraceExporterSpec) GetOTLPRetry() *OTLPTraceRetrySpec {
	if x != nil {
		return x.OTLPRetry
	}
	return nil
}

type GRPCTraceExporterSpec 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_TRACES_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_TRACES_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 *OTLPTraceRetrySpec `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 *GRPCTraceExporterSpec) Reset() {
	*x = GRPCTraceExporterSpec{}
	mi := &file_app_v1_o11y_oteltracer_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GRPCTraceExporterSpec) ProtoMessage() {}

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

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

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

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

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

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

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

func (x *GRPCTraceExporterSpec) GetOTLPRetry() *OTLPTraceRetrySpec {
	if x != nil {
		return x.OTLPRetry
	}
	return nil
}

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

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

type StdoutTraceExporterSpec 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=withoutTimestamps,proto3" json:"WithoutTimestamps,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*StdoutTraceExporterSpec) ProtoMessage() {}

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

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

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

type ZipkinTraceExporterSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// [OPTIONAL]
	// Headers configures the exporter to use the configured HTTP request headers.
	// Default is not set.
	Headers map[string]string `protobuf:"bytes,1,rep,name=Headers,json=headers,proto3" json:"Headers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// [OPTIONAL]
	// EndpointURL is the url of a collector.
	// Environmental variable OTEL_EXPORTER_ZIPKIN_ENDPOINT overrides this value.
	// If not set or empty, following default value is used.
	// "http://localhost:9411/api/v2/spans".
	// Default is not set.
	EndpointURL   string `protobuf:"bytes,2,opt,name=EndpointURL,json=endpointURL,proto3" json:"EndpointURL,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ZipkinTraceExporterSpec) Reset() {
	*x = ZipkinTraceExporterSpec{}
	mi := &file_app_v1_o11y_oteltracer_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ZipkinTraceExporterSpec) ProtoMessage() {}

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

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

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

type OTLPTraceRetrySpec 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 *OTLPTraceRetrySpec) Reset() {
	*x = OTLPTraceRetrySpec{}
	mi := &file_app_v1_o11y_oteltracer_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*OTLPTraceRetrySpec) ProtoMessage() {}

func (x *OTLPTraceRetrySpec) ProtoReflect() protoreflect.Message {
	mi := &file_app_v1_o11y_oteltracer_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 OTLPTraceRetrySpec.ProtoReflect.Descriptor instead.
func (*OTLPTraceRetrySpec) Descriptor() ([]byte, []int) {
	return file_app_v1_o11y_oteltracer_proto_rawDescGZIP(), []int{8}
}

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

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

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

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

type K8SAttributesSpec struct {
	state                 protoimpl.MessageState `protogen:"open.v1"`
	ClusterName           string                 `protobuf:"bytes,1,opt,name=ClusterName,json=clusterName,proto3" json:"ClusterName,omitempty"`
	ContainerName         string                 `protobuf:"bytes,2,opt,name=ContainerName,json=containerName,proto3" json:"ContainerName,omitempty"`
	ContainerRestartCount string                 `protobuf:"bytes,3,opt,name=ContainerRestartCount,json=containerRestartCount,proto3" json:"ContainerRestartCount,omitempty"`
	CronJobName           string                 `protobuf:"bytes,4,opt,name=CronJobName,json=cronJobName,proto3" json:"CronJobName,omitempty"`
	CronJobUID            string                 `protobuf:"bytes,5,opt,name=CronJobUID,json=cronJobUID,proto3" json:"CronJobUID,omitempty"`
	DaemonSetName         string                 `protobuf:"bytes,6,opt,name=DaemonSetName,json=daemonSetName,proto3" json:"DaemonSetName,omitempty"`
	DaemonSetUID          string                 `protobuf:"bytes,7,opt,name=DaemonSetUID,json=daemonSetUID,proto3" json:"DaemonSetUID,omitempty"`
	DeploymentName        string                 `protobuf:"bytes,8,opt,name=DeploymentName,json=deploymentName,proto3" json:"DeploymentName,omitempty"`
	DeploymentUID         string                 `protobuf:"bytes,9,opt,name=DeploymentUID,json=deploymentUID,proto3" json:"DeploymentUID,omitempty"`
	JobName               string                 `protobuf:"bytes,10,opt,name=JobName,json=jobName,proto3" json:"JobName,omitempty"`
	JobUID                string                 `protobuf:"bytes,11,opt,name=JobUID,json=jobUID,proto3" json:"JobUID,omitempty"`
	NamespaceName         string                 `protobuf:"bytes,12,opt,name=NamespaceName,json=namespaceName,proto3" json:"NamespaceName,omitempty"`
	NodeName              string                 `protobuf:"bytes,13,opt,name=NodeName,json=nodeName,proto3" json:"NodeName,omitempty"`
	NodeUID               string                 `protobuf:"bytes,14,opt,name=NodeUID,json=nodeUID,proto3" json:"NodeUID,omitempty"`
	PodName               string                 `protobuf:"bytes,15,opt,name=PodName,json=podName,proto3" json:"PodName,omitempty"`
	PodUID                string                 `protobuf:"bytes,16,opt,name=PodUID,json=podUID,proto3" json:"PodUID,omitempty"`
	ReplicaSetName        string                 `protobuf:"bytes,17,opt,name=ReplicaSetName,json=replicaSetName,proto3" json:"ReplicaSetName,omitempty"`
	ReplicaSetUID         string                 `protobuf:"bytes,18,opt,name=ReplicaSetUID,json=replicaSetUID,proto3" json:"ReplicaSetUID,omitempty"`
	StatefulSetName       string                 `protobuf:"bytes,19,opt,name=StatefulSetName,json=statefulSetName,proto3" json:"StatefulSetName,omitempty"`
	StatefulSetUID        string                 `protobuf:"bytes,20,opt,name=StatefulSetUID,json=statefulSetUID,proto3" json:"StatefulSetUID,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *K8SAttributesSpec) Reset() {
	*x = K8SAttributesSpec{}
	mi := &file_app_v1_o11y_oteltracer_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*K8SAttributesSpec) ProtoMessage() {}

func (x *K8SAttributesSpec) ProtoReflect() protoreflect.Message {
	mi := &file_app_v1_o11y_oteltracer_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 K8SAttributesSpec.ProtoReflect.Descriptor instead.
func (*K8SAttributesSpec) Descriptor() ([]byte, []int) {
	return file_app_v1_o11y_oteltracer_proto_rawDescGZIP(), []int{9}
}

func (x *K8SAttributesSpec) GetClusterName() string {
	if x != nil {
		return x.ClusterName
	}
	return ""
}

func (x *K8SAttributesSpec) GetContainerName() string {
	if x != nil {
		return x.ContainerName
	}
	return ""
}

func (x *K8SAttributesSpec) GetContainerRestartCount() string {
	if x != nil {
		return x.ContainerRestartCount
	}
	return ""
}

func (x *K8SAttributesSpec) GetCronJobName() string {
	if x != nil {
		return x.CronJobName
	}
	return ""
}

func (x *K8SAttributesSpec) GetCronJobUID() string {
	if x != nil {
		return x.CronJobUID
	}
	return ""
}

func (x *K8SAttributesSpec) GetDaemonSetName() string {
	if x != nil {
		return x.DaemonSetName
	}
	return ""
}

func (x *K8SAttributesSpec) GetDaemonSetUID() string {
	if x != nil {
		return x.DaemonSetUID
	}
	return ""
}

func (x *K8SAttributesSpec) GetDeploymentName() string {
	if x != nil {
		return x.DeploymentName
	}
	return ""
}

func (x *K8SAttributesSpec) GetDeploymentUID() string {
	if x != nil {
		return x.DeploymentUID
	}
	return ""
}

func (x *K8SAttributesSpec) GetJobName() string {
	if x != nil {
		return x.JobName
	}
	return ""
}

func (x *K8SAttributesSpec) GetJobUID() string {
	if x != nil {
		return x.JobUID
	}
	return ""
}

func (x *K8SAttributesSpec) GetNamespaceName() string {
	if x != nil {
		return x.NamespaceName
	}
	return ""
}

func (x *K8SAttributesSpec) GetNodeName() string {
	if x != nil {
		return x.NodeName
	}
	return ""
}

func (x *K8SAttributesSpec) GetNodeUID() string {
	if x != nil {
		return x.NodeUID
	}
	return ""
}

func (x *K8SAttributesSpec) GetPodName() string {
	if x != nil {
		return x.PodName
	}
	return ""
}

func (x *K8SAttributesSpec) GetPodUID() string {
	if x != nil {
		return x.PodUID
	}
	return ""
}

func (x *K8SAttributesSpec) GetReplicaSetName() string {
	if x != nil {
		return x.ReplicaSetName
	}
	return ""
}

func (x *K8SAttributesSpec) GetReplicaSetUID() string {
	if x != nil {
		return x.ReplicaSetUID
	}
	return ""
}

func (x *K8SAttributesSpec) GetStatefulSetName() string {
	if x != nil {
		return x.StatefulSetName
	}
	return ""
}

func (x *K8SAttributesSpec) GetStatefulSetUID() string {
	if x != nil {
		return x.StatefulSetUID
	}
	return ""
}

type ContainerAttributesSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ID            string                 `protobuf:"bytes,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"`
	ImageName     string                 `protobuf:"bytes,2,opt,name=ImageName,json=imageName,proto3" json:"ImageName,omitempty"`
	ImageTag      string                 `protobuf:"bytes,3,opt,name=ImageTag,json=imageTag,proto3" json:"ImageTag,omitempty"`
	Name          string                 `protobuf:"bytes,4,opt,name=Name,json=name,proto3" json:"Name,omitempty"`
	Runtime       string                 `protobuf:"bytes,5,opt,name=Runtime,json=runtime,proto3" json:"Runtime,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ContainerAttributesSpec) Reset() {
	*x = ContainerAttributesSpec{}
	mi := &file_app_v1_o11y_oteltracer_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ContainerAttributesSpec) ProtoMessage() {}

func (x *ContainerAttributesSpec) ProtoReflect() protoreflect.Message {
	mi := &file_app_v1_o11y_oteltracer_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 ContainerAttributesSpec.ProtoReflect.Descriptor instead.
func (*ContainerAttributesSpec) Descriptor() ([]byte, []int) {
	return file_app_v1_o11y_oteltracer_proto_rawDescGZIP(), []int{10}
}

func (x *ContainerAttributesSpec) GetID() string {
	if x != nil {
		return x.ID
	}
	return ""
}

func (x *ContainerAttributesSpec) GetImageName() string {
	if x != nil {
		return x.ImageName
	}
	return ""
}

func (x *ContainerAttributesSpec) GetImageTag() string {
	if x != nil {
		return x.ImageTag
	}
	return ""
}

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

func (x *ContainerAttributesSpec) GetRuntime() string {
	if x != nil {
		return x.Runtime
	}
	return ""
}

type HostAttributesSpec struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ID            string                 `protobuf:"bytes,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"`
	ImageID       string                 `protobuf:"bytes,2,opt,name=ImageID,json=imageID,proto3" json:"ImageID,omitempty"`
	ImageName     string                 `protobuf:"bytes,3,opt,name=ImageName,json=imageName,proto3" json:"ImageName,omitempty"`
	ImageVersion  string                 `protobuf:"bytes,4,opt,name=ImageVersion,json=imageVersion,proto3" json:"ImageVersion,omitempty"`
	Name          string                 `protobuf:"bytes,5,opt,name=Name,json=name,proto3" json:"Name,omitempty"`
	Type          string                 `protobuf:"bytes,6,opt,name=Type,json=type,proto3" json:"Type,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *HostAttributesSpec) Reset() {
	*x = HostAttributesSpec{}
	mi := &file_app_v1_o11y_oteltracer_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*HostAttributesSpec) ProtoMessage() {}

func (x *HostAttributesSpec) ProtoReflect() protoreflect.Message {
	mi := &file_app_v1_o11y_oteltracer_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 HostAttributesSpec.ProtoReflect.Descriptor instead.
func (*HostAttributesSpec) Descriptor() ([]byte, []int) {
	return file_app_v1_o11y_oteltracer_proto_rawDescGZIP(), []int{11}
}

func (x *HostAttributesSpec) GetID() string {
	if x != nil {
		return x.ID
	}
	return ""
}

func (x *HostAttributesSpec) GetImageID() string {
	if x != nil {
		return x.ImageID
	}
	return ""
}

func (x *HostAttributesSpec) GetImageName() string {
	if x != nil {
		return x.ImageName
	}
	return ""
}

func (x *HostAttributesSpec) GetImageVersion() string {
	if x != nil {
		return x.ImageVersion
	}
	return ""
}

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

func (x *HostAttributesSpec) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

var File_app_v1_o11y_oteltracer_proto protoreflect.FileDescriptor

var file_app_v1_o11y_oteltracer_proto_rawDesc = string([]byte{
	0x0a, 0x1c, 0x61, 0x70, 0x70, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x31, 0x31, 0x79, 0x2f, 0x6f, 0x74,
	0x65, 0x6c, 0x74, 0x72, 0x61, 0x63, 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, 0x14, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77,
	0x6f, 0x72, 0x6b, 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,
	0x22, 0xac, 0x01, 0x0a, 0x13, 0x4f, 0x70, 0x65, 0x6e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74,
	0x72, 0x79, 0x54, 0x72, 0x61, 0x63, 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, 0x33, 0x0a, 0x04, 0x53, 0x70,
	0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76,
	0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x54,
	0x72, 0x61, 0x63, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22,
	0xcd, 0x05, 0x0a, 0x17, 0x4f, 0x70, 0x65, 0x6e, 0x54, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72,
	0x79, 0x54, 0x72, 0x61, 0x63, 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,
	0x43, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79,
	0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x61, 0x70, 0x70, 0x2e,
	0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79,
	0x70, 0x65, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
	0x79, 0x70, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x54, 0x72, 0x61, 0x63, 0x65, 0x49, 0x44, 0x52,
	0x61, 0x74, 0x69, 0x6f, 0x42, 0x61, 0x73, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52,
	0x11, 0x74, 0x72, 0x61, 0x63, 0x65, 0x49, 0x44, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x42, 0x61, 0x73,
	0x65, 0x64, 0x12, 0x51, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x63, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x76,
	0x69, 0x64, 0x65, 0x72, 0x42, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1f, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x72, 0x50,
	0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63,
	0x52, 0x13, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
	0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x51, 0x0a, 0x13, 0x54, 0x72, 0x61, 0x63, 0x65, 0x72, 0x50,
	0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x63,
	0x65, 0x72, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53,
	0x70, 0x65, 0x63, 0x52, 0x13, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x76, 0x69,
	0x64, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x48, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65,
	0x72, 0x73, 0x12, 0x47, 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, 0x1d, 0x2e, 0x61,
	0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 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, 0x47, 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, 0x1d, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47,
	0x52, 0x50, 0x43, 0x54, 0x72, 0x61, 0x63, 0x65, 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, 0x4d, 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, 0x1f, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x64, 0x6f, 0x75, 0x74,
	0x54, 0x72, 0x61, 0x63, 0x65, 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, 0x12, 0x4d, 0x0a, 0x12, 0x5a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x45, 0x78, 0x70,
	0x6f, 0x72, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x1f, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x54,
	0x72, 0x61, 0x63, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63,
	0x48, 0x00, 0x52, 0x0e, 0x7a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74,
	0x65, 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x73, 0x22,
	0xd3, 0x01, 0x0a, 0x17, 0x54, 0x72, 0x61, 0x63, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64,
	0x65, 0x72, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x70, 0x65, 0x63, 0x12, 0x22, 0x0a, 0x0c, 0x4d,
	0x61, 0x78, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x05, 0x52, 0x0c, 0x6d, 0x61, 0x78, 0x51, 0x75, 0x65, 0x75, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12,
	0x22, 0x0a, 0x0c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x61, 0x74, 0x63, 0x68, 0x54, 0x69, 0x6d, 0x65,
	0x6f, 0x75, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x69, 0x6d,
	0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x65, 0x78, 0x70, 0x6f,
	0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x4d, 0x61, 0x78,
	0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x18,
	0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x6d, 0x61, 0x78, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74,
	0x42, 0x61, 0x74, 0x63, 0x68, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x42, 0x6c, 0x6f,
	0x63, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x62, 0x6c, 0x6f,
	0x63, 0x6b, 0x69, 0x6e, 0x67, 0x22, 0xdd, 0x02, 0x0a, 0x17, 0x54, 0x72, 0x61, 0x63, 0x65, 0x72,
	0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x53, 0x70, 0x65,
	0x63, 0x12, 0x3c, 0x0a, 0x19, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61,
	0x6c, 0x75, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56,
	0x61, 0x6c, 0x75, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12,
	0x30, 0x0a, 0x13, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e,
	0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x61, 0x74,
	0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69,
	0x74, 0x12, 0x28, 0x0a, 0x0f, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c,
	0x69, 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x65, 0x76, 0x65, 0x6e,
	0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x4c,
	0x69, 0x6e, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x04, 0x20,
	0x01, 0x28, 0x05, 0x52, 0x0e, 0x6c, 0x69, 0x6e, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69,
	0x6d, 0x69, 0x74, 0x12, 0x40, 0x0a, 0x1b, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
	0x50, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69, 0x6d,
	0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1b, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62,
	0x75, 0x74, 0x65, 0x50, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74,
	0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x3e, 0x0a, 0x1a, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
	0x74, 0x65, 0x50, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x4c, 0x69,
	0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1a, 0x61, 0x74, 0x74, 0x72, 0x69,
	0x62, 0x75, 0x74, 0x65, 0x50, 0x65, 0x72, 0x4c, 0x69, 0x6e, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74,
	0x4c, 0x69, 0x6d, 0x69, 0x74, 0x22, 0xf8, 0x02, 0x0a, 0x15, 0x48, 0x54, 0x54, 0x50, 0x54, 0x72,
	0x61, 0x63, 0x65, 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, 0x44, 0x0a, 0x07, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03,
	0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50,
	0x54, 0x72, 0x61, 0x63, 0x65, 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, 0x38, 0x0a, 0x09, 0x4f, 0x54,
	0x4c, 0x50, 0x52, 0x65, 0x74, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
	0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x54, 0x4c, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65,
	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, 0xce, 0x03, 0x0a, 0x15, 0x47, 0x52, 0x50, 0x43, 0x54, 0x72, 0x61, 0x63, 0x65, 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, 0x44, 0x0a, 0x07,
	0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e,
	0x61, 0x70, 0x70, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x52, 0x50, 0x43, 0x54, 0x72, 0x61, 0x63, 0x65,
	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, 0x38, 0x0a, 0x09, 0x4f, 0x54, 0x4c, 0x50, 0x52, 0x65, 0x74,
	0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x76,
	0x31, 0x2e, 0x4f, 0x54, 0x4c, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 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, 0x69, 0x0a, 0x17, 0x53, 0x74, 0x64, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x63, 0x65,
	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, 0x2c,
	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, 0x11, 0x77, 0x69, 0x74, 0x68, 0x6f,
	0x75, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x22, 0xbf, 0x01, 0x0a,
	0x17, 0x5a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x45, 0x78, 0x70, 0x6f,
	0x72, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x46, 0x0a, 0x07, 0x48, 0x65, 0x61, 0x64,
	0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x61, 0x70, 0x70, 0x2e,
	0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x6b, 0x69, 0x6e, 0x54, 0x72, 0x61, 0x63, 0x65, 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, 0x20, 0x0a, 0x0b, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x55, 0x52, 0x4c, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x55,
	0x52, 0x4c, 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, 0xc6,
	0x01, 0x0a, 0x12, 0x4f, 0x54, 0x4c, 0x50, 0x54, 0x72, 0x61, 0x63, 0x65, 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, 0xcb, 0x05, 0x0a, 0x11, 0x4b, 0x38, 0x73, 0x41,
	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x53, 0x70, 0x65, 0x63, 0x12, 0x20, 0x0a,
	0x0b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12,
	0x24, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
	0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e,
	0x65, 0x72, 0x52, 0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52,
	0x65, 0x73, 0x74, 0x61, 0x72, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x43,
	0x72, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0b, 0x63, 0x72, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a,
	0x0a, 0x43, 0x72, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x55, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0a, 0x63, 0x72, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x55, 0x49, 0x44, 0x12, 0x24, 0x0a,
	0x0d, 0x44, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x4e,
	0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x44, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x53, 0x65, 0x74,
	0x55, 0x49, 0x44, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x61, 0x65, 0x6d, 0x6f,
	0x6e, 0x53, 0x65, 0x74, 0x55, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x44, 0x65, 0x70, 0x6c, 0x6f,
	0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12,
	0x24, 0x0a, 0x0d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x55, 0x49, 0x44,
	0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65,
	0x6e, 0x74, 0x55, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x4a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65,
	0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6a, 0x6f, 0x62, 0x4e, 0x61, 0x6d, 0x65, 0x12,
	0x16, 0x0a, 0x06, 0x4a, 0x6f, 0x62, 0x55, 0x49, 0x44, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x06, 0x6a, 0x6f, 0x62, 0x55, 0x49, 0x44, 0x12, 0x24, 0x0a, 0x0d, 0x4e, 0x61, 0x6d, 0x65, 0x73,
	0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
	0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a,
	0x08, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x08, 0x6e, 0x6f, 0x64, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x4e, 0x6f, 0x64,
	0x65, 0x55, 0x49, 0x44, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x6f, 0x64, 0x65,
	0x55, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0f,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6f, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a,
	0x06, 0x50, 0x6f, 0x64, 0x55, 0x49, 0x44, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70,
	0x6f, 0x64, 0x55, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61,
	0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72,
	0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a,
	0x0d, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x65, 0x74, 0x55, 0x49, 0x44, 0x18, 0x12,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x53, 0x65, 0x74,
	0x55, 0x49, 0x44, 0x12, 0x28, 0x0a, 0x0f, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x53,
	0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x74,
	0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x53, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a,
	0x0e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x53, 0x65, 0x74, 0x55, 0x49, 0x44, 0x18,
	0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x74, 0x65, 0x66, 0x75, 0x6c, 0x53,
	0x65, 0x74, 0x55, 0x49, 0x44, 0x22, 0x91, 0x01, 0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69,
	0x6e, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x53, 0x70, 0x65,
	0x63, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
	0x64, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12,
	0x1a, 0x0a, 0x08, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x4e,
	0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
	0x18, 0x0a, 0x07, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x07, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x12, 0x48, 0x6f,
	0x73, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x53, 0x70, 0x65, 0x63,
	0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
	0x12, 0x18, 0x0a, 0x07, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x07, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x6d,
	0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69,
	0x6d, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x49, 0x6d, 0x61, 0x67,
	0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
	0x69, 0x6d, 0x61, 0x67, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04,
	0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x74, 0x79, 0x70, 0x65, 0x2a, 0x75, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x61, 0x67, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x57, 0x33, 0x43, 0x54, 0x72,
	0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a,
	0x57, 0x33, 0x43, 0x42, 0x61, 0x67, 0x67, 0x61, 0x67, 0x65, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02,
	0x42, 0x33, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x4a, 0x61, 0x65, 0x67, 0x65, 0x72, 0x10, 0x03,
	0x12, 0x08, 0x0a, 0x04, 0x58, 0x52, 0x61, 0x79, 0x10, 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x4f, 0x70,
	0x65, 0x6e, 0x43, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x70,
	0x65, 0x6e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x10, 0x06, 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_oteltracer_proto_rawDescOnce sync.Once
	file_app_v1_o11y_oteltracer_proto_rawDescData []byte
)

func file_app_v1_o11y_oteltracer_proto_rawDescGZIP() []byte {
	file_app_v1_o11y_oteltracer_proto_rawDescOnce.Do(func() {
		file_app_v1_o11y_oteltracer_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_app_v1_o11y_oteltracer_proto_rawDesc), len(file_app_v1_o11y_oteltracer_proto_rawDesc)))
	})
	return file_app_v1_o11y_oteltracer_proto_rawDescData
}

var file_app_v1_o11y_oteltracer_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_app_v1_o11y_oteltracer_proto_msgTypes = make([]protoimpl.MessageInfo, 15)
var file_app_v1_o11y_oteltracer_proto_goTypes = []any{
	(PropagationType)(0),            // 0: app.v1.PropagationType
	(*OpenTelemetryTracer)(nil),     // 1: app.v1.OpenTelemetryTracer
	(*OpenTelemetryTracerSpec)(nil), // 2: app.v1.OpenTelemetryTracerSpec
	(*TracerProviderBatchSpec)(nil), // 3: app.v1.TracerProviderBatchSpec
	(*TracerProviderLimitSpec)(nil), // 4: app.v1.TracerProviderLimitSpec
	(*HTTPTraceExporterSpec)(nil),   // 5: app.v1.HTTPTraceExporterSpec
	(*GRPCTraceExporterSpec)(nil),   // 6: app.v1.GRPCTraceExporterSpec
	(*StdoutTraceExporterSpec)(nil), // 7: app.v1.StdoutTraceExporterSpec
	(*ZipkinTraceExporterSpec)(nil), // 8: app.v1.ZipkinTraceExporterSpec
	(*OTLPTraceRetrySpec)(nil),      // 9: app.v1.OTLPTraceRetrySpec
	(*K8SAttributesSpec)(nil),       // 10: app.v1.K8sAttributesSpec
	(*ContainerAttributesSpec)(nil), // 11: app.v1.ContainerAttributesSpec
	(*HostAttributesSpec)(nil),      // 12: app.v1.HostAttributesSpec
	nil,                             // 13: app.v1.HTTPTraceExporterSpec.HeadersEntry
	nil,                             // 14: app.v1.GRPCTraceExporterSpec.HeadersEntry
	nil,                             // 15: app.v1.ZipkinTraceExporterSpec.HeadersEntry
	(*kernel.Metadata)(nil),         // 16: kernel.Metadata
	(*kernel.TLSConfig)(nil),        // 17: kernel.TLSConfig
}
var file_app_v1_o11y_oteltracer_proto_depIdxs = []int32{
	16, // 0: app.v1.OpenTelemetryTracer.Metadata:type_name -> kernel.Metadata
	2,  // 1: app.v1.OpenTelemetryTracer.Spec:type_name -> app.v1.OpenTelemetryTracerSpec
	0,  // 2: app.v1.OpenTelemetryTracerSpec.PropagationTypes:type_name -> app.v1.PropagationType
	3,  // 3: app.v1.OpenTelemetryTracerSpec.TracerProviderBatch:type_name -> app.v1.TracerProviderBatchSpec
	4,  // 4: app.v1.OpenTelemetryTracerSpec.TracerProviderLimit:type_name -> app.v1.TracerProviderLimitSpec
	5,  // 5: app.v1.OpenTelemetryTracerSpec.HTTPExporterSpec:type_name -> app.v1.HTTPTraceExporterSpec
	6,  // 6: app.v1.OpenTelemetryTracerSpec.GRPCExporterSpec:type_name -> app.v1.GRPCTraceExporterSpec
	7,  // 7: app.v1.OpenTelemetryTracerSpec.StdoutExporterSpec:type_name -> app.v1.StdoutTraceExporterSpec
	8,  // 8: app.v1.OpenTelemetryTracerSpec.ZipkinExporterSpec:type_name -> app.v1.ZipkinTraceExporterSpec
	13, // 9: app.v1.HTTPTraceExporterSpec.Headers:type_name -> app.v1.HTTPTraceExporterSpec.HeadersEntry
	17, // 10: app.v1.HTTPTraceExporterSpec.TLSConfig:type_name -> kernel.TLSConfig
	9,  // 11: app.v1.HTTPTraceExporterSpec.OTLPRetry:type_name -> app.v1.OTLPTraceRetrySpec
	14, // 12: app.v1.GRPCTraceExporterSpec.Headers:type_name -> app.v1.GRPCTraceExporterSpec.HeadersEntry
	17, // 13: app.v1.GRPCTraceExporterSpec.TLSConfig:type_name -> kernel.TLSConfig
	9,  // 14: app.v1.GRPCTraceExporterSpec.OTLPRetry:type_name -> app.v1.OTLPTraceRetrySpec
	15, // 15: app.v1.ZipkinTraceExporterSpec.Headers:type_name -> app.v1.ZipkinTraceExporterSpec.HeadersEntry
	16, // [16:16] is the sub-list for method output_type
	16, // [16:16] is the sub-list for method input_type
	16, // [16:16] is the sub-list for extension type_name
	16, // [16:16] is the sub-list for extension extendee
	0,  // [0:16] is the sub-list for field type_name
}

func init() { file_app_v1_o11y_oteltracer_proto_init() }
func file_app_v1_o11y_oteltracer_proto_init() {
	if File_app_v1_o11y_oteltracer_proto != nil {
		return
	}
	file_app_v1_o11y_oteltracer_proto_msgTypes[1].OneofWrappers = []any{
		(*OpenTelemetryTracerSpec_HTTPExporterSpec)(nil),
		(*OpenTelemetryTracerSpec_GRPCExporterSpec)(nil),
		(*OpenTelemetryTracerSpec_StdoutExporterSpec)(nil),
		(*OpenTelemetryTracerSpec_ZipkinExporterSpec)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_app_v1_o11y_oteltracer_proto_rawDesc), len(file_app_v1_o11y_oteltracer_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   15,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_app_v1_o11y_oteltracer_proto_goTypes,
		DependencyIndexes: file_app_v1_o11y_oteltracer_proto_depIdxs,
		EnumInfos:         file_app_v1_o11y_oteltracer_proto_enumTypes,
		MessageInfos:      file_app_v1_o11y_oteltracer_proto_msgTypes,
	}.Build()
	File_app_v1_o11y_oteltracer_proto = out.File
	file_app_v1_o11y_oteltracer_proto_goTypes = nil
	file_app_v1_o11y_oteltracer_proto_depIdxs = nil
}
