Files
paralus/components/common/pkg/controller/util/object.go
2022-02-22 11:41:48 +05:30

22 lines
667 B
Go

package util
import (
"github.com/RafaySystems/rcloud-base/components/common/pkg/controller/scheme"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/runtime/schema"
"sigs.k8s.io/controller-runtime/pkg/client"
)
// NewObject returns new object of given GVK
func NewObject(gvk schema.GroupVersionKind) (o client.Object, err error) {
return &unstructured.Unstructured{Object: map[string]interface{}{
"kind": gvk.Kind,
"apiVersion": gvk.GroupVersion().String(),
}}, nil
}
// KnownObject returns true if the object GVK is in scheme
func KnownObject(gvk schema.GroupVersionKind) bool {
return scheme.Scheme.Recognizes(gvk)
}