func (vs *VolumeStatus) UnmarshalJSON(b []byte) error {
	if strings.ToLower(string(b)) == "null" {
		*vs = VolumeStatusNone
		return nil
	}

	if b[0] != '"' || b[len(b)-1] != '"' {
		*vs = VolumeStatusNone
		return errors.New("resource status unmarshal: status must be a string or null; Got " + string(b))
	}

	strStatus := string(b[1 : len(b)-1])
	stat, ok := resourceStatusMap[strStatus]
	if !ok {
		*vs = VolumeStatusNone
		return errors.New("resource status unmarshal: unrecognized status")
	}
	*vs = stat
	return nil
}
func (vs *VolumeStatus) UnmarshalJSON(b []byte) error {
	if strings.ToLower(string(b)) == "null" {
		*vs = VolumeStatusNone
		return nil
	}

	if b[0] != '"' || b[len(b)-1] != '"' {
		*vs = VolumeStatusNone
		return errors.New("resource status unmarshal: status must be a string or null; Got " + string(b))
	}

	strStatus := string(b[1 : len(b)-1])
	stat, ok := resourceStatusMap[strStatus]
	if !ok {
		*vs = VolumeStatusNone
		return errors.New("resource status unmarshal: unrecognized status")
	}
	*vs = stat
	return nil
}
// UnmarshalJSON overrides the logic for parsing the JSON-encoded ResourceStatus data