// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.9
// 	protoc        v6.31.1
// source: github.com/buildbarn/bb-storage/pkg/proto/configuration/global/global.proto

package global

import (
	grpc "github.com/buildbarn/bb-storage/pkg/proto/configuration/grpc"
	client "github.com/buildbarn/bb-storage/pkg/proto/configuration/http/client"
	server "github.com/buildbarn/bb-storage/pkg/proto/configuration/http/server"
	v1 "go.opentelemetry.io/proto/otlp/common/v1"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	durationpb "google.golang.org/protobuf/types/known/durationpb"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	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)
)

type PrometheusPushgatewayConfiguration struct {
	state                   protoimpl.MessageState                                       `protogen:"open.v1"`
	Url                     string                                                       `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	Job                     string                                                       `protobuf:"bytes,2,opt,name=job,proto3" json:"job,omitempty"`
	Grouping                map[string]string                                            `protobuf:"bytes,4,rep,name=grouping,proto3" json:"grouping,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	PushInterval            *durationpb.Duration                                         `protobuf:"bytes,5,opt,name=push_interval,json=pushInterval,proto3" json:"push_interval,omitempty"`
	HttpClient              *client.Configuration                                        `protobuf:"bytes,6,opt,name=http_client,json=httpClient,proto3" json:"http_client,omitempty"`
	PushTimeout             *durationpb.Duration                                         `protobuf:"bytes,7,opt,name=push_timeout,json=pushTimeout,proto3" json:"push_timeout,omitempty"`
	AdditionalScrapeTargets []*PrometheusPushgatewayConfiguration_AdditionalScrapeTarget `protobuf:"bytes,8,rep,name=additional_scrape_targets,json=additionalScrapeTargets,proto3" json:"additional_scrape_targets,omitempty"`
	unknownFields           protoimpl.UnknownFields
	sizeCache               protoimpl.SizeCache
}

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

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

func (*PrometheusPushgatewayConfiguration) ProtoMessage() {}

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

func (x *PrometheusPushgatewayConfiguration) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *PrometheusPushgatewayConfiguration) GetJob() string {
	if x != nil {
		return x.Job
	}
	return ""
}

func (x *PrometheusPushgatewayConfiguration) GetGrouping() map[string]string {
	if x != nil {
		return x.Grouping
	}
	return nil
}

func (x *PrometheusPushgatewayConfiguration) GetPushInterval() *durationpb.Duration {
	if x != nil {
		return x.PushInterval
	}
	return nil
}

func (x *PrometheusPushgatewayConfiguration) GetHttpClient() *client.Configuration {
	if x != nil {
		return x.HttpClient
	}
	return nil
}

func (x *PrometheusPushgatewayConfiguration) GetPushTimeout() *durationpb.Duration {
	if x != nil {
		return x.PushTimeout
	}
	return nil
}

func (x *PrometheusPushgatewayConfiguration) GetAdditionalScrapeTargets() []*PrometheusPushgatewayConfiguration_AdditionalScrapeTarget {
	if x != nil {
		return x.AdditionalScrapeTargets
	}
	return nil
}

type TracingConfiguration struct {
	state              protoimpl.MessageState          `protogen:"open.v1"`
	Backends           []*TracingConfiguration_Backend `protobuf:"bytes,1,rep,name=backends,proto3" json:"backends,omitempty"`
	ResourceAttributes []*v1.KeyValue                  `protobuf:"bytes,2,rep,name=resource_attributes,json=resourceAttributes,proto3" json:"resource_attributes,omitempty"`
	Sampler            *TracingConfiguration_Sampler   `protobuf:"bytes,3,opt,name=sampler,proto3" json:"sampler,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

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

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

func (*TracingConfiguration) ProtoMessage() {}

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

func (x *TracingConfiguration) GetBackends() []*TracingConfiguration_Backend {
	if x != nil {
		return x.Backends
	}
	return nil
}

func (x *TracingConfiguration) GetResourceAttributes() []*v1.KeyValue {
	if x != nil {
		return x.ResourceAttributes
	}
	return nil
}

func (x *TracingConfiguration) GetSampler() *TracingConfiguration_Sampler {
	if x != nil {
		return x.Sampler
	}
	return nil
}

type SetUmaskConfiguration struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Umask         uint32                 `protobuf:"varint,1,opt,name=umask,proto3" json:"umask,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SetUmaskConfiguration) ProtoMessage() {}

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

func (x *SetUmaskConfiguration) GetUmask() uint32 {
	if x != nil {
		return x.Umask
	}
	return 0
}

type SetResourceLimitConfiguration struct {
	state         protoimpl.MessageState  `protogen:"open.v1"`
	SoftLimit     *wrapperspb.UInt64Value `protobuf:"bytes,1,opt,name=soft_limit,json=softLimit,proto3" json:"soft_limit,omitempty"`
	HardLimit     *wrapperspb.UInt64Value `protobuf:"bytes,2,opt,name=hard_limit,json=hardLimit,proto3" json:"hard_limit,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SetResourceLimitConfiguration) ProtoMessage() {}

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

func (x *SetResourceLimitConfiguration) GetSoftLimit() *wrapperspb.UInt64Value {
	if x != nil {
		return x.SoftLimit
	}
	return nil
}

func (x *SetResourceLimitConfiguration) GetHardLimit() *wrapperspb.UInt64Value {
	if x != nil {
		return x.HardLimit
	}
	return nil
}

type Configuration struct {
	state                       protoimpl.MessageState                    `protogen:"open.v1"`
	Tracing                     *TracingConfiguration                     `protobuf:"bytes,1,opt,name=tracing,proto3" json:"tracing,omitempty"`
	MutexProfileFraction        int32                                     `protobuf:"varint,2,opt,name=mutex_profile_fraction,json=mutexProfileFraction,proto3" json:"mutex_profile_fraction,omitempty"`
	PrometheusPushgateway       *PrometheusPushgatewayConfiguration       `protobuf:"bytes,3,opt,name=prometheus_pushgateway,json=prometheusPushgateway,proto3" json:"prometheus_pushgateway,omitempty"`
	LogPaths                    []string                                  `protobuf:"bytes,5,rep,name=log_paths,json=logPaths,proto3" json:"log_paths,omitempty"`
	DiagnosticsHttpServer       *DiagnosticsHTTPServerConfiguration       `protobuf:"bytes,6,opt,name=diagnostics_http_server,json=diagnosticsHttpServer,proto3" json:"diagnostics_http_server,omitempty"`
	SetUmask                    *SetUmaskConfiguration                    `protobuf:"bytes,7,opt,name=set_umask,json=setUmask,proto3" json:"set_umask,omitempty"`
	GrpcForwardAndReuseMetadata []string                                  `protobuf:"bytes,8,rep,name=grpc_forward_and_reuse_metadata,json=grpcForwardAndReuseMetadata,proto3" json:"grpc_forward_and_reuse_metadata,omitempty"`
	GrpcKubernetesResolvers     map[string]*GRPCKubernetesResolver        `protobuf:"bytes,16,rep,name=grpc_kubernetes_resolvers,json=grpcKubernetesResolvers,proto3" json:"grpc_kubernetes_resolvers,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	SetResourceLimits           map[string]*SetResourceLimitConfiguration `protobuf:"bytes,15,rep,name=set_resource_limits,json=setResourceLimits,proto3" json:"set_resource_limits,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields               protoimpl.UnknownFields
	sizeCache                   protoimpl.SizeCache
}

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

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

func (*Configuration) ProtoMessage() {}

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

func (x *Configuration) GetTracing() *TracingConfiguration {
	if x != nil {
		return x.Tracing
	}
	return nil
}

func (x *Configuration) GetMutexProfileFraction() int32 {
	if x != nil {
		return x.MutexProfileFraction
	}
	return 0
}

func (x *Configuration) GetPrometheusPushgateway() *PrometheusPushgatewayConfiguration {
	if x != nil {
		return x.PrometheusPushgateway
	}
	return nil
}

func (x *Configuration) GetLogPaths() []string {
	if x != nil {
		return x.LogPaths
	}
	return nil
}

func (x *Configuration) GetDiagnosticsHttpServer() *DiagnosticsHTTPServerConfiguration {
	if x != nil {
		return x.DiagnosticsHttpServer
	}
	return nil
}

func (x *Configuration) GetSetUmask() *SetUmaskConfiguration {
	if x != nil {
		return x.SetUmask
	}
	return nil
}

func (x *Configuration) GetGrpcForwardAndReuseMetadata() []string {
	if x != nil {
		return x.GrpcForwardAndReuseMetadata
	}
	return nil
}

func (x *Configuration) GetGrpcKubernetesResolvers() map[string]*GRPCKubernetesResolver {
	if x != nil {
		return x.GrpcKubernetesResolvers
	}
	return nil
}

func (x *Configuration) GetSetResourceLimits() map[string]*SetResourceLimitConfiguration {
	if x != nil {
		return x.SetResourceLimits
	}
	return nil
}

type DiagnosticsHTTPServerConfiguration struct {
	state             protoimpl.MessageState  `protogen:"open.v1"`
	HttpServers       []*server.Configuration `protobuf:"bytes,5,rep,name=http_servers,json=httpServers,proto3" json:"http_servers,omitempty"`
	EnablePprof       bool                    `protobuf:"varint,2,opt,name=enable_pprof,json=enablePprof,proto3" json:"enable_pprof,omitempty"`
	EnablePrometheus  bool                    `protobuf:"varint,3,opt,name=enable_prometheus,json=enablePrometheus,proto3" json:"enable_prometheus,omitempty"`
	EnableActiveSpans bool                    `protobuf:"varint,4,opt,name=enable_active_spans,json=enableActiveSpans,proto3" json:"enable_active_spans,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*DiagnosticsHTTPServerConfiguration) ProtoMessage() {}

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

func (x *DiagnosticsHTTPServerConfiguration) GetHttpServers() []*server.Configuration {
	if x != nil {
		return x.HttpServers
	}
	return nil
}

func (x *DiagnosticsHTTPServerConfiguration) GetEnablePprof() bool {
	if x != nil {
		return x.EnablePprof
	}
	return false
}

func (x *DiagnosticsHTTPServerConfiguration) GetEnablePrometheus() bool {
	if x != nil {
		return x.EnablePrometheus
	}
	return false
}

func (x *DiagnosticsHTTPServerConfiguration) GetEnableActiveSpans() bool {
	if x != nil {
		return x.EnableActiveSpans
	}
	return false
}

type GRPCKubernetesResolver struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	ApiServerHttpClient *client.Configuration  `protobuf:"bytes,1,opt,name=api_server_http_client,json=apiServerHttpClient,proto3" json:"api_server_http_client,omitempty"`
	ApiServerUrl        string                 `protobuf:"bytes,2,opt,name=api_server_url,json=apiServerUrl,proto3" json:"api_server_url,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

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

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

func (*GRPCKubernetesResolver) ProtoMessage() {}

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

func (x *GRPCKubernetesResolver) GetApiServerHttpClient() *client.Configuration {
	if x != nil {
		return x.ApiServerHttpClient
	}
	return nil
}

func (x *GRPCKubernetesResolver) GetApiServerUrl() string {
	if x != nil {
		return x.ApiServerUrl
	}
	return ""
}

type PrometheusPushgatewayConfiguration_AdditionalScrapeTarget struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	HttpClient        *client.Configuration  `protobuf:"bytes,1,opt,name=http_client,json=httpClient,proto3" json:"http_client,omitempty"`
	Url               string                 `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
	MetricNamePattern string                 `protobuf:"bytes,3,opt,name=metric_name_pattern,json=metricNamePattern,proto3" json:"metric_name_pattern,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *PrometheusPushgatewayConfiguration_AdditionalScrapeTarget) Reset() {
	*x = PrometheusPushgatewayConfiguration_AdditionalScrapeTarget{}
	mi := &file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PrometheusPushgatewayConfiguration_AdditionalScrapeTarget) ProtoMessage() {}

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

func (x *PrometheusPushgatewayConfiguration_AdditionalScrapeTarget) GetHttpClient() *client.Configuration {
	if x != nil {
		return x.HttpClient
	}
	return nil
}

func (x *PrometheusPushgatewayConfiguration_AdditionalScrapeTarget) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *PrometheusPushgatewayConfiguration_AdditionalScrapeTarget) GetMetricNamePattern() string {
	if x != nil {
		return x.MetricNamePattern
	}
	return ""
}

type TracingConfiguration_Backend struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to SpanExporter:
	//
	//	*TracingConfiguration_Backend_JaegerCollectorSpanExporter_
	//	*TracingConfiguration_Backend_OtlpSpanExporter
	SpanExporter isTracingConfiguration_Backend_SpanExporter `protobuf_oneof:"span_exporter"`
	// Types that are valid to be assigned to SpanProcessor:
	//
	//	*TracingConfiguration_Backend_SimpleSpanProcessor
	//	*TracingConfiguration_Backend_BatchSpanProcessor_
	SpanProcessor isTracingConfiguration_Backend_SpanProcessor `protobuf_oneof:"span_processor"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TracingConfiguration_Backend) ProtoMessage() {}

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

func (x *TracingConfiguration_Backend) GetSpanExporter() isTracingConfiguration_Backend_SpanExporter {
	if x != nil {
		return x.SpanExporter
	}
	return nil
}

func (x *TracingConfiguration_Backend) GetJaegerCollectorSpanExporter() *TracingConfiguration_Backend_JaegerCollectorSpanExporter {
	if x != nil {
		if x, ok := x.SpanExporter.(*TracingConfiguration_Backend_JaegerCollectorSpanExporter_); ok {
			return x.JaegerCollectorSpanExporter
		}
	}
	return nil
}

func (x *TracingConfiguration_Backend) GetOtlpSpanExporter() *grpc.ClientConfiguration {
	if x != nil {
		if x, ok := x.SpanExporter.(*TracingConfiguration_Backend_OtlpSpanExporter); ok {
			return x.OtlpSpanExporter
		}
	}
	return nil
}

func (x *TracingConfiguration_Backend) GetSpanProcessor() isTracingConfiguration_Backend_SpanProcessor {
	if x != nil {
		return x.SpanProcessor
	}
	return nil
}

func (x *TracingConfiguration_Backend) GetSimpleSpanProcessor() *emptypb.Empty {
	if x != nil {
		if x, ok := x.SpanProcessor.(*TracingConfiguration_Backend_SimpleSpanProcessor); ok {
			return x.SimpleSpanProcessor
		}
	}
	return nil
}

func (x *TracingConfiguration_Backend) GetBatchSpanProcessor() *TracingConfiguration_Backend_BatchSpanProcessor {
	if x != nil {
		if x, ok := x.SpanProcessor.(*TracingConfiguration_Backend_BatchSpanProcessor_); ok {
			return x.BatchSpanProcessor
		}
	}
	return nil
}

type isTracingConfiguration_Backend_SpanExporter interface {
	isTracingConfiguration_Backend_SpanExporter()
}

type TracingConfiguration_Backend_JaegerCollectorSpanExporter_ struct {
	JaegerCollectorSpanExporter *TracingConfiguration_Backend_JaegerCollectorSpanExporter `protobuf:"bytes,1,opt,name=jaeger_collector_span_exporter,json=jaegerCollectorSpanExporter,proto3,oneof"`
}

type TracingConfiguration_Backend_OtlpSpanExporter struct {
	OtlpSpanExporter *grpc.ClientConfiguration `protobuf:"bytes,4,opt,name=otlp_span_exporter,json=otlpSpanExporter,proto3,oneof"`
}

func (*TracingConfiguration_Backend_JaegerCollectorSpanExporter_) isTracingConfiguration_Backend_SpanExporter() {
}

func (*TracingConfiguration_Backend_OtlpSpanExporter) isTracingConfiguration_Backend_SpanExporter() {}

type isTracingConfiguration_Backend_SpanProcessor interface {
	isTracingConfiguration_Backend_SpanProcessor()
}

type TracingConfiguration_Backend_SimpleSpanProcessor struct {
	SimpleSpanProcessor *emptypb.Empty `protobuf:"bytes,2,opt,name=simple_span_processor,json=simpleSpanProcessor,proto3,oneof"`
}

type TracingConfiguration_Backend_BatchSpanProcessor_ struct {
	BatchSpanProcessor *TracingConfiguration_Backend_BatchSpanProcessor `protobuf:"bytes,3,opt,name=batch_span_processor,json=batchSpanProcessor,proto3,oneof"`
}

func (*TracingConfiguration_Backend_SimpleSpanProcessor) isTracingConfiguration_Backend_SpanProcessor() {
}

func (*TracingConfiguration_Backend_BatchSpanProcessor_) isTracingConfiguration_Backend_SpanProcessor() {
}

type TracingConfiguration_Sampler struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Policy:
	//
	//	*TracingConfiguration_Sampler_Always
	//	*TracingConfiguration_Sampler_Never
	//	*TracingConfiguration_Sampler_ParentBased_
	//	*TracingConfiguration_Sampler_TraceIdRatioBased
	//	*TracingConfiguration_Sampler_MaximumRate_
	Policy        isTracingConfiguration_Sampler_Policy `protobuf_oneof:"policy"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TracingConfiguration_Sampler) ProtoMessage() {}

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

func (x *TracingConfiguration_Sampler) GetPolicy() isTracingConfiguration_Sampler_Policy {
	if x != nil {
		return x.Policy
	}
	return nil
}

func (x *TracingConfiguration_Sampler) GetAlways() *emptypb.Empty {
	if x != nil {
		if x, ok := x.Policy.(*TracingConfiguration_Sampler_Always); ok {
			return x.Always
		}
	}
	return nil
}

func (x *TracingConfiguration_Sampler) GetNever() *emptypb.Empty {
	if x != nil {
		if x, ok := x.Policy.(*TracingConfiguration_Sampler_Never); ok {
			return x.Never
		}
	}
	return nil
}

func (x *TracingConfiguration_Sampler) GetParentBased() *TracingConfiguration_Sampler_ParentBased {
	if x != nil {
		if x, ok := x.Policy.(*TracingConfiguration_Sampler_ParentBased_); ok {
			return x.ParentBased
		}
	}
	return nil
}

func (x *TracingConfiguration_Sampler) GetTraceIdRatioBased() float64 {
	if x != nil {
		if x, ok := x.Policy.(*TracingConfiguration_Sampler_TraceIdRatioBased); ok {
			return x.TraceIdRatioBased
		}
	}
	return 0
}

func (x *TracingConfiguration_Sampler) GetMaximumRate() *TracingConfiguration_Sampler_MaximumRate {
	if x != nil {
		if x, ok := x.Policy.(*TracingConfiguration_Sampler_MaximumRate_); ok {
			return x.MaximumRate
		}
	}
	return nil
}

type isTracingConfiguration_Sampler_Policy interface {
	isTracingConfiguration_Sampler_Policy()
}

type TracingConfiguration_Sampler_Always struct {
	Always *emptypb.Empty `protobuf:"bytes,1,opt,name=always,proto3,oneof"`
}

type TracingConfiguration_Sampler_Never struct {
	Never *emptypb.Empty `protobuf:"bytes,2,opt,name=never,proto3,oneof"`
}

type TracingConfiguration_Sampler_ParentBased_ struct {
	ParentBased *TracingConfiguration_Sampler_ParentBased `protobuf:"bytes,3,opt,name=parent_based,json=parentBased,proto3,oneof"`
}

type TracingConfiguration_Sampler_TraceIdRatioBased struct {
	TraceIdRatioBased float64 `protobuf:"fixed64,4,opt,name=trace_id_ratio_based,json=traceIdRatioBased,proto3,oneof"`
}

type TracingConfiguration_Sampler_MaximumRate_ struct {
	MaximumRate *TracingConfiguration_Sampler_MaximumRate `protobuf:"bytes,5,opt,name=maximum_rate,json=maximumRate,proto3,oneof"`
}

func (*TracingConfiguration_Sampler_Always) isTracingConfiguration_Sampler_Policy() {}

func (*TracingConfiguration_Sampler_Never) isTracingConfiguration_Sampler_Policy() {}

func (*TracingConfiguration_Sampler_ParentBased_) isTracingConfiguration_Sampler_Policy() {}

func (*TracingConfiguration_Sampler_TraceIdRatioBased) isTracingConfiguration_Sampler_Policy() {}

func (*TracingConfiguration_Sampler_MaximumRate_) isTracingConfiguration_Sampler_Policy() {}

type TracingConfiguration_Backend_JaegerCollectorSpanExporter struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Endpoint      string                 `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	HttpClient    *client.Configuration  `protobuf:"bytes,2,opt,name=http_client,json=httpClient,proto3" json:"http_client,omitempty"`
	Password      string                 `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"`
	Username      string                 `protobuf:"bytes,4,opt,name=username,proto3" json:"username,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TracingConfiguration_Backend_JaegerCollectorSpanExporter) ProtoMessage() {}

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

func (x *TracingConfiguration_Backend_JaegerCollectorSpanExporter) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

func (x *TracingConfiguration_Backend_JaegerCollectorSpanExporter) GetHttpClient() *client.Configuration {
	if x != nil {
		return x.HttpClient
	}
	return nil
}

func (x *TracingConfiguration_Backend_JaegerCollectorSpanExporter) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *TracingConfiguration_Backend_JaegerCollectorSpanExporter) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

type TracingConfiguration_Backend_BatchSpanProcessor struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	BatchTimeout       *durationpb.Duration   `protobuf:"bytes,1,opt,name=batch_timeout,json=batchTimeout,proto3" json:"batch_timeout,omitempty"`
	Blocking           bool                   `protobuf:"varint,2,opt,name=blocking,proto3" json:"blocking,omitempty"`
	ExportTimeout      *durationpb.Duration   `protobuf:"bytes,3,opt,name=export_timeout,json=exportTimeout,proto3" json:"export_timeout,omitempty"`
	MaxExportBatchSize int64                  `protobuf:"varint,4,opt,name=max_export_batch_size,json=maxExportBatchSize,proto3" json:"max_export_batch_size,omitempty"`
	MaxQueueSize       int64                  `protobuf:"varint,5,opt,name=max_queue_size,json=maxQueueSize,proto3" json:"max_queue_size,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *TracingConfiguration_Backend_BatchSpanProcessor) Reset() {
	*x = TracingConfiguration_Backend_BatchSpanProcessor{}
	mi := &file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TracingConfiguration_Backend_BatchSpanProcessor) ProtoMessage() {}

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

func (x *TracingConfiguration_Backend_BatchSpanProcessor) GetBatchTimeout() *durationpb.Duration {
	if x != nil {
		return x.BatchTimeout
	}
	return nil
}

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

func (x *TracingConfiguration_Backend_BatchSpanProcessor) GetExportTimeout() *durationpb.Duration {
	if x != nil {
		return x.ExportTimeout
	}
	return nil
}

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

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

type TracingConfiguration_Sampler_ParentBased struct {
	state                  protoimpl.MessageState        `protogen:"open.v1"`
	NoParent               *TracingConfiguration_Sampler `protobuf:"bytes,1,opt,name=no_parent,json=noParent,proto3" json:"no_parent,omitempty"`
	LocalParentNotSampled  *TracingConfiguration_Sampler `protobuf:"bytes,2,opt,name=local_parent_not_sampled,json=localParentNotSampled,proto3" json:"local_parent_not_sampled,omitempty"`
	LocalParentSampled     *TracingConfiguration_Sampler `protobuf:"bytes,3,opt,name=local_parent_sampled,json=localParentSampled,proto3" json:"local_parent_sampled,omitempty"`
	RemoteParentNotSampled *TracingConfiguration_Sampler `protobuf:"bytes,4,opt,name=remote_parent_not_sampled,json=remoteParentNotSampled,proto3" json:"remote_parent_not_sampled,omitempty"`
	RemoteParentSampled    *TracingConfiguration_Sampler `protobuf:"bytes,5,opt,name=remote_parent_sampled,json=remoteParentSampled,proto3" json:"remote_parent_sampled,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *TracingConfiguration_Sampler_ParentBased) Reset() {
	*x = TracingConfiguration_Sampler_ParentBased{}
	mi := &file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TracingConfiguration_Sampler_ParentBased) ProtoMessage() {}

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

func (x *TracingConfiguration_Sampler_ParentBased) GetNoParent() *TracingConfiguration_Sampler {
	if x != nil {
		return x.NoParent
	}
	return nil
}

func (x *TracingConfiguration_Sampler_ParentBased) GetLocalParentNotSampled() *TracingConfiguration_Sampler {
	if x != nil {
		return x.LocalParentNotSampled
	}
	return nil
}

func (x *TracingConfiguration_Sampler_ParentBased) GetLocalParentSampled() *TracingConfiguration_Sampler {
	if x != nil {
		return x.LocalParentSampled
	}
	return nil
}

func (x *TracingConfiguration_Sampler_ParentBased) GetRemoteParentNotSampled() *TracingConfiguration_Sampler {
	if x != nil {
		return x.RemoteParentNotSampled
	}
	return nil
}

func (x *TracingConfiguration_Sampler_ParentBased) GetRemoteParentSampled() *TracingConfiguration_Sampler {
	if x != nil {
		return x.RemoteParentSampled
	}
	return nil
}

type TracingConfiguration_Sampler_MaximumRate struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	SamplesPerEpoch int64                  `protobuf:"varint,1,opt,name=samples_per_epoch,json=samplesPerEpoch,proto3" json:"samples_per_epoch,omitempty"`
	EpochDuration   *durationpb.Duration   `protobuf:"bytes,2,opt,name=epoch_duration,json=epochDuration,proto3" json:"epoch_duration,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *TracingConfiguration_Sampler_MaximumRate) Reset() {
	*x = TracingConfiguration_Sampler_MaximumRate{}
	mi := &file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TracingConfiguration_Sampler_MaximumRate) ProtoMessage() {}

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

func (x *TracingConfiguration_Sampler_MaximumRate) GetSamplesPerEpoch() int64 {
	if x != nil {
		return x.SamplesPerEpoch
	}
	return 0
}

func (x *TracingConfiguration_Sampler_MaximumRate) GetEpochDuration() *durationpb.Duration {
	if x != nil {
		return x.EpochDuration
	}
	return nil
}

var File_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto protoreflect.FileDescriptor

const file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_rawDesc = "" +
	"\n" +
	"Kgithub.com/buildbarn/bb-storage/pkg/proto/configuration/global/global.proto\x12\x1ebuildbarn.configuration.global\x1aGgithub.com/buildbarn/bb-storage/pkg/proto/configuration/grpc/grpc.proto\x1aPgithub.com/buildbarn/bb-storage/pkg/proto/configuration/http/client/client.proto\x1aPgithub.com/buildbarn/bb-storage/pkg/proto/configuration/http/server/server.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a*opentelemetry/proto/common/v1/common.proto\"\x96\x06\n" +
	"\"PrometheusPushgatewayConfiguration\x12\x10\n" +
	"\x03url\x18\x01 \x01(\tR\x03url\x12\x10\n" +
	"\x03job\x18\x02 \x01(\tR\x03job\x12l\n" +
	"\bgrouping\x18\x04 \x03(\v2P.buildbarn.configuration.global.PrometheusPushgatewayConfiguration.GroupingEntryR\bgrouping\x12>\n" +
	"\rpush_interval\x18\x05 \x01(\v2\x19.google.protobuf.DurationR\fpushInterval\x12S\n" +
	"\vhttp_client\x18\x06 \x01(\v22.buildbarn.configuration.http.client.ConfigurationR\n" +
	"httpClient\x12<\n" +
	"\fpush_timeout\x18\a \x01(\v2\x19.google.protobuf.DurationR\vpushTimeout\x12\x95\x01\n" +
	"\x19additional_scrape_targets\x18\b \x03(\v2Y.buildbarn.configuration.global.PrometheusPushgatewayConfiguration.AdditionalScrapeTargetR\x17additionalScrapeTargets\x1a;\n" +
	"\rGroupingEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a\xaf\x01\n" +
	"\x16AdditionalScrapeTarget\x12S\n" +
	"\vhttp_client\x18\x01 \x01(\v22.buildbarn.configuration.http.client.ConfigurationR\n" +
	"httpClient\x12\x10\n" +
	"\x03url\x18\x02 \x01(\tR\x03url\x12.\n" +
	"\x13metric_name_pattern\x18\x03 \x01(\tR\x11metricNamePatternJ\x04\b\x03\x10\x04\"\xc4\x12\n" +
	"\x14TracingConfiguration\x12X\n" +
	"\bbackends\x18\x01 \x03(\v2<.buildbarn.configuration.global.TracingConfiguration.BackendR\bbackends\x12X\n" +
	"\x13resource_attributes\x18\x02 \x03(\v2'.opentelemetry.proto.common.v1.KeyValueR\x12resourceAttributes\x12V\n" +
	"\asampler\x18\x03 \x01(\v2<.buildbarn.configuration.global.TracingConfiguration.SamplerR\asampler\x1a\xdc\a\n" +
	"\aBackend\x12\x9f\x01\n" +
	"\x1ejaeger_collector_span_exporter\x18\x01 \x01(\v2X.buildbarn.configuration.global.TracingConfiguration.Backend.JaegerCollectorSpanExporterH\x00R\x1bjaegerCollectorSpanExporter\x12a\n" +
	"\x12otlp_span_exporter\x18\x04 \x01(\v21.buildbarn.configuration.grpc.ClientConfigurationH\x00R\x10otlpSpanExporter\x12L\n" +
	"\x15simple_span_processor\x18\x02 \x01(\v2\x16.google.protobuf.EmptyH\x01R\x13simpleSpanProcessor\x12\x83\x01\n" +
	"\x14batch_span_processor\x18\x03 \x01(\v2O.buildbarn.configuration.global.TracingConfiguration.Backend.BatchSpanProcessorH\x01R\x12batchSpanProcessor\x1a\xc6\x01\n" +
	"\x1bJaegerCollectorSpanExporter\x12\x1a\n" +
	"\bendpoint\x18\x01 \x01(\tR\bendpoint\x12S\n" +
	"\vhttp_client\x18\x02 \x01(\v22.buildbarn.configuration.http.client.ConfigurationR\n" +
	"httpClient\x12\x1a\n" +
	"\bpassword\x18\x03 \x01(\tR\bpassword\x12\x1a\n" +
	"\busername\x18\x04 \x01(\tR\busername\x1a\x8b\x02\n" +
	"\x12BatchSpanProcessor\x12>\n" +
	"\rbatch_timeout\x18\x01 \x01(\v2\x19.google.protobuf.DurationR\fbatchTimeout\x12\x1a\n" +
	"\bblocking\x18\x02 \x01(\bR\bblocking\x12@\n" +
	"\x0eexport_timeout\x18\x03 \x01(\v2\x19.google.protobuf.DurationR\rexportTimeout\x121\n" +
	"\x15max_export_batch_size\x18\x04 \x01(\x03R\x12maxExportBatchSize\x12$\n" +
	"\x0emax_queue_size\x18\x05 \x01(\x03R\fmaxQueueSizeB\x0f\n" +
	"\rspan_exporterB\x10\n" +
	"\x0espan_processor\x1a\xc0\b\n" +
	"\aSampler\x120\n" +
	"\x06always\x18\x01 \x01(\v2\x16.google.protobuf.EmptyH\x00R\x06always\x12.\n" +
	"\x05never\x18\x02 \x01(\v2\x16.google.protobuf.EmptyH\x00R\x05never\x12m\n" +
	"\fparent_based\x18\x03 \x01(\v2H.buildbarn.configuration.global.TracingConfiguration.Sampler.ParentBasedH\x00R\vparentBased\x121\n" +
	"\x14trace_id_ratio_based\x18\x04 \x01(\x01H\x00R\x11traceIdRatioBased\x12m\n" +
	"\fmaximum_rate\x18\x05 \x01(\v2H.buildbarn.configuration.global.TracingConfiguration.Sampler.MaximumRateH\x00R\vmaximumRate\x1a\xba\x04\n" +
	"\vParentBased\x12Y\n" +
	"\tno_parent\x18\x01 \x01(\v2<.buildbarn.configuration.global.TracingConfiguration.SamplerR\bnoParent\x12u\n" +
	"\x18local_parent_not_sampled\x18\x02 \x01(\v2<.buildbarn.configuration.global.TracingConfiguration.SamplerR\x15localParentNotSampled\x12n\n" +
	"\x14local_parent_sampled\x18\x03 \x01(\v2<.buildbarn.configuration.global.TracingConfiguration.SamplerR\x12localParentSampled\x12w\n" +
	"\x19remote_parent_not_sampled\x18\x04 \x01(\v2<.buildbarn.configuration.global.TracingConfiguration.SamplerR\x16remoteParentNotSampled\x12p\n" +
	"\x15remote_parent_sampled\x18\x05 \x01(\v2<.buildbarn.configuration.global.TracingConfiguration.SamplerR\x13remoteParentSampled\x1a{\n" +
	"\vMaximumRate\x12*\n" +
	"\x11samples_per_epoch\x18\x01 \x01(\x03R\x0fsamplesPerEpoch\x12@\n" +
	"\x0eepoch_duration\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\repochDurationB\b\n" +
	"\x06policy\"-\n" +
	"\x15SetUmaskConfiguration\x12\x14\n" +
	"\x05umask\x18\x01 \x01(\rR\x05umask\"\x99\x01\n" +
	"\x1dSetResourceLimitConfiguration\x12;\n" +
	"\n" +
	"soft_limit\x18\x01 \x01(\v2\x1c.google.protobuf.UInt64ValueR\tsoftLimit\x12;\n" +
	"\n" +
	"hard_limit\x18\x02 \x01(\v2\x1c.google.protobuf.UInt64ValueR\thardLimit\"\xd3\b\n" +
	"\rConfiguration\x12N\n" +
	"\atracing\x18\x01 \x01(\v24.buildbarn.configuration.global.TracingConfigurationR\atracing\x124\n" +
	"\x16mutex_profile_fraction\x18\x02 \x01(\x05R\x14mutexProfileFraction\x12y\n" +
	"\x16prometheus_pushgateway\x18\x03 \x01(\v2B.buildbarn.configuration.global.PrometheusPushgatewayConfigurationR\x15prometheusPushgateway\x12\x1b\n" +
	"\tlog_paths\x18\x05 \x03(\tR\blogPaths\x12z\n" +
	"\x17diagnostics_http_server\x18\x06 \x01(\v2B.buildbarn.configuration.global.DiagnosticsHTTPServerConfigurationR\x15diagnosticsHttpServer\x12R\n" +
	"\tset_umask\x18\a \x01(\v25.buildbarn.configuration.global.SetUmaskConfigurationR\bsetUmask\x12D\n" +
	"\x1fgrpc_forward_and_reuse_metadata\x18\b \x03(\tR\x1bgrpcForwardAndReuseMetadata\x12\x86\x01\n" +
	"\x19grpc_kubernetes_resolvers\x18\x10 \x03(\v2J.buildbarn.configuration.global.Configuration.GrpcKubernetesResolversEntryR\x17grpcKubernetesResolvers\x12t\n" +
	"\x13set_resource_limits\x18\x0f \x03(\v2D.buildbarn.configuration.global.Configuration.SetResourceLimitsEntryR\x11setResourceLimits\x1a\x82\x01\n" +
	"\x1cGrpcKubernetesResolversEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12L\n" +
	"\x05value\x18\x02 \x01(\v26.buildbarn.configuration.global.GRPCKubernetesResolverR\x05value:\x028\x01\x1a\x83\x01\n" +
	"\x16SetResourceLimitsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12S\n" +
	"\x05value\x18\x02 \x01(\v2=.buildbarn.configuration.global.SetResourceLimitConfigurationR\x05value:\x028\x01J\x04\b\x04\x10\x05\"\x81\x02\n" +
	"\"DiagnosticsHTTPServerConfiguration\x12U\n" +
	"\fhttp_servers\x18\x05 \x03(\v22.buildbarn.configuration.http.server.ConfigurationR\vhttpServers\x12!\n" +
	"\fenable_pprof\x18\x02 \x01(\bR\venablePprof\x12+\n" +
	"\x11enable_prometheus\x18\x03 \x01(\bR\x10enablePrometheus\x12.\n" +
	"\x13enable_active_spans\x18\x04 \x01(\bR\x11enableActiveSpansJ\x04\b\x01\x10\x02\"\xa7\x01\n" +
	"\x16GRPCKubernetesResolver\x12g\n" +
	"\x16api_server_http_client\x18\x01 \x01(\v22.buildbarn.configuration.http.client.ConfigurationR\x13apiServerHttpClient\x12$\n" +
	"\x0eapi_server_url\x18\x02 \x01(\tR\fapiServerUrlB@Z>github.com/buildbarn/bb-storage/pkg/proto/configuration/globalb\x06proto3"

var (
	file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_rawDescOnce sync.Once
	file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_rawDescData []byte
)

func file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_rawDescGZIP() []byte {
	file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_rawDescOnce.Do(func() {
		file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_rawDesc), len(file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_rawDesc)))
	})
	return file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_rawDescData
}

var file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_msgTypes = make([]protoimpl.MessageInfo, 17)
var file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_goTypes = []any{
	(*PrometheusPushgatewayConfiguration)(nil), // 0: buildbarn.configuration.global.PrometheusPushgatewayConfiguration
	(*TracingConfiguration)(nil),               // 1: buildbarn.configuration.global.TracingConfiguration
	(*SetUmaskConfiguration)(nil),              // 2: buildbarn.configuration.global.SetUmaskConfiguration
	(*SetResourceLimitConfiguration)(nil),      // 3: buildbarn.configuration.global.SetResourceLimitConfiguration
	(*Configuration)(nil),                      // 4: buildbarn.configuration.global.Configuration
	(*DiagnosticsHTTPServerConfiguration)(nil), // 5: buildbarn.configuration.global.DiagnosticsHTTPServerConfiguration
	(*GRPCKubernetesResolver)(nil),             // 6: buildbarn.configuration.global.GRPCKubernetesResolver
	nil,                                        // 7: buildbarn.configuration.global.PrometheusPushgatewayConfiguration.GroupingEntry
	(*PrometheusPushgatewayConfiguration_AdditionalScrapeTarget)(nil), // 8: buildbarn.configuration.global.PrometheusPushgatewayConfiguration.AdditionalScrapeTarget
	(*TracingConfiguration_Backend)(nil),                              // 9: buildbarn.configuration.global.TracingConfiguration.Backend
	(*TracingConfiguration_Sampler)(nil),                              // 10: buildbarn.configuration.global.TracingConfiguration.Sampler
	(*TracingConfiguration_Backend_JaegerCollectorSpanExporter)(nil),  // 11: buildbarn.configuration.global.TracingConfiguration.Backend.JaegerCollectorSpanExporter
	(*TracingConfiguration_Backend_BatchSpanProcessor)(nil),           // 12: buildbarn.configuration.global.TracingConfiguration.Backend.BatchSpanProcessor
	(*TracingConfiguration_Sampler_ParentBased)(nil),                  // 13: buildbarn.configuration.global.TracingConfiguration.Sampler.ParentBased
	(*TracingConfiguration_Sampler_MaximumRate)(nil),                  // 14: buildbarn.configuration.global.TracingConfiguration.Sampler.MaximumRate
	nil,                              // 15: buildbarn.configuration.global.Configuration.GrpcKubernetesResolversEntry
	nil,                              // 16: buildbarn.configuration.global.Configuration.SetResourceLimitsEntry
	(*durationpb.Duration)(nil),      // 17: google.protobuf.Duration
	(*client.Configuration)(nil),     // 18: buildbarn.configuration.http.client.Configuration
	(*v1.KeyValue)(nil),              // 19: opentelemetry.proto.common.v1.KeyValue
	(*wrapperspb.UInt64Value)(nil),   // 20: google.protobuf.UInt64Value
	(*server.Configuration)(nil),     // 21: buildbarn.configuration.http.server.Configuration
	(*grpc.ClientConfiguration)(nil), // 22: buildbarn.configuration.grpc.ClientConfiguration
	(*emptypb.Empty)(nil),            // 23: google.protobuf.Empty
}
var file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_depIdxs = []int32{
	7,  // 0: buildbarn.configuration.global.PrometheusPushgatewayConfiguration.grouping:type_name -> buildbarn.configuration.global.PrometheusPushgatewayConfiguration.GroupingEntry
	17, // 1: buildbarn.configuration.global.PrometheusPushgatewayConfiguration.push_interval:type_name -> google.protobuf.Duration
	18, // 2: buildbarn.configuration.global.PrometheusPushgatewayConfiguration.http_client:type_name -> buildbarn.configuration.http.client.Configuration
	17, // 3: buildbarn.configuration.global.PrometheusPushgatewayConfiguration.push_timeout:type_name -> google.protobuf.Duration
	8,  // 4: buildbarn.configuration.global.PrometheusPushgatewayConfiguration.additional_scrape_targets:type_name -> buildbarn.configuration.global.PrometheusPushgatewayConfiguration.AdditionalScrapeTarget
	9,  // 5: buildbarn.configuration.global.TracingConfiguration.backends:type_name -> buildbarn.configuration.global.TracingConfiguration.Backend
	19, // 6: buildbarn.configuration.global.TracingConfiguration.resource_attributes:type_name -> opentelemetry.proto.common.v1.KeyValue
	10, // 7: buildbarn.configuration.global.TracingConfiguration.sampler:type_name -> buildbarn.configuration.global.TracingConfiguration.Sampler
	20, // 8: buildbarn.configuration.global.SetResourceLimitConfiguration.soft_limit:type_name -> google.protobuf.UInt64Value
	20, // 9: buildbarn.configuration.global.SetResourceLimitConfiguration.hard_limit:type_name -> google.protobuf.UInt64Value
	1,  // 10: buildbarn.configuration.global.Configuration.tracing:type_name -> buildbarn.configuration.global.TracingConfiguration
	0,  // 11: buildbarn.configuration.global.Configuration.prometheus_pushgateway:type_name -> buildbarn.configuration.global.PrometheusPushgatewayConfiguration
	5,  // 12: buildbarn.configuration.global.Configuration.diagnostics_http_server:type_name -> buildbarn.configuration.global.DiagnosticsHTTPServerConfiguration
	2,  // 13: buildbarn.configuration.global.Configuration.set_umask:type_name -> buildbarn.configuration.global.SetUmaskConfiguration
	15, // 14: buildbarn.configuration.global.Configuration.grpc_kubernetes_resolvers:type_name -> buildbarn.configuration.global.Configuration.GrpcKubernetesResolversEntry
	16, // 15: buildbarn.configuration.global.Configuration.set_resource_limits:type_name -> buildbarn.configuration.global.Configuration.SetResourceLimitsEntry
	21, // 16: buildbarn.configuration.global.DiagnosticsHTTPServerConfiguration.http_servers:type_name -> buildbarn.configuration.http.server.Configuration
	18, // 17: buildbarn.configuration.global.GRPCKubernetesResolver.api_server_http_client:type_name -> buildbarn.configuration.http.client.Configuration
	18, // 18: buildbarn.configuration.global.PrometheusPushgatewayConfiguration.AdditionalScrapeTarget.http_client:type_name -> buildbarn.configuration.http.client.Configuration
	11, // 19: buildbarn.configuration.global.TracingConfiguration.Backend.jaeger_collector_span_exporter:type_name -> buildbarn.configuration.global.TracingConfiguration.Backend.JaegerCollectorSpanExporter
	22, // 20: buildbarn.configuration.global.TracingConfiguration.Backend.otlp_span_exporter:type_name -> buildbarn.configuration.grpc.ClientConfiguration
	23, // 21: buildbarn.configuration.global.TracingConfiguration.Backend.simple_span_processor:type_name -> google.protobuf.Empty
	12, // 22: buildbarn.configuration.global.TracingConfiguration.Backend.batch_span_processor:type_name -> buildbarn.configuration.global.TracingConfiguration.Backend.BatchSpanProcessor
	23, // 23: buildbarn.configuration.global.TracingConfiguration.Sampler.always:type_name -> google.protobuf.Empty
	23, // 24: buildbarn.configuration.global.TracingConfiguration.Sampler.never:type_name -> google.protobuf.Empty
	13, // 25: buildbarn.configuration.global.TracingConfiguration.Sampler.parent_based:type_name -> buildbarn.configuration.global.TracingConfiguration.Sampler.ParentBased
	14, // 26: buildbarn.configuration.global.TracingConfiguration.Sampler.maximum_rate:type_name -> buildbarn.configuration.global.TracingConfiguration.Sampler.MaximumRate
	18, // 27: buildbarn.configuration.global.TracingConfiguration.Backend.JaegerCollectorSpanExporter.http_client:type_name -> buildbarn.configuration.http.client.Configuration
	17, // 28: buildbarn.configuration.global.TracingConfiguration.Backend.BatchSpanProcessor.batch_timeout:type_name -> google.protobuf.Duration
	17, // 29: buildbarn.configuration.global.TracingConfiguration.Backend.BatchSpanProcessor.export_timeout:type_name -> google.protobuf.Duration
	10, // 30: buildbarn.configuration.global.TracingConfiguration.Sampler.ParentBased.no_parent:type_name -> buildbarn.configuration.global.TracingConfiguration.Sampler
	10, // 31: buildbarn.configuration.global.TracingConfiguration.Sampler.ParentBased.local_parent_not_sampled:type_name -> buildbarn.configuration.global.TracingConfiguration.Sampler
	10, // 32: buildbarn.configuration.global.TracingConfiguration.Sampler.ParentBased.local_parent_sampled:type_name -> buildbarn.configuration.global.TracingConfiguration.Sampler
	10, // 33: buildbarn.configuration.global.TracingConfiguration.Sampler.ParentBased.remote_parent_not_sampled:type_name -> buildbarn.configuration.global.TracingConfiguration.Sampler
	10, // 34: buildbarn.configuration.global.TracingConfiguration.Sampler.ParentBased.remote_parent_sampled:type_name -> buildbarn.configuration.global.TracingConfiguration.Sampler
	17, // 35: buildbarn.configuration.global.TracingConfiguration.Sampler.MaximumRate.epoch_duration:type_name -> google.protobuf.Duration
	6,  // 36: buildbarn.configuration.global.Configuration.GrpcKubernetesResolversEntry.value:type_name -> buildbarn.configuration.global.GRPCKubernetesResolver
	3,  // 37: buildbarn.configuration.global.Configuration.SetResourceLimitsEntry.value:type_name -> buildbarn.configuration.global.SetResourceLimitConfiguration
	38, // [38:38] is the sub-list for method output_type
	38, // [38:38] is the sub-list for method input_type
	38, // [38:38] is the sub-list for extension type_name
	38, // [38:38] is the sub-list for extension extendee
	0,  // [0:38] is the sub-list for field type_name
}

func init() { file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_init() }
func file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_init() {
	if File_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto != nil {
		return
	}
	file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_msgTypes[9].OneofWrappers = []any{
		(*TracingConfiguration_Backend_JaegerCollectorSpanExporter_)(nil),
		(*TracingConfiguration_Backend_OtlpSpanExporter)(nil),
		(*TracingConfiguration_Backend_SimpleSpanProcessor)(nil),
		(*TracingConfiguration_Backend_BatchSpanProcessor_)(nil),
	}
	file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_msgTypes[10].OneofWrappers = []any{
		(*TracingConfiguration_Sampler_Always)(nil),
		(*TracingConfiguration_Sampler_Never)(nil),
		(*TracingConfiguration_Sampler_ParentBased_)(nil),
		(*TracingConfiguration_Sampler_TraceIdRatioBased)(nil),
		(*TracingConfiguration_Sampler_MaximumRate_)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_rawDesc), len(file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   17,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_goTypes,
		DependencyIndexes: file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_depIdxs,
		MessageInfos:      file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_msgTypes,
	}.Build()
	File_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto = out.File
	file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_goTypes = nil
	file_github_com_buildbarn_bb_storage_pkg_proto_configuration_global_global_proto_depIdxs = nil
}
