mirror of https://github.com/grafana/grafana.git
320 lines
8.2 KiB
Go
320 lines
8.2 KiB
Go
|
//
|
||
|
// Code generated by grafana-app-sdk. DO NOT EDIT.
|
||
|
//
|
||
|
|
||
|
package v0alpha1
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"github.com/grafana/grafana-app-sdk/resource"
|
||
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||
|
"k8s.io/apimachinery/pkg/runtime"
|
||
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||
|
"k8s.io/apimachinery/pkg/types"
|
||
|
"time"
|
||
|
)
|
||
|
|
||
|
// +k8s:openapi-gen=true
|
||
|
type Annotation struct {
|
||
|
metav1.TypeMeta `json:",inline" yaml:",inline"`
|
||
|
metav1.ObjectMeta `json:"metadata" yaml:"metadata"`
|
||
|
|
||
|
// Spec is the spec of the Annotation
|
||
|
Spec AnnotationSpec `json:"spec" yaml:"spec"`
|
||
|
|
||
|
Status AnnotationStatus `json:"status" yaml:"status"`
|
||
|
}
|
||
|
|
||
|
func (o *Annotation) GetSpec() any {
|
||
|
return o.Spec
|
||
|
}
|
||
|
|
||
|
func (o *Annotation) SetSpec(spec any) error {
|
||
|
cast, ok := spec.(AnnotationSpec)
|
||
|
if !ok {
|
||
|
return fmt.Errorf("cannot set spec type %#v, not of type Spec", spec)
|
||
|
}
|
||
|
o.Spec = cast
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func (o *Annotation) GetSubresources() map[string]any {
|
||
|
return map[string]any{
|
||
|
"status": o.Status,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (o *Annotation) GetSubresource(name string) (any, bool) {
|
||
|
switch name {
|
||
|
case "status":
|
||
|
return o.Status, true
|
||
|
default:
|
||
|
return nil, false
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (o *Annotation) SetSubresource(name string, value any) error {
|
||
|
switch name {
|
||
|
case "status":
|
||
|
cast, ok := value.(AnnotationStatus)
|
||
|
if !ok {
|
||
|
return fmt.Errorf("cannot set status type %#v, not of type AnnotationStatus", value)
|
||
|
}
|
||
|
o.Status = cast
|
||
|
return nil
|
||
|
default:
|
||
|
return fmt.Errorf("subresource '%s' does not exist", name)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (o *Annotation) GetStaticMetadata() resource.StaticMetadata {
|
||
|
gvk := o.GroupVersionKind()
|
||
|
return resource.StaticMetadata{
|
||
|
Name: o.ObjectMeta.Name,
|
||
|
Namespace: o.ObjectMeta.Namespace,
|
||
|
Group: gvk.Group,
|
||
|
Version: gvk.Version,
|
||
|
Kind: gvk.Kind,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (o *Annotation) SetStaticMetadata(metadata resource.StaticMetadata) {
|
||
|
o.Name = metadata.Name
|
||
|
o.Namespace = metadata.Namespace
|
||
|
o.SetGroupVersionKind(schema.GroupVersionKind{
|
||
|
Group: metadata.Group,
|
||
|
Version: metadata.Version,
|
||
|
Kind: metadata.Kind,
|
||
|
})
|
||
|
}
|
||
|
|
||
|
func (o *Annotation) GetCommonMetadata() resource.CommonMetadata {
|
||
|
dt := o.DeletionTimestamp
|
||
|
var deletionTimestamp *time.Time
|
||
|
if dt != nil {
|
||
|
deletionTimestamp = &dt.Time
|
||
|
}
|
||
|
// Legacy ExtraFields support
|
||
|
extraFields := make(map[string]any)
|
||
|
if o.Annotations != nil {
|
||
|
extraFields["annotations"] = o.Annotations
|
||
|
}
|
||
|
if o.ManagedFields != nil {
|
||
|
extraFields["managedFields"] = o.ManagedFields
|
||
|
}
|
||
|
if o.OwnerReferences != nil {
|
||
|
extraFields["ownerReferences"] = o.OwnerReferences
|
||
|
}
|
||
|
return resource.CommonMetadata{
|
||
|
UID: string(o.UID),
|
||
|
ResourceVersion: o.ResourceVersion,
|
||
|
Generation: o.Generation,
|
||
|
Labels: o.Labels,
|
||
|
CreationTimestamp: o.CreationTimestamp.Time,
|
||
|
DeletionTimestamp: deletionTimestamp,
|
||
|
Finalizers: o.Finalizers,
|
||
|
UpdateTimestamp: o.GetUpdateTimestamp(),
|
||
|
CreatedBy: o.GetCreatedBy(),
|
||
|
UpdatedBy: o.GetUpdatedBy(),
|
||
|
ExtraFields: extraFields,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (o *Annotation) SetCommonMetadata(metadata resource.CommonMetadata) {
|
||
|
o.UID = types.UID(metadata.UID)
|
||
|
o.ResourceVersion = metadata.ResourceVersion
|
||
|
o.Generation = metadata.Generation
|
||
|
o.Labels = metadata.Labels
|
||
|
o.CreationTimestamp = metav1.NewTime(metadata.CreationTimestamp)
|
||
|
if metadata.DeletionTimestamp != nil {
|
||
|
dt := metav1.NewTime(*metadata.DeletionTimestamp)
|
||
|
o.DeletionTimestamp = &dt
|
||
|
} else {
|
||
|
o.DeletionTimestamp = nil
|
||
|
}
|
||
|
o.Finalizers = metadata.Finalizers
|
||
|
if o.Annotations == nil {
|
||
|
o.Annotations = make(map[string]string)
|
||
|
}
|
||
|
if !metadata.UpdateTimestamp.IsZero() {
|
||
|
o.SetUpdateTimestamp(metadata.UpdateTimestamp)
|
||
|
}
|
||
|
if metadata.CreatedBy != "" {
|
||
|
o.SetCreatedBy(metadata.CreatedBy)
|
||
|
}
|
||
|
if metadata.UpdatedBy != "" {
|
||
|
o.SetUpdatedBy(metadata.UpdatedBy)
|
||
|
}
|
||
|
// Legacy support for setting Annotations, ManagedFields, and OwnerReferences via ExtraFields
|
||
|
if metadata.ExtraFields != nil {
|
||
|
if annotations, ok := metadata.ExtraFields["annotations"]; ok {
|
||
|
if cast, ok := annotations.(map[string]string); ok {
|
||
|
o.Annotations = cast
|
||
|
}
|
||
|
}
|
||
|
if managedFields, ok := metadata.ExtraFields["managedFields"]; ok {
|
||
|
if cast, ok := managedFields.([]metav1.ManagedFieldsEntry); ok {
|
||
|
o.ManagedFields = cast
|
||
|
}
|
||
|
}
|
||
|
if ownerReferences, ok := metadata.ExtraFields["ownerReferences"]; ok {
|
||
|
if cast, ok := ownerReferences.([]metav1.OwnerReference); ok {
|
||
|
o.OwnerReferences = cast
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (o *Annotation) GetCreatedBy() string {
|
||
|
if o.ObjectMeta.Annotations == nil {
|
||
|
o.ObjectMeta.Annotations = make(map[string]string)
|
||
|
}
|
||
|
|
||
|
return o.ObjectMeta.Annotations["grafana.com/createdBy"]
|
||
|
}
|
||
|
|
||
|
func (o *Annotation) SetCreatedBy(createdBy string) {
|
||
|
if o.ObjectMeta.Annotations == nil {
|
||
|
o.ObjectMeta.Annotations = make(map[string]string)
|
||
|
}
|
||
|
|
||
|
o.ObjectMeta.Annotations["grafana.com/createdBy"] = createdBy
|
||
|
}
|
||
|
|
||
|
func (o *Annotation) GetUpdateTimestamp() time.Time {
|
||
|
if o.ObjectMeta.Annotations == nil {
|
||
|
o.ObjectMeta.Annotations = make(map[string]string)
|
||
|
}
|
||
|
|
||
|
parsed, _ := time.Parse(time.RFC3339, o.ObjectMeta.Annotations["grafana.com/updateTimestamp"])
|
||
|
return parsed
|
||
|
}
|
||
|
|
||
|
func (o *Annotation) SetUpdateTimestamp(updateTimestamp time.Time) {
|
||
|
if o.ObjectMeta.Annotations == nil {
|
||
|
o.ObjectMeta.Annotations = make(map[string]string)
|
||
|
}
|
||
|
|
||
|
o.ObjectMeta.Annotations["grafana.com/updateTimestamp"] = updateTimestamp.Format(time.RFC3339)
|
||
|
}
|
||
|
|
||
|
func (o *Annotation) GetUpdatedBy() string {
|
||
|
if o.ObjectMeta.Annotations == nil {
|
||
|
o.ObjectMeta.Annotations = make(map[string]string)
|
||
|
}
|
||
|
|
||
|
return o.ObjectMeta.Annotations["grafana.com/updatedBy"]
|
||
|
}
|
||
|
|
||
|
func (o *Annotation) SetUpdatedBy(updatedBy string) {
|
||
|
if o.ObjectMeta.Annotations == nil {
|
||
|
o.ObjectMeta.Annotations = make(map[string]string)
|
||
|
}
|
||
|
|
||
|
o.ObjectMeta.Annotations["grafana.com/updatedBy"] = updatedBy
|
||
|
}
|
||
|
|
||
|
func (o *Annotation) Copy() resource.Object {
|
||
|
return resource.CopyObject(o)
|
||
|
}
|
||
|
|
||
|
func (o *Annotation) DeepCopyObject() runtime.Object {
|
||
|
return o.Copy()
|
||
|
}
|
||
|
|
||
|
func (o *Annotation) DeepCopy() *Annotation {
|
||
|
cpy := &Annotation{}
|
||
|
o.DeepCopyInto(cpy)
|
||
|
return cpy
|
||
|
}
|
||
|
|
||
|
func (o *Annotation) DeepCopyInto(dst *Annotation) {
|
||
|
dst.TypeMeta.APIVersion = o.TypeMeta.APIVersion
|
||
|
dst.TypeMeta.Kind = o.TypeMeta.Kind
|
||
|
o.ObjectMeta.DeepCopyInto(&dst.ObjectMeta)
|
||
|
o.Spec.DeepCopyInto(&dst.Spec)
|
||
|
o.Status.DeepCopyInto(&dst.Status)
|
||
|
}
|
||
|
|
||
|
// Interface compliance compile-time check
|
||
|
var _ resource.Object = &Annotation{}
|
||
|
|
||
|
// +k8s:openapi-gen=true
|
||
|
type AnnotationList struct {
|
||
|
metav1.TypeMeta `json:",inline" yaml:",inline"`
|
||
|
metav1.ListMeta `json:"metadata" yaml:"metadata"`
|
||
|
Items []Annotation `json:"items" yaml:"items"`
|
||
|
}
|
||
|
|
||
|
func (o *AnnotationList) DeepCopyObject() runtime.Object {
|
||
|
return o.Copy()
|
||
|
}
|
||
|
|
||
|
func (o *AnnotationList) Copy() resource.ListObject {
|
||
|
cpy := &AnnotationList{
|
||
|
TypeMeta: o.TypeMeta,
|
||
|
Items: make([]Annotation, len(o.Items)),
|
||
|
}
|
||
|
o.ListMeta.DeepCopyInto(&cpy.ListMeta)
|
||
|
for i := 0; i < len(o.Items); i++ {
|
||
|
if item, ok := o.Items[i].Copy().(*Annotation); ok {
|
||
|
cpy.Items[i] = *item
|
||
|
}
|
||
|
}
|
||
|
return cpy
|
||
|
}
|
||
|
|
||
|
func (o *AnnotationList) GetItems() []resource.Object {
|
||
|
items := make([]resource.Object, len(o.Items))
|
||
|
for i := 0; i < len(o.Items); i++ {
|
||
|
items[i] = &o.Items[i]
|
||
|
}
|
||
|
return items
|
||
|
}
|
||
|
|
||
|
func (o *AnnotationList) SetItems(items []resource.Object) {
|
||
|
o.Items = make([]Annotation, len(items))
|
||
|
for i := 0; i < len(items); i++ {
|
||
|
o.Items[i] = *items[i].(*Annotation)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
func (o *AnnotationList) DeepCopy() *AnnotationList {
|
||
|
cpy := &AnnotationList{}
|
||
|
o.DeepCopyInto(cpy)
|
||
|
return cpy
|
||
|
}
|
||
|
|
||
|
func (o *AnnotationList) DeepCopyInto(dst *AnnotationList) {
|
||
|
resource.CopyObjectInto(dst, o)
|
||
|
}
|
||
|
|
||
|
// Interface compliance compile-time check
|
||
|
var _ resource.ListObject = &AnnotationList{}
|
||
|
|
||
|
// Copy methods for all subresource types
|
||
|
|
||
|
// DeepCopy creates a full deep copy of Spec
|
||
|
func (s *AnnotationSpec) DeepCopy() *AnnotationSpec {
|
||
|
cpy := &AnnotationSpec{}
|
||
|
s.DeepCopyInto(cpy)
|
||
|
return cpy
|
||
|
}
|
||
|
|
||
|
// DeepCopyInto deep copies Spec into another Spec object
|
||
|
func (s *AnnotationSpec) DeepCopyInto(dst *AnnotationSpec) {
|
||
|
resource.CopyObjectInto(dst, s)
|
||
|
}
|
||
|
|
||
|
// DeepCopy creates a full deep copy of AnnotationStatus
|
||
|
func (s *AnnotationStatus) DeepCopy() *AnnotationStatus {
|
||
|
cpy := &AnnotationStatus{}
|
||
|
s.DeepCopyInto(cpy)
|
||
|
return cpy
|
||
|
}
|
||
|
|
||
|
// DeepCopyInto deep copies AnnotationStatus into another AnnotationStatus object
|
||
|
func (s *AnnotationStatus) DeepCopyInto(dst *AnnotationStatus) {
|
||
|
resource.CopyObjectInto(dst, s)
|
||
|
}
|