package
0.0.0-20240627091348-6556860183e8
Repository: https://github.com/arangogutierrez/k-foundry.git
Documentation: pkg.go.dev

# 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

ClassMethodHTTP requestDescription
OpenapiAPIOpenapiGetGet /openapiRetrieve OpenAPI Specification
OpenapiAPIOpenapiJsonGetGet /openapi.jsonRetrieve OpenAPI Specification
OpenapiAPIOpenapiV3GetGet /openapi/v3Retrieve OpenAPI Specification
OpenapiAPIOpenapiYamlGetGet /openapi.yamlRetrieve OpenAPI Specification
SlurmAPISlurmV0038CancelJobDelete /slurm/v0.0.38/job/{job_id}cancel or signal job
SlurmAPISlurmV0038DiagGet /slurm/v0.0.38/diagget diagnostics
SlurmAPISlurmV0038GetJobGet /slurm/v0.0.38/job/{job_id}get job info
SlurmAPISlurmV0038GetJobsGet /slurm/v0.0.38/jobsget list of jobs
SlurmAPISlurmV0038GetNodeGet /slurm/v0.0.38/node/{node_name}get node info
SlurmAPISlurmV0038GetNodesGet /slurm/v0.0.38/nodesget all node info
SlurmAPISlurmV0038GetPartitionGet /slurm/v0.0.38/partition/{partition_name}get partition info
SlurmAPISlurmV0038GetPartitionsGet /slurm/v0.0.38/partitionsget all partition info
SlurmAPISlurmV0038GetReservationGet /slurm/v0.0.38/reservation/{reservation_name}get reservation info
SlurmAPISlurmV0038GetReservationsGet /slurm/v0.0.38/reservationsget all reservation info
SlurmAPISlurmV0038PingGet /slurm/v0.0.38/pingping test
SlurmAPISlurmV0038SlurmctldGetLicensesGet /slurm/v0.0.38/licensesget all Slurm tracked license info
SlurmAPISlurmV0038SubmitJobPost /slurm/v0.0.38/job/submitsubmit new job
SlurmAPISlurmV0038UpdateJobPost /slurm/v0.0.38/job/{job_id}update job
SlurmAPISlurmV0039CancelJobDelete /slurm/v0.0.39/job/{job_id}cancel or signal job
SlurmAPISlurmV0039DeleteNodeDelete /slurm/v0.0.39/node/{node_name}delete node
SlurmAPISlurmV0039DiagGet /slurm/v0.0.39/diagget diagnostics
SlurmAPISlurmV0039GetJobGet /slurm/v0.0.39/job/{job_id}get job info
SlurmAPISlurmV0039GetJobsGet /slurm/v0.0.39/jobsget list of jobs
SlurmAPISlurmV0039GetNodeGet /slurm/v0.0.39/node/{node_name}get node info
SlurmAPISlurmV0039GetNodesGet /slurm/v0.0.39/nodesget all node info
SlurmAPISlurmV0039GetPartitionGet /slurm/v0.0.39/partition/{partition_name}get partition info
SlurmAPISlurmV0039GetPartitionsGet /slurm/v0.0.39/partitionsget all partition info
SlurmAPISlurmV0039GetReservationGet /slurm/v0.0.39/reservation/{reservation_name}get reservation info
SlurmAPISlurmV0039GetReservationsGet /slurm/v0.0.39/reservationsget all reservation info
SlurmAPISlurmV0039PingGet /slurm/v0.0.39/pingping test
SlurmAPISlurmV0039SlurmctldGetLicensesGet /slurm/v0.0.39/licensesget all Slurm tracked license info
SlurmAPISlurmV0039SubmitJobPost /slurm/v0.0.39/job/submitsubmit new job
SlurmAPISlurmV0039UpdateJobPost /slurm/v0.0.39/job/{job_id}update job
SlurmAPISlurmV0039UpdateNodePost /slurm/v0.0.39/node/{node_name}update node properties
SlurmAPISlurmV0040DeleteJobDelete /slurm/v0.0.40/job/{job_id}cancel or signal job
SlurmAPISlurmV0040DeleteNodeDelete /slurm/v0.0.40/node/{node_name}delete node
SlurmAPISlurmV0040GetDiagGet /slurm/v0.0.40/diagget diagnostics
SlurmAPISlurmV0040GetJobGet /slurm/v0.0.40/job/{job_id}get job info
SlurmAPISlurmV0040GetJobsGet /slurm/v0.0.40/jobsget list of jobs
SlurmAPISlurmV0040GetJobsStateGet /slurm/v0.0.40/jobs/stateget list of job states
SlurmAPISlurmV0040GetLicensesGet /slurm/v0.0.40/licensesget all Slurm tracked license info
SlurmAPISlurmV0040GetNodeGet /slurm/v0.0.40/node/{node_name}get node info
SlurmAPISlurmV0040GetNodesGet /slurm/v0.0.40/nodesget all node info
SlurmAPISlurmV0040GetPartitionGet /slurm/v0.0.40/partition/{partition_name}get partition info
SlurmAPISlurmV0040GetPartitionsGet /slurm/v0.0.40/partitionsget all partition info
SlurmAPISlurmV0040GetPingGet /slurm/v0.0.40/pingping test
SlurmAPISlurmV0040GetReconfigureGet /slurm/v0.0.40/reconfigurerequest slurmctld reconfigure
SlurmAPISlurmV0040GetReservationGet /slurm/v0.0.40/reservation/{reservation_name}get reservation info
SlurmAPISlurmV0040GetReservationsGet /slurm/v0.0.40/reservationsget all reservation info
SlurmAPISlurmV0040GetSharesGet /slurm/v0.0.40/sharesget fairshare info
SlurmAPISlurmV0040PostJobPost /slurm/v0.0.40/job/{job_id}update job
SlurmAPISlurmV0040PostJobSubmitPost /slurm/v0.0.40/job/submitsubmit new job
SlurmAPISlurmV0040PostNodePost /slurm/v0.0.40/node/{node_name}update node properties
SlurmAPISlurmdbV0038AddClustersPost /slurmdb/v0.0.38/clustersAdd clusters
SlurmAPISlurmdbV0038AddWckeysPost /slurmdb/v0.0.38/wckeysAdd wckeys
SlurmAPISlurmdbV0038DeleteAccountDelete /slurmdb/v0.0.38/account/{account_name}Delete account
SlurmAPISlurmdbV0038DeleteAssociationDelete /slurmdb/v0.0.38/associationDelete association
SlurmAPISlurmdbV0038DeleteAssociationsDelete /slurmdb/v0.0.38/associationsDelete associations
SlurmAPISlurmdbV0038DeleteClusterDelete /slurmdb/v0.0.38/cluster/{cluster_name}Delete cluster
SlurmAPISlurmdbV0038DeleteQosDelete /slurmdb/v0.0.38/qos/{qos_name}Delete QOS
SlurmAPISlurmdbV0038DeleteUserDelete /slurmdb/v0.0.38/user/{user_name}Delete user
SlurmAPISlurmdbV0038DeleteWckeyDelete /slurmdb/v0.0.38/wckey/{wckey}Delete wckey
SlurmAPISlurmdbV0038DiagGet /slurmdb/v0.0.38/diagGet slurmdb diagnostics
SlurmAPISlurmdbV0038GetAccountGet /slurmdb/v0.0.38/account/{account_name}Get account info
SlurmAPISlurmdbV0038GetAccountsGet /slurmdb/v0.0.38/accountsGet account list
SlurmAPISlurmdbV0038GetAssociationGet /slurmdb/v0.0.38/associationGet association info
SlurmAPISlurmdbV0038GetAssociationsGet /slurmdb/v0.0.38/associationsGet association list
SlurmAPISlurmdbV0038GetClusterGet /slurmdb/v0.0.38/cluster/{cluster_name}Get cluster info
SlurmAPISlurmdbV0038GetClustersGet /slurmdb/v0.0.38/clustersGet cluster list
SlurmAPISlurmdbV0038GetConfigGet /slurmdb/v0.0.38/configDump all configuration information
SlurmAPISlurmdbV0038GetJobGet /slurmdb/v0.0.38/job/{job_id}Get job info
SlurmAPISlurmdbV0038GetJobsGet /slurmdb/v0.0.38/jobsGet job list
SlurmAPISlurmdbV0038GetQosGet /slurmdb/v0.0.38/qosGet QOS list
SlurmAPISlurmdbV0038GetSingleQosGet /slurmdb/v0.0.38/qos/{qos_name}Get QOS info
SlurmAPISlurmdbV0038GetTresGet /slurmdb/v0.0.38/tresGet TRES info
SlurmAPISlurmdbV0038GetUserGet /slurmdb/v0.0.38/user/{user_name}Get user info
SlurmAPISlurmdbV0038GetUsersGet /slurmdb/v0.0.38/usersGet user list
SlurmAPISlurmdbV0038GetWckeyGet /slurmdb/v0.0.38/wckey/{wckey}Get wckey info
SlurmAPISlurmdbV0038GetWckeysGet /slurmdb/v0.0.38/wckeysGet wckey list
SlurmAPISlurmdbV0038SetConfigPost /slurmdb/v0.0.38/configLoad all configuration information
SlurmAPISlurmdbV0038UpdateAccountPost /slurmdb/v0.0.38/accountsUpdate accounts
SlurmAPISlurmdbV0038UpdateAssociationsPost /slurmdb/v0.0.38/associationsSet associations info
SlurmAPISlurmdbV0038UpdateQosPost /slurmdb/v0.0.38/qosSet QOS info
SlurmAPISlurmdbV0038UpdateTresPost /slurmdb/v0.0.38/tresSet TRES info
SlurmAPISlurmdbV0038UpdateUsersPost /slurmdb/v0.0.38/usersUpdate user
SlurmAPISlurmdbV0039AddClustersPost /slurmdb/v0.0.39/clustersAdd clusters
SlurmAPISlurmdbV0039AddWckeysPost /slurmdb/v0.0.39/wckeysAdd wckeys
SlurmAPISlurmdbV0039DeleteAccountDelete /slurmdb/v0.0.39/account/{account_name}Delete account
SlurmAPISlurmdbV0039DeleteAssociationDelete /slurmdb/v0.0.39/associationDelete association
SlurmAPISlurmdbV0039DeleteAssociationsDelete /slurmdb/v0.0.39/associationsDelete associations
SlurmAPISlurmdbV0039DeleteClusterDelete /slurmdb/v0.0.39/cluster/{cluster_name}Delete cluster
SlurmAPISlurmdbV0039DeleteQosDelete /slurmdb/v0.0.39/qos/{qos_name}Delete QOS
SlurmAPISlurmdbV0039DeleteUserDelete /slurmdb/v0.0.39/user/{user_name}Delete user
SlurmAPISlurmdbV0039DeleteWckeyDelete /slurmdb/v0.0.39/wckey/{wckey}Delete wckey
SlurmAPISlurmdbV0039DiagGet /slurmdb/v0.0.39/diagGet slurmdb diagnostics
SlurmAPISlurmdbV0039GetAccountGet /slurmdb/v0.0.39/account/{account_name}Get account info
SlurmAPISlurmdbV0039GetAccountsGet /slurmdb/v0.0.39/accountsGet account list
SlurmAPISlurmdbV0039GetAssociationGet /slurmdb/v0.0.39/associationGet association info
SlurmAPISlurmdbV0039GetAssociationsGet /slurmdb/v0.0.39/associationsGet association list
SlurmAPISlurmdbV0039GetClusterGet /slurmdb/v0.0.39/cluster/{cluster_name}Get cluster info
SlurmAPISlurmdbV0039GetClustersGet /slurmdb/v0.0.39/clustersGet cluster list
SlurmAPISlurmdbV0039GetConfigGet /slurmdb/v0.0.39/configDump all configuration information
SlurmAPISlurmdbV0039GetJobGet /slurmdb/v0.0.39/job/{job_id}Get job info
SlurmAPISlurmdbV0039GetJobsGet /slurmdb/v0.0.39/jobsGet job list
SlurmAPISlurmdbV0039GetQosGet /slurmdb/v0.0.39/qosGet QOS list
SlurmAPISlurmdbV0039GetSingleQosGet /slurmdb/v0.0.39/qos/{qos_name}Get QOS info
SlurmAPISlurmdbV0039GetTresGet /slurmdb/v0.0.39/tresGet TRES info
SlurmAPISlurmdbV0039GetUserGet /slurmdb/v0.0.39/user/{user_name}Get user info
SlurmAPISlurmdbV0039GetUsersGet /slurmdb/v0.0.39/usersGet user list
SlurmAPISlurmdbV0039GetWckeyGet /slurmdb/v0.0.39/wckey/{wckey}Get wckey info
SlurmAPISlurmdbV0039GetWckeysGet /slurmdb/v0.0.39/wckeysGet wckey list
SlurmAPISlurmdbV0039SetConfigPost /slurmdb/v0.0.39/configLoad all configuration information
SlurmAPISlurmdbV0039UpdateAccountsPost /slurmdb/v0.0.39/accountsUpdate accounts
SlurmAPISlurmdbV0039UpdateAssociationsPost /slurmdb/v0.0.39/associationsSet associations info
SlurmAPISlurmdbV0039UpdateQosPost /slurmdb/v0.0.39/qosSet QOS info
SlurmAPISlurmdbV0039UpdateTresPost /slurmdb/v0.0.39/tresSet TRES info
SlurmAPISlurmdbV0039UpdateUsersPost /slurmdb/v0.0.39/usersUpdate user
SlurmdbAPISlurmdbV0040DeleteAccountDelete /slurmdb/v0.0.40/account/{account_name}Delete account
SlurmdbAPISlurmdbV0040DeleteAssociationDelete /slurmdb/v0.0.40/associationDelete association
SlurmdbAPISlurmdbV0040DeleteAssociationsDelete /slurmdb/v0.0.40/associationsDelete associations
SlurmdbAPISlurmdbV0040DeleteClusterDelete /slurmdb/v0.0.40/cluster/{cluster_name}Delete cluster
SlurmdbAPISlurmdbV0040DeleteSingleQosDelete /slurmdb/v0.0.40/qos/{qos}Delete QOS
SlurmdbAPISlurmdbV0040DeleteUserDelete /slurmdb/v0.0.40/user/{name}Delete user
SlurmdbAPISlurmdbV0040DeleteWckeyDelete /slurmdb/v0.0.40/wckey/{id}Delete wckey
SlurmdbAPISlurmdbV0040GetAccountGet /slurmdb/v0.0.40/account/{account_name}Get account info
SlurmdbAPISlurmdbV0040GetAccountsGet /slurmdb/v0.0.40/accountsGet account list
SlurmdbAPISlurmdbV0040GetAssociationGet /slurmdb/v0.0.40/associationGet association info
SlurmdbAPISlurmdbV0040GetAssociationsGet /slurmdb/v0.0.40/associationsGet association list
SlurmdbAPISlurmdbV0040GetClusterGet /slurmdb/v0.0.40/cluster/{cluster_name}Get cluster info
SlurmdbAPISlurmdbV0040GetClustersGet /slurmdb/v0.0.40/clustersGet cluster list
SlurmdbAPISlurmdbV0040GetConfigGet /slurmdb/v0.0.40/configDump all configuration information
SlurmdbAPISlurmdbV0040GetDiagGet /slurmdb/v0.0.40/diagGet slurmdb diagnostics
SlurmdbAPISlurmdbV0040GetInstanceGet /slurmdb/v0.0.40/instanceGet instance info
SlurmdbAPISlurmdbV0040GetInstancesGet /slurmdb/v0.0.40/instancesGet instance list
SlurmdbAPISlurmdbV0040GetJobGet /slurmdb/v0.0.40/job/{job_id}Get job info
SlurmdbAPISlurmdbV0040GetJobsGet /slurmdb/v0.0.40/jobsGet job list
SlurmdbAPISlurmdbV0040GetQosGet /slurmdb/v0.0.40/qosGet QOS list
SlurmdbAPISlurmdbV0040GetSingleQosGet /slurmdb/v0.0.40/qos/{qos}Get QOS info
SlurmdbAPISlurmdbV0040GetTresGet /slurmdb/v0.0.40/tresGet TRES info
SlurmdbAPISlurmdbV0040GetUserGet /slurmdb/v0.0.40/user/{name}Get user info
SlurmdbAPISlurmdbV0040GetUsersGet /slurmdb/v0.0.40/usersGet user list
SlurmdbAPISlurmdbV0040GetWckeyGet /slurmdb/v0.0.40/wckey/{id}Get wckey info
SlurmdbAPISlurmdbV0040GetWckeysGet /slurmdb/v0.0.40/wckeysGet wckey list
SlurmdbAPISlurmdbV0040PostAccountsPost /slurmdb/v0.0.40/accountsUpdate accounts
SlurmdbAPISlurmdbV0040PostAccountsAssociationPost /slurmdb/v0.0.40/accounts_associationAdd accounts with conditional association
SlurmdbAPISlurmdbV0040PostAssociationsPost /slurmdb/v0.0.40/associationsSet associations info
SlurmdbAPISlurmdbV0040PostClustersPost /slurmdb/v0.0.40/clustersupdate clusters
SlurmdbAPISlurmdbV0040PostConfigPost /slurmdb/v0.0.40/configLoad all configuration information
SlurmdbAPISlurmdbV0040PostQosPost /slurmdb/v0.0.40/qosSet QOS info
SlurmdbAPISlurmdbV0040PostTresPost /slurmdb/v0.0.40/tresSet TRES info
SlurmdbAPISlurmdbV0040PostUsersPost /slurmdb/v0.0.40/usersUpdate user
SlurmdbAPISlurmdbV0040PostUsersAssociationPost /slurmdb/v0.0.40/users_associationAdd users with conditional association
SlurmdbAPISlurmdbV0040PostWckeysPost /slurmdb/v0.0.40/wckeysAdd 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

[email protected]