/
client_mon.go
47 lines (39 loc) · 1.1 KB
/
client_mon.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package cdsclient
import (
"context"
"encoding/json"
"fmt"
"github.com/ovh/cds/sdk"
)
func (c *client) MonStatus() (*sdk.MonitoringStatus, error) {
monStatus := sdk.MonitoringStatus{}
if _, err := c.GetJSON(context.Background(), "/mon/status", &monStatus); err != nil {
return nil, err
}
return &monStatus, nil
}
func (c *client) MonVersion() (*sdk.Version, error) {
monVersion := sdk.Version{}
if _, err := c.GetJSON(context.Background(), "/mon/version", &monVersion); err != nil {
return nil, err
}
return &monVersion, nil
}
func (c *client) MonDBMigrate() ([]sdk.MonDBMigrate, error) {
monDBMigrate := []sdk.MonDBMigrate{}
if _, err := c.GetJSON(context.Background(), "/mon/db/migrate", &monDBMigrate); err != nil {
return nil, err
}
return monDBMigrate, nil
}
func (c *client) MonErrorsGet(requestID string) ([]sdk.Error, error) {
res, _, _, err := c.Request(context.Background(), "GET", fmt.Sprintf("/mon/errors/%s", requestID), nil)
if err != nil {
return nil, err
}
var errs []sdk.Error
if err := json.Unmarshal(res, &errs); err != nil {
return nil, err
}
return errs, nil
}