包含 StatsMsg(含调度和回填统计)、ControllerPing、License 等类型。实现 4 个服务:DiagService.GetDiag、PingService.Ping、LicensesService.GetLicenses、ReconfigureService.Reconfigure。 Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
68 lines
1.7 KiB
Go
68 lines
1.7 KiB
Go
package slurm
|
|
|
|
import "context"
|
|
|
|
// GetDiag returns slurm diagnostics information.
|
|
func (s *DiagService) GetDiag(ctx context.Context) (*OpenapiDiagResp, *Response, error) {
|
|
path := "slurm/v0.0.40/diag"
|
|
req, err := s.client.NewRequest("GET", path, nil)
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
|
|
var result OpenapiDiagResp
|
|
resp, err := s.client.Do(ctx, req, &result)
|
|
if err != nil {
|
|
return nil, resp, err
|
|
}
|
|
return &result, resp, nil
|
|
}
|
|
|
|
// Ping returns slurm controller ping information.
|
|
func (s *PingService) Ping(ctx context.Context) (*OpenapiPingArrayResp, *Response, error) {
|
|
path := "slurm/v0.0.40/ping"
|
|
req, err := s.client.NewRequest("GET", path, nil)
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
|
|
var result OpenapiPingArrayResp
|
|
resp, err := s.client.Do(ctx, req, &result)
|
|
if err != nil {
|
|
return nil, resp, err
|
|
}
|
|
return &result, resp, nil
|
|
}
|
|
|
|
// GetLicenses returns slurm license information.
|
|
func (s *LicensesService) GetLicenses(ctx context.Context) (*OpenapiLicensesResp, *Response, error) {
|
|
path := "slurm/v0.0.40/licenses"
|
|
req, err := s.client.NewRequest("GET", path, nil)
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
|
|
var result OpenapiLicensesResp
|
|
resp, err := s.client.Do(ctx, req, &result)
|
|
if err != nil {
|
|
return nil, resp, err
|
|
}
|
|
return &result, resp, nil
|
|
}
|
|
|
|
// Reconfigure requests slurm reconfigure.
|
|
func (s *ReconfigureService) Reconfigure(ctx context.Context) (*OpenapiResp, *Response, error) {
|
|
path := "slurm/v0.0.40/reconfigure"
|
|
req, err := s.client.NewRequest("GET", path, nil)
|
|
if err != nil {
|
|
return nil, nil, err
|
|
}
|
|
|
|
var result OpenapiResp
|
|
resp, err := s.client.Do(ctx, req, &result)
|
|
if err != nil {
|
|
return nil, resp, err
|
|
}
|
|
return &result, resp, nil
|
|
}
|