// 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/ydb.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 YdbCleanupPolicy int32

const (
	YdbCleanupPolicy_YDB_CLEANUP_POLICY_UNSPECIFIED YdbCleanupPolicy = 0
	YdbCleanupPolicy_YDB_CLEANUP_POLICY_DISABLED    YdbCleanupPolicy = 1
	YdbCleanupPolicy_YDB_CLEANUP_POLICY_DROP        YdbCleanupPolicy = 2
)

// Enum value maps for YdbCleanupPolicy.
var (
	YdbCleanupPolicy_name = map[int32]string{
		0: "YDB_CLEANUP_POLICY_UNSPECIFIED",
		1: "YDB_CLEANUP_POLICY_DISABLED",
		2: "YDB_CLEANUP_POLICY_DROP",
	}
	YdbCleanupPolicy_value = map[string]int32{
		"YDB_CLEANUP_POLICY_UNSPECIFIED": 0,
		"YDB_CLEANUP_POLICY_DISABLED":    1,
		"YDB_CLEANUP_POLICY_DROP":        2,
	}
)

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

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

func (YdbCleanupPolicy) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_enumTypes[0].Descriptor()
}

func (YdbCleanupPolicy) Type() protoreflect.EnumType {
	return &file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_enumTypes[0]
}

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

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

type YdbDefaultCompression int32

const (
	YdbDefaultCompression_YDB_DEFAULT_COMPRESSION_UNSPECIFIED YdbDefaultCompression = 0
	YdbDefaultCompression_YDB_DEFAULT_COMPRESSION_DISABLED    YdbDefaultCompression = 1
	YdbDefaultCompression_YDB_DEFAULT_COMPRESSION_LZ4         YdbDefaultCompression = 2
)

// Enum value maps for YdbDefaultCompression.
var (
	YdbDefaultCompression_name = map[int32]string{
		0: "YDB_DEFAULT_COMPRESSION_UNSPECIFIED",
		1: "YDB_DEFAULT_COMPRESSION_DISABLED",
		2: "YDB_DEFAULT_COMPRESSION_LZ4",
	}
	YdbDefaultCompression_value = map[string]int32{
		"YDB_DEFAULT_COMPRESSION_UNSPECIFIED": 0,
		"YDB_DEFAULT_COMPRESSION_DISABLED":    1,
		"YDB_DEFAULT_COMPRESSION_LZ4":         2,
	}
)

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

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

func (YdbDefaultCompression) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_enumTypes[1].Descriptor()
}

func (YdbDefaultCompression) Type() protoreflect.EnumType {
	return &file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_enumTypes[1]
}

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

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

// Settings specific to the YDB source endpoint
type YdbSource struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Database path in YDB where tables are stored.
	// Example: `/ru/transfer_manager/prod/data-transfer-yt`
	Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
	// Instance of YDB. example: ydb-ru-prestable.yandex.net:2135.
	// If not specified, will be determined by database
	Instance string `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"`
	// A list of paths which should be uploaded. When not specified, all available
	// tables are uploaded
	Paths []string `protobuf:"bytes,5,rep,name=paths,proto3" json:"paths,omitempty"`
	// Service account ID for interaction with database
	ServiceAccountId string `protobuf:"bytes,6,opt,name=service_account_id,json=serviceAccountId,proto3" json:"service_account_id,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,30,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"`
	// Authorization Key
	SaKeyContent string `protobuf:"bytes,33,opt,name=sa_key_content,json=saKeyContent,proto3" json:"sa_key_content,omitempty"`
	// List of security groups that the transfer associated with this endpoint should
	// use
	SecurityGroups []string `protobuf:"bytes,34,rep,name=security_groups,json=securityGroups,proto3" json:"security_groups,omitempty"`
	// Pre-created change feed if any
	ChangefeedCustomName string `protobuf:"bytes,35,opt,name=changefeed_custom_name,json=changefeedCustomName,proto3" json:"changefeed_custom_name,omitempty"`
	// Consumer for pre-created change feed if any
	ChangefeedCustomConsumerName string `protobuf:"bytes,36,opt,name=changefeed_custom_consumer_name,json=changefeedCustomConsumerName,proto3" json:"changefeed_custom_consumer_name,omitempty"`
	unknownFields                protoimpl.UnknownFields
	sizeCache                    protoimpl.SizeCache
}

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

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

func (*YdbSource) ProtoMessage() {}

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

func (x *YdbSource) GetDatabase() string {
	if x != nil {
		return x.Database
	}
	return ""
}

func (x *YdbSource) GetInstance() string {
	if x != nil {
		return x.Instance
	}
	return ""
}

func (x *YdbSource) GetPaths() []string {
	if x != nil {
		return x.Paths
	}
	return nil
}

func (x *YdbSource) GetServiceAccountId() string {
	if x != nil {
		return x.ServiceAccountId
	}
	return ""
}

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

func (x *YdbSource) GetSaKeyContent() string {
	if x != nil {
		return x.SaKeyContent
	}
	return ""
}

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

func (x *YdbSource) GetChangefeedCustomName() string {
	if x != nil {
		return x.ChangefeedCustomName
	}
	return ""
}

func (x *YdbSource) GetChangefeedCustomConsumerName() string {
	if x != nil {
		return x.ChangefeedCustomConsumerName
	}
	return ""
}

// Settings specific to the YDB target endpoint
type YdbTarget struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Database path in YDB where tables are stored.
	// Example: `/ru/transfer_manager/prod/data-transfer`
	Database string `protobuf:"bytes,1,opt,name=database,proto3" json:"database,omitempty"`
	// Instance of YDB. example: ydb-ru-prestable.yandex.net:2135.
	// If not specified, will be determined by database
	Instance string `protobuf:"bytes,2,opt,name=instance,proto3" json:"instance,omitempty"`
	// Path extension for database, each table will be layouted into this path
	Path string `protobuf:"bytes,10,opt,name=path,proto3" json:"path,omitempty"`
	// Service account ID for interaction with database
	ServiceAccountId string `protobuf:"bytes,11,opt,name=service_account_id,json=serviceAccountId,proto3" json:"service_account_id,omitempty"`
	// Cleanup policy determine how to clean collections when activating the transfer.
	// One of `YDB_CLEANUP_POLICY_DISABLED` or `YDB_CLEANUP_POLICY_DROP`
	CleanupPolicy YdbCleanupPolicy `protobuf:"varint,21,opt,name=cleanup_policy,json=cleanupPolicy,proto3,enum=yandex.cloud.datatransfer.v1.endpoint.YdbCleanupPolicy" json:"cleanup_policy,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,30,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"`
	// Authentication key
	SaKeyContent string `protobuf:"bytes,32,opt,name=sa_key_content,json=saKeyContent,proto3" json:"sa_key_content,omitempty"`
	// List of security groups that the transfer associated with this endpoint should
	// use
	SecurityGroups []string `protobuf:"bytes,33,rep,name=security_groups,json=securityGroups,proto3" json:"security_groups,omitempty"`
	// Whether a column-oriented (i.e. OLAP) tables should be created.
	// Default is `false` (create row-oriented OLTP tables)
	IsTableColumnOriented bool `protobuf:"varint,34,opt,name=is_table_column_oriented,json=isTableColumnOriented,proto3" json:"is_table_column_oriented,omitempty"`
	// Compression that will be used for default columns family on YDB table creation.
	// One of `YDB_DEFAULT_COMPRESSION_UNSPECIFIED`,
	// `YDB_DEFAULT_COMPRESSION_DISABLED`, `YDB_DEFAULT_COMPRESSION_LZ4`
	DefaultCompression YdbDefaultCompression `protobuf:"varint,35,opt,name=default_compression,json=defaultCompression,proto3,enum=yandex.cloud.datatransfer.v1.endpoint.YdbDefaultCompression" json:"default_compression,omitempty"`
	// Whether can change table schema if schema changed on source
	IsSchemaMigrationDisabled bool `protobuf:"varint,36,opt,name=is_schema_migration_disabled,json=isSchemaMigrationDisabled,proto3" json:"is_schema_migration_disabled,omitempty"`
	unknownFields             protoimpl.UnknownFields
	sizeCache                 protoimpl.SizeCache
}

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

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

func (*YdbTarget) ProtoMessage() {}

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

func (x *YdbTarget) GetDatabase() string {
	if x != nil {
		return x.Database
	}
	return ""
}

func (x *YdbTarget) GetInstance() string {
	if x != nil {
		return x.Instance
	}
	return ""
}

func (x *YdbTarget) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *YdbTarget) GetServiceAccountId() string {
	if x != nil {
		return x.ServiceAccountId
	}
	return ""
}

func (x *YdbTarget) GetCleanupPolicy() YdbCleanupPolicy {
	if x != nil {
		return x.CleanupPolicy
	}
	return YdbCleanupPolicy_YDB_CLEANUP_POLICY_UNSPECIFIED
}

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

func (x *YdbTarget) GetSaKeyContent() string {
	if x != nil {
		return x.SaKeyContent
	}
	return ""
}

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

func (x *YdbTarget) GetIsTableColumnOriented() bool {
	if x != nil {
		return x.IsTableColumnOriented
	}
	return false
}

func (x *YdbTarget) GetDefaultCompression() YdbDefaultCompression {
	if x != nil {
		return x.DefaultCompression
	}
	return YdbDefaultCompression_YDB_DEFAULT_COMPRESSION_UNSPECIFIED
}

func (x *YdbTarget) GetIsSchemaMigrationDisabled() bool {
	if x != nil {
		return x.IsSchemaMigrationDisabled
	}
	return false
}

var File_yandex_cloud_datatransfer_v1_endpoint_ydb_proto protoreflect.FileDescriptor

const file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_rawDesc = "" +
	"\n" +
	"/yandex/cloud/datatransfer/v1/endpoint/ydb.proto\x12%yandex.cloud.datatransfer.v1.endpoint\"\x82\x03\n" +
	"\tYdbSource\x12\x1a\n" +
	"\bdatabase\x18\x01 \x01(\tR\bdatabase\x12\x1a\n" +
	"\binstance\x18\x02 \x01(\tR\binstance\x12\x14\n" +
	"\x05paths\x18\x05 \x03(\tR\x05paths\x12,\n" +
	"\x12service_account_id\x18\x06 \x01(\tR\x10serviceAccountId\x12\x1b\n" +
	"\tsubnet_id\x18\x1e \x01(\tR\bsubnetId\x12$\n" +
	"\x0esa_key_content\x18! \x01(\tR\fsaKeyContent\x12'\n" +
	"\x0fsecurity_groups\x18\" \x03(\tR\x0esecurityGroups\x124\n" +
	"\x16changefeed_custom_name\x18# \x01(\tR\x14changefeedCustomName\x12E\n" +
	"\x1fchangefeed_custom_consumer_name\x18$ \x01(\tR\x1cchangefeedCustomConsumerNameJ\x04\b\x03\x10\x05J\x04\b\a\x10\x1eJ\x04\b\x1f\x10!\"\xd2\x04\n" +
	"\tYdbTarget\x12\x1a\n" +
	"\bdatabase\x18\x01 \x01(\tR\bdatabase\x12\x1a\n" +
	"\binstance\x18\x02 \x01(\tR\binstance\x12\x12\n" +
	"\x04path\x18\n" +
	" \x01(\tR\x04path\x12,\n" +
	"\x12service_account_id\x18\v \x01(\tR\x10serviceAccountId\x12^\n" +
	"\x0ecleanup_policy\x18\x15 \x01(\x0e27.yandex.cloud.datatransfer.v1.endpoint.YdbCleanupPolicyR\rcleanupPolicy\x12\x1b\n" +
	"\tsubnet_id\x18\x1e \x01(\tR\bsubnetId\x12$\n" +
	"\x0esa_key_content\x18  \x01(\tR\fsaKeyContent\x12'\n" +
	"\x0fsecurity_groups\x18! \x03(\tR\x0esecurityGroups\x127\n" +
	"\x18is_table_column_oriented\x18\" \x01(\bR\x15isTableColumnOriented\x12m\n" +
	"\x13default_compression\x18# \x01(\x0e2<.yandex.cloud.datatransfer.v1.endpoint.YdbDefaultCompressionR\x12defaultCompression\x12?\n" +
	"\x1cis_schema_migration_disabled\x18$ \x01(\bR\x19isSchemaMigrationDisabledJ\x04\b\x03\x10\n" +
	"J\x04\b\f\x10\x15J\x04\b\x16\x10\x1eJ\x04\b\x1f\x10 *t\n" +
	"\x10YdbCleanupPolicy\x12\"\n" +
	"\x1eYDB_CLEANUP_POLICY_UNSPECIFIED\x10\x00\x12\x1f\n" +
	"\x1bYDB_CLEANUP_POLICY_DISABLED\x10\x01\x12\x1b\n" +
	"\x17YDB_CLEANUP_POLICY_DROP\x10\x02*\x87\x01\n" +
	"\x15YdbDefaultCompression\x12'\n" +
	"#YDB_DEFAULT_COMPRESSION_UNSPECIFIED\x10\x00\x12$\n" +
	" YDB_DEFAULT_COMPRESSION_DISABLED\x10\x01\x12\x1f\n" +
	"\x1bYDB_DEFAULT_COMPRESSION_LZ4\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_ydb_proto_rawDescOnce sync.Once
	file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_rawDescData []byte
)

func file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_rawDescGZIP() []byte {
	file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_rawDesc), len(file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_rawDesc)))
	})
	return file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_rawDescData
}

var file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
var file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_goTypes = []any{
	(YdbCleanupPolicy)(0),      // 0: yandex.cloud.datatransfer.v1.endpoint.YdbCleanupPolicy
	(YdbDefaultCompression)(0), // 1: yandex.cloud.datatransfer.v1.endpoint.YdbDefaultCompression
	(*YdbSource)(nil),          // 2: yandex.cloud.datatransfer.v1.endpoint.YdbSource
	(*YdbTarget)(nil),          // 3: yandex.cloud.datatransfer.v1.endpoint.YdbTarget
}
var file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_depIdxs = []int32{
	0, // 0: yandex.cloud.datatransfer.v1.endpoint.YdbTarget.cleanup_policy:type_name -> yandex.cloud.datatransfer.v1.endpoint.YdbCleanupPolicy
	1, // 1: yandex.cloud.datatransfer.v1.endpoint.YdbTarget.default_compression:type_name -> yandex.cloud.datatransfer.v1.endpoint.YdbDefaultCompression
	2, // [2:2] is the sub-list for method output_type
	2, // [2:2] is the sub-list for method input_type
	2, // [2:2] is the sub-list for extension type_name
	2, // [2:2] is the sub-list for extension extendee
	0, // [0:2] is the sub-list for field type_name
}

func init() { file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_init() }
func file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_init() {
	if File_yandex_cloud_datatransfer_v1_endpoint_ydb_proto != nil {
		return
	}
	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_ydb_proto_rawDesc), len(file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_rawDesc)),
			NumEnums:      2,
			NumMessages:   2,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_depIdxs,
		EnumInfos:         file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_enumTypes,
		MessageInfos:      file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_msgTypes,
	}.Build()
	File_yandex_cloud_datatransfer_v1_endpoint_ydb_proto = out.File
	file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_goTypes = nil
	file_yandex_cloud_datatransfer_v1_endpoint_ydb_proto_depIdxs = nil
}
