// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.10
// 	protoc        v7.35.1
// source: envoy/config/trace/v2/zipkin.proto

package tracev2

import (
	_ "github.com/cncf/xds/go/udpa/annotations"
	_ "github.com/envoyproxy/go-control-plane/envoy/annotations"
	_ "github.com/envoyproxy/protoc-gen-validate/validate"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
	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)
)

// Available Zipkin collector endpoint versions.
type ZipkinConfig_CollectorEndpointVersion int32

const (
	// Zipkin API v1, JSON over HTTP.
	// [#comment: The default implementation of Zipkin client before this field is added was only v1
	// and the way user configure this was by not explicitly specifying the version. Consequently,
	// before this is added, the corresponding Zipkin collector expected to receive v1 payload.
	// Hence the motivation of adding HTTP_JSON_V1 as the default is to avoid a breaking change when
	// user upgrading Envoy with this change. Furthermore, we also immediately deprecate this field,
	// since in Zipkin realm this v1 version is considered to be not preferable anymore.]
	//
	// Deprecated: Marked as deprecated in envoy/config/trace/v2/zipkin.proto.
	ZipkinConfig_HTTP_JSON_V1 ZipkinConfig_CollectorEndpointVersion = 0
	// Zipkin API v2, JSON over HTTP.
	ZipkinConfig_HTTP_JSON ZipkinConfig_CollectorEndpointVersion = 1
	// Zipkin API v2, protobuf over HTTP.
	ZipkinConfig_HTTP_PROTO ZipkinConfig_CollectorEndpointVersion = 2
	// [#not-implemented-hide:]
	ZipkinConfig_GRPC ZipkinConfig_CollectorEndpointVersion = 3
)

// Enum value maps for ZipkinConfig_CollectorEndpointVersion.
var (
	ZipkinConfig_CollectorEndpointVersion_name = map[int32]string{
		0: "HTTP_JSON_V1",
		1: "HTTP_JSON",
		2: "HTTP_PROTO",
		3: "GRPC",
	}
	ZipkinConfig_CollectorEndpointVersion_value = map[string]int32{
		"HTTP_JSON_V1": 0,
		"HTTP_JSON":    1,
		"HTTP_PROTO":   2,
		"GRPC":         3,
	}
)

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

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

func (ZipkinConfig_CollectorEndpointVersion) Descriptor() protoreflect.EnumDescriptor {
	return file_envoy_config_trace_v2_zipkin_proto_enumTypes[0].Descriptor()
}

func (ZipkinConfig_CollectorEndpointVersion) Type() protoreflect.EnumType {
	return &file_envoy_config_trace_v2_zipkin_proto_enumTypes[0]
}

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

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

// Configuration for the Zipkin tracer.
// [#extension: envoy.tracers.zipkin]
// [#next-free-field: 6]
type ZipkinConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The cluster manager cluster that hosts the Zipkin collectors. Note that the
	// Zipkin cluster must be defined in the :ref:`Bootstrap static cluster
	// resources <envoy_api_field_config.bootstrap.v2.Bootstrap.StaticResources.clusters>`.
	CollectorCluster string `protobuf:"bytes,1,opt,name=collector_cluster,json=collectorCluster,proto3" json:"collector_cluster,omitempty"`
	// The API endpoint of the Zipkin service where the spans will be sent. When
	// using a standard Zipkin installation, the API endpoint is typically
	// /api/v1/spans, which is the default value.
	CollectorEndpoint string `protobuf:"bytes,2,opt,name=collector_endpoint,json=collectorEndpoint,proto3" json:"collector_endpoint,omitempty"`
	// Determines whether a 128bit trace id will be used when creating a new
	// trace instance. The default value is false, which will result in a 64 bit trace id being used.
	TraceId_128Bit bool `protobuf:"varint,3,opt,name=trace_id_128bit,json=traceId128bit,proto3" json:"trace_id_128bit,omitempty"`
	// Determines whether client and server spans will share the same span context.
	// The default value is true.
	SharedSpanContext *wrapperspb.BoolValue `protobuf:"bytes,4,opt,name=shared_span_context,json=sharedSpanContext,proto3" json:"shared_span_context,omitempty"`
	// Determines the selected collector endpoint version. By default, the “HTTP_JSON_V1“ will be
	// used.
	CollectorEndpointVersion ZipkinConfig_CollectorEndpointVersion `protobuf:"varint,5,opt,name=collector_endpoint_version,json=collectorEndpointVersion,proto3,enum=envoy.config.trace.v2.ZipkinConfig_CollectorEndpointVersion" json:"collector_endpoint_version,omitempty"`
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

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

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

func (*ZipkinConfig) ProtoMessage() {}

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

func (x *ZipkinConfig) GetCollectorCluster() string {
	if x != nil {
		return x.CollectorCluster
	}
	return ""
}

func (x *ZipkinConfig) GetCollectorEndpoint() string {
	if x != nil {
		return x.CollectorEndpoint
	}
	return ""
}

func (x *ZipkinConfig) GetTraceId_128Bit() bool {
	if x != nil {
		return x.TraceId_128Bit
	}
	return false
}

func (x *ZipkinConfig) GetSharedSpanContext() *wrapperspb.BoolValue {
	if x != nil {
		return x.SharedSpanContext
	}
	return nil
}

func (x *ZipkinConfig) GetCollectorEndpointVersion() ZipkinConfig_CollectorEndpointVersion {
	if x != nil {
		return x.CollectorEndpointVersion
	}
	return ZipkinConfig_HTTP_JSON_V1
}

var File_envoy_config_trace_v2_zipkin_proto protoreflect.FileDescriptor

const file_envoy_config_trace_v2_zipkin_proto_rawDesc = "" +
	"\n" +
	"\"envoy/config/trace/v2/zipkin.proto\x12\x15envoy.config.trace.v2\x1a\x1egoogle/protobuf/wrappers.proto\x1a#envoy/annotations/deprecation.proto\x1a\x1dudpa/annotations/status.proto\x1a\x17validate/validate.proto\"\xcd\x03\n" +
	"\fZipkinConfig\x124\n" +
	"\x11collector_cluster\x18\x01 \x01(\tB\a\xfaB\x04r\x02 \x01R\x10collectorCluster\x126\n" +
	"\x12collector_endpoint\x18\x02 \x01(\tB\a\xfaB\x04r\x02 \x01R\x11collectorEndpoint\x12&\n" +
	"\x0ftrace_id_128bit\x18\x03 \x01(\bR\rtraceId128bit\x12J\n" +
	"\x13shared_span_context\x18\x04 \x01(\v2\x1a.google.protobuf.BoolValueR\x11sharedSpanContext\x12z\n" +
	"\x1acollector_endpoint_version\x18\x05 \x01(\x0e2<.envoy.config.trace.v2.ZipkinConfig.CollectorEndpointVersionR\x18collectorEndpointVersion\"_\n" +
	"\x18CollectorEndpointVersion\x12\x1a\n" +
	"\fHTTP_JSON_V1\x10\x00\x1a\b\xa8\xf7\xb4\x8b\x02\x01\b\x01\x12\r\n" +
	"\tHTTP_JSON\x10\x01\x12\x0e\n" +
	"\n" +
	"HTTP_PROTO\x10\x02\x12\b\n" +
	"\x04GRPC\x10\x03B\x82\x01\xba\x80\xc8\xd1\x06\x02\x10\x01\n" +
	"#io.envoyproxy.envoy.config.trace.v2B\vZipkinProtoP\x01ZDgithub.com/envoyproxy/go-control-plane/envoy/config/trace/v2;tracev2b\x06proto3"

var (
	file_envoy_config_trace_v2_zipkin_proto_rawDescOnce sync.Once
	file_envoy_config_trace_v2_zipkin_proto_rawDescData []byte
)

func file_envoy_config_trace_v2_zipkin_proto_rawDescGZIP() []byte {
	file_envoy_config_trace_v2_zipkin_proto_rawDescOnce.Do(func() {
		file_envoy_config_trace_v2_zipkin_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_envoy_config_trace_v2_zipkin_proto_rawDesc), len(file_envoy_config_trace_v2_zipkin_proto_rawDesc)))
	})
	return file_envoy_config_trace_v2_zipkin_proto_rawDescData
}

var file_envoy_config_trace_v2_zipkin_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_envoy_config_trace_v2_zipkin_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_envoy_config_trace_v2_zipkin_proto_goTypes = []any{
	(ZipkinConfig_CollectorEndpointVersion)(0), // 0: envoy.config.trace.v2.ZipkinConfig.CollectorEndpointVersion
	(*ZipkinConfig)(nil),                       // 1: envoy.config.trace.v2.ZipkinConfig
	(*wrapperspb.BoolValue)(nil),               // 2: google.protobuf.BoolValue
}
var file_envoy_config_trace_v2_zipkin_proto_depIdxs = []int32{
	2, // 0: envoy.config.trace.v2.ZipkinConfig.shared_span_context:type_name -> google.protobuf.BoolValue
	0, // 1: envoy.config.trace.v2.ZipkinConfig.collector_endpoint_version:type_name -> envoy.config.trace.v2.ZipkinConfig.CollectorEndpointVersion
	2, // [2:2] is the sub-list for method output_type
	2, // [2:2] is the sub-list for method input_type
	2, // [2:2] is the sub-list for extension type_name
	2, // [2:2] is the sub-list for extension extendee
	0, // [0:2] is the sub-list for field type_name
}

func init() { file_envoy_config_trace_v2_zipkin_proto_init() }
func file_envoy_config_trace_v2_zipkin_proto_init() {
	if File_envoy_config_trace_v2_zipkin_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_envoy_config_trace_v2_zipkin_proto_rawDesc), len(file_envoy_config_trace_v2_zipkin_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   1,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_envoy_config_trace_v2_zipkin_proto_goTypes,
		DependencyIndexes: file_envoy_config_trace_v2_zipkin_proto_depIdxs,
		EnumInfos:         file_envoy_config_trace_v2_zipkin_proto_enumTypes,
		MessageInfos:      file_envoy_config_trace_v2_zipkin_proto_msgTypes,
	}.Build()
	File_envoy_config_trace_v2_zipkin_proto = out.File
	file_envoy_config_trace_v2_zipkin_proto_goTypes = nil
	file_envoy_config_trace_v2_zipkin_proto_depIdxs = nil
}
