[v9.5.x] Codegen: Fix composable kinds docs generation (#68221)

* Fix composable kinds docs generation

* Regenerate docs
This commit is contained in:
Tania
2023-05-10 16:08:33 +02:00
committed by GitHub
parent cdf6cd7323
commit 3504573574
6 changed files with 249 additions and 48 deletions
@@ -21,28 +21,16 @@ title: BarGaugePanelCfg kind
It extends [SingleStatBaseOptions](#singlestatbaseoptions).
<<<<<<< HEAD
| Property | Type | Required | Default | Description |
|-----------------|-------------------------------------------------|----------|---------|-----------------------------------------------------------------------------------------------------------------------------------------------|
| `displayMode` | string | **Yes** | | Enum expressing the possible display modes<br/>for the bar gauge component of Grafana UI<br/>Possible values are: `basic`, `lcd`, `gradient`. |
| `minVizHeight` | uint32 | **Yes** | `10` | |
| `minVizWidth` | uint32 | **Yes** | `0` | |
| `showUnfilled` | boolean | **Yes** | `true` | |
| `valueMode` | string | **Yes** | | Allows for the table cell gauge display type to set the gauge mode.<br/>Possible values are: `color`, `text`, `hidden`. |
| `orientation` | string | No | | *(Inherited from [SingleStatBaseOptions](#singlestatbaseoptions))*<br/>TODO docs<br/>Possible values are: `auto`, `vertical`, `horizontal`. |
| `reduceOptions` | [ReduceDataOptions](#reducedataoptions) | No | | *(Inherited from [SingleStatBaseOptions](#singlestatbaseoptions))*<br/>TODO docs |
| `text` | [VizTextDisplayOptions](#viztextdisplayoptions) | No | | *(Inherited from [SingleStatBaseOptions](#singlestatbaseoptions))*<br/>TODO docs |
=======
| Property | Type | Required | Description |
|-----------------|-------------------------------------------------|----------|-----------------------------------------------------------------------------------------------------------------------------------------------|
| `displayMode` | string | **Yes** | Enum expressing the possible display modes<br/>for the bar gauge component of Grafana UI<br/>Possible values are: `basic`, `lcd`, `gradient`. |
| `minVizHeight` | uint32 | **Yes** | Default: `10`. |
| `minVizWidth` | uint32 | **Yes** | Default: `0`. |
| `showUnfilled` | boolean | **Yes** | Default: `true`. |
| `valueMode` | string | **Yes** | Allows for the table cell gauge display type to set the gauge mode.<br/>Possible values are: `color`, `text`, `hidden`. |
| `orientation` | string | No | *(Inherited from [SingleStatBaseOptions](#singlestatbaseoptions))*<br/>TODO docs<br/>Possible values are: `auto`, `vertical`, `horizontal`. |
| `reduceOptions` | [ReduceDataOptions](#reducedataoptions) | No | *(Inherited from [SingleStatBaseOptions](#singlestatbaseoptions))*<br/>TODO docs |
| `text` | [VizTextDisplayOptions](#viztextdisplayoptions) | No | *(Inherited from [SingleStatBaseOptions](#singlestatbaseoptions))*<br/>TODO docs |
>>>>>>> main
### ReduceDataOptions
@@ -15,18 +15,18 @@ title: PrometheusDataQuery kind
It extends [DataQuery](#dataquery).
| Property | Type | Required | Description |
|--------------|---------|----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `expr` | string | **Yes** | The actual expression/query that will be evaluated by Prometheus |
| `refId` | string | **Yes** | *(Inherited from [DataQuery](#dataquery))*<br/>A unique identifier for the query within the list of targets.<br/>In server side expressions, the refId is used as a variable name to identify results.<br/>By default, the UI will assign A->Z; however setting meaningful names may be useful. |
| `datasource` | | No | *(Inherited from [DataQuery](#dataquery))*<br/>For mixed data sources the selected datasource is on the query level.<br/>For non mixed scenarios this is undefined.<br/>TODO find a better way to do this ^ that's friendly to schema<br/>TODO this shouldn't be unknown but DataSourceRef &#124; null |
| `editorMode` | string | No | Possible values are: `code`, `builder`. |
| `exemplar` | boolean | No | Execute an additional query to identify interesting raw samples relevant for the given expr |
| `format` | string | No | Possible values are: `time_series`, `table`, `heatmap`. |
| `hide` | boolean | No | *(Inherited from [DataQuery](#dataquery))*<br/>true if query is disabled (ie should not be returned to the dashboard)<br/>Note this does not always imply that the query should not be executed since<br/>the results from a hidden query may be used as the input to other queries (SSE etc) |
| `instant` | boolean | No | Returns only the latest value that Prometheus has scraped for the requested time series |
| `queryType` | string | No | *(Inherited from [DataQuery](#dataquery))*<br/>Specify the query flavor<br/>TODO make this required and give it a default |
| `range` | boolean | No | Returns a Range vector, comprised of a set of time series containing a range of data points over time for each time series |
| Property | Type | Required | Default | Description |
|--------------|---------|----------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `expr` | string | **Yes** | | The actual expression/query that will be evaluated by Prometheus |
| `refId` | string | **Yes** | | *(Inherited from [DataQuery](#dataquery))*<br/>A unique identifier for the query within the list of targets.<br/>In server side expressions, the refId is used as a variable name to identify results.<br/>By default, the UI will assign A->Z; however setting meaningful names may be useful. |
| `datasource` | | No | | *(Inherited from [DataQuery](#dataquery))*<br/>For mixed data sources the selected datasource is on the query level.<br/>For non mixed scenarios this is undefined.<br/>TODO find a better way to do this ^ that's friendly to schema<br/>TODO this shouldn't be unknown but DataSourceRef &#124; null |
| `editorMode` | string | No | | Possible values are: `code`, `builder`. |
| `exemplar` | boolean | No | | Execute an additional query to identify interesting raw samples relevant for the given expr |
| `format` | string | No | | Possible values are: `time_series`, `table`, `heatmap`. |
| `hide` | boolean | No | | *(Inherited from [DataQuery](#dataquery))*<br/>true if query is disabled (ie should not be returned to the dashboard)<br/>Note this does not always imply that the query should not be executed since<br/>the results from a hidden query may be used as the input to other queries (SSE etc) |
| `instant` | boolean | No | | Returns only the latest value that Prometheus has scraped for the requested time series |
| `queryType` | string | No | | *(Inherited from [DataQuery](#dataquery))*<br/>Specify the query flavor<br/>TODO make this required and give it a default |
| `range` | boolean | No | | Returns a Range vector, comprised of a set of time series containing a range of data points over time for each time series |
### DataQuery
@@ -34,11 +34,11 @@ These are the common properties available to all queries in all datasources.
Specific implementations will *extend* this interface, adding the required
properties for the given context.
| Property | Type | Required | Description |
|--------------|---------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `refId` | string | **Yes** | A unique identifier for the query within the list of targets.<br/>In server side expressions, the refId is used as a variable name to identify results.<br/>By default, the UI will assign A->Z; however setting meaningful names may be useful. |
| `datasource` | | No | For mixed data sources the selected datasource is on the query level.<br/>For non mixed scenarios this is undefined.<br/>TODO find a better way to do this ^ that's friendly to schema<br/>TODO this shouldn't be unknown but DataSourceRef &#124; null |
| `hide` | boolean | No | true if query is disabled (ie should not be returned to the dashboard)<br/>Note this does not always imply that the query should not be executed since<br/>the results from a hidden query may be used as the input to other queries (SSE etc) |
| `queryType` | string | No | Specify the query flavor<br/>TODO make this required and give it a default |
| Property | Type | Required | Default | Description |
|--------------|---------|----------|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `refId` | string | **Yes** | | A unique identifier for the query within the list of targets.<br/>In server side expressions, the refId is used as a variable name to identify results.<br/>By default, the UI will assign A->Z; however setting meaningful names may be useful. |
| `datasource` | | No | | For mixed data sources the selected datasource is on the query level.<br/>For non mixed scenarios this is undefined.<br/>TODO find a better way to do this ^ that's friendly to schema<br/>TODO this shouldn't be unknown but DataSourceRef &#124; null |
| `hide` | boolean | No | | true if query is disabled (ie should not be returned to the dashboard)<br/>Note this does not always imply that the query should not be executed since<br/>the results from a hidden query may be used as the input to other queries (SSE etc) |
| `queryType` | string | No | | Specify the query flavor<br/>TODO make this required and give it a default |
@@ -23,7 +23,7 @@ It extends [SingleStatBaseOptions](#singlestatbaseoptions).
| Property | Type | Required | Default | Description |
|-----------------|-------------------------------------------------|----------|---------|---------------------------------------------------------------------------------------------------------------------------------------------|
| `colorMode` | string | **Yes** | | TODO docs<br/>Possible values are: `value`, `background`, `none`. |
| `colorMode` | string | **Yes** | | TODO docs<br/>Possible values are: `value`, `background`, `background_solid`, `none`. |
| `graphMode` | string | **Yes** | | TODO docs<br/>Possible values are: `none`, `line`, `area`. |
| `justifyMode` | string | **Yes** | | TODO docs<br/>Possible values are: `auto`, `center`. |
| `textMode` | string | **Yes** | | TODO docs<br/>Possible values are: `auto`, `value`, `value_and_name`, `name`, `none`. |
@@ -19,26 +19,14 @@ title: TablePanelCfg kind
### PanelOptions
<<<<<<< HEAD
| Property | Type | Required | Default | Description |
|-----------------|---------------------------------------------------|----------|----------------------------------------------|--------------------------------------------------------------------|
| `frameIndex` | number | **Yes** | `0` | Represents the index of the selected frame |
| `showHeader` | boolean | **Yes** | `true` | Controls whether the panel should show the header |
| `cellHeight` | string | No | | Height of a table cell<br/>Possible values are: `sm`, `md`, `lg`. |
| `footer` | [object](#footer) | No | `map[countRows:false reducer:[] show:false]` | Controls footer options |
| `showRowNums` | boolean | No | `false` | Controls whether the columns should be numbered |
| `showTypeIcons` | boolean | No | `false` | Controls whether the header should show icons for the column types |
| `sortBy` | [TableSortByFieldState](#tablesortbyfieldstate)[] | No | | Used to control row sorting |
=======
| Property | Type | Required | Description |
|-----------------|---------------------------------------------------|----------|--------------------------------------------------------------------------------------|
| `frameIndex` | number | **Yes** | Represents the index of the selected frame Default: `0`. |
| `showHeader` | boolean | **Yes** | Controls whether the panel should show the header Default: `true`. |
| `cellHeight` | string | No | Height of a table cell<br/>Possible values are: `sm`, `md`, `lg`. |
| `footer` | [object](#footer) | No | Controls footer options Default: `map[countRows:false reducer:[] show:false]`. |
| `showRowNums` | boolean | No | Controls whether the columns should be numbered Default: `false`. |
| `showTypeIcons` | boolean | No | Controls whether the header should show icons for the column types Default: `false`. |
| `sortBy` | [TableSortByFieldState](#tablesortbyfieldstate)[] | No | Used to control row sorting |
>>>>>>> main
### TableSortByFieldState
@@ -0,0 +1,224 @@
---
keywords:
- grafana
- schema
title: TimeSeriesPanelCfg kind
---
> Both documentation generation and kinds schemas are in active development and subject to change without prior notice.
## TimeSeriesPanelCfg
#### Maturity: [merged](../../../maturity/#merged)
#### Version: 0.0
| Property | Type | Required | Default | Description |
|--------------------|---------------------------------------|----------|---------|-------------|
| `PanelFieldConfig` | [GraphFieldConfig](#graphfieldconfig) | **Yes** | | TODO docs |
| `PanelOptions` | [object](#paneloptions) | **Yes** | | |
### GraphFieldConfig
TODO docs
It extends [LineConfig](#lineconfig) and [FillConfig](#fillconfig) and [PointsConfig](#pointsconfig) and [AxisConfig](#axisconfig) and [BarConfig](#barconfig) and [StackableFieldConfig](#stackablefieldconfig) and [HideableFieldConfig](#hideablefieldconfig).
| Property | Type | Required | Default | Description |
|---------------------|-----------------------------------------------------------|----------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `axisCenteredZero` | boolean | No | | *(Inherited from [AxisConfig](#axisconfig))* |
| `axisColorMode` | string | No | | *(Inherited from [AxisConfig](#axisconfig))*<br/>TODO docs<br/>Possible values are: `text`, `series`. |
| `axisGridShow` | boolean | No | | *(Inherited from [AxisConfig](#axisconfig))* |
| `axisLabel` | string | No | | *(Inherited from [AxisConfig](#axisconfig))* |
| `axisPlacement` | string | No | | *(Inherited from [AxisConfig](#axisconfig))*<br/>TODO docs<br/>Possible values are: `auto`, `top`, `right`, `bottom`, `left`, `hidden`. |
| `axisSoftMax` | number | No | | *(Inherited from [AxisConfig](#axisconfig))* |
| `axisSoftMin` | number | No | | *(Inherited from [AxisConfig](#axisconfig))* |
| `axisWidth` | number | No | | *(Inherited from [AxisConfig](#axisconfig))* |
| `barAlignment` | integer | No | | *(Inherited from [BarConfig](#barconfig))*<br/>TODO docs<br/>Possible values are: `-1`, `0`, `1`. |
| `barMaxWidth` | number | No | | *(Inherited from [BarConfig](#barconfig))* |
| `barWidthFactor` | number | No | | *(Inherited from [BarConfig](#barconfig))* |
| `drawStyle` | string | No | | TODO docs<br/>Possible values are: `line`, `bars`, `points`. |
| `fillBelowTo` | string | No | | *(Inherited from [FillConfig](#fillconfig))* |
| `fillColor` | string | No | | *(Inherited from [FillConfig](#fillconfig))* |
| `fillOpacity` | number | No | | *(Inherited from [FillConfig](#fillconfig))* |
| `gradientMode` | string | No | | TODO docs<br/>Possible values are: `none`, `opacity`, `hue`, `scheme`. |
| `hideFrom` | [HideSeriesConfig](#hideseriesconfig) | No | | *(Inherited from [HideableFieldConfig](#hideablefieldconfig))*<br/>TODO docs |
| `lineColor` | string | No | | *(Inherited from [LineConfig](#lineconfig))* |
| `lineInterpolation` | string | No | | *(Inherited from [LineConfig](#lineconfig))*<br/>TODO docs<br/>Possible values are: `linear`, `smooth`, `stepBefore`, `stepAfter`. |
| `lineStyle` | [LineStyle](#linestyle) | No | | *(Inherited from [LineConfig](#lineconfig))*<br/>TODO docs |
| `lineWidth` | number | No | | *(Inherited from [LineConfig](#lineconfig))* |
| `pointColor` | string | No | | *(Inherited from [PointsConfig](#pointsconfig))* |
| `pointSize` | number | No | | *(Inherited from [PointsConfig](#pointsconfig))* |
| `pointSymbol` | string | No | | *(Inherited from [PointsConfig](#pointsconfig))* |
| `scaleDistribution` | [ScaleDistributionConfig](#scaledistributionconfig) | No | | *(Inherited from [AxisConfig](#axisconfig))*<br/>TODO docs |
| `showPoints` | string | No | | *(Inherited from [PointsConfig](#pointsconfig))*<br/>TODO docs<br/>Possible values are: `auto`, `never`, `always`. |
| `spanNulls` | | No | | *(Inherited from [LineConfig](#lineconfig))*<br/>Indicate if null values should be treated as gaps or connected.<br/>When the value is a number, it represents the maximum delta in the<br/>X axis that should be considered connected. For timeseries, this is milliseconds |
| `stacking` | [StackingConfig](#stackingconfig) | No | | *(Inherited from [StackableFieldConfig](#stackablefieldconfig))*<br/>TODO docs |
| `thresholdsStyle` | [GraphThresholdsStyleConfig](#graphthresholdsstyleconfig) | No | | TODO docs |
| `transform` | string | No | | TODO docs<br/>Possible values are: `constant`, `negative-Y`. |
### AxisConfig
TODO docs
| Property | Type | Required | Default | Description |
|---------------------|-----------------------------------------------------|----------|---------|----------------------------------------------------------------------------------------|
| `axisCenteredZero` | boolean | No | | |
| `axisColorMode` | string | No | | TODO docs<br/>Possible values are: `text`, `series`. |
| `axisGridShow` | boolean | No | | |
| `axisLabel` | string | No | | |
| `axisPlacement` | string | No | | TODO docs<br/>Possible values are: `auto`, `top`, `right`, `bottom`, `left`, `hidden`. |
| `axisSoftMax` | number | No | | |
| `axisSoftMin` | number | No | | |
| `axisWidth` | number | No | | |
| `scaleDistribution` | [ScaleDistributionConfig](#scaledistributionconfig) | No | | TODO docs |
### ScaleDistributionConfig
TODO docs
| Property | Type | Required | Default | Description |
|-------------------|--------|----------|---------|--------------------------------------------------------------------------|
| `type` | string | **Yes** | | TODO docs<br/>Possible values are: `linear`, `log`, `ordinal`, `symlog`. |
| `linearThreshold` | number | No | | |
| `log` | number | No | | |
### BarConfig
TODO docs
| Property | Type | Required | Default | Description |
|------------------|---------|----------|---------|----------------------------------------------------|
| `barAlignment` | integer | No | | TODO docs<br/>Possible values are: `-1`, `0`, `1`. |
| `barMaxWidth` | number | No | | |
| `barWidthFactor` | number | No | | |
### FillConfig
TODO docs
| Property | Type | Required | Default | Description |
|---------------|--------|----------|---------|-------------|
| `fillBelowTo` | string | No | | |
| `fillColor` | string | No | | |
| `fillOpacity` | number | No | | |
### GraphThresholdsStyleConfig
TODO docs
| Property | Type | Required | Default | Description |
|----------|--------|----------|---------|-----------------------------------------------------------------------------------------------------------|
| `mode` | string | **Yes** | | TODO docs<br/>Possible values are: `off`, `line`, `dashed`, `area`, `line+area`, `dashed+area`, `series`. |
### HideSeriesConfig
TODO docs
| Property | Type | Required | Default | Description |
|-----------|---------|----------|---------|-------------|
| `legend` | boolean | **Yes** | | |
| `tooltip` | boolean | **Yes** | | |
| `viz` | boolean | **Yes** | | |
### HideableFieldConfig
TODO docs
| Property | Type | Required | Default | Description |
|------------|---------------------------------------|----------|---------|-------------|
| `hideFrom` | [HideSeriesConfig](#hideseriesconfig) | No | | TODO docs |
### LineConfig
TODO docs
| Property | Type | Required | Default | Description |
|---------------------|-------------------------|----------|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `lineColor` | string | No | | |
| `lineInterpolation` | string | No | | TODO docs<br/>Possible values are: `linear`, `smooth`, `stepBefore`, `stepAfter`. |
| `lineStyle` | [LineStyle](#linestyle) | No | | TODO docs |
| `lineWidth` | number | No | | |
| `spanNulls` | | No | | Indicate if null values should be treated as gaps or connected.<br/>When the value is a number, it represents the maximum delta in the<br/>X axis that should be considered connected. For timeseries, this is milliseconds |
### LineStyle
TODO docs
| Property | Type | Required | Default | Description |
|----------|----------|----------|---------|--------------------------------------------------------|
| `dash` | number[] | No | | |
| `fill` | string | No | | Possible values are: `solid`, `dash`, `dot`, `square`. |
### PointsConfig
TODO docs
| Property | Type | Required | Default | Description |
|---------------|--------|----------|---------|---------------------------------------------------------------|
| `pointColor` | string | No | | |
| `pointSize` | number | No | | |
| `pointSymbol` | string | No | | |
| `showPoints` | string | No | | TODO docs<br/>Possible values are: `auto`, `never`, `always`. |
### StackableFieldConfig
TODO docs
| Property | Type | Required | Default | Description |
|------------|-----------------------------------|----------|---------|-------------|
| `stacking` | [StackingConfig](#stackingconfig) | No | | TODO docs |
### StackingConfig
TODO docs
| Property | Type | Required | Default | Description |
|----------|--------|----------|---------|-----------------------------------------------------------------|
| `group` | string | No | | |
| `mode` | string | No | | TODO docs<br/>Possible values are: `none`, `normal`, `percent`. |
### PanelOptions
It extends [OptionsWithTimezones](#optionswithtimezones).
| Property | Type | Required | Default | Description |
|------------|-----------------------------------------|----------|---------|------------------------------------------------------------------|
| `legend` | [VizLegendOptions](#vizlegendoptions) | **Yes** | | TODO docs |
| `tooltip` | [VizTooltipOptions](#viztooltipoptions) | **Yes** | | TODO docs |
| `timezone` | string[] | No | | *(Inherited from [OptionsWithTimezones](#optionswithtimezones))* |
### OptionsWithTimezones
TODO docs
| Property | Type | Required | Default | Description |
|------------|----------|----------|---------|-------------|
| `timezone` | string[] | No | | |
### VizLegendOptions
TODO docs
| Property | Type | Required | Default | Description |
|---------------|----------|----------|---------|-----------------------------------------------------------------------------------------------------------------------------------------|
| `calcs` | string[] | **Yes** | | |
| `displayMode` | string | **Yes** | | TODO docs<br/>Note: "hidden" needs to remain as an option for plugins compatibility<br/>Possible values are: `list`, `table`, `hidden`. |
| `placement` | string | **Yes** | | TODO docs<br/>Possible values are: `bottom`, `right`. |
| `showLegend` | boolean | **Yes** | | |
| `asTable` | boolean | No | | |
| `isVisible` | boolean | No | | |
| `sortBy` | string | No | | |
| `sortDesc` | boolean | No | | |
| `width` | number | No | | |
### VizTooltipOptions
TODO docs
| Property | Type | Required | Default | Description |
|----------|--------|----------|---------|---------------------------------------------------------------|
| `mode` | string | **Yes** | | TODO docs<br/>Possible values are: `single`, `multi`, `none`. |
| `sort` | string | **Yes** | | TODO docs<br/>Possible values are: `asc`, `desc`, `none`. |
+4 -3
View File
@@ -20,6 +20,7 @@ import (
"github.com/grafana/grafana/pkg/cuectx"
"github.com/grafana/grafana/pkg/plugins/codegen"
"github.com/grafana/grafana/pkg/plugins/pfs"
"github.com/grafana/thema"
)
var skipPlugins = map[string]bool{
@@ -52,7 +53,7 @@ func main() {
codegen.PluginTreeListJenny(),
codegen.PluginGoTypesJenny("pkg/tsdb"),
codegen.PluginTSTypesJenny("public/app/plugins", adaptToPipeline(corecodegen.TSTypesJenny{})),
kind2pd(corecodegen.DocsJenny(
kind2pd(rt, corecodegen.DocsJenny(
filepath.Join("docs", "sources", "developers", "kinds", "composable"),
)),
)
@@ -89,9 +90,9 @@ func adaptToPipeline(j codejen.OneToOne[corecodegen.SchemaForGen]) codejen.OneTo
})
}
func kind2pd(j codejen.OneToOne[kindsys.Kind]) codejen.OneToOne[*pfs.PluginDecl] {
func kind2pd(rt *thema.Runtime, j codejen.OneToOne[kindsys.Kind]) codejen.OneToOne[*pfs.PluginDecl] {
return codejen.AdaptOneToOne(j, func(pd *pfs.PluginDecl) kindsys.Kind {
kd, err := kindsys.BindComposable(nil, pd.KindDecl)
kd, err := kindsys.BindComposable(rt, pd.KindDecl)
if err != nil {
return nil
}