mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-12-04 12:10:20 +00:00
a66012a5d4
Bumps [github.com/ceph/go-ceph](https://github.com/ceph/go-ceph) from 0.11.0 to 0.12.0. - [Release notes](https://github.com/ceph/go-ceph/releases) - [Changelog](https://github.com/ceph/go-ceph/blob/master/docs/release-process.md) - [Commits](https://github.com/ceph/go-ceph/compare/v0.11.0...v0.12.0) --- updated-dependencies: - dependency-name: github.com/ceph/go-ceph dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
41 lines
907 B
Go
41 lines
907 B
Go
//go:build !luminous && !mimic
|
|
// +build !luminous,!mimic
|
|
|
|
package admin
|
|
|
|
import (
|
|
"encoding/json"
|
|
"time"
|
|
)
|
|
|
|
// golang's date parsing approach is rather bizarre
|
|
var cephTSLayout = "2006-01-02 15:04:05"
|
|
|
|
// TimeStamp abstracts some of the details about date+time stamps
|
|
// returned by ceph via JSON.
|
|
type TimeStamp struct {
|
|
time.Time
|
|
}
|
|
|
|
// String returns a string representing the date+time as presented
|
|
// by ceph.
|
|
func (ts TimeStamp) String() string {
|
|
return ts.Format(cephTSLayout)
|
|
}
|
|
|
|
// UnmarshalJSON implements the json Unmarshaler interface.
|
|
func (ts *TimeStamp) UnmarshalJSON(b []byte) error {
|
|
var raw string
|
|
if err := json.Unmarshal(b, &raw); err != nil {
|
|
return err
|
|
}
|
|
// AFAICT, ceph always returns the time in UTC so Parse, as opposed to
|
|
// ParseInLocation, is appropriate here.
|
|
t, err := time.Parse(cephTSLayout, raw)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
*ts = TimeStamp{t}
|
|
return nil
|
|
}
|