Skip to content

ubccr/slurmrest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go client for Slurm REST API

API to access and control Slurm

Overview

This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.

  • API version: Slurm-25.11.3
  • Package version: 1.0.0
  • Build package: org.openapitools.codegen.languages.GoClientCodegen For more information, please visit https://www.schedmd.com/

Installation

go get github.com/ubccr/slurmrest

Example

package main

import (
	"context"
	"fmt"
	"log"
	"net/http"
	"time"

	"github.com/ubccr/slurmrest"
)

func main() {
	cfg := slurmrest.NewConfiguration()
	cfg.HTTPClient = &http.Client{Timeout: time.Second * 3600}
	cfg.Scheme = "http"
	cfg.Host = "localhost"

	client := slurmrest.NewAPIClient(cfg)

	req := jc.client.SlurmAPI.SlurmV0040GetJobs(context.Background())
	jobs, resp, err := jc.client.SlurmAPI.SlurmV0040GetJobsExecute(req)
	if err != nil {
		log.Fatalf("FAIL: %s", err)
	} else if resp.StatusCode != 200 {
		log.Fatalf("Invalid status code: %d\n", resp.StatusCode)
	}

	for _, job := range jobs.GetJobs() {
        fmt.Printf("Job %s - %s\n", job.GetJobId(), job.GetJobState())
    }
}

Documentation for API Endpoints

All URIs are relative to http://localhost

Class Method HTTP request Description
SlurmAPI SlurmV0044DeleteJob Delete /slurm/v0.0.44/job/{job_id} cancel or signal job
SlurmAPI SlurmV0044DeleteJobs Delete /slurm/v0.0.44/jobs/ send signal to list of jobs
SlurmAPI SlurmV0044DeleteNode Delete /slurm/v0.0.44/node/{node_name} delete node
SlurmAPI SlurmV0044DeleteReservation Delete /slurm/v0.0.44/reservation/{reservation_name} delete a reservation
SlurmAPI SlurmV0044GetDiag Get /slurm/v0.0.44/diag/ get diagnostics
SlurmAPI SlurmV0044GetJob Get /slurm/v0.0.44/job/{job_id} get job info
SlurmAPI SlurmV0044GetJobs Get /slurm/v0.0.44/jobs/ get list of jobs
SlurmAPI SlurmV0044GetJobsState Get /slurm/v0.0.44/jobs/state/ get list of job states
SlurmAPI SlurmV0044GetLicenses Get /slurm/v0.0.44/licenses/ get all Slurm tracked license info
SlurmAPI SlurmV0044GetNode Get /slurm/v0.0.44/node/{node_name} get node info
SlurmAPI SlurmV0044GetNodes Get /slurm/v0.0.44/nodes/ get node(s) info
SlurmAPI SlurmV0044GetPartition Get /slurm/v0.0.44/partition/{partition_name} get partition info
SlurmAPI SlurmV0044GetPartitions Get /slurm/v0.0.44/partitions/ get all partition info
SlurmAPI SlurmV0044GetPing Get /slurm/v0.0.44/ping/ ping test
SlurmAPI SlurmV0044GetReconfigure Get /slurm/v0.0.44/reconfigure/ request slurmctld reconfigure
SlurmAPI SlurmV0044GetReservation Get /slurm/v0.0.44/reservation/{reservation_name} get reservation info
SlurmAPI SlurmV0044GetReservations Get /slurm/v0.0.44/reservations/ get all reservation info
SlurmAPI SlurmV0044GetResources Get /slurm/v0.0.44/resources/{job_id} get resource layout info
SlurmAPI SlurmV0044GetShares Get /slurm/v0.0.44/shares get fairshare info
SlurmAPI SlurmV0044PostJob Post /slurm/v0.0.44/job/{job_id} update job
SlurmAPI SlurmV0044PostJobAllocate Post /slurm/v0.0.44/job/allocate submit new job allocation without any steps that must be signaled to stop
SlurmAPI SlurmV0044PostJobSubmit Post /slurm/v0.0.44/job/submit submit new job
SlurmAPI SlurmV0044PostNewNode Post /slurm/v0.0.44/new/node/ create node
SlurmAPI SlurmV0044PostNode Post /slurm/v0.0.44/node/{node_name} update node properties
SlurmAPI SlurmV0044PostNodes Post /slurm/v0.0.44/nodes/ batch update node(s)
SlurmAPI SlurmV0044PostReservation Post /slurm/v0.0.44/reservation create or update a reservation
SlurmAPI SlurmV0044PostReservations Post /slurm/v0.0.44/reservations/ create or update reservations
SlurmdbAPI SlurmdbV0044DeleteAccount Delete /slurmdb/v0.0.44/account/{account_name} Delete account
SlurmdbAPI SlurmdbV0044DeleteAssociation Delete /slurmdb/v0.0.44/association/ Delete association
SlurmdbAPI SlurmdbV0044DeleteAssociations Delete /slurmdb/v0.0.44/associations/ Delete associations
SlurmdbAPI SlurmdbV0044DeleteCluster Delete /slurmdb/v0.0.44/cluster/{cluster_name} Delete cluster
SlurmdbAPI SlurmdbV0044DeleteSingleQos Delete /slurmdb/v0.0.44/qos/{qos} Delete QOS
SlurmdbAPI SlurmdbV0044DeleteUser Delete /slurmdb/v0.0.44/user/{name} Delete user
SlurmdbAPI SlurmdbV0044DeleteWckey Delete /slurmdb/v0.0.44/wckey/{id} Delete wckey
SlurmdbAPI SlurmdbV0044GetAccount Get /slurmdb/v0.0.44/account/{account_name} Get account info
SlurmdbAPI SlurmdbV0044GetAccounts Get /slurmdb/v0.0.44/accounts/ Get account list
SlurmdbAPI SlurmdbV0044GetAssociation Get /slurmdb/v0.0.44/association/ Get association info
SlurmdbAPI SlurmdbV0044GetAssociations Get /slurmdb/v0.0.44/associations/ Get association list
SlurmdbAPI SlurmdbV0044GetCluster Get /slurmdb/v0.0.44/cluster/{cluster_name} Get cluster info
SlurmdbAPI SlurmdbV0044GetClusters Get /slurmdb/v0.0.44/clusters/ Get cluster list
SlurmdbAPI SlurmdbV0044GetConfig Get /slurmdb/v0.0.44/config Dump all configuration information
SlurmdbAPI SlurmdbV0044GetDiag Get /slurmdb/v0.0.44/diag/ Get slurmdb diagnostics
SlurmdbAPI SlurmdbV0044GetInstance Get /slurmdb/v0.0.44/instance/ Get instance info
SlurmdbAPI SlurmdbV0044GetInstances Get /slurmdb/v0.0.44/instances/ Get instance list
SlurmdbAPI SlurmdbV0044GetJob Get /slurmdb/v0.0.44/job/{job_id} Get job info
SlurmdbAPI SlurmdbV0044GetJobs Get /slurmdb/v0.0.44/jobs/ Get job list
SlurmdbAPI SlurmdbV0044GetPing Get /slurmdb/v0.0.44/ping/ ping test
SlurmdbAPI SlurmdbV0044GetQos Get /slurmdb/v0.0.44/qos/ Get QOS list
SlurmdbAPI SlurmdbV0044GetSingleQos Get /slurmdb/v0.0.44/qos/{qos} Get QOS info
SlurmdbAPI SlurmdbV0044GetTres Get /slurmdb/v0.0.44/tres/ Get TRES info
SlurmdbAPI SlurmdbV0044GetUser Get /slurmdb/v0.0.44/user/{name} Get user info
SlurmdbAPI SlurmdbV0044GetUsers Get /slurmdb/v0.0.44/users/ Get user list
SlurmdbAPI SlurmdbV0044GetWckey Get /slurmdb/v0.0.44/wckey/{id} Get wckey info
SlurmdbAPI SlurmdbV0044GetWckeys Get /slurmdb/v0.0.44/wckeys/ Get wckey list
SlurmdbAPI SlurmdbV0044PostAccounts Post /slurmdb/v0.0.44/accounts/ Add/update list of accounts
SlurmdbAPI SlurmdbV0044PostAccountsAssociation Post /slurmdb/v0.0.44/accounts_association/ Add accounts with conditional association
SlurmdbAPI SlurmdbV0044PostAssociations Post /slurmdb/v0.0.44/associations/ Set associations info
SlurmdbAPI SlurmdbV0044PostClusters Post /slurmdb/v0.0.44/clusters/ Get cluster list
SlurmdbAPI SlurmdbV0044PostConfig Post /slurmdb/v0.0.44/config Load all configuration information
SlurmdbAPI SlurmdbV0044PostJob Post /slurmdb/v0.0.44/job/{job_id} Update job
SlurmdbAPI SlurmdbV0044PostJobs Post /slurmdb/v0.0.44/jobs/ Update jobs
SlurmdbAPI SlurmdbV0044PostQos Post /slurmdb/v0.0.44/qos/ Add or update QOSs
SlurmdbAPI SlurmdbV0044PostTres Post /slurmdb/v0.0.44/tres/ Add TRES
SlurmdbAPI SlurmdbV0044PostUsers Post /slurmdb/v0.0.44/users/ Update users
SlurmdbAPI SlurmdbV0044PostUsersAssociation Post /slurmdb/v0.0.44/users_association/ Add users with conditional association
SlurmdbAPI SlurmdbV0044PostWckeys Post /slurmdb/v0.0.44/wckeys/ Add or update wckeys

Documentation For Models

Author

slurmrest Go client is currently maintained by The Center for Computational Research.

The code in this repo was generated from the openapi.json spec files available from Slurm. For more information see https://github.com/SchedMD/slurm/

About

Go client for Slurm REST API

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages