package v0alpha1 import ( "fmt" "time" common "github.com/grafana/grafana/pkg/apimachinery/apis/common/v0alpha1" "github.com/grafana/grafana/pkg/apimachinery/utils" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" ) const ( GROUP = "dashboard.grafana.app" VERSION = "v0alpha1" APIVERSION = GROUP + "/" + VERSION ) var DashboardResourceInfo = common.NewResourceInfo(GROUP, VERSION, "dashboards", "dashboard", "Dashboard", func() runtime.Object { return &Dashboard{} }, func() runtime.Object { return &DashboardList{} }, utils.TableColumns{ Definition: []metav1.TableColumnDefinition{ {Name: "Name", Type: "string", Format: "name"}, {Name: "Title", Type: "string", Format: "string", Description: "The dashboard name"}, {Name: "Created At", Type: "date"}, }, Reader: func(obj any) ([]interface{}, error) { dash, ok := obj.(*Dashboard) if ok { if dash != nil { return []interface{}{ dash.Name, dash.Spec.GetNestedString("title"), dash.CreationTimestamp.UTC().Format(time.RFC3339), }, nil } } return nil, fmt.Errorf("expected dashboard") }, }, ) var LibraryPanelResourceInfo = common.NewResourceInfo(GROUP, VERSION, "librarypanels", "librarypanel", "LibraryPanel", func() runtime.Object { return &LibraryPanel{} }, func() runtime.Object { return &LibraryPanelList{} }, utils.TableColumns{ Definition: []metav1.TableColumnDefinition{ {Name: "Name", Type: "string", Format: "name"}, {Name: "Title", Type: "string", Description: "The dashboard name"}, {Name: "Type", Type: "string", Description: "the panel type"}, {Name: "Created At", Type: "date"}, }, Reader: func(obj any) ([]interface{}, error) { dash, ok := obj.(*LibraryPanel) if ok { if dash != nil { return []interface{}{ dash.Name, dash.Spec.Title, dash.Spec.Type, dash.CreationTimestamp.UTC().Format(time.RFC3339), }, nil } } return nil, fmt.Errorf("expected library panel") }, }, ) var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: GROUP, Version: VERSION} )