Kindsys: Extend DocsJenny with support for 'allOf' (#62558)

* Kindsys: Extend DocsJenny with support for 'allOf'

* Update generated docs

* Multiple refinements

* Minor fixes

* Undo undesired changes

* Fix

* Fix linter complains

---------

Co-authored-by: Tania B <yalyna.ts@gmail.com>
This commit is contained in:
Joan López de la Franca Beltran
2023-02-02 16:12:31 +01:00
committed by GitHub
co-authored by Tania B
parent 4d564f8b0a
commit 19ed9181e1
28 changed files with 2211 additions and 502 deletions
@@ -6,20 +6,20 @@ title: Dashboard kind
---
> Both documentation generation and kinds schemas are in active development and subject to change without prior notice.
# Dashboard kind
## Dashboard
## Maturity: experimental
## Version: 0.0
#### Maturity: experimental
#### Version: 0.0
## Properties
A Grafana dashboard.
| Property | Type | Required | Description |
|------------------------|-----------------------------------|----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `editable` | boolean | **Yes** | Whether a dashboard is editable or not. Default: `true`. |
| `graphTooltip` | integer | **Yes** | 0 for no shared crosshair or tooltip (default).<br/>1 for shared crosshair.<br/>2 for shared crosshair AND shared tooltip. Possible values are: `0`, `1`, `2`. Default: `0`. |
| `graphTooltip` | integer | **Yes** | 0 for no shared crosshair or tooltip (default).<br/>1 for shared crosshair.<br/>2 for shared crosshair AND shared tooltip.<br/>Possible values are: `0`, `1`, `2`. Default: `0`. |
| `revision` | integer | **Yes** | Version of the current dashboard data Default: `-1`. |
| `schemaVersion` | integer | **Yes** | Version of the JSON schema, incremented each time a Grafana update brings<br/>changes to said schema.<br/>TODO this is the existing schema numbering system. It will be replaced by Thema's themaVersion Default: `36`. |
| `style` | string | **Yes** | Theme of dashboard. Possible values are: `dark`, `light`. Default: `dark`. |
| `style` | string | **Yes** | Theme of dashboard.<br/>Possible values are: `dark`, `light`. Default: `dark`. |
| `annotations` | [object](#annotations) | No | TODO docs |
| `description` | string | No | Description of dashboard. |
| `fiscalYearStartMonth` | integer | No | The month that the fiscal year starts on. 0 = January, 11 = December Default: `0`. |
@@ -40,32 +40,28 @@ title: Dashboard kind
| `version` | integer | No | Version of the dashboard, incremented each time the dashboard is updated. |
| `weekStart` | string | No | TODO docs |
## DashboardLink
### DashboardLink
FROM public/app/features/dashboard/state/DashboardModels.ts - ish
TODO docs
### Properties
| Property | Type | Required | Description |
|---------------|----------|----------|----------------------------------------------------------|
| `asDropdown` | boolean | **Yes** | Default: `false`. |
| `icon` | string | **Yes** | |
| `includeVars` | boolean | **Yes** | Default: `false`. |
| `keepTime` | boolean | **Yes** | Default: `false`. |
| `tags` | string[] | **Yes** | |
| `targetBlank` | boolean | **Yes** | Default: `false`. |
| `title` | string | **Yes** | |
| `tooltip` | string | **Yes** | |
| `type` | string | **Yes** | TODO docs<br/>Possible values are: `link`, `dashboards`. |
| `url` | string | **Yes** | |
| Property | Type | Required | Description |
|---------------|----------|----------|------------------------------------------------------|
| `asDropdown` | boolean | **Yes** | Default: `false`. |
| `icon` | string | **Yes** | |
| `includeVars` | boolean | **Yes** | Default: `false`. |
| `keepTime` | boolean | **Yes** | Default: `false`. |
| `tags` | string[] | **Yes** | |
| `targetBlank` | boolean | **Yes** | Default: `false`. |
| `title` | string | **Yes** | |
| `tooltip` | string | **Yes** | |
| `type` | string | **Yes** | TODO docs Possible values are: `link`, `dashboards`. |
| `url` | string | **Yes** | |
## Snapshot
### Snapshot
TODO docs
### Properties
| Property | Type | Required | Description |
|---------------|---------|----------|-------------|
| `created` | string | **Yes** | TODO docs |
@@ -80,12 +76,10 @@ TODO docs
| `userId` | integer | **Yes** | TODO docs |
| `url` | string | No | TODO docs |
## annotations
### Annotations
TODO docs
### Properties
| Property | Type | Required | Description |
|----------|---------------------------------------|----------|-------------|
| `list` | [AnnotationQuery](#annotationquery)[] | No | |
@@ -95,8 +89,6 @@ TODO docs
TODO docs
FROM: AnnotationQuery in grafana-data/src/types/annotations.ts
#### Properties
| Property | Type | Required | Description |
|--------------|---------------------------------------|----------|-------------------------------------------------|
| `builtIn` | integer | **Yes** | Default: `0`. |
@@ -110,12 +102,10 @@ FROM: AnnotationQuery in grafana-data/src/types/annotations.ts
| `rawQuery` | string | No | Query for annotation data. |
| `target` | [AnnotationTarget](#annotationtarget) | No | TODO docs |
#### AnnotationTarget
### AnnotationTarget
TODO docs
##### Properties
| Property | Type | Required | Description |
|------------|----------|----------|-------------|
| `limit` | integer | **Yes** | |
@@ -123,28 +113,24 @@ TODO docs
| `tags` | string[] | **Yes** | |
| `type` | string | **Yes** | |
#### datasource
### Datasource
Datasource to use for annotation.
##### Properties
| Property | Type | Required | Description |
|----------|--------|----------|-------------|
| `type` | string | No | |
| `uid` | string | No | |
## panels
### Panels
| Property | Type | Required | Description |
|----------|------|----------|-------------|
## templating
### Templating
TODO docs
### Properties
| Property | Type | Required | Description |
|----------|-----------------------------------|----------|-------------|
| `list` | [VariableModel](#variablemodel)[] | No | |
@@ -156,59 +142,51 @@ TODO docs
TODO what about what's in public/app/features/types.ts?
TODO there appear to be a lot of different kinds of [template] vars here? if so need a disjunction
#### Properties
| Property | Type | Required | Description |
|----------------|---------------------------------|----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `global` | boolean | **Yes** | Default: `false`. |
| `hide` | integer | **Yes** | Possible values are: `0`, `1`, `2`. |
| `id` | string | **Yes** | Default: `00000000-0000-0000-0000-000000000000`. |
| `index` | integer | **Yes** | Default: `-1`. |
| `name` | string | **Yes** | |
| `skipUrlSync` | boolean | **Yes** | Default: `false`. |
| `state` | string | **Yes** | Possible values are: `NotStarted`, `Loading`, `Streaming`, `Done`, `Error`. |
| `type` | string | **Yes** | FROM: packages/grafana-data/src/types/templateVars.ts<br/>TODO docs<br/>TODO this implies some wider pattern/discriminated union, probably?<br/>Possible values are: `query`, `adhoc`, `constant`, `datasource`, `interval`, `textbox`, `custom`, `system`. |
| `datasource` | [DataSourceRef](#datasourceref) | No | Ref to a DataSource instance |
| `description` | string | No | |
| `error` | [object](#error) | No | |
| `label` | string | No | |
| `query` | | No | TODO: Move this into a separated QueryVariableModel type |
| `rootStateKey` | string | No | |
| Property | Type | Required | Description |
|----------------|---------------------------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `global` | boolean | **Yes** | Default: `false`. |
| `hide` | integer | **Yes** | Possible values are: `0`, `1`, `2`. |
| `id` | string | **Yes** | Default: `00000000-0000-0000-0000-000000000000`. |
| `index` | integer | **Yes** | Default: `-1`. |
| `name` | string | **Yes** | |
| `skipUrlSync` | boolean | **Yes** | Default: `false`. |
| `state` | string | **Yes** | Possible values are: `NotStarted`, `Loading`, `Streaming`, `Done`, `Error`. |
| `type` | string | **Yes** | FROM: packages/grafana-data/src/types/templateVars.ts<br/>TODO docs<br/>TODO this implies some wider pattern/discriminated union, probably? Possible values are: `query`, `adhoc`, `constant`, `datasource`, `interval`, `textbox`, `custom`, `system`. |
| `datasource` | [DataSourceRef](#datasourceref) | No | Ref to a DataSource instance |
| `description` | string | No | |
| `error` | [object](#error) | No | |
| `label` | string | No | |
| `query` | | No | TODO: Move this into a separated QueryVariableModel type |
| `rootStateKey` | string | No | |
#### DataSourceRef
### DataSourceRef
Ref to a DataSource instance
##### Properties
| Property | Type | Required | Description |
|----------|--------|----------|------------------------------|
| `type` | string | No | The plugin type-id |
| `uid` | string | No | Specific datasource instance |
#### error
### Error
| Property | Type | Required | Description |
|----------|------|----------|-------------|
## time
### Time
Time range for dashboard, e.g. last 6 hours, last 7 days, etc
### Properties
| Property | Type | Required | Description |
|----------|--------|----------|--------------------|
| `from` | string | **Yes** | Default: `now-6h`. |
| `to` | string | **Yes** | Default: `now`. |
## timepicker
### Timepicker
TODO docs
TODO this appears to be spread all over in the frontend. Concepts will likely need tidying in tandem with schema changes
### Properties
| Property | Type | Required | Description |
|---------------------|----------|----------|----------------------------------------------------------------------------------------|
| `collapse` | boolean | **Yes** | Whether timepicker is collapsed or not. Default: `false`. |
@@ -6,12 +6,12 @@ title: LibraryPanel kind
---
> Both documentation generation and kinds schemas are in active development and subject to change without prior notice.
# LibraryPanel kind
## LibraryPanel
## Maturity: experimental
## Version: 0.0
#### Maturity: experimental
#### Version: 0.0
## Properties
A standalone panel
| Property | Type | Required | Description |
|-----------------|-------------------------------------------------|----------|--------------------------------------------------------------------------------------------------------------------------------------|
@@ -25,9 +25,7 @@ title: LibraryPanel kind
| `meta` | [LibraryElementDTOMeta](#libraryelementdtometa) | No | |
| `schemaVersion` | integer | No | Dashboard version when this was saved (zero if unknown) |
## LibraryElementDTOMeta
### Properties
### LibraryElementDTOMeta
| Property | Type | Required | Description |
|-----------------------|---------------------------------------------------------|----------|-------------|
@@ -41,8 +39,6 @@ title: LibraryPanel kind
### LibraryElementDTOMetaUser
#### Properties
| Property | Type | Required | Description |
|-------------|---------|----------|-------------|
| `avatarUrl` | string | **Yes** | |
@@ -51,15 +47,13 @@ title: LibraryPanel kind
### LibraryElementDTOMetaUser
#### Properties
| Property | Type | Required | Description |
|-------------|---------|----------|-------------|
| `avatarUrl` | string | **Yes** | |
| `id` | integer | **Yes** | |
| `name` | string | **Yes** | |
## model
### Model
TODO: should be the same panel schema defined in dashboard
Typescript: Omit<Panel, 'gridPos' | 'id' | 'libraryPanel'>;
@@ -6,12 +6,12 @@ title: Playlist kind
---
> Both documentation generation and kinds schemas are in active development and subject to change without prior notice.
# Playlist kind
## Playlist
## Maturity: merged
## Version: 0.0
#### Maturity: merged
#### Version: 0.0
## Properties
A playlist is a series of dashboards that is automatically rotated in the browser, on a configurable interval.
| Property | Type | Required | Description |
|------------|---------------------------------|----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
@@ -20,13 +20,11 @@ title: Playlist kind
| `uid` | string | **Yes** | Unique playlist identifier. Generated on creation, either by the<br/>creator of the playlist of by the application. |
| `items` | [PlaylistItem](#playlistitem)[] | No | The ordered list of items that the playlist will iterate over.<br/>FIXME! This should not be optional, but changing it makes the godegen awkward |
## PlaylistItem
### Properties
### PlaylistItem
| Property | Type | Required | Description |
|----------|--------|----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `type` | string | **Yes** | Type of the item. Possible values are: `dashboard_by_uid`, `dashboard_by_id`, `dashboard_by_tag`. |
| `type` | string | **Yes** | Type of the item.<br/>Possible values are: `dashboard_by_uid`, `dashboard_by_id`, `dashboard_by_tag`. |
| `value` | string | **Yes** | Value depends on type and describes the playlist item.<br/><br/> - dashboard_by_id: The value is an internal numerical identifier set by Grafana. This<br/> is not portable as the numerical identifier is non-deterministic between different instances.<br/> Will be replaced by dashboard_by_uid in the future. (deprecated)<br/> - dashboard_by_tag: The value is a tag which is set on any number of dashboards. All<br/> dashboards behind the tag will be added to the playlist.<br/> - dashboard_by_uid: The value is the dashboard UID |
| `title` | string | No | Title is an unused property -- it will be removed in the future |
@@ -6,12 +6,12 @@ title: Preferences kind
---
> Both documentation generation and kinds schemas are in active development and subject to change without prior notice.
# Preferences kind
## Preferences
## Maturity: merged
## Version: 0.0
#### Maturity: merged
#### Version: 0.0
## Properties
The user or team frontend preferences
| Property | Type | Required | Description |
|--------------------|---------------------------------------------------|----------|---------------------------------------------------------------------------------|
@@ -22,9 +22,7 @@ title: Preferences kind
| `timezone` | string | No | The timezone selection<br/>TODO: this should use the timezone defined in common |
| `weekStart` | string | No | day of the week (sunday, monday, etc) |
## QueryHistoryPreference
### Properties
### QueryHistoryPreference
| Property | Type | Required | Description |
|-----------|--------|----------|---------------------------------------------|
@@ -6,12 +6,12 @@ title: PublicDashboard kind
---
> Both documentation generation and kinds schemas are in active development and subject to change without prior notice.
# PublicDashboard kind
## PublicDashboard
## Maturity: merged
## Version: 0.0
#### Maturity: merged
#### Version: 0.0
## Properties
Public dashboard configuration
| Property | Type | Required | Description |
|------------------------|---------|----------|-----------------------------------------------------------------|
@@ -6,12 +6,12 @@ title: ServiceAccount kind
---
> Both documentation generation and kinds schemas are in active development and subject to change without prior notice.
# ServiceAccount kind
## ServiceAccount
## Maturity: merged
## Version: 0.0
#### Maturity: merged
#### Version: 0.0
## Properties
system account
| Property | Type | Required | Description |
|-----------------|--------------------|----------|-----------------------------------------------------------------------------------------------------------------------------------------|
@@ -21,7 +21,7 @@ title: ServiceAccount kind
| `login` | string | **Yes** | Login of the service account. |
| `name` | string | **Yes** | Name of the service account. |
| `orgId` | integer | **Yes** | OrgId is the ID of an organisation the service account belongs to. |
| `role` | string | **Yes** | OrgRole is a Grafana Organization Role which can be 'Viewer', 'Editor', 'Admin'. Possible values are: `Admin`, `Editor`, `Viewer`. |
| `role` | string | **Yes** | OrgRole is a Grafana Organization Role which can be 'Viewer', 'Editor', 'Admin'.<br/>Possible values are: `Admin`, `Editor`, `Viewer`. |
| `tokens` | integer | **Yes** | Tokens is the number of active tokens for the service account.<br/>Tokens are used to authenticate the service account against Grafana. |
| `accessControl` | map[string]boolean | No | AccessControl metadata associated with a given resource. |
| `created` | integer | No | Created indicates when the service account was created. |
@@ -6,12 +6,12 @@ title: Team kind
---
> Both documentation generation and kinds schemas are in active development and subject to change without prior notice.
# Team kind
## Team
## Maturity: merged
## Version: 0.0
#### Maturity: merged
#### Version: 0.0
## Properties
A team is a named grouping of Grafana users to which access control rules may be assigned.
| Property | Type | Required | Description |
|-----------------|--------------------|----------|----------------------------------------------------------|