mirror of
https://github.com/grafana/grafana.git
synced 2024-11-25 18:30:41 -06:00
989 lines
38 KiB
JSON
989 lines
38 KiB
JSON
{
|
|
"type": "object",
|
|
"required": [
|
|
"targets",
|
|
"type"
|
|
],
|
|
"properties": {
|
|
"targets": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"expression",
|
|
"type",
|
|
"refId"
|
|
],
|
|
"properties": {
|
|
"datasource": {
|
|
"description": "The datasource",
|
|
"type": "object",
|
|
"required": [
|
|
"type"
|
|
],
|
|
"properties": {
|
|
"type": {
|
|
"description": "The datasource plugin type",
|
|
"type": "string",
|
|
"pattern": "^__expr__$"
|
|
},
|
|
"uid": {
|
|
"description": "Datasource UID",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"expression": {
|
|
"description": "General math expression",
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"examples": [
|
|
"$A + 1",
|
|
"$A/$B"
|
|
]
|
|
},
|
|
"hide": {
|
|
"description": "true if query is disabled (ie should not be returned to the dashboard)\nNOTE: this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)",
|
|
"type": "boolean"
|
|
},
|
|
"queryType": {
|
|
"description": "QueryType is an optional identifier for the type of query.\nIt can be used to distinguish different types of queries.",
|
|
"type": "string"
|
|
},
|
|
"refId": {
|
|
"description": "RefID is the unique identifier of the query, set by the frontend call.",
|
|
"type": "string"
|
|
},
|
|
"resultAssertions": {
|
|
"description": "Optionally define expected query result behavior",
|
|
"type": "object",
|
|
"required": [
|
|
"typeVersion"
|
|
],
|
|
"properties": {
|
|
"maxFrames": {
|
|
"description": "Maximum frame count",
|
|
"type": "integer"
|
|
},
|
|
"type": {
|
|
"description": "Type asserts that the frame matches a known type structure.\n\n\nPossible enum values:\n - `\"\"` \n - `\"timeseries-wide\"` \n - `\"timeseries-long\"` \n - `\"timeseries-many\"` \n - `\"timeseries-multi\"` \n - `\"directory-listing\"` \n - `\"table\"` \n - `\"numeric-wide\"` \n - `\"numeric-multi\"` \n - `\"numeric-long\"` \n - `\"log-lines\"` ",
|
|
"type": "string",
|
|
"enum": [
|
|
"",
|
|
"timeseries-wide",
|
|
"timeseries-long",
|
|
"timeseries-many",
|
|
"timeseries-multi",
|
|
"directory-listing",
|
|
"table",
|
|
"numeric-wide",
|
|
"numeric-multi",
|
|
"numeric-long",
|
|
"log-lines"
|
|
],
|
|
"x-enum-description": {}
|
|
},
|
|
"typeVersion": {
|
|
"description": "TypeVersion is the version of the Type property. Versions greater than 0.0 correspond to the dataplane\ncontract documentation https://grafana.github.io/dataplane/contract/.",
|
|
"type": "array",
|
|
"maxItems": 2,
|
|
"minItems": 2,
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"timeRange": {
|
|
"description": "TimeRange represents the query range\nNOTE: unlike generic /ds/query, we can now send explicit time values in each query\nNOTE: the values for timeRange are not saved in a dashboard, they are constructed on the fly",
|
|
"type": "object",
|
|
"required": [
|
|
"from",
|
|
"to"
|
|
],
|
|
"properties": {
|
|
"from": {
|
|
"description": "From is the start time of the query.",
|
|
"type": "string",
|
|
"default": "now-6h",
|
|
"examples": [
|
|
"now-1h"
|
|
]
|
|
},
|
|
"to": {
|
|
"description": "To is the end time of the query.",
|
|
"type": "string",
|
|
"default": "now",
|
|
"examples": [
|
|
"now"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"pattern": "^math$"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"$schema": "https://json-schema.org/draft-04/schema"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"expression",
|
|
"reducer",
|
|
"type",
|
|
"refId"
|
|
],
|
|
"properties": {
|
|
"datasource": {
|
|
"description": "The datasource",
|
|
"type": "object",
|
|
"required": [
|
|
"type"
|
|
],
|
|
"properties": {
|
|
"type": {
|
|
"description": "The datasource plugin type",
|
|
"type": "string",
|
|
"pattern": "^__expr__$"
|
|
},
|
|
"uid": {
|
|
"description": "Datasource UID",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"expression": {
|
|
"description": "Reference to single query result",
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"examples": [
|
|
"$A"
|
|
]
|
|
},
|
|
"hide": {
|
|
"description": "true if query is disabled (ie should not be returned to the dashboard)\nNOTE: this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)",
|
|
"type": "boolean"
|
|
},
|
|
"queryType": {
|
|
"description": "QueryType is an optional identifier for the type of query.\nIt can be used to distinguish different types of queries.",
|
|
"type": "string"
|
|
},
|
|
"reducer": {
|
|
"description": "The reducer\n\n\nPossible enum values:\n - `\"sum\"` \n - `\"mean\"` \n - `\"min\"` \n - `\"max\"` \n - `\"count\"` \n - `\"last\"` ",
|
|
"type": "string",
|
|
"enum": [
|
|
"sum",
|
|
"mean",
|
|
"min",
|
|
"max",
|
|
"count",
|
|
"last"
|
|
],
|
|
"x-enum-description": {}
|
|
},
|
|
"refId": {
|
|
"description": "RefID is the unique identifier of the query, set by the frontend call.",
|
|
"type": "string"
|
|
},
|
|
"resultAssertions": {
|
|
"description": "Optionally define expected query result behavior",
|
|
"type": "object",
|
|
"required": [
|
|
"typeVersion"
|
|
],
|
|
"properties": {
|
|
"maxFrames": {
|
|
"description": "Maximum frame count",
|
|
"type": "integer"
|
|
},
|
|
"type": {
|
|
"description": "Type asserts that the frame matches a known type structure.\n\n\nPossible enum values:\n - `\"\"` \n - `\"timeseries-wide\"` \n - `\"timeseries-long\"` \n - `\"timeseries-many\"` \n - `\"timeseries-multi\"` \n - `\"directory-listing\"` \n - `\"table\"` \n - `\"numeric-wide\"` \n - `\"numeric-multi\"` \n - `\"numeric-long\"` \n - `\"log-lines\"` ",
|
|
"type": "string",
|
|
"enum": [
|
|
"",
|
|
"timeseries-wide",
|
|
"timeseries-long",
|
|
"timeseries-many",
|
|
"timeseries-multi",
|
|
"directory-listing",
|
|
"table",
|
|
"numeric-wide",
|
|
"numeric-multi",
|
|
"numeric-long",
|
|
"log-lines"
|
|
],
|
|
"x-enum-description": {}
|
|
},
|
|
"typeVersion": {
|
|
"description": "TypeVersion is the version of the Type property. Versions greater than 0.0 correspond to the dataplane\ncontract documentation https://grafana.github.io/dataplane/contract/.",
|
|
"type": "array",
|
|
"maxItems": 2,
|
|
"minItems": 2,
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"settings": {
|
|
"description": "Reducer Options",
|
|
"type": "object",
|
|
"required": [
|
|
"mode"
|
|
],
|
|
"properties": {
|
|
"mode": {
|
|
"description": "Non-number reduce behavior\n\n\nPossible enum values:\n - `\"dropNN\"` Drop non-numbers\n - `\"replaceNN\"` Replace non-numbers",
|
|
"type": "string",
|
|
"enum": [
|
|
"dropNN",
|
|
"replaceNN"
|
|
],
|
|
"x-enum-description": {
|
|
"dropNN": "Drop non-numbers",
|
|
"replaceNN": "Replace non-numbers"
|
|
}
|
|
},
|
|
"replaceWithValue": {
|
|
"description": "Only valid when mode is replace",
|
|
"type": "number"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"timeRange": {
|
|
"description": "TimeRange represents the query range\nNOTE: unlike generic /ds/query, we can now send explicit time values in each query\nNOTE: the values for timeRange are not saved in a dashboard, they are constructed on the fly",
|
|
"type": "object",
|
|
"required": [
|
|
"from",
|
|
"to"
|
|
],
|
|
"properties": {
|
|
"from": {
|
|
"description": "From is the start time of the query.",
|
|
"type": "string",
|
|
"default": "now-6h",
|
|
"examples": [
|
|
"now-1h"
|
|
]
|
|
},
|
|
"to": {
|
|
"description": "To is the end time of the query.",
|
|
"type": "string",
|
|
"default": "now",
|
|
"examples": [
|
|
"now"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"pattern": "^reduce$"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"$schema": "https://json-schema.org/draft-04/schema"
|
|
},
|
|
{
|
|
"description": "QueryType = resample",
|
|
"type": "object",
|
|
"required": [
|
|
"expression",
|
|
"window",
|
|
"downsampler",
|
|
"upsampler",
|
|
"type",
|
|
"refId"
|
|
],
|
|
"properties": {
|
|
"datasource": {
|
|
"description": "The datasource",
|
|
"type": "object",
|
|
"required": [
|
|
"type"
|
|
],
|
|
"properties": {
|
|
"type": {
|
|
"description": "The datasource plugin type",
|
|
"type": "string",
|
|
"pattern": "^__expr__$"
|
|
},
|
|
"uid": {
|
|
"description": "Datasource UID",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"downsampler": {
|
|
"description": "The downsample function\n\n\nPossible enum values:\n - `\"sum\"` \n - `\"mean\"` \n - `\"min\"` \n - `\"max\"` \n - `\"count\"` \n - `\"last\"` ",
|
|
"type": "string",
|
|
"enum": [
|
|
"sum",
|
|
"mean",
|
|
"min",
|
|
"max",
|
|
"count",
|
|
"last"
|
|
],
|
|
"x-enum-description": {}
|
|
},
|
|
"expression": {
|
|
"description": "The math expression",
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"examples": [
|
|
"$A + 1",
|
|
"$A"
|
|
]
|
|
},
|
|
"hide": {
|
|
"description": "true if query is disabled (ie should not be returned to the dashboard)\nNOTE: this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)",
|
|
"type": "boolean"
|
|
},
|
|
"queryType": {
|
|
"description": "QueryType is an optional identifier for the type of query.\nIt can be used to distinguish different types of queries.",
|
|
"type": "string"
|
|
},
|
|
"refId": {
|
|
"description": "RefID is the unique identifier of the query, set by the frontend call.",
|
|
"type": "string"
|
|
},
|
|
"resultAssertions": {
|
|
"description": "Optionally define expected query result behavior",
|
|
"type": "object",
|
|
"required": [
|
|
"typeVersion"
|
|
],
|
|
"properties": {
|
|
"maxFrames": {
|
|
"description": "Maximum frame count",
|
|
"type": "integer"
|
|
},
|
|
"type": {
|
|
"description": "Type asserts that the frame matches a known type structure.\n\n\nPossible enum values:\n - `\"\"` \n - `\"timeseries-wide\"` \n - `\"timeseries-long\"` \n - `\"timeseries-many\"` \n - `\"timeseries-multi\"` \n - `\"directory-listing\"` \n - `\"table\"` \n - `\"numeric-wide\"` \n - `\"numeric-multi\"` \n - `\"numeric-long\"` \n - `\"log-lines\"` ",
|
|
"type": "string",
|
|
"enum": [
|
|
"",
|
|
"timeseries-wide",
|
|
"timeseries-long",
|
|
"timeseries-many",
|
|
"timeseries-multi",
|
|
"directory-listing",
|
|
"table",
|
|
"numeric-wide",
|
|
"numeric-multi",
|
|
"numeric-long",
|
|
"log-lines"
|
|
],
|
|
"x-enum-description": {}
|
|
},
|
|
"typeVersion": {
|
|
"description": "TypeVersion is the version of the Type property. Versions greater than 0.0 correspond to the dataplane\ncontract documentation https://grafana.github.io/dataplane/contract/.",
|
|
"type": "array",
|
|
"maxItems": 2,
|
|
"minItems": 2,
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"timeRange": {
|
|
"description": "TimeRange represents the query range\nNOTE: unlike generic /ds/query, we can now send explicit time values in each query\nNOTE: the values for timeRange are not saved in a dashboard, they are constructed on the fly",
|
|
"type": "object",
|
|
"required": [
|
|
"from",
|
|
"to"
|
|
],
|
|
"properties": {
|
|
"from": {
|
|
"description": "From is the start time of the query.",
|
|
"type": "string",
|
|
"default": "now-6h",
|
|
"examples": [
|
|
"now-1h"
|
|
]
|
|
},
|
|
"to": {
|
|
"description": "To is the end time of the query.",
|
|
"type": "string",
|
|
"default": "now",
|
|
"examples": [
|
|
"now"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"pattern": "^resample$"
|
|
},
|
|
"upsampler": {
|
|
"description": "The upsample function\n\n\nPossible enum values:\n - `\"pad\"` Use the last seen value\n - `\"backfilling\"` backfill\n - `\"fillna\"` Do not fill values (nill)",
|
|
"type": "string",
|
|
"enum": [
|
|
"pad",
|
|
"backfilling",
|
|
"fillna"
|
|
],
|
|
"x-enum-description": {
|
|
"backfilling": "backfill",
|
|
"fillna": "Do not fill values (nill)",
|
|
"pad": "Use the last seen value"
|
|
}
|
|
},
|
|
"window": {
|
|
"description": "The time duration",
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"examples": [
|
|
"1d",
|
|
"10m"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"$schema": "https://json-schema.org/draft-04/schema"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"conditions",
|
|
"type",
|
|
"refId"
|
|
],
|
|
"properties": {
|
|
"conditions": {
|
|
"type": "array",
|
|
"items": {
|
|
"description": "ConditionJSON is the JSON model for a single condition in ConditionsCmd.",
|
|
"type": "object",
|
|
"required": [
|
|
"evaluator",
|
|
"operator",
|
|
"query",
|
|
"reducer"
|
|
],
|
|
"properties": {
|
|
"evaluator": {
|
|
"type": "object",
|
|
"required": [
|
|
"params",
|
|
"type"
|
|
],
|
|
"properties": {
|
|
"params": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"type": {
|
|
"description": "e.g. \"gt\"",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"operator": {
|
|
"type": "object",
|
|
"required": [
|
|
"type"
|
|
],
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"and",
|
|
"or"
|
|
],
|
|
"x-enum-description": {}
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"query": {
|
|
"type": "object",
|
|
"required": [
|
|
"params"
|
|
],
|
|
"properties": {
|
|
"params": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"reducer": {
|
|
"type": "object",
|
|
"required": [
|
|
"type"
|
|
],
|
|
"properties": {
|
|
"type": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"datasource": {
|
|
"description": "The datasource",
|
|
"type": "object",
|
|
"required": [
|
|
"type"
|
|
],
|
|
"properties": {
|
|
"type": {
|
|
"description": "The datasource plugin type",
|
|
"type": "string",
|
|
"pattern": "^__expr__$"
|
|
},
|
|
"uid": {
|
|
"description": "Datasource UID",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"hide": {
|
|
"description": "true if query is disabled (ie should not be returned to the dashboard)\nNOTE: this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)",
|
|
"type": "boolean"
|
|
},
|
|
"queryType": {
|
|
"description": "QueryType is an optional identifier for the type of query.\nIt can be used to distinguish different types of queries.",
|
|
"type": "string"
|
|
},
|
|
"refId": {
|
|
"description": "RefID is the unique identifier of the query, set by the frontend call.",
|
|
"type": "string"
|
|
},
|
|
"resultAssertions": {
|
|
"description": "Optionally define expected query result behavior",
|
|
"type": "object",
|
|
"required": [
|
|
"typeVersion"
|
|
],
|
|
"properties": {
|
|
"maxFrames": {
|
|
"description": "Maximum frame count",
|
|
"type": "integer"
|
|
},
|
|
"type": {
|
|
"description": "Type asserts that the frame matches a known type structure.\n\n\nPossible enum values:\n - `\"\"` \n - `\"timeseries-wide\"` \n - `\"timeseries-long\"` \n - `\"timeseries-many\"` \n - `\"timeseries-multi\"` \n - `\"directory-listing\"` \n - `\"table\"` \n - `\"numeric-wide\"` \n - `\"numeric-multi\"` \n - `\"numeric-long\"` \n - `\"log-lines\"` ",
|
|
"type": "string",
|
|
"enum": [
|
|
"",
|
|
"timeseries-wide",
|
|
"timeseries-long",
|
|
"timeseries-many",
|
|
"timeseries-multi",
|
|
"directory-listing",
|
|
"table",
|
|
"numeric-wide",
|
|
"numeric-multi",
|
|
"numeric-long",
|
|
"log-lines"
|
|
],
|
|
"x-enum-description": {}
|
|
},
|
|
"typeVersion": {
|
|
"description": "TypeVersion is the version of the Type property. Versions greater than 0.0 correspond to the dataplane\ncontract documentation https://grafana.github.io/dataplane/contract/.",
|
|
"type": "array",
|
|
"maxItems": 2,
|
|
"minItems": 2,
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"timeRange": {
|
|
"description": "TimeRange represents the query range\nNOTE: unlike generic /ds/query, we can now send explicit time values in each query\nNOTE: the values for timeRange are not saved in a dashboard, they are constructed on the fly",
|
|
"type": "object",
|
|
"required": [
|
|
"from",
|
|
"to"
|
|
],
|
|
"properties": {
|
|
"from": {
|
|
"description": "From is the start time of the query.",
|
|
"type": "string",
|
|
"default": "now-6h",
|
|
"examples": [
|
|
"now-1h"
|
|
]
|
|
},
|
|
"to": {
|
|
"description": "To is the end time of the query.",
|
|
"type": "string",
|
|
"default": "now",
|
|
"examples": [
|
|
"now"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"pattern": "^classic_conditions$"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"$schema": "https://json-schema.org/draft-04/schema"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"required": [
|
|
"expression",
|
|
"conditions",
|
|
"type",
|
|
"refId"
|
|
],
|
|
"properties": {
|
|
"conditions": {
|
|
"description": "Threshold Conditions",
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": [
|
|
"evaluator"
|
|
],
|
|
"properties": {
|
|
"evaluator": {
|
|
"type": "object",
|
|
"required": [
|
|
"params",
|
|
"type"
|
|
],
|
|
"properties": {
|
|
"params": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"type": {
|
|
"description": "e.g. \"gt\"",
|
|
"type": "string",
|
|
"enum": [
|
|
"gt",
|
|
"lt",
|
|
"within_range",
|
|
"outside_range"
|
|
],
|
|
"x-enum-description": {}
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"loadedDimensions": {
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"x-grafana-type": "data.DataFrame"
|
|
},
|
|
"unloadEvaluator": {
|
|
"type": "object",
|
|
"required": [
|
|
"params",
|
|
"type"
|
|
],
|
|
"properties": {
|
|
"params": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"type": {
|
|
"description": "e.g. \"gt\"",
|
|
"type": "string",
|
|
"enum": [
|
|
"gt",
|
|
"lt",
|
|
"within_range",
|
|
"outside_range"
|
|
],
|
|
"x-enum-description": {}
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
"datasource": {
|
|
"description": "The datasource",
|
|
"type": "object",
|
|
"required": [
|
|
"type"
|
|
],
|
|
"properties": {
|
|
"type": {
|
|
"description": "The datasource plugin type",
|
|
"type": "string",
|
|
"pattern": "^__expr__$"
|
|
},
|
|
"uid": {
|
|
"description": "Datasource UID",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"expression": {
|
|
"description": "Reference to single query result",
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"examples": [
|
|
"$A"
|
|
]
|
|
},
|
|
"hide": {
|
|
"description": "true if query is disabled (ie should not be returned to the dashboard)\nNOTE: this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)",
|
|
"type": "boolean"
|
|
},
|
|
"queryType": {
|
|
"description": "QueryType is an optional identifier for the type of query.\nIt can be used to distinguish different types of queries.",
|
|
"type": "string"
|
|
},
|
|
"refId": {
|
|
"description": "RefID is the unique identifier of the query, set by the frontend call.",
|
|
"type": "string"
|
|
},
|
|
"resultAssertions": {
|
|
"description": "Optionally define expected query result behavior",
|
|
"type": "object",
|
|
"required": [
|
|
"typeVersion"
|
|
],
|
|
"properties": {
|
|
"maxFrames": {
|
|
"description": "Maximum frame count",
|
|
"type": "integer"
|
|
},
|
|
"type": {
|
|
"description": "Type asserts that the frame matches a known type structure.\n\n\nPossible enum values:\n - `\"\"` \n - `\"timeseries-wide\"` \n - `\"timeseries-long\"` \n - `\"timeseries-many\"` \n - `\"timeseries-multi\"` \n - `\"directory-listing\"` \n - `\"table\"` \n - `\"numeric-wide\"` \n - `\"numeric-multi\"` \n - `\"numeric-long\"` \n - `\"log-lines\"` ",
|
|
"type": "string",
|
|
"enum": [
|
|
"",
|
|
"timeseries-wide",
|
|
"timeseries-long",
|
|
"timeseries-many",
|
|
"timeseries-multi",
|
|
"directory-listing",
|
|
"table",
|
|
"numeric-wide",
|
|
"numeric-multi",
|
|
"numeric-long",
|
|
"log-lines"
|
|
],
|
|
"x-enum-description": {}
|
|
},
|
|
"typeVersion": {
|
|
"description": "TypeVersion is the version of the Type property. Versions greater than 0.0 correspond to the dataplane\ncontract documentation https://grafana.github.io/dataplane/contract/.",
|
|
"type": "array",
|
|
"maxItems": 2,
|
|
"minItems": 2,
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"timeRange": {
|
|
"description": "TimeRange represents the query range\nNOTE: unlike generic /ds/query, we can now send explicit time values in each query\nNOTE: the values for timeRange are not saved in a dashboard, they are constructed on the fly",
|
|
"type": "object",
|
|
"required": [
|
|
"from",
|
|
"to"
|
|
],
|
|
"properties": {
|
|
"from": {
|
|
"description": "From is the start time of the query.",
|
|
"type": "string",
|
|
"default": "now-6h",
|
|
"examples": [
|
|
"now-1h"
|
|
]
|
|
},
|
|
"to": {
|
|
"description": "To is the end time of the query.",
|
|
"type": "string",
|
|
"default": "now",
|
|
"examples": [
|
|
"now"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"pattern": "^threshold$"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"$schema": "https://json-schema.org/draft-04/schema"
|
|
},
|
|
{
|
|
"description": "SQLQuery requires the sqlExpression feature flag",
|
|
"type": "object",
|
|
"required": [
|
|
"expression",
|
|
"type",
|
|
"refId"
|
|
],
|
|
"properties": {
|
|
"datasource": {
|
|
"description": "The datasource",
|
|
"type": "object",
|
|
"required": [
|
|
"type"
|
|
],
|
|
"properties": {
|
|
"type": {
|
|
"description": "The datasource plugin type",
|
|
"type": "string",
|
|
"pattern": "^__expr__$"
|
|
},
|
|
"uid": {
|
|
"description": "Datasource UID",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"expression": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"examples": [
|
|
"SELECT * FROM A LIMIT 1"
|
|
]
|
|
},
|
|
"hide": {
|
|
"description": "true if query is disabled (ie should not be returned to the dashboard)\nNOTE: this does not always imply that the query should not be executed since\nthe results from a hidden query may be used as the input to other queries (SSE etc)",
|
|
"type": "boolean"
|
|
},
|
|
"queryType": {
|
|
"description": "QueryType is an optional identifier for the type of query.\nIt can be used to distinguish different types of queries.",
|
|
"type": "string"
|
|
},
|
|
"refId": {
|
|
"description": "RefID is the unique identifier of the query, set by the frontend call.",
|
|
"type": "string"
|
|
},
|
|
"resultAssertions": {
|
|
"description": "Optionally define expected query result behavior",
|
|
"type": "object",
|
|
"required": [
|
|
"typeVersion"
|
|
],
|
|
"properties": {
|
|
"maxFrames": {
|
|
"description": "Maximum frame count",
|
|
"type": "integer"
|
|
},
|
|
"type": {
|
|
"description": "Type asserts that the frame matches a known type structure.\n\n\nPossible enum values:\n - `\"\"` \n - `\"timeseries-wide\"` \n - `\"timeseries-long\"` \n - `\"timeseries-many\"` \n - `\"timeseries-multi\"` \n - `\"directory-listing\"` \n - `\"table\"` \n - `\"numeric-wide\"` \n - `\"numeric-multi\"` \n - `\"numeric-long\"` \n - `\"log-lines\"` ",
|
|
"type": "string",
|
|
"enum": [
|
|
"",
|
|
"timeseries-wide",
|
|
"timeseries-long",
|
|
"timeseries-many",
|
|
"timeseries-multi",
|
|
"directory-listing",
|
|
"table",
|
|
"numeric-wide",
|
|
"numeric-multi",
|
|
"numeric-long",
|
|
"log-lines"
|
|
],
|
|
"x-enum-description": {}
|
|
},
|
|
"typeVersion": {
|
|
"description": "TypeVersion is the version of the Type property. Versions greater than 0.0 correspond to the dataplane\ncontract documentation https://grafana.github.io/dataplane/contract/.",
|
|
"type": "array",
|
|
"maxItems": 2,
|
|
"minItems": 2,
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"timeRange": {
|
|
"description": "TimeRange represents the query range\nNOTE: unlike generic /ds/query, we can now send explicit time values in each query\nNOTE: the values for timeRange are not saved in a dashboard, they are constructed on the fly",
|
|
"type": "object",
|
|
"required": [
|
|
"from",
|
|
"to"
|
|
],
|
|
"properties": {
|
|
"from": {
|
|
"description": "From is the start time of the query.",
|
|
"type": "string",
|
|
"default": "now-6h",
|
|
"examples": [
|
|
"now-1h"
|
|
]
|
|
},
|
|
"to": {
|
|
"description": "To is the end time of the query.",
|
|
"type": "string",
|
|
"default": "now",
|
|
"examples": [
|
|
"now"
|
|
]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"pattern": "^sql$"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"$schema": "https://json-schema.org/draft-04/schema"
|
|
}
|
|
],
|
|
"$schema": "https://json-schema.org/draft-04/schema#"
|
|
}
|
|
},
|
|
"type": {
|
|
"description": "the panel type",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": true,
|
|
"$schema": "https://json-schema.org/draft-04/schema#"
|
|
} |