// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v3.21.12
// source: yandex/cloud/datatransfer/v1/endpoint/kafka.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 KafkaMechanism int32

const (
	KafkaMechanism_KAFKA_MECHANISM_UNSPECIFIED KafkaMechanism = 0
	KafkaMechanism_KAFKA_MECHANISM_SHA256      KafkaMechanism = 1
	KafkaMechanism_KAFKA_MECHANISM_SHA512      KafkaMechanism = 2
)

// Enum value maps for KafkaMechanism.
var (
	KafkaMechanism_name = map[int32]string{
		0: "KAFKA_MECHANISM_UNSPECIFIED",
		1: "KAFKA_MECHANISM_SHA256",
		2: "KAFKA_MECHANISM_SHA512",
	}
	KafkaMechanism_value = map[string]int32{
		"KAFKA_MECHANISM_UNSPECIFIED": 0,
		"KAFKA_MECHANISM_SHA256":      1,
		"KAFKA_MECHANISM_SHA512":      2,
	}
)

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

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

func (KafkaMechanism) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_enumTypes[0].Descriptor()
}

func (KafkaMechanism) Type() protoreflect.EnumType {
	return &file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_enumTypes[0]
}

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

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

type KafkaConnectionOptions struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Connection:
	//
	//	*KafkaConnectionOptions_ClusterId
	//	*KafkaConnectionOptions_OnPremise
	//	*KafkaConnectionOptions_ConnectionManagerConnection
	Connection    isKafkaConnectionOptions_Connection `protobuf_oneof:"connection"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*KafkaConnectionOptions) ProtoMessage() {}

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

func (x *KafkaConnectionOptions) GetConnection() isKafkaConnectionOptions_Connection {
	if x != nil {
		return x.Connection
	}
	return nil
}

func (x *KafkaConnectionOptions) GetClusterId() string {
	if x != nil {
		if x, ok := x.Connection.(*KafkaConnectionOptions_ClusterId); ok {
			return x.ClusterId
		}
	}
	return ""
}

func (x *KafkaConnectionOptions) GetOnPremise() *OnPremiseKafka {
	if x != nil {
		if x, ok := x.Connection.(*KafkaConnectionOptions_OnPremise); ok {
			return x.OnPremise
		}
	}
	return nil
}

func (x *KafkaConnectionOptions) GetConnectionManagerConnection() *ConnectionManagerConnection {
	if x != nil {
		if x, ok := x.Connection.(*KafkaConnectionOptions_ConnectionManagerConnection); ok {
			return x.ConnectionManagerConnection
		}
	}
	return nil
}

type isKafkaConnectionOptions_Connection interface {
	isKafkaConnectionOptions_Connection()
}

type KafkaConnectionOptions_ClusterId struct {
	// Managed Service for Kafka cluster ID.
	// Set only one of: cluster_id/on_premise/connection_manager_connection
	ClusterId string `protobuf:"bytes,1,opt,name=cluster_id,json=clusterId,proto3,oneof"`
}

type KafkaConnectionOptions_OnPremise struct {
	// Connection options for on-premise Kafka
	// Set only one of: cluster_id/on_premise/connection_manager_connection
	OnPremise *OnPremiseKafka `protobuf:"bytes,2,opt,name=on_premise,json=onPremise,proto3,oneof"`
}

type KafkaConnectionOptions_ConnectionManagerConnection struct {
	// Get Kafka installation params and credentials from Connection Manager
	// Set only one of: cluster_id/on_premise/connection_manager_connection
	ConnectionManagerConnection *ConnectionManagerConnection `protobuf:"bytes,3,opt,name=connection_manager_connection,json=connectionManagerConnection,proto3,oneof"`
}

func (*KafkaConnectionOptions_ClusterId) isKafkaConnectionOptions_Connection() {}

func (*KafkaConnectionOptions_OnPremise) isKafkaConnectionOptions_Connection() {}

func (*KafkaConnectionOptions_ConnectionManagerConnection) isKafkaConnectionOptions_Connection() {}

// On-premise Kafka installation options
type OnPremiseKafka struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Kafka broker URLs
	BrokerUrls []string `protobuf:"bytes,1,rep,name=broker_urls,json=brokerUrls,proto3" json:"broker_urls,omitempty"`
	// Identifier of the Yandex Cloud VPC subnetwork to user for accessing the
	// database.
	// If omitted, the server has to be accessible via Internet
	SubnetId string `protobuf:"bytes,4,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"`
	// TLS settings for broker connection. Disabled by default.
	TlsMode       *TLSMode `protobuf:"bytes,5,opt,name=tls_mode,json=tlsMode,proto3" json:"tls_mode,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*OnPremiseKafka) ProtoMessage() {}

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

func (x *OnPremiseKafka) GetBrokerUrls() []string {
	if x != nil {
		return x.BrokerUrls
	}
	return nil
}

func (x *OnPremiseKafka) GetSubnetId() string {
	if x != nil {
		return x.SubnetId
	}
	return ""
}

func (x *OnPremiseKafka) GetTlsMode() *TLSMode {
	if x != nil {
		return x.TlsMode
	}
	return nil
}

type KafkaAuth struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Security:
	//
	//	*KafkaAuth_Sasl
	//	*KafkaAuth_NoAuth
	Security      isKafkaAuth_Security `protobuf_oneof:"security"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*KafkaAuth) ProtoMessage() {}

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

func (x *KafkaAuth) GetSecurity() isKafkaAuth_Security {
	if x != nil {
		return x.Security
	}
	return nil
}

func (x *KafkaAuth) GetSasl() *KafkaSaslSecurity {
	if x != nil {
		if x, ok := x.Security.(*KafkaAuth_Sasl); ok {
			return x.Sasl
		}
	}
	return nil
}

func (x *KafkaAuth) GetNoAuth() *NoAuth {
	if x != nil {
		if x, ok := x.Security.(*KafkaAuth_NoAuth); ok {
			return x.NoAuth
		}
	}
	return nil
}

type isKafkaAuth_Security interface {
	isKafkaAuth_Security()
}

type KafkaAuth_Sasl struct {
	// Authentication with SASL
	Sasl *KafkaSaslSecurity `protobuf:"bytes,1,opt,name=sasl,proto3,oneof"`
}

type KafkaAuth_NoAuth struct {
	// No authentication
	NoAuth *NoAuth `protobuf:"bytes,2,opt,name=no_auth,json=noAuth,proto3,oneof"`
}

func (*KafkaAuth_Sasl) isKafkaAuth_Security() {}

func (*KafkaAuth_NoAuth) isKafkaAuth_Security() {}

type KafkaSaslSecurity struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// User name
	User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
	// SASL mechanism for authentication, use one of: KAFKA_MECHANISM_SHA256,
	// KAFKA_MECHANISM_SHA512
	Mechanism KafkaMechanism `protobuf:"varint,3,opt,name=mechanism,proto3,enum=yandex.cloud.datatransfer.v1.endpoint.KafkaMechanism" json:"mechanism,omitempty"`
	// Password for user
	Password      *Secret `protobuf:"bytes,4,opt,name=password,proto3" json:"password,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*KafkaSaslSecurity) ProtoMessage() {}

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

func (x *KafkaSaslSecurity) GetUser() string {
	if x != nil {
		return x.User
	}
	return ""
}

func (x *KafkaSaslSecurity) GetMechanism() KafkaMechanism {
	if x != nil {
		return x.Mechanism
	}
	return KafkaMechanism_KAFKA_MECHANISM_UNSPECIFIED
}

func (x *KafkaSaslSecurity) GetPassword() *Secret {
	if x != nil {
		return x.Password
	}
	return nil
}

// Settings specific to the Kafka source endpoint
type KafkaSource struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Connection settings
	Connection *KafkaConnectionOptions `protobuf:"bytes,1,opt,name=connection,proto3" json:"connection,omitempty"`
	// Authentication settings
	Auth *KafkaAuth `protobuf:"bytes,2,opt,name=auth,proto3" json:"auth,omitempty"`
	// List of security groups that the transfer associated with this endpoint should
	// use
	SecurityGroups []string `protobuf:"bytes,3,rep,name=security_groups,json=securityGroups,proto3" json:"security_groups,omitempty"`
	// **Deprecated**. Please use `topic_names` instead
	// Full source topic name
	//
	// Deprecated: Marked as deprecated in yandex/cloud/datatransfer/v1/endpoint/kafka.proto.
	TopicName string `protobuf:"bytes,4,opt,name=topic_name,json=topicName,proto3" json:"topic_name,omitempty"`
	// Transform data with a custom Cloud Function
	Transformer *DataTransformationOptions `protobuf:"bytes,5,opt,name=transformer,proto3" json:"transformer,omitempty"`
	// Data parsing parameters. If not set, the source messages are read in raw
	Parser *Parser `protobuf:"bytes,7,opt,name=parser,proto3" json:"parser,omitempty"`
	// List of full source topic names to read
	TopicNames    []string `protobuf:"bytes,8,rep,name=topic_names,json=topicNames,proto3" json:"topic_names,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*KafkaSource) ProtoMessage() {}

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

func (x *KafkaSource) GetConnection() *KafkaConnectionOptions {
	if x != nil {
		return x.Connection
	}
	return nil
}

func (x *KafkaSource) GetAuth() *KafkaAuth {
	if x != nil {
		return x.Auth
	}
	return nil
}

func (x *KafkaSource) GetSecurityGroups() []string {
	if x != nil {
		return x.SecurityGroups
	}
	return nil
}

// Deprecated: Marked as deprecated in yandex/cloud/datatransfer/v1/endpoint/kafka.proto.
func (x *KafkaSource) GetTopicName() string {
	if x != nil {
		return x.TopicName
	}
	return ""
}

func (x *KafkaSource) GetTransformer() *DataTransformationOptions {
	if x != nil {
		return x.Transformer
	}
	return nil
}

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

func (x *KafkaSource) GetTopicNames() []string {
	if x != nil {
		return x.TopicNames
	}
	return nil
}

// Settings specific to the Kafka target endpoint
type KafkaTarget struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Connection settings
	Connection *KafkaConnectionOptions `protobuf:"bytes,1,opt,name=connection,proto3" json:"connection,omitempty"`
	// Authentication settings
	Auth *KafkaAuth `protobuf:"bytes,2,opt,name=auth,proto3" json:"auth,omitempty"`
	// List of security groups that the transfer associated with this endpoint should
	// use
	SecurityGroups []string `protobuf:"bytes,3,rep,name=security_groups,json=securityGroups,proto3" json:"security_groups,omitempty"`
	// Target topic settings
	TopicSettings *KafkaTargetTopicSettings `protobuf:"bytes,7,opt,name=topic_settings,json=topicSettings,proto3" json:"topic_settings,omitempty"`
	// Data serialization format settings
	Serializer    *Serializer `protobuf:"bytes,8,opt,name=serializer,proto3" json:"serializer,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*KafkaTarget) ProtoMessage() {}

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

func (x *KafkaTarget) GetConnection() *KafkaConnectionOptions {
	if x != nil {
		return x.Connection
	}
	return nil
}

func (x *KafkaTarget) GetAuth() *KafkaAuth {
	if x != nil {
		return x.Auth
	}
	return nil
}

func (x *KafkaTarget) GetSecurityGroups() []string {
	if x != nil {
		return x.SecurityGroups
	}
	return nil
}

func (x *KafkaTarget) GetTopicSettings() *KafkaTargetTopicSettings {
	if x != nil {
		return x.TopicSettings
	}
	return nil
}

func (x *KafkaTarget) GetSerializer() *Serializer {
	if x != nil {
		return x.Serializer
	}
	return nil
}

type KafkaTargetTopicSettings struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to TopicSettings:
	//
	//	*KafkaTargetTopicSettings_Topic
	//	*KafkaTargetTopicSettings_TopicPrefix
	TopicSettings isKafkaTargetTopicSettings_TopicSettings `protobuf_oneof:"topic_settings"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*KafkaTargetTopicSettings) ProtoMessage() {}

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

func (x *KafkaTargetTopicSettings) GetTopicSettings() isKafkaTargetTopicSettings_TopicSettings {
	if x != nil {
		return x.TopicSettings
	}
	return nil
}

func (x *KafkaTargetTopicSettings) GetTopic() *KafkaTargetTopic {
	if x != nil {
		if x, ok := x.TopicSettings.(*KafkaTargetTopicSettings_Topic); ok {
			return x.Topic
		}
	}
	return nil
}

func (x *KafkaTargetTopicSettings) GetTopicPrefix() string {
	if x != nil {
		if x, ok := x.TopicSettings.(*KafkaTargetTopicSettings_TopicPrefix); ok {
			return x.TopicPrefix
		}
	}
	return ""
}

type isKafkaTargetTopicSettings_TopicSettings interface {
	isKafkaTargetTopicSettings_TopicSettings()
}

type KafkaTargetTopicSettings_Topic struct {
	// All messages will be sent to one topic
	Topic *KafkaTargetTopic `protobuf:"bytes,1,opt,name=topic,proto3,oneof"`
}

type KafkaTargetTopicSettings_TopicPrefix struct {
	// Topic prefix
	// Messages will be sent to topic with name <topic_prefix>.<schema>.<table_name>.
	// Analogue of the Debezium setting database.server.name.
	TopicPrefix string `protobuf:"bytes,2,opt,name=topic_prefix,json=topicPrefix,proto3,oneof"`
}

func (*KafkaTargetTopicSettings_Topic) isKafkaTargetTopicSettings_TopicSettings() {}

func (*KafkaTargetTopicSettings_TopicPrefix) isKafkaTargetTopicSettings_TopicSettings() {}

type KafkaTargetTopic struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Full topic name
	TopicName string `protobuf:"bytes,1,opt,name=topic_name,json=topicName,proto3" json:"topic_name,omitempty"`
	// Save transactions order
	// Not to split events queue into separate per-table queues.
	SaveTxOrder   bool `protobuf:"varint,2,opt,name=save_tx_order,json=saveTxOrder,proto3" json:"save_tx_order,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *KafkaTargetTopic) Reset() {
	*x = KafkaTargetTopic{}
	mi := &file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*KafkaTargetTopic) ProtoMessage() {}

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

func (x *KafkaTargetTopic) GetTopicName() string {
	if x != nil {
		return x.TopicName
	}
	return ""
}

func (x *KafkaTargetTopic) GetSaveTxOrder() bool {
	if x != nil {
		return x.SaveTxOrder
	}
	return false
}

var File_yandex_cloud_datatransfer_v1_endpoint_kafka_proto protoreflect.FileDescriptor

const file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_rawDesc = "" +
	"\n" +
	"1yandex/cloud/datatransfer/v1/endpoint/kafka.proto\x12%yandex.cloud.datatransfer.v1.endpoint\x1a2yandex/cloud/datatransfer/v1/endpoint/common.proto\x1a3yandex/cloud/datatransfer/v1/endpoint/parsers.proto\x1a7yandex/cloud/datatransfer/v1/endpoint/serializers.proto\"\xaa\x02\n" +
	"\x16KafkaConnectionOptions\x12\x1f\n" +
	"\n" +
	"cluster_id\x18\x01 \x01(\tH\x00R\tclusterId\x12V\n" +
	"\n" +
	"on_premise\x18\x02 \x01(\v25.yandex.cloud.datatransfer.v1.endpoint.OnPremiseKafkaH\x00R\tonPremise\x12\x88\x01\n" +
	"\x1dconnection_manager_connection\x18\x03 \x01(\v2B.yandex.cloud.datatransfer.v1.endpoint.ConnectionManagerConnectionH\x00R\x1bconnectionManagerConnectionB\f\n" +
	"\n" +
	"connection\"\x9f\x01\n" +
	"\x0eOnPremiseKafka\x12\x1f\n" +
	"\vbroker_urls\x18\x01 \x03(\tR\n" +
	"brokerUrls\x12\x1b\n" +
	"\tsubnet_id\x18\x04 \x01(\tR\bsubnetId\x12I\n" +
	"\btls_mode\x18\x05 \x01(\v2..yandex.cloud.datatransfer.v1.endpoint.TLSModeR\atlsModeJ\x04\b\x02\x10\x04\"\xb1\x01\n" +
	"\tKafkaAuth\x12N\n" +
	"\x04sasl\x18\x01 \x01(\v28.yandex.cloud.datatransfer.v1.endpoint.KafkaSaslSecurityH\x00R\x04sasl\x12H\n" +
	"\ano_auth\x18\x02 \x01(\v2-.yandex.cloud.datatransfer.v1.endpoint.NoAuthH\x00R\x06noAuthB\n" +
	"\n" +
	"\bsecurity\"\xcd\x01\n" +
	"\x11KafkaSaslSecurity\x12\x12\n" +
	"\x04user\x18\x01 \x01(\tR\x04user\x12S\n" +
	"\tmechanism\x18\x03 \x01(\x0e25.yandex.cloud.datatransfer.v1.endpoint.KafkaMechanismR\tmechanism\x12I\n" +
	"\bpassword\x18\x04 \x01(\v2-.yandex.cloud.datatransfer.v1.endpoint.SecretR\bpasswordJ\x04\b\x02\x10\x03\"\xd0\x03\n" +
	"\vKafkaSource\x12]\n" +
	"\n" +
	"connection\x18\x01 \x01(\v2=.yandex.cloud.datatransfer.v1.endpoint.KafkaConnectionOptionsR\n" +
	"connection\x12D\n" +
	"\x04auth\x18\x02 \x01(\v20.yandex.cloud.datatransfer.v1.endpoint.KafkaAuthR\x04auth\x12'\n" +
	"\x0fsecurity_groups\x18\x03 \x03(\tR\x0esecurityGroups\x12!\n" +
	"\n" +
	"topic_name\x18\x04 \x01(\tB\x02\x18\x01R\ttopicName\x12b\n" +
	"\vtransformer\x18\x05 \x01(\v2@.yandex.cloud.datatransfer.v1.endpoint.DataTransformationOptionsR\vtransformer\x12E\n" +
	"\x06parser\x18\a \x01(\v2-.yandex.cloud.datatransfer.v1.endpoint.ParserR\x06parser\x12\x1f\n" +
	"\vtopic_names\x18\b \x03(\tR\n" +
	"topicNamesJ\x04\b\x06\x10\a\"\x9c\x03\n" +
	"\vKafkaTarget\x12]\n" +
	"\n" +
	"connection\x18\x01 \x01(\v2=.yandex.cloud.datatransfer.v1.endpoint.KafkaConnectionOptionsR\n" +
	"connection\x12D\n" +
	"\x04auth\x18\x02 \x01(\v20.yandex.cloud.datatransfer.v1.endpoint.KafkaAuthR\x04auth\x12'\n" +
	"\x0fsecurity_groups\x18\x03 \x03(\tR\x0esecurityGroups\x12f\n" +
	"\x0etopic_settings\x18\a \x01(\v2?.yandex.cloud.datatransfer.v1.endpoint.KafkaTargetTopicSettingsR\rtopicSettings\x12Q\n" +
	"\n" +
	"serializer\x18\b \x01(\v21.yandex.cloud.datatransfer.v1.endpoint.SerializerR\n" +
	"serializerJ\x04\b\x04\x10\a\"\xa2\x01\n" +
	"\x18KafkaTargetTopicSettings\x12O\n" +
	"\x05topic\x18\x01 \x01(\v27.yandex.cloud.datatransfer.v1.endpoint.KafkaTargetTopicH\x00R\x05topic\x12#\n" +
	"\ftopic_prefix\x18\x02 \x01(\tH\x00R\vtopicPrefixB\x10\n" +
	"\x0etopic_settings\"U\n" +
	"\x10KafkaTargetTopic\x12\x1d\n" +
	"\n" +
	"topic_name\x18\x01 \x01(\tR\ttopicName\x12\"\n" +
	"\rsave_tx_order\x18\x02 \x01(\bR\vsaveTxOrder*i\n" +
	"\x0eKafkaMechanism\x12\x1f\n" +
	"\x1bKAFKA_MECHANISM_UNSPECIFIED\x10\x00\x12\x1a\n" +
	"\x16KAFKA_MECHANISM_SHA256\x10\x01\x12\x1a\n" +
	"\x16KAFKA_MECHANISM_SHA512\x10\x02B\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_kafka_proto_rawDescOnce sync.Once
	file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_rawDescData []byte
)

func file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_rawDescGZIP() []byte {
	file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_rawDesc), len(file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_rawDesc)))
	})
	return file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_rawDescData
}

var file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
var file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_goTypes = []any{
	(KafkaMechanism)(0),                 // 0: yandex.cloud.datatransfer.v1.endpoint.KafkaMechanism
	(*KafkaConnectionOptions)(nil),      // 1: yandex.cloud.datatransfer.v1.endpoint.KafkaConnectionOptions
	(*OnPremiseKafka)(nil),              // 2: yandex.cloud.datatransfer.v1.endpoint.OnPremiseKafka
	(*KafkaAuth)(nil),                   // 3: yandex.cloud.datatransfer.v1.endpoint.KafkaAuth
	(*KafkaSaslSecurity)(nil),           // 4: yandex.cloud.datatransfer.v1.endpoint.KafkaSaslSecurity
	(*KafkaSource)(nil),                 // 5: yandex.cloud.datatransfer.v1.endpoint.KafkaSource
	(*KafkaTarget)(nil),                 // 6: yandex.cloud.datatransfer.v1.endpoint.KafkaTarget
	(*KafkaTargetTopicSettings)(nil),    // 7: yandex.cloud.datatransfer.v1.endpoint.KafkaTargetTopicSettings
	(*KafkaTargetTopic)(nil),            // 8: yandex.cloud.datatransfer.v1.endpoint.KafkaTargetTopic
	(*ConnectionManagerConnection)(nil), // 9: yandex.cloud.datatransfer.v1.endpoint.ConnectionManagerConnection
	(*TLSMode)(nil),                     // 10: yandex.cloud.datatransfer.v1.endpoint.TLSMode
	(*NoAuth)(nil),                      // 11: yandex.cloud.datatransfer.v1.endpoint.NoAuth
	(*Secret)(nil),                      // 12: yandex.cloud.datatransfer.v1.endpoint.Secret
	(*DataTransformationOptions)(nil),   // 13: yandex.cloud.datatransfer.v1.endpoint.DataTransformationOptions
	(*Parser)(nil),                      // 14: yandex.cloud.datatransfer.v1.endpoint.Parser
	(*Serializer)(nil),                  // 15: yandex.cloud.datatransfer.v1.endpoint.Serializer
}
var file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_depIdxs = []int32{
	2,  // 0: yandex.cloud.datatransfer.v1.endpoint.KafkaConnectionOptions.on_premise:type_name -> yandex.cloud.datatransfer.v1.endpoint.OnPremiseKafka
	9,  // 1: yandex.cloud.datatransfer.v1.endpoint.KafkaConnectionOptions.connection_manager_connection:type_name -> yandex.cloud.datatransfer.v1.endpoint.ConnectionManagerConnection
	10, // 2: yandex.cloud.datatransfer.v1.endpoint.OnPremiseKafka.tls_mode:type_name -> yandex.cloud.datatransfer.v1.endpoint.TLSMode
	4,  // 3: yandex.cloud.datatransfer.v1.endpoint.KafkaAuth.sasl:type_name -> yandex.cloud.datatransfer.v1.endpoint.KafkaSaslSecurity
	11, // 4: yandex.cloud.datatransfer.v1.endpoint.KafkaAuth.no_auth:type_name -> yandex.cloud.datatransfer.v1.endpoint.NoAuth
	0,  // 5: yandex.cloud.datatransfer.v1.endpoint.KafkaSaslSecurity.mechanism:type_name -> yandex.cloud.datatransfer.v1.endpoint.KafkaMechanism
	12, // 6: yandex.cloud.datatransfer.v1.endpoint.KafkaSaslSecurity.password:type_name -> yandex.cloud.datatransfer.v1.endpoint.Secret
	1,  // 7: yandex.cloud.datatransfer.v1.endpoint.KafkaSource.connection:type_name -> yandex.cloud.datatransfer.v1.endpoint.KafkaConnectionOptions
	3,  // 8: yandex.cloud.datatransfer.v1.endpoint.KafkaSource.auth:type_name -> yandex.cloud.datatransfer.v1.endpoint.KafkaAuth
	13, // 9: yandex.cloud.datatransfer.v1.endpoint.KafkaSource.transformer:type_name -> yandex.cloud.datatransfer.v1.endpoint.DataTransformationOptions
	14, // 10: yandex.cloud.datatransfer.v1.endpoint.KafkaSource.parser:type_name -> yandex.cloud.datatransfer.v1.endpoint.Parser
	1,  // 11: yandex.cloud.datatransfer.v1.endpoint.KafkaTarget.connection:type_name -> yandex.cloud.datatransfer.v1.endpoint.KafkaConnectionOptions
	3,  // 12: yandex.cloud.datatransfer.v1.endpoint.KafkaTarget.auth:type_name -> yandex.cloud.datatransfer.v1.endpoint.KafkaAuth
	7,  // 13: yandex.cloud.datatransfer.v1.endpoint.KafkaTarget.topic_settings:type_name -> yandex.cloud.datatransfer.v1.endpoint.KafkaTargetTopicSettings
	15, // 14: yandex.cloud.datatransfer.v1.endpoint.KafkaTarget.serializer:type_name -> yandex.cloud.datatransfer.v1.endpoint.Serializer
	8,  // 15: yandex.cloud.datatransfer.v1.endpoint.KafkaTargetTopicSettings.topic:type_name -> yandex.cloud.datatransfer.v1.endpoint.KafkaTargetTopic
	16, // [16:16] is the sub-list for method output_type
	16, // [16:16] is the sub-list for method input_type
	16, // [16:16] is the sub-list for extension type_name
	16, // [16:16] is the sub-list for extension extendee
	0,  // [0:16] is the sub-list for field type_name
}

func init() { file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_init() }
func file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_init() {
	if File_yandex_cloud_datatransfer_v1_endpoint_kafka_proto != nil {
		return
	}
	file_yandex_cloud_datatransfer_v1_endpoint_common_proto_init()
	file_yandex_cloud_datatransfer_v1_endpoint_parsers_proto_init()
	file_yandex_cloud_datatransfer_v1_endpoint_serializers_proto_init()
	file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_msgTypes[0].OneofWrappers = []any{
		(*KafkaConnectionOptions_ClusterId)(nil),
		(*KafkaConnectionOptions_OnPremise)(nil),
		(*KafkaConnectionOptions_ConnectionManagerConnection)(nil),
	}
	file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_msgTypes[2].OneofWrappers = []any{
		(*KafkaAuth_Sasl)(nil),
		(*KafkaAuth_NoAuth)(nil),
	}
	file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_msgTypes[6].OneofWrappers = []any{
		(*KafkaTargetTopicSettings_Topic)(nil),
		(*KafkaTargetTopicSettings_TopicPrefix)(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_kafka_proto_rawDesc), len(file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   8,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_depIdxs,
		EnumInfos:         file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_enumTypes,
		MessageInfos:      file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_msgTypes,
	}.Build()
	File_yandex_cloud_datatransfer_v1_endpoint_kafka_proto = out.File
	file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_goTypes = nil
	file_yandex_cloud_datatransfer_v1_endpoint_kafka_proto_depIdxs = nil
}
