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

package datatransfer

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 TransferType int32

const (
	TransferType_TRANSFER_TYPE_UNSPECIFIED TransferType = 0
	// Snapshot and increment
	TransferType_SNAPSHOT_AND_INCREMENT TransferType = 1
	// Snapshot
	TransferType_SNAPSHOT_ONLY TransferType = 2
	// Increment
	TransferType_INCREMENT_ONLY TransferType = 3
)

// Enum value maps for TransferType.
var (
	TransferType_name = map[int32]string{
		0: "TRANSFER_TYPE_UNSPECIFIED",
		1: "SNAPSHOT_AND_INCREMENT",
		2: "SNAPSHOT_ONLY",
		3: "INCREMENT_ONLY",
	}
	TransferType_value = map[string]int32{
		"TRANSFER_TYPE_UNSPECIFIED": 0,
		"SNAPSHOT_AND_INCREMENT":    1,
		"SNAPSHOT_ONLY":             2,
		"INCREMENT_ONLY":            3,
	}
)

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

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

func (TransferType) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_datatransfer_v1_transfer_proto_enumTypes[0].Descriptor()
}

func (TransferType) Type() protoreflect.EnumType {
	return &file_yandex_cloud_datatransfer_v1_transfer_proto_enumTypes[0]
}

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

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

type TransferStatus int32

const (
	TransferStatus_TRANSFER_STATUS_UNSPECIFIED TransferStatus = 0
	// Transfer does some work before running
	TransferStatus_CREATING TransferStatus = 1
	// Transfer created but not started by user
	TransferStatus_CREATED TransferStatus = 2
	// Transfer currently doing replication work
	TransferStatus_RUNNING TransferStatus = 3
	// Transfer shutdown
	TransferStatus_STOPPING TransferStatus = 4
	// Transfer stopped by user
	TransferStatus_STOPPED TransferStatus = 5
	// Transfer stopped by system
	TransferStatus_ERROR TransferStatus = 6
	// Transfer copy snapshot
	TransferStatus_SNAPSHOTTING TransferStatus = 7
	// Transfer reach terminal phase
	TransferStatus_DONE TransferStatus = 8
	// Transfer is paused by user - same as stopped, but replication slot is alive
	TransferStatus_PAUSED TransferStatus = 9
	// Transfer does some work before replication
	TransferStatus_PREPARING TransferStatus = 10
)

// Enum value maps for TransferStatus.
var (
	TransferStatus_name = map[int32]string{
		0:  "TRANSFER_STATUS_UNSPECIFIED",
		1:  "CREATING",
		2:  "CREATED",
		3:  "RUNNING",
		4:  "STOPPING",
		5:  "STOPPED",
		6:  "ERROR",
		7:  "SNAPSHOTTING",
		8:  "DONE",
		9:  "PAUSED",
		10: "PREPARING",
	}
	TransferStatus_value = map[string]int32{
		"TRANSFER_STATUS_UNSPECIFIED": 0,
		"CREATING":                    1,
		"CREATED":                     2,
		"RUNNING":                     3,
		"STOPPING":                    4,
		"STOPPED":                     5,
		"ERROR":                       6,
		"SNAPSHOTTING":                7,
		"DONE":                        8,
		"PAUSED":                      9,
		"PREPARING":                   10,
	}
)

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

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

func (TransferStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_datatransfer_v1_transfer_proto_enumTypes[1].Descriptor()
}

func (TransferStatus) Type() protoreflect.EnumType {
	return &file_yandex_cloud_datatransfer_v1_transfer_proto_enumTypes[1]
}

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

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

type RegularSnapshotScheduleInterval int32

const (
	RegularSnapshotScheduleInterval_REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_UNSPECIFIED RegularSnapshotScheduleInterval = 0
	RegularSnapshotScheduleInterval_REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_15MIN       RegularSnapshotScheduleInterval = 2
	RegularSnapshotScheduleInterval_REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_30MIN       RegularSnapshotScheduleInterval = 3
	RegularSnapshotScheduleInterval_REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_HOUR        RegularSnapshotScheduleInterval = 4
	RegularSnapshotScheduleInterval_REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_2HOUR       RegularSnapshotScheduleInterval = 5
	RegularSnapshotScheduleInterval_REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_3HOUR       RegularSnapshotScheduleInterval = 6
	RegularSnapshotScheduleInterval_REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_6HOUR       RegularSnapshotScheduleInterval = 7
	RegularSnapshotScheduleInterval_REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_8HOUR       RegularSnapshotScheduleInterval = 8
	RegularSnapshotScheduleInterval_REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_12HOUR      RegularSnapshotScheduleInterval = 9
	RegularSnapshotScheduleInterval_REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_DAY         RegularSnapshotScheduleInterval = 10
)

// Enum value maps for RegularSnapshotScheduleInterval.
var (
	RegularSnapshotScheduleInterval_name = map[int32]string{
		0:  "REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_UNSPECIFIED",
		2:  "REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_15MIN",
		3:  "REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_30MIN",
		4:  "REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_HOUR",
		5:  "REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_2HOUR",
		6:  "REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_3HOUR",
		7:  "REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_6HOUR",
		8:  "REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_8HOUR",
		9:  "REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_12HOUR",
		10: "REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_DAY",
	}
	RegularSnapshotScheduleInterval_value = map[string]int32{
		"REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_UNSPECIFIED": 0,
		"REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_15MIN":       2,
		"REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_30MIN":       3,
		"REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_HOUR":        4,
		"REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_2HOUR":       5,
		"REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_3HOUR":       6,
		"REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_6HOUR":       7,
		"REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_8HOUR":       8,
		"REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_12HOUR":      9,
		"REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_DAY":         10,
	}
)

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

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

func (RegularSnapshotScheduleInterval) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_datatransfer_v1_transfer_proto_enumTypes[2].Descriptor()
}

func (RegularSnapshotScheduleInterval) Type() protoreflect.EnumType {
	return &file_yandex_cloud_datatransfer_v1_transfer_proto_enumTypes[2]
}

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

// Deprecated: Use RegularSnapshotScheduleInterval.Descriptor instead.
func (RegularSnapshotScheduleInterval) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_datatransfer_v1_transfer_proto_rawDescGZIP(), []int{2}
}

type Flavor int32

const (
	Flavor_FLAVOR_UNSPECIFIED Flavor = 0
	Flavor_SMALL              Flavor = 1
	Flavor_MEDIUM             Flavor = 2
	Flavor_LARGE              Flavor = 3
	Flavor_TINY               Flavor = 4
)

// Enum value maps for Flavor.
var (
	Flavor_name = map[int32]string{
		0: "FLAVOR_UNSPECIFIED",
		1: "SMALL",
		2: "MEDIUM",
		3: "LARGE",
		4: "TINY",
	}
	Flavor_value = map[string]int32{
		"FLAVOR_UNSPECIFIED": 0,
		"SMALL":              1,
		"MEDIUM":             2,
		"LARGE":              3,
		"TINY":               4,
	}
)

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

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

func (Flavor) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_datatransfer_v1_transfer_proto_enumTypes[3].Descriptor()
}

func (Flavor) Type() protoreflect.EnumType {
	return &file_yandex_cloud_datatransfer_v1_transfer_proto_enumTypes[3]
}

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

// Deprecated: Use Flavor.Descriptor instead.
func (Flavor) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_datatransfer_v1_transfer_proto_rawDescGZIP(), []int{3}
}

// Transfer core entity
type Transfer struct {
	state       protoimpl.MessageState `protogen:"open.v1"`
	Id          string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	FolderId    string                 `protobuf:"bytes,2,opt,name=folder_id,json=folderId,proto3" json:"folder_id,omitempty"`
	Name        string                 `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	Description string                 `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
	Labels      map[string]string      `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	Source      *Endpoint              `protobuf:"bytes,7,opt,name=source,proto3" json:"source,omitempty"`
	Target      *Endpoint              `protobuf:"bytes,8,opt,name=target,proto3" json:"target,omitempty"`
	// Runtime parameters for the transfer
	Runtime *Runtime       `protobuf:"bytes,9,opt,name=runtime,proto3" json:"runtime,omitempty"`
	Status  TransferStatus `protobuf:"varint,10,opt,name=status,proto3,enum=yandex.cloud.datatransfer.v1.TransferStatus" json:"status,omitempty"`
	// Type of the transfer. One of SNAPSHOT_ONLY, INCREMENT_ONLY,
	// SNAPSHOT_AND_INCREMENT
	Type TransferType `protobuf:"varint,12,opt,name=type,proto3,enum=yandex.cloud.datatransfer.v1.TransferType" json:"type,omitempty"`
	// Error description if transfer has any errors.
	Warning string `protobuf:"bytes,15,opt,name=warning,proto3" json:"warning,omitempty"`
	// Regular snapshots for the transfer, applicable only if transfer type is
	// SNAPSHOT_ONLY
	RegularSnapshot *RegularSnapshot `protobuf:"bytes,16,opt,name=regular_snapshot,json=regularSnapshot,proto3" json:"regular_snapshot,omitempty"`
	// Transformation for the transfer.
	Transformation *Transformation `protobuf:"bytes,17,opt,name=transformation,proto3" json:"transformation,omitempty"`
	DataObjects    *DataObjects    `protobuf:"bytes,19,opt,name=data_objects,json=dataObjects,proto3" json:"data_objects,omitempty"`
	Prestable      bool            `protobuf:"varint,22,opt,name=prestable,proto3" json:"prestable,omitempty"`
	// Replication runtime parameters for the transfer
	ReplicationRuntime *Runtime `protobuf:"bytes,24,opt,name=replication_runtime,json=replicationRuntime,proto3" json:"replication_runtime,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

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

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

func (*Transfer) ProtoMessage() {}

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

func (x *Transfer) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Transfer) GetFolderId() string {
	if x != nil {
		return x.FolderId
	}
	return ""
}

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

func (x *Transfer) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *Transfer) GetLabels() map[string]string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *Transfer) GetSource() *Endpoint {
	if x != nil {
		return x.Source
	}
	return nil
}

func (x *Transfer) GetTarget() *Endpoint {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *Transfer) GetRuntime() *Runtime {
	if x != nil {
		return x.Runtime
	}
	return nil
}

func (x *Transfer) GetStatus() TransferStatus {
	if x != nil {
		return x.Status
	}
	return TransferStatus_TRANSFER_STATUS_UNSPECIFIED
}

func (x *Transfer) GetType() TransferType {
	if x != nil {
		return x.Type
	}
	return TransferType_TRANSFER_TYPE_UNSPECIFIED
}

func (x *Transfer) GetWarning() string {
	if x != nil {
		return x.Warning
	}
	return ""
}

func (x *Transfer) GetRegularSnapshot() *RegularSnapshot {
	if x != nil {
		return x.RegularSnapshot
	}
	return nil
}

func (x *Transfer) GetTransformation() *Transformation {
	if x != nil {
		return x.Transformation
	}
	return nil
}

func (x *Transfer) GetDataObjects() *DataObjects {
	if x != nil {
		return x.DataObjects
	}
	return nil
}

func (x *Transfer) GetPrestable() bool {
	if x != nil {
		return x.Prestable
	}
	return false
}

func (x *Transfer) GetReplicationRuntime() *Runtime {
	if x != nil {
		return x.ReplicationRuntime
	}
	return nil
}

type Runtime struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Runtime:
	//
	//	*Runtime_YcRuntime
	Runtime       isRuntime_Runtime `protobuf_oneof:"runtime"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Runtime) ProtoMessage() {}

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

func (x *Runtime) GetRuntime() isRuntime_Runtime {
	if x != nil {
		return x.Runtime
	}
	return nil
}

func (x *Runtime) GetYcRuntime() *YcRuntime {
	if x != nil {
		if x, ok := x.Runtime.(*Runtime_YcRuntime); ok {
			return x.YcRuntime
		}
	}
	return nil
}

type isRuntime_Runtime interface {
	isRuntime_Runtime()
}

type Runtime_YcRuntime struct {
	YcRuntime *YcRuntime `protobuf:"bytes,4,opt,name=yc_runtime,json=ycRuntime,proto3,oneof"`
}

func (*Runtime_YcRuntime) isRuntime_Runtime() {}

// Parallel snapshot parameters
type ShardingUploadParams struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Number of workers.
	JobCount int64 `protobuf:"varint,1,opt,name=job_count,json=jobCount,proto3" json:"job_count,omitempty"`
	// Number of threads.
	ProcessCount  int64 `protobuf:"varint,2,opt,name=process_count,json=processCount,proto3" json:"process_count,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ShardingUploadParams) ProtoMessage() {}

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

func (x *ShardingUploadParams) GetJobCount() int64 {
	if x != nil {
		return x.JobCount
	}
	return 0
}

func (x *ShardingUploadParams) GetProcessCount() int64 {
	if x != nil {
		return x.ProcessCount
	}
	return 0
}

type RegularSnapshot struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Mode:
	//
	//	*RegularSnapshot_Settings
	//	*RegularSnapshot_Disabled
	Mode          isRegularSnapshot_Mode `protobuf_oneof:"mode"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*RegularSnapshot) ProtoMessage() {}

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

func (x *RegularSnapshot) GetMode() isRegularSnapshot_Mode {
	if x != nil {
		return x.Mode
	}
	return nil
}

func (x *RegularSnapshot) GetSettings() *RegularSnapshotSettings {
	if x != nil {
		if x, ok := x.Mode.(*RegularSnapshot_Settings); ok {
			return x.Settings
		}
	}
	return nil
}

func (x *RegularSnapshot) GetDisabled() *RegularSnapshotDisabled {
	if x != nil {
		if x, ok := x.Mode.(*RegularSnapshot_Disabled); ok {
			return x.Disabled
		}
	}
	return nil
}

type isRegularSnapshot_Mode interface {
	isRegularSnapshot_Mode()
}

type RegularSnapshot_Settings struct {
	Settings *RegularSnapshotSettings `protobuf:"bytes,3,opt,name=settings,proto3,oneof"`
}

type RegularSnapshot_Disabled struct {
	Disabled *RegularSnapshotDisabled `protobuf:"bytes,4,opt,name=disabled,proto3,oneof"`
}

func (*RegularSnapshot_Settings) isRegularSnapshot_Mode() {}

func (*RegularSnapshot_Disabled) isRegularSnapshot_Mode() {}

// Regular snapshot disabled
type RegularSnapshotDisabled struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*RegularSnapshotDisabled) ProtoMessage() {}

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

// Regular snapshot settings
type RegularSnapshotSettings struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// User predefined periods to schedule regular snapshots:
	// REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_15MIN,
	// REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_HOUR, etc.
	// only one of schedule or cron_expression should be set
	Schedule RegularSnapshotScheduleInterval `protobuf:"varint,1,opt,name=schedule,proto3,enum=yandex.cloud.datatransfer.v1.RegularSnapshotScheduleInterval" json:"schedule,omitempty"`
	// Incremental tables configuration for regular snapshot.
	// If not empty, each snapshot will copy only data changed since last snapshot
	// based on cursor column value.
	Tables []*IncrementalTable `protobuf:"bytes,2,rep,name=tables,proto3" json:"tables,omitempty"`
	// Use a cron expression to schedule transfer regular snapshots in UTC time.
	// The used cron expression format is 5 columns specifying the execution time
	// (minute, hour, day, month, day of the week),
	// they can contain a numeric list separated by commas, a range of numbers
	// separated by a hyphen, symbols * or /.
	// only one of schedule or cron_expression should be set
	CronExpression string `protobuf:"bytes,3,opt,name=cron_expression,json=cronExpression,proto3" json:"cron_expression,omitempty"`
	// Wait for transaction completion time, in seconds
	// Set load delay time to insure that current transactions on source are completed
	// and thus full data is visible for snapshot.
	// This may be useful if source cannot guarantee that cursor values grows
	// monotonically -
	// due to transaction race or well-known problem that serial id sequence does not
	// actually guarantee the order
	IncrementDelaySeconds int64 `protobuf:"varint,4,opt,name=increment_delay_seconds,json=incrementDelaySeconds,proto3" json:"increment_delay_seconds,omitempty"`
	// Regular snapshot retries, only for cloud installation
	RetryConfig   *RegularSnapshotSettings_RetryConfig `protobuf:"bytes,5,opt,name=retry_config,json=retryConfig,proto3" json:"retry_config,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*RegularSnapshotSettings) ProtoMessage() {}

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

func (x *RegularSnapshotSettings) GetSchedule() RegularSnapshotScheduleInterval {
	if x != nil {
		return x.Schedule
	}
	return RegularSnapshotScheduleInterval_REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_UNSPECIFIED
}

func (x *RegularSnapshotSettings) GetTables() []*IncrementalTable {
	if x != nil {
		return x.Tables
	}
	return nil
}

func (x *RegularSnapshotSettings) GetCronExpression() string {
	if x != nil {
		return x.CronExpression
	}
	return ""
}

func (x *RegularSnapshotSettings) GetIncrementDelaySeconds() int64 {
	if x != nil {
		return x.IncrementDelaySeconds
	}
	return 0
}

func (x *RegularSnapshotSettings) GetRetryConfig() *RegularSnapshotSettings_RetryConfig {
	if x != nil {
		return x.RetryConfig
	}
	return nil
}

type IncrementalTable struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	TableNamespace string                 `protobuf:"bytes,1,opt,name=table_namespace,json=tableNamespace,proto3" json:"table_namespace,omitempty"`
	TableName      string                 `protobuf:"bytes,2,opt,name=table_name,json=tableName,proto3" json:"table_name,omitempty"`
	CursorColumn   string                 `protobuf:"bytes,3,opt,name=cursor_column,json=cursorColumn,proto3" json:"cursor_column,omitempty"`
	InitialState   string                 `protobuf:"bytes,4,opt,name=initial_state,json=initialState,proto3" json:"initial_state,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*IncrementalTable) ProtoMessage() {}

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

func (x *IncrementalTable) GetTableNamespace() string {
	if x != nil {
		return x.TableNamespace
	}
	return ""
}

func (x *IncrementalTable) GetTableName() string {
	if x != nil {
		return x.TableName
	}
	return ""
}

func (x *IncrementalTable) GetCursorColumn() string {
	if x != nil {
		return x.CursorColumn
	}
	return ""
}

func (x *IncrementalTable) GetInitialState() string {
	if x != nil {
		return x.InitialState
	}
	return ""
}

// YC Runtime parameters for the transfer
type YcRuntime struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Number of workers in parallel replication.
	JobCount int64  `protobuf:"varint,1,opt,name=job_count,json=jobCount,proto3" json:"job_count,omitempty"`
	Flavor   Flavor `protobuf:"varint,2,opt,name=flavor,proto3,enum=yandex.cloud.datatransfer.v1.Flavor" json:"flavor,omitempty"`
	// Parallel snapshot parameters
	UploadShardParams *ShardingUploadParams `protobuf:"bytes,8,opt,name=upload_shard_params,json=uploadShardParams,proto3" json:"upload_shard_params,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*YcRuntime) ProtoMessage() {}

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

func (x *YcRuntime) GetJobCount() int64 {
	if x != nil {
		return x.JobCount
	}
	return 0
}

func (x *YcRuntime) GetFlavor() Flavor {
	if x != nil {
		return x.Flavor
	}
	return Flavor_FLAVOR_UNSPECIFIED
}

func (x *YcRuntime) GetUploadShardParams() *ShardingUploadParams {
	if x != nil {
		return x.UploadShardParams
	}
	return nil
}

// Mask function
type MaskFunction struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to MaskFunction:
	//
	//	*MaskFunction_MaskFunctionHash
	MaskFunction  isMaskFunction_MaskFunction `protobuf_oneof:"mask_function"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*MaskFunction) ProtoMessage() {}

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

func (x *MaskFunction) GetMaskFunction() isMaskFunction_MaskFunction {
	if x != nil {
		return x.MaskFunction
	}
	return nil
}

func (x *MaskFunction) GetMaskFunctionHash() *MaskFunctionHash {
	if x != nil {
		if x, ok := x.MaskFunction.(*MaskFunction_MaskFunctionHash); ok {
			return x.MaskFunctionHash
		}
	}
	return nil
}

type isMaskFunction_MaskFunction interface {
	isMaskFunction_MaskFunction()
}

type MaskFunction_MaskFunctionHash struct {
	// Hash mask function
	MaskFunctionHash *MaskFunctionHash `protobuf:"bytes,1,opt,name=mask_function_hash,json=maskFunctionHash,proto3,oneof"`
}

func (*MaskFunction_MaskFunctionHash) isMaskFunction_MaskFunction() {}

// Hash data using HMAC
type MaskFunctionHash struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// This string will be used in the HMAC(sha256, salt) function applied to the
	// column data.
	UserDefinedSalt string `protobuf:"bytes,1,opt,name=user_defined_salt,json=userDefinedSalt,proto3" json:"user_defined_salt,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*MaskFunctionHash) ProtoMessage() {}

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

func (x *MaskFunctionHash) GetUserDefinedSalt() string {
	if x != nil {
		return x.UserDefinedSalt
	}
	return ""
}

// Filter tables using lists of included and excluded tables.
type TablesFilter struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of tables that will be included to transfer
	IncludeTables []string `protobuf:"bytes,1,rep,name=include_tables,json=includeTables,proto3" json:"include_tables,omitempty"`
	// List of tables that will be excluded to transfer
	ExcludeTables []string `protobuf:"bytes,2,rep,name=exclude_tables,json=excludeTables,proto3" json:"exclude_tables,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TablesFilter) Reset() {
	*x = TablesFilter{}
	mi := &file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TablesFilter) ProtoMessage() {}

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

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

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

// Filter columns using lists of included and excluded columns.
type ColumnsFilter struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of columns that will be included to transfer
	IncludeColumns []string `protobuf:"bytes,1,rep,name=include_columns,json=includeColumns,proto3" json:"include_columns,omitempty"`
	// List of columns that will be excluded to transfer
	ExcludeColumns []string `protobuf:"bytes,2,rep,name=exclude_columns,json=excludeColumns,proto3" json:"exclude_columns,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *ColumnsFilter) Reset() {
	*x = ColumnsFilter{}
	mi := &file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ColumnsFilter) ProtoMessage() {}

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

func (x *ColumnsFilter) GetIncludeColumns() []string {
	if x != nil {
		return x.IncludeColumns
	}
	return nil
}

func (x *ColumnsFilter) GetExcludeColumns() []string {
	if x != nil {
		return x.ExcludeColumns
	}
	return nil
}

// Mask field transformer allows you to hash data
type MaskFieldTransformer struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of included and excluded tables
	Tables *TablesFilter `protobuf:"bytes,1,opt,name=tables,proto3" json:"tables,omitempty"`
	// Specify the name of the column for data masking (a regular expression).
	Columns []string `protobuf:"bytes,2,rep,name=columns,proto3" json:"columns,omitempty"`
	// Mask function
	Function      *MaskFunction `protobuf:"bytes,3,opt,name=function,proto3" json:"function,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MaskFieldTransformer) Reset() {
	*x = MaskFieldTransformer{}
	mi := &file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*MaskFieldTransformer) ProtoMessage() {}

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

func (x *MaskFieldTransformer) GetTables() *TablesFilter {
	if x != nil {
		return x.Tables
	}
	return nil
}

func (x *MaskFieldTransformer) GetColumns() []string {
	if x != nil {
		return x.Columns
	}
	return nil
}

func (x *MaskFieldTransformer) GetFunction() *MaskFunction {
	if x != nil {
		return x.Function
	}
	return nil
}

// Set up a list of table columns to transfer
type FilterColumnsTransformer struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of the tables to filter using lists of included and excluded tables.
	Tables *TablesFilter `protobuf:"bytes,1,opt,name=tables,proto3" json:"tables,omitempty"`
	// List of the columns to transfer to the target tables using lists of included and
	// excluded columns.
	Columns       *ColumnsFilter `protobuf:"bytes,2,opt,name=columns,proto3" json:"columns,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FilterColumnsTransformer) Reset() {
	*x = FilterColumnsTransformer{}
	mi := &file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*FilterColumnsTransformer) ProtoMessage() {}

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

func (x *FilterColumnsTransformer) GetTables() *TablesFilter {
	if x != nil {
		return x.Tables
	}
	return nil
}

func (x *FilterColumnsTransformer) GetColumns() *ColumnsFilter {
	if x != nil {
		return x.Columns
	}
	return nil
}

type Table struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	NameSpace     string                 `protobuf:"bytes,1,opt,name=name_space,json=nameSpace,proto3" json:"name_space,omitempty"`
	Name          string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Table) Reset() {
	*x = Table{}
	mi := &file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Table) ProtoMessage() {}

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

func (x *Table) GetNameSpace() string {
	if x != nil {
		return x.NameSpace
	}
	return ""
}

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

// Specify rule for renaming table
type RenameTable struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Specify the current names of the table in the source
	OriginalName *Table `protobuf:"bytes,1,opt,name=original_name,json=originalName,proto3" json:"original_name,omitempty"`
	// Specify the new names for this table in the target
	NewName       *Table `protobuf:"bytes,2,opt,name=new_name,json=newName,proto3" json:"new_name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RenameTable) Reset() {
	*x = RenameTable{}
	mi := &file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RenameTable) ProtoMessage() {}

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

func (x *RenameTable) GetOriginalName() *Table {
	if x != nil {
		return x.OriginalName
	}
	return nil
}

func (x *RenameTable) GetNewName() *Table {
	if x != nil {
		return x.NewName
	}
	return nil
}

// Set rules for renaming tables by specifying the current names of the tables in
// the source and new names for these tables in the target.
type RenameTablesTransformer struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of renaming rules
	RenameTables  []*RenameTable `protobuf:"bytes,1,rep,name=rename_tables,json=renameTables,proto3" json:"rename_tables,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RenameTablesTransformer) Reset() {
	*x = RenameTablesTransformer{}
	mi := &file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RenameTablesTransformer) ProtoMessage() {}

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

func (x *RenameTablesTransformer) GetRenameTables() []*RenameTable {
	if x != nil {
		return x.RenameTables
	}
	return nil
}

// Override primary keys
type ReplacePrimaryKeyTransformer struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of included and excluded tables
	Tables *TablesFilter `protobuf:"bytes,1,opt,name=tables,proto3" json:"tables,omitempty"`
	// List of columns to be used as primary keys
	Keys          []string `protobuf:"bytes,2,rep,name=keys,proto3" json:"keys,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReplacePrimaryKeyTransformer) Reset() {
	*x = ReplacePrimaryKeyTransformer{}
	mi := &file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ReplacePrimaryKeyTransformer) ProtoMessage() {}

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

func (x *ReplacePrimaryKeyTransformer) GetTables() *TablesFilter {
	if x != nil {
		return x.Tables
	}
	return nil
}

func (x *ReplacePrimaryKeyTransformer) GetKeys() []string {
	if x != nil {
		return x.Keys
	}
	return nil
}

// Convert column values to strings
// The values will be converted depending on the source type
// Conversion rules are described here:
// https://cloud.yandex.com/en/docs/data-transfer/concepts/data-transformation#convert-to-string
type ToStringTransformer struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of included and excluded tables
	Tables *TablesFilter `protobuf:"bytes,1,opt,name=tables,proto3" json:"tables,omitempty"`
	// List of included and excluded columns
	Columns       *ColumnsFilter `protobuf:"bytes,2,opt,name=columns,proto3" json:"columns,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ToStringTransformer) Reset() {
	*x = ToStringTransformer{}
	mi := &file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ToStringTransformer) ProtoMessage() {}

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

func (x *ToStringTransformer) GetTables() *TablesFilter {
	if x != nil {
		return x.Tables
	}
	return nil
}

func (x *ToStringTransformer) GetColumns() *ColumnsFilter {
	if x != nil {
		return x.Columns
	}
	return nil
}

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

func (x *SharderTransformerTypeRandom) Reset() {
	*x = SharderTransformerTypeRandom{}
	mi := &file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SharderTransformerTypeRandom) ProtoMessage() {}

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

// Set the number of shards for particular tables and a list of columns whose
// values will be used for calculating a hash to determine a shard.
type SharderTransformer struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to SharderTransformerType:
	//
	//	*SharderTransformer_Columns
	//	*SharderTransformer_Random
	SharderTransformerType isSharderTransformer_SharderTransformerType `protobuf_oneof:"sharderTransformerType"`
	// List of included and excluded tables
	Tables *TablesFilter `protobuf:"bytes,1,opt,name=tables,proto3" json:"tables,omitempty"`
	// Number of shards
	ShardsCount   int64 `protobuf:"varint,3,opt,name=shards_count,json=shardsCount,proto3" json:"shards_count,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SharderTransformer) Reset() {
	*x = SharderTransformer{}
	mi := &file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SharderTransformer) ProtoMessage() {}

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

func (x *SharderTransformer) GetSharderTransformerType() isSharderTransformer_SharderTransformerType {
	if x != nil {
		return x.SharderTransformerType
	}
	return nil
}

func (x *SharderTransformer) GetColumns() *ColumnsFilter {
	if x != nil {
		if x, ok := x.SharderTransformerType.(*SharderTransformer_Columns); ok {
			return x.Columns
		}
	}
	return nil
}

func (x *SharderTransformer) GetRandom() *SharderTransformerTypeRandom {
	if x != nil {
		if x, ok := x.SharderTransformerType.(*SharderTransformer_Random); ok {
			return x.Random
		}
	}
	return nil
}

func (x *SharderTransformer) GetTables() *TablesFilter {
	if x != nil {
		return x.Tables
	}
	return nil
}

func (x *SharderTransformer) GetShardsCount() int64 {
	if x != nil {
		return x.ShardsCount
	}
	return 0
}

type isSharderTransformer_SharderTransformerType interface {
	isSharderTransformer_SharderTransformerType()
}

type SharderTransformer_Columns struct {
	// List of included and excluded columns
	Columns *ColumnsFilter `protobuf:"bytes,2,opt,name=columns,proto3,oneof"`
}

type SharderTransformer_Random struct {
	Random *SharderTransformerTypeRandom `protobuf:"bytes,4,opt,name=random,proto3,oneof"`
}

func (*SharderTransformer_Columns) isSharderTransformer_SharderTransformerType() {}

func (*SharderTransformer_Random) isSharderTransformer_SharderTransformerType() {}

// A transfer splits the X table into multiple tables (X_1, X_2, ..., X_n) based on
// data.
// If a row was located in the X table before it was split, it is now in the X_i
// table,
// where i is determined by the column list and split string parameters.
// Example:
// If the column list has two columns, month of birth and gender, specified and the
// split string states @,
// information about an employee whose name is John and who was born on February
// 11, 1984,
// from the Employees table will get to a new table named Employees@February@male.
type TableSplitterTransformer struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of included and excluded tables
	Tables *TablesFilter `protobuf:"bytes,1,opt,name=tables,proto3" json:"tables,omitempty"`
	// Specify the columns in the tables to be partitioned.
	Columns []string `protobuf:"bytes,2,rep,name=columns,proto3" json:"columns,omitempty"`
	// Specify the split string to be used for merging components in a new table name.
	Splitter      string `protobuf:"bytes,3,opt,name=splitter,proto3" json:"splitter,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TableSplitterTransformer) Reset() {
	*x = TableSplitterTransformer{}
	mi := &file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*TableSplitterTransformer) ProtoMessage() {}

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

func (x *TableSplitterTransformer) GetTables() *TablesFilter {
	if x != nil {
		return x.Tables
	}
	return nil
}

func (x *TableSplitterTransformer) GetColumns() []string {
	if x != nil {
		return x.Columns
	}
	return nil
}

func (x *TableSplitterTransformer) GetSplitter() string {
	if x != nil {
		return x.Splitter
	}
	return ""
}

// This filter only applies to transfers with queues (Logbroker or Apache Kafka®)
// as a data source.
// When running a transfer, only the strings meeting the specified criteria remain
// in a changefeed.
type FilterRowsTransformer struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of included and excluded tables.
	Tables *TablesFilter `protobuf:"bytes,1,opt,name=tables,proto3" json:"tables,omitempty"`
	// Filtering criterion. This can be comparison operators for numeric, string, and
	// Boolean values,
	// comparison to NULL, and checking whether a substring is part of a string.
	// Details here:
	// https://yandex.cloud/en-ru/docs/data-transfer/concepts/data-transformation#append-only-sources.
	// Deprecated: Use filters instead.
	//
	// Deprecated: Marked as deprecated in yandex/cloud/datatransfer/v1/transfer.proto.
	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
	// Data is transported if it satisfies at least one of filters. Consider that there
	// is OR statement between filters.
	// Each filter can be comparison operators for numeric, string, and Boolean values,
	// comparison to NULL, and
	// checking whether a substring is part of a string.
	// Details in docs:
	// https://yandex.cloud/en-ru/docs/data-transfer/concepts/data-transformation#append-only-sources.
	Filters       []string `protobuf:"bytes,3,rep,name=filters,proto3" json:"filters,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FilterRowsTransformer) Reset() {
	*x = FilterRowsTransformer{}
	mi := &file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*FilterRowsTransformer) ProtoMessage() {}

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

func (x *FilterRowsTransformer) GetTables() *TablesFilter {
	if x != nil {
		return x.Tables
	}
	return nil
}

// Deprecated: Marked as deprecated in yandex/cloud/datatransfer/v1/transfer.proto.
func (x *FilterRowsTransformer) GetFilter() string {
	if x != nil {
		return x.Filter
	}
	return ""
}

func (x *FilterRowsTransformer) GetFilters() []string {
	if x != nil {
		return x.Filters
	}
	return nil
}

// Some transformers may have limitations and only apply to some source-target
// pairs.
type Transformer struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Transformer:
	//
	//	*Transformer_MaskField
	//	*Transformer_FilterColumns
	//	*Transformer_RenameTables
	//	*Transformer_ReplacePrimaryKey
	//	*Transformer_ConvertToString
	//	*Transformer_SharderTransformer
	//	*Transformer_TableSplitterTransformer
	//	*Transformer_FilterRows
	Transformer   isTransformer_Transformer `protobuf_oneof:"transformer"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Transformer) Reset() {
	*x = Transformer{}
	mi := &file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Transformer) ProtoMessage() {}

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

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

func (x *Transformer) GetMaskField() *MaskFieldTransformer {
	if x != nil {
		if x, ok := x.Transformer.(*Transformer_MaskField); ok {
			return x.MaskField
		}
	}
	return nil
}

func (x *Transformer) GetFilterColumns() *FilterColumnsTransformer {
	if x != nil {
		if x, ok := x.Transformer.(*Transformer_FilterColumns); ok {
			return x.FilterColumns
		}
	}
	return nil
}

func (x *Transformer) GetRenameTables() *RenameTablesTransformer {
	if x != nil {
		if x, ok := x.Transformer.(*Transformer_RenameTables); ok {
			return x.RenameTables
		}
	}
	return nil
}

func (x *Transformer) GetReplacePrimaryKey() *ReplacePrimaryKeyTransformer {
	if x != nil {
		if x, ok := x.Transformer.(*Transformer_ReplacePrimaryKey); ok {
			return x.ReplacePrimaryKey
		}
	}
	return nil
}

func (x *Transformer) GetConvertToString() *ToStringTransformer {
	if x != nil {
		if x, ok := x.Transformer.(*Transformer_ConvertToString); ok {
			return x.ConvertToString
		}
	}
	return nil
}

func (x *Transformer) GetSharderTransformer() *SharderTransformer {
	if x != nil {
		if x, ok := x.Transformer.(*Transformer_SharderTransformer); ok {
			return x.SharderTransformer
		}
	}
	return nil
}

func (x *Transformer) GetTableSplitterTransformer() *TableSplitterTransformer {
	if x != nil {
		if x, ok := x.Transformer.(*Transformer_TableSplitterTransformer); ok {
			return x.TableSplitterTransformer
		}
	}
	return nil
}

func (x *Transformer) GetFilterRows() *FilterRowsTransformer {
	if x != nil {
		if x, ok := x.Transformer.(*Transformer_FilterRows); ok {
			return x.FilterRows
		}
	}
	return nil
}

type isTransformer_Transformer interface {
	isTransformer_Transformer()
}

type Transformer_MaskField struct {
	// Mask field transformer allows you to hash data
	MaskField *MaskFieldTransformer `protobuf:"bytes,1,opt,name=mask_field,json=maskField,proto3,oneof"`
}

type Transformer_FilterColumns struct {
	// Set up a list of table columns to transfer
	FilterColumns *FilterColumnsTransformer `protobuf:"bytes,2,opt,name=filter_columns,json=filterColumns,proto3,oneof"`
}

type Transformer_RenameTables struct {
	// Set rules for renaming tables by specifying the current names of the tables in
	// the source and new names for these tables in the target
	RenameTables *RenameTablesTransformer `protobuf:"bytes,4,opt,name=rename_tables,json=renameTables,proto3,oneof"`
}

type Transformer_ReplacePrimaryKey struct {
	// Override primary keys.
	ReplacePrimaryKey *ReplacePrimaryKeyTransformer `protobuf:"bytes,6,opt,name=replace_primary_key,json=replacePrimaryKey,proto3,oneof"`
}

type Transformer_ConvertToString struct {
	// Convert column values to strings
	ConvertToString *ToStringTransformer `protobuf:"bytes,7,opt,name=convert_to_string,json=convertToString,proto3,oneof"`
}

type Transformer_SharderTransformer struct {
	// Set the number of shards for particular tables and a list of columns whose
	// values will be used for calculating a hash to determine a shard.
	SharderTransformer *SharderTransformer `protobuf:"bytes,9,opt,name=sharder_transformer,json=sharderTransformer,proto3,oneof"`
}

type Transformer_TableSplitterTransformer struct {
	// Splits the X table into multiple tables (X_1, X_2, ..., X_n) based on data.
	TableSplitterTransformer *TableSplitterTransformer `protobuf:"bytes,13,opt,name=table_splitter_transformer,json=tableSplitterTransformer,proto3,oneof"`
}

type Transformer_FilterRows struct {
	// This filter only applies to transfers with queues (Logbroker or Apache Kafka®)
	// as a data source. When running a transfer, only the strings meeting the
	// specified criteria remain in a changefeed.
	FilterRows *FilterRowsTransformer `protobuf:"bytes,14,opt,name=filter_rows,json=filterRows,proto3,oneof"`
}

func (*Transformer_MaskField) isTransformer_Transformer() {}

func (*Transformer_FilterColumns) isTransformer_Transformer() {}

func (*Transformer_RenameTables) isTransformer_Transformer() {}

func (*Transformer_ReplacePrimaryKey) isTransformer_Transformer() {}

func (*Transformer_ConvertToString) isTransformer_Transformer() {}

func (*Transformer_SharderTransformer) isTransformer_Transformer() {}

func (*Transformer_TableSplitterTransformer) isTransformer_Transformer() {}

func (*Transformer_FilterRows) isTransformer_Transformer() {}

// Transformation is converting data using special transformer functions.
// These functions are executed on a data stream, applied to each data change item,
// and transform them.
// A transformer can be run at both the metadata and data levels.
// Data can only be transformed if the source and target are of different types.
type Transformation struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// A list of transformers. You can specify exactly 1 transformer in each element of
	// list
	// When activating a transfer, a transformation plan is made for the tables that
	// match the specified criteria.
	// Transformers are applied to the tables in the sequence specified in the list.
	Transformers  []*Transformer `protobuf:"bytes,1,rep,name=transformers,proto3" json:"transformers,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Transformation) Reset() {
	*x = Transformation{}
	mi := &file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Transformation) ProtoMessage() {}

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

func (x *Transformation) GetTransformers() []*Transformer {
	if x != nil {
		return x.Transformers
	}
	return nil
}

type DataObjects struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	IncludeObjects []string               `protobuf:"bytes,1,rep,name=include_objects,json=includeObjects,proto3" json:"include_objects,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *DataObjects) Reset() {
	*x = DataObjects{}
	mi := &file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DataObjects) ProtoMessage() {}

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

func (x *DataObjects) GetIncludeObjects() []string {
	if x != nil {
		return x.IncludeObjects
	}
	return nil
}

type RegularSnapshotSettings_RetryConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Number of attempts to retry regular snapshot in case of failure. Applicable only
	// for cloud installation.
	MaxAttempts   int64 `protobuf:"varint,1,opt,name=max_attempts,json=maxAttempts,proto3" json:"max_attempts,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RegularSnapshotSettings_RetryConfig) Reset() {
	*x = RegularSnapshotSettings_RetryConfig{}
	mi := &file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes[27]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RegularSnapshotSettings_RetryConfig) ProtoMessage() {}

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

func (x *RegularSnapshotSettings_RetryConfig) GetMaxAttempts() int64 {
	if x != nil {
		return x.MaxAttempts
	}
	return 0
}

var File_yandex_cloud_datatransfer_v1_transfer_proto protoreflect.FileDescriptor

const file_yandex_cloud_datatransfer_v1_transfer_proto_rawDesc = "" +
	"\n" +
	"+yandex/cloud/datatransfer/v1/transfer.proto\x12\x1cyandex.cloud.datatransfer.v1\x1a+yandex/cloud/datatransfer/v1/endpoint.proto\"\xed\a\n" +
	"\bTransfer\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n" +
	"\tfolder_id\x18\x02 \x01(\tR\bfolderId\x12\x12\n" +
	"\x04name\x18\x04 \x01(\tR\x04name\x12 \n" +
	"\vdescription\x18\x05 \x01(\tR\vdescription\x12J\n" +
	"\x06labels\x18\x06 \x03(\v22.yandex.cloud.datatransfer.v1.Transfer.LabelsEntryR\x06labels\x12>\n" +
	"\x06source\x18\a \x01(\v2&.yandex.cloud.datatransfer.v1.EndpointR\x06source\x12>\n" +
	"\x06target\x18\b \x01(\v2&.yandex.cloud.datatransfer.v1.EndpointR\x06target\x12?\n" +
	"\aruntime\x18\t \x01(\v2%.yandex.cloud.datatransfer.v1.RuntimeR\aruntime\x12D\n" +
	"\x06status\x18\n" +
	" \x01(\x0e2,.yandex.cloud.datatransfer.v1.TransferStatusR\x06status\x12>\n" +
	"\x04type\x18\f \x01(\x0e2*.yandex.cloud.datatransfer.v1.TransferTypeR\x04type\x12\x18\n" +
	"\awarning\x18\x0f \x01(\tR\awarning\x12X\n" +
	"\x10regular_snapshot\x18\x10 \x01(\v2-.yandex.cloud.datatransfer.v1.RegularSnapshotR\x0fregularSnapshot\x12T\n" +
	"\x0etransformation\x18\x11 \x01(\v2,.yandex.cloud.datatransfer.v1.TransformationR\x0etransformation\x12L\n" +
	"\fdata_objects\x18\x13 \x01(\v2).yandex.cloud.datatransfer.v1.DataObjectsR\vdataObjects\x12\x1c\n" +
	"\tprestable\x18\x16 \x01(\bR\tprestable\x12V\n" +
	"\x13replication_runtime\x18\x18 \x01(\v2%.yandex.cloud.datatransfer.v1.RuntimeR\x12replicationRuntime\x1a9\n" +
	"\vLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01J\x04\b\x03\x10\x04J\x04\b\v\x10\fJ\x04\b\r\x10\x0fJ\x04\b\x12\x10\x13J\x04\b\x14\x10\x16J\x04\b\x17\x10\x18\"d\n" +
	"\aRuntime\x12H\n" +
	"\n" +
	"yc_runtime\x18\x04 \x01(\v2'.yandex.cloud.datatransfer.v1.YcRuntimeH\x00R\tycRuntimeB\t\n" +
	"\aruntimeJ\x04\b\x01\x10\x04\"X\n" +
	"\x14ShardingUploadParams\x12\x1b\n" +
	"\tjob_count\x18\x01 \x01(\x03R\bjobCount\x12#\n" +
	"\rprocess_count\x18\x02 \x01(\x03R\fprocessCount\"\xc9\x01\n" +
	"\x0fRegularSnapshot\x12S\n" +
	"\bsettings\x18\x03 \x01(\v25.yandex.cloud.datatransfer.v1.RegularSnapshotSettingsH\x00R\bsettings\x12S\n" +
	"\bdisabled\x18\x04 \x01(\v25.yandex.cloud.datatransfer.v1.RegularSnapshotDisabledH\x00R\bdisabledB\x06\n" +
	"\x04modeJ\x04\b\x01\x10\x03\"\x19\n" +
	"\x17RegularSnapshotDisabled\"\xb5\x03\n" +
	"\x17RegularSnapshotSettings\x12Y\n" +
	"\bschedule\x18\x01 \x01(\x0e2=.yandex.cloud.datatransfer.v1.RegularSnapshotScheduleIntervalR\bschedule\x12F\n" +
	"\x06tables\x18\x02 \x03(\v2..yandex.cloud.datatransfer.v1.IncrementalTableR\x06tables\x12'\n" +
	"\x0fcron_expression\x18\x03 \x01(\tR\x0ecronExpression\x126\n" +
	"\x17increment_delay_seconds\x18\x04 \x01(\x03R\x15incrementDelaySeconds\x12d\n" +
	"\fretry_config\x18\x05 \x01(\v2A.yandex.cloud.datatransfer.v1.RegularSnapshotSettings.RetryConfigR\vretryConfig\x1a0\n" +
	"\vRetryConfig\x12!\n" +
	"\fmax_attempts\x18\x01 \x01(\x03R\vmaxAttempts\"\xa4\x01\n" +
	"\x10IncrementalTable\x12'\n" +
	"\x0ftable_namespace\x18\x01 \x01(\tR\x0etableNamespace\x12\x1d\n" +
	"\n" +
	"table_name\x18\x02 \x01(\tR\ttableName\x12#\n" +
	"\rcursor_column\x18\x03 \x01(\tR\fcursorColumn\x12#\n" +
	"\rinitial_state\x18\x04 \x01(\tR\finitialState\"\xd0\x01\n" +
	"\tYcRuntime\x12\x1b\n" +
	"\tjob_count\x18\x01 \x01(\x03R\bjobCount\x12<\n" +
	"\x06flavor\x18\x02 \x01(\x0e2$.yandex.cloud.datatransfer.v1.FlavorR\x06flavor\x12b\n" +
	"\x13upload_shard_params\x18\b \x01(\v22.yandex.cloud.datatransfer.v1.ShardingUploadParamsR\x11uploadShardParamsJ\x04\b\x03\x10\b\"\x7f\n" +
	"\fMaskFunction\x12^\n" +
	"\x12mask_function_hash\x18\x01 \x01(\v2..yandex.cloud.datatransfer.v1.MaskFunctionHashH\x00R\x10maskFunctionHashB\x0f\n" +
	"\rmask_function\">\n" +
	"\x10MaskFunctionHash\x12*\n" +
	"\x11user_defined_salt\x18\x01 \x01(\tR\x0fuserDefinedSalt\"\\\n" +
	"\fTablesFilter\x12%\n" +
	"\x0einclude_tables\x18\x01 \x03(\tR\rincludeTables\x12%\n" +
	"\x0eexclude_tables\x18\x02 \x03(\tR\rexcludeTables\"a\n" +
	"\rColumnsFilter\x12'\n" +
	"\x0finclude_columns\x18\x01 \x03(\tR\x0eincludeColumns\x12'\n" +
	"\x0fexclude_columns\x18\x02 \x03(\tR\x0eexcludeColumns\"\xbc\x01\n" +
	"\x14MaskFieldTransformer\x12B\n" +
	"\x06tables\x18\x01 \x01(\v2*.yandex.cloud.datatransfer.v1.TablesFilterR\x06tables\x12\x18\n" +
	"\acolumns\x18\x02 \x03(\tR\acolumns\x12F\n" +
	"\bfunction\x18\x03 \x01(\v2*.yandex.cloud.datatransfer.v1.MaskFunctionR\bfunction\"\xa5\x01\n" +
	"\x18FilterColumnsTransformer\x12B\n" +
	"\x06tables\x18\x01 \x01(\v2*.yandex.cloud.datatransfer.v1.TablesFilterR\x06tables\x12E\n" +
	"\acolumns\x18\x02 \x01(\v2+.yandex.cloud.datatransfer.v1.ColumnsFilterR\acolumns\":\n" +
	"\x05Table\x12\x1d\n" +
	"\n" +
	"name_space\x18\x01 \x01(\tR\tnameSpace\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\"\x97\x01\n" +
	"\vRenameTable\x12H\n" +
	"\roriginal_name\x18\x01 \x01(\v2#.yandex.cloud.datatransfer.v1.TableR\foriginalName\x12>\n" +
	"\bnew_name\x18\x02 \x01(\v2#.yandex.cloud.datatransfer.v1.TableR\anewName\"i\n" +
	"\x17RenameTablesTransformer\x12N\n" +
	"\rrename_tables\x18\x01 \x03(\v2).yandex.cloud.datatransfer.v1.RenameTableR\frenameTables\"v\n" +
	"\x1cReplacePrimaryKeyTransformer\x12B\n" +
	"\x06tables\x18\x01 \x01(\v2*.yandex.cloud.datatransfer.v1.TablesFilterR\x06tables\x12\x12\n" +
	"\x04keys\x18\x02 \x03(\tR\x04keys\"\xa0\x01\n" +
	"\x13ToStringTransformer\x12B\n" +
	"\x06tables\x18\x01 \x01(\v2*.yandex.cloud.datatransfer.v1.TablesFilterR\x06tables\x12E\n" +
	"\acolumns\x18\x02 \x01(\v2+.yandex.cloud.datatransfer.v1.ColumnsFilterR\acolumns\"\x1e\n" +
	"\x1cSharderTransformerTypeRandom\"\xb4\x02\n" +
	"\x12SharderTransformer\x12G\n" +
	"\acolumns\x18\x02 \x01(\v2+.yandex.cloud.datatransfer.v1.ColumnsFilterH\x00R\acolumns\x12T\n" +
	"\x06random\x18\x04 \x01(\v2:.yandex.cloud.datatransfer.v1.SharderTransformerTypeRandomH\x00R\x06random\x12B\n" +
	"\x06tables\x18\x01 \x01(\v2*.yandex.cloud.datatransfer.v1.TablesFilterR\x06tables\x12!\n" +
	"\fshards_count\x18\x03 \x01(\x03R\vshardsCountB\x18\n" +
	"\x16sharderTransformerType\"\x94\x01\n" +
	"\x18TableSplitterTransformer\x12B\n" +
	"\x06tables\x18\x01 \x01(\v2*.yandex.cloud.datatransfer.v1.TablesFilterR\x06tables\x12\x18\n" +
	"\acolumns\x18\x02 \x03(\tR\acolumns\x12\x1a\n" +
	"\bsplitter\x18\x03 \x01(\tR\bsplitter\"\x91\x01\n" +
	"\x15FilterRowsTransformer\x12B\n" +
	"\x06tables\x18\x01 \x01(\v2*.yandex.cloud.datatransfer.v1.TablesFilterR\x06tables\x12\x1a\n" +
	"\x06filter\x18\x02 \x01(\tB\x02\x18\x01R\x06filter\x12\x18\n" +
	"\afilters\x18\x03 \x03(\tR\afilters\"\xcc\x06\n" +
	"\vTransformer\x12S\n" +
	"\n" +
	"mask_field\x18\x01 \x01(\v22.yandex.cloud.datatransfer.v1.MaskFieldTransformerH\x00R\tmaskField\x12_\n" +
	"\x0efilter_columns\x18\x02 \x01(\v26.yandex.cloud.datatransfer.v1.FilterColumnsTransformerH\x00R\rfilterColumns\x12\\\n" +
	"\rrename_tables\x18\x04 \x01(\v25.yandex.cloud.datatransfer.v1.RenameTablesTransformerH\x00R\frenameTables\x12l\n" +
	"\x13replace_primary_key\x18\x06 \x01(\v2:.yandex.cloud.datatransfer.v1.ReplacePrimaryKeyTransformerH\x00R\x11replacePrimaryKey\x12_\n" +
	"\x11convert_to_string\x18\a \x01(\v21.yandex.cloud.datatransfer.v1.ToStringTransformerH\x00R\x0fconvertToString\x12c\n" +
	"\x13sharder_transformer\x18\t \x01(\v20.yandex.cloud.datatransfer.v1.SharderTransformerH\x00R\x12sharderTransformer\x12v\n" +
	"\x1atable_splitter_transformer\x18\r \x01(\v26.yandex.cloud.datatransfer.v1.TableSplitterTransformerH\x00R\x18tableSplitterTransformer\x12V\n" +
	"\vfilter_rows\x18\x0e \x01(\v23.yandex.cloud.datatransfer.v1.FilterRowsTransformerH\x00R\n" +
	"filterRowsB\r\n" +
	"\vtransformerJ\x04\b\x03\x10\x04J\x04\b\x05\x10\x06J\x04\b\b\x10\tJ\x04\b\n" +
	"\x10\r\"_\n" +
	"\x0eTransformation\x12M\n" +
	"\ftransformers\x18\x01 \x03(\v2).yandex.cloud.datatransfer.v1.TransformerR\ftransformers\"6\n" +
	"\vDataObjects\x12'\n" +
	"\x0finclude_objects\x18\x01 \x03(\tR\x0eincludeObjects*p\n" +
	"\fTransferType\x12\x1d\n" +
	"\x19TRANSFER_TYPE_UNSPECIFIED\x10\x00\x12\x1a\n" +
	"\x16SNAPSHOT_AND_INCREMENT\x10\x01\x12\x11\n" +
	"\rSNAPSHOT_ONLY\x10\x02\x12\x12\n" +
	"\x0eINCREMENT_ONLY\x10\x03*\xb6\x01\n" +
	"\x0eTransferStatus\x12\x1f\n" +
	"\x1bTRANSFER_STATUS_UNSPECIFIED\x10\x00\x12\f\n" +
	"\bCREATING\x10\x01\x12\v\n" +
	"\aCREATED\x10\x02\x12\v\n" +
	"\aRUNNING\x10\x03\x12\f\n" +
	"\bSTOPPING\x10\x04\x12\v\n" +
	"\aSTOPPED\x10\x05\x12\t\n" +
	"\x05ERROR\x10\x06\x12\x10\n" +
	"\fSNAPSHOTTING\x10\a\x12\b\n" +
	"\x04DONE\x10\b\x12\n" +
	"\n" +
	"\x06PAUSED\x10\t\x12\r\n" +
	"\tPREPARING\x10\n" +
	"*\xf1\x03\n" +
	"\x1fRegularSnapshotScheduleInterval\x122\n" +
	".REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_UNSPECIFIED\x10\x00\x12,\n" +
	"(REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_15MIN\x10\x02\x12,\n" +
	"(REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_30MIN\x10\x03\x12+\n" +
	"'REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_HOUR\x10\x04\x12,\n" +
	"(REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_2HOUR\x10\x05\x12,\n" +
	"(REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_3HOUR\x10\x06\x12,\n" +
	"(REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_6HOUR\x10\a\x12,\n" +
	"(REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_8HOUR\x10\b\x12-\n" +
	")REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_12HOUR\x10\t\x12*\n" +
	"&REGULAR_SNAPSHOT_SCHEDULE_INTERVAL_DAY\x10\n" +
	"*L\n" +
	"\x06Flavor\x12\x16\n" +
	"\x12FLAVOR_UNSPECIFIED\x10\x00\x12\t\n" +
	"\x05SMALL\x10\x01\x12\n" +
	"\n" +
	"\x06MEDIUM\x10\x02\x12\t\n" +
	"\x05LARGE\x10\x03\x12\b\n" +
	"\x04TINY\x10\x04Bq\n" +
	" yandex.cloud.api.datatransfer.v1ZMgithub.com/yandex-cloud/go-genproto/yandex/cloud/datatransfer/v1;datatransferb\x06proto3"

var (
	file_yandex_cloud_datatransfer_v1_transfer_proto_rawDescOnce sync.Once
	file_yandex_cloud_datatransfer_v1_transfer_proto_rawDescData []byte
)

func file_yandex_cloud_datatransfer_v1_transfer_proto_rawDescGZIP() []byte {
	file_yandex_cloud_datatransfer_v1_transfer_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_datatransfer_v1_transfer_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_yandex_cloud_datatransfer_v1_transfer_proto_rawDesc), len(file_yandex_cloud_datatransfer_v1_transfer_proto_rawDesc)))
	})
	return file_yandex_cloud_datatransfer_v1_transfer_proto_rawDescData
}

var file_yandex_cloud_datatransfer_v1_transfer_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
var file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes = make([]protoimpl.MessageInfo, 28)
var file_yandex_cloud_datatransfer_v1_transfer_proto_goTypes = []any{
	(TransferType)(0),                           // 0: yandex.cloud.datatransfer.v1.TransferType
	(TransferStatus)(0),                         // 1: yandex.cloud.datatransfer.v1.TransferStatus
	(RegularSnapshotScheduleInterval)(0),        // 2: yandex.cloud.datatransfer.v1.RegularSnapshotScheduleInterval
	(Flavor)(0),                                 // 3: yandex.cloud.datatransfer.v1.Flavor
	(*Transfer)(nil),                            // 4: yandex.cloud.datatransfer.v1.Transfer
	(*Runtime)(nil),                             // 5: yandex.cloud.datatransfer.v1.Runtime
	(*ShardingUploadParams)(nil),                // 6: yandex.cloud.datatransfer.v1.ShardingUploadParams
	(*RegularSnapshot)(nil),                     // 7: yandex.cloud.datatransfer.v1.RegularSnapshot
	(*RegularSnapshotDisabled)(nil),             // 8: yandex.cloud.datatransfer.v1.RegularSnapshotDisabled
	(*RegularSnapshotSettings)(nil),             // 9: yandex.cloud.datatransfer.v1.RegularSnapshotSettings
	(*IncrementalTable)(nil),                    // 10: yandex.cloud.datatransfer.v1.IncrementalTable
	(*YcRuntime)(nil),                           // 11: yandex.cloud.datatransfer.v1.YcRuntime
	(*MaskFunction)(nil),                        // 12: yandex.cloud.datatransfer.v1.MaskFunction
	(*MaskFunctionHash)(nil),                    // 13: yandex.cloud.datatransfer.v1.MaskFunctionHash
	(*TablesFilter)(nil),                        // 14: yandex.cloud.datatransfer.v1.TablesFilter
	(*ColumnsFilter)(nil),                       // 15: yandex.cloud.datatransfer.v1.ColumnsFilter
	(*MaskFieldTransformer)(nil),                // 16: yandex.cloud.datatransfer.v1.MaskFieldTransformer
	(*FilterColumnsTransformer)(nil),            // 17: yandex.cloud.datatransfer.v1.FilterColumnsTransformer
	(*Table)(nil),                               // 18: yandex.cloud.datatransfer.v1.Table
	(*RenameTable)(nil),                         // 19: yandex.cloud.datatransfer.v1.RenameTable
	(*RenameTablesTransformer)(nil),             // 20: yandex.cloud.datatransfer.v1.RenameTablesTransformer
	(*ReplacePrimaryKeyTransformer)(nil),        // 21: yandex.cloud.datatransfer.v1.ReplacePrimaryKeyTransformer
	(*ToStringTransformer)(nil),                 // 22: yandex.cloud.datatransfer.v1.ToStringTransformer
	(*SharderTransformerTypeRandom)(nil),        // 23: yandex.cloud.datatransfer.v1.SharderTransformerTypeRandom
	(*SharderTransformer)(nil),                  // 24: yandex.cloud.datatransfer.v1.SharderTransformer
	(*TableSplitterTransformer)(nil),            // 25: yandex.cloud.datatransfer.v1.TableSplitterTransformer
	(*FilterRowsTransformer)(nil),               // 26: yandex.cloud.datatransfer.v1.FilterRowsTransformer
	(*Transformer)(nil),                         // 27: yandex.cloud.datatransfer.v1.Transformer
	(*Transformation)(nil),                      // 28: yandex.cloud.datatransfer.v1.Transformation
	(*DataObjects)(nil),                         // 29: yandex.cloud.datatransfer.v1.DataObjects
	nil,                                         // 30: yandex.cloud.datatransfer.v1.Transfer.LabelsEntry
	(*RegularSnapshotSettings_RetryConfig)(nil), // 31: yandex.cloud.datatransfer.v1.RegularSnapshotSettings.RetryConfig
	(*Endpoint)(nil),                            // 32: yandex.cloud.datatransfer.v1.Endpoint
}
var file_yandex_cloud_datatransfer_v1_transfer_proto_depIdxs = []int32{
	30, // 0: yandex.cloud.datatransfer.v1.Transfer.labels:type_name -> yandex.cloud.datatransfer.v1.Transfer.LabelsEntry
	32, // 1: yandex.cloud.datatransfer.v1.Transfer.source:type_name -> yandex.cloud.datatransfer.v1.Endpoint
	32, // 2: yandex.cloud.datatransfer.v1.Transfer.target:type_name -> yandex.cloud.datatransfer.v1.Endpoint
	5,  // 3: yandex.cloud.datatransfer.v1.Transfer.runtime:type_name -> yandex.cloud.datatransfer.v1.Runtime
	1,  // 4: yandex.cloud.datatransfer.v1.Transfer.status:type_name -> yandex.cloud.datatransfer.v1.TransferStatus
	0,  // 5: yandex.cloud.datatransfer.v1.Transfer.type:type_name -> yandex.cloud.datatransfer.v1.TransferType
	7,  // 6: yandex.cloud.datatransfer.v1.Transfer.regular_snapshot:type_name -> yandex.cloud.datatransfer.v1.RegularSnapshot
	28, // 7: yandex.cloud.datatransfer.v1.Transfer.transformation:type_name -> yandex.cloud.datatransfer.v1.Transformation
	29, // 8: yandex.cloud.datatransfer.v1.Transfer.data_objects:type_name -> yandex.cloud.datatransfer.v1.DataObjects
	5,  // 9: yandex.cloud.datatransfer.v1.Transfer.replication_runtime:type_name -> yandex.cloud.datatransfer.v1.Runtime
	11, // 10: yandex.cloud.datatransfer.v1.Runtime.yc_runtime:type_name -> yandex.cloud.datatransfer.v1.YcRuntime
	9,  // 11: yandex.cloud.datatransfer.v1.RegularSnapshot.settings:type_name -> yandex.cloud.datatransfer.v1.RegularSnapshotSettings
	8,  // 12: yandex.cloud.datatransfer.v1.RegularSnapshot.disabled:type_name -> yandex.cloud.datatransfer.v1.RegularSnapshotDisabled
	2,  // 13: yandex.cloud.datatransfer.v1.RegularSnapshotSettings.schedule:type_name -> yandex.cloud.datatransfer.v1.RegularSnapshotScheduleInterval
	10, // 14: yandex.cloud.datatransfer.v1.RegularSnapshotSettings.tables:type_name -> yandex.cloud.datatransfer.v1.IncrementalTable
	31, // 15: yandex.cloud.datatransfer.v1.RegularSnapshotSettings.retry_config:type_name -> yandex.cloud.datatransfer.v1.RegularSnapshotSettings.RetryConfig
	3,  // 16: yandex.cloud.datatransfer.v1.YcRuntime.flavor:type_name -> yandex.cloud.datatransfer.v1.Flavor
	6,  // 17: yandex.cloud.datatransfer.v1.YcRuntime.upload_shard_params:type_name -> yandex.cloud.datatransfer.v1.ShardingUploadParams
	13, // 18: yandex.cloud.datatransfer.v1.MaskFunction.mask_function_hash:type_name -> yandex.cloud.datatransfer.v1.MaskFunctionHash
	14, // 19: yandex.cloud.datatransfer.v1.MaskFieldTransformer.tables:type_name -> yandex.cloud.datatransfer.v1.TablesFilter
	12, // 20: yandex.cloud.datatransfer.v1.MaskFieldTransformer.function:type_name -> yandex.cloud.datatransfer.v1.MaskFunction
	14, // 21: yandex.cloud.datatransfer.v1.FilterColumnsTransformer.tables:type_name -> yandex.cloud.datatransfer.v1.TablesFilter
	15, // 22: yandex.cloud.datatransfer.v1.FilterColumnsTransformer.columns:type_name -> yandex.cloud.datatransfer.v1.ColumnsFilter
	18, // 23: yandex.cloud.datatransfer.v1.RenameTable.original_name:type_name -> yandex.cloud.datatransfer.v1.Table
	18, // 24: yandex.cloud.datatransfer.v1.RenameTable.new_name:type_name -> yandex.cloud.datatransfer.v1.Table
	19, // 25: yandex.cloud.datatransfer.v1.RenameTablesTransformer.rename_tables:type_name -> yandex.cloud.datatransfer.v1.RenameTable
	14, // 26: yandex.cloud.datatransfer.v1.ReplacePrimaryKeyTransformer.tables:type_name -> yandex.cloud.datatransfer.v1.TablesFilter
	14, // 27: yandex.cloud.datatransfer.v1.ToStringTransformer.tables:type_name -> yandex.cloud.datatransfer.v1.TablesFilter
	15, // 28: yandex.cloud.datatransfer.v1.ToStringTransformer.columns:type_name -> yandex.cloud.datatransfer.v1.ColumnsFilter
	15, // 29: yandex.cloud.datatransfer.v1.SharderTransformer.columns:type_name -> yandex.cloud.datatransfer.v1.ColumnsFilter
	23, // 30: yandex.cloud.datatransfer.v1.SharderTransformer.random:type_name -> yandex.cloud.datatransfer.v1.SharderTransformerTypeRandom
	14, // 31: yandex.cloud.datatransfer.v1.SharderTransformer.tables:type_name -> yandex.cloud.datatransfer.v1.TablesFilter
	14, // 32: yandex.cloud.datatransfer.v1.TableSplitterTransformer.tables:type_name -> yandex.cloud.datatransfer.v1.TablesFilter
	14, // 33: yandex.cloud.datatransfer.v1.FilterRowsTransformer.tables:type_name -> yandex.cloud.datatransfer.v1.TablesFilter
	16, // 34: yandex.cloud.datatransfer.v1.Transformer.mask_field:type_name -> yandex.cloud.datatransfer.v1.MaskFieldTransformer
	17, // 35: yandex.cloud.datatransfer.v1.Transformer.filter_columns:type_name -> yandex.cloud.datatransfer.v1.FilterColumnsTransformer
	20, // 36: yandex.cloud.datatransfer.v1.Transformer.rename_tables:type_name -> yandex.cloud.datatransfer.v1.RenameTablesTransformer
	21, // 37: yandex.cloud.datatransfer.v1.Transformer.replace_primary_key:type_name -> yandex.cloud.datatransfer.v1.ReplacePrimaryKeyTransformer
	22, // 38: yandex.cloud.datatransfer.v1.Transformer.convert_to_string:type_name -> yandex.cloud.datatransfer.v1.ToStringTransformer
	24, // 39: yandex.cloud.datatransfer.v1.Transformer.sharder_transformer:type_name -> yandex.cloud.datatransfer.v1.SharderTransformer
	25, // 40: yandex.cloud.datatransfer.v1.Transformer.table_splitter_transformer:type_name -> yandex.cloud.datatransfer.v1.TableSplitterTransformer
	26, // 41: yandex.cloud.datatransfer.v1.Transformer.filter_rows:type_name -> yandex.cloud.datatransfer.v1.FilterRowsTransformer
	27, // 42: yandex.cloud.datatransfer.v1.Transformation.transformers:type_name -> yandex.cloud.datatransfer.v1.Transformer
	43, // [43:43] is the sub-list for method output_type
	43, // [43:43] is the sub-list for method input_type
	43, // [43:43] is the sub-list for extension type_name
	43, // [43:43] is the sub-list for extension extendee
	0,  // [0:43] is the sub-list for field type_name
}

func init() { file_yandex_cloud_datatransfer_v1_transfer_proto_init() }
func file_yandex_cloud_datatransfer_v1_transfer_proto_init() {
	if File_yandex_cloud_datatransfer_v1_transfer_proto != nil {
		return
	}
	file_yandex_cloud_datatransfer_v1_endpoint_proto_init()
	file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes[1].OneofWrappers = []any{
		(*Runtime_YcRuntime)(nil),
	}
	file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes[3].OneofWrappers = []any{
		(*RegularSnapshot_Settings)(nil),
		(*RegularSnapshot_Disabled)(nil),
	}
	file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes[8].OneofWrappers = []any{
		(*MaskFunction_MaskFunctionHash)(nil),
	}
	file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes[20].OneofWrappers = []any{
		(*SharderTransformer_Columns)(nil),
		(*SharderTransformer_Random)(nil),
	}
	file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes[23].OneofWrappers = []any{
		(*Transformer_MaskField)(nil),
		(*Transformer_FilterColumns)(nil),
		(*Transformer_RenameTables)(nil),
		(*Transformer_ReplacePrimaryKey)(nil),
		(*Transformer_ConvertToString)(nil),
		(*Transformer_SharderTransformer)(nil),
		(*Transformer_TableSplitterTransformer)(nil),
		(*Transformer_FilterRows)(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_transfer_proto_rawDesc), len(file_yandex_cloud_datatransfer_v1_transfer_proto_rawDesc)),
			NumEnums:      4,
			NumMessages:   28,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_yandex_cloud_datatransfer_v1_transfer_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_datatransfer_v1_transfer_proto_depIdxs,
		EnumInfos:         file_yandex_cloud_datatransfer_v1_transfer_proto_enumTypes,
		MessageInfos:      file_yandex_cloud_datatransfer_v1_transfer_proto_msgTypes,
	}.Build()
	File_yandex_cloud_datatransfer_v1_transfer_proto = out.File
	file_yandex_cloud_datatransfer_v1_transfer_proto_goTypes = nil
	file_yandex_cloud_datatransfer_v1_transfer_proto_depIdxs = nil
}
