// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        v3.21.12
// source: yandex/cloud/datatransfer/v1/endpoint/parsers.proto

package endpoint

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 Parser struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Parser:
	//
	//	*Parser_JsonParser
	//	*Parser_AuditTrailsV1Parser
	//	*Parser_CloudLoggingParser
	//	*Parser_TskvParser
	Parser        isParser_Parser `protobuf_oneof:"parser"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Parser) ProtoMessage() {}

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

func (x *Parser) GetParser() isParser_Parser {
	if x != nil {
		return x.Parser
	}
	return nil
}

func (x *Parser) GetJsonParser() *GenericParserCommon {
	if x != nil {
		if x, ok := x.Parser.(*Parser_JsonParser); ok {
			return x.JsonParser
		}
	}
	return nil
}

func (x *Parser) GetAuditTrailsV1Parser() *AuditTrailsV1Parser {
	if x != nil {
		if x, ok := x.Parser.(*Parser_AuditTrailsV1Parser); ok {
			return x.AuditTrailsV1Parser
		}
	}
	return nil
}

func (x *Parser) GetCloudLoggingParser() *CloudLoggingParser {
	if x != nil {
		if x, ok := x.Parser.(*Parser_CloudLoggingParser); ok {
			return x.CloudLoggingParser
		}
	}
	return nil
}

func (x *Parser) GetTskvParser() *GenericParserCommon {
	if x != nil {
		if x, ok := x.Parser.(*Parser_TskvParser); ok {
			return x.TskvParser
		}
	}
	return nil
}

type isParser_Parser interface {
	isParser_Parser()
}

type Parser_JsonParser struct {
	// Parse data in json format
	JsonParser *GenericParserCommon `protobuf:"bytes,1,opt,name=json_parser,json=jsonParser,proto3,oneof"`
}

type Parser_AuditTrailsV1Parser struct {
	// Parse Audit Trails data. Empty struct
	AuditTrailsV1Parser *AuditTrailsV1Parser `protobuf:"bytes,2,opt,name=audit_trails_v1_parser,json=auditTrailsV1Parser,proto3,oneof"`
}

type Parser_CloudLoggingParser struct {
	// Parse Cloud Logging data. Empty struct
	CloudLoggingParser *CloudLoggingParser `protobuf:"bytes,4,opt,name=cloud_logging_parser,json=cloudLoggingParser,proto3,oneof"`
}

type Parser_TskvParser struct {
	// Parse data in tskv format
	TskvParser *GenericParserCommon `protobuf:"bytes,6,opt,name=tskv_parser,json=tskvParser,proto3,oneof"`
}

func (*Parser_JsonParser) isParser_Parser() {}

func (*Parser_AuditTrailsV1Parser) isParser_Parser() {}

func (*Parser_CloudLoggingParser) isParser_Parser() {}

func (*Parser_TskvParser) isParser_Parser() {}

type GenericParserCommon struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Data parsing scheme
	DataSchema *DataSchema `protobuf:"bytes,1,opt,name=data_schema,json=dataSchema,proto3" json:"data_schema,omitempty"`
	// Allow null keys, if no - null keys will be putted to unparsed data
	NullKeysAllowed bool `protobuf:"varint,2,opt,name=null_keys_allowed,json=nullKeysAllowed,proto3" json:"null_keys_allowed,omitempty"`
	// Will add _rest column for all unknown fields
	AddRestColumn bool `protobuf:"varint,3,opt,name=add_rest_column,json=addRestColumn,proto3" json:"add_rest_column,omitempty"`
	// Unescape string values
	UnescapeStringValues bool `protobuf:"varint,7,opt,name=unescape_string_values,json=unescapeStringValues,proto3" json:"unescape_string_values,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

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

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

func (*GenericParserCommon) ProtoMessage() {}

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

func (x *GenericParserCommon) GetDataSchema() *DataSchema {
	if x != nil {
		return x.DataSchema
	}
	return nil
}

func (x *GenericParserCommon) GetNullKeysAllowed() bool {
	if x != nil {
		return x.NullKeysAllowed
	}
	return false
}

func (x *GenericParserCommon) GetAddRestColumn() bool {
	if x != nil {
		return x.AddRestColumn
	}
	return false
}

func (x *GenericParserCommon) GetUnescapeStringValues() bool {
	if x != nil {
		return x.UnescapeStringValues
	}
	return false
}

type AuditTrailsV1Parser struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*AuditTrailsV1Parser) ProtoMessage() {}

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

type CloudLoggingParser struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CloudLoggingParser) ProtoMessage() {}

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

var File_yandex_cloud_datatransfer_v1_endpoint_parsers_proto protoreflect.FileDescriptor

const file_yandex_cloud_datatransfer_v1_endpoint_parsers_proto_rawDesc = "" +
	"\n" +
	"3yandex/cloud/datatransfer/v1/endpoint/parsers.proto\x12%yandex.cloud.datatransfer.v1.endpoint\x1a2yandex/cloud/datatransfer/v1/endpoint/common.proto\"\xbe\x03\n" +
	"\x06Parser\x12]\n" +
	"\vjson_parser\x18\x01 \x01(\v2:.yandex.cloud.datatransfer.v1.endpoint.GenericParserCommonH\x00R\n" +
	"jsonParser\x12q\n" +
	"\x16audit_trails_v1_parser\x18\x02 \x01(\v2:.yandex.cloud.datatransfer.v1.endpoint.AuditTrailsV1ParserH\x00R\x13auditTrailsV1Parser\x12m\n" +
	"\x14cloud_logging_parser\x18\x04 \x01(\v29.yandex.cloud.datatransfer.v1.endpoint.CloudLoggingParserH\x00R\x12cloudLoggingParser\x12]\n" +
	"\vtskv_parser\x18\x06 \x01(\v2:.yandex.cloud.datatransfer.v1.endpoint.GenericParserCommonH\x00R\n" +
	"tskvParserB\b\n" +
	"\x06parserJ\x04\b\x03\x10\x04J\x04\b\x05\x10\x06\"\xf9\x01\n" +
	"\x13GenericParserCommon\x12R\n" +
	"\vdata_schema\x18\x01 \x01(\v21.yandex.cloud.datatransfer.v1.endpoint.DataSchemaR\n" +
	"dataSchema\x12*\n" +
	"\x11null_keys_allowed\x18\x02 \x01(\bR\x0fnullKeysAllowed\x12&\n" +
	"\x0fadd_rest_column\x18\x03 \x01(\bR\raddRestColumn\x124\n" +
	"\x16unescape_string_values\x18\a \x01(\bR\x14unescapeStringValuesJ\x04\b\x04\x10\a\"\x15\n" +
	"\x13AuditTrailsV1Parser\"\x14\n" +
	"\x12CloudLoggingParserB\xa7\x01\n" +
	")yandex.cloud.api.datatransfer.v1.endpointZRgithub.com/yandex-cloud/go-genproto/yandex/cloud/datatransfer/v1/endpoint;endpoint\xaa\x02%Yandex.Cloud.Datatransfer.V1.EndPointb\x06proto3"

var (
	file_yandex_cloud_datatransfer_v1_endpoint_parsers_proto_rawDescOnce sync.Once
	file_yandex_cloud_datatransfer_v1_endpoint_parsers_proto_rawDescData []byte
)

func file_yandex_cloud_datatransfer_v1_endpoint_parsers_proto_rawDescGZIP() []byte {
	file_yandex_cloud_datatransfer_v1_endpoint_parsers_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_datatransfer_v1_endpoint_parsers_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_yandex_cloud_datatransfer_v1_endpoint_parsers_proto_rawDesc), len(file_yandex_cloud_datatransfer_v1_endpoint_parsers_proto_rawDesc)))
	})
	return file_yandex_cloud_datatransfer_v1_endpoint_parsers_proto_rawDescData
}

var file_yandex_cloud_datatransfer_v1_endpoint_parsers_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_yandex_cloud_datatransfer_v1_endpoint_parsers_proto_goTypes = []any{
	(*Parser)(nil),              // 0: yandex.cloud.datatransfer.v1.endpoint.Parser
	(*GenericParserCommon)(nil), // 1: yandex.cloud.datatransfer.v1.endpoint.GenericParserCommon
	(*AuditTrailsV1Parser)(nil), // 2: yandex.cloud.datatransfer.v1.endpoint.AuditTrailsV1Parser
	(*CloudLoggingParser)(nil),  // 3: yandex.cloud.datatransfer.v1.endpoint.CloudLoggingParser
	(*DataSchema)(nil),          // 4: yandex.cloud.datatransfer.v1.endpoint.DataSchema
}
var file_yandex_cloud_datatransfer_v1_endpoint_parsers_proto_depIdxs = []int32{
	1, // 0: yandex.cloud.datatransfer.v1.endpoint.Parser.json_parser:type_name -> yandex.cloud.datatransfer.v1.endpoint.GenericParserCommon
	2, // 1: yandex.cloud.datatransfer.v1.endpoint.Parser.audit_trails_v1_parser:type_name -> yandex.cloud.datatransfer.v1.endpoint.AuditTrailsV1Parser
	3, // 2: yandex.cloud.datatransfer.v1.endpoint.Parser.cloud_logging_parser:type_name -> yandex.cloud.datatransfer.v1.endpoint.CloudLoggingParser
	1, // 3: yandex.cloud.datatransfer.v1.endpoint.Parser.tskv_parser:type_name -> yandex.cloud.datatransfer.v1.endpoint.GenericParserCommon
	4, // 4: yandex.cloud.datatransfer.v1.endpoint.GenericParserCommon.data_schema:type_name -> yandex.cloud.datatransfer.v1.endpoint.DataSchema
	5, // [5:5] is the sub-list for method output_type
	5, // [5:5] is the sub-list for method input_type
	5, // [5:5] is the sub-list for extension type_name
	5, // [5:5] is the sub-list for extension extendee
	0, // [0:5] is the sub-list for field type_name
}

func init() { file_yandex_cloud_datatransfer_v1_endpoint_parsers_proto_init() }
func file_yandex_cloud_datatransfer_v1_endpoint_parsers_proto_init() {
	if File_yandex_cloud_datatransfer_v1_endpoint_parsers_proto != nil {
		return
	}
	file_yandex_cloud_datatransfer_v1_endpoint_common_proto_init()
	file_yandex_cloud_datatransfer_v1_endpoint_parsers_proto_msgTypes[0].OneofWrappers = []any{
		(*Parser_JsonParser)(nil),
		(*Parser_AuditTrailsV1Parser)(nil),
		(*Parser_CloudLoggingParser)(nil),
		(*Parser_TskvParser)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_yandex_cloud_datatransfer_v1_endpoint_parsers_proto_rawDesc), len(file_yandex_cloud_datatransfer_v1_endpoint_parsers_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   4,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_yandex_cloud_datatransfer_v1_endpoint_parsers_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_datatransfer_v1_endpoint_parsers_proto_depIdxs,
		MessageInfos:      file_yandex_cloud_datatransfer_v1_endpoint_parsers_proto_msgTypes,
	}.Build()
	File_yandex_cloud_datatransfer_v1_endpoint_parsers_proto = out.File
	file_yandex_cloud_datatransfer_v1_endpoint_parsers_proto_goTypes = nil
	file_yandex_cloud_datatransfer_v1_endpoint_parsers_proto_depIdxs = nil
}
