// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.10
// 	protoc        v6.31.1
// source: bonanza.build/pkg/proto/configuration/bonanza_scheduler/bonanza_scheduler.proto

package bonanza_scheduler

import (
	scheduler "bonanza.build/pkg/proto/configuration/scheduler"
	global "github.com/buildbarn/bb-storage/pkg/proto/configuration/global"
	grpc "github.com/buildbarn/bb-storage/pkg/proto/configuration/grpc"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	durationpb "google.golang.org/protobuf/types/known/durationpb"
	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 ApplicationConfiguration struct {
	state                             protoimpl.MessageState                   `protogen:"open.v1"`
	Global                            *global.Configuration                    `protobuf:"bytes,1,opt,name=global,proto3" json:"global,omitempty"`
	ClientGrpcServers                 []*grpc.ServerConfiguration              `protobuf:"bytes,3,rep,name=client_grpc_servers,json=clientGrpcServers,proto3" json:"client_grpc_servers,omitempty"`
	WorkerGrpcServers                 []*grpc.ServerConfiguration              `protobuf:"bytes,4,rep,name=worker_grpc_servers,json=workerGrpcServers,proto3" json:"worker_grpc_servers,omitempty"`
	BuildQueueStateGrpcServers        []*grpc.ServerConfiguration              `protobuf:"bytes,5,rep,name=build_queue_state_grpc_servers,json=buildQueueStateGrpcServers,proto3" json:"build_queue_state_grpc_servers,omitempty"`
	PredeclaredPlatformQueues         []*PredeclaredPlatformQueueConfiguration `protobuf:"bytes,6,rep,name=predeclared_platform_queues,json=predeclaredPlatformQueues,proto3" json:"predeclared_platform_queues,omitempty"`
	ActionRouter                      *scheduler.ActionRouterConfiguration     `protobuf:"bytes,7,opt,name=action_router,json=actionRouter,proto3" json:"action_router,omitempty"`
	PlatformQueueWithNoWorkersTimeout *durationpb.Duration                     `protobuf:"bytes,8,opt,name=platform_queue_with_no_workers_timeout,json=platformQueueWithNoWorkersTimeout,proto3" json:"platform_queue_with_no_workers_timeout,omitempty"`
	unknownFields                     protoimpl.UnknownFields
	sizeCache                         protoimpl.SizeCache
}

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

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

func (*ApplicationConfiguration) ProtoMessage() {}

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

func (x *ApplicationConfiguration) GetGlobal() *global.Configuration {
	if x != nil {
		return x.Global
	}
	return nil
}

func (x *ApplicationConfiguration) GetClientGrpcServers() []*grpc.ServerConfiguration {
	if x != nil {
		return x.ClientGrpcServers
	}
	return nil
}

func (x *ApplicationConfiguration) GetWorkerGrpcServers() []*grpc.ServerConfiguration {
	if x != nil {
		return x.WorkerGrpcServers
	}
	return nil
}

func (x *ApplicationConfiguration) GetBuildQueueStateGrpcServers() []*grpc.ServerConfiguration {
	if x != nil {
		return x.BuildQueueStateGrpcServers
	}
	return nil
}

func (x *ApplicationConfiguration) GetPredeclaredPlatformQueues() []*PredeclaredPlatformQueueConfiguration {
	if x != nil {
		return x.PredeclaredPlatformQueues
	}
	return nil
}

func (x *ApplicationConfiguration) GetActionRouter() *scheduler.ActionRouterConfiguration {
	if x != nil {
		return x.ActionRouter
	}
	return nil
}

func (x *ApplicationConfiguration) GetPlatformQueueWithNoWorkersTimeout() *durationpb.Duration {
	if x != nil {
		return x.PlatformQueueWithNoWorkersTimeout
	}
	return nil
}

type PredeclaredPlatformQueueConfiguration struct {
	state                                     protoimpl.MessageState `protogen:"open.v1"`
	PkixPublicKeys                            [][]byte               `protobuf:"bytes,1,rep,name=pkix_public_keys,json=pkixPublicKeys,proto3" json:"pkix_public_keys,omitempty"`
	SizeClasses                               []uint32               `protobuf:"varint,2,rep,packed,name=size_classes,json=sizeClasses,proto3" json:"size_classes,omitempty"`
	WorkerInvocationStickinessLimits          []*durationpb.Duration `protobuf:"bytes,3,rep,name=worker_invocation_stickiness_limits,json=workerInvocationStickinessLimits,proto3" json:"worker_invocation_stickiness_limits,omitempty"`
	MaximumQueuedBackgroundLearningOperations int32                  `protobuf:"varint,4,opt,name=maximum_queued_background_learning_operations,json=maximumQueuedBackgroundLearningOperations,proto3" json:"maximum_queued_background_learning_operations,omitempty"`
	BackgroundLearningOperationPriority       int32                  `protobuf:"varint,5,opt,name=background_learning_operation_priority,json=backgroundLearningOperationPriority,proto3" json:"background_learning_operation_priority,omitempty"`
	unknownFields                             protoimpl.UnknownFields
	sizeCache                                 protoimpl.SizeCache
}

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

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

func (*PredeclaredPlatformQueueConfiguration) ProtoMessage() {}

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

func (x *PredeclaredPlatformQueueConfiguration) GetPkixPublicKeys() [][]byte {
	if x != nil {
		return x.PkixPublicKeys
	}
	return nil
}

func (x *PredeclaredPlatformQueueConfiguration) GetSizeClasses() []uint32 {
	if x != nil {
		return x.SizeClasses
	}
	return nil
}

func (x *PredeclaredPlatformQueueConfiguration) GetWorkerInvocationStickinessLimits() []*durationpb.Duration {
	if x != nil {
		return x.WorkerInvocationStickinessLimits
	}
	return nil
}

func (x *PredeclaredPlatformQueueConfiguration) GetMaximumQueuedBackgroundLearningOperations() int32 {
	if x != nil {
		return x.MaximumQueuedBackgroundLearningOperations
	}
	return 0
}

func (x *PredeclaredPlatformQueueConfiguration) GetBackgroundLearningOperationPriority() int32 {
	if x != nil {
		return x.BackgroundLearningOperationPriority
	}
	return 0
}

var File_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto protoreflect.FileDescriptor

const file_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto_rawDesc = "" +
	"\n" +
	"Obonanza.build/pkg/proto/configuration/bonanza_scheduler/bonanza_scheduler.proto\x12'bonanza.configuration.bonanza_scheduler\x1a?bonanza.build/pkg/proto/configuration/scheduler/scheduler.proto\x1aKgithub.com/buildbarn/bb-storage/pkg/proto/configuration/global/global.proto\x1aGgithub.com/buildbarn/bb-storage/pkg/proto/configuration/grpc/grpc.proto\x1a\x1egoogle/protobuf/duration.proto\"\xfe\x05\n" +
	"\x18ApplicationConfiguration\x12E\n" +
	"\x06global\x18\x01 \x01(\v2-.buildbarn.configuration.global.ConfigurationR\x06global\x12a\n" +
	"\x13client_grpc_servers\x18\x03 \x03(\v21.buildbarn.configuration.grpc.ServerConfigurationR\x11clientGrpcServers\x12a\n" +
	"\x13worker_grpc_servers\x18\x04 \x03(\v21.buildbarn.configuration.grpc.ServerConfigurationR\x11workerGrpcServers\x12u\n" +
	"\x1ebuild_queue_state_grpc_servers\x18\x05 \x03(\v21.buildbarn.configuration.grpc.ServerConfigurationR\x1abuildQueueStateGrpcServers\x12\x8e\x01\n" +
	"\x1bpredeclared_platform_queues\x18\x06 \x03(\v2N.bonanza.configuration.bonanza_scheduler.PredeclaredPlatformQueueConfigurationR\x19predeclaredPlatformQueues\x12_\n" +
	"\raction_router\x18\a \x01(\v2:.bonanza.configuration.scheduler.ActionRouterConfigurationR\factionRouter\x12l\n" +
	"&platform_queue_with_no_workers_timeout\x18\b \x01(\v2\x19.google.protobuf.DurationR!platformQueueWithNoWorkersTimeout\"\x95\x03\n" +
	"%PredeclaredPlatformQueueConfiguration\x12(\n" +
	"\x10pkix_public_keys\x18\x01 \x03(\fR\x0epkixPublicKeys\x12!\n" +
	"\fsize_classes\x18\x02 \x03(\rR\vsizeClasses\x12h\n" +
	"#worker_invocation_stickiness_limits\x18\x03 \x03(\v2\x19.google.protobuf.DurationR workerInvocationStickinessLimits\x12`\n" +
	"-maximum_queued_background_learning_operations\x18\x04 \x01(\x05R)maximumQueuedBackgroundLearningOperations\x12S\n" +
	"&background_learning_operation_priority\x18\x05 \x01(\x05R#backgroundLearningOperationPriorityB9Z7bonanza.build/pkg/proto/configuration/bonanza_schedulerb\x06proto3"

var (
	file_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto_rawDescOnce sync.Once
	file_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto_rawDescData []byte
)

func file_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto_rawDescGZIP() []byte {
	file_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto_rawDescOnce.Do(func() {
		file_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto_rawDesc), len(file_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto_rawDesc)))
	})
	return file_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto_rawDescData
}

var file_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto_goTypes = []any{
	(*ApplicationConfiguration)(nil),              // 0: bonanza.configuration.bonanza_scheduler.ApplicationConfiguration
	(*PredeclaredPlatformQueueConfiguration)(nil), // 1: bonanza.configuration.bonanza_scheduler.PredeclaredPlatformQueueConfiguration
	(*global.Configuration)(nil),                  // 2: buildbarn.configuration.global.Configuration
	(*grpc.ServerConfiguration)(nil),              // 3: buildbarn.configuration.grpc.ServerConfiguration
	(*scheduler.ActionRouterConfiguration)(nil),   // 4: bonanza.configuration.scheduler.ActionRouterConfiguration
	(*durationpb.Duration)(nil),                   // 5: google.protobuf.Duration
}
var file_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto_depIdxs = []int32{
	2, // 0: bonanza.configuration.bonanza_scheduler.ApplicationConfiguration.global:type_name -> buildbarn.configuration.global.Configuration
	3, // 1: bonanza.configuration.bonanza_scheduler.ApplicationConfiguration.client_grpc_servers:type_name -> buildbarn.configuration.grpc.ServerConfiguration
	3, // 2: bonanza.configuration.bonanza_scheduler.ApplicationConfiguration.worker_grpc_servers:type_name -> buildbarn.configuration.grpc.ServerConfiguration
	3, // 3: bonanza.configuration.bonanza_scheduler.ApplicationConfiguration.build_queue_state_grpc_servers:type_name -> buildbarn.configuration.grpc.ServerConfiguration
	1, // 4: bonanza.configuration.bonanza_scheduler.ApplicationConfiguration.predeclared_platform_queues:type_name -> bonanza.configuration.bonanza_scheduler.PredeclaredPlatformQueueConfiguration
	4, // 5: bonanza.configuration.bonanza_scheduler.ApplicationConfiguration.action_router:type_name -> bonanza.configuration.scheduler.ActionRouterConfiguration
	5, // 6: bonanza.configuration.bonanza_scheduler.ApplicationConfiguration.platform_queue_with_no_workers_timeout:type_name -> google.protobuf.Duration
	5, // 7: bonanza.configuration.bonanza_scheduler.PredeclaredPlatformQueueConfiguration.worker_invocation_stickiness_limits:type_name -> google.protobuf.Duration
	8, // [8:8] is the sub-list for method output_type
	8, // [8:8] is the sub-list for method input_type
	8, // [8:8] is the sub-list for extension type_name
	8, // [8:8] is the sub-list for extension extendee
	0, // [0:8] is the sub-list for field type_name
}

func init() {
	file_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto_init()
}
func file_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto_init() {
	if File_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto_rawDesc), len(file_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   2,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto_goTypes,
		DependencyIndexes: file_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto_depIdxs,
		MessageInfos:      file_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto_msgTypes,
	}.Build()
	File_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto = out.File
	file_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto_goTypes = nil
	file_bonanza_build_pkg_proto_configuration_bonanza_scheduler_bonanza_scheduler_proto_depIdxs = nil
}
