1
0
mirror of https://github.com/gluster/glusterd2.git synced 2026-02-05 12:45:38 +01:00
Files
glusterd2/pkg/api/volstate_jsonenums.go
Prashanth Pai 9479122690 Convert enums to meaningful json strings in responses
Signed-off-by: Prashanth Pai <ppai@redhat.com>
2017-11-15 23:31:04 +05:30

60 lines
1.4 KiB
Go

// generated by jsonenums -type=VolState; DO NOT EDIT
package api
import (
"encoding/json"
"fmt"
)
var (
_VolStateNameToValue = map[string]VolState{
"VolCreated": VolCreated,
"VolStarted": VolStarted,
"VolStopped": VolStopped,
}
_VolStateValueToName = map[VolState]string{
VolCreated: "VolCreated",
VolStarted: "VolStarted",
VolStopped: "VolStopped",
}
)
func init() {
var v VolState
if _, ok := interface{}(v).(fmt.Stringer); ok {
_VolStateNameToValue = map[string]VolState{
interface{}(VolCreated).(fmt.Stringer).String(): VolCreated,
interface{}(VolStarted).(fmt.Stringer).String(): VolStarted,
interface{}(VolStopped).(fmt.Stringer).String(): VolStopped,
}
}
}
// MarshalJSON is generated so VolState satisfies json.Marshaler.
func (r VolState) MarshalJSON() ([]byte, error) {
if s, ok := interface{}(r).(fmt.Stringer); ok {
return json.Marshal(s.String())
}
s, ok := _VolStateValueToName[r]
if !ok {
return nil, fmt.Errorf("invalid VolState: %d", r)
}
return json.Marshal(s)
}
// UnmarshalJSON is generated so VolState satisfies json.Unmarshaler.
func (r *VolState) UnmarshalJSON(data []byte) error {
var s string
if err := json.Unmarshal(data, &s); err != nil {
return fmt.Errorf("VolState should be a string, got %s", data)
}
v, ok := _VolStateNameToValue[s]
if !ok {
return fmt.Errorf("invalid VolState %q", s)
}
*r = v
return nil
}