Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 81 additions & 12 deletions pkg/dashboards/dashboards_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ var (
}
)

// VisualizationType represents an option for adashboard widget's type.
// VisualizationType represents an option for a dashboard widget's type.
type VisualizationType string

var (
Expand Down Expand Up @@ -217,6 +217,34 @@ var (
}
)

type BillboardVisualDisplay string

var (
BillboardVisualDisplayAuto BillboardVisualDisplay = "auto"
BillboardVisualDisplayAll BillboardVisualDisplay = "all"
BillboardVisualDisplayValue BillboardVisualDisplay = "value"
BillboardVisualDisplayLabel BillboardVisualDisplay = "label"
BillboardVisualDisplayNone BillboardVisualDisplay = "none"
)

type BillboardVisualAlignment string

var (
BillboardVisualAlignmentAuto BillboardVisualAlignment = "auto"
BillboardVisualAlignmentStacked BillboardVisualAlignment = "stacked"
BillboardVisualAlignmentInline BillboardVisualAlignment = "inline"
)

type ThresholdSeverity string

var (
ThresholdSeveritySuccess ThresholdSeverity = "success"
ThresholdSeverityWarning ThresholdSeverity = "warning"
ThresholdSeveritySevere ThresholdSeverity = "severe"
ThresholdSeverityCritical ThresholdSeverity = "critical"
ThresholdSeverityUnavailable ThresholdSeverity = "unavailable"
)

// DashboardMetadata represents metadata about the dashboard (like version)
type DashboardMetadata struct {
Version int `json:"version"`
Expand Down Expand Up @@ -307,17 +335,19 @@ type RawConfiguration struct {
// Used by viz.markdown
Text string `json:"text,omitempty"`

Thresholds interface{} `json:"thresholds,omitempty"`
Legend *DashboardWidgetLegend `json:"legend,omitempty"`
YAxisLeft *DashboardWidgetYAxisLeft `json:"yAxisLeft,omitempty"`
YAxisRight *DashboardWidgetYAxisRight `json:"yAxisRight,omitempty"`
NullValues *DashboardWidgetNullValues `json:"nullValues,omitempty"`
Units *DashboardWidgetUnits `json:"units,omitempty"`
Colors *DashboardWidgetColors `json:"colors,omitempty"`
Facet *DashboardWidgetFacet `json:"facet,omitempty"`
RefreshRate *DashboardWidgetRefreshRate `json:"refreshRate,omitempty"`
InitialSorting *DashboardWidgetInitialSorting `json:"initialSorting,omitempty"`
DataFormat []*DashboardWidgetDataFormat `json:"dataFormatters,omitempty"`
Thresholds interface{} `json:"thresholds,omitempty"`
Legend *DashboardWidgetLegend `json:"legend,omitempty"`
YAxisLeft *DashboardWidgetYAxisLeft `json:"yAxisLeft,omitempty"`
YAxisRight *DashboardWidgetYAxisRight `json:"yAxisRight,omitempty"`
NullValues *DashboardWidgetNullValues `json:"nullValues,omitempty"`
Units *DashboardWidgetUnits `json:"units,omitempty"`
Colors *DashboardWidgetColors `json:"colors,omitempty"`
Facet *DashboardWidgetFacet `json:"facet,omitempty"`
RefreshRate *DashboardWidgetRefreshRate `json:"refreshRate,omitempty"`
InitialSorting *DashboardWidgetInitialSorting `json:"initialSorting,omitempty"`
DataFormat []*DashboardWidgetDataFormat `json:"dataFormatters,omitempty"`
BillboardSettings *DashboardWidgetBillboardSettings `json:"billboardSettings,omitempty"`
ThresholdsWithSeriesOverrides *DashboardWidgetThresholdsWithSeriesOverrides `json:"thresholdsWithSeriesOverrides,omitempty"`
}

// RawConfigurationPlatformOptions represents platform widget options
Expand Down Expand Up @@ -395,3 +425,42 @@ type DashboardWidgetColorOverrides struct {
type DashboardWidgetFacet struct {
ShowOtherSeries bool `json:"showOtherSeries,omitempty"`
}

type DashboardWidgetBillboardSettings struct {
Visual *DashboardWidgetBillboardVisual `json:"visual,omitempty"`
GridOptions *DashboardWidgetBillboardGridOptions `json:"gridOptions,omitempty"`
Link *DashboardWidgetBillboardLink `json:"link,omitempty"`
}

type DashboardWidgetBillboardVisual struct {
Display BillboardVisualDisplay `json:"display,omitempty"`
Alignment BillboardVisualAlignment `json:"alignment,omitempty"`
}

type DashboardWidgetBillboardGridOptions struct {
Columns int `json:"columns,omitempty"`
Label int `json:"label,omitempty"`
Value int `json:"value,omitempty"`
}

type DashboardWidgetBillboardLink struct {
Title string `json:"title,omitempty"`
URL string `json:"url,omitempty"`
NewTab bool `json:"newTab"`
}

type DashboardWidgetThresholdsWithSeriesOverrides struct {
Thresholds []*DashboardWidgetThresholdConfig `json:"thresholds,omitempty"`
SeriesOverrides []*DashboardWidgetThresholdSeriesOverride `json:"seriesOverrides,omitempty"`
}

type DashboardWidgetThresholdConfig struct {
From *float64 `json:"from,omitempty"`
To *float64 `json:"to,omitempty"`
Severity ThresholdSeverity `json:"severity,omitempty"`
}

type DashboardWidgetThresholdSeriesOverride struct {
DashboardWidgetThresholdConfig
SeriesName string `json:"seriesName"`
}
Loading