pcm-coordinator/adaptor/pcm_slurm/idl/slurm.proto

124 lines
3.6 KiB
Protocol Buffer

syntax = "proto3";
package slurm;
option go_package = "/slurmpb";
import "idl/slurm_node.proto";
import "idl/slurm_partition.proto";
import "idl/slurm_reservation.proto";
import "idl/slurm_ping.proto";
import "idl/slurmdb_cluster.proto";
import "idl/slurmdb_user.proto";
import "idl/slurmdb_assoc.proto";
import "idl/slurmdb_account.proto";
import "idl/slurmdb_qos.proto";
import "idl/slurmdb_wckey.proto";
import "idl/slurm_job.proto";
import "idl/slurm_diag.proto";
import "idl/slurmdb_job.proto";
// Slurm Services
service SlurmService {
// list all users from slurmdb
rpc ListUsers(ListUsersReq) returns (ListUsersResp);
// get specific user info from slurmdb
rpc GetUser(GetUserReq) returns (GetUserResp);
// add new user
rpc AddUser(AddUserReq) returns (AddUserResp);
// delete specific user
rpc DeleteUser(DeleteUserReq) returns (DeleteUserResp);
// list all associations from slurmdb
rpc ListAssociations(ListAssociationsReq) returns (ListAssociationsResp);
// get specific association info from slurmdb
rpc GetAssociation(GetAssociationReq) returns (GetAssociationResp);
// list all accounts info from slurmdb
rpc ListAccounts(ListAccountsReq) returns (ListAccountsResp);
// get specific account info from slurmdb
rpc GetAccount(GetAccountReq) returns (GetAccountResp);
// add account
rpc AddAccount(AddAccountReq) returns (AddAccountResp);
// delete account
rpc DeleteAccount(DeleteAccountReq) returns (DeleteAccountResp);
// list all wckeys info from slurmdb
rpc ListWckeys(ListWckeysReq) returns (ListWckeysResp);
// get specific wckey info from slurmdb
rpc GetWckey(GetWckeyReq) returns (GetWckeyResp);
// list all Cluster from slurmdb
rpc ListClusters(ListClustersReq) returns (ListClustersResp);
// get specific user info from slurmdb
rpc GetCluster(GetClusterReq) returns (GetClusterResp);
// add new user
rpc AddCluster(AddClusterReq) returns (AddClusterResp);
// delete specific user
rpc DeleteCluster(DeleteClusterReq) returns (DeleteClusterResp);
// list all Node from slurm
rpc ListNodes(ListNodesReq) returns (ListNodesResp);
// get specific Node info from slurm
rpc GetNode(GetNodeReq) returns (GetNodeResp);
// list all Partition from slurm
rpc ListPartitions(ListPartitionsReq) returns (ListPartitionsResp);
// get specific Partition info from slurm
rpc GetPartition(GetPartitionReq) returns (GetPartitionResp);
// list all Reservation from slurm
rpc ListReservations(ListReservationsReq) returns (ListReservationsResp);
// get specific Reservation info from slurm
rpc GetReservation(GetReservationReq) returns (GetReservationResp);
// list all jobs from slurm
rpc GetAllJobs(JobInfoMsgReq) returns (JobInfoMsgResp);
// get job by id from slurm
rpc GetJob(JobInfoMsgReq) returns (JobInfoMsgResp);
// submit job to slurm
rpc SubmitJob(SubmitJobReq) returns (SubmitJobResp);
// delete job from slurm
rpc DeleteJob(DeleteJobReq) returns (DeleteJobResp);
// update job from slurm
rpc UpdateJob(UpdateJobReq) returns (UpdateJobResp);
// list all diag from slurm
rpc GetDiag(DiagReq) returns (DiagResp);
// list all qoses from slurm
rpc GetQos(QosReq) returns (QosResp);
// list all jobs from slurmdb
rpc GetSlurmdbJobs(SlurmDbJobReq) returns (SlurmDbJobResp);
// get job by id from slurmdb
rpc GetSlurmdbJobById(SlurmDbJobReq) returns (SlurmDbJobResp);
// delete qos from slurmdb
rpc DeleteQos(DeleteQosReq) returns (DeleteQosResp);
// get qos by name from slurmdb
rpc GetQosByName(QosReq) returns (QosResp);
// add qos to slurmdb
rpc AddQos(AddQosReq) returns (AddQosResp);
}