// 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/clickhouse.proto

package endpoint

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	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 ClickhouseCleanupPolicy int32

const (
	ClickhouseCleanupPolicy_CLICKHOUSE_CLEANUP_POLICY_UNSPECIFIED ClickhouseCleanupPolicy = 0
	ClickhouseCleanupPolicy_CLICKHOUSE_CLEANUP_POLICY_DISABLED    ClickhouseCleanupPolicy = 1
	ClickhouseCleanupPolicy_CLICKHOUSE_CLEANUP_POLICY_DROP        ClickhouseCleanupPolicy = 2
	ClickhouseCleanupPolicy_CLICKHOUSE_CLEANUP_POLICY_TRUNCATE    ClickhouseCleanupPolicy = 3
)

// Enum value maps for ClickhouseCleanupPolicy.
var (
	ClickhouseCleanupPolicy_name = map[int32]string{
		0: "CLICKHOUSE_CLEANUP_POLICY_UNSPECIFIED",
		1: "CLICKHOUSE_CLEANUP_POLICY_DISABLED",
		2: "CLICKHOUSE_CLEANUP_POLICY_DROP",
		3: "CLICKHOUSE_CLEANUP_POLICY_TRUNCATE",
	}
	ClickhouseCleanupPolicy_value = map[string]int32{
		"CLICKHOUSE_CLEANUP_POLICY_UNSPECIFIED": 0,
		"CLICKHOUSE_CLEANUP_POLICY_DISABLED":    1,
		"CLICKHOUSE_CLEANUP_POLICY_DROP":        2,
		"CLICKHOUSE_CLEANUP_POLICY_TRUNCATE":    3,
	}
)

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

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

func (ClickhouseCleanupPolicy) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_enumTypes[0].Descriptor()
}

func (ClickhouseCleanupPolicy) Type() protoreflect.EnumType {
	return &file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_enumTypes[0]
}

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

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

type ClickhouseShard struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	Hosts         []string               `protobuf:"bytes,2,rep,name=hosts,proto3" json:"hosts,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ClickhouseShard) ProtoMessage() {}

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

func (x *ClickhouseShard) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *ClickhouseShard) GetHosts() []string {
	if x != nil {
		return x.Hosts
	}
	return nil
}

type OnPremiseClickhouse struct {
	state      protoimpl.MessageState `protogen:"open.v1"`
	Shards     []*ClickhouseShard     `protobuf:"bytes,1,rep,name=shards,proto3" json:"shards,omitempty"`
	HttpPort   int64                  `protobuf:"varint,3,opt,name=http_port,json=httpPort,proto3" json:"http_port,omitempty"`
	NativePort int64                  `protobuf:"varint,4,opt,name=native_port,json=nativePort,proto3" json:"native_port,omitempty"`
	// TLS settings for server connection. Disabled by default
	TlsMode       *TLSMode `protobuf:"bytes,8,opt,name=tls_mode,json=tlsMode,proto3" json:"tls_mode,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*OnPremiseClickhouse) ProtoMessage() {}

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

func (x *OnPremiseClickhouse) GetShards() []*ClickhouseShard {
	if x != nil {
		return x.Shards
	}
	return nil
}

func (x *OnPremiseClickhouse) GetHttpPort() int64 {
	if x != nil {
		return x.HttpPort
	}
	return 0
}

func (x *OnPremiseClickhouse) GetNativePort() int64 {
	if x != nil {
		return x.NativePort
	}
	return 0
}

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

type ClickhouseConnectionOptions struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Address:
	//
	//	*ClickhouseConnectionOptions_OnPremise
	//	*ClickhouseConnectionOptions_ConnectionManagerConnection
	//	*ClickhouseConnectionOptions_MdbClusterId
	Address isClickhouseConnectionOptions_Address `protobuf_oneof:"address"`
	// User for database access. Required unless connection_manager_connection is used
	User string `protobuf:"bytes,6,opt,name=user,proto3" json:"user,omitempty"`
	// Password for the database access
	Password *Secret `protobuf:"bytes,7,opt,name=password,proto3" json:"password,omitempty"`
	// Database name
	Database      string `protobuf:"bytes,8,opt,name=database,proto3" json:"database,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ClickhouseConnectionOptions) ProtoMessage() {}

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

func (x *ClickhouseConnectionOptions) GetAddress() isClickhouseConnectionOptions_Address {
	if x != nil {
		return x.Address
	}
	return nil
}

func (x *ClickhouseConnectionOptions) GetOnPremise() *OnPremiseClickhouse {
	if x != nil {
		if x, ok := x.Address.(*ClickhouseConnectionOptions_OnPremise); ok {
			return x.OnPremise
		}
	}
	return nil
}

func (x *ClickhouseConnectionOptions) GetConnectionManagerConnection() *ConnectionManagerConnection {
	if x != nil {
		if x, ok := x.Address.(*ClickhouseConnectionOptions_ConnectionManagerConnection); ok {
			return x.ConnectionManagerConnection
		}
	}
	return nil
}

func (x *ClickhouseConnectionOptions) GetMdbClusterId() string {
	if x != nil {
		if x, ok := x.Address.(*ClickhouseConnectionOptions_MdbClusterId); ok {
			return x.MdbClusterId
		}
	}
	return ""
}

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

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

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

type isClickhouseConnectionOptions_Address interface {
	isClickhouseConnectionOptions_Address()
}

type ClickhouseConnectionOptions_OnPremise struct {
	// Connection settings of the on-premise ClickHouse server
	OnPremise *OnPremiseClickhouse `protobuf:"bytes,2,opt,name=on_premise,json=onPremise,proto3,oneof"`
}

type ClickhouseConnectionOptions_ConnectionManagerConnection struct {
	// Get ClickHouse installation params and credentials from Connection Manager
	ConnectionManagerConnection *ConnectionManagerConnection `protobuf:"bytes,3,opt,name=connection_manager_connection,json=connectionManagerConnection,proto3,oneof"`
}

type ClickhouseConnectionOptions_MdbClusterId struct {
	// Identifier of the Managed ClickHouse cluster
	MdbClusterId string `protobuf:"bytes,5,opt,name=mdb_cluster_id,json=mdbClusterId,proto3,oneof"`
}

func (*ClickhouseConnectionOptions_OnPremise) isClickhouseConnectionOptions_Address() {}

func (*ClickhouseConnectionOptions_ConnectionManagerConnection) isClickhouseConnectionOptions_Address() {
}

func (*ClickhouseConnectionOptions_MdbClusterId) isClickhouseConnectionOptions_Address() {}

type ClickhouseConnection struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Connection:
	//
	//	*ClickhouseConnection_ConnectionOptions
	Connection    isClickhouseConnection_Connection `protobuf_oneof:"connection"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ClickhouseConnection) ProtoMessage() {}

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

func (x *ClickhouseConnection) GetConnection() isClickhouseConnection_Connection {
	if x != nil {
		return x.Connection
	}
	return nil
}

func (x *ClickhouseConnection) GetConnectionOptions() *ClickhouseConnectionOptions {
	if x != nil {
		if x, ok := x.Connection.(*ClickhouseConnection_ConnectionOptions); ok {
			return x.ConnectionOptions
		}
	}
	return nil
}

type isClickhouseConnection_Connection interface {
	isClickhouseConnection_Connection()
}

type ClickhouseConnection_ConnectionOptions struct {
	ConnectionOptions *ClickhouseConnectionOptions `protobuf:"bytes,1,opt,name=connection_options,json=connectionOptions,proto3,oneof"`
}

func (*ClickhouseConnection_ConnectionOptions) isClickhouseConnection_Connection() {}

type ClickhouseSharding struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Sharding:
	//
	//	*ClickhouseSharding_ColumnValueHash_
	//	*ClickhouseSharding_CustomMapping
	//	*ClickhouseSharding_TransferId
	//	*ClickhouseSharding_RoundRobin
	Sharding      isClickhouseSharding_Sharding `protobuf_oneof:"sharding"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ClickhouseSharding) ProtoMessage() {}

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

func (x *ClickhouseSharding) GetSharding() isClickhouseSharding_Sharding {
	if x != nil {
		return x.Sharding
	}
	return nil
}

func (x *ClickhouseSharding) GetColumnValueHash() *ClickhouseSharding_ColumnValueHash {
	if x != nil {
		if x, ok := x.Sharding.(*ClickhouseSharding_ColumnValueHash_); ok {
			return x.ColumnValueHash
		}
	}
	return nil
}

func (x *ClickhouseSharding) GetCustomMapping() *ClickhouseSharding_ColumnValueMapping {
	if x != nil {
		if x, ok := x.Sharding.(*ClickhouseSharding_CustomMapping); ok {
			return x.CustomMapping
		}
	}
	return nil
}

func (x *ClickhouseSharding) GetTransferId() *emptypb.Empty {
	if x != nil {
		if x, ok := x.Sharding.(*ClickhouseSharding_TransferId); ok {
			return x.TransferId
		}
	}
	return nil
}

func (x *ClickhouseSharding) GetRoundRobin() *emptypb.Empty {
	if x != nil {
		if x, ok := x.Sharding.(*ClickhouseSharding_RoundRobin); ok {
			return x.RoundRobin
		}
	}
	return nil
}

type isClickhouseSharding_Sharding interface {
	isClickhouseSharding_Sharding()
}

type ClickhouseSharding_ColumnValueHash_ struct {
	// Shard data by the hash value of the specified column
	ColumnValueHash *ClickhouseSharding_ColumnValueHash `protobuf:"bytes,1,opt,name=column_value_hash,json=columnValueHash,proto3,oneof"`
}

type ClickhouseSharding_CustomMapping struct {
	// A custom shard mapping by the value of the specified column
	CustomMapping *ClickhouseSharding_ColumnValueMapping `protobuf:"bytes,2,opt,name=custom_mapping,json=customMapping,proto3,oneof"`
}

type ClickhouseSharding_TransferId struct {
	// Shard data by ID of the transfer
	TransferId *emptypb.Empty `protobuf:"bytes,3,opt,name=transfer_id,json=transferId,proto3,oneof"`
}

type ClickhouseSharding_RoundRobin struct {
	// Distribute incoming rows between ClickHouse shards in a round-robin manner.
	// Specify as an empty block to enable
	RoundRobin *emptypb.Empty `protobuf:"bytes,4,opt,name=round_robin,json=roundRobin,proto3,oneof"`
}

func (*ClickhouseSharding_ColumnValueHash_) isClickhouseSharding_Sharding() {}

func (*ClickhouseSharding_CustomMapping) isClickhouseSharding_Sharding() {}

func (*ClickhouseSharding_TransferId) isClickhouseSharding_Sharding() {}

func (*ClickhouseSharding_RoundRobin) isClickhouseSharding_Sharding() {}

// Settings specific to the ClickHouse source endpoint
type ClickhouseSource struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Connection settings
	Connection *ClickhouseConnection `protobuf:"bytes,1,opt,name=connection,proto3" json:"connection,omitempty"`
	// White list of tables for replication. If none or empty list is presented - will
	// replicate all tables. Can contain * patterns.
	IncludeTables []string `protobuf:"bytes,7,rep,name=include_tables,json=includeTables,proto3" json:"include_tables,omitempty"`
	// Exclude list of tables for replication. If none or empty list is presented -
	// will replicate all tables. Can contain * patterns.
	ExcludeTables []string `protobuf:"bytes,8,rep,name=exclude_tables,json=excludeTables,proto3" json:"exclude_tables,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,9,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"`
	// List of security groups that the transfer associated with this endpoint should
	// use
	SecurityGroups []string `protobuf:"bytes,10,rep,name=security_groups,json=securityGroups,proto3" json:"security_groups,omitempty"`
	// Name of the ClickHouse cluster. For Managed ClickHouse that is name of
	// ShardGroup or managed cluster ID by default
	ClickhouseClusterName string `protobuf:"bytes,11,opt,name=clickhouse_cluster_name,json=clickhouseClusterName,proto3" json:"clickhouse_cluster_name,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

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

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

func (*ClickhouseSource) ProtoMessage() {}

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

func (x *ClickhouseSource) GetConnection() *ClickhouseConnection {
	if x != nil {
		return x.Connection
	}
	return nil
}

func (x *ClickhouseSource) GetIncludeTables() []string {
	if x != nil {
		return x.IncludeTables
	}
	return nil
}

func (x *ClickhouseSource) GetExcludeTables() []string {
	if x != nil {
		return x.ExcludeTables
	}
	return nil
}

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

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

func (x *ClickhouseSource) GetClickhouseClusterName() string {
	if x != nil {
		return x.ClickhouseClusterName
	}
	return ""
}

// Settings specific to the ClickHouse target endpoint
type ClickhouseTarget struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Connection settings
	Connection *ClickhouseConnection `protobuf:"bytes,2,opt,name=connection,proto3" json:"connection,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,12,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"`
	// Table renaming rules in target
	AltNames []*AltName `protobuf:"bytes,17,rep,name=alt_names,json=altNames,proto3" json:"alt_names,omitempty"`
	// How to clean collections when activating the transfer. One of
	// `CLICKHOUSE_CLEANUP_POLICY_DISABLED` or `CLICKHOUSE_CLEANUP_POLICY_DROP`
	CleanupPolicy ClickhouseCleanupPolicy `protobuf:"varint,21,opt,name=cleanup_policy,json=cleanupPolicy,proto3,enum=yandex.cloud.datatransfer.v1.endpoint.ClickhouseCleanupPolicy" json:"cleanup_policy,omitempty"`
	// Shard selection rules for the data being transferred
	Sharding *ClickhouseSharding `protobuf:"bytes,22,opt,name=sharding,proto3" json:"sharding,omitempty"`
	// Whether can change table schema if schema changed on source
	IsSchemaMigrationDisabled bool `protobuf:"varint,35,opt,name=is_schema_migration_disabled,json=isSchemaMigrationDisabled,proto3" json:"is_schema_migration_disabled,omitempty"`
	// Name of the ClickHouse cluster. For Managed ClickHouse that is name of
	// ShardGroup or managed cluster ID by default.
	ClickhouseClusterName string `protobuf:"bytes,50,opt,name=clickhouse_cluster_name,json=clickhouseClusterName,proto3" json:"clickhouse_cluster_name,omitempty"`
	// List of security groups that the transfer associated with this endpoint should
	// use
	SecurityGroups []string `protobuf:"bytes,51,rep,name=security_groups,json=securityGroups,proto3" json:"security_groups,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*ClickhouseTarget) ProtoMessage() {}

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

func (x *ClickhouseTarget) GetConnection() *ClickhouseConnection {
	if x != nil {
		return x.Connection
	}
	return nil
}

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

func (x *ClickhouseTarget) GetAltNames() []*AltName {
	if x != nil {
		return x.AltNames
	}
	return nil
}

func (x *ClickhouseTarget) GetCleanupPolicy() ClickhouseCleanupPolicy {
	if x != nil {
		return x.CleanupPolicy
	}
	return ClickhouseCleanupPolicy_CLICKHOUSE_CLEANUP_POLICY_UNSPECIFIED
}

func (x *ClickhouseTarget) GetSharding() *ClickhouseSharding {
	if x != nil {
		return x.Sharding
	}
	return nil
}

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

func (x *ClickhouseTarget) GetClickhouseClusterName() string {
	if x != nil {
		return x.ClickhouseClusterName
	}
	return ""
}

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

type ClickhouseSharding_ColumnValueHash struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The name of the column to calculate hash from
	ColumnName    string `protobuf:"bytes,1,opt,name=column_name,json=columnName,proto3" json:"column_name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ClickhouseSharding_ColumnValueHash) ProtoMessage() {}

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

func (x *ClickhouseSharding_ColumnValueHash) GetColumnName() string {
	if x != nil {
		return x.ColumnName
	}
	return ""
}

type ClickhouseSharding_ColumnValueMapping struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The name of the column to inspect when deciding the shard to chose for an
	// incoming row
	ColumnName string `protobuf:"bytes,1,opt,name=column_name,json=columnName,proto3" json:"column_name,omitempty"`
	// The mapping of the specified column values to the shard names
	Mapping       []*ClickhouseSharding_ColumnValueMapping_ValueToShard `protobuf:"bytes,2,rep,name=mapping,proto3" json:"mapping,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ClickhouseSharding_ColumnValueMapping) Reset() {
	*x = ClickhouseSharding_ColumnValueMapping{}
	mi := &file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ClickhouseSharding_ColumnValueMapping) ProtoMessage() {}

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

func (x *ClickhouseSharding_ColumnValueMapping) GetColumnName() string {
	if x != nil {
		return x.ColumnName
	}
	return ""
}

func (x *ClickhouseSharding_ColumnValueMapping) GetMapping() []*ClickhouseSharding_ColumnValueMapping_ValueToShard {
	if x != nil {
		return x.Mapping
	}
	return nil
}

type ClickhouseSharding_ColumnValueMapping_ValueToShard struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The value of the column. Currently only the string columns are supported
	ColumnValue *ColumnValue `protobuf:"bytes,1,opt,name=column_value,json=columnValue,proto3" json:"column_value,omitempty"`
	// The name of the shard into which all the rows with the specified `column_value`
	// will be written
	ShardName     string `protobuf:"bytes,2,opt,name=shard_name,json=shardName,proto3" json:"shard_name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ClickhouseSharding_ColumnValueMapping_ValueToShard) Reset() {
	*x = ClickhouseSharding_ColumnValueMapping_ValueToShard{}
	mi := &file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ClickhouseSharding_ColumnValueMapping_ValueToShard) ProtoMessage() {}

func (x *ClickhouseSharding_ColumnValueMapping_ValueToShard) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_msgTypes[9]
	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 ClickhouseSharding_ColumnValueMapping_ValueToShard.ProtoReflect.Descriptor instead.
func (*ClickhouseSharding_ColumnValueMapping_ValueToShard) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_rawDescGZIP(), []int{4, 1, 0}
}

func (x *ClickhouseSharding_ColumnValueMapping_ValueToShard) GetColumnValue() *ColumnValue {
	if x != nil {
		return x.ColumnValue
	}
	return nil
}

func (x *ClickhouseSharding_ColumnValueMapping_ValueToShard) GetShardName() string {
	if x != nil {
		return x.ShardName
	}
	return ""
}

var File_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto protoreflect.FileDescriptor

const file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_rawDesc = "" +
	"\n" +
	"6yandex/cloud/datatransfer/v1/endpoint/clickhouse.proto\x12%yandex.cloud.datatransfer.v1.endpoint\x1a\x1bgoogle/protobuf/empty.proto\x1a2yandex/cloud/datatransfer/v1/endpoint/common.proto\";\n" +
	"\x0fClickhouseShard\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n" +
	"\x05hosts\x18\x02 \x03(\tR\x05hosts\"\xfa\x01\n" +
	"\x13OnPremiseClickhouse\x12N\n" +
	"\x06shards\x18\x01 \x03(\v26.yandex.cloud.datatransfer.v1.endpoint.ClickhouseShardR\x06shards\x12\x1b\n" +
	"\thttp_port\x18\x03 \x01(\x03R\bhttpPort\x12\x1f\n" +
	"\vnative_port\x18\x04 \x01(\x03R\n" +
	"nativePort\x12I\n" +
	"\btls_mode\x18\b \x01(\v2..yandex.cloud.datatransfer.v1.endpoint.TLSModeR\atlsModeJ\x04\b\x02\x10\x03J\x04\b\x05\x10\b\"\xbf\x03\n" +
	"\x1bClickhouseConnectionOptions\x12[\n" +
	"\n" +
	"on_premise\x18\x02 \x01(\v2:.yandex.cloud.datatransfer.v1.endpoint.OnPremiseClickhouseH\x00R\tonPremise\x12\x88\x01\n" +
	"\x1dconnection_manager_connection\x18\x03 \x01(\v2B.yandex.cloud.datatransfer.v1.endpoint.ConnectionManagerConnectionH\x00R\x1bconnectionManagerConnection\x12&\n" +
	"\x0emdb_cluster_id\x18\x05 \x01(\tH\x00R\fmdbClusterId\x12\x12\n" +
	"\x04user\x18\x06 \x01(\tR\x04user\x12I\n" +
	"\bpassword\x18\a \x01(\v2-.yandex.cloud.datatransfer.v1.endpoint.SecretR\bpassword\x12\x1a\n" +
	"\bdatabase\x18\b \x01(\tR\bdatabaseB\t\n" +
	"\aaddressJ\x04\b\x01\x10\x02J\x04\b\x04\x10\x05\"\x99\x01\n" +
	"\x14ClickhouseConnection\x12s\n" +
	"\x12connection_options\x18\x01 \x01(\v2B.yandex.cloud.datatransfer.v1.endpoint.ClickhouseConnectionOptionsH\x00R\x11connectionOptionsB\f\n" +
	"\n" +
	"connection\"\xee\x05\n" +
	"\x12ClickhouseSharding\x12w\n" +
	"\x11column_value_hash\x18\x01 \x01(\v2I.yandex.cloud.datatransfer.v1.endpoint.ClickhouseSharding.ColumnValueHashH\x00R\x0fcolumnValueHash\x12u\n" +
	"\x0ecustom_mapping\x18\x02 \x01(\v2L.yandex.cloud.datatransfer.v1.endpoint.ClickhouseSharding.ColumnValueMappingH\x00R\rcustomMapping\x129\n" +
	"\vtransfer_id\x18\x03 \x01(\v2\x16.google.protobuf.EmptyH\x00R\n" +
	"transferId\x129\n" +
	"\vround_robin\x18\x04 \x01(\v2\x16.google.protobuf.EmptyH\x00R\n" +
	"roundRobin\x1a2\n" +
	"\x0fColumnValueHash\x12\x1f\n" +
	"\vcolumn_name\x18\x01 \x01(\tR\n" +
	"columnName\x1a\xb1\x02\n" +
	"\x12ColumnValueMapping\x12\x1f\n" +
	"\vcolumn_name\x18\x01 \x01(\tR\n" +
	"columnName\x12s\n" +
	"\amapping\x18\x02 \x03(\v2Y.yandex.cloud.datatransfer.v1.endpoint.ClickhouseSharding.ColumnValueMapping.ValueToShardR\amapping\x1a\x84\x01\n" +
	"\fValueToShard\x12U\n" +
	"\fcolumn_value\x18\x01 \x01(\v22.yandex.cloud.datatransfer.v1.endpoint.ColumnValueR\vcolumnValue\x12\x1d\n" +
	"\n" +
	"shard_name\x18\x02 \x01(\tR\tshardNameB\n" +
	"\n" +
	"\bsharding\"\xc1\x02\n" +
	"\x10ClickhouseSource\x12[\n" +
	"\n" +
	"connection\x18\x01 \x01(\v2;.yandex.cloud.datatransfer.v1.endpoint.ClickhouseConnectionR\n" +
	"connection\x12%\n" +
	"\x0einclude_tables\x18\a \x03(\tR\rincludeTables\x12%\n" +
	"\x0eexclude_tables\x18\b \x03(\tR\rexcludeTables\x12\x1b\n" +
	"\tsubnet_id\x18\t \x01(\tR\bsubnetId\x12'\n" +
	"\x0fsecurity_groups\x18\n" +
	" \x03(\tR\x0esecurityGroups\x126\n" +
	"\x17clickhouse_cluster_name\x18\v \x01(\tR\x15clickhouseClusterNameJ\x04\b\x02\x10\a\"\xdd\x04\n" +
	"\x10ClickhouseTarget\x12[\n" +
	"\n" +
	"connection\x18\x02 \x01(\v2;.yandex.cloud.datatransfer.v1.endpoint.ClickhouseConnectionR\n" +
	"connection\x12\x1b\n" +
	"\tsubnet_id\x18\f \x01(\tR\bsubnetId\x12K\n" +
	"\talt_names\x18\x11 \x03(\v2..yandex.cloud.datatransfer.v1.endpoint.AltNameR\baltNames\x12e\n" +
	"\x0ecleanup_policy\x18\x15 \x01(\x0e2>.yandex.cloud.datatransfer.v1.endpoint.ClickhouseCleanupPolicyR\rcleanupPolicy\x12U\n" +
	"\bsharding\x18\x16 \x01(\v29.yandex.cloud.datatransfer.v1.endpoint.ClickhouseShardingR\bsharding\x12?\n" +
	"\x1cis_schema_migration_disabled\x18# \x01(\bR\x19isSchemaMigrationDisabled\x126\n" +
	"\x17clickhouse_cluster_name\x182 \x01(\tR\x15clickhouseClusterName\x12'\n" +
	"\x0fsecurity_groups\x183 \x03(\tR\x0esecurityGroupsJ\x04\b\x01\x10\x02J\x04\b\x03\x10\fJ\x04\b\r\x10\x11J\x04\b\x12\x10\x15J\x04\b\x17\x10#J\x04\b$\x102*\xb8\x01\n" +
	"\x17ClickhouseCleanupPolicy\x12)\n" +
	"%CLICKHOUSE_CLEANUP_POLICY_UNSPECIFIED\x10\x00\x12&\n" +
	"\"CLICKHOUSE_CLEANUP_POLICY_DISABLED\x10\x01\x12\"\n" +
	"\x1eCLICKHOUSE_CLEANUP_POLICY_DROP\x10\x02\x12&\n" +
	"\"CLICKHOUSE_CLEANUP_POLICY_TRUNCATE\x10\x03B\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_clickhouse_proto_rawDescOnce sync.Once
	file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_rawDescData []byte
)

func file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_rawDescGZIP() []byte {
	file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_rawDesc), len(file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_rawDesc)))
	})
	return file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_rawDescData
}

var file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
var file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_goTypes = []any{
	(ClickhouseCleanupPolicy)(0),                               // 0: yandex.cloud.datatransfer.v1.endpoint.ClickhouseCleanupPolicy
	(*ClickhouseShard)(nil),                                    // 1: yandex.cloud.datatransfer.v1.endpoint.ClickhouseShard
	(*OnPremiseClickhouse)(nil),                                // 2: yandex.cloud.datatransfer.v1.endpoint.OnPremiseClickhouse
	(*ClickhouseConnectionOptions)(nil),                        // 3: yandex.cloud.datatransfer.v1.endpoint.ClickhouseConnectionOptions
	(*ClickhouseConnection)(nil),                               // 4: yandex.cloud.datatransfer.v1.endpoint.ClickhouseConnection
	(*ClickhouseSharding)(nil),                                 // 5: yandex.cloud.datatransfer.v1.endpoint.ClickhouseSharding
	(*ClickhouseSource)(nil),                                   // 6: yandex.cloud.datatransfer.v1.endpoint.ClickhouseSource
	(*ClickhouseTarget)(nil),                                   // 7: yandex.cloud.datatransfer.v1.endpoint.ClickhouseTarget
	(*ClickhouseSharding_ColumnValueHash)(nil),                 // 8: yandex.cloud.datatransfer.v1.endpoint.ClickhouseSharding.ColumnValueHash
	(*ClickhouseSharding_ColumnValueMapping)(nil),              // 9: yandex.cloud.datatransfer.v1.endpoint.ClickhouseSharding.ColumnValueMapping
	(*ClickhouseSharding_ColumnValueMapping_ValueToShard)(nil), // 10: yandex.cloud.datatransfer.v1.endpoint.ClickhouseSharding.ColumnValueMapping.ValueToShard
	(*TLSMode)(nil),                                            // 11: yandex.cloud.datatransfer.v1.endpoint.TLSMode
	(*ConnectionManagerConnection)(nil),                        // 12: yandex.cloud.datatransfer.v1.endpoint.ConnectionManagerConnection
	(*Secret)(nil),                                             // 13: yandex.cloud.datatransfer.v1.endpoint.Secret
	(*emptypb.Empty)(nil),                                      // 14: google.protobuf.Empty
	(*AltName)(nil),                                            // 15: yandex.cloud.datatransfer.v1.endpoint.AltName
	(*ColumnValue)(nil),                                        // 16: yandex.cloud.datatransfer.v1.endpoint.ColumnValue
}
var file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_depIdxs = []int32{
	1,  // 0: yandex.cloud.datatransfer.v1.endpoint.OnPremiseClickhouse.shards:type_name -> yandex.cloud.datatransfer.v1.endpoint.ClickhouseShard
	11, // 1: yandex.cloud.datatransfer.v1.endpoint.OnPremiseClickhouse.tls_mode:type_name -> yandex.cloud.datatransfer.v1.endpoint.TLSMode
	2,  // 2: yandex.cloud.datatransfer.v1.endpoint.ClickhouseConnectionOptions.on_premise:type_name -> yandex.cloud.datatransfer.v1.endpoint.OnPremiseClickhouse
	12, // 3: yandex.cloud.datatransfer.v1.endpoint.ClickhouseConnectionOptions.connection_manager_connection:type_name -> yandex.cloud.datatransfer.v1.endpoint.ConnectionManagerConnection
	13, // 4: yandex.cloud.datatransfer.v1.endpoint.ClickhouseConnectionOptions.password:type_name -> yandex.cloud.datatransfer.v1.endpoint.Secret
	3,  // 5: yandex.cloud.datatransfer.v1.endpoint.ClickhouseConnection.connection_options:type_name -> yandex.cloud.datatransfer.v1.endpoint.ClickhouseConnectionOptions
	8,  // 6: yandex.cloud.datatransfer.v1.endpoint.ClickhouseSharding.column_value_hash:type_name -> yandex.cloud.datatransfer.v1.endpoint.ClickhouseSharding.ColumnValueHash
	9,  // 7: yandex.cloud.datatransfer.v1.endpoint.ClickhouseSharding.custom_mapping:type_name -> yandex.cloud.datatransfer.v1.endpoint.ClickhouseSharding.ColumnValueMapping
	14, // 8: yandex.cloud.datatransfer.v1.endpoint.ClickhouseSharding.transfer_id:type_name -> google.protobuf.Empty
	14, // 9: yandex.cloud.datatransfer.v1.endpoint.ClickhouseSharding.round_robin:type_name -> google.protobuf.Empty
	4,  // 10: yandex.cloud.datatransfer.v1.endpoint.ClickhouseSource.connection:type_name -> yandex.cloud.datatransfer.v1.endpoint.ClickhouseConnection
	4,  // 11: yandex.cloud.datatransfer.v1.endpoint.ClickhouseTarget.connection:type_name -> yandex.cloud.datatransfer.v1.endpoint.ClickhouseConnection
	15, // 12: yandex.cloud.datatransfer.v1.endpoint.ClickhouseTarget.alt_names:type_name -> yandex.cloud.datatransfer.v1.endpoint.AltName
	0,  // 13: yandex.cloud.datatransfer.v1.endpoint.ClickhouseTarget.cleanup_policy:type_name -> yandex.cloud.datatransfer.v1.endpoint.ClickhouseCleanupPolicy
	5,  // 14: yandex.cloud.datatransfer.v1.endpoint.ClickhouseTarget.sharding:type_name -> yandex.cloud.datatransfer.v1.endpoint.ClickhouseSharding
	10, // 15: yandex.cloud.datatransfer.v1.endpoint.ClickhouseSharding.ColumnValueMapping.mapping:type_name -> yandex.cloud.datatransfer.v1.endpoint.ClickhouseSharding.ColumnValueMapping.ValueToShard
	16, // 16: yandex.cloud.datatransfer.v1.endpoint.ClickhouseSharding.ColumnValueMapping.ValueToShard.column_value:type_name -> yandex.cloud.datatransfer.v1.endpoint.ColumnValue
	17, // [17:17] is the sub-list for method output_type
	17, // [17:17] is the sub-list for method input_type
	17, // [17:17] is the sub-list for extension type_name
	17, // [17:17] is the sub-list for extension extendee
	0,  // [0:17] is the sub-list for field type_name
}

func init() { file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_init() }
func file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_init() {
	if File_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto != nil {
		return
	}
	file_yandex_cloud_datatransfer_v1_endpoint_common_proto_init()
	file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_msgTypes[2].OneofWrappers = []any{
		(*ClickhouseConnectionOptions_OnPremise)(nil),
		(*ClickhouseConnectionOptions_ConnectionManagerConnection)(nil),
		(*ClickhouseConnectionOptions_MdbClusterId)(nil),
	}
	file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_msgTypes[3].OneofWrappers = []any{
		(*ClickhouseConnection_ConnectionOptions)(nil),
	}
	file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_msgTypes[4].OneofWrappers = []any{
		(*ClickhouseSharding_ColumnValueHash_)(nil),
		(*ClickhouseSharding_CustomMapping)(nil),
		(*ClickhouseSharding_TransferId)(nil),
		(*ClickhouseSharding_RoundRobin)(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_clickhouse_proto_rawDesc), len(file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   10,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_depIdxs,
		EnumInfos:         file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_enumTypes,
		MessageInfos:      file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_msgTypes,
	}.Build()
	File_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto = out.File
	file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_goTypes = nil
	file_yandex_cloud_datatransfer_v1_endpoint_clickhouse_proto_depIdxs = nil
}
