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

package central

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 {
	ListCloudProvidersV2(ctx context.Context, in *ListCloudProvidersReq, opts ...grpc.CallOption) (*CloudProviders, error)
	CalcNodeProfilesV2(ctx context.Context, in *CalcNodeProfilesReq, opts ...grpc.CallOption) (*CalcNodeProfilesResp, error)
	GenClusterName(ctx context.Context, in *GenClusterNameReq, opts ...grpc.CallOption) (*GenClusterNameResp, error)
	CreateClusterV2(ctx context.Context, in *CreateClusterReq, opts ...grpc.CallOption) (*CreateClusterResp, error)
	ScaleClusterV2(ctx context.Context, in *ScaleClusterReq, opts ...grpc.CallOption) (*DefaultResp, error)
	PauseCluster(ctx context.Context, in *ClusterIdReq, opts ...grpc.CallOption) (*DefaultResp, error)
	ResumeCluster(ctx context.Context, in *ClusterIdReq, opts ...grpc.CallOption) (*DefaultResp, error)
	CalcClusterFee(ctx context.Context, in *CalcClusterFeeReq, opts ...grpc.CallOption) (*CalcClusterFeeResp, error)
	Get(ctx context.Context, in *ClusterGetReq, opts ...grpc.CallOption) (*GetClusterResp, 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)
	Delete(ctx context.Context, in *ClusterIdReq, opts ...grpc.CallOption) (*DefaultResp, error)
	ChangePassword(ctx context.Context, in *ChangePasswordReq, opts ...grpc.CallOption) (*DefaultResp, error)
	ChangeClusterName(ctx context.Context, in *ChangeClusterNameReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	MakeClusterWritable(ctx context.Context, in *MakeClusterWritableReq, 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) (*CreateGcpVpcPeeringResp, 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 *VpcpeeringID, opts ...grpc.CallOption) (*AwsVpcPeering, error)
	GetGcpVpcPeering(ctx context.Context, in *VpcpeeringID, opts ...grpc.CallOption) (*GcpVpcPeering, error)
	DeleteAwsVpcPeering(ctx context.Context, in *VpcpeeringID, opts ...grpc.CallOption) (*emptypb.Empty, error)
	DeleteGcpVpcPeering(ctx context.Context, in *VpcpeeringID, opts ...grpc.CallOption) (*emptypb.Empty, error)
	CreatePrivateEndpoint(ctx context.Context, in *ClusterIdReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	// PrivateLink Service
	CreatePrivateLinkService(ctx context.Context, in *CreatePrivateLinkServiceReq, opts ...grpc.CallOption) (*CreatePrivateLinkServiceResp, error)
	DeletePrivateLinkService(ctx context.Context, in *DeletePrivateLinkServiceReq, opts ...grpc.CallOption) (*DefaultResp, error)
	GetPrivateLinkService(ctx context.Context, in *GetPrivateLinkServiceReq, opts ...grpc.CallOption) (*GetPrivateLinkServiceResp, error)
	ListPrivateLinkEndpointsOfProject(ctx context.Context, in *ListPrivateLinkEndpointsOfProjectReq, opts ...grpc.CallOption) (*ListPrivateLinkEndpointsOfProjectResp, error)
	CreatePrivateLinkEndpoint(ctx context.Context, in *CreatePrivateLinkEndpointReq, opts ...grpc.CallOption) (*CreatePrivateLinkEndpointResp, error)
	DeletePrivateLinkEndpoint(ctx context.Context, in *DeletePrivateLinkEndpointReq, opts ...grpc.CallOption) (*DefaultResp, error)
	GetTrafficFilter(ctx context.Context, in *ClusterIdReq, opts ...grpc.CallOption) (*TrafficFilterResp, error)
	UpdateTrafficFilter(ctx context.Context, in *UpdateTrafficFilterReq, opts ...grpc.CallOption) (*UpdateTrafficFilterResp, error)
	GetPrivateEndpoint(ctx context.Context, in *ClusterIdReq, opts ...grpc.CallOption) (*GetPrivateEndpointResp, error)
	GetProjectCIDR(ctx context.Context, in *GetCIDRReq, opts ...grpc.CallOption) (*ProjectCIDR, error)
	// in the frontend, we'll call the CIDR API with URLs like `/api/v1/orgs/1/projects/1/aws//cidr`,
	// but in the API gate-way, this URL will be normalized to `/api/v1/orgs/1/projects/1/aws/cidr`,
	// so we need to add a route for this URL.
	GetProjectCIDRWithoutRegion(ctx context.Context, in *GetCIDRReq, opts ...grpc.CallOption) (*ProjectCIDR, error)
	CreateProjectCIDR(ctx context.Context, in *CreateProjectCIDRReq, opts ...grpc.CallOption) (*ProjectCIDR, error)
	ValidateProjectCIDR(ctx context.Context, in *CreateProjectCIDRReq, opts ...grpc.CallOption) (*emptypb.Empty, error)
	GetProjectRegionCIDR(ctx context.Context, in *GetProjectRegionCIDRReq, opts ...grpc.CallOption) (*GetProjectRegionCIDRResp, error)
	GetAuditLogStatus(ctx context.Context, in *GetAuditLogStatusReq, opts ...grpc.CallOption) (*GetAuditLogStatusResp, error)
	UpdateAuditLogStatus(ctx context.Context, in *UpdateAuditLogStatusReq, opts ...grpc.CallOption) (*UpdateAuditLogStatusResp, error)
	PrecheckAuditLogConfig(ctx context.Context, in *PrecheckAuditLogConfigReq, opts ...grpc.CallOption) (*PrecheckAuditLogConfigResp, error)
	CheckAuditLogPluginStatus(ctx context.Context, in *CheckAuditLogPluginStatusReq, opts ...grpc.CallOption) (*CheckAuditLogPluginStatusResp, error)
	GetAuditLogAccessRecords(ctx context.Context, in *GetAuditLogAccessRecordsReq, opts ...grpc.CallOption) (*GetAuditLogAccessRecordsResp, error)
	CreateAuditLogAccessRecord(ctx context.Context, in *CreateAuditLogAccessRecordReq, opts ...grpc.CallOption) (*CreateAuditLogAccessRecordResp, error)
	DeleteAuditLogAccessRecord(ctx context.Context, in *DeleteAuditLogAccessRecordReq, opts ...grpc.CallOption) (*DeleteAuditLogAccessRecordResp, error)
	// GetClusterCACertificate get the CA certificate of the cluster
	GetClusterCACertificate(ctx context.Context, in *GetClusterCACertificateReq, opts ...grpc.CallOption) (*GetClusterCACertificateResp, error)
	GetProjectMaintenanceWindow(ctx context.Context, in *GetProjectMaintenanceWindowReq, opts ...grpc.CallOption) (*GetProjectMaintenanceWindowResp, error)
	UpdateProjectMaintenanceWindow(ctx context.Context, in *UpdateProjectMaintenanceWindowReq, opts ...grpc.CallOption) (*UpdateProjectMaintenanceWindowResp, error)
	ListProjectMaintenanceTasks(ctx context.Context, in *ListProjectMaintenanceTasksReq, opts ...grpc.CallOption) (*ListProjectMaintenanceTasksResp, error)
	DeferMaintenanceTask(ctx context.Context, in *DeferMaintenanceTaskReq, opts ...grpc.CallOption) (*DefaultResp, error)
	// CMEK related APIs
	GetProjectAWSAccount(ctx context.Context, in *GetAWSAccountReq, opts ...grpc.CallOption) (*ProjectAWSAccount, error)
	CreateAwsCmek(ctx context.Context, in *CreateAwsCmekReq, opts ...grpc.CallOption) (*CreateAwsCmekResp, error)
	GetAwsCmek(ctx context.Context, in *GetAwsCmekReq, opts ...grpc.CallOption) (*GetAwsCmekResp, error)
	// Creates a CIDR for a region in a project.
	CreateCidr(ctx context.Context, in *CreateCidrRequest, opts ...grpc.CallOption) (*CreateCidrResponse, error)
	// Retrieves a list of CIDRs for regions in a project.
	ListCidrs(ctx context.Context, in *ListCidrsRequest, opts ...grpc.CallOption) (*ListCidrsResponse, error)
	// Retrieves details of a specific CIDR in a project.
	GetCidr(ctx context.Context, in *GetCidrRequest, opts ...grpc.CallOption) (*GetCidrResponse, error)
	// Updates CIDR of a region in a project.
	UpdateCidr(ctx context.Context, in *UpdateCidrRequest, opts ...grpc.CallOption) (*UpdateCidrResponse, error)
	// Deletes a CIDR of a region in a project.
	DeleteCidr(ctx context.Context, in *DeleteCidrRequest, opts ...grpc.CallOption) (*DefaultResp, error)
	GetDefaultCidr(ctx context.Context, in *GetDefaultCidrRequest, opts ...grpc.CallOption) (*GetDefaultCidrResponse, error)
	ListAccesspoints(ctx context.Context, in *ListAccesspointsReq, opts ...grpc.CallOption) (*ListAccesspointsResp, error)
	GetThreeArch(ctx context.Context, in *GetThreeArchReq, opts ...grpc.CallOption) (*GetThreeArchResp, error)
}

type clusterServiceClient struct {
	cc grpc.ClientConnInterface
}

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

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

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

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

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

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

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

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

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

func (c *clusterServiceClient) Get(ctx context.Context, in *ClusterGetReq, opts ...grpc.CallOption) (*GetClusterResp, error) {
	out := new(GetClusterResp)
	err := c.cc.Invoke(ctx, "/central.ClusterService/Get", 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, "/central.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, "/central.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, "/central.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, "/central.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, "/central.ClusterService/ListDeletedClusters", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) Delete(ctx context.Context, in *ClusterIdReq, opts ...grpc.CallOption) (*DefaultResp, error) {
	out := new(DefaultResp)
	err := c.cc.Invoke(ctx, "/central.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) (*DefaultResp, error) {
	out := new(DefaultResp)
	err := c.cc.Invoke(ctx, "/central.ClusterService/ChangePassword", 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, "/central.ClusterService/ChangeClusterName", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *clusterServiceClient) MakeClusterWritable(ctx context.Context, in *MakeClusterWritableReq, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/central.ClusterService/MakeClusterWritable", 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, "/central.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) (*CreateGcpVpcPeeringResp, error) {
	out := new(CreateGcpVpcPeeringResp)
	err := c.cc.Invoke(ctx, "/central.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, "/central.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, "/central.ClusterService/ListGcpVpcPeerings", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

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

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

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

func (c *clusterServiceClient) DeleteGcpVpcPeering(ctx context.Context, in *VpcpeeringID, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/central.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, "/central.ClusterService/CreatePrivateEndpoint", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

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

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

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

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

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

func (c *clusterServiceClient) DeletePrivateLinkEndpoint(ctx context.Context, in *DeletePrivateLinkEndpointReq, opts ...grpc.CallOption) (*DefaultResp, error) {
	out := new(DefaultResp)
	err := c.cc.Invoke(ctx, "/central.ClusterService/DeletePrivateLinkEndpoint", 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, "/central.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) (*UpdateTrafficFilterResp, error) {
	out := new(UpdateTrafficFilterResp)
	err := c.cc.Invoke(ctx, "/central.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, "/central.ClusterService/GetPrivateEndpoint", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

func (c *clusterServiceClient) GetThreeArch(ctx context.Context, in *GetThreeArchReq, opts ...grpc.CallOption) (*GetThreeArchResp, error) {
	out := new(GetThreeArchResp)
	err := c.cc.Invoke(ctx, "/central.ClusterService/GetThreeArch", 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 {
	ListCloudProvidersV2(context.Context, *ListCloudProvidersReq) (*CloudProviders, error)
	CalcNodeProfilesV2(context.Context, *CalcNodeProfilesReq) (*CalcNodeProfilesResp, error)
	GenClusterName(context.Context, *GenClusterNameReq) (*GenClusterNameResp, error)
	CreateClusterV2(context.Context, *CreateClusterReq) (*CreateClusterResp, error)
	ScaleClusterV2(context.Context, *ScaleClusterReq) (*DefaultResp, error)
	PauseCluster(context.Context, *ClusterIdReq) (*DefaultResp, error)
	ResumeCluster(context.Context, *ClusterIdReq) (*DefaultResp, error)
	CalcClusterFee(context.Context, *CalcClusterFeeReq) (*CalcClusterFeeResp, error)
	Get(context.Context, *ClusterGetReq) (*GetClusterResp, 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)
	Delete(context.Context, *ClusterIdReq) (*DefaultResp, error)
	ChangePassword(context.Context, *ChangePasswordReq) (*DefaultResp, error)
	ChangeClusterName(context.Context, *ChangeClusterNameReq) (*emptypb.Empty, error)
	MakeClusterWritable(context.Context, *MakeClusterWritableReq) (*emptypb.Empty, error)
	CreateAWSVpcPeering(context.Context, *CreateAWSVpcPeeringReq) (*CreateAWSVpcPeeringResp, error)
	CreateGcpVpcPeering(context.Context, *CreateGcpVpcPeeringReq) (*CreateGcpVpcPeeringResp, error)
	ListAwsVpcPeerings(context.Context, *ProjectIdReq) (*AwsVpcPeerings, error)
	ListGcpVpcPeerings(context.Context, *ProjectIdReq) (*GcpVpcPeerings, error)
	GetAwsVpcPeering(context.Context, *VpcpeeringID) (*AwsVpcPeering, error)
	GetGcpVpcPeering(context.Context, *VpcpeeringID) (*GcpVpcPeering, error)
	DeleteAwsVpcPeering(context.Context, *VpcpeeringID) (*emptypb.Empty, error)
	DeleteGcpVpcPeering(context.Context, *VpcpeeringID) (*emptypb.Empty, error)
	CreatePrivateEndpoint(context.Context, *ClusterIdReq) (*emptypb.Empty, error)
	// PrivateLink Service
	CreatePrivateLinkService(context.Context, *CreatePrivateLinkServiceReq) (*CreatePrivateLinkServiceResp, error)
	DeletePrivateLinkService(context.Context, *DeletePrivateLinkServiceReq) (*DefaultResp, error)
	GetPrivateLinkService(context.Context, *GetPrivateLinkServiceReq) (*GetPrivateLinkServiceResp, error)
	ListPrivateLinkEndpointsOfProject(context.Context, *ListPrivateLinkEndpointsOfProjectReq) (*ListPrivateLinkEndpointsOfProjectResp, error)
	CreatePrivateLinkEndpoint(context.Context, *CreatePrivateLinkEndpointReq) (*CreatePrivateLinkEndpointResp, error)
	DeletePrivateLinkEndpoint(context.Context, *DeletePrivateLinkEndpointReq) (*DefaultResp, error)
	GetTrafficFilter(context.Context, *ClusterIdReq) (*TrafficFilterResp, error)
	UpdateTrafficFilter(context.Context, *UpdateTrafficFilterReq) (*UpdateTrafficFilterResp, error)
	GetPrivateEndpoint(context.Context, *ClusterIdReq) (*GetPrivateEndpointResp, error)
	GetProjectCIDR(context.Context, *GetCIDRReq) (*ProjectCIDR, error)
	// in the frontend, we'll call the CIDR API with URLs like `/api/v1/orgs/1/projects/1/aws//cidr`,
	// but in the API gate-way, this URL will be normalized to `/api/v1/orgs/1/projects/1/aws/cidr`,
	// so we need to add a route for this URL.
	GetProjectCIDRWithoutRegion(context.Context, *GetCIDRReq) (*ProjectCIDR, error)
	CreateProjectCIDR(context.Context, *CreateProjectCIDRReq) (*ProjectCIDR, error)
	ValidateProjectCIDR(context.Context, *CreateProjectCIDRReq) (*emptypb.Empty, error)
	GetProjectRegionCIDR(context.Context, *GetProjectRegionCIDRReq) (*GetProjectRegionCIDRResp, error)
	GetAuditLogStatus(context.Context, *GetAuditLogStatusReq) (*GetAuditLogStatusResp, error)
	UpdateAuditLogStatus(context.Context, *UpdateAuditLogStatusReq) (*UpdateAuditLogStatusResp, error)
	PrecheckAuditLogConfig(context.Context, *PrecheckAuditLogConfigReq) (*PrecheckAuditLogConfigResp, error)
	CheckAuditLogPluginStatus(context.Context, *CheckAuditLogPluginStatusReq) (*CheckAuditLogPluginStatusResp, error)
	GetAuditLogAccessRecords(context.Context, *GetAuditLogAccessRecordsReq) (*GetAuditLogAccessRecordsResp, error)
	CreateAuditLogAccessRecord(context.Context, *CreateAuditLogAccessRecordReq) (*CreateAuditLogAccessRecordResp, error)
	DeleteAuditLogAccessRecord(context.Context, *DeleteAuditLogAccessRecordReq) (*DeleteAuditLogAccessRecordResp, error)
	// GetClusterCACertificate get the CA certificate of the cluster
	GetClusterCACertificate(context.Context, *GetClusterCACertificateReq) (*GetClusterCACertificateResp, error)
	GetProjectMaintenanceWindow(context.Context, *GetProjectMaintenanceWindowReq) (*GetProjectMaintenanceWindowResp, error)
	UpdateProjectMaintenanceWindow(context.Context, *UpdateProjectMaintenanceWindowReq) (*UpdateProjectMaintenanceWindowResp, error)
	ListProjectMaintenanceTasks(context.Context, *ListProjectMaintenanceTasksReq) (*ListProjectMaintenanceTasksResp, error)
	DeferMaintenanceTask(context.Context, *DeferMaintenanceTaskReq) (*DefaultResp, error)
	// CMEK related APIs
	GetProjectAWSAccount(context.Context, *GetAWSAccountReq) (*ProjectAWSAccount, error)
	CreateAwsCmek(context.Context, *CreateAwsCmekReq) (*CreateAwsCmekResp, error)
	GetAwsCmek(context.Context, *GetAwsCmekReq) (*GetAwsCmekResp, error)
	// Creates a CIDR for a region in a project.
	CreateCidr(context.Context, *CreateCidrRequest) (*CreateCidrResponse, error)
	// Retrieves a list of CIDRs for regions in a project.
	ListCidrs(context.Context, *ListCidrsRequest) (*ListCidrsResponse, error)
	// Retrieves details of a specific CIDR in a project.
	GetCidr(context.Context, *GetCidrRequest) (*GetCidrResponse, error)
	// Updates CIDR of a region in a project.
	UpdateCidr(context.Context, *UpdateCidrRequest) (*UpdateCidrResponse, error)
	// Deletes a CIDR of a region in a project.
	DeleteCidr(context.Context, *DeleteCidrRequest) (*DefaultResp, error)
	GetDefaultCidr(context.Context, *GetDefaultCidrRequest) (*GetDefaultCidrResponse, error)
	ListAccesspoints(context.Context, *ListAccesspointsReq) (*ListAccesspointsResp, error)
	GetThreeArch(context.Context, *GetThreeArchReq) (*GetThreeArchResp, error)
	mustEmbedUnimplementedClusterServiceServer()
}

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

func (UnimplementedClusterServiceServer) ListCloudProvidersV2(context.Context, *ListCloudProvidersReq) (*CloudProviders, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListCloudProvidersV2 not implemented")
}
func (UnimplementedClusterServiceServer) CalcNodeProfilesV2(context.Context, *CalcNodeProfilesReq) (*CalcNodeProfilesResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CalcNodeProfilesV2 not implemented")
}
func (UnimplementedClusterServiceServer) GenClusterName(context.Context, *GenClusterNameReq) (*GenClusterNameResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GenClusterName not implemented")
}
func (UnimplementedClusterServiceServer) CreateClusterV2(context.Context, *CreateClusterReq) (*CreateClusterResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateClusterV2 not implemented")
}
func (UnimplementedClusterServiceServer) ScaleClusterV2(context.Context, *ScaleClusterReq) (*DefaultResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ScaleClusterV2 not implemented")
}
func (UnimplementedClusterServiceServer) PauseCluster(context.Context, *ClusterIdReq) (*DefaultResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PauseCluster not implemented")
}
func (UnimplementedClusterServiceServer) ResumeCluster(context.Context, *ClusterIdReq) (*DefaultResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ResumeCluster not implemented")
}
func (UnimplementedClusterServiceServer) CalcClusterFee(context.Context, *CalcClusterFeeReq) (*CalcClusterFeeResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CalcClusterFee not implemented")
}
func (UnimplementedClusterServiceServer) Get(context.Context, *ClusterGetReq) (*GetClusterResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Get 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) Delete(context.Context, *ClusterIdReq) (*DefaultResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented")
}
func (UnimplementedClusterServiceServer) ChangePassword(context.Context, *ChangePasswordReq) (*DefaultResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ChangePassword not implemented")
}
func (UnimplementedClusterServiceServer) ChangeClusterName(context.Context, *ChangeClusterNameReq) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ChangeClusterName not implemented")
}
func (UnimplementedClusterServiceServer) MakeClusterWritable(context.Context, *MakeClusterWritableReq) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method MakeClusterWritable 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) (*CreateGcpVpcPeeringResp, 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, *VpcpeeringID) (*AwsVpcPeering, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetAwsVpcPeering not implemented")
}
func (UnimplementedClusterServiceServer) GetGcpVpcPeering(context.Context, *VpcpeeringID) (*GcpVpcPeering, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetGcpVpcPeering not implemented")
}
func (UnimplementedClusterServiceServer) DeleteAwsVpcPeering(context.Context, *VpcpeeringID) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteAwsVpcPeering not implemented")
}
func (UnimplementedClusterServiceServer) DeleteGcpVpcPeering(context.Context, *VpcpeeringID) (*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) CreatePrivateLinkService(context.Context, *CreatePrivateLinkServiceReq) (*CreatePrivateLinkServiceResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreatePrivateLinkService not implemented")
}
func (UnimplementedClusterServiceServer) DeletePrivateLinkService(context.Context, *DeletePrivateLinkServiceReq) (*DefaultResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeletePrivateLinkService not implemented")
}
func (UnimplementedClusterServiceServer) GetPrivateLinkService(context.Context, *GetPrivateLinkServiceReq) (*GetPrivateLinkServiceResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetPrivateLinkService not implemented")
}
func (UnimplementedClusterServiceServer) ListPrivateLinkEndpointsOfProject(context.Context, *ListPrivateLinkEndpointsOfProjectReq) (*ListPrivateLinkEndpointsOfProjectResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListPrivateLinkEndpointsOfProject not implemented")
}
func (UnimplementedClusterServiceServer) CreatePrivateLinkEndpoint(context.Context, *CreatePrivateLinkEndpointReq) (*CreatePrivateLinkEndpointResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreatePrivateLinkEndpoint not implemented")
}
func (UnimplementedClusterServiceServer) DeletePrivateLinkEndpoint(context.Context, *DeletePrivateLinkEndpointReq) (*DefaultResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeletePrivateLinkEndpoint 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) (*UpdateTrafficFilterResp, 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) GetProjectCIDR(context.Context, *GetCIDRReq) (*ProjectCIDR, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetProjectCIDR not implemented")
}
func (UnimplementedClusterServiceServer) GetProjectCIDRWithoutRegion(context.Context, *GetCIDRReq) (*ProjectCIDR, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetProjectCIDRWithoutRegion not implemented")
}
func (UnimplementedClusterServiceServer) CreateProjectCIDR(context.Context, *CreateProjectCIDRReq) (*ProjectCIDR, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateProjectCIDR not implemented")
}
func (UnimplementedClusterServiceServer) ValidateProjectCIDR(context.Context, *CreateProjectCIDRReq) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ValidateProjectCIDR not implemented")
}
func (UnimplementedClusterServiceServer) GetProjectRegionCIDR(context.Context, *GetProjectRegionCIDRReq) (*GetProjectRegionCIDRResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetProjectRegionCIDR not implemented")
}
func (UnimplementedClusterServiceServer) GetAuditLogStatus(context.Context, *GetAuditLogStatusReq) (*GetAuditLogStatusResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetAuditLogStatus not implemented")
}
func (UnimplementedClusterServiceServer) UpdateAuditLogStatus(context.Context, *UpdateAuditLogStatusReq) (*UpdateAuditLogStatusResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateAuditLogStatus not implemented")
}
func (UnimplementedClusterServiceServer) PrecheckAuditLogConfig(context.Context, *PrecheckAuditLogConfigReq) (*PrecheckAuditLogConfigResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PrecheckAuditLogConfig not implemented")
}
func (UnimplementedClusterServiceServer) CheckAuditLogPluginStatus(context.Context, *CheckAuditLogPluginStatusReq) (*CheckAuditLogPluginStatusResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CheckAuditLogPluginStatus not implemented")
}
func (UnimplementedClusterServiceServer) GetAuditLogAccessRecords(context.Context, *GetAuditLogAccessRecordsReq) (*GetAuditLogAccessRecordsResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetAuditLogAccessRecords not implemented")
}
func (UnimplementedClusterServiceServer) CreateAuditLogAccessRecord(context.Context, *CreateAuditLogAccessRecordReq) (*CreateAuditLogAccessRecordResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateAuditLogAccessRecord not implemented")
}
func (UnimplementedClusterServiceServer) DeleteAuditLogAccessRecord(context.Context, *DeleteAuditLogAccessRecordReq) (*DeleteAuditLogAccessRecordResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteAuditLogAccessRecord not implemented")
}
func (UnimplementedClusterServiceServer) GetClusterCACertificate(context.Context, *GetClusterCACertificateReq) (*GetClusterCACertificateResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetClusterCACertificate not implemented")
}
func (UnimplementedClusterServiceServer) GetProjectMaintenanceWindow(context.Context, *GetProjectMaintenanceWindowReq) (*GetProjectMaintenanceWindowResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetProjectMaintenanceWindow not implemented")
}
func (UnimplementedClusterServiceServer) UpdateProjectMaintenanceWindow(context.Context, *UpdateProjectMaintenanceWindowReq) (*UpdateProjectMaintenanceWindowResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateProjectMaintenanceWindow not implemented")
}
func (UnimplementedClusterServiceServer) ListProjectMaintenanceTasks(context.Context, *ListProjectMaintenanceTasksReq) (*ListProjectMaintenanceTasksResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListProjectMaintenanceTasks not implemented")
}
func (UnimplementedClusterServiceServer) DeferMaintenanceTask(context.Context, *DeferMaintenanceTaskReq) (*DefaultResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeferMaintenanceTask not implemented")
}
func (UnimplementedClusterServiceServer) GetProjectAWSAccount(context.Context, *GetAWSAccountReq) (*ProjectAWSAccount, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetProjectAWSAccount not implemented")
}
func (UnimplementedClusterServiceServer) CreateAwsCmek(context.Context, *CreateAwsCmekReq) (*CreateAwsCmekResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateAwsCmek not implemented")
}
func (UnimplementedClusterServiceServer) GetAwsCmek(context.Context, *GetAwsCmekReq) (*GetAwsCmekResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetAwsCmek not implemented")
}
func (UnimplementedClusterServiceServer) CreateCidr(context.Context, *CreateCidrRequest) (*CreateCidrResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateCidr not implemented")
}
func (UnimplementedClusterServiceServer) ListCidrs(context.Context, *ListCidrsRequest) (*ListCidrsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListCidrs not implemented")
}
func (UnimplementedClusterServiceServer) GetCidr(context.Context, *GetCidrRequest) (*GetCidrResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetCidr not implemented")
}
func (UnimplementedClusterServiceServer) UpdateCidr(context.Context, *UpdateCidrRequest) (*UpdateCidrResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateCidr not implemented")
}
func (UnimplementedClusterServiceServer) DeleteCidr(context.Context, *DeleteCidrRequest) (*DefaultResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteCidr not implemented")
}
func (UnimplementedClusterServiceServer) GetDefaultCidr(context.Context, *GetDefaultCidrRequest) (*GetDefaultCidrResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetDefaultCidr not implemented")
}
func (UnimplementedClusterServiceServer) ListAccesspoints(context.Context, *ListAccesspointsReq) (*ListAccesspointsResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListAccesspoints not implemented")
}
func (UnimplementedClusterServiceServer) GetThreeArch(context.Context, *GetThreeArchReq) (*GetThreeArchResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetThreeArch 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_ListCloudProvidersV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListCloudProvidersReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).ListCloudProvidersV2(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/central.ClusterService/ListCloudProvidersV2",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).ListCloudProvidersV2(ctx, req.(*ListCloudProvidersReq))
	}
	return interceptor(ctx, in, info, handler)
}

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

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

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

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

func _ClusterService_PauseCluster_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).PauseCluster(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/central.ClusterService/PauseCluster",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).PauseCluster(ctx, req.(*ClusterIdReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_ResumeCluster_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).ResumeCluster(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/central.ClusterService/ResumeCluster",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).ResumeCluster(ctx, req.(*ClusterIdReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _ClusterService_CalcClusterFee_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CalcClusterFeeReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).CalcClusterFee(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/central.ClusterService/CalcClusterFee",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).CalcClusterFee(ctx, req.(*CalcClusterFeeReq))
	}
	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: "/central.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_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: "/central.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: "/central.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: "/central.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: "/central.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: "/central.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_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: "/central.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: "/central.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_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: "/central.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_MakeClusterWritable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MakeClusterWritableReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).MakeClusterWritable(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/central.ClusterService/MakeClusterWritable",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).MakeClusterWritable(ctx, req.(*MakeClusterWritableReq))
	}
	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: "/central.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: "/central.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: "/central.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: "/central.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(VpcpeeringID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).GetAwsVpcPeering(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/central.ClusterService/GetAwsVpcPeering",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).GetAwsVpcPeering(ctx, req.(*VpcpeeringID))
	}
	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(VpcpeeringID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).GetGcpVpcPeering(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/central.ClusterService/GetGcpVpcPeering",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).GetGcpVpcPeering(ctx, req.(*VpcpeeringID))
	}
	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(VpcpeeringID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).DeleteAwsVpcPeering(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/central.ClusterService/DeleteAwsVpcPeering",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).DeleteAwsVpcPeering(ctx, req.(*VpcpeeringID))
	}
	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(VpcpeeringID)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).DeleteGcpVpcPeering(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/central.ClusterService/DeleteGcpVpcPeering",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).DeleteGcpVpcPeering(ctx, req.(*VpcpeeringID))
	}
	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: "/central.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_CreatePrivateLinkService_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreatePrivateLinkServiceReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).CreatePrivateLinkService(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/central.ClusterService/CreatePrivateLinkService",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).CreatePrivateLinkService(ctx, req.(*CreatePrivateLinkServiceReq))
	}
	return interceptor(ctx, in, info, handler)
}

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

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

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

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

func _ClusterService_DeletePrivateLinkEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeletePrivateLinkEndpointReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).DeletePrivateLinkEndpoint(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/central.ClusterService/DeletePrivateLinkEndpoint",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).DeletePrivateLinkEndpoint(ctx, req.(*DeletePrivateLinkEndpointReq))
	}
	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: "/central.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: "/central.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: "/central.ClusterService/GetPrivateEndpoint",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).GetPrivateEndpoint(ctx, req.(*ClusterIdReq))
	}
	return interceptor(ctx, in, info, handler)
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

func _ClusterService_GetThreeArch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetThreeArchReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ClusterServiceServer).GetThreeArch(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/central.ClusterService/GetThreeArch",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ClusterServiceServer).GetThreeArch(ctx, req.(*GetThreeArchReq))
	}
	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: "central.ClusterService",
	HandlerType: (*ClusterServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "ListCloudProvidersV2",
			Handler:    _ClusterService_ListCloudProvidersV2_Handler,
		},
		{
			MethodName: "CalcNodeProfilesV2",
			Handler:    _ClusterService_CalcNodeProfilesV2_Handler,
		},
		{
			MethodName: "GenClusterName",
			Handler:    _ClusterService_GenClusterName_Handler,
		},
		{
			MethodName: "CreateClusterV2",
			Handler:    _ClusterService_CreateClusterV2_Handler,
		},
		{
			MethodName: "ScaleClusterV2",
			Handler:    _ClusterService_ScaleClusterV2_Handler,
		},
		{
			MethodName: "PauseCluster",
			Handler:    _ClusterService_PauseCluster_Handler,
		},
		{
			MethodName: "ResumeCluster",
			Handler:    _ClusterService_ResumeCluster_Handler,
		},
		{
			MethodName: "CalcClusterFee",
			Handler:    _ClusterService_CalcClusterFee_Handler,
		},
		{
			MethodName: "Get",
			Handler:    _ClusterService_Get_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: "Delete",
			Handler:    _ClusterService_Delete_Handler,
		},
		{
			MethodName: "ChangePassword",
			Handler:    _ClusterService_ChangePassword_Handler,
		},
		{
			MethodName: "ChangeClusterName",
			Handler:    _ClusterService_ChangeClusterName_Handler,
		},
		{
			MethodName: "MakeClusterWritable",
			Handler:    _ClusterService_MakeClusterWritable_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: "CreatePrivateLinkService",
			Handler:    _ClusterService_CreatePrivateLinkService_Handler,
		},
		{
			MethodName: "DeletePrivateLinkService",
			Handler:    _ClusterService_DeletePrivateLinkService_Handler,
		},
		{
			MethodName: "GetPrivateLinkService",
			Handler:    _ClusterService_GetPrivateLinkService_Handler,
		},
		{
			MethodName: "ListPrivateLinkEndpointsOfProject",
			Handler:    _ClusterService_ListPrivateLinkEndpointsOfProject_Handler,
		},
		{
			MethodName: "CreatePrivateLinkEndpoint",
			Handler:    _ClusterService_CreatePrivateLinkEndpoint_Handler,
		},
		{
			MethodName: "DeletePrivateLinkEndpoint",
			Handler:    _ClusterService_DeletePrivateLinkEndpoint_Handler,
		},
		{
			MethodName: "GetTrafficFilter",
			Handler:    _ClusterService_GetTrafficFilter_Handler,
		},
		{
			MethodName: "UpdateTrafficFilter",
			Handler:    _ClusterService_UpdateTrafficFilter_Handler,
		},
		{
			MethodName: "GetPrivateEndpoint",
			Handler:    _ClusterService_GetPrivateEndpoint_Handler,
		},
		{
			MethodName: "GetProjectCIDR",
			Handler:    _ClusterService_GetProjectCIDR_Handler,
		},
		{
			MethodName: "GetProjectCIDRWithoutRegion",
			Handler:    _ClusterService_GetProjectCIDRWithoutRegion_Handler,
		},
		{
			MethodName: "CreateProjectCIDR",
			Handler:    _ClusterService_CreateProjectCIDR_Handler,
		},
		{
			MethodName: "ValidateProjectCIDR",
			Handler:    _ClusterService_ValidateProjectCIDR_Handler,
		},
		{
			MethodName: "GetProjectRegionCIDR",
			Handler:    _ClusterService_GetProjectRegionCIDR_Handler,
		},
		{
			MethodName: "GetAuditLogStatus",
			Handler:    _ClusterService_GetAuditLogStatus_Handler,
		},
		{
			MethodName: "UpdateAuditLogStatus",
			Handler:    _ClusterService_UpdateAuditLogStatus_Handler,
		},
		{
			MethodName: "PrecheckAuditLogConfig",
			Handler:    _ClusterService_PrecheckAuditLogConfig_Handler,
		},
		{
			MethodName: "CheckAuditLogPluginStatus",
			Handler:    _ClusterService_CheckAuditLogPluginStatus_Handler,
		},
		{
			MethodName: "GetAuditLogAccessRecords",
			Handler:    _ClusterService_GetAuditLogAccessRecords_Handler,
		},
		{
			MethodName: "CreateAuditLogAccessRecord",
			Handler:    _ClusterService_CreateAuditLogAccessRecord_Handler,
		},
		{
			MethodName: "DeleteAuditLogAccessRecord",
			Handler:    _ClusterService_DeleteAuditLogAccessRecord_Handler,
		},
		{
			MethodName: "GetClusterCACertificate",
			Handler:    _ClusterService_GetClusterCACertificate_Handler,
		},
		{
			MethodName: "GetProjectMaintenanceWindow",
			Handler:    _ClusterService_GetProjectMaintenanceWindow_Handler,
		},
		{
			MethodName: "UpdateProjectMaintenanceWindow",
			Handler:    _ClusterService_UpdateProjectMaintenanceWindow_Handler,
		},
		{
			MethodName: "ListProjectMaintenanceTasks",
			Handler:    _ClusterService_ListProjectMaintenanceTasks_Handler,
		},
		{
			MethodName: "DeferMaintenanceTask",
			Handler:    _ClusterService_DeferMaintenanceTask_Handler,
		},
		{
			MethodName: "GetProjectAWSAccount",
			Handler:    _ClusterService_GetProjectAWSAccount_Handler,
		},
		{
			MethodName: "CreateAwsCmek",
			Handler:    _ClusterService_CreateAwsCmek_Handler,
		},
		{
			MethodName: "GetAwsCmek",
			Handler:    _ClusterService_GetAwsCmek_Handler,
		},
		{
			MethodName: "CreateCidr",
			Handler:    _ClusterService_CreateCidr_Handler,
		},
		{
			MethodName: "ListCidrs",
			Handler:    _ClusterService_ListCidrs_Handler,
		},
		{
			MethodName: "GetCidr",
			Handler:    _ClusterService_GetCidr_Handler,
		},
		{
			MethodName: "UpdateCidr",
			Handler:    _ClusterService_UpdateCidr_Handler,
		},
		{
			MethodName: "DeleteCidr",
			Handler:    _ClusterService_DeleteCidr_Handler,
		},
		{
			MethodName: "GetDefaultCidr",
			Handler:    _ClusterService_GetDefaultCidr_Handler,
		},
		{
			MethodName: "ListAccesspoints",
			Handler:    _ClusterService_ListAccesspoints_Handler,
		},
		{
			MethodName: "GetThreeArch",
			Handler:    _ClusterService_GetThreeArch_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "central/service.proto",
}

// TenantServiceClient is the client API for TenantService 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 TenantServiceClient interface {
	// IAM roles
	CreateIamRole(ctx context.Context, in *CreateIamRoleReq, opts ...grpc.CallOption) (*CreateIamRoleResp, error)
	ListIamRoles(ctx context.Context, in *ListIamRolesReq, opts ...grpc.CallOption) (*ListIamRolesResp, error)
	DeleteIamRole(ctx context.Context, in *DeleteIamRoleReq, opts ...grpc.CallOption) (*DefaultResp, error)
	// Cross account deployment
	CreateCrossAccountDeployment(ctx context.Context, in *CreateCrossAccountDeploymentReq, opts ...grpc.CallOption) (*CreateCrossAccountDeploymentResp, error)
	ListCrossAccountDeployments(ctx context.Context, in *ListCrossAccountDeploymentsReq, opts ...grpc.CallOption) (*ListCrossAccountDeploymentResp, error)
	DeleteCrossAccountDeployment(ctx context.Context, in *DeleteCrossAccountDeploymentReq, opts ...grpc.CallOption) (*DefaultResp, error)
	// Give TiDB Cloud delegation info to customers
	GetTiDBCloudDelegationInfo(ctx context.Context, in *GetTiDBCloudDelegationInfoReq, opts ...grpc.CallOption) (*GetTiDBCloudDelegationInfoResp, error)
}

type tenantServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewTenantServiceClient(cc grpc.ClientConnInterface) TenantServiceClient {
	return &tenantServiceClient{cc}
}

func (c *tenantServiceClient) CreateIamRole(ctx context.Context, in *CreateIamRoleReq, opts ...grpc.CallOption) (*CreateIamRoleResp, error) {
	out := new(CreateIamRoleResp)
	err := c.cc.Invoke(ctx, "/central.TenantService/CreateIamRole", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *tenantServiceClient) ListIamRoles(ctx context.Context, in *ListIamRolesReq, opts ...grpc.CallOption) (*ListIamRolesResp, error) {
	out := new(ListIamRolesResp)
	err := c.cc.Invoke(ctx, "/central.TenantService/ListIamRoles", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *tenantServiceClient) DeleteIamRole(ctx context.Context, in *DeleteIamRoleReq, opts ...grpc.CallOption) (*DefaultResp, error) {
	out := new(DefaultResp)
	err := c.cc.Invoke(ctx, "/central.TenantService/DeleteIamRole", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *tenantServiceClient) CreateCrossAccountDeployment(ctx context.Context, in *CreateCrossAccountDeploymentReq, opts ...grpc.CallOption) (*CreateCrossAccountDeploymentResp, error) {
	out := new(CreateCrossAccountDeploymentResp)
	err := c.cc.Invoke(ctx, "/central.TenantService/CreateCrossAccountDeployment", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *tenantServiceClient) ListCrossAccountDeployments(ctx context.Context, in *ListCrossAccountDeploymentsReq, opts ...grpc.CallOption) (*ListCrossAccountDeploymentResp, error) {
	out := new(ListCrossAccountDeploymentResp)
	err := c.cc.Invoke(ctx, "/central.TenantService/ListCrossAccountDeployments", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *tenantServiceClient) DeleteCrossAccountDeployment(ctx context.Context, in *DeleteCrossAccountDeploymentReq, opts ...grpc.CallOption) (*DefaultResp, error) {
	out := new(DefaultResp)
	err := c.cc.Invoke(ctx, "/central.TenantService/DeleteCrossAccountDeployment", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *tenantServiceClient) GetTiDBCloudDelegationInfo(ctx context.Context, in *GetTiDBCloudDelegationInfoReq, opts ...grpc.CallOption) (*GetTiDBCloudDelegationInfoResp, error) {
	out := new(GetTiDBCloudDelegationInfoResp)
	err := c.cc.Invoke(ctx, "/central.TenantService/GetTiDBCloudDelegationInfo", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// TenantServiceServer is the server API for TenantService service.
// All implementations must embed UnimplementedTenantServiceServer
// for forward compatibility
type TenantServiceServer interface {
	// IAM roles
	CreateIamRole(context.Context, *CreateIamRoleReq) (*CreateIamRoleResp, error)
	ListIamRoles(context.Context, *ListIamRolesReq) (*ListIamRolesResp, error)
	DeleteIamRole(context.Context, *DeleteIamRoleReq) (*DefaultResp, error)
	// Cross account deployment
	CreateCrossAccountDeployment(context.Context, *CreateCrossAccountDeploymentReq) (*CreateCrossAccountDeploymentResp, error)
	ListCrossAccountDeployments(context.Context, *ListCrossAccountDeploymentsReq) (*ListCrossAccountDeploymentResp, error)
	DeleteCrossAccountDeployment(context.Context, *DeleteCrossAccountDeploymentReq) (*DefaultResp, error)
	// Give TiDB Cloud delegation info to customers
	GetTiDBCloudDelegationInfo(context.Context, *GetTiDBCloudDelegationInfoReq) (*GetTiDBCloudDelegationInfoResp, error)
	mustEmbedUnimplementedTenantServiceServer()
}

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

func (UnimplementedTenantServiceServer) CreateIamRole(context.Context, *CreateIamRoleReq) (*CreateIamRoleResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateIamRole not implemented")
}
func (UnimplementedTenantServiceServer) ListIamRoles(context.Context, *ListIamRolesReq) (*ListIamRolesResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListIamRoles not implemented")
}
func (UnimplementedTenantServiceServer) DeleteIamRole(context.Context, *DeleteIamRoleReq) (*DefaultResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteIamRole not implemented")
}
func (UnimplementedTenantServiceServer) CreateCrossAccountDeployment(context.Context, *CreateCrossAccountDeploymentReq) (*CreateCrossAccountDeploymentResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateCrossAccountDeployment not implemented")
}
func (UnimplementedTenantServiceServer) ListCrossAccountDeployments(context.Context, *ListCrossAccountDeploymentsReq) (*ListCrossAccountDeploymentResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListCrossAccountDeployments not implemented")
}
func (UnimplementedTenantServiceServer) DeleteCrossAccountDeployment(context.Context, *DeleteCrossAccountDeploymentReq) (*DefaultResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteCrossAccountDeployment not implemented")
}
func (UnimplementedTenantServiceServer) GetTiDBCloudDelegationInfo(context.Context, *GetTiDBCloudDelegationInfoReq) (*GetTiDBCloudDelegationInfoResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetTiDBCloudDelegationInfo not implemented")
}
func (UnimplementedTenantServiceServer) mustEmbedUnimplementedTenantServiceServer() {}

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

func RegisterTenantServiceServer(s grpc.ServiceRegistrar, srv TenantServiceServer) {
	s.RegisterService(&TenantService_ServiceDesc, srv)
}

func _TenantService_CreateIamRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateIamRoleReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TenantServiceServer).CreateIamRole(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/central.TenantService/CreateIamRole",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TenantServiceServer).CreateIamRole(ctx, req.(*CreateIamRoleReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _TenantService_ListIamRoles_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListIamRolesReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TenantServiceServer).ListIamRoles(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/central.TenantService/ListIamRoles",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TenantServiceServer).ListIamRoles(ctx, req.(*ListIamRolesReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _TenantService_DeleteIamRole_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteIamRoleReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TenantServiceServer).DeleteIamRole(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/central.TenantService/DeleteIamRole",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TenantServiceServer).DeleteIamRole(ctx, req.(*DeleteIamRoleReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _TenantService_CreateCrossAccountDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateCrossAccountDeploymentReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TenantServiceServer).CreateCrossAccountDeployment(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/central.TenantService/CreateCrossAccountDeployment",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TenantServiceServer).CreateCrossAccountDeployment(ctx, req.(*CreateCrossAccountDeploymentReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _TenantService_ListCrossAccountDeployments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListCrossAccountDeploymentsReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TenantServiceServer).ListCrossAccountDeployments(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/central.TenantService/ListCrossAccountDeployments",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TenantServiceServer).ListCrossAccountDeployments(ctx, req.(*ListCrossAccountDeploymentsReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _TenantService_DeleteCrossAccountDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteCrossAccountDeploymentReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TenantServiceServer).DeleteCrossAccountDeployment(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/central.TenantService/DeleteCrossAccountDeployment",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TenantServiceServer).DeleteCrossAccountDeployment(ctx, req.(*DeleteCrossAccountDeploymentReq))
	}
	return interceptor(ctx, in, info, handler)
}

func _TenantService_GetTiDBCloudDelegationInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetTiDBCloudDelegationInfoReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TenantServiceServer).GetTiDBCloudDelegationInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/central.TenantService/GetTiDBCloudDelegationInfo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TenantServiceServer).GetTiDBCloudDelegationInfo(ctx, req.(*GetTiDBCloudDelegationInfoReq))
	}
	return interceptor(ctx, in, info, handler)
}

// TenantService_ServiceDesc is the grpc.ServiceDesc for TenantService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var TenantService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "central.TenantService",
	HandlerType: (*TenantServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "CreateIamRole",
			Handler:    _TenantService_CreateIamRole_Handler,
		},
		{
			MethodName: "ListIamRoles",
			Handler:    _TenantService_ListIamRoles_Handler,
		},
		{
			MethodName: "DeleteIamRole",
			Handler:    _TenantService_DeleteIamRole_Handler,
		},
		{
			MethodName: "CreateCrossAccountDeployment",
			Handler:    _TenantService_CreateCrossAccountDeployment_Handler,
		},
		{
			MethodName: "ListCrossAccountDeployments",
			Handler:    _TenantService_ListCrossAccountDeployments_Handler,
		},
		{
			MethodName: "DeleteCrossAccountDeployment",
			Handler:    _TenantService_DeleteCrossAccountDeployment_Handler,
		},
		{
			MethodName: "GetTiDBCloudDelegationInfo",
			Handler:    _TenantService_GetTiDBCloudDelegationInfo_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "central/service.proto",
}

// TestTokenServiceClient is the client API for TestTokenService 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 TestTokenServiceClient interface {
	GenerateTestToken(ctx context.Context, in *GenerateTestTokenReq, opts ...grpc.CallOption) (*GenerateTestTokenResp, error)
}

type testTokenServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewTestTokenServiceClient(cc grpc.ClientConnInterface) TestTokenServiceClient {
	return &testTokenServiceClient{cc}
}

func (c *testTokenServiceClient) GenerateTestToken(ctx context.Context, in *GenerateTestTokenReq, opts ...grpc.CallOption) (*GenerateTestTokenResp, error) {
	out := new(GenerateTestTokenResp)
	err := c.cc.Invoke(ctx, "/central.TestTokenService/GenerateTestToken", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// TestTokenServiceServer is the server API for TestTokenService service.
// All implementations must embed UnimplementedTestTokenServiceServer
// for forward compatibility
type TestTokenServiceServer interface {
	GenerateTestToken(context.Context, *GenerateTestTokenReq) (*GenerateTestTokenResp, error)
	mustEmbedUnimplementedTestTokenServiceServer()
}

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

func (UnimplementedTestTokenServiceServer) GenerateTestToken(context.Context, *GenerateTestTokenReq) (*GenerateTestTokenResp, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GenerateTestToken not implemented")
}
func (UnimplementedTestTokenServiceServer) mustEmbedUnimplementedTestTokenServiceServer() {}

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

func RegisterTestTokenServiceServer(s grpc.ServiceRegistrar, srv TestTokenServiceServer) {
	s.RegisterService(&TestTokenService_ServiceDesc, srv)
}

func _TestTokenService_GenerateTestToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GenerateTestTokenReq)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TestTokenServiceServer).GenerateTestToken(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/central.TestTokenService/GenerateTestToken",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TestTokenServiceServer).GenerateTestToken(ctx, req.(*GenerateTestTokenReq))
	}
	return interceptor(ctx, in, info, handler)
}

// TestTokenService_ServiceDesc is the grpc.ServiceDesc for TestTokenService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var TestTokenService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "central.TestTokenService",
	HandlerType: (*TestTokenServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GenerateTestToken",
			Handler:    _TestTokenService_GenerateTestToken_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "central/service.proto",
}
