// Code generated by goctl. DO NOT EDIT.
// Source: slurm.proto

package slurmClient

import (
	"context"

	"gitlink.org.cn/JointCloud/pcm-slurm/slurm"

	"github.com/zeromicro/go-zero/zrpc"
	"google.golang.org/grpc"
)

type (
	AddClusterReq         = slurm.AddClusterReq
	AddClusterResp        = slurm.AddClusterResp
	AddWckeyReq           = slurm.AddWckeyReq
	AddWckeyResp          = slurm.AddWckeyResp
	CancelJobReq          = slurm.CancelJobReq
	CancelJobResp         = slurm.CancelJobResp
	DeleteAccountReq      = slurm.DeleteAccountReq
	DeleteAccountResp     = slurm.DeleteAccountResp
	DeleteAssociationReq  = slurm.DeleteAssociationReq
	DeleteAssociationResp = slurm.DeleteAssociationResp
	DeleteClusterReq      = slurm.DeleteClusterReq
	DeleteClusterResp     = slurm.DeleteClusterResp
	DeleteQosReq          = slurm.DeleteQosReq
	DeleteQosResp         = slurm.DeleteQosResp
	DeleteUserReq         = slurm.DeleteUserReq
	DeleteUserResp        = slurm.DeleteUserResp
	DeleteWckeyReq        = slurm.DeleteWckeyReq
	DeleteWckeyResp       = slurm.DeleteWckeyResp
	DumpConfigurationReq  = slurm.DumpConfigurationReq
	DumpConfigurationResp = slurm.DumpConfigurationResp
	ErrorPing             = slurm.ErrorPing
	GetAccountReq         = slurm.GetAccountReq
	GetAccountResp        = slurm.GetAccountResp
	GetAssociationReq     = slurm.GetAssociationReq
	GetAssociationResp    = slurm.GetAssociationResp
	GetClusterReq         = slurm.GetClusterReq
	GetClusterResp        = slurm.GetClusterResp
	GetJobReq             = slurm.GetJobReq
	GetJobResp            = slurm.GetJobResp
	GetNodeReq            = slurm.GetNodeReq
	GetNodeResp           = slurm.GetNodeResp
	GetPartitionReq       = slurm.GetPartitionReq
	GetPartitionResp      = slurm.GetPartitionResp
	GetQosReq             = slurm.GetQosReq
	GetQosResp            = slurm.GetQosResp
	GetReservationReq     = slurm.GetReservationReq
	GetReservationResp    = slurm.GetReservationResp
	GetUserReq            = slurm.GetUserReq
	GetUserResp           = slurm.GetUserResp
	GetWckeyReq           = slurm.GetWckeyReq
	GetWckeyResp          = slurm.GetWckeyResp
	ListAccountReq        = slurm.ListAccountReq
	ListAccountResp       = slurm.ListAccountResp
	ListAssociationReq    = slurm.ListAssociationReq
	ListAssociationResp   = slurm.ListAssociationResp
	ListClusterReq        = slurm.ListClusterReq
	ListClusterResp       = slurm.ListClusterResp
	ListDbDiagnosticsReq  = slurm.ListDbDiagnosticsReq
	ListDbDiagnosticsResp = slurm.ListDbDiagnosticsResp
	ListDiagnosticsReq    = slurm.ListDiagnosticsReq
	ListDiagnosticsResp   = slurm.ListDiagnosticsResp
	ListJobReq            = slurm.ListJobReq
	ListJobResp           = slurm.ListJobResp
	ListNodeReq           = slurm.ListNodeReq
	ListNodeResp          = slurm.ListNodeResp
	ListPartitionReq      = slurm.ListPartitionReq
	ListPartitionResp     = slurm.ListPartitionResp
	ListQosReq            = slurm.ListQosReq
	ListQosResp           = slurm.ListQosResp
	ListReservationReq    = slurm.ListReservationReq
	ListReservationResp   = slurm.ListReservationResp
	ListTresReq           = slurm.ListTresReq
	ListTresResp          = slurm.ListTresResp
	ListUserReq           = slurm.ListUserReq
	ListUserResp          = slurm.ListUserResp
	ListWckeyReq          = slurm.ListWckeyReq
	ListWckeyResp         = slurm.ListWckeyResp
	LoadConfigurationReq  = slurm.LoadConfigurationReq
	LoadConfigurationResp = slurm.LoadConfigurationResp
	PingReq               = slurm.PingReq
	PingResp              = slurm.PingResp
	SetAssociationReq     = slurm.SetAssociationReq
	SetAssociationResp    = slurm.SetAssociationResp
	SetTresReq            = slurm.SetTresReq
	SetTresResp           = slurm.SetTresResp
	SubmitJobReq          = slurm.SubmitJobReq
	SubmitJobResp         = slurm.SubmitJobResp
	SyncTokenReq          = slurm.SyncTokenReq
	SyncTokenResp         = slurm.SyncTokenResp
	UpdateAccountReq      = slurm.UpdateAccountReq
	UpdateAccountResp     = slurm.UpdateAccountResp
	UpdateJobReq          = slurm.UpdateJobReq
	UpdateJobResp         = slurm.UpdateJobResp
	UpdateUserReq         = slurm.UpdateUserReq
	UpdateUserResp        = slurm.UpdateUserResp

	Slurm interface {
		SyncToken(ctx context.Context, in *SyncTokenReq, opts ...grpc.CallOption) (*SyncTokenResp, error)
		Ping(ctx context.Context, in *PingReq, opts ...grpc.CallOption) (*PingResp, error)
		ListJob(ctx context.Context, in *ListJobReq, opts ...grpc.CallOption) (*ListJobResp, error)
		GetJob(ctx context.Context, in *GetJobReq, opts ...grpc.CallOption) (*GetJobResp, error)
		UpdateJob(ctx context.Context, in *UpdateJobReq, opts ...grpc.CallOption) (*UpdateJobResp, error)
		CancelJob(ctx context.Context, in *CancelJobReq, opts ...grpc.CallOption) (*CancelJobResp, error)
		SubmitJob(ctx context.Context, in *SubmitJobReq, opts ...grpc.CallOption) (*SubmitJobResp, error)
		ListUser(ctx context.Context, in *ListUserReq, opts ...grpc.CallOption) (*ListUserResp, error)
		GetUser(ctx context.Context, in *GetUserReq, opts ...grpc.CallOption) (*GetUserResp, error)
		UpdateUser(ctx context.Context, in *UpdateUserReq, opts ...grpc.CallOption) (*UpdateUserResp, error)
		DeleteUser(ctx context.Context, in *DeleteUserReq, opts ...grpc.CallOption) (*DeleteUserResp, error)
		ListPartition(ctx context.Context, in *ListPartitionReq, opts ...grpc.CallOption) (*ListPartitionResp, error)
		GetPartition(ctx context.Context, in *GetPartitionReq, opts ...grpc.CallOption) (*GetPartitionResp, error)
		ListNode(ctx context.Context, in *ListNodeReq, opts ...grpc.CallOption) (*ListNodeResp, error)
		GetNode(ctx context.Context, in *GetNodeReq, opts ...grpc.CallOption) (*GetNodeResp, error)
		ListReservation(ctx context.Context, in *ListReservationReq, opts ...grpc.CallOption) (*ListReservationResp, error)
		GetReservation(ctx context.Context, in *GetReservationReq, opts ...grpc.CallOption) (*GetReservationResp, error)
		LoadConfiguration(ctx context.Context, in *LoadConfigurationReq, opts ...grpc.CallOption) (*LoadConfigurationResp, error)
		DumpConfiguration(ctx context.Context, in *DumpConfigurationReq, opts ...grpc.CallOption) (*DumpConfigurationResp, error)
		ListQos(ctx context.Context, in *ListQosReq, opts ...grpc.CallOption) (*ListQosResp, error)
		GetQos(ctx context.Context, in *GetQosReq, opts ...grpc.CallOption) (*GetQosResp, error)
		DeleteQos(ctx context.Context, in *DeleteQosReq, opts ...grpc.CallOption) (*DeleteQosResp, error)
		ListTres(ctx context.Context, in *ListTresReq, opts ...grpc.CallOption) (*ListTresResp, error)
		SetTres(ctx context.Context, in *SetTresReq, opts ...grpc.CallOption) (*SetTresResp, error)
		ListAccount(ctx context.Context, in *ListAccountReq, opts ...grpc.CallOption) (*ListAccountResp, error)
		GetAccount(ctx context.Context, in *GetAccountReq, opts ...grpc.CallOption) (*GetAccountResp, error)
		UpdateAccount(ctx context.Context, in *UpdateAccountReq, opts ...grpc.CallOption) (*UpdateAccountResp, error)
		DeleteAccount(ctx context.Context, in *DeleteAccountReq, opts ...grpc.CallOption) (*DeleteAccountResp, error)
		ListCluster(ctx context.Context, in *ListClusterReq, opts ...grpc.CallOption) (*ListClusterResp, error)
		GetCluster(ctx context.Context, in *GetClusterReq, opts ...grpc.CallOption) (*GetClusterResp, error)
		AddCluster(ctx context.Context, in *AddClusterReq, opts ...grpc.CallOption) (*AddClusterResp, error)
		DeleteCluster(ctx context.Context, in *DeleteClusterReq, opts ...grpc.CallOption) (*DeleteClusterResp, error)
		ListWckey(ctx context.Context, in *ListWckeyReq, opts ...grpc.CallOption) (*ListWckeyResp, error)
		GetWckey(ctx context.Context, in *GetWckeyReq, opts ...grpc.CallOption) (*GetWckeyResp, error)
		AddWckey(ctx context.Context, in *AddWckeyReq, opts ...grpc.CallOption) (*AddWckeyResp, error)
		DeleteWckey(ctx context.Context, in *DeleteWckeyReq, opts ...grpc.CallOption) (*DeleteWckeyResp, error)
		ListAssociation(ctx context.Context, in *ListAssociationReq, opts ...grpc.CallOption) (*ListAssociationResp, error)
		GetAssociation(ctx context.Context, in *GetAssociationReq, opts ...grpc.CallOption) (*GetAssociationResp, error)
		SetAssociation(ctx context.Context, in *SetAssociationReq, opts ...grpc.CallOption) (*SetAssociationResp, error)
		DeleteAssociation(ctx context.Context, in *DeleteAssociationReq, opts ...grpc.CallOption) (*DeleteAssociationResp, error)
		GetDiagnostics(ctx context.Context, in *ListDiagnosticsReq, opts ...grpc.CallOption) (*ListDiagnosticsResp, error)
		GetDbDiagnostics(ctx context.Context, in *ListDbDiagnosticsReq, opts ...grpc.CallOption) (*ListDbDiagnosticsResp, error)
	}

	defaultSlurm struct {
		cli zrpc.Client
	}
)

func NewSlurm(cli zrpc.Client) Slurm {
	return &defaultSlurm{
		cli: cli,
	}
}

func (m *defaultSlurm) SyncToken(ctx context.Context, in *SyncTokenReq, opts ...grpc.CallOption) (*SyncTokenResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.SyncToken(ctx, in, opts...)
}

func (m *defaultSlurm) Ping(ctx context.Context, in *PingReq, opts ...grpc.CallOption) (*PingResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.Ping(ctx, in, opts...)
}

func (m *defaultSlurm) ListJob(ctx context.Context, in *ListJobReq, opts ...grpc.CallOption) (*ListJobResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.ListJob(ctx, in, opts...)
}

func (m *defaultSlurm) GetJob(ctx context.Context, in *GetJobReq, opts ...grpc.CallOption) (*GetJobResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.GetJob(ctx, in, opts...)
}

func (m *defaultSlurm) UpdateJob(ctx context.Context, in *UpdateJobReq, opts ...grpc.CallOption) (*UpdateJobResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.UpdateJob(ctx, in, opts...)
}

func (m *defaultSlurm) CancelJob(ctx context.Context, in *CancelJobReq, opts ...grpc.CallOption) (*CancelJobResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.CancelJob(ctx, in, opts...)
}

func (m *defaultSlurm) SubmitJob(ctx context.Context, in *SubmitJobReq, opts ...grpc.CallOption) (*SubmitJobResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.SubmitJob(ctx, in, opts...)
}

func (m *defaultSlurm) ListUser(ctx context.Context, in *ListUserReq, opts ...grpc.CallOption) (*ListUserResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.ListUser(ctx, in, opts...)
}

func (m *defaultSlurm) GetUser(ctx context.Context, in *GetUserReq, opts ...grpc.CallOption) (*GetUserResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.GetUser(ctx, in, opts...)
}

func (m *defaultSlurm) UpdateUser(ctx context.Context, in *UpdateUserReq, opts ...grpc.CallOption) (*UpdateUserResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.UpdateUser(ctx, in, opts...)
}

func (m *defaultSlurm) DeleteUser(ctx context.Context, in *DeleteUserReq, opts ...grpc.CallOption) (*DeleteUserResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.DeleteUser(ctx, in, opts...)
}

func (m *defaultSlurm) ListPartition(ctx context.Context, in *ListPartitionReq, opts ...grpc.CallOption) (*ListPartitionResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.ListPartition(ctx, in, opts...)
}

func (m *defaultSlurm) GetPartition(ctx context.Context, in *GetPartitionReq, opts ...grpc.CallOption) (*GetPartitionResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.GetPartition(ctx, in, opts...)
}

func (m *defaultSlurm) ListNode(ctx context.Context, in *ListNodeReq, opts ...grpc.CallOption) (*ListNodeResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.ListNode(ctx, in, opts...)
}

func (m *defaultSlurm) GetNode(ctx context.Context, in *GetNodeReq, opts ...grpc.CallOption) (*GetNodeResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.GetNode(ctx, in, opts...)
}

func (m *defaultSlurm) ListReservation(ctx context.Context, in *ListReservationReq, opts ...grpc.CallOption) (*ListReservationResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.ListReservation(ctx, in, opts...)
}

func (m *defaultSlurm) GetReservation(ctx context.Context, in *GetReservationReq, opts ...grpc.CallOption) (*GetReservationResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.GetReservation(ctx, in, opts...)
}

func (m *defaultSlurm) LoadConfiguration(ctx context.Context, in *LoadConfigurationReq, opts ...grpc.CallOption) (*LoadConfigurationResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.LoadConfiguration(ctx, in, opts...)
}

func (m *defaultSlurm) DumpConfiguration(ctx context.Context, in *DumpConfigurationReq, opts ...grpc.CallOption) (*DumpConfigurationResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.DumpConfiguration(ctx, in, opts...)
}

func (m *defaultSlurm) ListQos(ctx context.Context, in *ListQosReq, opts ...grpc.CallOption) (*ListQosResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.ListQos(ctx, in, opts...)
}

func (m *defaultSlurm) GetQos(ctx context.Context, in *GetQosReq, opts ...grpc.CallOption) (*GetQosResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.GetQos(ctx, in, opts...)
}

func (m *defaultSlurm) DeleteQos(ctx context.Context, in *DeleteQosReq, opts ...grpc.CallOption) (*DeleteQosResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.DeleteQos(ctx, in, opts...)
}

func (m *defaultSlurm) ListTres(ctx context.Context, in *ListTresReq, opts ...grpc.CallOption) (*ListTresResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.ListTres(ctx, in, opts...)
}

func (m *defaultSlurm) SetTres(ctx context.Context, in *SetTresReq, opts ...grpc.CallOption) (*SetTresResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.SetTres(ctx, in, opts...)
}

func (m *defaultSlurm) ListAccount(ctx context.Context, in *ListAccountReq, opts ...grpc.CallOption) (*ListAccountResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.ListAccount(ctx, in, opts...)
}

func (m *defaultSlurm) GetAccount(ctx context.Context, in *GetAccountReq, opts ...grpc.CallOption) (*GetAccountResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.GetAccount(ctx, in, opts...)
}

func (m *defaultSlurm) UpdateAccount(ctx context.Context, in *UpdateAccountReq, opts ...grpc.CallOption) (*UpdateAccountResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.UpdateAccount(ctx, in, opts...)
}

func (m *defaultSlurm) DeleteAccount(ctx context.Context, in *DeleteAccountReq, opts ...grpc.CallOption) (*DeleteAccountResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.DeleteAccount(ctx, in, opts...)
}

func (m *defaultSlurm) ListCluster(ctx context.Context, in *ListClusterReq, opts ...grpc.CallOption) (*ListClusterResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.ListCluster(ctx, in, opts...)
}

func (m *defaultSlurm) GetCluster(ctx context.Context, in *GetClusterReq, opts ...grpc.CallOption) (*GetClusterResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.GetCluster(ctx, in, opts...)
}

func (m *defaultSlurm) AddCluster(ctx context.Context, in *AddClusterReq, opts ...grpc.CallOption) (*AddClusterResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.AddCluster(ctx, in, opts...)
}

func (m *defaultSlurm) DeleteCluster(ctx context.Context, in *DeleteClusterReq, opts ...grpc.CallOption) (*DeleteClusterResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.DeleteCluster(ctx, in, opts...)
}

func (m *defaultSlurm) ListWckey(ctx context.Context, in *ListWckeyReq, opts ...grpc.CallOption) (*ListWckeyResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.ListWckey(ctx, in, opts...)
}

func (m *defaultSlurm) GetWckey(ctx context.Context, in *GetWckeyReq, opts ...grpc.CallOption) (*GetWckeyResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.GetWckey(ctx, in, opts...)
}

func (m *defaultSlurm) AddWckey(ctx context.Context, in *AddWckeyReq, opts ...grpc.CallOption) (*AddWckeyResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.AddWckey(ctx, in, opts...)
}

func (m *defaultSlurm) DeleteWckey(ctx context.Context, in *DeleteWckeyReq, opts ...grpc.CallOption) (*DeleteWckeyResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.DeleteWckey(ctx, in, opts...)
}

func (m *defaultSlurm) ListAssociation(ctx context.Context, in *ListAssociationReq, opts ...grpc.CallOption) (*ListAssociationResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.ListAssociation(ctx, in, opts...)
}

func (m *defaultSlurm) GetAssociation(ctx context.Context, in *GetAssociationReq, opts ...grpc.CallOption) (*GetAssociationResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.GetAssociation(ctx, in, opts...)
}

func (m *defaultSlurm) SetAssociation(ctx context.Context, in *SetAssociationReq, opts ...grpc.CallOption) (*SetAssociationResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.SetAssociation(ctx, in, opts...)
}

func (m *defaultSlurm) DeleteAssociation(ctx context.Context, in *DeleteAssociationReq, opts ...grpc.CallOption) (*DeleteAssociationResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.DeleteAssociation(ctx, in, opts...)
}

func (m *defaultSlurm) GetDiagnostics(ctx context.Context, in *ListDiagnosticsReq, opts ...grpc.CallOption) (*ListDiagnosticsResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.GetDiagnostics(ctx, in, opts...)
}

func (m *defaultSlurm) GetDbDiagnostics(ctx context.Context, in *ListDbDiagnosticsReq, opts ...grpc.CallOption) (*ListDbDiagnosticsResp, error) {
	client := slurm.NewSlurmClient(m.cli.Conn())
	return client.GetDbDiagnostics(ctx, in, opts...)
}
