2024-01-13 04:05:30 +08:00
|
|
|
package v0alpha1
|
|
|
|
|
|
|
|
import (
|
2024-08-05 20:38:12 +08:00
|
|
|
"fmt"
|
|
|
|
"time"
|
2024-01-13 04:05:30 +08:00
|
|
|
|
2024-08-05 20:38:12 +08:00
|
|
|
"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"
|
2024-01-13 04:05:30 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
const (
|
2024-06-01 01:29:59 +08:00
|
|
|
GROUP = "playlist.grafana.app"
|
|
|
|
VERSION = "v0alpha1"
|
|
|
|
APIVERSION = GROUP + "/" + VERSION
|
|
|
|
RESOURCE = "playlists"
|
2024-09-05 20:41:28 +08:00
|
|
|
RESOURCEGROUP = RESOURCE + "." + GROUP
|
2024-01-13 04:05:30 +08:00
|
|
|
)
|
|
|
|
|
2024-09-04 19:53:14 +08:00
|
|
|
var PlaylistResourceInfo = utils.NewResourceInfo(GROUP, VERSION,
|
2024-06-01 01:29:59 +08:00
|
|
|
RESOURCE, "playlist", "Playlist",
|
2024-01-13 04:05:30 +08:00
|
|
|
func() runtime.Object { return &Playlist{} },
|
|
|
|
func() runtime.Object { return &PlaylistList{} },
|
2024-08-05 20:38:12 +08:00
|
|
|
utils.TableColumns{
|
|
|
|
Definition: []metav1.TableColumnDefinition{
|
|
|
|
{Name: "Name", Type: "string", Format: "name"},
|
|
|
|
{Name: "Title", Type: "string", Format: "string", Description: "The playlist name"},
|
|
|
|
{Name: "Interval", Type: "string", Format: "string", Description: "How often the playlist will update"},
|
|
|
|
{Name: "Created At", Type: "date"},
|
|
|
|
},
|
|
|
|
Reader: func(obj any) ([]interface{}, error) {
|
|
|
|
m, ok := obj.(*Playlist)
|
|
|
|
if !ok {
|
|
|
|
return nil, fmt.Errorf("expected playlist")
|
|
|
|
}
|
|
|
|
return []interface{}{
|
|
|
|
m.Name,
|
|
|
|
m.Spec.Title,
|
|
|
|
m.Spec.Interval,
|
|
|
|
m.CreationTimestamp.UTC().Format(time.RFC3339),
|
|
|
|
}, nil
|
|
|
|
},
|
|
|
|
},
|
2024-01-13 04:05:30 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
var (
|
|
|
|
// SchemeGroupVersion is group version used to register these objects
|
|
|
|
SchemeGroupVersion = schema.GroupVersion{Group: GROUP, Version: VERSION}
|
|
|
|
)
|