Dashboards/API: Keep original when conversion fails (#109912)
* keep original * openapi * update tests * workspace * workspace * fix ts * merge main * update snapshots
This commit is contained in:
@@ -27,6 +27,9 @@ ConversionStatus: {
|
|||||||
// The version which was stored when the dashboard was created / updated.
|
// The version which was stored when the dashboard was created / updated.
|
||||||
// Fetching this version should always succeed.
|
// Fetching this version should always succeed.
|
||||||
storedVersion?: string
|
storedVersion?: string
|
||||||
|
|
||||||
|
// The original value map[string]any
|
||||||
|
source?: _
|
||||||
}
|
}
|
||||||
|
|
||||||
dashboard: {
|
dashboard: {
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ type DashboardConversionStatus struct {
|
|||||||
// The version which was stored when the dashboard was created / updated.
|
// The version which was stored when the dashboard was created / updated.
|
||||||
// Fetching this version should always succeed.
|
// Fetching this version should always succeed.
|
||||||
StoredVersion *string `json:"storedVersion,omitempty"`
|
StoredVersion *string `json:"storedVersion,omitempty"`
|
||||||
|
// The original value map[string]any
|
||||||
|
Source interface{} `json:"source,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewDashboardConversionStatus creates a new DashboardConversionStatus object.
|
// NewDashboardConversionStatus creates a new DashboardConversionStatus object.
|
||||||
|
|||||||
@@ -272,6 +272,13 @@ func schema_pkg_apis_dashboard_v0alpha1_DashboardConversionStatus(ref common.Ref
|
|||||||
Format: "",
|
Format: "",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"source": {
|
||||||
|
SchemaProps: spec.SchemaProps{
|
||||||
|
Description: "The original value map[string]any",
|
||||||
|
Type: []string{"object"},
|
||||||
|
Format: "",
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Required: []string{"failed"},
|
Required: []string{"failed"},
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ type DashboardConversionStatus struct {
|
|||||||
// The version which was stored when the dashboard was created / updated.
|
// The version which was stored when the dashboard was created / updated.
|
||||||
// Fetching this version should always succeed.
|
// Fetching this version should always succeed.
|
||||||
StoredVersion *string `json:"storedVersion,omitempty"`
|
StoredVersion *string `json:"storedVersion,omitempty"`
|
||||||
|
// The original value map[string]any
|
||||||
|
Source interface{} `json:"source,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewDashboardConversionStatus creates a new DashboardConversionStatus object.
|
// NewDashboardConversionStatus creates a new DashboardConversionStatus object.
|
||||||
|
|||||||
@@ -264,6 +264,13 @@ func schema_pkg_apis_dashboard_v1beta1_DashboardConversionStatus(ref common.Refe
|
|||||||
Format: "",
|
Format: "",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"source": {
|
||||||
|
SchemaProps: spec.SchemaProps{
|
||||||
|
Description: "The original value map[string]any",
|
||||||
|
Type: []string{"object"},
|
||||||
|
Format: "",
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Required: []string{"failed"},
|
Required: []string{"failed"},
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ type DashboardConversionStatus struct {
|
|||||||
// The version which was stored when the dashboard was created / updated.
|
// The version which was stored when the dashboard was created / updated.
|
||||||
// Fetching this version should always succeed.
|
// Fetching this version should always succeed.
|
||||||
StoredVersion *string `json:"storedVersion,omitempty"`
|
StoredVersion *string `json:"storedVersion,omitempty"`
|
||||||
|
// The original value map[string]any
|
||||||
|
Source interface{} `json:"source,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewDashboardConversionStatus creates a new DashboardConversionStatus object.
|
// NewDashboardConversionStatus creates a new DashboardConversionStatus object.
|
||||||
|
|||||||
@@ -1353,6 +1353,13 @@ func schema_pkg_apis_dashboard_v2alpha1_DashboardConversionStatus(ref common.Ref
|
|||||||
Format: "",
|
Format: "",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"source": {
|
||||||
|
SchemaProps: spec.SchemaProps{
|
||||||
|
Description: "The original value map[string]any",
|
||||||
|
Type: []string{"object"},
|
||||||
|
Format: "",
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Required: []string{"failed"},
|
Required: []string{"failed"},
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ type DashboardConversionStatus struct {
|
|||||||
// The version which was stored when the dashboard was created / updated.
|
// The version which was stored when the dashboard was created / updated.
|
||||||
// Fetching this version should always succeed.
|
// Fetching this version should always succeed.
|
||||||
StoredVersion *string `json:"storedVersion,omitempty"`
|
StoredVersion *string `json:"storedVersion,omitempty"`
|
||||||
|
// The original value map[string]any
|
||||||
|
Source interface{} `json:"source,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewDashboardConversionStatus creates a new DashboardConversionStatus object.
|
// NewDashboardConversionStatus creates a new DashboardConversionStatus object.
|
||||||
|
|||||||
@@ -1360,6 +1360,13 @@ func schema_pkg_apis_dashboard_v2beta1_DashboardConversionStatus(ref common.Refe
|
|||||||
Format: "",
|
Format: "",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"source": {
|
||||||
|
SchemaProps: spec.SchemaProps{
|
||||||
|
Description: "The original value map[string]any",
|
||||||
|
Type: []string{"object"},
|
||||||
|
Format: "",
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Required: []string{"failed"},
|
Required: []string{"failed"},
|
||||||
},
|
},
|
||||||
|
|||||||
+499
-1
@@ -15,7 +15,505 @@
|
|||||||
"conversion": {
|
"conversion": {
|
||||||
"failed": true,
|
"failed": true,
|
||||||
"error": "backend conversion not yet implemented",
|
"error": "backend conversion not yet implemented",
|
||||||
"storedVersion": "v2alpha1"
|
"storedVersion": "v2alpha1",
|
||||||
|
"source": {
|
||||||
|
"kind": "Dashboard",
|
||||||
|
"apiVersion": "dashboard.grafana.app/v2alpha1",
|
||||||
|
"metadata": {
|
||||||
|
"name": "test-v2alpha1-complete",
|
||||||
|
"labels": {
|
||||||
|
"category": "test"
|
||||||
|
},
|
||||||
|
"annotations": {
|
||||||
|
"description": "Complete example of v2alpha1 dashboard features"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spec": {
|
||||||
|
"annotations": [
|
||||||
|
{
|
||||||
|
"kind": "AnnotationQuery",
|
||||||
|
"spec": {
|
||||||
|
"datasource": {
|
||||||
|
"type": "grafana",
|
||||||
|
"uid": "-- Grafana --"
|
||||||
|
},
|
||||||
|
"query": {
|
||||||
|
"kind": "grafana",
|
||||||
|
"spec": {
|
||||||
|
"limit": 100,
|
||||||
|
"matchAny": false,
|
||||||
|
"tags": [],
|
||||||
|
"type": "dashboard"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"enable": true,
|
||||||
|
"hide": false,
|
||||||
|
"iconColor": "rgba(0, 211, 255, 1)",
|
||||||
|
"name": "Annotations \u0026 Alerts",
|
||||||
|
"builtIn": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "AnnotationQuery",
|
||||||
|
"spec": {
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "gdev-prometheus"
|
||||||
|
},
|
||||||
|
"query": {
|
||||||
|
"kind": "prometheus",
|
||||||
|
"spec": {
|
||||||
|
"expr": "changes(process_start_time_seconds[1m])",
|
||||||
|
"refId": "Anno"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"enable": true,
|
||||||
|
"hide": false,
|
||||||
|
"iconColor": "yellow",
|
||||||
|
"name": "Prometheus Annotations",
|
||||||
|
"builtIn": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cursorSync": "Tooltip",
|
||||||
|
"description": "This dashboard demonstrates all features that need to be converted from v2alpha1 to v2beta1",
|
||||||
|
"editable": true,
|
||||||
|
"elements": {
|
||||||
|
"panel-1": {
|
||||||
|
"kind": "Panel",
|
||||||
|
"spec": {
|
||||||
|
"id": 1,
|
||||||
|
"title": "Panel with Conditional Rendering",
|
||||||
|
"description": "This panel demonstrates conditional rendering features",
|
||||||
|
"links": null,
|
||||||
|
"data": {
|
||||||
|
"kind": "QueryGroup",
|
||||||
|
"spec": {
|
||||||
|
"queries": [
|
||||||
|
{
|
||||||
|
"kind": "PanelQuery",
|
||||||
|
"spec": {
|
||||||
|
"query": {
|
||||||
|
"kind": "prometheus",
|
||||||
|
"spec": {
|
||||||
|
"expr": "up{job=\"grafana\"}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"datasource": {
|
||||||
|
"uid": "gdev-prometheus"
|
||||||
|
},
|
||||||
|
"refId": "A",
|
||||||
|
"hidden": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"transformations": [
|
||||||
|
{
|
||||||
|
"kind": "reduce",
|
||||||
|
"spec": {
|
||||||
|
"id": "reduce",
|
||||||
|
"options": {
|
||||||
|
"includeTimeField": false,
|
||||||
|
"mode": "reduceFields",
|
||||||
|
"reducers": [
|
||||||
|
"mean"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"queryOptions": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"vizConfig": {
|
||||||
|
"kind": "stat",
|
||||||
|
"spec": {
|
||||||
|
"pluginVersion": "12.1.0-pre",
|
||||||
|
"options": {
|
||||||
|
"colorMode": "value",
|
||||||
|
"graphMode": "area",
|
||||||
|
"justifyMode": "auto",
|
||||||
|
"textMode": "auto"
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"mappings": [
|
||||||
|
{
|
||||||
|
"type": "value",
|
||||||
|
"options": {
|
||||||
|
"0": {
|
||||||
|
"text": "Down",
|
||||||
|
"color": "red"
|
||||||
|
},
|
||||||
|
"1": {
|
||||||
|
"text": "Up",
|
||||||
|
"color": "green"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"thresholds": {
|
||||||
|
"mode": "absolute",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"value": 0,
|
||||||
|
"color": "red"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 1,
|
||||||
|
"color": "green"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"color": {
|
||||||
|
"mode": "thresholds"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"overrides": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"layout": {
|
||||||
|
"kind": "RowsLayout",
|
||||||
|
"spec": {
|
||||||
|
"rows": [
|
||||||
|
{
|
||||||
|
"kind": "Row",
|
||||||
|
"spec": {
|
||||||
|
"title": "Conditional Row",
|
||||||
|
"collapse": false,
|
||||||
|
"hideHeader": false,
|
||||||
|
"fillScreen": false,
|
||||||
|
"conditionalRendering": {
|
||||||
|
"kind": "ConditionalRenderingGroup",
|
||||||
|
"spec": {
|
||||||
|
"visibility": "show",
|
||||||
|
"condition": "and",
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"kind": "ConditionalRenderingVariable",
|
||||||
|
"spec": {
|
||||||
|
"variable": "group_by",
|
||||||
|
"operator": "includes",
|
||||||
|
"value": "instance"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "ConditionalRenderingData",
|
||||||
|
"spec": {
|
||||||
|
"value": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "ConditionalRenderingTimeRangeSize",
|
||||||
|
"spec": {
|
||||||
|
"value": "1h"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"layout": {
|
||||||
|
"kind": "GridLayout",
|
||||||
|
"spec": {
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"kind": "GridLayoutItem",
|
||||||
|
"spec": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"width": 24,
|
||||||
|
"height": 8,
|
||||||
|
"element": {
|
||||||
|
"kind": "ElementReference",
|
||||||
|
"name": "panel-1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"links": null,
|
||||||
|
"liveNow": true,
|
||||||
|
"preload": true,
|
||||||
|
"tags": [
|
||||||
|
"test",
|
||||||
|
"example",
|
||||||
|
"migration"
|
||||||
|
],
|
||||||
|
"timeSettings": {
|
||||||
|
"timezone": "browser",
|
||||||
|
"from": "now-6h",
|
||||||
|
"to": "now",
|
||||||
|
"autoRefresh": "10s",
|
||||||
|
"autoRefreshIntervals": [
|
||||||
|
"5s",
|
||||||
|
"10s",
|
||||||
|
"30s",
|
||||||
|
"1m",
|
||||||
|
"5m",
|
||||||
|
"15m",
|
||||||
|
"30m",
|
||||||
|
"1h",
|
||||||
|
"2h",
|
||||||
|
"1d"
|
||||||
|
],
|
||||||
|
"hideTimepicker": false,
|
||||||
|
"weekStart": "monday",
|
||||||
|
"fiscalYearStartMonth": 0
|
||||||
|
},
|
||||||
|
"title": "Test: Complete V2alpha1 Dashboard Example",
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"kind": "QueryVariable",
|
||||||
|
"spec": {
|
||||||
|
"name": "prometheus_query",
|
||||||
|
"current": {
|
||||||
|
"text": "All",
|
||||||
|
"value": [
|
||||||
|
"$__all"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"label": "Prometheus Query",
|
||||||
|
"hide": "dontHide",
|
||||||
|
"refresh": "time",
|
||||||
|
"skipUrlSync": false,
|
||||||
|
"description": "Shows all up metrics",
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "gdev-prometheus"
|
||||||
|
},
|
||||||
|
"query": {
|
||||||
|
"kind": "prometheus",
|
||||||
|
"spec": {
|
||||||
|
"expr": "up"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"regex": "",
|
||||||
|
"sort": "alphabetical",
|
||||||
|
"definition": "up",
|
||||||
|
"options": null,
|
||||||
|
"multi": true,
|
||||||
|
"includeAll": true,
|
||||||
|
"allowCustomValue": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "TextVariable",
|
||||||
|
"spec": {
|
||||||
|
"name": "text_var",
|
||||||
|
"current": {
|
||||||
|
"selected": true,
|
||||||
|
"text": "server1",
|
||||||
|
"value": "server1"
|
||||||
|
},
|
||||||
|
"query": "server1,server2,server3",
|
||||||
|
"label": "Text Variable",
|
||||||
|
"hide": "dontHide",
|
||||||
|
"skipUrlSync": false,
|
||||||
|
"description": "A simple text variable"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "ConstantVariable",
|
||||||
|
"spec": {
|
||||||
|
"name": "constant_var",
|
||||||
|
"query": "production",
|
||||||
|
"current": {
|
||||||
|
"selected": true,
|
||||||
|
"text": "production",
|
||||||
|
"value": "production"
|
||||||
|
},
|
||||||
|
"label": "Constant",
|
||||||
|
"hide": "dontHide",
|
||||||
|
"skipUrlSync": true,
|
||||||
|
"description": "A constant value"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "DatasourceVariable",
|
||||||
|
"spec": {
|
||||||
|
"name": "ds_var",
|
||||||
|
"pluginId": "prometheus",
|
||||||
|
"refresh": "load",
|
||||||
|
"regex": "/^gdev-/",
|
||||||
|
"current": {
|
||||||
|
"text": "gdev-prometheus",
|
||||||
|
"value": "gdev-prometheus"
|
||||||
|
},
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"text": "gdev-prometheus",
|
||||||
|
"value": "gdev-prometheus"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"multi": false,
|
||||||
|
"includeAll": false,
|
||||||
|
"label": "Datasource",
|
||||||
|
"hide": "dontHide",
|
||||||
|
"skipUrlSync": false,
|
||||||
|
"description": "Select a datasource",
|
||||||
|
"allowCustomValue": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "IntervalVariable",
|
||||||
|
"spec": {
|
||||||
|
"name": "interval",
|
||||||
|
"query": "1m,5m,10m,30m,1h,6h,12h,1d",
|
||||||
|
"current": {
|
||||||
|
"selected": true,
|
||||||
|
"text": "5m",
|
||||||
|
"value": "5m"
|
||||||
|
},
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"text": "1m",
|
||||||
|
"value": "1m"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "5m",
|
||||||
|
"value": "5m"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "10m",
|
||||||
|
"value": "10m"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "30m",
|
||||||
|
"value": "30m"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "1h",
|
||||||
|
"value": "1h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "6h",
|
||||||
|
"value": "6h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "12h",
|
||||||
|
"value": "12h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "1d",
|
||||||
|
"value": "1d"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"auto": true,
|
||||||
|
"auto_min": "10s",
|
||||||
|
"auto_count": 30,
|
||||||
|
"refresh": "load",
|
||||||
|
"label": "Interval",
|
||||||
|
"hide": "dontHide",
|
||||||
|
"skipUrlSync": false,
|
||||||
|
"description": "Time interval selection"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "CustomVariable",
|
||||||
|
"spec": {
|
||||||
|
"name": "custom_var",
|
||||||
|
"query": "prod : Production, staging : Staging, dev : Development",
|
||||||
|
"current": {
|
||||||
|
"text": [
|
||||||
|
"Production"
|
||||||
|
],
|
||||||
|
"value": [
|
||||||
|
"prod"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"text": "Production",
|
||||||
|
"value": "prod"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Staging",
|
||||||
|
"value": "staging"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Development",
|
||||||
|
"value": "dev"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"multi": true,
|
||||||
|
"includeAll": true,
|
||||||
|
"allValue": "*",
|
||||||
|
"label": "Custom Options",
|
||||||
|
"hide": "dontHide",
|
||||||
|
"skipUrlSync": false,
|
||||||
|
"description": "Custom multi-value variable",
|
||||||
|
"allowCustomValue": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "GroupByVariable",
|
||||||
|
"spec": {
|
||||||
|
"name": "group_by",
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "gdev-prometheus"
|
||||||
|
},
|
||||||
|
"current": {
|
||||||
|
"text": "instance",
|
||||||
|
"value": "instance"
|
||||||
|
},
|
||||||
|
"options": null,
|
||||||
|
"multi": false,
|
||||||
|
"label": "Group By",
|
||||||
|
"hide": "dontHide",
|
||||||
|
"skipUrlSync": false,
|
||||||
|
"description": "Group metrics by label"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "AdhocVariable",
|
||||||
|
"spec": {
|
||||||
|
"name": "filters",
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "gdev-prometheus"
|
||||||
|
},
|
||||||
|
"baseFilters": [
|
||||||
|
{
|
||||||
|
"key": "job",
|
||||||
|
"operator": "=",
|
||||||
|
"value": "grafana",
|
||||||
|
"condition": "AND"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"filters": [],
|
||||||
|
"defaultKeys": [
|
||||||
|
{
|
||||||
|
"text": "job",
|
||||||
|
"value": "job",
|
||||||
|
"expandable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "instance",
|
||||||
|
"value": "instance",
|
||||||
|
"expandable": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"label": "Filters",
|
||||||
|
"hide": "dontHide",
|
||||||
|
"skipUrlSync": false,
|
||||||
|
"allowCustomValue": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"status": {}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+499
-1
@@ -15,7 +15,505 @@
|
|||||||
"conversion": {
|
"conversion": {
|
||||||
"failed": true,
|
"failed": true,
|
||||||
"error": "backend conversion not yet implemented",
|
"error": "backend conversion not yet implemented",
|
||||||
"storedVersion": "v2alpha1"
|
"storedVersion": "v2alpha1",
|
||||||
|
"source": {
|
||||||
|
"kind": "Dashboard",
|
||||||
|
"apiVersion": "dashboard.grafana.app/v2alpha1",
|
||||||
|
"metadata": {
|
||||||
|
"name": "test-v2alpha1-complete",
|
||||||
|
"labels": {
|
||||||
|
"category": "test"
|
||||||
|
},
|
||||||
|
"annotations": {
|
||||||
|
"description": "Complete example of v2alpha1 dashboard features"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spec": {
|
||||||
|
"annotations": [
|
||||||
|
{
|
||||||
|
"kind": "AnnotationQuery",
|
||||||
|
"spec": {
|
||||||
|
"datasource": {
|
||||||
|
"type": "grafana",
|
||||||
|
"uid": "-- Grafana --"
|
||||||
|
},
|
||||||
|
"query": {
|
||||||
|
"kind": "grafana",
|
||||||
|
"spec": {
|
||||||
|
"limit": 100,
|
||||||
|
"matchAny": false,
|
||||||
|
"tags": [],
|
||||||
|
"type": "dashboard"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"enable": true,
|
||||||
|
"hide": false,
|
||||||
|
"iconColor": "rgba(0, 211, 255, 1)",
|
||||||
|
"name": "Annotations \u0026 Alerts",
|
||||||
|
"builtIn": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "AnnotationQuery",
|
||||||
|
"spec": {
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "gdev-prometheus"
|
||||||
|
},
|
||||||
|
"query": {
|
||||||
|
"kind": "prometheus",
|
||||||
|
"spec": {
|
||||||
|
"expr": "changes(process_start_time_seconds[1m])",
|
||||||
|
"refId": "Anno"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"enable": true,
|
||||||
|
"hide": false,
|
||||||
|
"iconColor": "yellow",
|
||||||
|
"name": "Prometheus Annotations",
|
||||||
|
"builtIn": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"cursorSync": "Tooltip",
|
||||||
|
"description": "This dashboard demonstrates all features that need to be converted from v2alpha1 to v2beta1",
|
||||||
|
"editable": true,
|
||||||
|
"elements": {
|
||||||
|
"panel-1": {
|
||||||
|
"kind": "Panel",
|
||||||
|
"spec": {
|
||||||
|
"id": 1,
|
||||||
|
"title": "Panel with Conditional Rendering",
|
||||||
|
"description": "This panel demonstrates conditional rendering features",
|
||||||
|
"links": null,
|
||||||
|
"data": {
|
||||||
|
"kind": "QueryGroup",
|
||||||
|
"spec": {
|
||||||
|
"queries": [
|
||||||
|
{
|
||||||
|
"kind": "PanelQuery",
|
||||||
|
"spec": {
|
||||||
|
"query": {
|
||||||
|
"kind": "prometheus",
|
||||||
|
"spec": {
|
||||||
|
"expr": "up{job=\"grafana\"}"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"datasource": {
|
||||||
|
"uid": "gdev-prometheus"
|
||||||
|
},
|
||||||
|
"refId": "A",
|
||||||
|
"hidden": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"transformations": [
|
||||||
|
{
|
||||||
|
"kind": "reduce",
|
||||||
|
"spec": {
|
||||||
|
"id": "reduce",
|
||||||
|
"options": {
|
||||||
|
"includeTimeField": false,
|
||||||
|
"mode": "reduceFields",
|
||||||
|
"reducers": [
|
||||||
|
"mean"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"queryOptions": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"vizConfig": {
|
||||||
|
"kind": "stat",
|
||||||
|
"spec": {
|
||||||
|
"pluginVersion": "12.1.0-pre",
|
||||||
|
"options": {
|
||||||
|
"colorMode": "value",
|
||||||
|
"graphMode": "area",
|
||||||
|
"justifyMode": "auto",
|
||||||
|
"textMode": "auto"
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"mappings": [
|
||||||
|
{
|
||||||
|
"type": "value",
|
||||||
|
"options": {
|
||||||
|
"0": {
|
||||||
|
"text": "Down",
|
||||||
|
"color": "red"
|
||||||
|
},
|
||||||
|
"1": {
|
||||||
|
"text": "Up",
|
||||||
|
"color": "green"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"thresholds": {
|
||||||
|
"mode": "absolute",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"value": 0,
|
||||||
|
"color": "red"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 1,
|
||||||
|
"color": "green"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"color": {
|
||||||
|
"mode": "thresholds"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"overrides": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"layout": {
|
||||||
|
"kind": "RowsLayout",
|
||||||
|
"spec": {
|
||||||
|
"rows": [
|
||||||
|
{
|
||||||
|
"kind": "Row",
|
||||||
|
"spec": {
|
||||||
|
"title": "Conditional Row",
|
||||||
|
"collapse": false,
|
||||||
|
"hideHeader": false,
|
||||||
|
"fillScreen": false,
|
||||||
|
"conditionalRendering": {
|
||||||
|
"kind": "ConditionalRenderingGroup",
|
||||||
|
"spec": {
|
||||||
|
"visibility": "show",
|
||||||
|
"condition": "and",
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"kind": "ConditionalRenderingVariable",
|
||||||
|
"spec": {
|
||||||
|
"variable": "group_by",
|
||||||
|
"operator": "includes",
|
||||||
|
"value": "instance"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "ConditionalRenderingData",
|
||||||
|
"spec": {
|
||||||
|
"value": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "ConditionalRenderingTimeRangeSize",
|
||||||
|
"spec": {
|
||||||
|
"value": "1h"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"layout": {
|
||||||
|
"kind": "GridLayout",
|
||||||
|
"spec": {
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"kind": "GridLayoutItem",
|
||||||
|
"spec": {
|
||||||
|
"x": 0,
|
||||||
|
"y": 0,
|
||||||
|
"width": 24,
|
||||||
|
"height": 8,
|
||||||
|
"element": {
|
||||||
|
"kind": "ElementReference",
|
||||||
|
"name": "panel-1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"links": null,
|
||||||
|
"liveNow": true,
|
||||||
|
"preload": true,
|
||||||
|
"tags": [
|
||||||
|
"test",
|
||||||
|
"example",
|
||||||
|
"migration"
|
||||||
|
],
|
||||||
|
"timeSettings": {
|
||||||
|
"timezone": "browser",
|
||||||
|
"from": "now-6h",
|
||||||
|
"to": "now",
|
||||||
|
"autoRefresh": "10s",
|
||||||
|
"autoRefreshIntervals": [
|
||||||
|
"5s",
|
||||||
|
"10s",
|
||||||
|
"30s",
|
||||||
|
"1m",
|
||||||
|
"5m",
|
||||||
|
"15m",
|
||||||
|
"30m",
|
||||||
|
"1h",
|
||||||
|
"2h",
|
||||||
|
"1d"
|
||||||
|
],
|
||||||
|
"hideTimepicker": false,
|
||||||
|
"weekStart": "monday",
|
||||||
|
"fiscalYearStartMonth": 0
|
||||||
|
},
|
||||||
|
"title": "Test: Complete V2alpha1 Dashboard Example",
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"kind": "QueryVariable",
|
||||||
|
"spec": {
|
||||||
|
"name": "prometheus_query",
|
||||||
|
"current": {
|
||||||
|
"text": "All",
|
||||||
|
"value": [
|
||||||
|
"$__all"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"label": "Prometheus Query",
|
||||||
|
"hide": "dontHide",
|
||||||
|
"refresh": "time",
|
||||||
|
"skipUrlSync": false,
|
||||||
|
"description": "Shows all up metrics",
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "gdev-prometheus"
|
||||||
|
},
|
||||||
|
"query": {
|
||||||
|
"kind": "prometheus",
|
||||||
|
"spec": {
|
||||||
|
"expr": "up"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"regex": "",
|
||||||
|
"sort": "alphabetical",
|
||||||
|
"definition": "up",
|
||||||
|
"options": null,
|
||||||
|
"multi": true,
|
||||||
|
"includeAll": true,
|
||||||
|
"allowCustomValue": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "TextVariable",
|
||||||
|
"spec": {
|
||||||
|
"name": "text_var",
|
||||||
|
"current": {
|
||||||
|
"selected": true,
|
||||||
|
"text": "server1",
|
||||||
|
"value": "server1"
|
||||||
|
},
|
||||||
|
"query": "server1,server2,server3",
|
||||||
|
"label": "Text Variable",
|
||||||
|
"hide": "dontHide",
|
||||||
|
"skipUrlSync": false,
|
||||||
|
"description": "A simple text variable"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "ConstantVariable",
|
||||||
|
"spec": {
|
||||||
|
"name": "constant_var",
|
||||||
|
"query": "production",
|
||||||
|
"current": {
|
||||||
|
"selected": true,
|
||||||
|
"text": "production",
|
||||||
|
"value": "production"
|
||||||
|
},
|
||||||
|
"label": "Constant",
|
||||||
|
"hide": "dontHide",
|
||||||
|
"skipUrlSync": true,
|
||||||
|
"description": "A constant value"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "DatasourceVariable",
|
||||||
|
"spec": {
|
||||||
|
"name": "ds_var",
|
||||||
|
"pluginId": "prometheus",
|
||||||
|
"refresh": "load",
|
||||||
|
"regex": "/^gdev-/",
|
||||||
|
"current": {
|
||||||
|
"text": "gdev-prometheus",
|
||||||
|
"value": "gdev-prometheus"
|
||||||
|
},
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"text": "gdev-prometheus",
|
||||||
|
"value": "gdev-prometheus"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"multi": false,
|
||||||
|
"includeAll": false,
|
||||||
|
"label": "Datasource",
|
||||||
|
"hide": "dontHide",
|
||||||
|
"skipUrlSync": false,
|
||||||
|
"description": "Select a datasource",
|
||||||
|
"allowCustomValue": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "IntervalVariable",
|
||||||
|
"spec": {
|
||||||
|
"name": "interval",
|
||||||
|
"query": "1m,5m,10m,30m,1h,6h,12h,1d",
|
||||||
|
"current": {
|
||||||
|
"selected": true,
|
||||||
|
"text": "5m",
|
||||||
|
"value": "5m"
|
||||||
|
},
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"text": "1m",
|
||||||
|
"value": "1m"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "5m",
|
||||||
|
"value": "5m"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "10m",
|
||||||
|
"value": "10m"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "30m",
|
||||||
|
"value": "30m"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "1h",
|
||||||
|
"value": "1h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "6h",
|
||||||
|
"value": "6h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "12h",
|
||||||
|
"value": "12h"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "1d",
|
||||||
|
"value": "1d"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"auto": true,
|
||||||
|
"auto_min": "10s",
|
||||||
|
"auto_count": 30,
|
||||||
|
"refresh": "load",
|
||||||
|
"label": "Interval",
|
||||||
|
"hide": "dontHide",
|
||||||
|
"skipUrlSync": false,
|
||||||
|
"description": "Time interval selection"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "CustomVariable",
|
||||||
|
"spec": {
|
||||||
|
"name": "custom_var",
|
||||||
|
"query": "prod : Production, staging : Staging, dev : Development",
|
||||||
|
"current": {
|
||||||
|
"text": [
|
||||||
|
"Production"
|
||||||
|
],
|
||||||
|
"value": [
|
||||||
|
"prod"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"options": [
|
||||||
|
{
|
||||||
|
"text": "Production",
|
||||||
|
"value": "prod"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Staging",
|
||||||
|
"value": "staging"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Development",
|
||||||
|
"value": "dev"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"multi": true,
|
||||||
|
"includeAll": true,
|
||||||
|
"allValue": "*",
|
||||||
|
"label": "Custom Options",
|
||||||
|
"hide": "dontHide",
|
||||||
|
"skipUrlSync": false,
|
||||||
|
"description": "Custom multi-value variable",
|
||||||
|
"allowCustomValue": true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "GroupByVariable",
|
||||||
|
"spec": {
|
||||||
|
"name": "group_by",
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "gdev-prometheus"
|
||||||
|
},
|
||||||
|
"current": {
|
||||||
|
"text": "instance",
|
||||||
|
"value": "instance"
|
||||||
|
},
|
||||||
|
"options": null,
|
||||||
|
"multi": false,
|
||||||
|
"label": "Group By",
|
||||||
|
"hide": "dontHide",
|
||||||
|
"skipUrlSync": false,
|
||||||
|
"description": "Group metrics by label"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "AdhocVariable",
|
||||||
|
"spec": {
|
||||||
|
"name": "filters",
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "gdev-prometheus"
|
||||||
|
},
|
||||||
|
"baseFilters": [
|
||||||
|
{
|
||||||
|
"key": "job",
|
||||||
|
"operator": "=",
|
||||||
|
"value": "grafana",
|
||||||
|
"condition": "AND"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"filters": [],
|
||||||
|
"defaultKeys": [
|
||||||
|
{
|
||||||
|
"text": "job",
|
||||||
|
"value": "job",
|
||||||
|
"expandable": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "instance",
|
||||||
|
"value": "instance",
|
||||||
|
"expandable": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"label": "Filters",
|
||||||
|
"hide": "dontHide",
|
||||||
|
"skipUrlSync": false,
|
||||||
|
"allowCustomValue": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"status": {}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Vendored
+1049
-1
File diff suppressed because it is too large
Load Diff
Vendored
+1049
-1
File diff suppressed because it is too large
Load Diff
Vendored
+94
-1
@@ -9,7 +9,100 @@
|
|||||||
"conversion": {
|
"conversion": {
|
||||||
"failed": true,
|
"failed": true,
|
||||||
"error": "backend conversion not yet implemented",
|
"error": "backend conversion not yet implemented",
|
||||||
"storedVersion": "v2alpha1"
|
"storedVersion": "v2alpha1",
|
||||||
|
"source": {
|
||||||
|
"kind": "Dashboard",
|
||||||
|
"apiVersion": "dashboard.grafana.app/v2alpha1",
|
||||||
|
"metadata": {
|
||||||
|
"name": "test-v2alpha1-groupby-adhoc-vars"
|
||||||
|
},
|
||||||
|
"spec": {
|
||||||
|
"annotations": null,
|
||||||
|
"cursorSync": "",
|
||||||
|
"elements": null,
|
||||||
|
"layout": null,
|
||||||
|
"links": null,
|
||||||
|
"preload": false,
|
||||||
|
"tags": null,
|
||||||
|
"timeSettings": {
|
||||||
|
"from": "",
|
||||||
|
"to": "",
|
||||||
|
"autoRefresh": "",
|
||||||
|
"autoRefreshIntervals": null,
|
||||||
|
"hideTimepicker": false,
|
||||||
|
"fiscalYearStartMonth": 0
|
||||||
|
},
|
||||||
|
"title": "Test: V2alpha1 dashboard with group by and adhoc variables",
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"kind": "GroupByVariable",
|
||||||
|
"spec": {
|
||||||
|
"name": "",
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "gdev-prometheus"
|
||||||
|
},
|
||||||
|
"current": {
|
||||||
|
"text": "text7",
|
||||||
|
"value": "value7"
|
||||||
|
},
|
||||||
|
"options": null,
|
||||||
|
"multi": false,
|
||||||
|
"label": "Group By Variable",
|
||||||
|
"hide": "dontHide",
|
||||||
|
"skipUrlSync": false,
|
||||||
|
"description": "A group by variable"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "AdhocVariable",
|
||||||
|
"spec": {
|
||||||
|
"name": "adhocVar",
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "datasource-3"
|
||||||
|
},
|
||||||
|
"baseFilters": [
|
||||||
|
{
|
||||||
|
"key": "key1",
|
||||||
|
"operator": "=",
|
||||||
|
"value": "value1",
|
||||||
|
"condition": "AND"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "key2",
|
||||||
|
"operator": "=",
|
||||||
|
"value": "value2",
|
||||||
|
"condition": "OR"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"key": "key3",
|
||||||
|
"operator": "=",
|
||||||
|
"value": "value3",
|
||||||
|
"condition": "AND"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"defaultKeys": [
|
||||||
|
{
|
||||||
|
"text": "defaultKey1",
|
||||||
|
"value": "defaultKey1",
|
||||||
|
"group": "defaultGroup1",
|
||||||
|
"expandable": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"label": "Adhoc Variable",
|
||||||
|
"hide": "dontHide",
|
||||||
|
"skipUrlSync": false,
|
||||||
|
"description": "An adhoc variable",
|
||||||
|
"allowCustomValue": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"status": {}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Vendored
+94
-1
@@ -9,7 +9,100 @@
|
|||||||
"conversion": {
|
"conversion": {
|
||||||
"failed": true,
|
"failed": true,
|
||||||
"error": "backend conversion not yet implemented",
|
"error": "backend conversion not yet implemented",
|
||||||
"storedVersion": "v2alpha1"
|
"storedVersion": "v2alpha1",
|
||||||
|
"source": {
|
||||||
|
"kind": "Dashboard",
|
||||||
|
"apiVersion": "dashboard.grafana.app/v2alpha1",
|
||||||
|
"metadata": {
|
||||||
|
"name": "test-v2alpha1-groupby-adhoc-vars"
|
||||||
|
},
|
||||||
|
"spec": {
|
||||||
|
"annotations": null,
|
||||||
|
"cursorSync": "",
|
||||||
|
"elements": null,
|
||||||
|
"layout": null,
|
||||||
|
"links": null,
|
||||||
|
"preload": false,
|
||||||
|
"tags": null,
|
||||||
|
"timeSettings": {
|
||||||
|
"from": "",
|
||||||
|
"to": "",
|
||||||
|
"autoRefresh": "",
|
||||||
|
"autoRefreshIntervals": null,
|
||||||
|
"hideTimepicker": false,
|
||||||
|
"fiscalYearStartMonth": 0
|
||||||
|
},
|
||||||
|
"title": "Test: V2alpha1 dashboard with group by and adhoc variables",
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"kind": "GroupByVariable",
|
||||||
|
"spec": {
|
||||||
|
"name": "",
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "gdev-prometheus"
|
||||||
|
},
|
||||||
|
"current": {
|
||||||
|
"text": "text7",
|
||||||
|
"value": "value7"
|
||||||
|
},
|
||||||
|
"options": null,
|
||||||
|
"multi": false,
|
||||||
|
"label": "Group By Variable",
|
||||||
|
"hide": "dontHide",
|
||||||
|
"skipUrlSync": false,
|
||||||
|
"description": "A group by variable"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "AdhocVariable",
|
||||||
|
"spec": {
|
||||||
|
"name": "adhocVar",
|
||||||
|
"datasource": {
|
||||||
|
"type": "prometheus",
|
||||||
|
"uid": "datasource-3"
|
||||||
|
},
|
||||||
|
"baseFilters": [
|
||||||
|
{
|
||||||
|
"key": "key1",
|
||||||
|
"operator": "=",
|
||||||
|
"value": "value1",
|
||||||
|
"condition": "AND"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "key2",
|
||||||
|
"operator": "=",
|
||||||
|
"value": "value2",
|
||||||
|
"condition": "OR"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"filters": [
|
||||||
|
{
|
||||||
|
"key": "key3",
|
||||||
|
"operator": "=",
|
||||||
|
"value": "value3",
|
||||||
|
"condition": "AND"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"defaultKeys": [
|
||||||
|
{
|
||||||
|
"text": "defaultKey1",
|
||||||
|
"value": "defaultKey1",
|
||||||
|
"group": "defaultGroup1",
|
||||||
|
"expandable": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"label": "Adhoc Variable",
|
||||||
|
"hide": "dontHide",
|
||||||
|
"skipUrlSync": false,
|
||||||
|
"description": "An adhoc variable",
|
||||||
|
"allowCustomValue": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"status": {}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+213
-1
@@ -9,7 +9,219 @@
|
|||||||
"conversion": {
|
"conversion": {
|
||||||
"failed": true,
|
"failed": true,
|
||||||
"error": "backend conversion not yet implemented",
|
"error": "backend conversion not yet implemented",
|
||||||
"storedVersion": "v2alpha1"
|
"storedVersion": "v2alpha1",
|
||||||
|
"source": {
|
||||||
|
"kind": "Dashboard",
|
||||||
|
"apiVersion": "dashboard.grafana.app/v2alpha1",
|
||||||
|
"metadata": {
|
||||||
|
"name": "test-v2alpha1-viz-config"
|
||||||
|
},
|
||||||
|
"spec": {
|
||||||
|
"annotations": null,
|
||||||
|
"cursorSync": "",
|
||||||
|
"elements": {
|
||||||
|
"panel-1": {
|
||||||
|
"kind": "Panel",
|
||||||
|
"spec": {
|
||||||
|
"id": 1,
|
||||||
|
"title": "Simple timeseries (WITH DS REF)",
|
||||||
|
"description": "",
|
||||||
|
"links": [],
|
||||||
|
"data": {
|
||||||
|
"kind": "QueryGroup",
|
||||||
|
"spec": {
|
||||||
|
"queries": [
|
||||||
|
{
|
||||||
|
"kind": "PanelQuery",
|
||||||
|
"spec": {
|
||||||
|
"query": {
|
||||||
|
"kind": "grafana-testdata-datasource",
|
||||||
|
"spec": {
|
||||||
|
"scenarioId": "random_walk",
|
||||||
|
"seriesCount": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"datasource": {
|
||||||
|
"uid": "gdev-testdata"
|
||||||
|
},
|
||||||
|
"refId": "A",
|
||||||
|
"hidden": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"transformations": [],
|
||||||
|
"queryOptions": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"vizConfig": {
|
||||||
|
"kind": "timeseries",
|
||||||
|
"spec": {
|
||||||
|
"pluginVersion": "12.1.0-pre",
|
||||||
|
"options": {
|
||||||
|
"legend": {
|
||||||
|
"calcs": [],
|
||||||
|
"displayMode": "list",
|
||||||
|
"placement": "bottom",
|
||||||
|
"showLegend": true
|
||||||
|
},
|
||||||
|
"tooltip": {
|
||||||
|
"hideZeros": false,
|
||||||
|
"mode": "single",
|
||||||
|
"sort": "none"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"thresholds": {
|
||||||
|
"mode": "absolute",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"value": 0,
|
||||||
|
"color": "green"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 80,
|
||||||
|
"color": "red"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"color": {
|
||||||
|
"mode": "palette-classic"
|
||||||
|
},
|
||||||
|
"custom": {
|
||||||
|
"axisBorderShow": false,
|
||||||
|
"axisCenteredZero": false,
|
||||||
|
"axisColorMode": "text",
|
||||||
|
"axisLabel": "",
|
||||||
|
"axisPlacement": "auto",
|
||||||
|
"barAlignment": 0,
|
||||||
|
"barWidthFactor": 0.6,
|
||||||
|
"drawStyle": "line",
|
||||||
|
"fillOpacity": 0,
|
||||||
|
"gradientMode": "none",
|
||||||
|
"hideFrom": {
|
||||||
|
"legend": false,
|
||||||
|
"tooltip": false,
|
||||||
|
"viz": false
|
||||||
|
},
|
||||||
|
"insertNulls": false,
|
||||||
|
"lineInterpolation": "linear",
|
||||||
|
"lineWidth": 1,
|
||||||
|
"pointSize": 5,
|
||||||
|
"scaleDistribution": {
|
||||||
|
"type": "linear"
|
||||||
|
},
|
||||||
|
"showPoints": "auto",
|
||||||
|
"spanNulls": false,
|
||||||
|
"stacking": {
|
||||||
|
"group": "A",
|
||||||
|
"mode": "none"
|
||||||
|
},
|
||||||
|
"thresholdsStyle": {
|
||||||
|
"mode": "off"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"overrides": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"layout": {
|
||||||
|
"kind": "AutoGridLayout",
|
||||||
|
"spec": {
|
||||||
|
"maxColumnCount": 3,
|
||||||
|
"columnWidthMode": "standard",
|
||||||
|
"rowHeightMode": "standard",
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"kind": "AutoGridLayoutItem",
|
||||||
|
"spec": {
|
||||||
|
"element": {
|
||||||
|
"kind": "ElementReference",
|
||||||
|
"name": "panel-3"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "AutoGridLayoutItem",
|
||||||
|
"spec": {
|
||||||
|
"element": {
|
||||||
|
"kind": "ElementReference",
|
||||||
|
"name": "panel-4"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "AutoGridLayoutItem",
|
||||||
|
"spec": {
|
||||||
|
"element": {
|
||||||
|
"kind": "ElementReference",
|
||||||
|
"name": "panel-2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "AutoGridLayoutItem",
|
||||||
|
"spec": {
|
||||||
|
"element": {
|
||||||
|
"kind": "ElementReference",
|
||||||
|
"name": "panel-1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "AutoGridLayoutItem",
|
||||||
|
"spec": {
|
||||||
|
"element": {
|
||||||
|
"kind": "ElementReference",
|
||||||
|
"name": "panel-5"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "AutoGridLayoutItem",
|
||||||
|
"spec": {
|
||||||
|
"element": {
|
||||||
|
"kind": "ElementReference",
|
||||||
|
"name": "panel-6"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"links": [],
|
||||||
|
"liveNow": false,
|
||||||
|
"preload": false,
|
||||||
|
"tags": [],
|
||||||
|
"timeSettings": {
|
||||||
|
"timezone": "browser",
|
||||||
|
"from": "now-6h",
|
||||||
|
"to": "now",
|
||||||
|
"autoRefresh": "",
|
||||||
|
"autoRefreshIntervals": [
|
||||||
|
"5s",
|
||||||
|
"10s",
|
||||||
|
"30s",
|
||||||
|
"1m",
|
||||||
|
"5m",
|
||||||
|
"15m",
|
||||||
|
"30m",
|
||||||
|
"1h",
|
||||||
|
"2h",
|
||||||
|
"1d"
|
||||||
|
],
|
||||||
|
"hideTimepicker": false,
|
||||||
|
"fiscalYearStartMonth": 0
|
||||||
|
},
|
||||||
|
"title": "Test: V2alpha1 dashboard with viz config",
|
||||||
|
"variables": null
|
||||||
|
},
|
||||||
|
"status": {}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+213
-1
@@ -9,7 +9,219 @@
|
|||||||
"conversion": {
|
"conversion": {
|
||||||
"failed": true,
|
"failed": true,
|
||||||
"error": "backend conversion not yet implemented",
|
"error": "backend conversion not yet implemented",
|
||||||
"storedVersion": "v2alpha1"
|
"storedVersion": "v2alpha1",
|
||||||
|
"source": {
|
||||||
|
"kind": "Dashboard",
|
||||||
|
"apiVersion": "dashboard.grafana.app/v2alpha1",
|
||||||
|
"metadata": {
|
||||||
|
"name": "test-v2alpha1-viz-config"
|
||||||
|
},
|
||||||
|
"spec": {
|
||||||
|
"annotations": null,
|
||||||
|
"cursorSync": "",
|
||||||
|
"elements": {
|
||||||
|
"panel-1": {
|
||||||
|
"kind": "Panel",
|
||||||
|
"spec": {
|
||||||
|
"id": 1,
|
||||||
|
"title": "Simple timeseries (WITH DS REF)",
|
||||||
|
"description": "",
|
||||||
|
"links": [],
|
||||||
|
"data": {
|
||||||
|
"kind": "QueryGroup",
|
||||||
|
"spec": {
|
||||||
|
"queries": [
|
||||||
|
{
|
||||||
|
"kind": "PanelQuery",
|
||||||
|
"spec": {
|
||||||
|
"query": {
|
||||||
|
"kind": "grafana-testdata-datasource",
|
||||||
|
"spec": {
|
||||||
|
"scenarioId": "random_walk",
|
||||||
|
"seriesCount": 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"datasource": {
|
||||||
|
"uid": "gdev-testdata"
|
||||||
|
},
|
||||||
|
"refId": "A",
|
||||||
|
"hidden": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"transformations": [],
|
||||||
|
"queryOptions": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"vizConfig": {
|
||||||
|
"kind": "timeseries",
|
||||||
|
"spec": {
|
||||||
|
"pluginVersion": "12.1.0-pre",
|
||||||
|
"options": {
|
||||||
|
"legend": {
|
||||||
|
"calcs": [],
|
||||||
|
"displayMode": "list",
|
||||||
|
"placement": "bottom",
|
||||||
|
"showLegend": true
|
||||||
|
},
|
||||||
|
"tooltip": {
|
||||||
|
"hideZeros": false,
|
||||||
|
"mode": "single",
|
||||||
|
"sort": "none"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"fieldConfig": {
|
||||||
|
"defaults": {
|
||||||
|
"thresholds": {
|
||||||
|
"mode": "absolute",
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"value": 0,
|
||||||
|
"color": "green"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"value": 80,
|
||||||
|
"color": "red"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"color": {
|
||||||
|
"mode": "palette-classic"
|
||||||
|
},
|
||||||
|
"custom": {
|
||||||
|
"axisBorderShow": false,
|
||||||
|
"axisCenteredZero": false,
|
||||||
|
"axisColorMode": "text",
|
||||||
|
"axisLabel": "",
|
||||||
|
"axisPlacement": "auto",
|
||||||
|
"barAlignment": 0,
|
||||||
|
"barWidthFactor": 0.6,
|
||||||
|
"drawStyle": "line",
|
||||||
|
"fillOpacity": 0,
|
||||||
|
"gradientMode": "none",
|
||||||
|
"hideFrom": {
|
||||||
|
"legend": false,
|
||||||
|
"tooltip": false,
|
||||||
|
"viz": false
|
||||||
|
},
|
||||||
|
"insertNulls": false,
|
||||||
|
"lineInterpolation": "linear",
|
||||||
|
"lineWidth": 1,
|
||||||
|
"pointSize": 5,
|
||||||
|
"scaleDistribution": {
|
||||||
|
"type": "linear"
|
||||||
|
},
|
||||||
|
"showPoints": "auto",
|
||||||
|
"spanNulls": false,
|
||||||
|
"stacking": {
|
||||||
|
"group": "A",
|
||||||
|
"mode": "none"
|
||||||
|
},
|
||||||
|
"thresholdsStyle": {
|
||||||
|
"mode": "off"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"overrides": []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"layout": {
|
||||||
|
"kind": "AutoGridLayout",
|
||||||
|
"spec": {
|
||||||
|
"maxColumnCount": 3,
|
||||||
|
"columnWidthMode": "standard",
|
||||||
|
"rowHeightMode": "standard",
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"kind": "AutoGridLayoutItem",
|
||||||
|
"spec": {
|
||||||
|
"element": {
|
||||||
|
"kind": "ElementReference",
|
||||||
|
"name": "panel-3"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "AutoGridLayoutItem",
|
||||||
|
"spec": {
|
||||||
|
"element": {
|
||||||
|
"kind": "ElementReference",
|
||||||
|
"name": "panel-4"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "AutoGridLayoutItem",
|
||||||
|
"spec": {
|
||||||
|
"element": {
|
||||||
|
"kind": "ElementReference",
|
||||||
|
"name": "panel-2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "AutoGridLayoutItem",
|
||||||
|
"spec": {
|
||||||
|
"element": {
|
||||||
|
"kind": "ElementReference",
|
||||||
|
"name": "panel-1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "AutoGridLayoutItem",
|
||||||
|
"spec": {
|
||||||
|
"element": {
|
||||||
|
"kind": "ElementReference",
|
||||||
|
"name": "panel-5"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"kind": "AutoGridLayoutItem",
|
||||||
|
"spec": {
|
||||||
|
"element": {
|
||||||
|
"kind": "ElementReference",
|
||||||
|
"name": "panel-6"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"links": [],
|
||||||
|
"liveNow": false,
|
||||||
|
"preload": false,
|
||||||
|
"tags": [],
|
||||||
|
"timeSettings": {
|
||||||
|
"timezone": "browser",
|
||||||
|
"from": "now-6h",
|
||||||
|
"to": "now",
|
||||||
|
"autoRefresh": "",
|
||||||
|
"autoRefreshIntervals": [
|
||||||
|
"5s",
|
||||||
|
"10s",
|
||||||
|
"30s",
|
||||||
|
"1m",
|
||||||
|
"5m",
|
||||||
|
"15m",
|
||||||
|
"30m",
|
||||||
|
"1h",
|
||||||
|
"2h",
|
||||||
|
"1d"
|
||||||
|
],
|
||||||
|
"hideTimepicker": false,
|
||||||
|
"fiscalYearStartMonth": 0
|
||||||
|
},
|
||||||
|
"title": "Test: V2alpha1 dashboard with viz config",
|
||||||
|
"variables": null
|
||||||
|
},
|
||||||
|
"status": {}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -78,6 +78,7 @@ func Convert_V0_to_V2alpha1(in *dashv0.Dashboard, out *dashv2alpha1.Dashboard, s
|
|||||||
StoredVersion: ptr.To(dashv0.VERSION),
|
StoredVersion: ptr.To(dashv0.VERSION),
|
||||||
Failed: true,
|
Failed: true,
|
||||||
Error: ptr.To("backend conversion not yet implemented"),
|
Error: ptr.To("backend conversion not yet implemented"),
|
||||||
|
Source: in,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -94,6 +95,7 @@ func Convert_V0_to_V2beta1(in *dashv0.Dashboard, out *dashv2beta1.Dashboard, sco
|
|||||||
StoredVersion: ptr.To(dashv0.VERSION),
|
StoredVersion: ptr.To(dashv0.VERSION),
|
||||||
Failed: true,
|
Failed: true,
|
||||||
Error: ptr.To("backend conversion not yet implemented"),
|
Error: ptr.To("backend conversion not yet implemented"),
|
||||||
|
Source: in,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ func Convert_V1_to_V2alpha1(in *dashv1.Dashboard, out *dashv2alpha1.Dashboard, s
|
|||||||
StoredVersion: ptr.To(dashv1.VERSION),
|
StoredVersion: ptr.To(dashv1.VERSION),
|
||||||
Failed: true,
|
Failed: true,
|
||||||
Error: ptr.To("backend conversion not yet implemented"),
|
Error: ptr.To("backend conversion not yet implemented"),
|
||||||
|
Source: in,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -65,6 +66,7 @@ func Convert_V1_to_V2beta1(in *dashv1.Dashboard, out *dashv2beta1.Dashboard, sco
|
|||||||
StoredVersion: ptr.To(dashv1.VERSION),
|
StoredVersion: ptr.To(dashv1.VERSION),
|
||||||
Failed: true,
|
Failed: true,
|
||||||
Error: ptr.To("backend conversion not yet implemented"),
|
Error: ptr.To("backend conversion not yet implemented"),
|
||||||
|
Source: in,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ func Convert_V2alpha1_to_V0(in *dashv2alpha1.Dashboard, out *dashv0.Dashboard, s
|
|||||||
StoredVersion: ptr.To(dashv2alpha1.VERSION),
|
StoredVersion: ptr.To(dashv2alpha1.VERSION),
|
||||||
Failed: true,
|
Failed: true,
|
||||||
Error: ptr.To("backend conversion not yet implemented"),
|
Error: ptr.To("backend conversion not yet implemented"),
|
||||||
|
Source: in,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -36,6 +37,7 @@ func Convert_V2alpha1_to_V1(in *dashv2alpha1.Dashboard, out *dashv1.Dashboard, s
|
|||||||
StoredVersion: ptr.To(dashv2alpha1.VERSION),
|
StoredVersion: ptr.To(dashv2alpha1.VERSION),
|
||||||
Failed: true,
|
Failed: true,
|
||||||
Error: ptr.To("backend conversion not yet implemented"),
|
Error: ptr.To("backend conversion not yet implemented"),
|
||||||
|
Source: in,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -52,6 +54,7 @@ func Convert_V2alpha1_to_V2beta1(in *dashv2alpha1.Dashboard, out *dashv2beta1.Da
|
|||||||
StoredVersion: ptr.To(dashv2alpha1.VERSION),
|
StoredVersion: ptr.To(dashv2alpha1.VERSION),
|
||||||
Failed: true,
|
Failed: true,
|
||||||
Error: ptr.To(err.Error()),
|
Error: ptr.To(err.Error()),
|
||||||
|
Source: in,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -79,6 +82,7 @@ func Convert_V2beta1_to_V0(in *dashv2beta1.Dashboard, out *dashv0.Dashboard, sco
|
|||||||
StoredVersion: ptr.To(dashv2beta1.VERSION),
|
StoredVersion: ptr.To(dashv2beta1.VERSION),
|
||||||
Failed: true,
|
Failed: true,
|
||||||
Error: ptr.To("backend conversion not yet implemented"),
|
Error: ptr.To("backend conversion not yet implemented"),
|
||||||
|
Source: in,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -95,6 +99,7 @@ func Convert_V2beta1_to_V1(in *dashv2beta1.Dashboard, out *dashv1.Dashboard, sco
|
|||||||
StoredVersion: ptr.To(dashv2beta1.VERSION),
|
StoredVersion: ptr.To(dashv2beta1.VERSION),
|
||||||
Failed: true,
|
Failed: true,
|
||||||
Error: ptr.To("backend conversion not yet implemented"),
|
Error: ptr.To("backend conversion not yet implemented"),
|
||||||
|
Source: in,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -111,6 +116,7 @@ func Convert_V2beta1_to_V2alpha1(in *dashv2beta1.Dashboard, out *dashv2alpha1.Da
|
|||||||
StoredVersion: ptr.To(dashv2beta1.VERSION),
|
StoredVersion: ptr.To(dashv2beta1.VERSION),
|
||||||
Failed: true,
|
Failed: true,
|
||||||
Error: ptr.To("backend conversion not yet implemented"),
|
Error: ptr.To("backend conversion not yet implemented"),
|
||||||
|
Source: in,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ export interface ConversionStatus {
|
|||||||
// The version which was stored when the dashboard was created / updated.
|
// The version which was stored when the dashboard was created / updated.
|
||||||
// Fetching this version should always succeed.
|
// Fetching this version should always succeed.
|
||||||
storedVersion?: string;
|
storedVersion?: string;
|
||||||
|
// The original value map[string]any
|
||||||
|
source?: any;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const defaultConversionStatus = (): ConversionStatus => ({
|
export const defaultConversionStatus = (): ConversionStatus => ({
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ export interface ConversionStatus {
|
|||||||
// The version which was stored when the dashboard was created / updated.
|
// The version which was stored when the dashboard was created / updated.
|
||||||
// Fetching this version should always succeed.
|
// Fetching this version should always succeed.
|
||||||
storedVersion?: string;
|
storedVersion?: string;
|
||||||
|
// The original value map[string]any
|
||||||
|
source?: any;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const defaultConversionStatus = (): ConversionStatus => ({
|
export const defaultConversionStatus = (): ConversionStatus => ({
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ export interface ConversionStatus {
|
|||||||
// The version which was stored when the dashboard was created / updated.
|
// The version which was stored when the dashboard was created / updated.
|
||||||
// Fetching this version should always succeed.
|
// Fetching this version should always succeed.
|
||||||
storedVersion?: string;
|
storedVersion?: string;
|
||||||
|
// The original value map[string]any
|
||||||
|
source?: any;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const defaultConversionStatus = (): ConversionStatus => ({
|
export const defaultConversionStatus = (): ConversionStatus => ({
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ export interface ConversionStatus {
|
|||||||
// The version which was stored when the dashboard was created / updated.
|
// The version which was stored when the dashboard was created / updated.
|
||||||
// Fetching this version should always succeed.
|
// Fetching this version should always succeed.
|
||||||
storedVersion?: string;
|
storedVersion?: string;
|
||||||
|
// The original value map[string]any
|
||||||
|
source?: any;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const defaultConversionStatus = (): ConversionStatus => ({
|
export const defaultConversionStatus = (): ConversionStatus => ({
|
||||||
|
|||||||
@@ -2381,6 +2381,10 @@
|
|||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"default": false
|
"default": false
|
||||||
},
|
},
|
||||||
|
"source": {
|
||||||
|
"description": "The original value map[string]any",
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
"storedVersion": {
|
"storedVersion": {
|
||||||
"description": "The version which was stored when the dashboard was created / updated. Fetching this version should always succeed.",
|
"description": "The version which was stored when the dashboard was created / updated. Fetching this version should always succeed.",
|
||||||
"type": "string"
|
"type": "string"
|
||||||
|
|||||||
@@ -1075,6 +1075,10 @@
|
|||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"default": false
|
"default": false
|
||||||
},
|
},
|
||||||
|
"source": {
|
||||||
|
"description": "The original value map[string]any",
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
"storedVersion": {
|
"storedVersion": {
|
||||||
"description": "The version which was stored when the dashboard was created / updated. Fetching this version should always succeed.",
|
"description": "The version which was stored when the dashboard was created / updated. Fetching this version should always succeed.",
|
||||||
"type": "string"
|
"type": "string"
|
||||||
|
|||||||
@@ -1732,6 +1732,10 @@
|
|||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"default": false
|
"default": false
|
||||||
},
|
},
|
||||||
|
"source": {
|
||||||
|
"description": "The original value map[string]any",
|
||||||
|
"type": "object"
|
||||||
|
},
|
||||||
"storedVersion": {
|
"storedVersion": {
|
||||||
"description": "The version which was stored when the dashboard was created / updated. Fetching this version should always succeed.",
|
"description": "The version which was stored when the dashboard was created / updated. Fetching this version should always succeed.",
|
||||||
"type": "string"
|
"type": "string"
|
||||||
|
|||||||
Reference in New Issue
Block a user