diff --git a/apps/dashboard/pkg/apis/dashboard/v0alpha1/dashboard_kind.cue b/apps/dashboard/pkg/apis/dashboard/v0alpha1/dashboard_kind.cue index 3c6c0e92355..ac5e4854eea 100644 --- a/apps/dashboard/pkg/apis/dashboard/v0alpha1/dashboard_kind.cue +++ b/apps/dashboard/pkg/apis/dashboard/v0alpha1/dashboard_kind.cue @@ -241,6 +241,8 @@ lineage: schemas: [{ text: string | [...string] // Value of the option value: string | [...string] + // Additional properties for multi-props variables + properties?: {[string]: string} } @cuetsy(kind="interface") // Options to config when to refresh a variable diff --git a/apps/dashboard/pkg/apis/dashboard/v0alpha1/dashboard_object_gen.go b/apps/dashboard/pkg/apis/dashboard/v0alpha1/dashboard_object_gen.go index ac8a0a61685..12735e777cd 100644 --- a/apps/dashboard/pkg/apis/dashboard/v0alpha1/dashboard_object_gen.go +++ b/apps/dashboard/pkg/apis/dashboard/v0alpha1/dashboard_object_gen.go @@ -301,6 +301,8 @@ var _ resource.ListObject = &DashboardList{} // Copy methods for all subresource types + + // DeepCopy creates a full deep copy of DashboardStatus func (s *DashboardStatus) DeepCopy() *DashboardStatus { cpy := &DashboardStatus{} diff --git a/apps/dashboard/pkg/apis/dashboard/v1beta1/dashboard_kind.cue b/apps/dashboard/pkg/apis/dashboard/v1beta1/dashboard_kind.cue index 3c6c0e92355..ac5e4854eea 100644 --- a/apps/dashboard/pkg/apis/dashboard/v1beta1/dashboard_kind.cue +++ b/apps/dashboard/pkg/apis/dashboard/v1beta1/dashboard_kind.cue @@ -241,6 +241,8 @@ lineage: schemas: [{ text: string | [...string] // Value of the option value: string | [...string] + // Additional properties for multi-props variables + properties?: {[string]: string} } @cuetsy(kind="interface") // Options to config when to refresh a variable diff --git a/apps/dashboard/pkg/apis/dashboard/v1beta1/dashboard_object_gen.go b/apps/dashboard/pkg/apis/dashboard/v1beta1/dashboard_object_gen.go index 35bb8900ab0..b51f871c342 100644 --- a/apps/dashboard/pkg/apis/dashboard/v1beta1/dashboard_object_gen.go +++ b/apps/dashboard/pkg/apis/dashboard/v1beta1/dashboard_object_gen.go @@ -301,6 +301,8 @@ var _ resource.ListObject = &DashboardList{} // Copy methods for all subresource types + + // DeepCopy creates a full deep copy of DashboardStatus func (s *DashboardStatus) DeepCopy() *DashboardStatus { cpy := &DashboardStatus{} diff --git a/kinds/dashboard/dashboard_kind.cue b/kinds/dashboard/dashboard_kind.cue index f17aa67f209..0711a6bbf23 100644 --- a/kinds/dashboard/dashboard_kind.cue +++ b/kinds/dashboard/dashboard_kind.cue @@ -237,6 +237,8 @@ lineage: schemas: [{ text: string | [...string] // Value of the option value: string | [...string] + // Additional properties for multi-props variables + properties?: {[string]: string} } @cuetsy(kind="interface") // Options to config when to refresh a variable diff --git a/packages/grafana-schema/src/raw/dashboard/x/dashboard_types.gen.ts b/packages/grafana-schema/src/raw/dashboard/x/dashboard_types.gen.ts index bc1c1cbcbf4..3f938a86cbb 100644 --- a/packages/grafana-schema/src/raw/dashboard/x/dashboard_types.gen.ts +++ b/packages/grafana-schema/src/raw/dashboard/x/dashboard_types.gen.ts @@ -231,6 +231,10 @@ export const defaultVariableModel: Partial = { * Option to be selected in a variable. */ export interface VariableOption { + /** + * Additional properties for multi-props variables + */ + properties?: Record; /** * Whether the option is selected or not */ diff --git a/packages/grafana-schema/src/schema/dashboard/v2alpha0/dashboard.schema.cue b/packages/grafana-schema/src/schema/dashboard/v2alpha0/dashboard.schema.cue index 052e626cdfc..7b699440931 100644 --- a/packages/grafana-schema/src/schema/dashboard/v2alpha0/dashboard.schema.cue +++ b/packages/grafana-schema/src/schema/dashboard/v2alpha0/dashboard.schema.cue @@ -715,7 +715,9 @@ VariableOption: { // Text to be displayed for the option text: string | [...string] // Value of the option -value: string | [...string] + value: string | [...string] + // Additional properties for multi-props variables + properties?: {[string]: string} } // Query variable specification diff --git a/pkg/kinds/dashboard/dashboard_spec_gen.go b/pkg/kinds/dashboard/dashboard_spec_gen.go index ad0a1c88f24..7e52fe7840e 100644 --- a/pkg/kinds/dashboard/dashboard_spec_gen.go +++ b/pkg/kinds/dashboard/dashboard_spec_gen.go @@ -903,6 +903,8 @@ type VariableOption struct { Text StringOrArrayOfString `json:"text"` // Value of the option Value StringOrArrayOfString `json:"value"` + // Additional properties for multi-props variables + Properties map[string]string `json:"properties,omitempty"` } // NewVariableOption creates a new VariableOption object.