openapi

package
v0.0.0-...-6556860 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 27, 2024 License: Apache-2.0 Imports: 20 Imported by: 0

README ¶

Go API client for openapi

API to access and control Slurm DB.

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-23.11.5&openapi/dbv0.0.39&openapi/slurmctld&openapi/v0.0.39&openapi/dbv0.0.38&openapi/slurmdbd&openapi/v0.0.38
  • Package version: 1.0.0
  • Generator version: 7.5.0-SNAPSHOT
  • Build package: org.openapitools.codegen.languages.GoClientCodegen For more information, please visit https://www.schedmd.com/

Installation

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 openapi "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")

Configuration of Server URL

Default configuration comes with Servers field that contains server objects as defined in the OpenAPI specification.

Select Server Configuration

For using other server than the one defined on index 0 set context value openapi.ContextServerIndex of type int.

ctx := context.WithValue(context.Background(), openapi.ContextServerIndex, 1)
Templated Server URL

Templated server URL is formatted using default variables from configuration or from context value openapi.ContextServerVariables of type map[string]string.

ctx := context.WithValue(context.Background(), openapi.ContextServerVariables, map[string]string{
	"basePath": "v2",
})

Note, enum values are always validated and all unused variables are silently ignored.

URLs Configuration per Operation

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 openapi.ContextOperationServerIndices and openapi.ContextOperationServerVariables context maps.

ctx := context.WithValue(context.Background(), openapi.ContextOperationServerIndices, map[string]int{
	"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), openapi.ContextOperationServerVariables, map[string]map[string]string{
	"{classname}Service.{nickname}": {
		"port": "8443",
	},
})

Documentation for API Endpoints

All URIs are relative to http://localhost

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 SlurmV0038CancelJob Delete /slurm/v0.0.38/job/{job_id} cancel or signal job
SlurmAPI SlurmV0038Diag Get /slurm/v0.0.38/diag get diagnostics
SlurmAPI SlurmV0038GetJob Get /slurm/v0.0.38/job/{job_id} get job info
SlurmAPI SlurmV0038GetJobs Get /slurm/v0.0.38/jobs get list of jobs
SlurmAPI SlurmV0038GetNode Get /slurm/v0.0.38/node/{node_name} get node info
SlurmAPI SlurmV0038GetNodes Get /slurm/v0.0.38/nodes get all node info
SlurmAPI SlurmV0038GetPartition Get /slurm/v0.0.38/partition/{partition_name} get partition info
SlurmAPI SlurmV0038GetPartitions Get /slurm/v0.0.38/partitions get all partition info
SlurmAPI SlurmV0038GetReservation Get /slurm/v0.0.38/reservation/{reservation_name} get reservation info
SlurmAPI SlurmV0038GetReservations Get /slurm/v0.0.38/reservations get all reservation info
SlurmAPI SlurmV0038Ping Get /slurm/v0.0.38/ping ping test
SlurmAPI SlurmV0038SlurmctldGetLicenses Get /slurm/v0.0.38/licenses get all Slurm tracked license info
SlurmAPI SlurmV0038SubmitJob Post /slurm/v0.0.38/job/submit submit new job
SlurmAPI SlurmV0038UpdateJob Post /slurm/v0.0.38/job/{job_id} update job
SlurmAPI SlurmV0039CancelJob Delete /slurm/v0.0.39/job/{job_id} cancel or signal job
SlurmAPI SlurmV0039DeleteNode Delete /slurm/v0.0.39/node/{node_name} delete node
SlurmAPI SlurmV0039Diag Get /slurm/v0.0.39/diag get diagnostics
SlurmAPI SlurmV0039GetJob Get /slurm/v0.0.39/job/{job_id} get job info
SlurmAPI SlurmV0039GetJobs Get /slurm/v0.0.39/jobs get list of jobs
SlurmAPI SlurmV0039GetNode Get /slurm/v0.0.39/node/{node_name} get node info
SlurmAPI SlurmV0039GetNodes Get /slurm/v0.0.39/nodes get all node info
SlurmAPI SlurmV0039GetPartition Get /slurm/v0.0.39/partition/{partition_name} get partition info
SlurmAPI SlurmV0039GetPartitions Get /slurm/v0.0.39/partitions get all partition info
SlurmAPI SlurmV0039GetReservation Get /slurm/v0.0.39/reservation/{reservation_name} get reservation info
SlurmAPI SlurmV0039GetReservations Get /slurm/v0.0.39/reservations get all reservation info
SlurmAPI SlurmV0039Ping Get /slurm/v0.0.39/ping ping test
SlurmAPI SlurmV0039SlurmctldGetLicenses Get /slurm/v0.0.39/licenses get all Slurm tracked license info
SlurmAPI SlurmV0039SubmitJob Post /slurm/v0.0.39/job/submit submit new job
SlurmAPI SlurmV0039UpdateJob Post /slurm/v0.0.39/job/{job_id} update job
SlurmAPI SlurmV0039UpdateNode Post /slurm/v0.0.39/node/{node_name} update node properties
SlurmAPI SlurmV0040DeleteJob Delete /slurm/v0.0.40/job/{job_id} cancel or signal job
SlurmAPI SlurmV0040DeleteNode Delete /slurm/v0.0.40/node/{node_name} delete node
SlurmAPI SlurmV0040GetDiag Get /slurm/v0.0.40/diag get diagnostics
SlurmAPI SlurmV0040GetJob Get /slurm/v0.0.40/job/{job_id} get job info
SlurmAPI SlurmV0040GetJobs Get /slurm/v0.0.40/jobs get list of jobs
SlurmAPI SlurmV0040GetJobsState Get /slurm/v0.0.40/jobs/state get list of job states
SlurmAPI SlurmV0040GetLicenses Get /slurm/v0.0.40/licenses get all Slurm tracked license info
SlurmAPI SlurmV0040GetNode Get /slurm/v0.0.40/node/{node_name} get node info
SlurmAPI SlurmV0040GetNodes Get /slurm/v0.0.40/nodes get all node info
SlurmAPI SlurmV0040GetPartition Get /slurm/v0.0.40/partition/{partition_name} get partition info
SlurmAPI SlurmV0040GetPartitions Get /slurm/v0.0.40/partitions get all partition info
SlurmAPI SlurmV0040GetPing Get /slurm/v0.0.40/ping ping test
SlurmAPI SlurmV0040GetReconfigure Get /slurm/v0.0.40/reconfigure request slurmctld reconfigure
SlurmAPI SlurmV0040GetReservation Get /slurm/v0.0.40/reservation/{reservation_name} get reservation info
SlurmAPI SlurmV0040GetReservations Get /slurm/v0.0.40/reservations get all reservation info
SlurmAPI SlurmV0040GetShares Get /slurm/v0.0.40/shares get fairshare info
SlurmAPI SlurmV0040PostJob Post /slurm/v0.0.40/job/{job_id} update job
SlurmAPI SlurmV0040PostJobSubmit Post /slurm/v0.0.40/job/submit submit new job
SlurmAPI SlurmV0040PostNode Post /slurm/v0.0.40/node/{node_name} update node properties
SlurmAPI SlurmdbV0038AddClusters Post /slurmdb/v0.0.38/clusters Add clusters
SlurmAPI SlurmdbV0038AddWckeys Post /slurmdb/v0.0.38/wckeys Add wckeys
SlurmAPI SlurmdbV0038DeleteAccount Delete /slurmdb/v0.0.38/account/{account_name} Delete account
SlurmAPI SlurmdbV0038DeleteAssociation Delete /slurmdb/v0.0.38/association Delete association
SlurmAPI SlurmdbV0038DeleteAssociations Delete /slurmdb/v0.0.38/associations Delete associations
SlurmAPI SlurmdbV0038DeleteCluster Delete /slurmdb/v0.0.38/cluster/{cluster_name} Delete cluster
SlurmAPI SlurmdbV0038DeleteQos Delete /slurmdb/v0.0.38/qos/{qos_name} Delete QOS
SlurmAPI SlurmdbV0038DeleteUser Delete /slurmdb/v0.0.38/user/{user_name} Delete user
SlurmAPI SlurmdbV0038DeleteWckey Delete /slurmdb/v0.0.38/wckey/{wckey} Delete wckey
SlurmAPI SlurmdbV0038Diag Get /slurmdb/v0.0.38/diag Get slurmdb diagnostics
SlurmAPI SlurmdbV0038GetAccount Get /slurmdb/v0.0.38/account/{account_name} Get account info
SlurmAPI SlurmdbV0038GetAccounts Get /slurmdb/v0.0.38/accounts Get account list
SlurmAPI SlurmdbV0038GetAssociation Get /slurmdb/v0.0.38/association Get association info
SlurmAPI SlurmdbV0038GetAssociations Get /slurmdb/v0.0.38/associations Get association list
SlurmAPI SlurmdbV0038GetCluster Get /slurmdb/v0.0.38/cluster/{cluster_name} Get cluster info
SlurmAPI SlurmdbV0038GetClusters Get /slurmdb/v0.0.38/clusters Get cluster list
SlurmAPI SlurmdbV0038GetConfig Get /slurmdb/v0.0.38/config Dump all configuration information
SlurmAPI SlurmdbV0038GetJob Get /slurmdb/v0.0.38/job/{job_id} Get job info
SlurmAPI SlurmdbV0038GetJobs Get /slurmdb/v0.0.38/jobs Get job list
SlurmAPI SlurmdbV0038GetQos Get /slurmdb/v0.0.38/qos Get QOS list
SlurmAPI SlurmdbV0038GetSingleQos Get /slurmdb/v0.0.38/qos/{qos_name} Get QOS info
SlurmAPI SlurmdbV0038GetTres Get /slurmdb/v0.0.38/tres Get TRES info
SlurmAPI SlurmdbV0038GetUser Get /slurmdb/v0.0.38/user/{user_name} Get user info
SlurmAPI SlurmdbV0038GetUsers Get /slurmdb/v0.0.38/users Get user list
SlurmAPI SlurmdbV0038GetWckey Get /slurmdb/v0.0.38/wckey/{wckey} Get wckey info
SlurmAPI SlurmdbV0038GetWckeys Get /slurmdb/v0.0.38/wckeys Get wckey list
SlurmAPI SlurmdbV0038SetConfig Post /slurmdb/v0.0.38/config Load all configuration information
SlurmAPI SlurmdbV0038UpdateAccount Post /slurmdb/v0.0.38/accounts Update accounts
SlurmAPI SlurmdbV0038UpdateAssociations Post /slurmdb/v0.0.38/associations Set associations info
SlurmAPI SlurmdbV0038UpdateQos Post /slurmdb/v0.0.38/qos Set QOS info
SlurmAPI SlurmdbV0038UpdateTres Post /slurmdb/v0.0.38/tres Set TRES info
SlurmAPI SlurmdbV0038UpdateUsers Post /slurmdb/v0.0.38/users Update user
SlurmAPI SlurmdbV0039AddClusters Post /slurmdb/v0.0.39/clusters Add clusters
SlurmAPI SlurmdbV0039AddWckeys Post /slurmdb/v0.0.39/wckeys Add wckeys
SlurmAPI SlurmdbV0039DeleteAccount Delete /slurmdb/v0.0.39/account/{account_name} Delete account
SlurmAPI SlurmdbV0039DeleteAssociation Delete /slurmdb/v0.0.39/association Delete association
SlurmAPI SlurmdbV0039DeleteAssociations Delete /slurmdb/v0.0.39/associations Delete associations
SlurmAPI SlurmdbV0039DeleteCluster Delete /slurmdb/v0.0.39/cluster/{cluster_name} Delete cluster
SlurmAPI SlurmdbV0039DeleteQos Delete /slurmdb/v0.0.39/qos/{qos_name} Delete QOS
SlurmAPI SlurmdbV0039DeleteUser Delete /slurmdb/v0.0.39/user/{user_name} Delete user
SlurmAPI SlurmdbV0039DeleteWckey Delete /slurmdb/v0.0.39/wckey/{wckey} Delete wckey
SlurmAPI SlurmdbV0039Diag Get /slurmdb/v0.0.39/diag Get slurmdb diagnostics
SlurmAPI SlurmdbV0039GetAccount Get /slurmdb/v0.0.39/account/{account_name} Get account info
SlurmAPI SlurmdbV0039GetAccounts Get /slurmdb/v0.0.39/accounts Get account list
SlurmAPI SlurmdbV0039GetAssociation Get /slurmdb/v0.0.39/association Get association info
SlurmAPI SlurmdbV0039GetAssociations Get /slurmdb/v0.0.39/associations Get association list
SlurmAPI SlurmdbV0039GetCluster Get /slurmdb/v0.0.39/cluster/{cluster_name} Get cluster info
SlurmAPI SlurmdbV0039GetClusters Get /slurmdb/v0.0.39/clusters Get cluster list
SlurmAPI SlurmdbV0039GetConfig Get /slurmdb/v0.0.39/config Dump all configuration information
SlurmAPI SlurmdbV0039GetJob Get /slurmdb/v0.0.39/job/{job_id} Get job info
SlurmAPI SlurmdbV0039GetJobs Get /slurmdb/v0.0.39/jobs Get job list
SlurmAPI SlurmdbV0039GetQos Get /slurmdb/v0.0.39/qos Get QOS list
SlurmAPI SlurmdbV0039GetSingleQos Get /slurmdb/v0.0.39/qos/{qos_name} Get QOS info
SlurmAPI SlurmdbV0039GetTres Get /slurmdb/v0.0.39/tres Get TRES info
SlurmAPI SlurmdbV0039GetUser Get /slurmdb/v0.0.39/user/{user_name} Get user info
SlurmAPI SlurmdbV0039GetUsers Get /slurmdb/v0.0.39/users Get user list
SlurmAPI SlurmdbV0039GetWckey Get /slurmdb/v0.0.39/wckey/{wckey} Get wckey info
SlurmAPI SlurmdbV0039GetWckeys Get /slurmdb/v0.0.39/wckeys Get wckey list
SlurmAPI SlurmdbV0039SetConfig Post /slurmdb/v0.0.39/config Load all configuration information
SlurmAPI SlurmdbV0039UpdateAccounts Post /slurmdb/v0.0.39/accounts Update accounts
SlurmAPI SlurmdbV0039UpdateAssociations Post /slurmdb/v0.0.39/associations Set associations info
SlurmAPI SlurmdbV0039UpdateQos Post /slurmdb/v0.0.39/qos Set QOS info
SlurmAPI SlurmdbV0039UpdateTres Post /slurmdb/v0.0.39/tres Set TRES info
SlurmAPI SlurmdbV0039UpdateUsers Post /slurmdb/v0.0.39/users Update user
SlurmdbAPI SlurmdbV0040DeleteAccount Delete /slurmdb/v0.0.40/account/{account_name} Delete account
SlurmdbAPI SlurmdbV0040DeleteAssociation Delete /slurmdb/v0.0.40/association Delete association
SlurmdbAPI SlurmdbV0040DeleteAssociations Delete /slurmdb/v0.0.40/associations Delete associations
SlurmdbAPI SlurmdbV0040DeleteCluster Delete /slurmdb/v0.0.40/cluster/{cluster_name} Delete cluster
SlurmdbAPI SlurmdbV0040DeleteSingleQos Delete /slurmdb/v0.0.40/qos/{qos} Delete QOS
SlurmdbAPI SlurmdbV0040DeleteUser Delete /slurmdb/v0.0.40/user/{name} Delete user
SlurmdbAPI SlurmdbV0040DeleteWckey Delete /slurmdb/v0.0.40/wckey/{id} Delete wckey
SlurmdbAPI SlurmdbV0040GetAccount Get /slurmdb/v0.0.40/account/{account_name} Get account info
SlurmdbAPI SlurmdbV0040GetAccounts Get /slurmdb/v0.0.40/accounts Get account list
SlurmdbAPI SlurmdbV0040GetAssociation Get /slurmdb/v0.0.40/association Get association info
SlurmdbAPI SlurmdbV0040GetAssociations Get /slurmdb/v0.0.40/associations Get association list
SlurmdbAPI SlurmdbV0040GetCluster Get /slurmdb/v0.0.40/cluster/{cluster_name} Get cluster info
SlurmdbAPI SlurmdbV0040GetClusters Get /slurmdb/v0.0.40/clusters Get cluster list
SlurmdbAPI SlurmdbV0040GetConfig Get /slurmdb/v0.0.40/config Dump all configuration information
SlurmdbAPI SlurmdbV0040GetDiag Get /slurmdb/v0.0.40/diag Get slurmdb diagnostics
SlurmdbAPI SlurmdbV0040GetInstance Get /slurmdb/v0.0.40/instance Get instance info
SlurmdbAPI SlurmdbV0040GetInstances Get /slurmdb/v0.0.40/instances Get instance list
SlurmdbAPI SlurmdbV0040GetJob Get /slurmdb/v0.0.40/job/{job_id} Get job info
SlurmdbAPI SlurmdbV0040GetJobs Get /slurmdb/v0.0.40/jobs Get job list
SlurmdbAPI SlurmdbV0040GetQos Get /slurmdb/v0.0.40/qos Get QOS list
SlurmdbAPI SlurmdbV0040GetSingleQos Get /slurmdb/v0.0.40/qos/{qos} Get QOS info
SlurmdbAPI SlurmdbV0040GetTres Get /slurmdb/v0.0.40/tres Get TRES info
SlurmdbAPI SlurmdbV0040GetUser Get /slurmdb/v0.0.40/user/{name} Get user info
SlurmdbAPI SlurmdbV0040GetUsers Get /slurmdb/v0.0.40/users Get user list
SlurmdbAPI SlurmdbV0040GetWckey Get /slurmdb/v0.0.40/wckey/{id} Get wckey info
SlurmdbAPI SlurmdbV0040GetWckeys Get /slurmdb/v0.0.40/wckeys Get wckey list
SlurmdbAPI SlurmdbV0040PostAccounts Post /slurmdb/v0.0.40/accounts Update accounts
SlurmdbAPI SlurmdbV0040PostAccountsAssociation Post /slurmdb/v0.0.40/accounts_association Add accounts with conditional association
SlurmdbAPI SlurmdbV0040PostAssociations Post /slurmdb/v0.0.40/associations Set associations info
SlurmdbAPI SlurmdbV0040PostClusters Post /slurmdb/v0.0.40/clusters update clusters
SlurmdbAPI SlurmdbV0040PostConfig Post /slurmdb/v0.0.40/config Load all configuration information
SlurmdbAPI SlurmdbV0040PostQos Post /slurmdb/v0.0.40/qos Set QOS info
SlurmdbAPI SlurmdbV0040PostTres Post /slurmdb/v0.0.40/tres Set TRES info
SlurmdbAPI SlurmdbV0040PostUsers Post /slurmdb/v0.0.40/users Update user
SlurmdbAPI SlurmdbV0040PostUsersAssociation Post /slurmdb/v0.0.40/users_association Add users with conditional association
SlurmdbAPI SlurmdbV0040PostWckeys Post /slurmdb/v0.0.40/wckeys Add wckeys

Documentation For Models

Documentation For Authorization

Authentication schemes defined for the API:

user
  • 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(),
		openapi.ContextAPIKeys,
		map[string]openapi.APIKey{
			"X-SLURM-USER-NAME": {Key: "API_KEY_STRING"},
		},
	)
r, err := client.Service.Operation(auth, args)
token
  • 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(),
		openapi.ContextAPIKeys,
		map[string]openapi.APIKey{
			"X-SLURM-USER-TOKEN": {Key: "API_KEY_STRING"},
		},
	)
r, err := client.Service.Operation(auth, args)
bearerAuth
  • Type: HTTP Bearer token authentication

Example

auth := context.WithValue(context.Background(), openapi.ContextAccessToken, "BEARER_TOKEN_STRING")
r, err := client.Service.Operation(auth, args)

Documentation for Utility Methods

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

Author

sales@schedmd.com

Documentation ¶

Index ¶