API to access and control Slurm.
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: 0.0.37
- Package version: 1.0.0
- Generator version: 7.6.0-SNAPSHOT
- Build package: org.openapitools.codegen.languages.GoClientCodegen For more information, please visit https://www.schedmd.com/
Install the following dependencies:
go get github.com/stretchr/testify/assert
go get golang.org/x/net/context
Put the package under your project folder and add the following in import:
import slurmclient "github.com/GIT_USER_ID/GIT_REPO_ID"
To use a proxy, set the environment variable HTTP_PROXY
:
os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")
Default configuration comes with Servers
field that contains server objects as defined in the OpenAPI specification.
For using other server than the one defined on index 0 set context value slurmclient.ContextServerIndex
of type int
.
ctx := context.WithValue(context.Background(), slurmclient.ContextServerIndex, 1)
Templated server URL is formatted using default variables from configuration or from context value slurmclient.ContextServerVariables
of type map[string]string
.
ctx := context.WithValue(context.Background(), slurmclient.ContextServerVariables, map[string]string{
"basePath": "v2",
})
Note, enum values are always validated and all unused variables are silently ignored.
Each operation can use different server URL defined using OperationServers
map in the Configuration
.
An operation is uniquely identified by "{classname}Service.{nickname}"
string.
Similar rules for overriding default operation server index and variables applies by using slurmclient.ContextOperationServerIndices
and slurmclient.ContextOperationServerVariables
context maps.
ctx := context.WithValue(context.Background(), slurmclient.ContextOperationServerIndices, map[string]int{
"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), slurmclient.ContextOperationServerVariables, map[string]map[string]string{
"{classname}Service.{nickname}": {
"port": "8443",
},
})
All URIs are relative to http://localhost/slurm/v0.0.37
Class | Method | HTTP request | Description |
---|---|---|---|
OpenapiAPI | OpenapiGet | Get /openapi | Retrieve OpenAPI Specification |
OpenapiAPI | OpenapiJsonGet | Get /openapi.json | Retrieve OpenAPI Specification |
OpenapiAPI | OpenapiV3Get | Get /openapi/v3 | Retrieve OpenAPI Specification |
OpenapiAPI | OpenapiYamlGet | Get /openapi.yaml | Retrieve OpenAPI Specification |
SlurmAPI | SlurmctldCancelJob | Delete /job/{job_id} | cancel or signal job |
SlurmAPI | SlurmctldDiag | Get /diag/ | get diagnostics |
SlurmAPI | SlurmctldGetJob | Get /job/{job_id} | get job info |
SlurmAPI | SlurmctldGetJobs | Get /jobs/ | get list of jobs |
SlurmAPI | SlurmctldGetNode | Get /node/{node_name} | get node info |
SlurmAPI | SlurmctldGetNodes | Get /nodes/ | get all node info |
SlurmAPI | SlurmctldGetPartition | Get /partition/{partition_name} | get partition info |
SlurmAPI | SlurmctldGetPartitions | Get /partitions/ | get all partition info |
SlurmAPI | SlurmctldGetReservation | Get /reservation/{reservation_name} | get reservation info |
SlurmAPI | SlurmctldGetReservations | Get /reservations/ | get all reservation info |
SlurmAPI | SlurmctldLicenses | Get /licenses/ | get all license info |
SlurmAPI | SlurmctldPing | Get /ping/ | ping test |
SlurmAPI | SlurmctldSubmitJob | Post /job/submit | submit new job |
SlurmAPI | SlurmctldUpdateJob | Post /job/{job_id} | update job |
- V0037Diag
- V0037DiagRpcm
- V0037DiagRpcu
- V0037DiagStatistics
- V0037Error
- V0037JobProperties
- V0037JobResources
- V0037JobResponseProperties
- V0037JobSubmission
- V0037JobSubmissionResponse
- V0037JobsResponse
- V0037License
- V0037Licenses
- V0037Node
- V0037NodeAllocation
- V0037NodesResponse
- V0037Partition
- V0037PartitionsResponse
- V0037Ping
- V0037Pings
- V0037Reservation
- V0037ReservationPurgeCompleted
- V0037ReservationsResponse
- V0037Signal
Authentication schemes defined for the API:
- Type: API key
- API key parameter name: X-SLURM-USER-NAME
- Location: HTTP header
Note, each API key must be added to a map of map[string]APIKey
where the key is: X-SLURM-USER-NAME and passed in as the auth context for each request.
Example
auth := context.WithValue(
context.Background(),
slurmclient.ContextAPIKeys,
map[string]slurmclient.APIKey{
"X-SLURM-USER-NAME": {Key: "API_KEY_STRING"},
},
)
r, err := client.Service.Operation(auth, args)
- Type: API key
- API key parameter name: X-SLURM-USER-TOKEN
- Location: HTTP header
Note, each API key must be added to a map of map[string]APIKey
where the key is: X-SLURM-USER-TOKEN and passed in as the auth context for each request.
Example
auth := context.WithValue(
context.Background(),
slurmclient.ContextAPIKeys,
map[string]slurmclient.APIKey{
"X-SLURM-USER-TOKEN": {Key: "API_KEY_STRING"},
},
)
r, err := client.Service.Operation(auth, args)
Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:
PtrBool
PtrInt
PtrInt32
PtrInt64
PtrFloat
PtrFloat32
PtrFloat64
PtrString
PtrTime