Files
decort-golang-sdk/pkg/cloudbroker/basismpm/status.go
2026-10-16 15:23:28 +03:00

48 lines
1.2 KiB
Go

package basismpm
import (
"context"
"encoding/json"
"net/http"
"repository.basistech.ru/BASIS/decort-golang-sdk/internal/constants"
"repository.basistech.ru/BASIS/decort-golang-sdk/internal/validators"
)
// StatusRequest to get basis_mpm service status on a node
type StatusRequest struct {
// Node ID
// Required: true
NodeID uint64 `url:"node_id" json:"node_id" validate:"required"`
}
// Status gets basis_mpm service status on a node
func (bm BasisMPM) Status(ctx context.Context, req StatusRequest) (*RecordBasisMPM, error) {
res, err := bm.StatusRaw(ctx, req)
if err != nil {
return nil, err
}
info := RecordBasisMPM{}
err = json.Unmarshal(res, &info)
if err != nil {
return nil, err
}
return &info, nil
}
// StatusRaw gets basis_mpm service status on a node as an array of bites
func (bm BasisMPM) StatusRaw(ctx context.Context, req StatusRequest) ([]byte, error) {
err := validators.ValidateRequest(req)
if err != nil {
return nil, validators.ValidationErrors(validators.GetErrors(err))
}
url := "/cloudbroker/basis_mpm/status"
res, err := bm.client.DecortApiCallCtype(ctx, http.MethodPost, url, constants.MIMEJSON, req)
return res, err
}