// Code generated by protoc-gen-go-grpc. DO NOT EDIT.

package cluster

import (
	context "context"
	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

// ClusterServiceClient is the client API for ClusterService 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 ClusterServiceClient interface {
	Profiles(ctx context.Context, in *ProfileReq, opts ...grpc.CallOption) (*Profile, error)
	Get(ctx context.Context, in *ClusterGetReq, opts ...grpc.CallOption) (*Cluster, error)
	GetDeletedCluster(ctx context.Context, in *ClusterIdReq, opts ...grpc.CallOption) (*DeletedCluster, error)
	GetTiDBNodes(ctx context.Context, in *TiDBNodesReq, opts ...grpc.CallOption) (*TiDBNodes, error)
	GetTiKVNodes(ctx context.Context, in *TiKVNodesReq, opts ...grpc.CallOption) (*TiKVNodes, error)
	GetTiFlashNodes(ctx context.Context, in *TiFlashNodesReq, opts ...grpc.CallOption) (*TiFlashNodes, error)
	List(ctx context.Context, in *ClusterListReq, opts ...grpc.CallOption) (*Clusters, error)
	ListDeletedClusters(ctx context.Context, in *ClusterListReq, opts ...grpc.CallOption) (*DeletedClusters, error)
	Create(ctx context.Context, in *ClusterCreateReq, opts ...grpc.CallOption) (*ClusterId, error)
	Delete(ctx context.Context, in *ClusterIdReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	ChangePassword(ctx context.Context, in *ChangePasswordReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	SendPasswordVerifyCode(ctx context.Context, in *SendPasswordVerifyCodeReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	ChangeClusterName(ctx context.Context, in *ChangeClusterNameReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	ScaleComponent(ctx context.Context, in *ScaleComponentReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	CreateAWSVpcPeering(ctx context.Context, in *CreateAWSVpcPeeringReq, opts ...grpc.CallOption) (*CreateAWSVpcPeeringResp, error)
	CreateGcpVpcPeering(ctx context.Context, in *CreateGcpVpcPeeringReq, opts ...grpc.CallOption) (*CreateAGcpVpcPeeringResp, error)
	ListAwsVpcPeerings(ctx context.Context, in *ProjectIdReq, opts ...grpc.CallOption) (*AwsVpcPeerings, error)
	ListGcpVpcPeerings(ctx context.Context, in *ProjectIdReq, opts ...grpc.CallOption) (*GcpVpcPeerings, error)
	GetAwsVpcPeering(ctx context.Context, in *RegionNameAndProjectId, opts ...grpc.CallOption) (*AwsVpcPeering, error)
	GetGcpVpcPeering(ctx context.Context, in *RegionNameAndProjectId, opts ...grpc.CallOption) (*GcpVpcPeering, error)
	DeleteAwsVpcPeering(ctx context.Context, in *RegionNameAndProjectId, opts ...grpc.CallOption) (*emptypb.Empty, error)
	DeleteGcpVpcPeering(ctx context.Context, in *RegionNameAndProjectId, opts ...grpc.CallOption) (*emptypb.Empty, error)
	CreatePrivateEndpoint(ctx context.Context, in *ClusterIdReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	GetTrafficFilter(ctx context.Context, in *ClusterIdReq, opts ...grpc.CallOption) (*TrafficFilterResp, error)
	UpdateTrafficFilter(ctx context.Context, in *UpdateTrafficFilterReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	GetPrivateEndpoint(ctx context.Context, in *ClusterIdReq, opts ...grpc.CallOption) (*GetPrivateEndpointResp, error)
}

type clusterServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewClusterServiceClient(cc grpc.ClientConnInterface) ClusterServiceClient {
	return &clusterServiceClient{cc}
}

func (c *clusterServiceClient) Profiles(ctx context.Context, in *ProfileReq, opts ...grpc.CallOption) (*Profile, error) {
	out := new(Profile)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/Profiles", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) Get(ctx context.Context, in *ClusterGetReq, opts ...grpc.CallOption) (*Cluster, error) {
	out := new(Cluster)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/Get", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) GetDeletedCluster(ctx context.Context, in *ClusterIdReq, opts ...grpc.CallOption) (*DeletedCluster, error) {
	out := new(DeletedCluster)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/GetDeletedCluster", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) GetTiDBNodes(ctx context.Context, in *TiDBNodesReq, opts ...grpc.CallOption) (*TiDBNodes, error) {
	out := new(TiDBNodes)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/GetTiDBNodes", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) GetTiKVNodes(ctx context.Context, in *TiKVNodesReq, opts ...grpc.CallOption) (*TiKVNodes, error) {
	out := new(TiKVNodes)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/GetTiKVNodes", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) GetTiFlashNodes(ctx context.Context, in *TiFlashNodesReq, opts ...grpc.CallOption) (*TiFlashNodes, error) {
	out := new(TiFlashNodes)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/GetTiFlashNodes", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) List(ctx context.Context, in *ClusterListReq, opts ...grpc.CallOption) (*Clusters, error) {
	out := new(Clusters)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/List", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) ListDeletedClusters(ctx context.Context, in *ClusterListReq, opts ...grpc.CallOption) (*DeletedClusters, error) {
	out := new(DeletedClusters)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/ListDeletedClusters", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) Create(ctx context.Context, in *ClusterCreateReq, opts ...grpc.CallOption) (*ClusterId, error) {
	out := new(ClusterId)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/Create", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) Delete(ctx context.Context, in *ClusterIdReq, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/Delete", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) ChangePassword(ctx context.Context, in *ChangePasswordReq, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/ChangePassword", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) SendPasswordVerifyCode(ctx context.Context, in *SendPasswordVerifyCodeReq, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/SendPasswordVerifyCode", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) ChangeClusterName(ctx context.Context, in *ChangeClusterNameReq, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/ChangeClusterName", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) ScaleComponent(ctx context.Context, in *ScaleComponentReq, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/ScaleComponent", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) CreateAWSVpcPeering(ctx context.Context, in *CreateAWSVpcPeeringReq, opts ...grpc.CallOption) (*CreateAWSVpcPeeringResp, error) {
	out := new(CreateAWSVpcPeeringResp)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/CreateAWSVpcPeering", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) CreateGcpVpcPeering(ctx context.Context, in *CreateGcpVpcPeeringReq, opts ...grpc.CallOption) (*CreateAGcpVpcPeeringResp, error) {
	out := new(CreateAGcpVpcPeeringResp)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/CreateGcpVpcPeering", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) ListAwsVpcPeerings(ctx context.Context, in *ProjectIdReq, opts ...grpc.CallOption) (*AwsVpcPeerings, error) {
	out := new(AwsVpcPeerings)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/ListAwsVpcPeerings", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) ListGcpVpcPeerings(ctx context.Context, in *ProjectIdReq, opts ...grpc.CallOption) (*GcpVpcPeerings, error) {
	out := new(GcpVpcPeerings)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/ListGcpVpcPeerings", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) GetAwsVpcPeering(ctx context.Context, in *RegionNameAndProjectId, opts ...grpc.CallOption) (*AwsVpcPeering, error) {
	out := new(AwsVpcPeering)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/GetAwsVpcPeering", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) GetGcpVpcPeering(ctx context.Context, in *RegionNameAndProjectId, opts ...grpc.CallOption) (*GcpVpcPeering, error) {
	out := new(GcpVpcPeering)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/GetGcpVpcPeering", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) DeleteAwsVpcPeering(ctx context.Context, in *RegionNameAndProjectId, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/DeleteAwsVpcPeering", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) DeleteGcpVpcPeering(ctx context.Context, in *RegionNameAndProjectId, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/DeleteGcpVpcPeering", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) CreatePrivateEndpoint(ctx context.Context, in *ClusterIdReq, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/CreatePrivateEndpoint", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) GetTrafficFilter(ctx context.Context, in *ClusterIdReq, opts ...grpc.CallOption) (*TrafficFilterResp, error) {
	out := new(TrafficFilterResp)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/GetTrafficFilter", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) UpdateTrafficFilter(ctx context.Context, in *UpdateTrafficFilterReq, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/UpdateTrafficFilter", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) GetPrivateEndpoint(ctx context.Context, in *ClusterIdReq, opts ...grpc.CallOption) (*GetPrivateEndpointResp, error) {
	out := new(GetPrivateEndpointResp)
	err := c.cc.Invoke(ctx, "/cluster.ClusterService/GetPrivateEndpoint", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// ClusterServiceServer is the server API for ClusterService service.
// All implementations must embed UnimplementedClusterServiceServer
// for forward compatibility
type ClusterServiceServer interface {
	Profiles(context.Context, *ProfileReq) (*Profile, error)
	Get(context.Context, *ClusterGetReq) (*Cluster, error)
	GetDeletedCluster(context.Context, *ClusterIdReq) (*DeletedCluster, error)
	GetTiDBNodes(context.Context, *TiDBNodesReq) (*TiDBNodes, error)
	GetTiKVNodes(context.Context, *TiKVNodesReq) (*TiKVNodes, error)
	GetTiFlashNodes(context.Context, *TiFlashNodesReq) (*TiFlashNodes, error)
	List(context.Context, *ClusterListReq) (*Clusters, error)
	ListDeletedClusters(context.Context, *ClusterListReq) (*DeletedClusters, error)
	Create(context.Context, *ClusterCreateReq) (*ClusterId, error)
	Delete(context.Context, *ClusterIdReq) (*emptypb.Empty, error)
	ChangePassword(context.Context, *ChangePasswordReq) (*emptypb.Empty, error)
	SendPasswordVerifyCode(context.Context, *SendPasswordVerifyCodeReq) (*emptypb.Empty, error)
	ChangeClusterName(context.Context, *ChangeClusterNameReq) (*emptypb.Empty, error)
	ScaleComponent(context.Context, *ScaleComponentReq) (*emptypb.Empty, error)
	CreateAWSVpcPeering(context.Context, *CreateAWSVpcPeeringReq) (*CreateAWSVpcPeeringResp, error)
	CreateGcpVpcPeering(context.Context, *CreateGcpVpcPeeringReq) (*CreateAGcpVpcPeeringResp, error)
	ListAwsVpcPeerings(context.Context, *ProjectIdReq) (*AwsVpcPeerings, error)
	ListGcpVpcPeerings(context.Context, *ProjectIdReq) (*GcpVpcPeerings, error)
	GetAwsVpcPeering(context.Context, *RegionNameAndProjectId) (*AwsVpcPeering, error)
	GetGcpVpcPeering(context.Context, *RegionNameAndProjectId) (*GcpVpcPeering, error)
	DeleteAwsVpcPeering(context.Context, *RegionNameAndProjectId) (*emptypb.Empty, error)
	DeleteGcpVpcPeering(context.Context, *RegionNameAndProjectId) (*emptypb.Empty, error)
	CreatePrivateEndpoint(context.Context, *ClusterIdReq) (*emptypb.Empty, error)
	GetTrafficFilter(context.Context, *ClusterIdReq) (*TrafficFilterResp, error)
	UpdateTrafficFilter(context.Context, *UpdateTrafficFilterReq) (*emptypb.Empty, error)
	GetPrivateEndpoint(context.Context, *ClusterIdReq) (*GetPrivateEndpointResp, error)
	mustEmbedUnimplementedClusterServiceServer()
}

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

func (UnimplementedClusterServiceServer) Profiles(context.Context, *ProfileReq) (*Profile, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Profiles not implemented")
}
func (UnimplementedClusterServiceServer) Get(context.Context, *ClusterGetReq) (*Cluster, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Get not implemented")
}
func (UnimplementedClusterServiceServer) GetDeletedCluster(context.Context, *ClusterIdReq) (*DeletedCluster, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetDeletedCluster not implemented")
}
func (UnimplementedClusterServiceServer) GetTiDBNodes(context.Context, *TiDBNodesReq) (*TiDBNodes, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetTiDBNodes not implemented")
}
func (UnimplementedClusterServiceServer) GetTiKVNodes(context.Context, *TiKVNodesReq) (*TiKVNodes, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetTiKVNodes not implemented")
}
func (UnimplementedClusterServiceServer) GetTiFlashNodes(context.Context, *TiFlashNodesReq) (*TiFlashNodes, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetTiFlashNodes not implemented")
}
func (UnimplementedClusterServiceServer) List(context.Context, *ClusterListReq) (*Clusters, error) {
	return nil, status.Errorf(codes.Unimplemented, "method List not implemented")
}
func (UnimplementedClusterServiceServer) ListDeletedClusters(context.Context, *ClusterListReq) (*DeletedClusters, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListDeletedClusters not implemented")
}
func (UnimplementedClusterServiceServer) Create(context.Context, *ClusterCreateReq) (*ClusterId, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Create not implemented")
}
func (UnimplementedClusterServiceServer) Delete(context.Context, *ClusterIdReq) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented")
}
func (UnimplementedClusterServiceServer) ChangePassword(context.Context, *ChangePasswordReq) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ChangePassword not implemented")
}
func (UnimplementedClusterServiceServer) SendPasswordVerifyCode(context.Context, *SendPasswordVerifyCodeReq) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SendPasswordVerifyCode not implemented")
}
func (UnimplementedClusterServiceServer) ChangeClusterName(context.Context, *ChangeClusterNameReq) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ChangeClusterName not implemented")
}
func (UnimplementedClusterServiceServer) ScaleComponent(context.Context, *ScaleComponentReq) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ScaleComponent not implemented")
}
func (UnimplementedClusterServiceServer) CreateAWSVpcPeering(context.Context, *CreateAWSVpcPeeringReq) (*CreateAWSVpcPeeringResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateAWSVpcPeering not implemented")
}
func (UnimplementedClusterServiceServer) CreateGcpVpcPeering(context.Context, *CreateGcpVpcPeeringReq) (*CreateAGcpVpcPeeringResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateGcpVpcPeering not implemented")
}
func (UnimplementedClusterServiceServer) ListAwsVpcPeerings(context.Context, *ProjectIdReq) (*AwsVpcPeerings, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListAwsVpcPeerings not implemented")
}
func (UnimplementedClusterServiceServer) ListGcpVpcPeerings(context.Context, *ProjectIdReq) (*GcpVpcPeerings, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListGcpVpcPeerings not implemented")
}
func (UnimplementedClusterServiceServer) GetAwsVpcPeering(context.Context, *RegionNameAndProjectId) (*AwsVpcPeering, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetAwsVpcPeering not implemented")
}
func (UnimplementedClusterServiceServer) GetGcpVpcPeering(context.Context, *RegionNameAndProjectId) (*GcpVpcPeering, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetGcpVpcPeering not implemented")
}
func (UnimplementedClusterServiceServer) DeleteAwsVpcPeering(context.Context, *RegionNameAndProjectId) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteAwsVpcPeering not implemented")
}
func (UnimplementedClusterServiceServer) DeleteGcpVpcPeering(context.Context, *RegionNameAndProjectId) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteGcpVpcPeering not implemented")
}
func (UnimplementedClusterServiceServer) CreatePrivateEndpoint(context.Context, *ClusterIdReq) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreatePrivateEndpoint not implemented")
}
func (UnimplementedClusterServiceServer) GetTrafficFilter(context.Context, *ClusterIdReq) (*TrafficFilterResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetTrafficFilter not implemented")
}
func (UnimplementedClusterServiceServer) UpdateTrafficFilter(context.Context, *UpdateTrafficFilterReq) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateTrafficFilter not implemented")
}
func (UnimplementedClusterServiceServer) GetPrivateEndpoint(context.Context, *ClusterIdReq) (*GetPrivateEndpointResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetPrivateEndpoint not implemented")
}
func (UnimplementedClusterServiceServer) mustEmbedUnimplementedClusterServiceServer() {}

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

func RegisterClusterServiceServer(s grpc.ServiceRegistrar, srv ClusterServiceServer) {
	s.RegisterService(&ClusterService_ServiceDesc, srv)
}

func _ClusterService_Profiles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ProfileReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).Profiles(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/Profiles",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).Profiles(ctx, req.(*ProfileReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ClusterGetReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).Get(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/Get",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).Get(ctx, req.(*ClusterGetReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_GetDeletedCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ClusterIdReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).GetDeletedCluster(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/GetDeletedCluster",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).GetDeletedCluster(ctx, req.(*ClusterIdReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_GetTiDBNodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(TiDBNodesReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).GetTiDBNodes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/GetTiDBNodes",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).GetTiDBNodes(ctx, req.(*TiDBNodesReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_GetTiKVNodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(TiKVNodesReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).GetTiKVNodes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/GetTiKVNodes",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).GetTiKVNodes(ctx, req.(*TiKVNodesReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_GetTiFlashNodes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(TiFlashNodesReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).GetTiFlashNodes(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/GetTiFlashNodes",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).GetTiFlashNodes(ctx, req.(*TiFlashNodesReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_List_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ClusterListReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).List(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/List",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).List(ctx, req.(*ClusterListReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_ListDeletedClusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ClusterListReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).ListDeletedClusters(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/ListDeletedClusters",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).ListDeletedClusters(ctx, req.(*ClusterListReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_Create_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ClusterCreateReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).Create(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/Create",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).Create(ctx, req.(*ClusterCreateReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ClusterIdReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).Delete(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/Delete",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).Delete(ctx, req.(*ClusterIdReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_ChangePassword_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ChangePasswordReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).ChangePassword(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/ChangePassword",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).ChangePassword(ctx, req.(*ChangePasswordReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_SendPasswordVerifyCode_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SendPasswordVerifyCodeReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).SendPasswordVerifyCode(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/SendPasswordVerifyCode",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).SendPasswordVerifyCode(ctx, req.(*SendPasswordVerifyCodeReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_ChangeClusterName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ChangeClusterNameReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).ChangeClusterName(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/ChangeClusterName",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).ChangeClusterName(ctx, req.(*ChangeClusterNameReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_ScaleComponent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ScaleComponentReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).ScaleComponent(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/ScaleComponent",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).ScaleComponent(ctx, req.(*ScaleComponentReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_CreateAWSVpcPeering_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateAWSVpcPeeringReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).CreateAWSVpcPeering(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/CreateAWSVpcPeering",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).CreateAWSVpcPeering(ctx, req.(*CreateAWSVpcPeeringReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_CreateGcpVpcPeering_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateGcpVpcPeeringReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).CreateGcpVpcPeering(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/CreateGcpVpcPeering",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).CreateGcpVpcPeering(ctx, req.(*CreateGcpVpcPeeringReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_ListAwsVpcPeerings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ProjectIdReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).ListAwsVpcPeerings(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/ListAwsVpcPeerings",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).ListAwsVpcPeerings(ctx, req.(*ProjectIdReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_ListGcpVpcPeerings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ProjectIdReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).ListGcpVpcPeerings(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/ListGcpVpcPeerings",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).ListGcpVpcPeerings(ctx, req.(*ProjectIdReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_GetAwsVpcPeering_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RegionNameAndProjectId)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).GetAwsVpcPeering(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/GetAwsVpcPeering",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).GetAwsVpcPeering(ctx, req.(*RegionNameAndProjectId))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_GetGcpVpcPeering_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RegionNameAndProjectId)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).GetGcpVpcPeering(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/GetGcpVpcPeering",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).GetGcpVpcPeering(ctx, req.(*RegionNameAndProjectId))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_DeleteAwsVpcPeering_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RegionNameAndProjectId)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).DeleteAwsVpcPeering(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/DeleteAwsVpcPeering",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).DeleteAwsVpcPeering(ctx, req.(*RegionNameAndProjectId))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_DeleteGcpVpcPeering_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RegionNameAndProjectId)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).DeleteGcpVpcPeering(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/DeleteGcpVpcPeering",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).DeleteGcpVpcPeering(ctx, req.(*RegionNameAndProjectId))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_CreatePrivateEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ClusterIdReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).CreatePrivateEndpoint(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/CreatePrivateEndpoint",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).CreatePrivateEndpoint(ctx, req.(*ClusterIdReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_GetTrafficFilter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ClusterIdReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).GetTrafficFilter(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/GetTrafficFilter",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).GetTrafficFilter(ctx, req.(*ClusterIdReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_UpdateTrafficFilter_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateTrafficFilterReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).UpdateTrafficFilter(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/UpdateTrafficFilter",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).UpdateTrafficFilter(ctx, req.(*UpdateTrafficFilterReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_GetPrivateEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ClusterIdReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).GetPrivateEndpoint(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/cluster.ClusterService/GetPrivateEndpoint",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).GetPrivateEndpoint(ctx, req.(*ClusterIdReq))
	}
	return interceptor(ctx, in, info, handler)
}

// ClusterService_ServiceDesc is the grpc.ServiceDesc for ClusterService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var ClusterService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "cluster.ClusterService",
	HandlerType: (*ClusterServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "Profiles",
			Handler:    _ClusterService_Profiles_Handler,
		},
		{
			MethodName: "Get",
			Handler:    _ClusterService_Get_Handler,
		},
		{
			MethodName: "GetDeletedCluster",
			Handler:    _ClusterService_GetDeletedCluster_Handler,
		},
		{
			MethodName: "GetTiDBNodes",
			Handler:    _ClusterService_GetTiDBNodes_Handler,
		},
		{
			MethodName: "GetTiKVNodes",
			Handler:    _ClusterService_GetTiKVNodes_Handler,
		},
		{
			MethodName: "GetTiFlashNodes",
			Handler:    _ClusterService_GetTiFlashNodes_Handler,
		},
		{
			MethodName: "List",
			Handler:    _ClusterService_List_Handler,
		},
		{
			MethodName: "ListDeletedClusters",
			Handler:    _ClusterService_ListDeletedClusters_Handler,
		},
		{
			MethodName: "Create",
			Handler:    _ClusterService_Create_Handler,
		},
		{
			MethodName: "Delete",
			Handler:    _ClusterService_Delete_Handler,
		},
		{
			MethodName: "ChangePassword",
			Handler:    _ClusterService_ChangePassword_Handler,
		},
		{
			MethodName: "SendPasswordVerifyCode",
			Handler:    _ClusterService_SendPasswordVerifyCode_Handler,
		},
		{
			MethodName: "ChangeClusterName",
			Handler:    _ClusterService_ChangeClusterName_Handler,
		},
		{
			MethodName: "ScaleComponent",
			Handler:    _ClusterService_ScaleComponent_Handler,
		},
		{
			MethodName: "CreateAWSVpcPeering",
			Handler:    _ClusterService_CreateAWSVpcPeering_Handler,
		},
		{
			MethodName: "CreateGcpVpcPeering",
			Handler:    _ClusterService_CreateGcpVpcPeering_Handler,
		},
		{
			MethodName: "ListAwsVpcPeerings",
			Handler:    _ClusterService_ListAwsVpcPeerings_Handler,
		},
		{
			MethodName: "ListGcpVpcPeerings",
			Handler:    _ClusterService_ListGcpVpcPeerings_Handler,
		},
		{
			MethodName: "GetAwsVpcPeering",
			Handler:    _ClusterService_GetAwsVpcPeering_Handler,
		},
		{
			MethodName: "GetGcpVpcPeering",
			Handler:    _ClusterService_GetGcpVpcPeering_Handler,
		},
		{
			MethodName: "DeleteAwsVpcPeering",
			Handler:    _ClusterService_DeleteAwsVpcPeering_Handler,
		},
		{
			MethodName: "DeleteGcpVpcPeering",
			Handler:    _ClusterService_DeleteGcpVpcPeering_Handler,
		},
		{
			MethodName: "CreatePrivateEndpoint",
			Handler:    _ClusterService_CreatePrivateEndpoint_Handler,
		},
		{
			MethodName: "GetTrafficFilter",
			Handler:    _ClusterService_GetTrafficFilter_Handler,
		},
		{
			MethodName: "UpdateTrafficFilter",
			Handler:    _ClusterService_UpdateTrafficFilter_Handler,
		},
		{
			MethodName: "GetPrivateEndpoint",
			Handler:    _ClusterService_GetPrivateEndpoint_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "components/cluster/pkg/service/proto/cluster_service.proto",
}
