Dashboard Schema v2: Transformation to v2 supports annotations (#96787)

* Annotations

* Default to configured default DS when datasource is undefined

---------

Co-authored-by: Ivan Ortega <ivanortegaalba@gmail.com>
Co-authored-by: alexandra vargas <alexa1866@gmail.com>
This commit is contained in:
Haris Rozajac
2024-11-28 12:36:09 +02:00
committed by GitHub
co-authored by Ivan Ortega alexandra vargas
parent a4fff11438
commit 4721d5164b
7 changed files with 271 additions and 40 deletions
@@ -463,11 +463,9 @@ export const defaultVizConfigKind = (): VizConfigKind => ({
});
export interface AnnotationQuerySpec {
datasource: DataSourceRef;
datasource?: DataSourceRef;
query: DataQueryKind;
// TODO: Should be figured out based on datasource (Grafana ds)
// builtIn?: int
// Below are currently existing options for annotation queries
builtIn?: boolean;
enable: boolean;
filter: AnnotationPanelFilter;
hide: boolean;
@@ -476,7 +474,6 @@ export interface AnnotationQuerySpec {
}
export const defaultAnnotationQuerySpec = (): AnnotationQuerySpec => ({
datasource: defaultDataSourceRef(),
query: defaultDataQueryKind(),
enable: false,
filter: defaultAnnotationPanelFilter(),
@@ -521,14 +518,13 @@ export const defaultDataQueryKind = (): DataQueryKind => ({
export interface PanelQuerySpec {
query: DataQueryKind;
datasource: DataSourceRef;
datasource?: DataSourceRef;
refId: string;
hidden: boolean;
}
export const defaultPanelQuerySpec = (): PanelQuerySpec => ({
query: defaultDataQueryKind(),
datasource: defaultDataSourceRef(),
refId: "",
hidden: false,
});
@@ -859,7 +855,7 @@ export interface QueryVariableSpec {
refresh: VariableRefresh;
skipUrlSync: boolean;
description?: string;
datasource: DataSourceRef;
datasource?: DataSourceRef;
query: string | DataQueryKind;
regex: string;
sort: VariableSort;
@@ -877,7 +873,6 @@ export const defaultQueryVariableSpec = (): QueryVariableSpec => ({
hide: "dontHide",
refresh: "never",
skipUrlSync: false,
datasource: defaultDataSourceRef(),
query: "",
regex: "",
sort: "disabled",
@@ -1080,7 +1075,7 @@ export const defaultCustomVariableKind = (): CustomVariableKind => ({
// GroupBy variable specification
export interface GroupByVariableSpec {
name: string;
datasource: DataSourceRef;
datasource?: DataSourceRef;
current: VariableOption;
options: VariableOption[];
multi: boolean;
@@ -1094,7 +1089,6 @@ export interface GroupByVariableSpec {
export const defaultGroupByVariableSpec = (): GroupByVariableSpec => ({
name: "",
datasource: defaultDataSourceRef(),
current: { text: "", value: "", },
options: [],
multi: false,
@@ -1117,7 +1111,7 @@ export const defaultGroupByVariableKind = (): GroupByVariableKind => ({
// Adhoc variable specification
export interface AdhocVariableSpec {
name: string;
datasource: DataSourceRef;
datasource?: DataSourceRef;
baseFilters: AdHocFilterWithLabels[];
filters: AdHocFilterWithLabels[];
defaultKeys: MetricFindValue[];
@@ -1129,7 +1123,6 @@ export interface AdhocVariableSpec {
export const defaultAdhocVariableSpec = (): AdhocVariableSpec => ({
name: "",
datasource: defaultDataSourceRef(),
baseFilters: [],
filters: [],
defaultKeys: [],
@@ -362,12 +362,9 @@ VizConfigKind: {
}
AnnotationQuerySpec: {
datasource: DataSourceRef
datasource?: DataSourceRef
query: DataQueryKind
// TODO: Should be figured out based on datasource (Grafana ds)
// builtIn?: int
// Below are currently existing options for annotation queries
builtIn?: bool
enable: bool
filter: AnnotationPanelFilter
hide: bool
@@ -398,7 +395,7 @@ DataQueryKind: {
PanelQuerySpec: {
query: DataQueryKind
datasource: DataSourceRef
datasource?: DataSourceRef
refId: string
hidden: bool
@@ -598,7 +595,7 @@ QueryVariableSpec: {
refresh: VariableRefresh
skipUrlSync: bool | *false
description?: string
datasource: DataSourceRef | *{}
datasource?: DataSourceRef
query: string | DataQueryKind | *""
regex: string | *""
sort: VariableSort
@@ -732,7 +729,7 @@ CustomVariableKind: {
// GroupBy variable specification
GroupByVariableSpec: {
name: string | *""
datasource: DataSourceRef | *{}
datasource?: DataSourceRef
current: VariableOption | *{
text: ""
value: ""
@@ -756,7 +753,7 @@ GroupByVariableKind: {
// Adhoc variable specification
AdhocVariableSpec: {
name: string | *""
datasource: DataSourceRef | *{}
datasource?: DataSourceRef
baseFilters: [...AdHocFilterWithLabels] | *[]
filters: [...AdHocFilterWithLabels] | *[]
defaultKeys: [...MetricFindValue] | *[]