// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        (unknown)
// source: dm/dm.proto

package dm

import (
	_ "github.com/envoyproxy/protoc-gen-validate/validate"
	_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options"
	agent "github.com/tidbcloud/dataflow-service/idl/pbgen/proto/agent"
	common "github.com/tidbcloud/dataflow-service/idl/pbgen/proto/common"
	dataflow "github.com/tidbcloud/dataflow-service/idl/pbgen/proto/dataflow"
	_ "go.buf.build/protocolbuffers/go/linuxgit/tidbcloud/base"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	_ "google.golang.org/genproto/googleapis/api/httpbody"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	_ "google.golang.org/protobuf/types/known/anypb"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	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 PrecheckItemType int32

const (
	PrecheckItemType_DumpPrivilegeChecking        PrecheckItemType = 0
	PrecheckItemType_ReplicationPrivilegeChecking PrecheckItemType = 1
	PrecheckItemType_VersionChecking              PrecheckItemType = 2
	PrecheckItemType_ServerIDChecking             PrecheckItemType = 3
	PrecheckItemType_BinlogEnableChecking         PrecheckItemType = 4
	PrecheckItemType_BinlogFormatChecking         PrecheckItemType = 5
	PrecheckItemType_BinlogRowImageChecking       PrecheckItemType = 6
	PrecheckItemType_TableSchemaChecking          PrecheckItemType = 7
	PrecheckItemType_BinlogDBChecking             PrecheckItemType = 8
	PrecheckItemType_ConnNumberChecking           PrecheckItemType = 9
	PrecheckItemType_TargetDBPrivilegeChecking    PrecheckItemType = 10
	PrecheckItemType_MetaPositionChecking         PrecheckItemType = 11
	PrecheckItemType_LightningTableEmptyChecking  PrecheckItemType = 12
)

// Enum value maps for PrecheckItemType.
var (
	PrecheckItemType_name = map[int32]string{
		0:  "DumpPrivilegeChecking",
		1:  "ReplicationPrivilegeChecking",
		2:  "VersionChecking",
		3:  "ServerIDChecking",
		4:  "BinlogEnableChecking",
		5:  "BinlogFormatChecking",
		6:  "BinlogRowImageChecking",
		7:  "TableSchemaChecking",
		8:  "BinlogDBChecking",
		9:  "ConnNumberChecking",
		10: "TargetDBPrivilegeChecking",
		11: "MetaPositionChecking",
		12: "LightningTableEmptyChecking",
	}
	PrecheckItemType_value = map[string]int32{
		"DumpPrivilegeChecking":        0,
		"ReplicationPrivilegeChecking": 1,
		"VersionChecking":              2,
		"ServerIDChecking":             3,
		"BinlogEnableChecking":         4,
		"BinlogFormatChecking":         5,
		"BinlogRowImageChecking":       6,
		"TableSchemaChecking":          7,
		"BinlogDBChecking":             8,
		"ConnNumberChecking":           9,
		"TargetDBPrivilegeChecking":    10,
		"MetaPositionChecking":         11,
		"LightningTableEmptyChecking":  12,
	}
)

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

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

func (PrecheckItemType) Descriptor() protoreflect.EnumDescriptor {
	return file_dm_dm_proto_enumTypes[0].Descriptor()
}

func (PrecheckItemType) Type() protoreflect.EnumType {
	return &file_dm_dm_proto_enumTypes[0]
}

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

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

type SubTask_Step int32

const (
	SubTask_Unsupported SubTask_Step = 0
	// schema is unsupported separately now
	SubTask_Schema SubTask_Step = 1
	// Dump and Load belong to full mode
	SubTask_Dump SubTask_Step = 2
	SubTask_Load SubTask_Step = 3
	// Sync belongs to incremental mode
	SubTask_Sync SubTask_Step = 4
)

// Enum value maps for SubTask_Step.
var (
	SubTask_Step_name = map[int32]string{
		0: "Unsupported",
		1: "Schema",
		2: "Dump",
		3: "Load",
		4: "Sync",
	}
	SubTask_Step_value = map[string]int32{
		"Unsupported": 0,
		"Schema":      1,
		"Dump":        2,
		"Load":        3,
		"Sync":        4,
	}
)

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

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

func (SubTask_Step) Descriptor() protoreflect.EnumDescriptor {
	return file_dm_dm_proto_enumTypes[1].Descriptor()
}

func (SubTask_Step) Type() protoreflect.EnumType {
	return &file_dm_dm_proto_enumTypes[1]
}

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

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

// Stage, combined by df status and dm job status, display for users
// * Creating: df is creating
// * Running: df is created and dm is init/running
// * Pausing: df is created and dm is pausing
// * Paused: df is created and dm is paused
// * Failed:
//   - df is created but dm is Error
//   - df is unrecoverable
//
// * Finished: df is finished
// * Deleting: df is deleting
type SubTask_Stage int32

const (
	SubTask_Creating SubTask_Stage = 0
	SubTask_Running  SubTask_Stage = 1
	SubTask_Pausing  SubTask_Stage = 2
	SubTask_Paused   SubTask_Stage = 3
	SubTask_Failed   SubTask_Stage = 4
	SubTask_Finished SubTask_Stage = 5
	SubTask_Deleting SubTask_Stage = 6
	SubTask_Scaling  SubTask_Stage = 7
	SubTask_Unknown  SubTask_Stage = 8
)

// Enum value maps for SubTask_Stage.
var (
	SubTask_Stage_name = map[int32]string{
		0: "Creating",
		1: "Running",
		2: "Pausing",
		3: "Paused",
		4: "Failed",
		5: "Finished",
		6: "Deleting",
		7: "Scaling",
		8: "Unknown",
	}
	SubTask_Stage_value = map[string]int32{
		"Creating": 0,
		"Running":  1,
		"Pausing":  2,
		"Paused":   3,
		"Failed":   4,
		"Finished": 5,
		"Deleting": 6,
		"Scaling":  7,
		"Unknown":  8,
	}
)

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

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

func (SubTask_Stage) Descriptor() protoreflect.EnumDescriptor {
	return file_dm_dm_proto_enumTypes[2].Descriptor()
}

func (SubTask_Stage) Type() protoreflect.EnumType {
	return &file_dm_dm_proto_enumTypes[2]
}

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

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

type OperateJobReq_Operation int32

const (
	OperateJobReq_Unknown OperateJobReq_Operation = 0
	OperateJobReq_Pause   OperateJobReq_Operation = 1
	OperateJobReq_Resume  OperateJobReq_Operation = 2
)

// Enum value maps for OperateJobReq_Operation.
var (
	OperateJobReq_Operation_name = map[int32]string{
		0: "Unknown",
		1: "Pause",
		2: "Resume",
	}
	OperateJobReq_Operation_value = map[string]int32{
		"Unknown": 0,
		"Pause":   1,
		"Resume":  2,
	}
)

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

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

func (OperateJobReq_Operation) Descriptor() protoreflect.EnumDescriptor {
	return file_dm_dm_proto_enumTypes[3].Descriptor()
}

func (OperateJobReq_Operation) Type() protoreflect.EnumType {
	return &file_dm_dm_proto_enumTypes[3]
}

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

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

type ConnMethod struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`                                  // e.g. direct
	DisplayName   string                 `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` // e.g. Public IP
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ConnMethod) ProtoMessage() {}

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

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

func (x *ConnMethod) GetDisplayName() string {
	if x != nil {
		return x.DisplayName
	}
	return ""
}

type SupportedSource struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Name          string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`                                  // e.g. aws-rds-mysql
	DisplayName   string                 `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` // e.g. AWS RDS MySQL
	Regions       []*common.Region       `protobuf:"bytes,3,rep,name=regions,proto3" json:"regions,omitempty"`
	ConnMethods   []*ConnMethod          `protobuf:"bytes,4,rep,name=conn_methods,json=connMethods,proto3" json:"conn_methods,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SupportedSource) ProtoMessage() {}

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

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

func (x *SupportedSource) GetDisplayName() string {
	if x != nil {
		return x.DisplayName
	}
	return ""
}

func (x *SupportedSource) GetRegions() []*common.Region {
	if x != nil {
		return x.Regions
	}
	return nil
}

func (x *SupportedSource) GetConnMethods() []*ConnMethod {
	if x != nil {
		return x.ConnMethods
	}
	return nil
}

type GetSupportedSourcesResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Sources       []*SupportedSource     `protobuf:"bytes,1,rep,name=sources,proto3" json:"sources,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetSupportedSourcesResp) ProtoMessage() {}

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

func (x *GetSupportedSourcesResp) GetSources() []*SupportedSource {
	if x != nil {
		return x.Sources
	}
	return nil
}

type JobSpec struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	Id                uint64                 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	DisplayName       string                 `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	CapacityUnit      float64                `protobuf:"fixed64,3,opt,name=capacity_unit,json=capacityUnit,proto3" json:"capacity_unit,omitempty"`
	MaxFullPhaseSpeed int64                  `protobuf:"varint,4,opt,name=max_full_phase_speed,json=maxFullPhaseSpeed,proto3" json:"max_full_phase_speed,omitempty"` // in unit MB/s
	MaxIncrPhaseSpeed int64                  `protobuf:"varint,5,opt,name=max_incr_phase_speed,json=maxIncrPhaseSpeed,proto3" json:"max_incr_phase_speed,omitempty"` // in unit rows/s
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*JobSpec) ProtoMessage() {}

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

func (x *JobSpec) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *JobSpec) GetDisplayName() string {
	if x != nil {
		return x.DisplayName
	}
	return ""
}

func (x *JobSpec) GetCapacityUnit() float64 {
	if x != nil {
		return x.CapacityUnit
	}
	return 0
}

func (x *JobSpec) GetMaxFullPhaseSpeed() int64 {
	if x != nil {
		return x.MaxFullPhaseSpeed
	}
	return 0
}

func (x *JobSpec) GetMaxIncrPhaseSpeed() int64 {
	if x != nil {
		return x.MaxIncrPhaseSpeed
	}
	return 0
}

type ListJobSpecsResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Specs         []*JobSpec             `protobuf:"bytes,1,rep,name=specs,proto3" json:"specs,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListJobSpecsResp) ProtoMessage() {}

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

func (x *ListJobSpecsResp) GetSpecs() []*JobSpec {
	if x != nil {
		return x.Specs
	}
	return nil
}

type PrecheckItem struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Desc           string                 `protobuf:"bytes,1,opt,name=desc,proto3" json:"desc,omitempty"`
	Status         string                 `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`
	Solution       string                 `protobuf:"bytes,3,opt,name=solution,proto3" json:"solution,omitempty"`
	Reason         string                 `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"`
	SolutionDocUrl string                 `protobuf:"bytes,5,opt,name=solution_doc_url,json=solutionDocUrl,proto3" json:"solution_doc_url,omitempty"`
	Type           PrecheckItemType       `protobuf:"varint,6,opt,name=type,proto3,enum=dm.PrecheckItemType" json:"type,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*PrecheckItem) ProtoMessage() {}

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

func (x *PrecheckItem) GetDesc() string {
	if x != nil {
		return x.Desc
	}
	return ""
}

func (x *PrecheckItem) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *PrecheckItem) GetSolution() string {
	if x != nil {
		return x.Solution
	}
	return ""
}

func (x *PrecheckItem) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *PrecheckItem) GetSolutionDocUrl() string {
	if x != nil {
		return x.SolutionDocUrl
	}
	return ""
}

func (x *PrecheckItem) GetType() PrecheckItemType {
	if x != nil {
		return x.Type
	}
	return PrecheckItemType_DumpPrivilegeChecking
}

type GetPrecheckJobReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ProjectId     uint64                 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ClusterId     uint64                 `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	Id            uint64                 `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"`
	OrgId         uint64                 `protobuf:"varint,150,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetPrecheckJobReq) ProtoMessage() {}

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

func (x *GetPrecheckJobReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *GetPrecheckJobReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *GetPrecheckJobReq) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *GetPrecheckJobReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

type GetPrecheckJobResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Total         int32                  `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	FailedCnt     int32                  `protobuf:"varint,2,opt,name=failed_cnt,json=failedCnt,proto3" json:"failed_cnt,omitempty"`
	WarnCnt       int32                  `protobuf:"varint,3,opt,name=warn_cnt,json=warnCnt,proto3" json:"warn_cnt,omitempty"`
	SuccessCnt    int32                  `protobuf:"varint,4,opt,name=success_cnt,json=successCnt,proto3" json:"success_cnt,omitempty"`
	Status        string                 `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"`
	Items         []*PrecheckItem        `protobuf:"bytes,6,rep,name=items,proto3" json:"items,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetPrecheckJobResp) ProtoMessage() {}

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

func (x *GetPrecheckJobResp) GetTotal() int32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *GetPrecheckJobResp) GetFailedCnt() int32 {
	if x != nil {
		return x.FailedCnt
	}
	return 0
}

func (x *GetPrecheckJobResp) GetWarnCnt() int32 {
	if x != nil {
		return x.WarnCnt
	}
	return 0
}

func (x *GetPrecheckJobResp) GetSuccessCnt() int32 {
	if x != nil {
		return x.SuccessCnt
	}
	return 0
}

func (x *GetPrecheckJobResp) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *GetPrecheckJobResp) GetItems() []*PrecheckItem {
	if x != nil {
		return x.Items
	}
	return nil
}

type ListPrechecksReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ProjectId     uint64                 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ClusterId     uint64                 `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	Page          int32                  `protobuf:"varint,100,opt,name=page,proto3" json:"page,omitempty"` // start from 1
	PageSize      int32                  `protobuf:"varint,101,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	OrgId         uint64                 `protobuf:"varint,150,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListPrechecksReq) ProtoMessage() {}

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

func (x *ListPrechecksReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *ListPrechecksReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *ListPrechecksReq) GetPage() int32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListPrechecksReq) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *ListPrechecksReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

type PrecheckSummary struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	PrecheckId          uint64                 `protobuf:"varint,1,opt,name=precheck_id,json=precheckId,proto3" json:"precheck_id,omitempty"`
	CreatedAt           *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	Status              string                 `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` // running|finished|failed|canceled|pending
	Total               int32                  `protobuf:"varint,4,opt,name=total,proto3" json:"total,omitempty"`
	FailedCnt           int32                  `protobuf:"varint,5,opt,name=failed_cnt,json=failedCnt,proto3" json:"failed_cnt,omitempty"`
	WarnCnt             int32                  `protobuf:"varint,6,opt,name=warn_cnt,json=warnCnt,proto3" json:"warn_cnt,omitempty"`
	SuccessCnt          int32                  `protobuf:"varint,7,opt,name=success_cnt,json=successCnt,proto3" json:"success_cnt,omitempty"`
	FullInstanceMigrate bool                   `protobuf:"varint,8,opt,name=full_instance_migrate,json=fullInstanceMigrate,proto3" json:"full_instance_migrate,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

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

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

func (*PrecheckSummary) ProtoMessage() {}

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

func (x *PrecheckSummary) GetPrecheckId() uint64 {
	if x != nil {
		return x.PrecheckId
	}
	return 0
}

func (x *PrecheckSummary) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *PrecheckSummary) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *PrecheckSummary) GetTotal() int32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *PrecheckSummary) GetFailedCnt() int32 {
	if x != nil {
		return x.FailedCnt
	}
	return 0
}

func (x *PrecheckSummary) GetWarnCnt() int32 {
	if x != nil {
		return x.WarnCnt
	}
	return 0
}

func (x *PrecheckSummary) GetSuccessCnt() int32 {
	if x != nil {
		return x.SuccessCnt
	}
	return 0
}

func (x *PrecheckSummary) GetFullInstanceMigrate() bool {
	if x != nil {
		return x.FullInstanceMigrate
	}
	return false
}

type ListPrechecksResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Prechecks     []*PrecheckSummary     `protobuf:"bytes,1,rep,name=prechecks,proto3" json:"prechecks,omitempty"`
	Total         uint64                 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListPrechecksResp) ProtoMessage() {}

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

func (x *ListPrechecksResp) GetPrechecks() []*PrecheckSummary {
	if x != nil {
		return x.Prechecks
	}
	return nil
}

func (x *ListPrechecksResp) GetTotal() uint64 {
	if x != nil {
		return x.Total
	}
	return 0
}

type CreateJobResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            uint64                 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CreateJobResp) ProtoMessage() {}

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

func (x *CreateJobResp) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

type CreateJobReq struct {
	state               protoimpl.MessageState `protogen:"open.v1"`
	ProjectId           uint64                 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ClusterId           uint64                 `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	Name                string                 `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	Sources             []*Source              `protobuf:"bytes,4,rep,name=sources,proto3" json:"sources,omitempty"`
	ClusterUser         string                 `protobuf:"bytes,5,opt,name=cluster_user,json=clusterUser,proto3" json:"cluster_user,omitempty"`
	ClusterPassword     string                 `protobuf:"bytes,6,opt,name=cluster_password,json=clusterPassword,proto3" json:"cluster_password,omitempty"`
	Mode                string                 `protobuf:"bytes,10,opt,name=mode,proto3" json:"mode,omitempty"`
	SpecId              uint64                 `protobuf:"varint,12,opt,name=spec_id,json=specId,proto3" json:"spec_id,omitempty"`
	FullInstanceMigrate bool                   `protobuf:"varint,13,opt,name=full_instance_migrate,json=fullInstanceMigrate,proto3" json:"full_instance_migrate,omitempty"`
	PrecheckId          uint64                 `protobuf:"varint,14,opt,name=precheck_id,json=precheckId,proto3" json:"precheck_id,omitempty"`
	OrgId               uint64                 `protobuf:"varint,15,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ImportMode          string                 `protobuf:"bytes,16,opt,name=import_mode,json=importMode,proto3" json:"import_mode,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

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

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

func (*CreateJobReq) ProtoMessage() {}

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

func (x *CreateJobReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *CreateJobReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

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

func (x *CreateJobReq) GetSources() []*Source {
	if x != nil {
		return x.Sources
	}
	return nil
}

func (x *CreateJobReq) GetClusterUser() string {
	if x != nil {
		return x.ClusterUser
	}
	return ""
}

func (x *CreateJobReq) GetClusterPassword() string {
	if x != nil {
		return x.ClusterPassword
	}
	return ""
}

func (x *CreateJobReq) GetMode() string {
	if x != nil {
		return x.Mode
	}
	return ""
}

func (x *CreateJobReq) GetSpecId() uint64 {
	if x != nil {
		return x.SpecId
	}
	return 0
}

func (x *CreateJobReq) GetFullInstanceMigrate() bool {
	if x != nil {
		return x.FullInstanceMigrate
	}
	return false
}

func (x *CreateJobReq) GetPrecheckId() uint64 {
	if x != nil {
		return x.PrecheckId
	}
	return 0
}

func (x *CreateJobReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *CreateJobReq) GetImportMode() string {
	if x != nil {
		return x.ImportMode
	}
	return ""
}

type RouteRule struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	SchemaPattern string                 `protobuf:"bytes,1,opt,name=schema_pattern,json=schemaPattern,proto3" json:"schema_pattern,omitempty"`
	TablePattern  string                 `protobuf:"bytes,2,opt,name=table_pattern,json=tablePattern,proto3" json:"table_pattern,omitempty"`
	TargetSchema  string                 `protobuf:"bytes,3,opt,name=target_schema,json=targetSchema,proto3" json:"target_schema,omitempty"`
	TargetTable   string                 `protobuf:"bytes,4,opt,name=target_table,json=targetTable,proto3" json:"target_table,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*RouteRule) ProtoMessage() {}

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

func (x *RouteRule) GetSchemaPattern() string {
	if x != nil {
		return x.SchemaPattern
	}
	return ""
}

func (x *RouteRule) GetTablePattern() string {
	if x != nil {
		return x.TablePattern
	}
	return ""
}

func (x *RouteRule) GetTargetSchema() string {
	if x != nil {
		return x.TargetSchema
	}
	return ""
}

func (x *RouteRule) GetTargetTable() string {
	if x != nil {
		return x.TargetTable
	}
	return ""
}

type BlockAllowRules struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	DoDbs         []string               `protobuf:"bytes,1,rep,name=do_dbs,json=doDbs,proto3" json:"do_dbs,omitempty"`
	IgnoreDbs     []string               `protobuf:"bytes,2,rep,name=ignore_dbs,json=ignoreDbs,proto3" json:"ignore_dbs,omitempty"`
	DoTables      []*common.Table        `protobuf:"bytes,3,rep,name=do_tables,json=doTables,proto3" json:"do_tables,omitempty"`
	IgnoreTables  []*common.Table        `protobuf:"bytes,4,rep,name=ignore_tables,json=ignoreTables,proto3" json:"ignore_tables,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*BlockAllowRules) ProtoMessage() {}

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

func (x *BlockAllowRules) GetDoDbs() []string {
	if x != nil {
		return x.DoDbs
	}
	return nil
}

func (x *BlockAllowRules) GetIgnoreDbs() []string {
	if x != nil {
		return x.IgnoreDbs
	}
	return nil
}

func (x *BlockAllowRules) GetDoTables() []*common.Table {
	if x != nil {
		return x.DoTables
	}
	return nil
}

func (x *BlockAllowRules) GetIgnoreTables() []*common.Table {
	if x != nil {
		return x.IgnoreTables
	}
	return nil
}

type Job struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            uint64                 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	Name          string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Region        string                 `protobuf:"bytes,3,opt,name=region,proto3" json:"region,omitempty"` // dm's region is same as cluster's now
	SubTasks      map[uint64]*SubTask    `protobuf:"bytes,4,rep,name=sub_tasks,json=subTasks,proto3" json:"sub_tasks,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	Spec          *JobSpec               `protobuf:"bytes,5,opt,name=spec,proto3" json:"spec,omitempty"`
	ClusterUser   string                 `protobuf:"bytes,6,opt,name=cluster_user,json=clusterUser,proto3" json:"cluster_user,omitempty"`
	CreateTime    string                 `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	Mode          string                 `protobuf:"bytes,8,opt,name=mode,proto3" json:"mode,omitempty"`
	Modification  *JobModification       `protobuf:"bytes,9,opt,name=modification,proto3,oneof" json:"modification,omitempty"`
	ImportMode    string                 `protobuf:"bytes,10,opt,name=import_mode,json=importMode,proto3" json:"import_mode,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Job) ProtoMessage() {}

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

func (x *Job) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

func (x *Job) GetRegion() string {
	if x != nil {
		return x.Region
	}
	return ""
}

func (x *Job) GetSubTasks() map[uint64]*SubTask {
	if x != nil {
		return x.SubTasks
	}
	return nil
}

func (x *Job) GetSpec() *JobSpec {
	if x != nil {
		return x.Spec
	}
	return nil
}

func (x *Job) GetClusterUser() string {
	if x != nil {
		return x.ClusterUser
	}
	return ""
}

func (x *Job) GetCreateTime() string {
	if x != nil {
		return x.CreateTime
	}
	return ""
}

func (x *Job) GetMode() string {
	if x != nil {
		return x.Mode
	}
	return ""
}

func (x *Job) GetModification() *JobModification {
	if x != nil {
		return x.Modification
	}
	return nil
}

func (x *Job) GetImportMode() string {
	if x != nil {
		return x.ImportMode
	}
	return ""
}

type SubTask struct {
	state       protoimpl.MessageState `protogen:"open.v1"`
	Source      *Source                `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"`
	CurrentStep SubTask_Step           `protobuf:"varint,2,opt,name=current_step,json=currentStep,proto3,enum=dm.SubTask_Step" json:"current_step,omitempty"`
	Stage       SubTask_Stage          `protobuf:"varint,3,opt,name=stage,proto3,enum=dm.SubTask_Stage" json:"stage,omitempty"`
	// optional SchemaDetail schema_detail = 10;
	DumpDetail    *DumpDetail   `protobuf:"bytes,11,opt,name=dump_detail,json=dumpDetail,proto3,oneof" json:"dump_detail,omitempty"`
	LoadDetail    *LoadDetail   `protobuf:"bytes,12,opt,name=load_detail,json=loadDetail,proto3,oneof" json:"load_detail,omitempty"`
	SyncDetail    *SyncDetail   `protobuf:"bytes,13,opt,name=sync_detail,json=syncDetail,proto3,oneof" json:"sync_detail,omitempty"`
	ProcessError  *ProcessError `protobuf:"bytes,14,opt,name=process_error,json=processError,proto3,oneof" json:"process_error,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SubTask) ProtoMessage() {}

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

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

func (x *SubTask) GetCurrentStep() SubTask_Step {
	if x != nil {
		return x.CurrentStep
	}
	return SubTask_Unsupported
}

func (x *SubTask) GetStage() SubTask_Stage {
	if x != nil {
		return x.Stage
	}
	return SubTask_Creating
}

func (x *SubTask) GetDumpDetail() *DumpDetail {
	if x != nil {
		return x.DumpDetail
	}
	return nil
}

func (x *SubTask) GetLoadDetail() *LoadDetail {
	if x != nil {
		return x.LoadDetail
	}
	return nil
}

func (x *SubTask) GetSyncDetail() *SyncDetail {
	if x != nil {
		return x.SyncDetail
	}
	return nil
}

func (x *SubTask) GetProcessError() *ProcessError {
	if x != nil {
		return x.ProcessError
	}
	return nil
}

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

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

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

func (*SchemaDetail) ProtoMessage() {}

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

type JobModification struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	FromRcu       uint64                 `protobuf:"varint,1,opt,name=from_rcu,json=fromRcu,proto3" json:"from_rcu,omitempty"`
	ToRcu         uint64                 `protobuf:"varint,2,opt,name=to_rcu,json=toRcu,proto3" json:"to_rcu,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*JobModification) ProtoMessage() {}

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

func (x *JobModification) GetFromRcu() uint64 {
	if x != nil {
		return x.FromRcu
	}
	return 0
}

func (x *JobModification) GetToRcu() uint64 {
	if x != nil {
		return x.ToRcu
	}
	return 0
}

type DumpDetail struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Bps             int64                  `protobuf:"varint,1,opt,name=bps,proto3" json:"bps,omitempty"`
	Duration        int64                  `protobuf:"varint,2,opt,name=duration,proto3" json:"duration,omitempty"`  // unit is second
	Progress        float64                `protobuf:"fixed64,3,opt,name=progress,proto3" json:"progress,omitempty"` // 0 ~ 100
	TotalTables     int64                  `protobuf:"varint,4,opt,name=total_tables,json=totalTables,proto3" json:"total_tables,omitempty"`
	CompletedTables int64                  `protobuf:"varint,5,opt,name=completed_tables,json=completedTables,proto3" json:"completed_tables,omitempty"`
	FinishedBytes   int64                  `protobuf:"varint,6,opt,name=finished_bytes,json=finishedBytes,proto3" json:"finished_bytes,omitempty"`
	FinishedRows    int64                  `protobuf:"varint,7,opt,name=finished_rows,json=finishedRows,proto3" json:"finished_rows,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

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

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

func (*DumpDetail) ProtoMessage() {}

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

func (x *DumpDetail) GetBps() int64 {
	if x != nil {
		return x.Bps
	}
	return 0
}

func (x *DumpDetail) GetDuration() int64 {
	if x != nil {
		return x.Duration
	}
	return 0
}

func (x *DumpDetail) GetProgress() float64 {
	if x != nil {
		return x.Progress
	}
	return 0
}

func (x *DumpDetail) GetTotalTables() int64 {
	if x != nil {
		return x.TotalTables
	}
	return 0
}

func (x *DumpDetail) GetCompletedTables() int64 {
	if x != nil {
		return x.CompletedTables
	}
	return 0
}

func (x *DumpDetail) GetFinishedBytes() int64 {
	if x != nil {
		return x.FinishedBytes
	}
	return 0
}

func (x *DumpDetail) GetFinishedRows() int64 {
	if x != nil {
		return x.FinishedRows
	}
	return 0
}

type LoadDetail struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Bps           int64                  `protobuf:"varint,1,opt,name=bps,proto3" json:"bps,omitempty"`
	Duration      int64                  `protobuf:"varint,2,opt,name=duration,proto3" json:"duration,omitempty"`  // unit is second
	Progress      float64                `protobuf:"fixed64,3,opt,name=progress,proto3" json:"progress,omitempty"` // 0 ~ 100
	FinishedBytes int64                  `protobuf:"varint,4,opt,name=finished_bytes,json=finishedBytes,proto3" json:"finished_bytes,omitempty"`
	TotalBytes    int64                  `protobuf:"varint,5,opt,name=total_bytes,json=totalBytes,proto3" json:"total_bytes,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*LoadDetail) ProtoMessage() {}

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

func (x *LoadDetail) GetBps() int64 {
	if x != nil {
		return x.Bps
	}
	return 0
}

func (x *LoadDetail) GetDuration() int64 {
	if x != nil {
		return x.Duration
	}
	return 0
}

func (x *LoadDetail) GetProgress() float64 {
	if x != nil {
		return x.Progress
	}
	return 0
}

func (x *LoadDetail) GetFinishedBytes() int64 {
	if x != nil {
		return x.FinishedBytes
	}
	return 0
}

func (x *LoadDetail) GetTotalBytes() int64 {
	if x != nil {
		return x.TotalBytes
	}
	return 0
}

type SyncDetail struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Rps           int64                  `protobuf:"varint,1,opt,name=rps,proto3" json:"rps,omitempty"`           // xx row/s
	Duration      int64                  `protobuf:"varint,2,opt,name=duration,proto3" json:"duration,omitempty"` // unit is second
	Latency       int64                  `protobuf:"varint,3,opt,name=latency,proto3" json:"latency,omitempty"`
	Checkpoint    string                 `protobuf:"bytes,4,opt,name=checkpoint,proto3" json:"checkpoint,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SyncDetail) ProtoMessage() {}

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

func (x *SyncDetail) GetRps() int64 {
	if x != nil {
		return x.Rps
	}
	return 0
}

func (x *SyncDetail) GetDuration() int64 {
	if x != nil {
		return x.Duration
	}
	return 0
}

func (x *SyncDetail) GetLatency() int64 {
	if x != nil {
		return x.Latency
	}
	return 0
}

func (x *SyncDetail) GetCheckpoint() string {
	if x != nil {
		return x.Checkpoint
	}
	return ""
}

type ProcessError struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ErrCode       int32                  `protobuf:"varint,1,opt,name=err_code,json=errCode,proto3" json:"err_code,omitempty"`
	Message       string                 `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	Workaround    string                 `protobuf:"bytes,3,opt,name=workaround,proto3" json:"workaround,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ProcessError) ProtoMessage() {}

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

func (x *ProcessError) GetErrCode() int32 {
	if x != nil {
		return x.ErrCode
	}
	return 0
}

func (x *ProcessError) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *ProcessError) GetWorkaround() string {
	if x != nil {
		return x.Workaround
	}
	return ""
}

type Source struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ConnProfileId uint64                 `protobuf:"varint,1,opt,name=conn_profile_id,json=connProfileId,proto3" json:"conn_profile_id,omitempty"`
	ConnProfile   *dataflow.ConnProfile  `protobuf:"bytes,2,opt,name=conn_profile,json=connProfile,proto3" json:"conn_profile,omitempty"`
	RouteRules    []*RouteRule           `protobuf:"bytes,3,rep,name=route_rules,json=routeRules,proto3" json:"route_rules,omitempty"`
	BaRules       *BlockAllowRules       `protobuf:"bytes,4,opt,name=ba_rules,json=baRules,proto3,oneof" json:"ba_rules,omitempty"`
	BinlogName    *string                `protobuf:"bytes,5,opt,name=binlog_name,json=binlogName,proto3,oneof" json:"binlog_name,omitempty"`
	BinlogPos     *uint32                `protobuf:"varint,6,opt,name=binlog_pos,json=binlogPos,proto3,oneof" json:"binlog_pos,omitempty"`
	BinlogGtid    *string                `protobuf:"bytes,7,opt,name=binlog_gtid,json=binlogGtid,proto3,oneof" json:"binlog_gtid,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Source) ProtoMessage() {}

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

func (x *Source) GetConnProfileId() uint64 {
	if x != nil {
		return x.ConnProfileId
	}
	return 0
}

func (x *Source) GetConnProfile() *dataflow.ConnProfile {
	if x != nil {
		return x.ConnProfile
	}
	return nil
}

func (x *Source) GetRouteRules() []*RouteRule {
	if x != nil {
		return x.RouteRules
	}
	return nil
}

func (x *Source) GetBaRules() *BlockAllowRules {
	if x != nil {
		return x.BaRules
	}
	return nil
}

func (x *Source) GetBinlogName() string {
	if x != nil && x.BinlogName != nil {
		return *x.BinlogName
	}
	return ""
}

func (x *Source) GetBinlogPos() uint32 {
	if x != nil && x.BinlogPos != nil {
		return *x.BinlogPos
	}
	return 0
}

func (x *Source) GetBinlogGtid() string {
	if x != nil && x.BinlogGtid != nil {
		return *x.BinlogGtid
	}
	return ""
}

type GetJobReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            uint64                 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	ClusterId     uint64                 `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	ProjectId     uint64                 `protobuf:"varint,3,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	OrgId         uint64                 `protobuf:"varint,150,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetJobReq) ProtoMessage() {}

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

func (x *GetJobReq) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *GetJobReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *GetJobReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *GetJobReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

type GetJobResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Job           *Job                   `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetJobResp) ProtoMessage() {}

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

func (x *GetJobResp) GetJob() *Job {
	if x != nil {
		return x.Job
	}
	return nil
}

type ListJobsReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ProjectId     uint64                 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ClusterId     uint64                 `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	Page          int32                  `protobuf:"varint,100,opt,name=page,proto3" json:"page,omitempty"` // start from 1
	PageSize      int32                  `protobuf:"varint,101,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	OrgId         uint64                 `protobuf:"varint,150,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListJobsReq) Reset() {
	*x = ListJobsReq{}
	mi := &file_dm_dm_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListJobsReq) ProtoMessage() {}

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

func (x *ListJobsReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *ListJobsReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *ListJobsReq) GetPage() int32 {
	if x != nil {
		return x.Page
	}
	return 0
}

func (x *ListJobsReq) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *ListJobsReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

type ListJobsResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Jobs          []*Job                 `protobuf:"bytes,1,rep,name=jobs,proto3" json:"jobs,omitempty"`
	Total         uint64                 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ListJobsResp) ProtoMessage() {}

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

func (x *ListJobsResp) GetJobs() []*Job {
	if x != nil {
		return x.Jobs
	}
	return nil
}

func (x *ListJobsResp) GetTotal() uint64 {
	if x != nil {
		return x.Total
	}
	return 0
}

type UpdateJobReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ProjectId     uint64                 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ClusterId     uint64                 `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	Id            uint64                 `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"`
	Name          string                 `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	OrgId         uint64                 `protobuf:"varint,150,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UpdateJobReq) Reset() {
	*x = UpdateJobReq{}
	mi := &file_dm_dm_proto_msgTypes[28]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UpdateJobReq) ProtoMessage() {}

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

func (x *UpdateJobReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *UpdateJobReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *UpdateJobReq) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

func (x *UpdateJobReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

type DeleteJobReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ProjectId     uint64                 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ClusterId     uint64                 `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	Id            uint64                 `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"`
	OrgId         uint64                 `protobuf:"varint,150,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteJobReq) Reset() {
	*x = DeleteJobReq{}
	mi := &file_dm_dm_proto_msgTypes[29]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*DeleteJobReq) ProtoMessage() {}

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

func (x *DeleteJobReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *DeleteJobReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *DeleteJobReq) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *DeleteJobReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

type OperateJobReq struct {
	state     protoimpl.MessageState `protogen:"open.v1"`
	ProjectId uint64                 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ClusterId uint64                 `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	Id        uint64                 `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"`
	// todo: the output is like 'value must be in list [1 2]' on err, hard for user to understand, maybe change to string.
	Op            OperateJobReq_Operation `protobuf:"varint,4,opt,name=op,proto3,enum=dm.OperateJobReq_Operation" json:"op,omitempty"`
	OrgId         uint64                  `protobuf:"varint,150,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *OperateJobReq) Reset() {
	*x = OperateJobReq{}
	mi := &file_dm_dm_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*OperateJobReq) ProtoMessage() {}

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

func (x *OperateJobReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *OperateJobReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *OperateJobReq) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *OperateJobReq) GetOp() OperateJobReq_Operation {
	if x != nil {
		return x.Op
	}
	return OperateJobReq_Unknown
}

func (x *OperateJobReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

type GetQuotaReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ProjectId     uint64                 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ClusterId     uint64                 `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	OrgId         uint64                 `protobuf:"varint,150,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetQuotaReq) Reset() {
	*x = GetQuotaReq{}
	mi := &file_dm_dm_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetQuotaReq) ProtoMessage() {}

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

func (x *GetQuotaReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *GetQuotaReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *GetQuotaReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

type GetQuotaResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Quota         int32                  `protobuf:"varint,1,opt,name=quota,proto3" json:"quota,omitempty"`
	Usage         int32                  `protobuf:"varint,2,opt,name=usage,proto3" json:"usage,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetQuotaResp) Reset() {
	*x = GetQuotaResp{}
	mi := &file_dm_dm_proto_msgTypes[32]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetQuotaResp) ProtoMessage() {}

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

func (x *GetQuotaResp) GetQuota() int32 {
	if x != nil {
		return x.Quota
	}
	return 0
}

func (x *GetQuotaResp) GetUsage() int32 {
	if x != nil {
		return x.Usage
	}
	return 0
}

type CancelPrecheckReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ProjectId     uint64                 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ClusterId     uint64                 `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	Id            uint64                 `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"`
	OrgId         uint64                 `protobuf:"varint,150,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CancelPrecheckReq) Reset() {
	*x = CancelPrecheckReq{}
	mi := &file_dm_dm_proto_msgTypes[33]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CancelPrecheckReq) ProtoMessage() {}

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

func (x *CancelPrecheckReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *CancelPrecheckReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *CancelPrecheckReq) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *CancelPrecheckReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

type GetCostReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ProjectId     uint64                 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ClusterId     uint64                 `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	OrgId         uint64                 `protobuf:"varint,150,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	ConnMethod    string                 `protobuf:"bytes,3,opt,name=conn_method,json=connMethod,proto3" json:"conn_method,omitempty"`
	SpecId        uint64                 `protobuf:"varint,4,opt,name=spec_id,json=specId,proto3" json:"spec_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetCostReq) Reset() {
	*x = GetCostReq{}
	mi := &file_dm_dm_proto_msgTypes[34]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetCostReq) ProtoMessage() {}

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

func (x *GetCostReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *GetCostReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *GetCostReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *GetCostReq) GetConnMethod() string {
	if x != nil {
		return x.ConnMethod
	}
	return ""
}

func (x *GetCostReq) GetSpecId() uint64 {
	if x != nil {
		return x.SpecId
	}
	return 0
}

type GetCostResp struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	NodeCost        float64                `protobuf:"fixed64,1,opt,name=node_cost,json=nodeCost,proto3" json:"node_cost,omitempty"`
	PrivateLinkCost *float64               `protobuf:"fixed64,2,opt,name=private_link_cost,json=privateLinkCost,proto3,oneof" json:"private_link_cost,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *GetCostResp) Reset() {
	*x = GetCostResp{}
	mi := &file_dm_dm_proto_msgTypes[35]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetCostResp) ProtoMessage() {}

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

func (x *GetCostResp) GetNodeCost() float64 {
	if x != nil {
		return x.NodeCost
	}
	return 0
}

func (x *GetCostResp) GetPrivateLinkCost() float64 {
	if x != nil && x.PrivateLinkCost != nil {
		return *x.PrivateLinkCost
	}
	return 0
}

type ScaleUpDownJobReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ProjectId     uint64                 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	ClusterId     uint64                 `protobuf:"varint,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"`
	Id            uint64                 `protobuf:"varint,3,opt,name=id,proto3" json:"id,omitempty"`
	ToSpecId      uint64                 `protobuf:"varint,4,opt,name=to_spec_id,json=toSpecId,proto3" json:"to_spec_id,omitempty"`
	OrgId         uint64                 `protobuf:"varint,150,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ScaleUpDownJobReq) Reset() {
	*x = ScaleUpDownJobReq{}
	mi := &file_dm_dm_proto_msgTypes[36]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ScaleUpDownJobReq) ProtoMessage() {}

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

func (x *ScaleUpDownJobReq) GetProjectId() uint64 {
	if x != nil {
		return x.ProjectId
	}
	return 0
}

func (x *ScaleUpDownJobReq) GetClusterId() uint64 {
	if x != nil {
		return x.ClusterId
	}
	return 0
}

func (x *ScaleUpDownJobReq) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

func (x *ScaleUpDownJobReq) GetToSpecId() uint64 {
	if x != nil {
		return x.ToSpecId
	}
	return 0
}

func (x *ScaleUpDownJobReq) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

type GetSupportedSourcesReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Vendor        string                 `protobuf:"bytes,1,opt,name=vendor,proto3" json:"vendor,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetSupportedSourcesReq) Reset() {
	*x = GetSupportedSourcesReq{}
	mi := &file_dm_dm_proto_msgTypes[37]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetSupportedSourcesReq) ProtoMessage() {}

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

func (x *GetSupportedSourcesReq) GetVendor() string {
	if x != nil {
		return x.Vendor
	}
	return ""
}

var File_dm_dm_proto protoreflect.FileDescriptor

const file_dm_dm_proto_rawDesc = "" +
	"\n" +
	"\vdm/dm.proto\x12\x02dm\x1a\x11agent/agent.proto\x1a\x0fbase/base.proto\x1a\x13common/common.proto\x1a\x17dataflow/dataflow.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x19google/api/httpbody.proto\x1a\x19google/protobuf/any.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a\x17validate/validate.proto\"C\n" +
	"\n" +
	"ConnMethod\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12!\n" +
	"\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\"\xa5\x01\n" +
	"\x0fSupportedSource\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12!\n" +
	"\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12(\n" +
	"\aregions\x18\x03 \x03(\v2\x0e.common.RegionR\aregions\x121\n" +
	"\fconn_methods\x18\x04 \x03(\v2\x0e.dm.ConnMethodR\vconnMethods\"H\n" +
	"\x17GetSupportedSourcesResp\x12-\n" +
	"\asources\x18\x01 \x03(\v2\x13.dm.SupportedSourceR\asources\"\xc3\x01\n" +
	"\aJobSpec\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x04R\x02id\x12!\n" +
	"\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12#\n" +
	"\rcapacity_unit\x18\x03 \x01(\x01R\fcapacityUnit\x12/\n" +
	"\x14max_full_phase_speed\x18\x04 \x01(\x03R\x11maxFullPhaseSpeed\x12/\n" +
	"\x14max_incr_phase_speed\x18\x05 \x01(\x03R\x11maxIncrPhaseSpeed\"5\n" +
	"\x10ListJobSpecsResp\x12!\n" +
	"\x05specs\x18\x01 \x03(\v2\v.dm.JobSpecR\x05specs\"\xc2\x01\n" +
	"\fPrecheckItem\x12\x12\n" +
	"\x04desc\x18\x01 \x01(\tR\x04desc\x12\x16\n" +
	"\x06status\x18\x02 \x01(\tR\x06status\x12\x1a\n" +
	"\bsolution\x18\x03 \x01(\tR\bsolution\x12\x16\n" +
	"\x06reason\x18\x04 \x01(\tR\x06reason\x12(\n" +
	"\x10solution_doc_url\x18\x05 \x01(\tR\x0esolutionDocUrl\x12(\n" +
	"\x04type\x18\x06 \x01(\x0e2\x14.dm.PrecheckItemTypeR\x04type\"\xa8\x01\n" +
	"\x11GetPrecheckJobReq\x12\x1d\n" +
	"\n" +
	"project_id\x18\x01 \x01(\x04R\tprojectId\x12\x1d\n" +
	"\n" +
	"cluster_id\x18\x02 \x01(\x04R\tclusterId\x12\x0e\n" +
	"\x02id\x18\x03 \x01(\x04R\x02id\x12\x16\n" +
	"\x06org_id\x18\x96\x01 \x01(\x04R\x05orgId:-\x92A*\n" +
	"(\xd2\x01\x06org_id\xd2\x01\n" +
	"project_id\xd2\x01\n" +
	"cluster_id\xd2\x01\x02id\"\xc5\x01\n" +
	"\x12GetPrecheckJobResp\x12\x14\n" +
	"\x05total\x18\x01 \x01(\x05R\x05total\x12\x1d\n" +
	"\n" +
	"failed_cnt\x18\x02 \x01(\x05R\tfailedCnt\x12\x19\n" +
	"\bwarn_cnt\x18\x03 \x01(\x05R\awarnCnt\x12\x1f\n" +
	"\vsuccess_cnt\x18\x04 \x01(\x05R\n" +
	"successCnt\x12\x16\n" +
	"\x06status\x18\x05 \x01(\tR\x06status\x12&\n" +
	"\x05items\x18\x06 \x03(\v2\x10.dm.PrecheckItemR\x05items\"\xc3\x01\n" +
	"\x10ListPrechecksReq\x12\x1d\n" +
	"\n" +
	"project_id\x18\x01 \x01(\x04R\tprojectId\x12\x1d\n" +
	"\n" +
	"cluster_id\x18\x02 \x01(\x04R\tclusterId\x12\x12\n" +
	"\x04page\x18d \x01(\x05R\x04page\x12\x1b\n" +
	"\tpage_size\x18e \x01(\x05R\bpageSize\x12\x16\n" +
	"\x06org_id\x18\x96\x01 \x01(\x04R\x05orgId:(\x92A%\n" +
	"#\xd2\x01\x06org_id\xd2\x01\n" +
	"project_id\xd2\x01\n" +
	"cluster_id\"\xaa\x02\n" +
	"\x0fPrecheckSummary\x12\x1f\n" +
	"\vprecheck_id\x18\x01 \x01(\x04R\n" +
	"precheckId\x129\n" +
	"\n" +
	"created_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x16\n" +
	"\x06status\x18\x03 \x01(\tR\x06status\x12\x14\n" +
	"\x05total\x18\x04 \x01(\x05R\x05total\x12\x1d\n" +
	"\n" +
	"failed_cnt\x18\x05 \x01(\x05R\tfailedCnt\x12\x19\n" +
	"\bwarn_cnt\x18\x06 \x01(\x05R\awarnCnt\x12\x1f\n" +
	"\vsuccess_cnt\x18\a \x01(\x05R\n" +
	"successCnt\x122\n" +
	"\x15full_instance_migrate\x18\b \x01(\bR\x13fullInstanceMigrate\"\\\n" +
	"\x11ListPrechecksResp\x121\n" +
	"\tprechecks\x18\x01 \x03(\v2\x13.dm.PrecheckSummaryR\tprechecks\x12\x14\n" +
	"\x05total\x18\x02 \x01(\x04R\x05total\"\x1f\n" +
	"\rCreateJobResp\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x04R\x02id\"\x8c\x05\n" +
	"\fCreateJobReq\x12&\n" +
	"\n" +
	"project_id\x18\x01 \x01(\x04B\a\xfaB\x042\x02 \x00R\tprojectId\x12&\n" +
	"\n" +
	"cluster_id\x18\x02 \x01(\x04B\a\xfaB\x042\x02 \x00R\tclusterId\x120\n" +
	"\x04name\x18\x03 \x01(\tB\x1c\xfaB\x19r\x172\x15^[A-Za-z][\\w-]{0,59}$R\x04name\x120\n" +
	"\asources\x18\x04 \x03(\v2\n" +
	".dm.SourceB\n" +
	"\xfaB\a\x92\x01\x04\b\x01\x10\x01R\asources\x12,\n" +
	"\fcluster_user\x18\x05 \x01(\tB\t\xfaB\x06r\x04\x10\x01\x18@R\vclusterUser\x124\n" +
	"\x10cluster_password\x18\x06 \x01(\tB\t\xfaB\x06r\x04\x10\x01\x18@R\x0fclusterPassword\x121\n" +
	"\x04mode\x18\n" +
	" \x01(\tB\x1d\xfaB\x1ar\x18R\x03allR\vincrementalR\x04fullR\x04mode\x12\x17\n" +
	"\aspec_id\x18\f \x01(\x04R\x06specId\x122\n" +
	"\x15full_instance_migrate\x18\r \x01(\bR\x13fullInstanceMigrate\x12\x1f\n" +
	"\vprecheck_id\x18\x0e \x01(\x04R\n" +
	"precheckId\x12\x15\n" +
	"\x06org_id\x18\x0f \x01(\x04R\x05orgId\x12\x1f\n" +
	"\vimport_mode\x18\x10 \x01(\tR\n" +
	"importMode:\x8a\x01\x92A\x86\x01\n" +
	"\x83\x01\xd2\x01\x06org_id\xd2\x01\n" +
	"project_id\xd2\x01\n" +
	"cluster_id\xd2\x01\x04name\xd2\x01\asources\xd2\x01\fcluster_user\xd2\x01\x10cluster_password\xd2\x01\x04mode\xd2\x01\x15full_instance_migrate\xd2\x01\vimport_mode\"\x9f\x01\n" +
	"\tRouteRule\x12%\n" +
	"\x0eschema_pattern\x18\x01 \x01(\tR\rschemaPattern\x12#\n" +
	"\rtable_pattern\x18\x02 \x01(\tR\ftablePattern\x12#\n" +
	"\rtarget_schema\x18\x03 \x01(\tR\ftargetSchema\x12!\n" +
	"\ftarget_table\x18\x04 \x01(\tR\vtargetTable\"\xa7\x01\n" +
	"\x0fBlockAllowRules\x12\x15\n" +
	"\x06do_dbs\x18\x01 \x03(\tR\x05doDbs\x12\x1d\n" +
	"\n" +
	"ignore_dbs\x18\x02 \x03(\tR\tignoreDbs\x12*\n" +
	"\tdo_tables\x18\x03 \x03(\v2\r.common.TableR\bdoTables\x122\n" +
	"\rignore_tables\x18\x04 \x03(\v2\r.common.TableR\fignoreTables\"\xa8\x03\n" +
	"\x03Job\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\x04R\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12\x16\n" +
	"\x06region\x18\x03 \x01(\tR\x06region\x122\n" +
	"\tsub_tasks\x18\x04 \x03(\v2\x15.dm.Job.SubTasksEntryR\bsubTasks\x12\x1f\n" +
	"\x04spec\x18\x05 \x01(\v2\v.dm.JobSpecR\x04spec\x12!\n" +
	"\fcluster_user\x18\x06 \x01(\tR\vclusterUser\x12\x1f\n" +
	"\vcreate_time\x18\a \x01(\tR\n" +
	"createTime\x12\x12\n" +
	"\x04mode\x18\b \x01(\tR\x04mode\x12<\n" +
	"\fmodification\x18\t \x01(\v2\x13.dm.JobModificationH\x00R\fmodification\x88\x01\x01\x12\x1f\n" +
	"\vimport_mode\x18\n" +
	" \x01(\tR\n" +
	"importMode\x1aH\n" +
	"\rSubTasksEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\x04R\x03key\x12!\n" +
	"\x05value\x18\x02 \x01(\v2\v.dm.SubTaskR\x05value:\x028\x01B\x0f\n" +
	"\r_modification\"\xed\x04\n" +
	"\aSubTask\x12\"\n" +
	"\x06source\x18\x01 \x01(\v2\n" +
	".dm.SourceR\x06source\x123\n" +
	"\fcurrent_step\x18\x02 \x01(\x0e2\x10.dm.SubTask.StepR\vcurrentStep\x12'\n" +
	"\x05stage\x18\x03 \x01(\x0e2\x11.dm.SubTask.StageR\x05stage\x124\n" +
	"\vdump_detail\x18\v \x01(\v2\x0e.dm.DumpDetailH\x00R\n" +
	"dumpDetail\x88\x01\x01\x124\n" +
	"\vload_detail\x18\f \x01(\v2\x0e.dm.LoadDetailH\x01R\n" +
	"loadDetail\x88\x01\x01\x124\n" +
	"\vsync_detail\x18\r \x01(\v2\x0e.dm.SyncDetailH\x02R\n" +
	"syncDetail\x88\x01\x01\x12:\n" +
	"\rprocess_error\x18\x0e \x01(\v2\x10.dm.ProcessErrorH\x03R\fprocessError\x88\x01\x01\"A\n" +
	"\x04Step\x12\x0f\n" +
	"\vUnsupported\x10\x00\x12\n" +
	"\n" +
	"\x06Schema\x10\x01\x12\b\n" +
	"\x04Dump\x10\x02\x12\b\n" +
	"\x04Load\x10\x03\x12\b\n" +
	"\x04Sync\x10\x04\"}\n" +
	"\x05Stage\x12\f\n" +
	"\bCreating\x10\x00\x12\v\n" +
	"\aRunning\x10\x01\x12\v\n" +
	"\aPausing\x10\x02\x12\n" +
	"\n" +
	"\x06Paused\x10\x03\x12\n" +
	"\n" +
	"\x06Failed\x10\x04\x12\f\n" +
	"\bFinished\x10\x05\x12\f\n" +
	"\bDeleting\x10\x06\x12\v\n" +
	"\aScaling\x10\a\x12\v\n" +
	"\aUnknown\x10\bB\x0e\n" +
	"\f_dump_detailB\x0e\n" +
	"\f_load_detailB\x0e\n" +
	"\f_sync_detailB\x10\n" +
	"\x0e_process_error\"\x0e\n" +
	"\fSchemaDetail\"C\n" +
	"\x0fJobModification\x12\x19\n" +
	"\bfrom_rcu\x18\x01 \x01(\x04R\afromRcu\x12\x15\n" +
	"\x06to_rcu\x18\x02 \x01(\x04R\x05toRcu\"\xf0\x01\n" +
	"\n" +
	"DumpDetail\x12\x10\n" +
	"\x03bps\x18\x01 \x01(\x03R\x03bps\x12\x1a\n" +
	"\bduration\x18\x02 \x01(\x03R\bduration\x12\x1a\n" +
	"\bprogress\x18\x03 \x01(\x01R\bprogress\x12!\n" +
	"\ftotal_tables\x18\x04 \x01(\x03R\vtotalTables\x12)\n" +
	"\x10completed_tables\x18\x05 \x01(\x03R\x0fcompletedTables\x12%\n" +
	"\x0efinished_bytes\x18\x06 \x01(\x03R\rfinishedBytes\x12#\n" +
	"\rfinished_rows\x18\a \x01(\x03R\ffinishedRows\"\x9e\x01\n" +
	"\n" +
	"LoadDetail\x12\x10\n" +
	"\x03bps\x18\x01 \x01(\x03R\x03bps\x12\x1a\n" +
	"\bduration\x18\x02 \x01(\x03R\bduration\x12\x1a\n" +
	"\bprogress\x18\x03 \x01(\x01R\bprogress\x12%\n" +
	"\x0efinished_bytes\x18\x04 \x01(\x03R\rfinishedBytes\x12\x1f\n" +
	"\vtotal_bytes\x18\x05 \x01(\x03R\n" +
	"totalBytes\"t\n" +
	"\n" +
	"SyncDetail\x12\x10\n" +
	"\x03rps\x18\x01 \x01(\x03R\x03rps\x12\x1a\n" +
	"\bduration\x18\x02 \x01(\x03R\bduration\x12\x18\n" +
	"\alatency\x18\x03 \x01(\x03R\alatency\x12\x1e\n" +
	"\n" +
	"checkpoint\x18\x04 \x01(\tR\n" +
	"checkpoint\"c\n" +
	"\fProcessError\x12\x19\n" +
	"\berr_code\x18\x01 \x01(\x05R\aerrCode\x12\x18\n" +
	"\amessage\x18\x02 \x01(\tR\amessage\x12\x1e\n" +
	"\n" +
	"workaround\x18\x03 \x01(\tR\n" +
	"workaround\"\xfb\x02\n" +
	"\x06Source\x12&\n" +
	"\x0fconn_profile_id\x18\x01 \x01(\x04R\rconnProfileId\x128\n" +
	"\fconn_profile\x18\x02 \x01(\v2\x15.dataflow.ConnProfileR\vconnProfile\x12.\n" +
	"\vroute_rules\x18\x03 \x03(\v2\r.dm.RouteRuleR\n" +
	"routeRules\x123\n" +
	"\bba_rules\x18\x04 \x01(\v2\x13.dm.BlockAllowRulesH\x00R\abaRules\x88\x01\x01\x12$\n" +
	"\vbinlog_name\x18\x05 \x01(\tH\x01R\n" +
	"binlogName\x88\x01\x01\x12\"\n" +
	"\n" +
	"binlog_pos\x18\x06 \x01(\rH\x02R\tbinlogPos\x88\x01\x01\x12$\n" +
	"\vbinlog_gtid\x18\a \x01(\tH\x03R\n" +
	"binlogGtid\x88\x01\x01B\v\n" +
	"\t_ba_rulesB\x0e\n" +
	"\f_binlog_nameB\r\n" +
	"\v_binlog_posB\x0e\n" +
	"\f_binlog_gtid\"\xbb\x01\n" +
	"\tGetJobReq\x12\x17\n" +
	"\x02id\x18\x01 \x01(\x04B\a\xfaB\x042\x02 \x00R\x02id\x12&\n" +
	"\n" +
	"cluster_id\x18\x02 \x01(\x04B\a\xfaB\x042\x02 \x00R\tclusterId\x12&\n" +
	"\n" +
	"project_id\x18\x03 \x01(\x04B\a\xfaB\x042\x02 \x00R\tprojectId\x12\x16\n" +
	"\x06org_id\x18\x96\x01 \x01(\x04R\x05orgId:-\x92A*\n" +
	"(\xd2\x01\x06org_id\xd2\x01\x02id\xd2\x01\n" +
	"cluster_id\xd2\x01\n" +
	"project_id\"'\n" +
	"\n" +
	"GetJobResp\x12\x19\n" +
	"\x03job\x18\x01 \x01(\v2\a.dm.JobR\x03job\"\xbe\x01\n" +
	"\vListJobsReq\x12\x1d\n" +
	"\n" +
	"project_id\x18\x01 \x01(\x04R\tprojectId\x12\x1d\n" +
	"\n" +
	"cluster_id\x18\x02 \x01(\x04R\tclusterId\x12\x12\n" +
	"\x04page\x18d \x01(\x05R\x04page\x12\x1b\n" +
	"\tpage_size\x18e \x01(\x05R\bpageSize\x12\x16\n" +
	"\x06org_id\x18\x96\x01 \x01(\x04R\x05orgId:(\x92A%\n" +
	"#\xd2\x01\x06org_id\xd2\x01\n" +
	"project_id\xd2\x01\n" +
	"cluster_id\"A\n" +
	"\fListJobsResp\x12\x1b\n" +
	"\x04jobs\x18\x01 \x03(\v2\a.dm.JobR\x04jobs\x12\x14\n" +
	"\x05total\x18\x02 \x01(\x04R\x05total\"\xf0\x01\n" +
	"\fUpdateJobReq\x12&\n" +
	"\n" +
	"project_id\x18\x01 \x01(\x04B\a\xfaB\x042\x02 \x00R\tprojectId\x12&\n" +
	"\n" +
	"cluster_id\x18\x02 \x01(\x04B\a\xfaB\x042\x02 \x00R\tclusterId\x12\x17\n" +
	"\x02id\x18\x03 \x01(\x04B\a\xfaB\x042\x02 \x00R\x02id\x120\n" +
	"\x04name\x18\x04 \x01(\tB\x1c\xfaB\x19r\x172\x15^[A-Za-z][\\w-]{0,59}$R\x04name\x12\x16\n" +
	"\x06org_id\x18\x96\x01 \x01(\x04R\x05orgId:-\x92A*\n" +
	"(\xd2\x01\x06org_id\xd2\x01\n" +
	"project_id\xd2\x01\n" +
	"cluster_id\xd2\x01\x02id\"\xbe\x01\n" +
	"\fDeleteJobReq\x12&\n" +
	"\n" +
	"project_id\x18\x01 \x01(\x04B\a\xfaB\x042\x02 \x00R\tprojectId\x12&\n" +
	"\n" +
	"cluster_id\x18\x02 \x01(\x04B\a\xfaB\x042\x02 \x00R\tclusterId\x12\x17\n" +
	"\x02id\x18\x03 \x01(\x04B\a\xfaB\x042\x02 \x00R\x02id\x12\x16\n" +
	"\x06org_id\x18\x96\x01 \x01(\x04R\x05orgId:-\x92A*\n" +
	"(\xd2\x01\x06org_id\xd2\x01\n" +
	"project_id\xd2\x01\n" +
	"cluster_id\xd2\x01\x02id\"\xae\x02\n" +
	"\rOperateJobReq\x12&\n" +
	"\n" +
	"project_id\x18\x01 \x01(\x04B\a\xfaB\x042\x02 \x00R\tprojectId\x12&\n" +
	"\n" +
	"cluster_id\x18\x02 \x01(\x04B\a\xfaB\x042\x02 \x00R\tclusterId\x12\x17\n" +
	"\x02id\x18\x03 \x01(\x04B\a\xfaB\x042\x02 \x00R\x02id\x127\n" +
	"\x02op\x18\x04 \x01(\x0e2\x1b.dm.OperateJobReq.OperationB\n" +
	"\xfaB\a\x82\x01\x04\x18\x01\x18\x02R\x02op\x12\x16\n" +
	"\x06org_id\x18\x96\x01 \x01(\x04R\x05orgId\"/\n" +
	"\tOperation\x12\v\n" +
	"\aUnknown\x10\x00\x12\t\n" +
	"\x05Pause\x10\x01\x12\n" +
	"\n" +
	"\x06Resume\x10\x02:2\x92A/\n" +
	"-\xd2\x01\x06org_id\xd2\x01\n" +
	"project_id\xd2\x01\n" +
	"cluster_id\xd2\x01\x02id\xd2\x01\x02op\"\x9f\x01\n" +
	"\vGetQuotaReq\x12&\n" +
	"\n" +
	"project_id\x18\x01 \x01(\x04B\a\xfaB\x042\x02 \x00R\tprojectId\x12&\n" +
	"\n" +
	"cluster_id\x18\x02 \x01(\x04B\a\xfaB\x042\x02 \x00R\tclusterId\x12\x16\n" +
	"\x06org_id\x18\x96\x01 \x01(\x04R\x05orgId:(\x92A%\n" +
	"#\xd2\x01\x06org_id\xd2\x01\n" +
	"project_id\xd2\x01\n" +
	"cluster_id\":\n" +
	"\fGetQuotaResp\x12\x14\n" +
	"\x05quota\x18\x01 \x01(\x05R\x05quota\x12\x14\n" +
	"\x05usage\x18\x02 \x01(\x05R\x05usage\"\xc3\x01\n" +
	"\x11CancelPrecheckReq\x12&\n" +
	"\n" +
	"project_id\x18\x01 \x01(\x04B\a\xfaB\x042\x02 \x00R\tprojectId\x12&\n" +
	"\n" +
	"cluster_id\x18\x02 \x01(\x04B\a\xfaB\x042\x02 \x00R\tclusterId\x12\x17\n" +
	"\x02id\x18\x03 \x01(\x04B\a\xfaB\x042\x02 \x00R\x02id\x12\x16\n" +
	"\x06org_id\x18\x96\x01 \x01(\x04R\x05orgId:-\x92A*\n" +
	"(\xd2\x01\x06org_id\xd2\x01\n" +
	"project_id\xd2\x01\n" +
	"cluster_id\xd2\x01\x02id\"\x9a\x02\n" +
	"\n" +
	"GetCostReq\x12&\n" +
	"\n" +
	"project_id\x18\x01 \x01(\x04B\a\xfaB\x042\x02 \x00R\tprojectId\x12&\n" +
	"\n" +
	"cluster_id\x18\x02 \x01(\x04B\a\xfaB\x042\x02 \x00R\tclusterId\x12\x16\n" +
	"\x06org_id\x18\x96\x01 \x01(\x04R\x05orgId\x12I\n" +
	"\vconn_method\x18\x03 \x01(\tB(\xfaB%r#R\x06directR\vvpc-peeringR\fprivate-linkR\n" +
	"connMethod\x12\x17\n" +
	"\aspec_id\x18\x04 \x01(\x04R\x06specId:@\x92A=\n" +
	";\xd2\x01\x06org_id\xd2\x01\n" +
	"project_id\xd2\x01\n" +
	"cluster_id\xd2\x01\vconn_method\xd2\x01\aspec_id\"q\n" +
	"\vGetCostResp\x12\x1b\n" +
	"\tnode_cost\x18\x01 \x01(\x01R\bnodeCost\x12/\n" +
	"\x11private_link_cost\x18\x02 \x01(\x01H\x00R\x0fprivateLinkCost\x88\x01\x01B\x14\n" +
	"\x12_private_link_cost\"\xf7\x01\n" +
	"\x11ScaleUpDownJobReq\x12&\n" +
	"\n" +
	"project_id\x18\x01 \x01(\x04B\a\xfaB\x042\x02 \x00R\tprojectId\x12&\n" +
	"\n" +
	"cluster_id\x18\x02 \x01(\x04B\a\xfaB\x042\x02 \x00R\tclusterId\x12\x17\n" +
	"\x02id\x18\x03 \x01(\x04B\a\xfaB\x042\x02 \x00R\x02id\x12%\n" +
	"\n" +
	"to_spec_id\x18\x04 \x01(\x04B\a\xfaB\x042\x02 \x00R\btoSpecId\x12\x16\n" +
	"\x06org_id\x18\x96\x01 \x01(\x04R\x05orgId::\x92A7\n" +
	"5\xd2\x01\x06org_id\xd2\x01\n" +
	"project_id\xd2\x01\n" +
	"cluster_id\xd2\x01\x02id\xd2\x01\n" +
	"to_spec_id\"J\n" +
	"\x16GetSupportedSourcesReq\x120\n" +
	"\x06vendor\x18\x01 \x01(\tB\x18\xfaB\x15r\x13R\x00R\x03awsR\x03gcpR\x05azureR\x06vendor*\xeb\x02\n" +
	"\x10PrecheckItemType\x12\x19\n" +
	"\x15DumpPrivilegeChecking\x10\x00\x12 \n" +
	"\x1cReplicationPrivilegeChecking\x10\x01\x12\x13\n" +
	"\x0fVersionChecking\x10\x02\x12\x14\n" +
	"\x10ServerIDChecking\x10\x03\x12\x18\n" +
	"\x14BinlogEnableChecking\x10\x04\x12\x18\n" +
	"\x14BinlogFormatChecking\x10\x05\x12\x1a\n" +
	"\x16BinlogRowImageChecking\x10\x06\x12\x17\n" +
	"\x13TableSchemaChecking\x10\a\x12\x14\n" +
	"\x10BinlogDBChecking\x10\b\x12\x16\n" +
	"\x12ConnNumberChecking\x10\t\x12\x1d\n" +
	"\x19TargetDBPrivilegeChecking\x10\n" +
	"\x12\x18\n" +
	"\x14MetaPositionChecking\x10\v\x12\x1f\n" +
	"\x1bLightningTableEmptyChecking\x10\f2\xa8\x14\n" +
	"\aService\x12\x97\x01\n" +
	"\x13GetSupportedSources\x12\x1a.dm.GetSupportedSourcesReq\x1a\x1b.dm.GetSupportedSourcesResp\"G\x92A\x17*\x15GetDMSupportedSources\x82\xd3\xe4\x93\x02'\x12%/api/v1/dataflow/dm/supported-sources\x12v\n" +
	"\fListJobSpecs\x12\x16.google.protobuf.Empty\x1a\x14.dm.ListJobSpecsResp\"8\x92A\x10*\x0eListDMJobSpecs\x82\xd3\xe4\x93\x02\x1f\x12\x1d/api/v1/dataflow/dm/job-specs\x12\xa6\x01\n" +
	"\vPrecheckJob\x12\x10.dm.CreateJobReq\x1a\x11.dm.CreateJobResp\"r\x92A\r*\vPrecheckJob\x82\xd3\xe4\x93\x02\\:\x01*\"W/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/dataflow/dm/pre-check\x12\x9f\x01\n" +
	"\tCreateJob\x12\x10.dm.CreateJobReq\x1a\x11.dm.CreateJobResp\"m\x92A\r*\vCreateDMJob\x82\xd3\xe4\x93\x02W:\x01*\"R/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/dataflow/dm/jobs\x12\x95\x01\n" +
	"\x06GetJob\x12\r.dm.GetJobReq\x1a\x0e.dm.GetJobResp\"l\x92A\n" +
	"*\bGetDMJob\x82\xd3\xe4\x93\x02Y\x12W/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/dataflow/dm/jobs/{id}\x12\x98\x01\n" +
	"\bListJobs\x12\x0f.dm.ListJobsReq\x1a\x10.dm.ListJobsResp\"i\x92A\f*\n" +
	"ListDMJobs\x82\xd3\xe4\x93\x02T\x12R/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/dataflow/dm/jobs\x12\xa9\x01\n" +
	"\tUpdateJob\x12\x10.dm.UpdateJobReq\x1a\x16.google.protobuf.Empty\"r\x92A\r*\vUpdateDMJob\x82\xd3\xe4\x93\x02\\:\x01*\"W/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/dataflow/dm/jobs/{id}\x12\xa6\x01\n" +
	"\tDeleteJob\x12\x10.dm.DeleteJobReq\x1a\x16.google.protobuf.Empty\"o\x92A\r*\vDeleteDMJob\x82\xd3\xe4\x93\x02Y*W/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/dataflow/dm/jobs/{id}\x12\xb3\x01\n" +
	"\n" +
	"OperateJob\x12\x11.dm.OperateJobReq\x1a\x16.google.protobuf.Empty\"z\x92A\x0e*\fOperateDMJob\x82\xd3\xe4\x93\x02c:\x01*\x1a^/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/dataflow/dm/jobs/{id}/status\x12\xd4\x01\n" +
	"\x0fGetSourceTables\x12).dataflow.ValidateRemoteDBConnectivityReq\x1a\x1a.agent.GetSourceTablesResp\"z\x92A\x11*\x0fGetSourceTables\x82\xd3\xe4\x93\x02`:\x01*\"[/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/dataflow/dm/source-tables\x12\xba\x01\n" +
	"\x0eCancelPrecheck\x12\x15.dm.CancelPrecheckReq\x1a\x16.google.protobuf.Empty\"y\x92A\x12*\x10CancelDMPrecheck\x82\xd3\xe4\x93\x02^*\\/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/dataflow/dm/pre-check/{id}\x12\xb2\x01\n" +
	"\vGetPrecheck\x12\x15.dm.GetPrecheckJobReq\x1a\x16.dm.GetPrecheckJobResp\"t\x92A\r*\vGetPrecheck\x82\xd3\xe4\x93\x02^\x12\\/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/dataflow/dm/pre-check/{id}\x12>\n" +
	"\rListPrechecks\x12\x14.dm.ListPrechecksReq\x1a\x15.dm.ListPrechecksResp\"\x00\x12\x99\x01\n" +
	"\bGetQuota\x12\x0f.dm.GetQuotaReq\x1a\x10.dm.GetQuotaResp\"j\x92A\f*\n" +
	"GetDMQuota\x82\xd3\xe4\x93\x02U\x12S/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/dataflow/dm/quota\x12\x94\x01\n" +
	"\aGetCost\x12\x0e.dm.GetCostReq\x1a\x0f.dm.GetCostResp\"h\x92A\v*\tGetDMCost\x82\xd3\xe4\x93\x02T\x12R/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/dataflow/dm/cost\x12\xc5\x01\n" +
	"\x0eScaleUpDownJob\x12\x15.dm.ScaleUpDownJobReq\x1a\x16.google.protobuf.Empty\"\x83\x01\x92A\x10*\x0eScaleUpDownJob\x82\xd3\xe4\x93\x02j:\x01*\"e/api/v1/orgs/{org_id}/projects/{project_id}/clusters/{cluster_id}/dataflow/dm/jobs/{id}/scale-up-downB\xfd\x01\x92A\xbc\x01\x12\x052\x030.1*\x01\x02ZY\n" +
	"W\n" +
	"\x06bearer\x12M\b\x02\x128Authentication token, prefixed by Bearer: Bearer <token>\x1a\rAuthorization \x02b\f\n" +
	"\n" +
	"\n" +
	"\x06bearer\x12\x00rG\n" +
	"\x16DBaaS Dataflow Service\x12-https://github.com/tidbcloud/dataflow-serviceZ;github.com/tidbcloud/dataflow-service/idl/pbgen/proto/dm;dmb\x06proto3"

var (
	file_dm_dm_proto_rawDescOnce sync.Once
	file_dm_dm_proto_rawDescData []byte
)

func file_dm_dm_proto_rawDescGZIP() []byte {
	file_dm_dm_proto_rawDescOnce.Do(func() {
		file_dm_dm_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_dm_dm_proto_rawDesc), len(file_dm_dm_proto_rawDesc)))
	})
	return file_dm_dm_proto_rawDescData
}

var file_dm_dm_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
var file_dm_dm_proto_msgTypes = make([]protoimpl.MessageInfo, 39)
var file_dm_dm_proto_goTypes = []any{
	(PrecheckItemType)(0),                            // 0: dm.PrecheckItemType
	(SubTask_Step)(0),                                // 1: dm.SubTask.Step
	(SubTask_Stage)(0),                               // 2: dm.SubTask.Stage
	(OperateJobReq_Operation)(0),                     // 3: dm.OperateJobReq.Operation
	(*ConnMethod)(nil),                               // 4: dm.ConnMethod
	(*SupportedSource)(nil),                          // 5: dm.SupportedSource
	(*GetSupportedSourcesResp)(nil),                  // 6: dm.GetSupportedSourcesResp
	(*JobSpec)(nil),                                  // 7: dm.JobSpec
	(*ListJobSpecsResp)(nil),                         // 8: dm.ListJobSpecsResp
	(*PrecheckItem)(nil),                             // 9: dm.PrecheckItem
	(*GetPrecheckJobReq)(nil),                        // 10: dm.GetPrecheckJobReq
	(*GetPrecheckJobResp)(nil),                       // 11: dm.GetPrecheckJobResp
	(*ListPrechecksReq)(nil),                         // 12: dm.ListPrechecksReq
	(*PrecheckSummary)(nil),                          // 13: dm.PrecheckSummary
	(*ListPrechecksResp)(nil),                        // 14: dm.ListPrechecksResp
	(*CreateJobResp)(nil),                            // 15: dm.CreateJobResp
	(*CreateJobReq)(nil),                             // 16: dm.CreateJobReq
	(*RouteRule)(nil),                                // 17: dm.RouteRule
	(*BlockAllowRules)(nil),                          // 18: dm.BlockAllowRules
	(*Job)(nil),                                      // 19: dm.Job
	(*SubTask)(nil),                                  // 20: dm.SubTask
	(*SchemaDetail)(nil),                             // 21: dm.SchemaDetail
	(*JobModification)(nil),                          // 22: dm.JobModification
	(*DumpDetail)(nil),                               // 23: dm.DumpDetail
	(*LoadDetail)(nil),                               // 24: dm.LoadDetail
	(*SyncDetail)(nil),                               // 25: dm.SyncDetail
	(*ProcessError)(nil),                             // 26: dm.ProcessError
	(*Source)(nil),                                   // 27: dm.Source
	(*GetJobReq)(nil),                                // 28: dm.GetJobReq
	(*GetJobResp)(nil),                               // 29: dm.GetJobResp
	(*ListJobsReq)(nil),                              // 30: dm.ListJobsReq
	(*ListJobsResp)(nil),                             // 31: dm.ListJobsResp
	(*UpdateJobReq)(nil),                             // 32: dm.UpdateJobReq
	(*DeleteJobReq)(nil),                             // 33: dm.DeleteJobReq
	(*OperateJobReq)(nil),                            // 34: dm.OperateJobReq
	(*GetQuotaReq)(nil),                              // 35: dm.GetQuotaReq
	(*GetQuotaResp)(nil),                             // 36: dm.GetQuotaResp
	(*CancelPrecheckReq)(nil),                        // 37: dm.CancelPrecheckReq
	(*GetCostReq)(nil),                               // 38: dm.GetCostReq
	(*GetCostResp)(nil),                              // 39: dm.GetCostResp
	(*ScaleUpDownJobReq)(nil),                        // 40: dm.ScaleUpDownJobReq
	(*GetSupportedSourcesReq)(nil),                   // 41: dm.GetSupportedSourcesReq
	nil,                                              // 42: dm.Job.SubTasksEntry
	(*common.Region)(nil),                            // 43: common.Region
	(*timestamppb.Timestamp)(nil),                    // 44: google.protobuf.Timestamp
	(*common.Table)(nil),                             // 45: common.Table
	(*dataflow.ConnProfile)(nil),                     // 46: dataflow.ConnProfile
	(*emptypb.Empty)(nil),                            // 47: google.protobuf.Empty
	(*dataflow.ValidateRemoteDBConnectivityReq)(nil), // 48: dataflow.ValidateRemoteDBConnectivityReq
	(*agent.GetSourceTablesResp)(nil),                // 49: agent.GetSourceTablesResp
}
var file_dm_dm_proto_depIdxs = []int32{
	43, // 0: dm.SupportedSource.regions:type_name -> common.Region
	4,  // 1: dm.SupportedSource.conn_methods:type_name -> dm.ConnMethod
	5,  // 2: dm.GetSupportedSourcesResp.sources:type_name -> dm.SupportedSource
	7,  // 3: dm.ListJobSpecsResp.specs:type_name -> dm.JobSpec
	0,  // 4: dm.PrecheckItem.type:type_name -> dm.PrecheckItemType
	9,  // 5: dm.GetPrecheckJobResp.items:type_name -> dm.PrecheckItem
	44, // 6: dm.PrecheckSummary.created_at:type_name -> google.protobuf.Timestamp
	13, // 7: dm.ListPrechecksResp.prechecks:type_name -> dm.PrecheckSummary
	27, // 8: dm.CreateJobReq.sources:type_name -> dm.Source
	45, // 9: dm.BlockAllowRules.do_tables:type_name -> common.Table
	45, // 10: dm.BlockAllowRules.ignore_tables:type_name -> common.Table
	42, // 11: dm.Job.sub_tasks:type_name -> dm.Job.SubTasksEntry
	7,  // 12: dm.Job.spec:type_name -> dm.JobSpec
	22, // 13: dm.Job.modification:type_name -> dm.JobModification
	27, // 14: dm.SubTask.source:type_name -> dm.Source
	1,  // 15: dm.SubTask.current_step:type_name -> dm.SubTask.Step
	2,  // 16: dm.SubTask.stage:type_name -> dm.SubTask.Stage
	23, // 17: dm.SubTask.dump_detail:type_name -> dm.DumpDetail
	24, // 18: dm.SubTask.load_detail:type_name -> dm.LoadDetail
	25, // 19: dm.SubTask.sync_detail:type_name -> dm.SyncDetail
	26, // 20: dm.SubTask.process_error:type_name -> dm.ProcessError
	46, // 21: dm.Source.conn_profile:type_name -> dataflow.ConnProfile
	17, // 22: dm.Source.route_rules:type_name -> dm.RouteRule
	18, // 23: dm.Source.ba_rules:type_name -> dm.BlockAllowRules
	19, // 24: dm.GetJobResp.job:type_name -> dm.Job
	19, // 25: dm.ListJobsResp.jobs:type_name -> dm.Job
	3,  // 26: dm.OperateJobReq.op:type_name -> dm.OperateJobReq.Operation
	20, // 27: dm.Job.SubTasksEntry.value:type_name -> dm.SubTask
	41, // 28: dm.Service.GetSupportedSources:input_type -> dm.GetSupportedSourcesReq
	47, // 29: dm.Service.ListJobSpecs:input_type -> google.protobuf.Empty
	16, // 30: dm.Service.PrecheckJob:input_type -> dm.CreateJobReq
	16, // 31: dm.Service.CreateJob:input_type -> dm.CreateJobReq
	28, // 32: dm.Service.GetJob:input_type -> dm.GetJobReq
	30, // 33: dm.Service.ListJobs:input_type -> dm.ListJobsReq
	32, // 34: dm.Service.UpdateJob:input_type -> dm.UpdateJobReq
	33, // 35: dm.Service.DeleteJob:input_type -> dm.DeleteJobReq
	34, // 36: dm.Service.OperateJob:input_type -> dm.OperateJobReq
	48, // 37: dm.Service.GetSourceTables:input_type -> dataflow.ValidateRemoteDBConnectivityReq
	37, // 38: dm.Service.CancelPrecheck:input_type -> dm.CancelPrecheckReq
	10, // 39: dm.Service.GetPrecheck:input_type -> dm.GetPrecheckJobReq
	12, // 40: dm.Service.ListPrechecks:input_type -> dm.ListPrechecksReq
	35, // 41: dm.Service.GetQuota:input_type -> dm.GetQuotaReq
	38, // 42: dm.Service.GetCost:input_type -> dm.GetCostReq
	40, // 43: dm.Service.ScaleUpDownJob:input_type -> dm.ScaleUpDownJobReq
	6,  // 44: dm.Service.GetSupportedSources:output_type -> dm.GetSupportedSourcesResp
	8,  // 45: dm.Service.ListJobSpecs:output_type -> dm.ListJobSpecsResp
	15, // 46: dm.Service.PrecheckJob:output_type -> dm.CreateJobResp
	15, // 47: dm.Service.CreateJob:output_type -> dm.CreateJobResp
	29, // 48: dm.Service.GetJob:output_type -> dm.GetJobResp
	31, // 49: dm.Service.ListJobs:output_type -> dm.ListJobsResp
	47, // 50: dm.Service.UpdateJob:output_type -> google.protobuf.Empty
	47, // 51: dm.Service.DeleteJob:output_type -> google.protobuf.Empty
	47, // 52: dm.Service.OperateJob:output_type -> google.protobuf.Empty
	49, // 53: dm.Service.GetSourceTables:output_type -> agent.GetSourceTablesResp
	47, // 54: dm.Service.CancelPrecheck:output_type -> google.protobuf.Empty
	11, // 55: dm.Service.GetPrecheck:output_type -> dm.GetPrecheckJobResp
	14, // 56: dm.Service.ListPrechecks:output_type -> dm.ListPrechecksResp
	36, // 57: dm.Service.GetQuota:output_type -> dm.GetQuotaResp
	39, // 58: dm.Service.GetCost:output_type -> dm.GetCostResp
	47, // 59: dm.Service.ScaleUpDownJob:output_type -> google.protobuf.Empty
	44, // [44:60] is the sub-list for method output_type
	28, // [28:44] is the sub-list for method input_type
	28, // [28:28] is the sub-list for extension type_name
	28, // [28:28] is the sub-list for extension extendee
	0,  // [0:28] is the sub-list for field type_name
}

func init() { file_dm_dm_proto_init() }
func file_dm_dm_proto_init() {
	if File_dm_dm_proto != nil {
		return
	}
	file_dm_dm_proto_msgTypes[15].OneofWrappers = []any{}
	file_dm_dm_proto_msgTypes[16].OneofWrappers = []any{}
	file_dm_dm_proto_msgTypes[23].OneofWrappers = []any{}
	file_dm_dm_proto_msgTypes[35].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_dm_dm_proto_rawDesc), len(file_dm_dm_proto_rawDesc)),
			NumEnums:      4,
			NumMessages:   39,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_dm_dm_proto_goTypes,
		DependencyIndexes: file_dm_dm_proto_depIdxs,
		EnumInfos:         file_dm_dm_proto_enumTypes,
		MessageInfos:      file_dm_dm_proto_msgTypes,
	}.Build()
	File_dm_dm_proto = out.File
	file_dm_dm_proto_goTypes = nil
	file_dm_dm_proto_depIdxs = nil
}
