diff --git a/gnmiserver/model.go b/gnmiserver/model.go index bfaa6fc2f1531629c09ff47083b294ac762844d9..eac83a76127adeb6293edb8ae8f3584112647a61 100644 --- a/gnmiserver/model.go +++ b/gnmiserver/model.go @@ -26,7 +26,7 @@ import ( ) // JSONUnmarshaler is the signature of the Unmarshal() function in the GoStruct code generated by openconfig ygot library. -type JSONUnmarshaler func([]byte, ygot.GoStruct, ...ytypes.UnmarshalOpt) error +type JSONUnmarshaler func([]byte, ygot.ValidatedGoStruct, ...ytypes.UnmarshalOpt) error // GoStructEnumData is the data type to maintain GoStruct enum type. type GoStructEnumData map[string]map[int64]ygot.EnumDefinition @@ -65,7 +65,7 @@ func (m *Model) NewConfigStruct(jsonConfig []byte) (ygot.ValidatedGoStruct, erro if err := m.jsonUnmarshaler(jsonConfig, rootStruct); err != nil { return nil, err } - if err := rootStruct.Validate(); err != nil { + if err := rootStruct.ΛValidate(); err != nil { return nil, err } } @@ -80,4 +80,4 @@ func (m *Model) SupportedModels() []string { } sort.Strings(mDesc) return mDesc -} \ No newline at end of file +} diff --git a/gnmiserver/server.go b/gnmiserver/server.go index ddb7c9ef7df72884a0f27061c13c2de21cc21670..b28077ad9b62d04ae250a26bf51e050c15cd8704 100644 --- a/gnmiserver/server.go +++ b/gnmiserver/server.go @@ -193,7 +193,7 @@ func (s *Server) doReplaceOrUpdate(jsonTree map[string]interface{}, op pb.Update if err := s.model.jsonUnmarshaler(val.GetJsonIetfVal(), nodeStruct); err != nil { return nil, status.Errorf(codes.InvalidArgument, "unmarshaling json data to config struct fails: %v", err) } - if err := nodeStruct.Validate(); err != nil { + if err := nodeStruct.ΛValidate(); err != nil { return nil, status.Errorf(codes.InvalidArgument, "config data validation fails: %v", err) } var err error @@ -479,7 +479,7 @@ func (s *Server) Get(ctx context.Context, req *pb.GetRequest) (*pb.GetResponse, ts := time.Now().UnixNano() - nodeStruct, ok := node.(ygot.GoStruct) + nodeStruct, ok := node.(ygot.ValidatedGoStruct) // Return leaf node. if !ok { var val *pb.TypedValue diff --git a/go.mod b/go.mod index 381bdb998d778dde04cabf06610fd458347f789a..93e878fa3688dbb8a1f4a6dc761a98c8ee28f0cc 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.18 require ( github.com/golang/glog v1.0.0 github.com/golang/protobuf v1.5.2 - github.com/openconfig/gnmi v0.0.0-20210914185457-51254b657b7d + github.com/openconfig/gnmi v0.0.0-20220503232738-6eb133c65a13 github.com/openconfig/goyang v1.0.0 github.com/openconfig/ygot v0.18.1 github.com/sirupsen/logrus v1.8.1 diff --git a/go.sum b/go.sum index aee791470b6ba2fe590fbbe7c97cbd0854eec799..89806953b7ac6ddf695df5c80f4a865c07b235d5 100644 --- a/go.sum +++ b/go.sum @@ -217,6 +217,8 @@ github.com/openconfig/gnmi v0.0.0-20200414194230-1597cc0f2600/go.mod h1:M/EcuapN github.com/openconfig/gnmi v0.0.0-20200508230933-d19cebf5e7be/go.mod h1:M/EcuapNQgvzxo1DDXHK4tx3QpYM/uG4l591v33jG2A= github.com/openconfig/gnmi v0.0.0-20210914185457-51254b657b7d h1:ENKx1I2+/8C70C69qGDw8zfHXFsPnSMtZyf9F2GjN/k= github.com/openconfig/gnmi v0.0.0-20210914185457-51254b657b7d/go.mod h1:h365Ifq35G6kLZDQlRvrccTt2LKK90VpjZLMNGxJRYc= +github.com/openconfig/gnmi v0.0.0-20220503232738-6eb133c65a13 h1:6MHJ6YxMDr/dhS4mnM3sZxmolqgJw36ibOtwXNHTo6M= +github.com/openconfig/gnmi v0.0.0-20220503232738-6eb133c65a13/go.mod h1:h365Ifq35G6kLZDQlRvrccTt2LKK90VpjZLMNGxJRYc= github.com/openconfig/goyang v0.0.0-20200115183954-d0a48929f0ea/go.mod h1:dhXaV0JgHJzdrHi2l+w0fZrwArtXL7jEFoiqLEdmkvU= github.com/openconfig/goyang v0.2.2/go.mod h1:vX61x01Q46AzbZUzG617vWqh/cB+aisc+RrNkXRd3W8= github.com/openconfig/goyang v1.0.0 h1:nYaFu7BOAk/eQn4CgAUjgYPfp3J6CdXrBryp32E5CjI=