// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v6.30.2
// source: lint.proto

package gitalypb

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	descriptorpb "google.golang.org/protobuf/types/descriptorpb"
	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)
)

// Operation ...
type OperationMsg_Operation int32

const (
	// UNKNOWN ...
	OperationMsg_UNKNOWN OperationMsg_Operation = 0 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH
	// MUTATOR ...
	OperationMsg_MUTATOR OperationMsg_Operation = 1 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX
	// ACCESSOR ...
	OperationMsg_ACCESSOR OperationMsg_Operation = 2 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX
	// MAINTENANCE ...
	OperationMsg_MAINTENANCE OperationMsg_Operation = 3 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX
)

// Enum value maps for OperationMsg_Operation.
var (
	OperationMsg_Operation_name = map[int32]string{
		0: "UNKNOWN",
		1: "MUTATOR",
		2: "ACCESSOR",
		3: "MAINTENANCE",
	}
	OperationMsg_Operation_value = map[string]int32{
		"UNKNOWN":     0,
		"MUTATOR":     1,
		"ACCESSOR":    2,
		"MAINTENANCE": 3,
	}
)

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

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

func (OperationMsg_Operation) Descriptor() protoreflect.EnumDescriptor {
	return file_lint_proto_enumTypes[0].Descriptor()
}

func (OperationMsg_Operation) Type() protoreflect.EnumType {
	return &file_lint_proto_enumTypes[0]
}

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

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

// Scope ...
type OperationMsg_Scope int32

const (
	// REPOSITORY ...
	OperationMsg_REPOSITORY OperationMsg_Scope = 0 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX ENUM_FIELD_NAMES_ZERO_VALUE_END_WITH
	// STORAGE ...
	OperationMsg_STORAGE OperationMsg_Scope = 2 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX
	// PARTITION ...
	OperationMsg_PARTITION OperationMsg_Scope = 3 // protolint:disable:this ENUM_FIELD_NAMES_PREFIX
)

// Enum value maps for OperationMsg_Scope.
var (
	OperationMsg_Scope_name = map[int32]string{
		0: "REPOSITORY",
		2: "STORAGE",
		3: "PARTITION",
	}
	OperationMsg_Scope_value = map[string]int32{
		"REPOSITORY": 0,
		"STORAGE":    2,
		"PARTITION":  3,
	}
)

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

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

func (OperationMsg_Scope) Descriptor() protoreflect.EnumDescriptor {
	return file_lint_proto_enumTypes[1].Descriptor()
}

func (OperationMsg_Scope) Type() protoreflect.EnumType {
	return &file_lint_proto_enumTypes[1]
}

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

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

// OperationMsg ...
type OperationMsg struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// op ...
	Op OperationMsg_Operation `protobuf:"varint,1,opt,name=op,proto3,enum=gitaly.OperationMsg_Operation" json:"op,omitempty"`
	// scope_level indicates what level an RPC interacts with a server:
	//   - REPOSITORY: scoped to only a single repo
	//   - SERVER: affects the entire server and potentially all repos
	//   - STORAGE: scoped to a specific storage location and all repos within
	//   - PARTITION: scoped to a specific partition and all repos within
	ScopeLevel    OperationMsg_Scope `protobuf:"varint,2,opt,name=scope_level,json=scopeLevel,proto3,enum=gitaly.OperationMsg_Scope" json:"scope_level,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*OperationMsg) ProtoMessage() {}

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

func (x *OperationMsg) GetOp() OperationMsg_Operation {
	if x != nil {
		return x.Op
	}
	return OperationMsg_UNKNOWN
}

func (x *OperationMsg) GetScopeLevel() OperationMsg_Scope {
	if x != nil {
		return x.ScopeLevel
	}
	return OperationMsg_REPOSITORY
}

var file_lint_proto_extTypes = []protoimpl.ExtensionInfo{
	{
		ExtendedType:  (*descriptorpb.ServiceOptions)(nil),
		ExtensionType: (*bool)(nil),
		Field:         82302,
		Name:          "gitaly.intercepted",
		Tag:           "varint,82302,opt,name=intercepted",
		Filename:      "lint.proto",
	},
	{
		ExtendedType:  (*descriptorpb.MethodOptions)(nil),
		ExtensionType: (*OperationMsg)(nil),
		Field:         82303,
		Name:          "gitaly.op_type",
		Tag:           "bytes,82303,opt,name=op_type",
		Filename:      "lint.proto",
	},
	{
		ExtendedType:  (*descriptorpb.FieldOptions)(nil),
		ExtensionType: (*bool)(nil),
		Field:         91233,
		Name:          "gitaly.storage",
		Tag:           "varint,91233,opt,name=storage",
		Filename:      "lint.proto",
	},
	{
		ExtendedType:  (*descriptorpb.FieldOptions)(nil),
		ExtensionType: (*bool)(nil),
		Field:         91234,
		Name:          "gitaly.repository",
		Tag:           "varint,91234,opt,name=repository",
		Filename:      "lint.proto",
	},
	{
		ExtendedType:  (*descriptorpb.FieldOptions)(nil),
		ExtensionType: (*bool)(nil),
		Field:         91235,
		Name:          "gitaly.target_repository",
		Tag:           "varint,91235,opt,name=target_repository",
		Filename:      "lint.proto",
	},
	{
		ExtendedType:  (*descriptorpb.FieldOptions)(nil),
		ExtensionType: (*bool)(nil),
		Field:         91236,
		Name:          "gitaly.additional_repository",
		Tag:           "varint,91236,opt,name=additional_repository",
		Filename:      "lint.proto",
	},
	{
		ExtendedType:  (*descriptorpb.FieldOptions)(nil),
		ExtensionType: (*bool)(nil),
		Field:         91237,
		Name:          "gitaly.partition_id",
		Tag:           "varint,91237,opt,name=partition_id",
		Filename:      "lint.proto",
	},
}

// Extension fields to descriptorpb.ServiceOptions.
var (
	// intercepted indicates whether the proxy intercepts and handles the call
	// instead of proxying. Intercepted services do not require scope or operation
	// annotations.
	//
	// optional bool intercepted = 82302;
	E_Intercepted = &file_lint_proto_extTypes[0]
)

// Extension fields to descriptorpb.MethodOptions.
var (
	// op_type ...
	//
	// optional gitaly.OperationMsg op_type = 82303;
	E_OpType = &file_lint_proto_extTypes[1] // Random high number..
)

// Extension fields to descriptorpb.FieldOptions.
var (
	// storage is used to mark field containing name of affected storage.
	//
	// optional bool storage = 91233;
	E_Storage = &file_lint_proto_extTypes[2] // Random high number..
	// repository annotation is used mark field used as repository
	// when parent message is marked as target or additional repository
	// If this operation modifies a repository, this annotations
	// will specify the location of the Repository field within
	// the request message.
	//
	// optional bool repository = 91234;
	E_Repository = &file_lint_proto_extTypes[3]
	// target_repository is used to mark target repository.
	//
	// optional bool target_repository = 91235;
	E_TargetRepository = &file_lint_proto_extTypes[4]
	// additional_repository is used to mark additional repository.
	//
	// optional bool additional_repository = 91236;
	E_AdditionalRepository = &file_lint_proto_extTypes[5]
	// partition_id is used to mark field containing id of affected partition.
	//
	// optional bool partition_id = 91237;
	E_PartitionId = &file_lint_proto_extTypes[6] // Random high number..
)

var File_lint_proto protoreflect.FileDescriptor

const file_lint_proto_rawDesc = "" +
	"\n" +
	"\n" +
	"lint.proto\x12\x06gitaly\x1a google/protobuf/descriptor.proto\"\x84\x02\n" +
	"\fOperationMsg\x12.\n" +
	"\x02op\x18\x01 \x01(\x0e2\x1e.gitaly.OperationMsg.OperationR\x02op\x12;\n" +
	"\vscope_level\x18\x02 \x01(\x0e2\x1a.gitaly.OperationMsg.ScopeR\n" +
	"scopeLevel\"D\n" +
	"\tOperation\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\v\n" +
	"\aMUTATOR\x10\x01\x12\f\n" +
	"\bACCESSOR\x10\x02\x12\x0f\n" +
	"\vMAINTENANCE\x10\x03\"A\n" +
	"\x05Scope\x12\x0e\n" +
	"\n" +
	"REPOSITORY\x10\x00\x12\v\n" +
	"\aSTORAGE\x10\x02\x12\r\n" +
	"\tPARTITION\x10\x03\"\x04\b\x01\x10\x01*\x06SERVER:C\n" +
	"\vintercepted\x12\x1f.google.protobuf.ServiceOptions\x18\xfe\x82\x05 \x01(\bR\vintercepted:O\n" +
	"\aop_type\x12\x1e.google.protobuf.MethodOptions\x18\xff\x82\x05 \x01(\v2\x14.gitaly.OperationMsgR\x06opType:9\n" +
	"\astorage\x12\x1d.google.protobuf.FieldOptions\x18\xe1\xc8\x05 \x01(\bR\astorage:?\n" +
	"\n" +
	"repository\x12\x1d.google.protobuf.FieldOptions\x18\xe2\xc8\x05 \x01(\bR\n" +
	"repository:L\n" +
	"\x11target_repository\x12\x1d.google.protobuf.FieldOptions\x18\xe3\xc8\x05 \x01(\bR\x10targetRepository:T\n" +
	"\x15additional_repository\x12\x1d.google.protobuf.FieldOptions\x18\xe4\xc8\x05 \x01(\bR\x14additionalRepository:B\n" +
	"\fpartition_id\x12\x1d.google.protobuf.FieldOptions\x18\xe5\xc8\x05 \x01(\bR\vpartitionIdB4Z2gitlab.com/gitlab-org/gitaly/v18/proto/go/gitalypbb\x06proto3"

var (
	file_lint_proto_rawDescOnce sync.Once
	file_lint_proto_rawDescData []byte
)

func file_lint_proto_rawDescGZIP() []byte {
	file_lint_proto_rawDescOnce.Do(func() {
		file_lint_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_lint_proto_rawDesc), len(file_lint_proto_rawDesc)))
	})
	return file_lint_proto_rawDescData
}

var file_lint_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_lint_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_lint_proto_goTypes = []any{
	(OperationMsg_Operation)(0),         // 0: gitaly.OperationMsg.Operation
	(OperationMsg_Scope)(0),             // 1: gitaly.OperationMsg.Scope
	(*OperationMsg)(nil),                // 2: gitaly.OperationMsg
	(*descriptorpb.ServiceOptions)(nil), // 3: google.protobuf.ServiceOptions
	(*descriptorpb.MethodOptions)(nil),  // 4: google.protobuf.MethodOptions
	(*descriptorpb.FieldOptions)(nil),   // 5: google.protobuf.FieldOptions
}
var file_lint_proto_depIdxs = []int32{
	0,  // 0: gitaly.OperationMsg.op:type_name -> gitaly.OperationMsg.Operation
	1,  // 1: gitaly.OperationMsg.scope_level:type_name -> gitaly.OperationMsg.Scope
	3,  // 2: gitaly.intercepted:extendee -> google.protobuf.ServiceOptions
	4,  // 3: gitaly.op_type:extendee -> google.protobuf.MethodOptions
	5,  // 4: gitaly.storage:extendee -> google.protobuf.FieldOptions
	5,  // 5: gitaly.repository:extendee -> google.protobuf.FieldOptions
	5,  // 6: gitaly.target_repository:extendee -> google.protobuf.FieldOptions
	5,  // 7: gitaly.additional_repository:extendee -> google.protobuf.FieldOptions
	5,  // 8: gitaly.partition_id:extendee -> google.protobuf.FieldOptions
	2,  // 9: gitaly.op_type:type_name -> gitaly.OperationMsg
	10, // [10:10] is the sub-list for method output_type
	10, // [10:10] is the sub-list for method input_type
	9,  // [9:10] is the sub-list for extension type_name
	2,  // [2:9] is the sub-list for extension extendee
	0,  // [0:2] is the sub-list for field type_name
}

func init() { file_lint_proto_init() }
func file_lint_proto_init() {
	if File_lint_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_lint_proto_rawDesc), len(file_lint_proto_rawDesc)),
			NumEnums:      2,
			NumMessages:   1,
			NumExtensions: 7,
			NumServices:   0,
		},
		GoTypes:           file_lint_proto_goTypes,
		DependencyIndexes: file_lint_proto_depIdxs,
		EnumInfos:         file_lint_proto_enumTypes,
		MessageInfos:      file_lint_proto_msgTypes,
		ExtensionInfos:    file_lint_proto_extTypes,
	}.Build()
	File_lint_proto = out.File
	file_lint_proto_goTypes = nil
	file_lint_proto_depIdxs = nil
}
