diff options
Diffstat (limited to 'plugin/kubernetes/object/service.go')
-rw-r--r-- | plugin/kubernetes/object/service.go | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/plugin/kubernetes/object/service.go b/plugin/kubernetes/object/service.go index 295715e2d..3dc061528 100644 --- a/plugin/kubernetes/object/service.go +++ b/plugin/kubernetes/object/service.go @@ -1,6 +1,8 @@ package object import ( + "fmt" + api "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/runtime" ) @@ -28,17 +30,16 @@ func ServiceKey(name, namespace string) string { return name + "." + namespace } // ToService returns a function that converts an api.Service to a *Service. func ToService(skipCleanup bool) ToFunc { - return func(obj interface{}) interface{} { - return toService(skipCleanup, obj) + return func(obj interface{}) (interface{}, error) { + svc, ok := obj.(*api.Service) + if !ok { + return nil, fmt.Errorf("unexpected object %v", obj) + } + return toService(skipCleanup, svc), nil } } -func toService(skipCleanup bool, obj interface{}) interface{} { - svc, ok := obj.(*api.Service) - if !ok { - return nil - } - +func toService(skipCleanup bool, svc *api.Service) *Service { s := &Service{ Version: svc.GetResourceVersion(), Name: svc.GetName(), |