// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.10
// 	protoc        v5.27.3
// source: src/main/protobuf/strategy_policy.proto

package protobuf

import (
	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 StrategyPolicy struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	MnemonicPolicy      *MnemonicPolicy        `protobuf:"bytes,1,opt,name=mnemonic_policy,json=mnemonicPolicy" json:"mnemonic_policy,omitempty"`
	DynamicRemotePolicy *MnemonicPolicy        `protobuf:"bytes,2,opt,name=dynamic_remote_policy,json=dynamicRemotePolicy" json:"dynamic_remote_policy,omitempty"`
	DynamicLocalPolicy  *MnemonicPolicy        `protobuf:"bytes,3,opt,name=dynamic_local_policy,json=dynamicLocalPolicy" json:"dynamic_local_policy,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

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

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

func (*StrategyPolicy) ProtoMessage() {}

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

func (x *StrategyPolicy) GetMnemonicPolicy() *MnemonicPolicy {
	if x != nil {
		return x.MnemonicPolicy
	}
	return nil
}

func (x *StrategyPolicy) GetDynamicRemotePolicy() *MnemonicPolicy {
	if x != nil {
		return x.DynamicRemotePolicy
	}
	return nil
}

func (x *StrategyPolicy) GetDynamicLocalPolicy() *MnemonicPolicy {
	if x != nil {
		return x.DynamicLocalPolicy
	}
	return nil
}

type MnemonicPolicy struct {
	state             protoimpl.MessageState   `protogen:"open.v1"`
	DefaultAllowlist  []string                 `protobuf:"bytes,1,rep,name=default_allowlist,json=defaultAllowlist" json:"default_allowlist,omitempty"`
	StrategyAllowlist []*StrategiesForMnemonic `protobuf:"bytes,2,rep,name=strategy_allowlist,json=strategyAllowlist" json:"strategy_allowlist,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*MnemonicPolicy) ProtoMessage() {}

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

func (x *MnemonicPolicy) GetDefaultAllowlist() []string {
	if x != nil {
		return x.DefaultAllowlist
	}
	return nil
}

func (x *MnemonicPolicy) GetStrategyAllowlist() []*StrategiesForMnemonic {
	if x != nil {
		return x.StrategyAllowlist
	}
	return nil
}

type StrategiesForMnemonic struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Mnemonic      *string                `protobuf:"bytes,1,opt,name=mnemonic" json:"mnemonic,omitempty"`
	Strategy      []string               `protobuf:"bytes,2,rep,name=strategy" json:"strategy,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*StrategiesForMnemonic) ProtoMessage() {}

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

func (x *StrategiesForMnemonic) GetMnemonic() string {
	if x != nil && x.Mnemonic != nil {
		return *x.Mnemonic
	}
	return ""
}

func (x *StrategiesForMnemonic) GetStrategy() []string {
	if x != nil {
		return x.Strategy
	}
	return nil
}

var File_src_main_protobuf_strategy_policy_proto protoreflect.FileDescriptor

const file_src_main_protobuf_strategy_policy_proto_rawDesc = "" +
	"\n" +
	"'src/main/protobuf/strategy_policy.proto\x12\x15blaze.strategy_policy\"\x94\x02\n" +
	"\x0eStrategyPolicy\x12N\n" +
	"\x0fmnemonic_policy\x18\x01 \x01(\v2%.blaze.strategy_policy.MnemonicPolicyR\x0emnemonicPolicy\x12Y\n" +
	"\x15dynamic_remote_policy\x18\x02 \x01(\v2%.blaze.strategy_policy.MnemonicPolicyR\x13dynamicRemotePolicy\x12W\n" +
	"\x14dynamic_local_policy\x18\x03 \x01(\v2%.blaze.strategy_policy.MnemonicPolicyR\x12dynamicLocalPolicy\"\x9a\x01\n" +
	"\x0eMnemonicPolicy\x12+\n" +
	"\x11default_allowlist\x18\x01 \x03(\tR\x10defaultAllowlist\x12[\n" +
	"\x12strategy_allowlist\x18\x02 \x03(\v2,.blaze.strategy_policy.StrategiesForMnemonicR\x11strategyAllowlist\"O\n" +
	"\x15StrategiesForMnemonic\x12\x1a\n" +
	"\bmnemonic\x18\x01 \x01(\tR\bmnemonic\x12\x1a\n" +
	"\bstrategy\x18\x02 \x03(\tR\bstrategyB/\n" +
	"+com.google.devtools.build.lib.runtime.protoP\x01"

var (
	file_src_main_protobuf_strategy_policy_proto_rawDescOnce sync.Once
	file_src_main_protobuf_strategy_policy_proto_rawDescData []byte
)

func file_src_main_protobuf_strategy_policy_proto_rawDescGZIP() []byte {
	file_src_main_protobuf_strategy_policy_proto_rawDescOnce.Do(func() {
		file_src_main_protobuf_strategy_policy_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_src_main_protobuf_strategy_policy_proto_rawDesc), len(file_src_main_protobuf_strategy_policy_proto_rawDesc)))
	})
	return file_src_main_protobuf_strategy_policy_proto_rawDescData
}

var file_src_main_protobuf_strategy_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_src_main_protobuf_strategy_policy_proto_goTypes = []any{
	(*StrategyPolicy)(nil),        // 0: blaze.strategy_policy.StrategyPolicy
	(*MnemonicPolicy)(nil),        // 1: blaze.strategy_policy.MnemonicPolicy
	(*StrategiesForMnemonic)(nil), // 2: blaze.strategy_policy.StrategiesForMnemonic
}
var file_src_main_protobuf_strategy_policy_proto_depIdxs = []int32{
	1, // 0: blaze.strategy_policy.StrategyPolicy.mnemonic_policy:type_name -> blaze.strategy_policy.MnemonicPolicy
	1, // 1: blaze.strategy_policy.StrategyPolicy.dynamic_remote_policy:type_name -> blaze.strategy_policy.MnemonicPolicy
	1, // 2: blaze.strategy_policy.StrategyPolicy.dynamic_local_policy:type_name -> blaze.strategy_policy.MnemonicPolicy
	2, // 3: blaze.strategy_policy.MnemonicPolicy.strategy_allowlist:type_name -> blaze.strategy_policy.StrategiesForMnemonic
	4, // [4:4] is the sub-list for method output_type
	4, // [4:4] is the sub-list for method input_type
	4, // [4:4] is the sub-list for extension type_name
	4, // [4:4] is the sub-list for extension extendee
	0, // [0:4] is the sub-list for field type_name
}

func init() { file_src_main_protobuf_strategy_policy_proto_init() }
func file_src_main_protobuf_strategy_policy_proto_init() {
	if File_src_main_protobuf_strategy_policy_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_src_main_protobuf_strategy_policy_proto_rawDesc), len(file_src_main_protobuf_strategy_policy_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   3,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_src_main_protobuf_strategy_policy_proto_goTypes,
		DependencyIndexes: file_src_main_protobuf_strategy_policy_proto_depIdxs,
		MessageInfos:      file_src_main_protobuf_strategy_policy_proto_msgTypes,
	}.Build()
	File_src_main_protobuf_strategy_policy_proto = out.File
	file_src_main_protobuf_strategy_policy_proto_goTypes = nil
	file_src_main_protobuf_strategy_policy_proto_depIdxs = nil
}
