From af0603d6db82f884552644b3b78f02c8e6ffae56 Mon Sep 17 00:00:00 2001 From: Yousong Zhou Date: Tue, 11 Sep 2018 12:55:49 +0000 Subject: [PATCH] mcclient: options: accomodate time.Time type --- pkg/mcclient/options/base.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkg/mcclient/options/base.go b/pkg/mcclient/options/base.go index 5480be1395..eafefcceec 100644 --- a/pkg/mcclient/options/base.go +++ b/pkg/mcclient/options/base.go @@ -3,6 +3,7 @@ package options import ( "fmt" "reflect" + "time" "yunion.io/x/jsonutils" "yunion.io/x/pkg/gotypes" @@ -88,6 +89,11 @@ func optionsStructRvToParams(rv reflect.Value) (*jsonutils.JSONDict, error) { if ft.Anonymous { continue } + if f.Type() == gotypes.TimeType { + t := f.Interface().(time.Time) + p.Set(name, jsonutils.NewTimeString(t)) + continue + } // TODO msg := fmt.Sprintf("do not know what to do with non-anonymous struct field: %s", ft.Name) panic(msg)