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

package dm

import (
	context "context"
	agent "github.com/tidbcloud/dataflow-service/idl/pbgen/proto/agent"
	dataflow "github.com/tidbcloud/dataflow-service/idl/pbgen/proto/dataflow"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
)

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.32.0 or later.
const _ = grpc.SupportPackageIsVersion7

const (
	Service_GetSupportedSources_FullMethodName = "/dm.Service/GetSupportedSources"
	Service_ListJobSpecs_FullMethodName        = "/dm.Service/ListJobSpecs"
	Service_PrecheckJob_FullMethodName         = "/dm.Service/PrecheckJob"
	Service_CreateJob_FullMethodName           = "/dm.Service/CreateJob"
	Service_GetJob_FullMethodName              = "/dm.Service/GetJob"
	Service_ListJobs_FullMethodName            = "/dm.Service/ListJobs"
	Service_UpdateJob_FullMethodName           = "/dm.Service/UpdateJob"
	Service_DeleteJob_FullMethodName           = "/dm.Service/DeleteJob"
	Service_OperateJob_FullMethodName          = "/dm.Service/OperateJob"
	Service_GetSourceTables_FullMethodName     = "/dm.Service/GetSourceTables"
	Service_CancelPrecheck_FullMethodName      = "/dm.Service/CancelPrecheck"
	Service_GetPrecheck_FullMethodName         = "/dm.Service/GetPrecheck"
	Service_ListPrechecks_FullMethodName       = "/dm.Service/ListPrechecks"
	Service_GetQuota_FullMethodName            = "/dm.Service/GetQuota"
	Service_GetCost_FullMethodName             = "/dm.Service/GetCost"
	Service_ScaleUpDownJob_FullMethodName      = "/dm.Service/ScaleUpDownJob"
)

// ServiceClient is the client API for Service service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
type ServiceClient interface {
	// supported upstream/downstream db types
	GetSupportedSources(ctx context.Context, in *GetSupportedSourcesReq, opts ...grpc.CallOption) (*GetSupportedSourcesResp, error)
	ListJobSpecs(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ListJobSpecsResp, error)
	// re-use the param of CreateJob
	PrecheckJob(ctx context.Context, in *CreateJobReq, opts ...grpc.CallOption) (*CreateJobResp, error)
	CreateJob(ctx context.Context, in *CreateJobReq, opts ...grpc.CallOption) (*CreateJobResp, error)
	GetJob(ctx context.Context, in *GetJobReq, opts ...grpc.CallOption) (*GetJobResp, error)
	ListJobs(ctx context.Context, in *ListJobsReq, opts ...grpc.CallOption) (*ListJobsResp, error)
	UpdateJob(ctx context.Context, in *UpdateJobReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	DeleteJob(ctx context.Context, in *DeleteJobReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// used to operate job status, i.e. pause/resume job
	OperateJob(ctx context.Context, in *OperateJobReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	GetSourceTables(ctx context.Context, in *dataflow.ValidateRemoteDBConnectivityReq, opts ...grpc.CallOption) (*agent.GetSourceTablesResp, error)
	CancelPrecheck(ctx context.Context, in *CancelPrecheckReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	GetPrecheck(ctx context.Context, in *GetPrecheckJobReq, opts ...grpc.CallOption) (*GetPrecheckJobResp, error)
	// ListPrechecks lists precheck history records of a cluster in
	// reverse-chronological order. Lightweight summaries only; per-item details
	// are fetched via GetPrecheck.
	ListPrechecks(ctx context.Context, in *ListPrechecksReq, opts ...grpc.CallOption) (*ListPrechecksResp, error)
	GetQuota(ctx context.Context, in *GetQuotaReq, opts ...grpc.CallOption) (*GetQuotaResp, error)
	GetCost(ctx context.Context, in *GetCostReq, opts ...grpc.CallOption) (*GetCostResp, error)
	ScaleUpDownJob(ctx context.Context, in *ScaleUpDownJobReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
}

type serviceClient struct {
	cc grpc.ClientConnInterface
}

func NewServiceClient(cc grpc.ClientConnInterface) ServiceClient {
	return &serviceClient{cc}
}

func (c *serviceClient) GetSupportedSources(ctx context.Context, in *GetSupportedSourcesReq, opts ...grpc.CallOption) (*GetSupportedSourcesResp, error) {
	out := new(GetSupportedSourcesResp)
	err := c.cc.Invoke(ctx, Service_GetSupportedSources_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) ListJobSpecs(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*ListJobSpecsResp, error) {
	out := new(ListJobSpecsResp)
	err := c.cc.Invoke(ctx, Service_ListJobSpecs_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) PrecheckJob(ctx context.Context, in *CreateJobReq, opts ...grpc.CallOption) (*CreateJobResp, error) {
	out := new(CreateJobResp)
	err := c.cc.Invoke(ctx, Service_PrecheckJob_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) CreateJob(ctx context.Context, in *CreateJobReq, opts ...grpc.CallOption) (*CreateJobResp, error) {
	out := new(CreateJobResp)
	err := c.cc.Invoke(ctx, Service_CreateJob_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) GetJob(ctx context.Context, in *GetJobReq, opts ...grpc.CallOption) (*GetJobResp, error) {
	out := new(GetJobResp)
	err := c.cc.Invoke(ctx, Service_GetJob_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) ListJobs(ctx context.Context, in *ListJobsReq, opts ...grpc.CallOption) (*ListJobsResp, error) {
	out := new(ListJobsResp)
	err := c.cc.Invoke(ctx, Service_ListJobs_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) UpdateJob(ctx context.Context, in *UpdateJobReq, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, Service_UpdateJob_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) DeleteJob(ctx context.Context, in *DeleteJobReq, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, Service_DeleteJob_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) OperateJob(ctx context.Context, in *OperateJobReq, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, Service_OperateJob_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) GetSourceTables(ctx context.Context, in *dataflow.ValidateRemoteDBConnectivityReq, opts ...grpc.CallOption) (*agent.GetSourceTablesResp, error) {
	out := new(agent.GetSourceTablesResp)
	err := c.cc.Invoke(ctx, Service_GetSourceTables_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) CancelPrecheck(ctx context.Context, in *CancelPrecheckReq, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, Service_CancelPrecheck_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) GetPrecheck(ctx context.Context, in *GetPrecheckJobReq, opts ...grpc.CallOption) (*GetPrecheckJobResp, error) {
	out := new(GetPrecheckJobResp)
	err := c.cc.Invoke(ctx, Service_GetPrecheck_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) ListPrechecks(ctx context.Context, in *ListPrechecksReq, opts ...grpc.CallOption) (*ListPrechecksResp, error) {
	out := new(ListPrechecksResp)
	err := c.cc.Invoke(ctx, Service_ListPrechecks_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) GetQuota(ctx context.Context, in *GetQuotaReq, opts ...grpc.CallOption) (*GetQuotaResp, error) {
	out := new(GetQuotaResp)
	err := c.cc.Invoke(ctx, Service_GetQuota_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) GetCost(ctx context.Context, in *GetCostReq, opts ...grpc.CallOption) (*GetCostResp, error) {
	out := new(GetCostResp)
	err := c.cc.Invoke(ctx, Service_GetCost_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *serviceClient) ScaleUpDownJob(ctx context.Context, in *ScaleUpDownJobReq, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, Service_ScaleUpDownJob_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// ServiceServer is the server API for Service service.
// All implementations must embed UnimplementedServiceServer
// for forward compatibility
type ServiceServer interface {
	// supported upstream/downstream db types
	GetSupportedSources(context.Context, *GetSupportedSourcesReq) (*GetSupportedSourcesResp, error)
	ListJobSpecs(context.Context, *emptypb.Empty) (*ListJobSpecsResp, error)
	// re-use the param of CreateJob
	PrecheckJob(context.Context, *CreateJobReq) (*CreateJobResp, error)
	CreateJob(context.Context, *CreateJobReq) (*CreateJobResp, error)
	GetJob(context.Context, *GetJobReq) (*GetJobResp, error)
	ListJobs(context.Context, *ListJobsReq) (*ListJobsResp, error)
	UpdateJob(context.Context, *UpdateJobReq) (*emptypb.Empty, error)
	DeleteJob(context.Context, *DeleteJobReq) (*emptypb.Empty, error)
	// used to operate job status, i.e. pause/resume job
	OperateJob(context.Context, *OperateJobReq) (*emptypb.Empty, error)
	GetSourceTables(context.Context, *dataflow.ValidateRemoteDBConnectivityReq) (*agent.GetSourceTablesResp, error)
	CancelPrecheck(context.Context, *CancelPrecheckReq) (*emptypb.Empty, error)
	GetPrecheck(context.Context, *GetPrecheckJobReq) (*GetPrecheckJobResp, error)
	// ListPrechecks lists precheck history records of a cluster in
	// reverse-chronological order. Lightweight summaries only; per-item details
	// are fetched via GetPrecheck.
	ListPrechecks(context.Context, *ListPrechecksReq) (*ListPrechecksResp, error)
	GetQuota(context.Context, *GetQuotaReq) (*GetQuotaResp, error)
	GetCost(context.Context, *GetCostReq) (*GetCostResp, error)
	ScaleUpDownJob(context.Context, *ScaleUpDownJobReq) (*emptypb.Empty, error)
	mustEmbedUnimplementedServiceServer()
}

// UnimplementedServiceServer must be embedded to have forward compatible implementations.
type UnimplementedServiceServer struct {
}

func (UnimplementedServiceServer) GetSupportedSources(context.Context, *GetSupportedSourcesReq) (*GetSupportedSourcesResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetSupportedSources not implemented")
}
func (UnimplementedServiceServer) ListJobSpecs(context.Context, *emptypb.Empty) (*ListJobSpecsResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListJobSpecs not implemented")
}
func (UnimplementedServiceServer) PrecheckJob(context.Context, *CreateJobReq) (*CreateJobResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PrecheckJob not implemented")
}
func (UnimplementedServiceServer) CreateJob(context.Context, *CreateJobReq) (*CreateJobResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateJob not implemented")
}
func (UnimplementedServiceServer) GetJob(context.Context, *GetJobReq) (*GetJobResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetJob not implemented")
}
func (UnimplementedServiceServer) ListJobs(context.Context, *ListJobsReq) (*ListJobsResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListJobs not implemented")
}
func (UnimplementedServiceServer) UpdateJob(context.Context, *UpdateJobReq) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateJob not implemented")
}
func (UnimplementedServiceServer) DeleteJob(context.Context, *DeleteJobReq) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteJob not implemented")
}
func (UnimplementedServiceServer) OperateJob(context.Context, *OperateJobReq) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method OperateJob not implemented")
}
func (UnimplementedServiceServer) GetSourceTables(context.Context, *dataflow.ValidateRemoteDBConnectivityReq) (*agent.GetSourceTablesResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetSourceTables not implemented")
}
func (UnimplementedServiceServer) CancelPrecheck(context.Context, *CancelPrecheckReq) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CancelPrecheck not implemented")
}
func (UnimplementedServiceServer) GetPrecheck(context.Context, *GetPrecheckJobReq) (*GetPrecheckJobResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetPrecheck not implemented")
}
func (UnimplementedServiceServer) ListPrechecks(context.Context, *ListPrechecksReq) (*ListPrechecksResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListPrechecks not implemented")
}
func (UnimplementedServiceServer) GetQuota(context.Context, *GetQuotaReq) (*GetQuotaResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetQuota not implemented")
}
func (UnimplementedServiceServer) GetCost(context.Context, *GetCostReq) (*GetCostResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetCost not implemented")
}
func (UnimplementedServiceServer) ScaleUpDownJob(context.Context, *ScaleUpDownJobReq) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ScaleUpDownJob not implemented")
}
func (UnimplementedServiceServer) mustEmbedUnimplementedServiceServer() {}

// UnsafeServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to ServiceServer will
// result in compilation errors.
type UnsafeServiceServer interface {
	mustEmbedUnimplementedServiceServer()
}

func RegisterServiceServer(s grpc.ServiceRegistrar, srv ServiceServer) {
	s.RegisterService(&Service_ServiceDesc, srv)
}

func _Service_GetSupportedSources_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetSupportedSourcesReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).GetSupportedSources(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_GetSupportedSources_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).GetSupportedSources(ctx, req.(*GetSupportedSourcesReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_ListJobSpecs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(emptypb.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).ListJobSpecs(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_ListJobSpecs_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).ListJobSpecs(ctx, req.(*emptypb.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_PrecheckJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateJobReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).PrecheckJob(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_PrecheckJob_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).PrecheckJob(ctx, req.(*CreateJobReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_CreateJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateJobReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).CreateJob(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_CreateJob_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).CreateJob(ctx, req.(*CreateJobReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_GetJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetJobReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).GetJob(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_GetJob_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).GetJob(ctx, req.(*GetJobReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_ListJobs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListJobsReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).ListJobs(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_ListJobs_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).ListJobs(ctx, req.(*ListJobsReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_UpdateJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateJobReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).UpdateJob(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_UpdateJob_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).UpdateJob(ctx, req.(*UpdateJobReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_DeleteJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteJobReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).DeleteJob(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_DeleteJob_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).DeleteJob(ctx, req.(*DeleteJobReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_OperateJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(OperateJobReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).OperateJob(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_OperateJob_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).OperateJob(ctx, req.(*OperateJobReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_GetSourceTables_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(dataflow.ValidateRemoteDBConnectivityReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).GetSourceTables(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_GetSourceTables_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).GetSourceTables(ctx, req.(*dataflow.ValidateRemoteDBConnectivityReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_CancelPrecheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CancelPrecheckReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).CancelPrecheck(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_CancelPrecheck_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).CancelPrecheck(ctx, req.(*CancelPrecheckReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_GetPrecheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetPrecheckJobReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).GetPrecheck(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_GetPrecheck_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).GetPrecheck(ctx, req.(*GetPrecheckJobReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_ListPrechecks_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListPrechecksReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).ListPrechecks(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_ListPrechecks_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).ListPrechecks(ctx, req.(*ListPrechecksReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_GetQuota_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetQuotaReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).GetQuota(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_GetQuota_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).GetQuota(ctx, req.(*GetQuotaReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_GetCost_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetCostReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).GetCost(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_GetCost_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).GetCost(ctx, req.(*GetCostReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _Service_ScaleUpDownJob_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ScaleUpDownJobReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ServiceServer).ScaleUpDownJob(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: Service_ScaleUpDownJob_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ServiceServer).ScaleUpDownJob(ctx, req.(*ScaleUpDownJobReq))
	}
	return interceptor(ctx, in, info, handler)
}

// Service_ServiceDesc is the grpc.ServiceDesc for Service service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var Service_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "dm.Service",
	HandlerType: (*ServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetSupportedSources",
			Handler:    _Service_GetSupportedSources_Handler,
		},
		{
			MethodName: "ListJobSpecs",
			Handler:    _Service_ListJobSpecs_Handler,
		},
		{
			MethodName: "PrecheckJob",
			Handler:    _Service_PrecheckJob_Handler,
		},
		{
			MethodName: "CreateJob",
			Handler:    _Service_CreateJob_Handler,
		},
		{
			MethodName: "GetJob",
			Handler:    _Service_GetJob_Handler,
		},
		{
			MethodName: "ListJobs",
			Handler:    _Service_ListJobs_Handler,
		},
		{
			MethodName: "UpdateJob",
			Handler:    _Service_UpdateJob_Handler,
		},
		{
			MethodName: "DeleteJob",
			Handler:    _Service_DeleteJob_Handler,
		},
		{
			MethodName: "OperateJob",
			Handler:    _Service_OperateJob_Handler,
		},
		{
			MethodName: "GetSourceTables",
			Handler:    _Service_GetSourceTables_Handler,
		},
		{
			MethodName: "CancelPrecheck",
			Handler:    _Service_CancelPrecheck_Handler,
		},
		{
			MethodName: "GetPrecheck",
			Handler:    _Service_GetPrecheck_Handler,
		},
		{
			MethodName: "ListPrechecks",
			Handler:    _Service_ListPrechecks_Handler,
		},
		{
			MethodName: "GetQuota",
			Handler:    _Service_GetQuota_Handler,
		},
		{
			MethodName: "GetCost",
			Handler:    _Service_GetCost_Handler,
		},
		{
			MethodName: "ScaleUpDownJob",
			Handler:    _Service_ScaleUpDownJob_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "dm/dm.proto",
}
