mirror of
https://github.com/grafana/grafana.git
synced 2024-12-22 15:13:38 -06:00
kindsys: Adapt to new flattened lineage syntax in Thema (#68034)
* Update all core kinds to flattened lineages * Regen Go types, without any * Regen Go types, s/interface{}/any/ * Update generated core typescript * Update generate docs * Fix defaults gen in veneer index jenny * Flatten plugindef lineage * Convert all plugin kinds to flattened form * Switch back to interface{} for now * Switch to fs.Sub in plugin DeclParser * Mostly undesirable codegen changes, to be fixed * Update mod and sum * Update pfs tests to flattened lineages * Update thema to latest, regen docs
This commit is contained in:
parent
2ceed6a169
commit
323cbe1997
@ -13,19 +13,17 @@ title: ElasticsearchDataQuery kind
|
||||
|
||||
|
||||
|
||||
It extends [DataQuery](#dataquery).
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------|-------------------------------------------|----------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `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. |
|
||||
| `alias` | string | No | | Alias pattern |
|
||||
| `bucketAggs` | [BucketAggregation](#bucketaggregation)[] | No | | List of bucket aggregations |
|
||||
| `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 | null |
|
||||
| `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) |
|
||||
| `metrics` | [MetricAggregation](#metricaggregation)[] | No | | List of metric aggregations |
|
||||
| `queryType` | string | No | | *(Inherited from [DataQuery](#dataquery))*<br/>Specify the query flavor<br/>TODO make this required and give it a default |
|
||||
| `query` | string | No | | Lucene query |
|
||||
| `timeField` | string | No | | Name of time field |
|
||||
| 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. |
|
||||
| `alias` | string | No | | Alias pattern |
|
||||
| `bucketAggs` | [BucketAggregation](#bucketaggregation)[] | No | | List of bucket aggregations |
|
||||
| `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 | 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) |
|
||||
| `metrics` | [MetricAggregation](#metricaggregation)[] | No | | List of metric aggregations |
|
||||
| `queryType` | string | No | | Specify the query flavor<br/>TODO make this required and give it a default |
|
||||
| `query` | string | No | | Lucene query |
|
||||
| `timeField` | string | No | | Name of time field |
|
||||
|
||||
### BucketAggregation
|
||||
|
||||
@ -117,19 +115,6 @@ It extends [BucketAggregationWithField](#bucketaggregationwithfield).
|
||||
| `id` | string | No | | *(Inherited from [BucketAggregationWithField](#bucketaggregationwithfield))* |
|
||||
| `settings` | | No | | *(Inherited from [BucketAggregationWithField](#bucketaggregationwithfield))* |
|
||||
|
||||
### DataQuery
|
||||
|
||||
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 | 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 | 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 |
|
||||
|
||||
### MetricAggregation
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|
@ -13,30 +13,15 @@ title: GrafanaPyroscopeDataQuery kind
|
||||
|
||||
|
||||
|
||||
It extends [DataQuery](#dataquery).
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|-----------------|----------|----------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `groupBy` | string[] | **Yes** | | Allows to group the results. |
|
||||
| `labelSelector` | string | **Yes** | `{}` | Specifies the query label selectors. |
|
||||
| `profileTypeId` | string | **Yes** | | Specifies the type of profile to query. |
|
||||
| `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 | null |
|
||||
| `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) |
|
||||
| `maxNodes` | integer | No | | Sets the maximum number of nodes in the flamegraph. |
|
||||
| `queryType` | string | No | | *(Inherited from [DataQuery](#dataquery))*<br/>Specify the query flavor<br/>TODO make this required and give it a default |
|
||||
|
||||
### DataQuery
|
||||
|
||||
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 | 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 | 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 |
|
||||
|-----------------|----------|----------|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `groupBy` | string[] | **Yes** | | Allows to group the results. |
|
||||
| `labelSelector` | string | **Yes** | `{}` | Specifies the query label selectors. |
|
||||
| `profileTypeId` | string | **Yes** | | Specifies the type of profile to query. |
|
||||
| `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 | 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) |
|
||||
| `maxNodes` | integer | No | | Sets the maximum number of nodes in the flamegraph. |
|
||||
| `queryType` | string | No | | Specify the query flavor<br/>TODO make this required and give it a default |
|
||||
|
||||
|
||||
|
@ -13,33 +13,18 @@ title: LokiDataQuery kind
|
||||
|
||||
|
||||
|
||||
It extends [DataQuery](#dataquery).
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|----------------|---------|----------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `expr` | string | **Yes** | | The LogQL query. |
|
||||
| `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 | null |
|
||||
| `editorMode` | string | No | | Possible values are: `code`, `builder`. |
|
||||
| `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 | | @deprecated, now use queryType. |
|
||||
| `legendFormat` | string | No | | Used to override the name of the series. |
|
||||
| `maxLines` | integer | No | | Used to limit the number of log rows returned. |
|
||||
| `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 | | @deprecated, now use queryType. |
|
||||
| `resolution` | integer | No | | Used to scale the interval value. |
|
||||
|
||||
### DataQuery
|
||||
|
||||
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 | 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 | 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 |
|
||||
|----------------|---------|----------|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `expr` | string | **Yes** | | The LogQL query. |
|
||||
| `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 | null |
|
||||
| `editorMode` | string | No | | Possible values are: `code`, `builder`. |
|
||||
| `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) |
|
||||
| `instant` | boolean | No | | @deprecated, now use queryType. |
|
||||
| `legendFormat` | string | No | | Used to override the name of the series. |
|
||||
| `maxLines` | integer | No | | Used to limit the number of log rows returned. |
|
||||
| `queryType` | string | No | | Specify the query flavor<br/>TODO make this required and give it a default |
|
||||
| `range` | boolean | No | | @deprecated, now use queryType. |
|
||||
| `resolution` | integer | No | | Used to scale the interval value. |
|
||||
|
||||
|
||||
|
@ -13,28 +13,13 @@ title: ParcaDataQuery kind
|
||||
|
||||
|
||||
|
||||
It extends [DataQuery](#dataquery).
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|-----------------|---------|----------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `labelSelector` | string | **Yes** | `{}` | Specifies the query label selectors. |
|
||||
| `profileTypeId` | string | **Yes** | | Specifies the type of profile to query. |
|
||||
| `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 | null |
|
||||
| `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) |
|
||||
| `queryType` | string | No | | *(Inherited from [DataQuery](#dataquery))*<br/>Specify the query flavor<br/>TODO make this required and give it a default |
|
||||
|
||||
### DataQuery
|
||||
|
||||
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 | 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 | 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 |
|
||||
|-----------------|---------|----------|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `labelSelector` | string | **Yes** | `{}` | Specifies the query label selectors. |
|
||||
| `profileTypeId` | string | **Yes** | | Specifies the type of profile to query. |
|
||||
| `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 | 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 |
|
||||
|
||||
|
||||
|
@ -13,34 +13,19 @@ title: PrometheusDataQuery kind
|
||||
|
||||
|
||||
|
||||
It extends [DataQuery](#dataquery).
|
||||
|
||||
| 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 | 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 |
|
||||
| `intervalFactor` | number | No | | @deprecated Used to specify how many times to divide max data points by. We use max data points under query options<br/>See https://github.com/grafana/grafana/issues/48081 |
|
||||
| `legendFormat` | string | No | | Series name override or template. Ex. {{hostname}} will be replaced with label value for hostname |
|
||||
| `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
|
||||
|
||||
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 | 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 | 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 |
|
||||
|------------------|---------|----------|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `expr` | string | **Yes** | | The actual expression/query that will be evaluated by Prometheus |
|
||||
| `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 | 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 | | 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 |
|
||||
| `intervalFactor` | number | No | | @deprecated Used to specify how many times to divide max data points by. We use max data points under query options<br/>See https://github.com/grafana/grafana/issues/48081 |
|
||||
| `legendFormat` | string | No | | Series name override or template. Ex. {{hostname}} will be replaced with label value for hostname |
|
||||
| `queryType` | string | No | | 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 |
|
||||
|
||||
|
||||
|
@ -13,26 +13,24 @@ title: TestDataDataQuery kind
|
||||
|
||||
|
||||
|
||||
It extends [DataQuery](#dataquery).
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|-------------------|-------------------------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `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. |
|
||||
| `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. |
|
||||
| `alias` | string | No | | |
|
||||
| `channel` | string | No | | |
|
||||
| `csvContent` | string | No | | |
|
||||
| `csvFileName` | string | No | | |
|
||||
| `csvWave` | [CSVWave](#csvwave)[] | No | | |
|
||||
| `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 | null |
|
||||
| `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 | null |
|
||||
| `errorType` | string | No | | Possible values are: `server_panic`, `frontend_exception`, `frontend_observable`. |
|
||||
| `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) |
|
||||
| `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) |
|
||||
| `labels` | string | No | | |
|
||||
| `levelColumn` | boolean | No | | |
|
||||
| `lines` | integer | No | | |
|
||||
| `nodes` | [NodesQuery](#nodesquery) | No | | |
|
||||
| `points` | array[] | No | | |
|
||||
| `pulseWave` | [PulseWaveQuery](#pulsewavequery) | No | | |
|
||||
| `queryType` | string | No | | *(Inherited from [DataQuery](#dataquery))*<br/>Specify the query flavor<br/>TODO make this required and give it a default |
|
||||
| `queryType` | string | No | | Specify the query flavor<br/>TODO make this required and give it a default |
|
||||
| `rawFrameContent` | string | No | | |
|
||||
| `scenarioId` | string | No | | Possible values are: `random_walk`, `slow_query`, `random_walk_with_error`, `random_walk_table`, `exponential_heatmap_bucket_data`, `linear_heatmap_bucket_data`, `no_data_points`, `datapoints_outside_range`, `csv_metric_values`, `predictable_pulse`, `predictable_csv_wave`, `streaming_client`, `simulation`, `usa`, `live`, `grafana_api`, `arrow`, `annotations`, `table_static`, `server_error_500`, `logs`, `node_graph`, `flame_graph`, `raw_frame`, `csv_file`, `csv_content`, `trace`, `manual_entry`, `variables-query`. |
|
||||
| `seriesCount` | integer | No | | |
|
||||
@ -51,19 +49,6 @@ It extends [DataQuery](#dataquery).
|
||||
| `timeStep` | integer | No | | |
|
||||
| `valuesCSV` | string | No | | |
|
||||
|
||||
### DataQuery
|
||||
|
||||
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 | 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 | 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 |
|
||||
|
||||
### NodesQuery
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|
@ -661,10 +661,10 @@ TODO this appears to be spread all over in the frontend. Concepts will likely ne
|
||||
|
||||
### Status
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|----------------------------------------------------------------------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `additionalFields` | [object](#additionalfields) | No | | additionalFields is reserved for future use |
|
||||
| `operatorStates` | map[string][joinSchema.status.#OperatorState](#joinschema.status.#operatorstate) | No | | operatorStates is a map of operator ID to operator state evaluations.<br/>Any operator which consumes this kind SHOULD add its state evaluation information to this field. |
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|------------------------------------------------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `additionalFields` | [object](#additionalfields) | No | | additionalFields is reserved for future use |
|
||||
| `operatorStates` | map[string][status.#OperatorState](#status.#operatorstate) | No | | operatorStates is a map of operator ID to operator state evaluations.<br/>Any operator which consumes this kind SHOULD add its state evaluation information to this field. |
|
||||
|
||||
### AdditionalFields
|
||||
|
||||
@ -673,7 +673,7 @@ additionalFields is reserved for future use
|
||||
| Property | Type | Required | Default | Description |
|
||||
|----------|------|----------|---------|-------------|
|
||||
|
||||
### JoinSchema.Status.#OperatorState
|
||||
### Status.#OperatorState
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|--------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
|
@ -16,7 +16,7 @@ A folder is a collection of resources that are grouped together and can share pe
|
||||
| Property | Type | Required | Default | Description |
|
||||
|------------|---------------------|----------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `metadata` | [object](#metadata) | **Yes** | | metadata contains embedded CommonMetadata and can be extended with custom string fields<br/>TODO: use CommonMetadata instead of redefining here; currently needs to be defined here<br/>without external reference as using the CommonMetadata reference breaks thema codegen. |
|
||||
| `spec` | [object](#spec) | **Yes** | | |
|
||||
| `spec` | [object](#spec) | **Yes** | | TODO:<br/>common metadata will soon support setting the parent folder in the metadata |
|
||||
| `status` | [object](#status) | **Yes** | | |
|
||||
|
||||
### Metadata
|
||||
@ -64,6 +64,9 @@ extraFields is reserved for any fields that are pulled from the API server metad
|
||||
|
||||
### Spec
|
||||
|
||||
TODO:
|
||||
common metadata will soon support setting the parent folder in the metadata
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|---------------|--------|----------|---------|--------------------------------------|
|
||||
| `title` | string | **Yes** | | Folder title |
|
||||
@ -72,10 +75,10 @@ extraFields is reserved for any fields that are pulled from the API server metad
|
||||
|
||||
### Status
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|----------------------------------------------------------------------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `additionalFields` | [object](#additionalfields) | No | | additionalFields is reserved for future use |
|
||||
| `operatorStates` | map[string][joinSchema.status.#OperatorState](#joinschema.status.#operatorstate) | No | | operatorStates is a map of operator ID to operator state evaluations.<br/>Any operator which consumes this kind SHOULD add its state evaluation information to this field. |
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|------------------------------------------------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `additionalFields` | [object](#additionalfields) | No | | additionalFields is reserved for future use |
|
||||
| `operatorStates` | map[string][status.#OperatorState](#status.#operatorstate) | No | | operatorStates is a map of operator ID to operator state evaluations.<br/>Any operator which consumes this kind SHOULD add its state evaluation information to this field. |
|
||||
|
||||
### AdditionalFields
|
||||
|
||||
@ -84,7 +87,7 @@ additionalFields is reserved for future use
|
||||
| Property | Type | Required | Default | Description |
|
||||
|----------|------|----------|---------|-------------|
|
||||
|
||||
### JoinSchema.Status.#OperatorState
|
||||
### Status.#OperatorState
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|--------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
|
@ -106,10 +106,10 @@ Typescript: Omit<Panel, 'gridPos' | 'id' | 'libraryPanel'>;
|
||||
|
||||
### Status
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|----------------------------------------------------------------------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `additionalFields` | [object](#additionalfields) | No | | additionalFields is reserved for future use |
|
||||
| `operatorStates` | map[string][joinSchema.status.#OperatorState](#joinschema.status.#operatorstate) | No | | operatorStates is a map of operator ID to operator state evaluations.<br/>Any operator which consumes this kind SHOULD add its state evaluation information to this field. |
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|------------------------------------------------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `additionalFields` | [object](#additionalfields) | No | | additionalFields is reserved for future use |
|
||||
| `operatorStates` | map[string][status.#OperatorState](#status.#operatorstate) | No | | operatorStates is a map of operator ID to operator state evaluations.<br/>Any operator which consumes this kind SHOULD add its state evaluation information to this field. |
|
||||
|
||||
### AdditionalFields
|
||||
|
||||
@ -118,7 +118,7 @@ additionalFields is reserved for future use
|
||||
| Property | Type | Required | Default | Description |
|
||||
|----------|------|----------|---------|-------------|
|
||||
|
||||
### JoinSchema.Status.#OperatorState
|
||||
### Status.#OperatorState
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|--------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
|
@ -81,10 +81,10 @@ extraFields is reserved for any fields that are pulled from the API server metad
|
||||
|
||||
### Status
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|----------------------------------------------------------------------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `additionalFields` | [object](#additionalfields) | No | | additionalFields is reserved for future use |
|
||||
| `operatorStates` | map[string][joinSchema.status.#OperatorState](#joinschema.status.#operatorstate) | No | | operatorStates is a map of operator ID to operator state evaluations.<br/>Any operator which consumes this kind SHOULD add its state evaluation information to this field. |
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|------------------------------------------------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `additionalFields` | [object](#additionalfields) | No | | additionalFields is reserved for future use |
|
||||
| `operatorStates` | map[string][status.#OperatorState](#status.#operatorstate) | No | | operatorStates is a map of operator ID to operator state evaluations.<br/>Any operator which consumes this kind SHOULD add its state evaluation information to this field. |
|
||||
|
||||
### AdditionalFields
|
||||
|
||||
@ -93,7 +93,7 @@ additionalFields is reserved for future use
|
||||
| Property | Type | Required | Default | Description |
|
||||
|----------|------|----------|---------|-------------|
|
||||
|
||||
### JoinSchema.Status.#OperatorState
|
||||
### Status.#OperatorState
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|--------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
|
@ -81,10 +81,10 @@ extraFields is reserved for any fields that are pulled from the API server metad
|
||||
|
||||
### Status
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|----------------------------------------------------------------------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `additionalFields` | [object](#additionalfields) | No | | additionalFields is reserved for future use |
|
||||
| `operatorStates` | map[string][joinSchema.status.#OperatorState](#joinschema.status.#operatorstate) | No | | operatorStates is a map of operator ID to operator state evaluations.<br/>Any operator which consumes this kind SHOULD add its state evaluation information to this field. |
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|------------------------------------------------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `additionalFields` | [object](#additionalfields) | No | | additionalFields is reserved for future use |
|
||||
| `operatorStates` | map[string][status.#OperatorState](#status.#operatorstate) | No | | operatorStates is a map of operator ID to operator state evaluations.<br/>Any operator which consumes this kind SHOULD add its state evaluation information to this field. |
|
||||
|
||||
### AdditionalFields
|
||||
|
||||
@ -93,7 +93,7 @@ additionalFields is reserved for future use
|
||||
| Property | Type | Required | Default | Description |
|
||||
|----------|------|----------|---------|-------------|
|
||||
|
||||
### JoinSchema.Status.#OperatorState
|
||||
### Status.#OperatorState
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|--------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
|
@ -75,10 +75,10 @@ extraFields is reserved for any fields that are pulled from the API server metad
|
||||
|
||||
### Status
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|----------------------------------------------------------------------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `additionalFields` | [object](#additionalfields) | No | | additionalFields is reserved for future use |
|
||||
| `operatorStates` | map[string][joinSchema.status.#OperatorState](#joinschema.status.#operatorstate) | No | | operatorStates is a map of operator ID to operator state evaluations.<br/>Any operator which consumes this kind SHOULD add its state evaluation information to this field. |
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|------------------------------------------------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `additionalFields` | [object](#additionalfields) | No | | additionalFields is reserved for future use |
|
||||
| `operatorStates` | map[string][status.#OperatorState](#status.#operatorstate) | No | | operatorStates is a map of operator ID to operator state evaluations.<br/>Any operator which consumes this kind SHOULD add its state evaluation information to this field. |
|
||||
|
||||
### AdditionalFields
|
||||
|
||||
@ -87,7 +87,7 @@ additionalFields is reserved for future use
|
||||
| Property | Type | Required | Default | Description |
|
||||
|----------|------|----------|---------|-------------|
|
||||
|
||||
### JoinSchema.Status.#OperatorState
|
||||
### Status.#OperatorState
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|--------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
|
@ -79,10 +79,10 @@ extraFields is reserved for any fields that are pulled from the API server metad
|
||||
|
||||
### Status
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|----------------------------------------------------------------------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `additionalFields` | [object](#additionalfields) | No | | additionalFields is reserved for future use |
|
||||
| `operatorStates` | map[string][joinSchema.status.#OperatorState](#joinschema.status.#operatorstate) | No | | operatorStates is a map of operator ID to operator state evaluations.<br/>Any operator which consumes this kind SHOULD add its state evaluation information to this field. |
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|------------------------------------------------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `additionalFields` | [object](#additionalfields) | No | | additionalFields is reserved for future use |
|
||||
| `operatorStates` | map[string][status.#OperatorState](#status.#operatorstate) | No | | operatorStates is a map of operator ID to operator state evaluations.<br/>Any operator which consumes this kind SHOULD add its state evaluation information to this field. |
|
||||
|
||||
### AdditionalFields
|
||||
|
||||
@ -91,7 +91,7 @@ additionalFields is reserved for future use
|
||||
| Property | Type | Required | Default | Description |
|
||||
|----------|------|----------|---------|-------------|
|
||||
|
||||
### JoinSchema.Status.#OperatorState
|
||||
### Status.#OperatorState
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|--------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
|
@ -71,10 +71,10 @@ extraFields is reserved for any fields that are pulled from the API server metad
|
||||
|
||||
### Status
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|----------------------------------------------------------------------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `additionalFields` | [object](#additionalfields) | No | | additionalFields is reserved for future use |
|
||||
| `operatorStates` | map[string][joinSchema.status.#OperatorState](#joinschema.status.#operatorstate) | No | | operatorStates is a map of operator ID to operator state evaluations.<br/>Any operator which consumes this kind SHOULD add its state evaluation information to this field. |
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|------------------------------------------------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `additionalFields` | [object](#additionalfields) | No | | additionalFields is reserved for future use |
|
||||
| `operatorStates` | map[string][status.#OperatorState](#status.#operatorstate) | No | | operatorStates is a map of operator ID to operator state evaluations.<br/>Any operator which consumes this kind SHOULD add its state evaluation information to this field. |
|
||||
|
||||
### AdditionalFields
|
||||
|
||||
@ -83,7 +83,7 @@ additionalFields is reserved for future use
|
||||
| Property | Type | Required | Default | Description |
|
||||
|----------|------|----------|---------|-------------|
|
||||
|
||||
### JoinSchema.Status.#OperatorState
|
||||
### Status.#OperatorState
|
||||
|
||||
| Property | Type | Required | Default | Description |
|
||||
|--------------------|--------------------|----------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
|
11
go.mod
11
go.mod
@ -264,8 +264,8 @@ require (
|
||||
github.com/grafana/dataplane/examples v0.0.0-20230404174214-4d6fd58a18ad
|
||||
github.com/grafana/dataplane/sdata v0.0.6
|
||||
github.com/grafana/go-mssqldb v0.9.1
|
||||
github.com/grafana/kindsys v0.0.0-20230508175818-7ad73516220b
|
||||
github.com/grafana/thema v0.0.0-20230417103609-99b482c479fe
|
||||
github.com/grafana/kindsys v0.0.0-20230508162304-452481b63482
|
||||
github.com/grafana/thema v0.0.0-20230523123227-db9596a7096e
|
||||
github.com/redis/go-redis/v9 v9.0.2
|
||||
github.com/weaveworks/common v0.0.0-20230208133027-16871410fca4
|
||||
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f
|
||||
@ -285,6 +285,9 @@ require (
|
||||
github.com/bmatcuk/doublestar v1.1.1 // indirect
|
||||
github.com/buildkite/yaml v2.1.0+incompatible // indirect
|
||||
github.com/cloudflare/circl v1.1.0 // indirect
|
||||
github.com/cockroachdb/errors v1.9.1 // indirect
|
||||
github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f // indirect
|
||||
github.com/cockroachdb/redact v1.1.3 // indirect
|
||||
github.com/coreos/go-systemd/v22 v22.5.0 // indirect
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
|
||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||
@ -294,6 +297,7 @@ require (
|
||||
github.com/drone/drone-go v1.7.1 // indirect
|
||||
github.com/drone/envsubst v1.0.3 // indirect
|
||||
github.com/drone/runner-go v1.12.0 // indirect
|
||||
github.com/getsentry/sentry-go v0.12.0 // indirect
|
||||
github.com/go-asn1-ber/asn1-ber v1.5.4 // indirect
|
||||
github.com/google/go-querystring v1.1.0 // indirect
|
||||
github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect
|
||||
@ -303,6 +307,7 @@ require (
|
||||
github.com/hashicorp/golang-lru/v2 v2.0.2 // indirect
|
||||
github.com/hashicorp/memberlist v0.5.0 // indirect
|
||||
github.com/invopop/yaml v0.1.0 // indirect
|
||||
github.com/kr/pretty v0.3.1 // indirect
|
||||
github.com/kr/text v0.2.0 // indirect
|
||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||
github.com/mattn/go-ieproxy v0.0.3 // indirect
|
||||
@ -314,6 +319,7 @@ require (
|
||||
github.com/opencontainers/image-spec v1.0.3-0.20211202183452-c5a74bcca799 // indirect
|
||||
github.com/perimeterx/marshmallow v1.1.4 // indirect
|
||||
github.com/rivo/uniseg v0.3.4 // indirect
|
||||
github.com/rogpeppe/go-internal v1.9.0 // indirect
|
||||
github.com/rueian/rueidis v0.0.100-go1.18 // indirect
|
||||
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
||||
github.com/segmentio/asm v1.2.0 // indirect
|
||||
@ -380,7 +386,6 @@ require (
|
||||
github.com/wk8/go-ordered-map v1.0.0
|
||||
github.com/xanzy/ssh-agent v0.3.0 // indirect
|
||||
github.com/xlab/treeprint v1.1.0
|
||||
github.com/yudai/pp v2.0.1+incompatible // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.14.0 // indirect
|
||||
go.opentelemetry.io/proto/otlp v0.19.0 // indirect
|
||||
golang.org/x/mod v0.9.0 // indirect
|
||||
|
89
go.sum
89
go.sum
@ -111,6 +111,7 @@ filippo.io/age v1.1.1/go.mod h1:l03SrzDUrBkdBx8+IILdnn2KZysqQdbEBUQ4p3sqEQE=
|
||||
gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8=
|
||||
github.com/99designs/basicauth-go v0.0.0-20160802081356-2a93ba0f464d/go.mod h1:3cARGAK9CfW3HoxCy1a0G4TKrdiKke8ftOMEOHyySYs=
|
||||
github.com/99designs/httpsignatures-go v0.0.0-20170731043157-88528bf4ca7e/go.mod h1:Xa6lInWHNQnuWoF0YPSsx+INFA9qk7/7pTjwb3PInkY=
|
||||
github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8=
|
||||
github.com/Azure/azure-amqp-common-go/v3 v3.2.1/go.mod h1:O6X1iYHP7s2x7NjUKsXVhkwWrQhxrd+d8/3rRadj4CI=
|
||||
github.com/Azure/azure-amqp-common-go/v3 v3.2.2/go.mod h1:O6X1iYHP7s2x7NjUKsXVhkwWrQhxrd+d8/3rRadj4CI=
|
||||
github.com/Azure/azure-pipeline-go v0.2.3 h1:7U9HBg1JFK3jHl5qmo4CTZKFTVgMwdFHMVtCdfBE21U=
|
||||
@ -177,6 +178,8 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03
|
||||
github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak=
|
||||
github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
|
||||
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
|
||||
github.com/CloudyKit/fastprinter v0.0.0-20200109182630-33d98a066a53/go.mod h1:+3IMCy2vIlbG1XG/0ggNQv0SvxCAIpPM5b1nCz56Xno=
|
||||
github.com/CloudyKit/jet/v3 v3.0.0/go.mod h1:HKQPgSJmdK8hdoAbKUUWajkHyHo4RaU5rMdUywE7VMo=
|
||||
github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
|
||||
github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
|
||||
github.com/DataDog/zstd v1.4.1/go.mod h1:1jcaCB/ufaK+sKp1NBhlGmpz41jOoPQ35bpF36t7BBo=
|
||||
@ -187,6 +190,7 @@ github.com/HdrHistogram/hdrhistogram-go v0.9.0/go.mod h1:nxrse8/Tzg2tg3DZcZjm6qE
|
||||
github.com/HdrHistogram/hdrhistogram-go v1.1.0/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo=
|
||||
github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM=
|
||||
github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo=
|
||||
github.com/Joker/hpp v1.0.0/go.mod h1:8x5n+M1Hp5hC0g8okX3sR3vFQwynaX/UgSOM9MeBKzY=
|
||||
github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
|
||||
github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
|
||||
github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
|
||||
@ -204,7 +208,6 @@ github.com/Microsoft/go-winio v0.6.0/go.mod h1:cTAf44im0RAYeL23bpB+fzCyDH2MJiz2B
|
||||
github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
|
||||
github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk=
|
||||
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
|
||||
github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 h1:YoJbenK9C67SkzkDfmQuVln04ygHj3vjZfd9FL+GmQQ=
|
||||
github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo=
|
||||
github.com/ProtonMail/go-crypto v0.0.0-20230426101702-58e86b294756 h1:L6S7kR7SlhQKplIBpkra3s6yhcZV51lhRnXmYc4HohI=
|
||||
github.com/ProtonMail/go-crypto v0.0.0-20230426101702-58e86b294756/go.mod h1:8TI4H3IbrackdNgv+92dI+rhpCaLqM0IfpgCgenFvRE=
|
||||
@ -217,6 +220,7 @@ github.com/RoaringBitmap/real-roaring-datasets v0.0.0-20190726190000-eb7c87156f7
|
||||
github.com/RoaringBitmap/roaring v0.9.1/go.mod h1:h1B7iIUOmnAeb5ytYMvnHJwxMc6LUrwBnzXWRuqTQUc=
|
||||
github.com/RoaringBitmap/roaring v0.9.4 h1:ckvZSX5gwCRaJYBNe7syNawCU5oruY9gQmjXlp4riwo=
|
||||
github.com/RoaringBitmap/roaring v0.9.4/go.mod h1:icnadbWcNyfEHlYdr+tDlOTih1Bf/h+rzPpv4sbomAA=
|
||||
github.com/Shopify/goreferrer v0.0.0-20181106222321-ec9c9a553398/go.mod h1:a1uqRtAwp2Xwc6WNPJEufxJ7fx3npB4UV/JOLmbu5I0=
|
||||
github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo=
|
||||
github.com/Shopify/sarama v1.29.1/go.mod h1:mdtqvCSg8JOxk8PmpTNGyo6wzd4BMm4QXSfDnTXmgkE=
|
||||
github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI=
|
||||
@ -228,6 +232,7 @@ github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk
|
||||
github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4=
|
||||
github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c=
|
||||
github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM=
|
||||
github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY=
|
||||
github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=
|
||||
github.com/alecthomas/kingpin/v2 v2.3.1/go.mod h1:oYL5vtsvEHZGHxU7DMp32Dvx+qL+ptGn6lWaot2vCNE=
|
||||
github.com/alecthomas/kingpin/v2 v2.3.2/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE=
|
||||
@ -339,6 +344,7 @@ github.com/aws/smithy-go v1.11.2 h1:eG/N+CcUMAvsdffgMvjMKwfyDzIkjM6pfxMJ8Mzc6mE=
|
||||
github.com/aws/smithy-go v1.11.2/go.mod h1:3xHYmszWVx2c0kIwQeEVf9uSm4fYZt67FBJnwub1bgM=
|
||||
github.com/axiomhq/hyperloglog v0.0.0-20191112132149-a4c4c47bc57f h1:y06x6vGnFYfXUoVMbrcP1Uzpj4JG01eB5vRps9G8agM=
|
||||
github.com/axiomhq/hyperloglog v0.0.0-20191112132149-a4c4c47bc57f/go.mod h1:2stgcRjl6QmW+gU2h5E7BQXg4HU0gzxKWDuT5HviN9s=
|
||||
github.com/aymerick/raymond v2.0.3-0.20180322193309-b565731e1464+incompatible/go.mod h1:osfaiScAUVup+UC9Nfq76eWqDhXlp+4UYaA8uhTBO6g=
|
||||
github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs=
|
||||
github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A=
|
||||
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
|
||||
@ -438,7 +444,15 @@ github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b80
|
||||
github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw=
|
||||
github.com/cockroachdb/cockroach-go v0.0.0-20181001143604-e0a95dfd547c/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk=
|
||||
github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8=
|
||||
github.com/cockroachdb/datadriven v1.0.2/go.mod h1:a9RdTaap04u637JoCzcUoIcDmvwSUtcUFtT/C3kJlTU=
|
||||
github.com/cockroachdb/errors v1.9.1 h1:yFVvsI0VxmRShfawbt/laCIDy/mtTqqnvoNgiy5bEV8=
|
||||
github.com/cockroachdb/errors v1.9.1/go.mod h1:2sxOtL2WIc096WSZqZ5h8fa17rdDq9HZOZLBCor4mBk=
|
||||
github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f h1:6jduT9Hfc0njg5jJ1DdKCFPdMBrp/mdZfCpa5h+WM74=
|
||||
github.com/cockroachdb/logtags v0.0.0-20211118104740-dabe8e521a4f/go.mod h1:Vz9DsVWQQhf3vs21MhPMZpMGSht7O/2vFW2xusFUVOs=
|
||||
github.com/cockroachdb/redact v1.1.3 h1:AKZds10rFSIj7qADf0g46UixK8NNLwWTNdCIGS5wfSQ=
|
||||
github.com/cockroachdb/redact v1.1.3/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZZ2lK+dpvRg=
|
||||
github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI=
|
||||
github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM=
|
||||
github.com/containerd/containerd v1.2.7/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
|
||||
github.com/containerd/containerd v1.3.4/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA=
|
||||
github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
|
||||
@ -494,6 +508,7 @@ github.com/deepmap/oapi-codegen v1.12.4/go.mod h1:3lgHGMu6myQ2vqbbTXH2H1o4eXFTGn
|
||||
github.com/dennwc/varint v1.0.0 h1:kGNFFSSw8ToIy3obO/kKr8U9GZYUAxQEVuix4zfDWzE=
|
||||
github.com/dennwc/varint v1.0.0/go.mod h1:hnItb35rvZvJrbTALZtY/iQfDs48JKRG1RPpgziApxA=
|
||||
github.com/devigned/tab v0.1.1/go.mod h1:XG9mPq0dFghrYvoBF3xdRrJzSTX1b7IQrvaL9mzjeJY=
|
||||
github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4=
|
||||
github.com/dgraph-io/badger/v3 v3.2103.0/go.mod h1:GHMCYxuDWyzbHkh4k3yyg4PM61tJPFfEGSMbE3Vd5QE=
|
||||
github.com/dgraph-io/ristretto v0.0.4-0.20210309073149-3836124cdc5a/go.mod h1:MIonLggsKgZLUSt414ExgwNtlOL5MuEoAJP514mwGe8=
|
||||
github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug=
|
||||
@ -549,6 +564,7 @@ github.com/edsrzf/mmap-go v0.0.0-20170320065105-0bce6a688712/go.mod h1:YO35OhQPt
|
||||
github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M=
|
||||
github.com/edsrzf/mmap-go v1.1.0 h1:6EUwBLQ/Mcr1EYLE4Tn1VdW1A4ckqCQWZBw8Hr0kjpQ=
|
||||
github.com/edsrzf/mmap-go v1.1.0/go.mod h1:19H/e8pUPLicwkyNgOykDXkJ9F0MHE+Z52B8EIth78Q=
|
||||
github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385/go.mod h1:0vRUJqYpeSZifjYj7uP3BG/gKcuzL9xWVV/Y+cK33KM=
|
||||
github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
|
||||
github.com/elazarl/goproxy v0.0.0-20220115173737-adb46da277ac h1:XDAn206aIqKPdF5YczuuJXSQPx+WOen0Pxbxp5Fq8Pg=
|
||||
github.com/elazarl/goproxy v0.0.0-20220115173737-adb46da277ac/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM=
|
||||
@ -567,7 +583,9 @@ github.com/envoyproxy/go-control-plane v0.11.0/go.mod h1:VnHyVMpzcLvCFt9yUz1UnCw
|
||||
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
|
||||
github.com/envoyproxy/protoc-gen-validate v0.9.1 h1:PS7VIOgmSVhWUEeZwTe7z7zouA22Cr590PzXKbZHOVY=
|
||||
github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w=
|
||||
github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw=
|
||||
github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
|
||||
github.com/fasthttp-contrib/websocket v0.0.0-20160511215533-1f3b11f56072/go.mod h1:duJ4Jxv5lDcvg4QuQr0oowTf7dz4/CR8NtyCooz9HL8=
|
||||
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
|
||||
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
|
||||
github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
|
||||
@ -600,6 +618,7 @@ github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmV
|
||||
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
|
||||
github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
|
||||
github.com/fsouza/fake-gcs-server v1.7.0/go.mod h1:5XIRs4YvwNbNoz+1JF8j6KLAyDh7RHGAyAK3EP2EsNk=
|
||||
github.com/gavv/httpexpect v2.0.0+incompatible/go.mod h1:x+9tiU1YnrOvnB725RkpoLv1M62hOWzwo5OXotisrKc=
|
||||
github.com/gchaincl/sqlhooks v1.3.0 h1:yKPXxW9a5CjXaVf2HkQn6wn7TZARvbAOAelr3H8vK2Y=
|
||||
github.com/gchaincl/sqlhooks v1.3.0/go.mod h1:9BypXnereMT0+Ys8WGWHqzgkkOfHIhyeUCqXC24ra34=
|
||||
github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo5dl+VrEg=
|
||||
@ -608,10 +627,14 @@ github.com/getkin/kin-openapi v0.61.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW
|
||||
github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg=
|
||||
github.com/getkin/kin-openapi v0.115.0 h1:c8WHRLVY3G8m9jQTy0/DnIuljgRwTCB5twZytQS4JyU=
|
||||
github.com/getkin/kin-openapi v0.115.0/go.mod h1:l5e9PaFUo9fyLJCPGQeXI2ML8c3P8BHOEV2VaAVf/pc=
|
||||
github.com/getsentry/sentry-go v0.12.0 h1:era7g0re5iY13bHSdN/xMkyV+5zZppjRVQhZrXCaEIk=
|
||||
github.com/getsentry/sentry-go v0.12.0/go.mod h1:NSap0JBYWzHND8oMbyi0+XZhUalc1TBdRL1M71JZW2c=
|
||||
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
||||
github.com/ghodss/yaml v1.0.1-0.20190212211648-25d852aebe32 h1:Mn26/9ZMNWSw9C9ERFA1PUxfmGpolnw2v0bKOREu5ew=
|
||||
github.com/ghodss/yaml v1.0.1-0.20190212211648-25d852aebe32/go.mod h1:GIjDIg/heH5DOkXY3YJ/wNhfHsQHoXGjl8G8amsYQ1I=
|
||||
github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3/go.mod h1:VJ0WA2NBN22VlZ2dKZQPAPnyWw5XTlK1KymzLKsr59s=
|
||||
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
|
||||
github.com/gin-gonic/gin v1.4.0/go.mod h1:OW2EZn3DO8Ln9oIKOvM++LBO+5UPHJJDH72/q/3rZdM=
|
||||
github.com/gin-gonic/gin v1.5.0/go.mod h1:Nd6IXA8m5kNZdNEHMBd93KT+mdY3+bewLgRvmCsR2Do=
|
||||
github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M=
|
||||
github.com/gin-gonic/gin v1.7.3/go.mod h1:jD2toBW3GZUr5UMcdrwQA10I7RuaFOl/SGeDjXkfUtY=
|
||||
@ -621,7 +644,10 @@ github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0
|
||||
github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
|
||||
github.com/go-asn1-ber/asn1-ber v1.5.4 h1:vXT6d/FNDiELJnLb6hGNa309LMsrCoYFvpwHDF0+Y1A=
|
||||
github.com/go-asn1-ber/asn1-ber v1.5.4/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0=
|
||||
github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98=
|
||||
github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJpoZOs=
|
||||
github.com/go-errors/errors v1.0.1 h1:LUHzmkK3GUKUrL/1gfBUxAHzcev3apQlezX/+O7ma6w=
|
||||
github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q=
|
||||
github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g=
|
||||
github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks=
|
||||
github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY=
|
||||
@ -668,6 +694,7 @@ github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0=
|
||||
github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
|
||||
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
|
||||
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
|
||||
github.com/go-martini/martini v0.0.0-20170121215854-22fa46961aab/go.mod h1:/P9AEU963A2AYjv4d1V5eVL1CQbEJq6aCNHDDjibzu8=
|
||||
github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
|
||||
github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI=
|
||||
github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
|
||||
@ -855,6 +882,7 @@ github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5x
|
||||
github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
|
||||
github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA=
|
||||
github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
|
||||
github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
|
||||
github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
|
||||
github.com/gogo/googleapis v1.4.1/go.mod h1:2lpHqI5OcWCtVElxXnPt+s8oJvMpySlOyM6xDCrzib4=
|
||||
github.com/gogo/protobuf v0.0.0-20170307180453-100ba4e88506/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
||||
@ -865,6 +893,8 @@ github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXP
|
||||
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
||||
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
||||
github.com/gogo/status v1.0.3/go.mod h1:SavQ51ycCLnc7dGyJxp8YAmudx8xqiVrRf+6IXRsugc=
|
||||
github.com/gogo/status v1.1.0/go.mod h1:BFv9nrluPLmrS0EmGVvLaPNmRosr9KapBYd5/hpY1WM=
|
||||
github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
|
||||
github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg=
|
||||
github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg=
|
||||
github.com/golang-jwt/jwt/v4 v4.4.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
|
||||
@ -922,6 +952,7 @@ github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
|
||||
github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
|
||||
github.com/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219 h1:utua3L2IbQJmauC5IXdEA547bcoU5dozgQAfc8Onsg4=
|
||||
github.com/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y=
|
||||
github.com/gomodule/redigo v1.7.1-0.20190724094224-574c33c3df38/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4=
|
||||
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
|
||||
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
|
||||
github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA=
|
||||
@ -1065,18 +1096,10 @@ github.com/grafana/grafana-google-sdk-go v0.1.0 h1:LKGY8z2DSxKjYfr2flZsWgTRTZ6HG
|
||||
github.com/grafana/grafana-google-sdk-go v0.1.0/go.mod h1:Vo2TKWfDVmNTELBUM+3lkrZvFtBws0qSZdXhQxRdJrE=
|
||||
github.com/grafana/grafana-plugin-sdk-go v0.94.0/go.mod h1:3VXz4nCv6wH5SfgB3mlW39s+c+LetqSCjFj7xxPC5+M=
|
||||
github.com/grafana/grafana-plugin-sdk-go v0.114.0/go.mod h1:D7x3ah+1d4phNXpbnOaxa/osSaZlwh9/ZUnGGzegRbk=
|
||||
github.com/grafana/grafana-plugin-sdk-go v0.160.0 h1:jELbsqee5kRz9vD1hZeP8+984xMZDU/M6uGv0RhOR34=
|
||||
github.com/grafana/grafana-plugin-sdk-go v0.160.0/go.mod h1:dPhljkVno3Bg/ZYafMrR/BfYjtCRJD2hU2719Nl3QzM=
|
||||
github.com/grafana/grafana-plugin-sdk-go v0.162.0 h1:ij2ARWohf0IoK9yCVC1Wup4Gp6zwBq2AueVXRYsv/to=
|
||||
github.com/grafana/grafana-plugin-sdk-go v0.162.0/go.mod h1:dPhljkVno3Bg/ZYafMrR/BfYjtCRJD2hU2719Nl3QzM=
|
||||
github.com/grafana/kindsys v0.0.0-20230323180930-c2a9ced5c751 h1:X5jwaMcpUMQ+xv7fKhs9U+oBxfo2x+x8GpHWybDSgk0=
|
||||
github.com/grafana/kindsys v0.0.0-20230323180930-c2a9ced5c751/go.mod h1:213a3clTiegHfheYcLPLeEyHv/azK/fAF67OEbzuLzw=
|
||||
github.com/grafana/kindsys v0.0.0-20230427152021-bb328815be7a h1:i2YhC6eTyDp+7Ftv5c6VZDUQskmKX4oIPGf38qfiZiU=
|
||||
github.com/grafana/kindsys v0.0.0-20230427152021-bb328815be7a/go.mod h1:GNcfpy5+SY6RVbNGQW264gC0r336Dm+0zgQ5vt6+M8Y=
|
||||
github.com/grafana/kindsys v0.0.0-20230508172648-19fc432f045a h1:L8Qph5iUyVnLGinQzPmtJYUtPDG4TyT6vGDFT9EdCTU=
|
||||
github.com/grafana/kindsys v0.0.0-20230508172648-19fc432f045a/go.mod h1:GNcfpy5+SY6RVbNGQW264gC0r336Dm+0zgQ5vt6+M8Y=
|
||||
github.com/grafana/kindsys v0.0.0-20230508175818-7ad73516220b h1:x3gw5zsWZ2vxQ0GYucB2PFQ6eISAoWkba5MrQd8ZK0E=
|
||||
github.com/grafana/kindsys v0.0.0-20230508175818-7ad73516220b/go.mod h1:GNcfpy5+SY6RVbNGQW264gC0r336Dm+0zgQ5vt6+M8Y=
|
||||
github.com/grafana/kindsys v0.0.0-20230508162304-452481b63482 h1:1YNoeIhii4UIIQpCPU+EXidnqf449d0C3ZntAEt4KSo=
|
||||
github.com/grafana/kindsys v0.0.0-20230508162304-452481b63482/go.mod h1:GNcfpy5+SY6RVbNGQW264gC0r336Dm+0zgQ5vt6+M8Y=
|
||||
github.com/grafana/phlare/api v0.1.4-0.20230426005640-f90edba05413 h1:bBzCezZNRyYlJpXTkyZdY4fpPxHZUdyeyRWzhtw/P6I=
|
||||
github.com/grafana/phlare/api v0.1.4-0.20230426005640-f90edba05413/go.mod h1:IvwuGG9xa/h96UH/exgvsfy3zE+ZpctkNT9o5aaGdrU=
|
||||
github.com/grafana/prometheus-alertmanager v0.25.1-0.20230508090422-7d5630522a53 h1:X3Jl4PBIGCtlPSMa6Uiu2+3FDNWmddSjivp+1DDznQs=
|
||||
@ -1087,8 +1110,8 @@ github.com/grafana/saml v0.4.13-0.20230331080031-67cbfa09c7b6 h1:oHn/OOUkECNX06D
|
||||
github.com/grafana/saml v0.4.13-0.20230331080031-67cbfa09c7b6/go.mod h1:igEejV+fihTIlHXYP8zOec3V5A8y3lws5bQBFsTm4gA=
|
||||
github.com/grafana/sqlds/v2 v2.3.10 h1:HWKhE0vR6LoEiE+Is8CSZOgaB//D1yqb2ntkass9Fd4=
|
||||
github.com/grafana/sqlds/v2 v2.3.10/go.mod h1:c6ibxnxRVGxV/0YkEgvy7QpQH/lyifFyV7K/14xvdIs=
|
||||
github.com/grafana/thema v0.0.0-20230417103609-99b482c479fe h1:Ws23A0XH6XYNaF/XhrOhNiC09rqGisvflCf0aHRhpTM=
|
||||
github.com/grafana/thema v0.0.0-20230417103609-99b482c479fe/go.mod h1:hjlPua8wL3HO188Qg6GhTeYOPaUOneC04sFYRtcxSNw=
|
||||
github.com/grafana/thema v0.0.0-20230523123227-db9596a7096e h1:pg6l/d7m7tsmlMQ6JCRI8AHFuqT41I7MWVPj8IADXzE=
|
||||
github.com/grafana/thema v0.0.0-20230523123227-db9596a7096e/go.mod h1:Pn9nfzCk7nV0mvNgwusgCjCROZP6nm4GpwTnmEhLT24=
|
||||
github.com/grafana/xorm v0.8.3-0.20220614223926-2fcda7565af6 h1:I9dh1MXGX0wGyxdV/Sl7+ugnki4Dfsy8lv2s5Yf887o=
|
||||
github.com/grafana/xorm v0.8.3-0.20220614223926-2fcda7565af6/go.mod h1:ZkJLEYLoVyg7amJK/5r779bHyzs2AU8f8VMiP6BM7uY=
|
||||
github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
|
||||
@ -1213,6 +1236,7 @@ github.com/huandu/xstrings v1.3.1 h1:4jgBlKK6tLKFvO8u5pmYjG91cqytmDCDvGh7ECVFfFs
|
||||
github.com/huandu/xstrings v1.3.1/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
|
||||
github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg=
|
||||
github.com/hudl/fargo v1.4.0/go.mod h1:9Ai6uvFy5fQNq6VPKtg+Ceq1+eTY4nKUlR2JElEOcDo=
|
||||
github.com/hydrogen18/memlistener v0.0.0-20200120041712-dcc25e7acd91/go.mod h1:qEIFzExnS6016fRpRfxrExeVn2gbClQA99gQhnIcdhE=
|
||||
github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho=
|
||||
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
|
||||
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
|
||||
@ -1224,6 +1248,7 @@ github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH
|
||||
github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
|
||||
github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk=
|
||||
github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg=
|
||||
github.com/imkira/go-interpol v1.1.0/go.mod h1:z0h2/2T3XF8kyEPpRgJ3kmNv+C43p+I/CoI+jC3w2iA=
|
||||
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
|
||||
github.com/influxdata/influxdb v1.7.6/go.mod h1:qZna6X/4elxqT3yI9iZYdZrWWdeFOOprn86kgg4+IzY=
|
||||
github.com/influxdata/influxdb-client-go/v2 v2.6.0 h1:bIOaGTgvvv1Na2hG+nIvqyv7PK2UiU2WrJN1ck1ykyM=
|
||||
@ -1237,6 +1262,11 @@ github.com/invopop/yaml v0.1.0 h1:YW3WGUoJEXYfzWBjn00zIlrw7brGVD0fUKRYDPAPhrc=
|
||||
github.com/invopop/yaml v0.1.0/go.mod h1:2XuRLgs/ouIrW3XNzuNj7J3Nvu/Dig5MXvbCEdiBN3Q=
|
||||
github.com/ionos-cloud/sdk-go/v6 v6.1.4 h1:BJHhFA8Q1SZC7VOXqKKr2BV2ysQ2/4hlk1e4hZte7GY=
|
||||
github.com/ionos-cloud/sdk-go/v6 v6.1.4/go.mod h1:Ox3W0iiEz0GHnfY9e5LmAxwklsxguuNFEUSu0gVRTME=
|
||||
github.com/iris-contrib/blackfriday v2.0.0+incompatible/go.mod h1:UzZ2bDEoaSGPbkg6SAB4att1aAwTmVIx/5gCVqeyUdI=
|
||||
github.com/iris-contrib/go.uuid v2.0.0+incompatible/go.mod h1:iz2lgM/1UnEf1kP0L/+fafWORmlnuysV2EMP8MW+qe0=
|
||||
github.com/iris-contrib/jade v1.1.3/go.mod h1:H/geBymxJhShH5kecoiOCSssPX7QWYH7UaeZTSWddIk=
|
||||
github.com/iris-contrib/pongo2 v0.0.1/go.mod h1:Ssh+00+3GAZqSQb30AvBRNxBx7rf0GqwkjqxNd0u65g=
|
||||
github.com/iris-contrib/schema v0.0.1/go.mod h1:urYA3uvUNG1TIIjOSCzHr9/LmbQo8LrOcOqfqxa4hXw=
|
||||
github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo=
|
||||
github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk=
|
||||
github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk=
|
||||
@ -1327,9 +1357,15 @@ github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+
|
||||
github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes=
|
||||
github.com/jung-kurt/gofpdf v1.16.2 h1:jgbatWHfRlPYiK85qgevsZTHviWXKwB1TTiKdz5PtRc=
|
||||
github.com/jung-kurt/gofpdf v1.16.2/go.mod h1:1hl7y57EsiPAkLbOwzpzqgx1A30nQCk/YmFV8S2vmK0=
|
||||
github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k=
|
||||
github.com/kardianos/osext v0.0.0-20190222173326-2bc1f35cddc0/go.mod h1:1NbS8ALrpOvjt0rHPNLyCIeMtbizbir8U//inJ+zuB8=
|
||||
github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4=
|
||||
github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA=
|
||||
github.com/kataras/golog v0.0.10/go.mod h1:yJ8YKCmyL+nWjERB90Qwn+bdyBZsaQwU3bTVFgkFIp8=
|
||||
github.com/kataras/iris/v12 v12.1.8/go.mod h1:LMYy4VlP67TQ3Zgriz8RE2h2kMZV2SgMYbq3UhfoFmE=
|
||||
github.com/kataras/neffos v0.0.14/go.mod h1:8lqADm8PnbeFfL7CLXh1WHw53dG27MC3pgi2R1rmoTE=
|
||||
github.com/kataras/pio v0.0.2/go.mod h1:hAoW0t9UmXi4R5Oyq5Z4irTbaTsOemSrDGUtaTl7Dro=
|
||||
github.com/kataras/sitemap v0.0.5/go.mod h1:KY2eugMKiPwsJgx7+U103YZehfvNGOXURubcGyk0Bz8=
|
||||
github.com/kelseyhightower/envconfig v1.4.0/go.mod h1:cccZRl6mQpaq41TPp5QxidR+Sa3axMbJDNb//FQX6Gg=
|
||||
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgyYSX4TO5NpyC606/Z4SxnNYbT+WX27or6Ck=
|
||||
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
|
||||
@ -1337,7 +1373,9 @@ github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvW
|
||||
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
||||
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
|
||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||
github.com/klauspost/compress v1.8.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
|
||||
github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
|
||||
github.com/klauspost/compress v1.9.7/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
|
||||
github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
|
||||
github.com/klauspost/compress v1.11.12/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
|
||||
github.com/klauspost/compress v1.12.2/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
|
||||
@ -1347,6 +1385,7 @@ github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47e
|
||||
github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
|
||||
github.com/klauspost/compress v1.15.13 h1:NFn1Wr8cfnenSJSA46lLq4wHCcBzKTSjnBIexDMMOV0=
|
||||
github.com/klauspost/compress v1.15.13/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM=
|
||||
github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
|
||||
github.com/knadh/koanf v1.2.0/go.mod h1:xpPTwMhsA/aaQLAilyCCqfpEiY1gpa160AiCuWHJUjY=
|
||||
github.com/kolo/xmlrpc v0.0.0-20220921171641-a4b6fa1dd06b h1:udzkj9S/zlT5X367kqJis0QP7YMxobob6zhzq6Yre00=
|
||||
github.com/kolo/xmlrpc v0.0.0-20220921171641-a4b6fa1dd06b/go.mod h1:pcaDhQK0/NJZEvtCO0qQPPropqV0sJOJ6YW7X+9kRwM=
|
||||
@ -1372,6 +1411,7 @@ github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LE
|
||||
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
|
||||
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
|
||||
github.com/labstack/echo/v4 v4.2.1/go.mod h1:AA49e0DZ8kk5jTOOCKNuPR6oTnBS0dYiM4FW1e6jwpg=
|
||||
github.com/labstack/echo/v4 v4.5.0/go.mod h1:czIriw4a0C1dFun+ObrXp7ok03xON0N1awStJ6ArI7Y=
|
||||
github.com/labstack/echo/v4 v4.10.2 h1:n1jAhnq/elIFTHr1EYpiYtyKgx4RW9ccVgkqByZaN2M=
|
||||
github.com/labstack/echo/v4 v4.10.2/go.mod h1:OEyqf2//K1DFdE57vw2DRgWY0M7s65IVQO2FzvI4J5k=
|
||||
github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k=
|
||||
@ -1458,10 +1498,13 @@ github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsO
|
||||
github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
|
||||
github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y=
|
||||
github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
|
||||
github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw=
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
|
||||
github.com/mediocregopher/radix/v3 v3.4.2/go.mod h1:8FL3F6UQRXHXIBSPUs5h0RybMF8i4n7wVopoX3x7Bv8=
|
||||
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE=
|
||||
github.com/microcosm-cc/bluemonday v1.0.2/go.mod h1:iVP4YcDBq+n/5fb23BhYFvIMq/leAFZyRl6bYmGDlGc=
|
||||
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
|
||||
github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso=
|
||||
github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI=
|
||||
@ -1521,6 +1564,7 @@ github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJ
|
||||
github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
|
||||
github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A=
|
||||
github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
|
||||
github.com/moul/http2curl v1.0.0/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ=
|
||||
github.com/mozilla/tls-observatory v0.0.0-20190404164649-a3c1b6cfecfd/go.mod h1:SrKMQvPiws7F7iqYp8/TX+IhxCYhzr6N/1yb8cwHsGk=
|
||||
github.com/mpvl/unique v0.0.0-20150818121801-cbe035fff7de h1:D5x39vF5KCwKQaw+OC9ZPiLVHXz3UFw2+psEX+gYcto=
|
||||
github.com/mpvl/unique v0.0.0-20150818121801-cbe035fff7de/go.mod h1:kJun4WP5gFuHZgRjZUWWuH1DTxCtxbHDOIJsudS8jzY=
|
||||
@ -1568,6 +1612,7 @@ github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6
|
||||
github.com/olivere/elastic v6.2.35+incompatible/go.mod h1:J+q1zQJTgAz9woqsbVRqGeB5G1iqDKVBWLNSYW8yfJ8=
|
||||
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg=
|
||||
github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
|
||||
github.com/onsi/ginkgo v1.16.2/go.mod h1:CObGmKUOKaSC0RjmoAK7tKyn4Azo5P2IWuoMnvwxz1E=
|
||||
@ -1641,6 +1686,8 @@ github.com/pierrec/lz4 v2.6.0+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi
|
||||
github.com/pierrec/lz4/v4 v4.1.8/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
|
||||
github.com/pierrec/lz4/v4 v4.1.15 h1:MO0/ucJhngq7299dKLwIMtgTfbkoSPF6AoMYDd8Q4q0=
|
||||
github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
|
||||
github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4=
|
||||
github.com/pingcap/errors v0.11.4/go.mod h1:Oi8TUi2kEtXXLMJk9l1cGmz20kV3TaQ0usTwv5KuLY8=
|
||||
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 h1:KoWmjvw+nsYOo29YJK9vDA65RGE3NrOnUtO7a+RF9HU=
|
||||
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI=
|
||||
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
|
||||
@ -1753,6 +1800,7 @@ github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR
|
||||
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
|
||||
github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE=
|
||||
github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o=
|
||||
github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
|
||||
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
|
||||
github.com/rs/cors v1.8.0/go.mod h1:EBwu+T5AvHOcXwvZIkQFjUN6s8Czyqw12GL/Y0tUyRM=
|
||||
@ -1779,6 +1827,7 @@ github.com/sanity-io/litter v1.2.0/go.mod h1:JF6pZUFgu2Q0sBZ+HSV35P8TVPI1TTzEwyu
|
||||
github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
|
||||
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.14 h1:yFl3jyaSVLNYXlnNYM5z2pagEk1dYQhfr1p20T1NyKY=
|
||||
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.14/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg=
|
||||
github.com/schollz/closestmatch v2.1.0+incompatible/go.mod h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g=
|
||||
github.com/sdboyer/cue v0.5.0-beta.2.0.20230419165817-251c3ae823d8 h1:R7AphSCwo1rqpRCftz9wn2azIGAtdgn1AjxTiSdFJ1o=
|
||||
github.com/sdboyer/cue v0.5.0-beta.2.0.20230419165817-251c3ae823d8/go.mod h1:okjJBHFQFer+a41sAe2SaGm1glWS8oEb6CmJvn5Zdws=
|
||||
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529 h1:nn5Wsu0esKSJiIVhscUtVbo7ada43DJhG55ua/hjS5I=
|
||||
@ -1922,12 +1971,15 @@ github.com/urfave/cli v1.22.12 h1:igJgVw1JdKH+trcLWLeLwZjU9fEfPesQ+9/e4MQ44S8=
|
||||
github.com/urfave/cli v1.22.12/go.mod h1:sSBEIC79qR6OvcmsD4U3KABeOTxDqQtdDnaFuUN30b8=
|
||||
github.com/urfave/cli/v2 v2.24.4 h1:0gyJJEBYtCV87zI/x2nZCPyDxD51K6xM8SkwjHFCNEU=
|
||||
github.com/urfave/cli/v2 v2.24.4/go.mod h1:GHupkWPMM0M/sj1a2b4wUrWBPzazNrIjouW6fmdJLxc=
|
||||
github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4=
|
||||
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
|
||||
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
|
||||
github.com/valyala/fasthttp v1.6.0/go.mod h1:FstJa9V+Pj9vQ7OJie2qMHdwemEDaDiSdBnvPM1Su9w=
|
||||
github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8=
|
||||
github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ=
|
||||
github.com/valyala/fasttemplate v1.2.2 h1:lxLXG0uE3Qnshl9QyaK6XJxMXlQZELvChBOCmQD0Loo=
|
||||
github.com/valyala/fasttemplate v1.2.2/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ=
|
||||
github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio=
|
||||
github.com/vectordotdev/go-datemath v0.1.1-0.20220323213446-f3954d0b18ae h1:oyiy3uBj1F4O3AaFh7hUGBrJjAssJhKyAbwxtkslxqo=
|
||||
github.com/vectordotdev/go-datemath v0.1.1-0.20220323213446-f3954d0b18ae/go.mod h1:PnwzbSst7KD3vpBzzlntZU5gjVa455Uqa5QPiKSYJzQ=
|
||||
github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw=
|
||||
@ -1968,6 +2020,7 @@ github.com/xlab/treeprint v1.1.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd
|
||||
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
|
||||
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU=
|
||||
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8=
|
||||
github.com/yalp/jsonpath v0.0.0-20180802001716-5cc68e5049a0/go.mod h1:/LWChgwKmvncFJFHJ7Gvn9wZArjbV5/FppcK2fKk/tI=
|
||||
github.com/yalue/merged_fs v1.2.2 h1:vXHTpJBluJryju7BBpytr3PDIkzsPMpiEknxVGPhN/I=
|
||||
github.com/yalue/merged_fs v1.2.2/go.mod h1:WqqchfVYQyclV2tnR7wtRhBddzBvLVR83Cjw9BKQw0M=
|
||||
github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA=
|
||||
@ -2138,6 +2191,7 @@ golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8U
|
||||
golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY=
|
||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20191227163750-53104e6ec876/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/crypto v0.0.0-20200414173820-0848c9571904/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
@ -2240,6 +2294,7 @@ golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73r
|
||||
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190327091125-710a502c58a2/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190424112056-4829fb13d2c6/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
@ -2292,6 +2347,7 @@ golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qx
|
||||
golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20211008194852-3b03d305991f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20211020060615-d418f374d309/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/net v0.0.0-20211029224645-99673261e6eb/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
@ -2404,6 +2460,7 @@ golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7w
|
||||
golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190626150813-e07cf5db2756/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
@ -2569,11 +2626,13 @@ golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGm
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181112210238-4b1f3b6b1646/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181221001348-537d06c36207/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190327201419-c70d86f8b7cf/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
@ -2784,10 +2843,12 @@ gopkg.in/fsnotify/fsnotify.v1 v1.4.7 h1:XNNYLJHt73EyYiCZi6+xjupS9CpvmiDgjPTAjrBl
|
||||
gopkg.in/fsnotify/fsnotify.v1 v1.4.7/go.mod h1:Fyux9zXlo4rWoMSIzpn9fDAYjalPqJ/K1qJ27s+7ltE=
|
||||
gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o=
|
||||
gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE=
|
||||
gopkg.in/go-playground/validator.v8 v8.18.2/go.mod h1:RX2a/7Ha8BgOhfk7j780h4/u/RRjR0eouCJSH80/M2Y=
|
||||
gopkg.in/go-playground/validator.v9 v9.29.1/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ=
|
||||
gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s=
|
||||
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
|
||||
gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
|
||||
gopkg.in/ini.v1 v1.51.1/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
|
||||
gopkg.in/ini.v1 v1.57.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
|
||||
gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
|
||||
gopkg.in/ini.v1 v1.66.6/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
|
||||
@ -2795,6 +2856,7 @@ gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
|
||||
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
|
||||
gopkg.in/mail.v2 v2.3.1 h1:WYFn/oANrAGP2C0dcV6/pbkPzv8yGzqTjPmTeO7qoXk=
|
||||
gopkg.in/mail.v2 v2.3.1/go.mod h1:htwXN1Qh09vZJ1NVKxQqHPBaCBbzKhp5GzuJEA4VJWw=
|
||||
gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA=
|
||||
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
|
||||
gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
|
||||
gopkg.in/telebot.v3 v3.1.3/go.mod h1:GJKwwWqp9nSkIVN51eRKU78aB5f5OnQuWdwiIZfPbko=
|
||||
@ -2812,6 +2874,7 @@ gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
|
||||
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
|
||||
gopkg.in/yaml.v3 v3.0.0-20191120175047-4206685974f2/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -4,27 +4,22 @@ name: "Folder"
|
||||
maturity: "merged"
|
||||
description: "A folder is a collection of resources that are grouped together and can share permissions."
|
||||
|
||||
lineage: seqs: [
|
||||
{
|
||||
schemas: [
|
||||
//0.0
|
||||
{
|
||||
lineage: schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
spec: {
|
||||
// Unique folder id. (will be k8s name)
|
||||
uid: string
|
||||
|
||||
spec: {
|
||||
// Unique folder id. (will be k8s name)
|
||||
uid: string
|
||||
// Folder title
|
||||
title: string
|
||||
|
||||
// Folder title
|
||||
title: string
|
||||
|
||||
// Description of the folder.
|
||||
description?: string
|
||||
} @cuetsy(kind="interface")
|
||||
//
|
||||
// TODO:
|
||||
// common metadata will soon support setting the parent folder in the metadata
|
||||
//
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
// Description of the folder.
|
||||
description?: string
|
||||
} @cuetsy(kind="interface")
|
||||
//
|
||||
// TODO:
|
||||
// common metadata will soon support setting the parent folder in the metadata
|
||||
//
|
||||
}
|
||||
}]
|
||||
|
@ -9,59 +9,55 @@ name: "LibraryPanel"
|
||||
maturity: "experimental"
|
||||
description: "A standalone panel"
|
||||
|
||||
lineage: seqs: [
|
||||
{
|
||||
schemas: [
|
||||
// 0.0
|
||||
{
|
||||
spec: {
|
||||
// Folder UID
|
||||
folderUid?: string @grafanamaturity(ToMetadata="sys")
|
||||
lineage: schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
spec: {
|
||||
// Folder UID
|
||||
folderUid?: string @grafanamaturity(ToMetadata="sys")
|
||||
|
||||
// Library element UID
|
||||
uid: string
|
||||
// Library element UID
|
||||
uid: string
|
||||
|
||||
// Panel name (also saved in the model)
|
||||
name: string & strings.MinRunes(1)
|
||||
// Panel name (also saved in the model)
|
||||
name: string & strings.MinRunes(1)
|
||||
|
||||
// Panel description
|
||||
description?: string
|
||||
// Panel description
|
||||
description?: string
|
||||
|
||||
// The panel type (from inside the model)
|
||||
type: string & strings.MinRunes(1)
|
||||
// The panel type (from inside the model)
|
||||
type: string & strings.MinRunes(1)
|
||||
|
||||
// Dashboard version when this was saved (zero if unknown)
|
||||
schemaVersion?: uint16
|
||||
// Dashboard version when this was saved (zero if unknown)
|
||||
schemaVersion?: uint16
|
||||
|
||||
// panel version, incremented each time the dashboard is updated.
|
||||
version: int64 @grafanamaturity(NeedsExpertReview)
|
||||
// panel version, incremented each time the dashboard is updated.
|
||||
version: int64 @grafanamaturity(NeedsExpertReview)
|
||||
|
||||
// TODO: should be the same panel schema defined in dashboard
|
||||
// Typescript: Omit<Panel, 'gridPos' | 'id' | 'libraryPanel'>;
|
||||
model: {...}
|
||||
// TODO: should be the same panel schema defined in dashboard
|
||||
// Typescript: Omit<Panel, 'gridPos' | 'id' | 'libraryPanel'>;
|
||||
model: {...}
|
||||
|
||||
// Object storage metadata
|
||||
meta?: #LibraryElementDTOMeta @grafanamaturity(ToMetadata="sys")
|
||||
} @cuetsy(kind="interface") @grafana(TSVeneer="type")
|
||||
// Object storage metadata
|
||||
meta?: #LibraryElementDTOMeta @grafanamaturity(ToMetadata="sys")
|
||||
} @cuetsy(kind="interface") @grafana(TSVeneer="type")
|
||||
|
||||
#LibraryElementDTOMetaUser: {
|
||||
id: int64
|
||||
name: string
|
||||
avatarUrl: string
|
||||
} @cuetsy(kind="interface") @grafanamaturity(NeedsExpertReview)
|
||||
#LibraryElementDTOMetaUser: {
|
||||
id: int64
|
||||
name: string
|
||||
avatarUrl: string
|
||||
} @cuetsy(kind="interface") @grafanamaturity(NeedsExpertReview)
|
||||
|
||||
#LibraryElementDTOMeta: {
|
||||
folderName: string
|
||||
folderUid: string @grafanamaturity(ToMetadata="sys")
|
||||
connectedDashboards: int64
|
||||
#LibraryElementDTOMeta: {
|
||||
folderName: string
|
||||
folderUid: string @grafanamaturity(ToMetadata="sys")
|
||||
connectedDashboards: int64
|
||||
|
||||
created: string & time.Time
|
||||
updated: string & time.Time
|
||||
created: string & time.Time
|
||||
updated: string & time.Time
|
||||
|
||||
createdBy: #LibraryElementDTOMetaUser @grafanamaturity(ToMetadata="sys")
|
||||
updatedBy: #LibraryElementDTOMetaUser @grafanamaturity(ToMetadata="sys")
|
||||
} @cuetsy(kind="interface") @grafanamaturity(NeedsExpertReview)
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
createdBy: #LibraryElementDTOMetaUser @grafanamaturity(ToMetadata="sys")
|
||||
updatedBy: #LibraryElementDTOMetaUser @grafanamaturity(ToMetadata="sys")
|
||||
} @cuetsy(kind="interface") @grafanamaturity(NeedsExpertReview)
|
||||
}
|
||||
}]
|
||||
|
@ -4,48 +4,44 @@ name: "Playlist"
|
||||
maturity: "merged"
|
||||
description: "A playlist is a series of dashboards that is automatically rotated in the browser, on a configurable interval."
|
||||
|
||||
lineage: seqs: [
|
||||
{
|
||||
schemas: [
|
||||
//0.0
|
||||
{
|
||||
spec: {
|
||||
// Unique playlist identifier. Generated on creation, either by the
|
||||
// creator of the playlist of by the application.
|
||||
uid: string
|
||||
lineage: schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
spec: {
|
||||
// Unique playlist identifier. Generated on creation, either by the
|
||||
// creator of the playlist of by the application.
|
||||
uid: string
|
||||
|
||||
// Name of the playlist.
|
||||
name: string
|
||||
// Name of the playlist.
|
||||
name: string
|
||||
|
||||
// Interval sets the time between switching views in a playlist.
|
||||
// FIXME: Is this based on a standardized format or what options are available? Can datemath be used?
|
||||
interval: string | *"5m"
|
||||
// Interval sets the time between switching views in a playlist.
|
||||
// FIXME: Is this based on a standardized format or what options are available? Can datemath be used?
|
||||
interval: string | *"5m"
|
||||
|
||||
// The ordered list of items that the playlist will iterate over.
|
||||
// FIXME! This should not be optional, but changing it makes the godegen awkward
|
||||
items?: [...#PlaylistItem]
|
||||
} @cuetsy(kind="interface")
|
||||
// The ordered list of items that the playlist will iterate over.
|
||||
// FIXME! This should not be optional, but changing it makes the godegen awkward
|
||||
items?: [...#PlaylistItem]
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
///////////////////////////////////////
|
||||
// Definitions (referenced above) are declared below
|
||||
///////////////////////////////////////
|
||||
// Definitions (referenced above) are declared below
|
||||
|
||||
#PlaylistItem: {
|
||||
// Type of the item.
|
||||
type: "dashboard_by_uid" | "dashboard_by_id" | "dashboard_by_tag"
|
||||
// Value depends on type and describes the playlist item.
|
||||
//
|
||||
// - dashboard_by_id: The value is an internal numerical identifier set by Grafana. This
|
||||
// is not portable as the numerical identifier is non-deterministic between different instances.
|
||||
// Will be replaced by dashboard_by_uid in the future. (deprecated)
|
||||
// - dashboard_by_tag: The value is a tag which is set on any number of dashboards. All
|
||||
// dashboards behind the tag will be added to the playlist.
|
||||
// - dashboard_by_uid: The value is the dashboard UID
|
||||
value: string
|
||||
#PlaylistItem: {
|
||||
// Type of the item.
|
||||
type: "dashboard_by_uid" | "dashboard_by_id" | "dashboard_by_tag"
|
||||
// Value depends on type and describes the playlist item.
|
||||
//
|
||||
// - dashboard_by_id: The value is an internal numerical identifier set by Grafana. This
|
||||
// is not portable as the numerical identifier is non-deterministic between different instances.
|
||||
// Will be replaced by dashboard_by_uid in the future. (deprecated)
|
||||
// - dashboard_by_tag: The value is a tag which is set on any number of dashboards. All
|
||||
// dashboards behind the tag will be added to the playlist.
|
||||
// - dashboard_by_uid: The value is the dashboard UID
|
||||
value: string
|
||||
|
||||
// Title is an unused property -- it will be removed in the future
|
||||
title?: string
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
// Title is an unused property -- it will be removed in the future
|
||||
title?: string
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
|
@ -4,36 +4,33 @@ name: "Preferences"
|
||||
maturity: "merged"
|
||||
description: "The user or team frontend preferences"
|
||||
|
||||
lineage: seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
spec: {
|
||||
// UID for the home dashboard
|
||||
homeDashboardUID?: string
|
||||
lineage: schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
spec: {
|
||||
// UID for the home dashboard
|
||||
homeDashboardUID?: string
|
||||
|
||||
// The timezone selection
|
||||
// TODO: this should use the timezone defined in common
|
||||
timezone?: string
|
||||
// The timezone selection
|
||||
// TODO: this should use the timezone defined in common
|
||||
timezone?: string
|
||||
|
||||
// day of the week (sunday, monday, etc)
|
||||
weekStart?: string
|
||||
// day of the week (sunday, monday, etc)
|
||||
weekStart?: string
|
||||
|
||||
// light, dark, empty is default
|
||||
theme?: string
|
||||
// light, dark, empty is default
|
||||
theme?: string
|
||||
|
||||
// Selected language (beta)
|
||||
language?: string
|
||||
// Selected language (beta)
|
||||
language?: string
|
||||
|
||||
// Explore query history preferences
|
||||
queryHistory?: #QueryHistoryPreference
|
||||
} @cuetsy(kind="interface")
|
||||
// Explore query history preferences
|
||||
queryHistory?: #QueryHistoryPreference
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#QueryHistoryPreference: {
|
||||
// one of: '' | 'query' | 'starred';
|
||||
homeTab?: string
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
#QueryHistoryPreference: {
|
||||
// one of: '' | 'query' | 'starred';
|
||||
homeTab?: string
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
|
@ -4,26 +4,22 @@ name: "PublicDashboard"
|
||||
maturity: "merged"
|
||||
description: "Public dashboard configuration"
|
||||
|
||||
lineage: seqs: [
|
||||
{
|
||||
schemas: [
|
||||
// 0.0
|
||||
{
|
||||
spec: {
|
||||
// Unique public dashboard identifier
|
||||
uid: string
|
||||
// Dashboard unique identifier referenced by this public dashboard
|
||||
dashboardUid: string
|
||||
// Unique public access token
|
||||
accessToken?: string
|
||||
// Flag that indicates if the public dashboard is enabled
|
||||
isEnabled: bool
|
||||
// Flag that indicates if annotations are enabled
|
||||
annotationsEnabled: bool
|
||||
// Flag that indicates if the time range picker is enabled
|
||||
timeSelectionEnabled: bool
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
lineage: schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
spec: {
|
||||
// Unique public dashboard identifier
|
||||
uid: string
|
||||
// Dashboard unique identifier referenced by this public dashboard
|
||||
dashboardUid: string
|
||||
// Unique public access token
|
||||
accessToken?: string
|
||||
// Flag that indicates if the public dashboard is enabled
|
||||
isEnabled: bool
|
||||
// Flag that indicates if annotations are enabled
|
||||
annotationsEnabled: bool
|
||||
// Flag that indicates if the time range picker is enabled
|
||||
timeSelectionEnabled: bool
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
|
@ -4,42 +4,38 @@ name: "ServiceAccount"
|
||||
maturity: "merged"
|
||||
description: "system account"
|
||||
|
||||
lineage: seqs: [
|
||||
{
|
||||
schemas: [
|
||||
// v0.0
|
||||
{
|
||||
spec: {
|
||||
// ID is the unique identifier of the service account in the database.
|
||||
id: int64 @grafanamaturity(ToMetadata="sys")
|
||||
// OrgId is the ID of an organisation the service account belongs to.
|
||||
orgId: int64 @grafanamaturity(ToMetadata="sys")
|
||||
// Name of the service account.
|
||||
name: string
|
||||
// Login of the service account.
|
||||
login: string
|
||||
// IsDisabled indicates if the service account is disabled.
|
||||
isDisabled: bool
|
||||
// Role is the Grafana organization role of the service account which can be 'Viewer', 'Editor', 'Admin'.
|
||||
role: #OrgRole @grafanamaturity(ToMetadata="kind")
|
||||
// Tokens is the number of active tokens for the service account.
|
||||
// Tokens are used to authenticate the service account against Grafana.
|
||||
tokens: int64 @grafanamaturity(ToMetadata="kind")
|
||||
// AvatarUrl is the service account's avatar URL. It allows the frontend to display a picture in front
|
||||
// of the service account.
|
||||
avatarUrl: string @grafanamaturity(ToMetadata="kind")
|
||||
// AccessControl metadata associated with a given resource.
|
||||
accessControl?: {
|
||||
[string]: bool @grafanamaturity(ToMetadata="sys")
|
||||
}
|
||||
lineage: schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
spec: {
|
||||
// ID is the unique identifier of the service account in the database.
|
||||
id: int64 @grafanamaturity(ToMetadata="sys")
|
||||
// OrgId is the ID of an organisation the service account belongs to.
|
||||
orgId: int64 @grafanamaturity(ToMetadata="sys")
|
||||
// Name of the service account.
|
||||
name: string
|
||||
// Login of the service account.
|
||||
login: string
|
||||
// IsDisabled indicates if the service account is disabled.
|
||||
isDisabled: bool
|
||||
// Role is the Grafana organization role of the service account which can be 'Viewer', 'Editor', 'Admin'.
|
||||
role: #OrgRole @grafanamaturity(ToMetadata="kind")
|
||||
// Tokens is the number of active tokens for the service account.
|
||||
// Tokens are used to authenticate the service account against Grafana.
|
||||
tokens: int64 @grafanamaturity(ToMetadata="kind")
|
||||
// AvatarUrl is the service account's avatar URL. It allows the frontend to display a picture in front
|
||||
// of the service account.
|
||||
avatarUrl: string @grafanamaturity(ToMetadata="kind")
|
||||
// AccessControl metadata associated with a given resource.
|
||||
accessControl?: {
|
||||
[string]: bool @grafanamaturity(ToMetadata="sys")
|
||||
}
|
||||
|
||||
// Teams is a list of teams the service account belongs to.
|
||||
teams?: [...string] @grafanamaturity(ToMetadata="sys")
|
||||
} @cuetsy(kind="interface")
|
||||
// Teams is a list of teams the service account belongs to.
|
||||
teams?: [...string] @grafanamaturity(ToMetadata="sys")
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
// OrgRole is a Grafana Organization Role which can be 'Viewer', 'Editor', 'Admin'.
|
||||
#OrgRole: "Admin" | "Editor" | "Viewer" @cuetsy(kind="type")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
// OrgRole is a Grafana Organization Role which can be 'Viewer', 'Editor', 'Admin'.
|
||||
#OrgRole: "Admin" | "Editor" | "Viewer" @cuetsy(kind="type")
|
||||
}
|
||||
}]
|
||||
|
@ -4,18 +4,14 @@ name: "Team"
|
||||
maturity: "merged"
|
||||
description: "A team is a named grouping of Grafana users to which access control rules may be assigned."
|
||||
|
||||
lineage: seqs: [
|
||||
{
|
||||
schemas: [
|
||||
// v0.0
|
||||
{
|
||||
spec: {
|
||||
// Name of the team.
|
||||
name: string
|
||||
// Email of the team.
|
||||
email?: string
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
lineage: schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
spec: {
|
||||
// Name of the team.
|
||||
name: string
|
||||
// Email of the team.
|
||||
email?: string
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
|
@ -8,6 +8,10 @@
|
||||
//
|
||||
// Run 'make gen-cue' from repository root to regenerate.
|
||||
|
||||
/**
|
||||
* TODO:
|
||||
* common metadata will soon support setting the parent folder in the metadata
|
||||
*/
|
||||
export interface Folder {
|
||||
/**
|
||||
* Description of the folder.
|
||||
|
@ -13,6 +13,8 @@ import (
|
||||
"github.com/grafana/thema/encoding/openapi"
|
||||
)
|
||||
|
||||
var schPath = cue.MakePath(cue.Hid("_#schema", "github.com/grafana/thema"))
|
||||
|
||||
type ResourceGoTypesJenny struct {
|
||||
ApplyFuncs []dstutil.ApplyFunc
|
||||
ExpandReferences bool
|
||||
@ -31,7 +33,7 @@ func (ag *ResourceGoTypesJenny) Generate(kind kindsys.Kind) (*codejen.File, erro
|
||||
}
|
||||
sch := sfg.Schema
|
||||
|
||||
iter, err := sch.Underlying().Fields()
|
||||
iter, err := sch.Underlying().LookupPath(schPath).Fields()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -77,7 +79,7 @@ func (g *SubresourceGoTypesJenny) Generate(kind kindsys.Kind) (codejen.Files, er
|
||||
|
||||
// Iterate through all top-level fields and make go types for them
|
||||
// (this should consist of "spec" and arbitrary subresources)
|
||||
i, err := sch.Underlying().Fields()
|
||||
i, err := sch.Underlying().LookupPath(schPath).Fields()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -50,7 +50,13 @@ func (gen *genTSVeneerIndex) Generate(kinds ...kindsys.Kind) (*codejen.File, err
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("%s: %w", def.Props().Common().Name, err)
|
||||
}
|
||||
renameSpecNode(def.Props().Common().Name, f)
|
||||
// The obvious approach would be calling renameSpecNode() here, same as in the ts resource jenny,
|
||||
// to rename the "spec" field to the name of the kind. But that was causing extra
|
||||
// default elements to generate that didn't actually exist. Instead,
|
||||
// findDeclNode() is aware of "spec" and does the change on the fly. Preserving this
|
||||
// as a reminder in case we want to switch back, though.
|
||||
// renameSpecNode(def.Props().Common().Name, f)
|
||||
|
||||
elems, err := gen.extractTSIndexVeneerElements(def, f)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("%s: %w", def.Props().Common().Name, err)
|
||||
@ -66,7 +72,7 @@ func (gen *genTSVeneerIndex) extractTSIndexVeneerElements(def kindsys.Kind, tf *
|
||||
comm := def.Props().Common()
|
||||
|
||||
// Check the root, then walk the tree
|
||||
rootv := lin.Latest().Underlying()
|
||||
rootv := lin.Latest().Underlying().LookupPath(schPath)
|
||||
|
||||
var raw, custom, rawD, customD ast.Idents
|
||||
|
||||
@ -85,18 +91,14 @@ func (gen *genTSVeneerIndex) extractTSIndexVeneerElements(def kindsys.Kind, tf *
|
||||
if !(sels[0].IsDefinition() || sels[0].String() == "spec") {
|
||||
return false
|
||||
}
|
||||
// It might seem to make sense that we'd strip replaceout the leading # here for
|
||||
// It might seem to make sense that we'd strip out the leading # here for
|
||||
// definitions. However, cuetsy's tsast actually has the # still present in its
|
||||
// Ident types, stripping it replaceout on the fly when stringifying.
|
||||
// Ident types, stripping it out on the fly when stringifying.
|
||||
name = sels[0].String()
|
||||
}
|
||||
|
||||
if name == "spec" {
|
||||
name = comm.Name
|
||||
}
|
||||
|
||||
// Search the generated TS AST for the type and default def nodes
|
||||
pair := findDeclNode(name, tf)
|
||||
pair := findDeclNode(name, comm.Name, tf)
|
||||
if pair.T == nil {
|
||||
// No generated type for this item, skip it
|
||||
return false
|
||||
@ -208,8 +210,13 @@ type tsVeneerAttr struct {
|
||||
target string
|
||||
}
|
||||
|
||||
func findDeclNode(name string, tf *ast.File) declPair {
|
||||
func findDeclNode(name, basename string, tf *ast.File) declPair {
|
||||
var p declPair
|
||||
|
||||
if name == basename {
|
||||
return declPair{}
|
||||
}
|
||||
|
||||
for _, def := range tf.Nodes {
|
||||
// Peer through export keywords
|
||||
if ex, is := def.(ast.ExportKeyword); is {
|
||||
@ -221,10 +228,16 @@ func findDeclNode(name string, tf *ast.File) declPair {
|
||||
if x.Name.Name == name {
|
||||
p.T = &x.Name
|
||||
_, p.isEnum = x.Type.(ast.EnumType)
|
||||
if name == "spec" {
|
||||
p.T.Name = basename
|
||||
}
|
||||
}
|
||||
case ast.VarDecl:
|
||||
if x.Names.Idents[0].Name == "default"+name {
|
||||
p.D = &x.Names.Idents[0]
|
||||
if name == "spec" {
|
||||
p.D.Name = "default" + basename
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -16,6 +16,13 @@ const (
|
||||
OperatorStateStateSuccess OperatorStateState = "success"
|
||||
)
|
||||
|
||||
// Defines values for StatusOperatorStateState.
|
||||
const (
|
||||
StatusOperatorStateStateFailed StatusOperatorStateState = "failed"
|
||||
StatusOperatorStateStateInProgress StatusOperatorStateState = "in_progress"
|
||||
StatusOperatorStateStateSuccess StatusOperatorStateState = "success"
|
||||
)
|
||||
|
||||
// OperatorState defines model for OperatorState.
|
||||
type OperatorState struct {
|
||||
// descriptiveState is an optional more descriptive state field which has no requirements on format
|
||||
@ -43,5 +50,25 @@ type Status struct {
|
||||
|
||||
// operatorStates is a map of operator ID to operator state evaluations.
|
||||
// Any operator which consumes this kind SHOULD add its state evaluation information to this field.
|
||||
OperatorStates map[string]OperatorState `json:"operatorStates,omitempty"`
|
||||
OperatorStates map[string]StatusOperatorState `json:"operatorStates,omitempty"`
|
||||
}
|
||||
|
||||
// StatusOperatorState defines model for status.#OperatorState.
|
||||
type StatusOperatorState struct {
|
||||
// descriptiveState is an optional more descriptive state field which has no requirements on format
|
||||
DescriptiveState *string `json:"descriptiveState,omitempty"`
|
||||
|
||||
// details contains any extra information that is operator-specific
|
||||
Details map[string]interface{} `json:"details,omitempty"`
|
||||
|
||||
// lastEvaluation is the ResourceVersion last evaluated
|
||||
LastEvaluation string `json:"lastEvaluation"`
|
||||
|
||||
// state describes the state of the lastEvaluation.
|
||||
// It is limited to three possible states for machine evaluation.
|
||||
State StatusOperatorStateState `json:"state"`
|
||||
}
|
||||
|
||||
// StatusOperatorStateState state describes the state of the lastEvaluation.
|
||||
// It is limited to three possible states for machine evaluation.
|
||||
type StatusOperatorStateState string
|
||||
|
@ -9,7 +9,8 @@
|
||||
|
||||
package folder
|
||||
|
||||
// Spec defines model for Spec.
|
||||
// TODO:
|
||||
// common metadata will soon support setting the parent folder in the metadata
|
||||
type Spec struct {
|
||||
// Description of the folder.
|
||||
Description *string `json:"description,omitempty"`
|
||||
|
@ -16,6 +16,13 @@ const (
|
||||
OperatorStateStateSuccess OperatorStateState = "success"
|
||||
)
|
||||
|
||||
// Defines values for StatusOperatorStateState.
|
||||
const (
|
||||
StatusOperatorStateStateFailed StatusOperatorStateState = "failed"
|
||||
StatusOperatorStateStateInProgress StatusOperatorStateState = "in_progress"
|
||||
StatusOperatorStateStateSuccess StatusOperatorStateState = "success"
|
||||
)
|
||||
|
||||
// OperatorState defines model for OperatorState.
|
||||
type OperatorState struct {
|
||||
// descriptiveState is an optional more descriptive state field which has no requirements on format
|
||||
@ -43,5 +50,25 @@ type Status struct {
|
||||
|
||||
// operatorStates is a map of operator ID to operator state evaluations.
|
||||
// Any operator which consumes this kind SHOULD add its state evaluation information to this field.
|
||||
OperatorStates map[string]OperatorState `json:"operatorStates,omitempty"`
|
||||
OperatorStates map[string]StatusOperatorState `json:"operatorStates,omitempty"`
|
||||
}
|
||||
|
||||
// StatusOperatorState defines model for status.#OperatorState.
|
||||
type StatusOperatorState struct {
|
||||
// descriptiveState is an optional more descriptive state field which has no requirements on format
|
||||
DescriptiveState *string `json:"descriptiveState,omitempty"`
|
||||
|
||||
// details contains any extra information that is operator-specific
|
||||
Details map[string]interface{} `json:"details,omitempty"`
|
||||
|
||||
// lastEvaluation is the ResourceVersion last evaluated
|
||||
LastEvaluation string `json:"lastEvaluation"`
|
||||
|
||||
// state describes the state of the lastEvaluation.
|
||||
// It is limited to three possible states for machine evaluation.
|
||||
State StatusOperatorStateState `json:"state"`
|
||||
}
|
||||
|
||||
// StatusOperatorStateState state describes the state of the lastEvaluation.
|
||||
// It is limited to three possible states for machine evaluation.
|
||||
type StatusOperatorStateState string
|
||||
|
@ -16,6 +16,13 @@ const (
|
||||
OperatorStateStateSuccess OperatorStateState = "success"
|
||||
)
|
||||
|
||||
// Defines values for StatusOperatorStateState.
|
||||
const (
|
||||
StatusOperatorStateStateFailed StatusOperatorStateState = "failed"
|
||||
StatusOperatorStateStateInProgress StatusOperatorStateState = "in_progress"
|
||||
StatusOperatorStateStateSuccess StatusOperatorStateState = "success"
|
||||
)
|
||||
|
||||
// OperatorState defines model for OperatorState.
|
||||
type OperatorState struct {
|
||||
// descriptiveState is an optional more descriptive state field which has no requirements on format
|
||||
@ -43,5 +50,25 @@ type Status struct {
|
||||
|
||||
// operatorStates is a map of operator ID to operator state evaluations.
|
||||
// Any operator which consumes this kind SHOULD add its state evaluation information to this field.
|
||||
OperatorStates map[string]OperatorState `json:"operatorStates,omitempty"`
|
||||
OperatorStates map[string]StatusOperatorState `json:"operatorStates,omitempty"`
|
||||
}
|
||||
|
||||
// StatusOperatorState defines model for status.#OperatorState.
|
||||
type StatusOperatorState struct {
|
||||
// descriptiveState is an optional more descriptive state field which has no requirements on format
|
||||
DescriptiveState *string `json:"descriptiveState,omitempty"`
|
||||
|
||||
// details contains any extra information that is operator-specific
|
||||
Details map[string]interface{} `json:"details,omitempty"`
|
||||
|
||||
// lastEvaluation is the ResourceVersion last evaluated
|
||||
LastEvaluation string `json:"lastEvaluation"`
|
||||
|
||||
// state describes the state of the lastEvaluation.
|
||||
// It is limited to three possible states for machine evaluation.
|
||||
State StatusOperatorStateState `json:"state"`
|
||||
}
|
||||
|
||||
// StatusOperatorStateState state describes the state of the lastEvaluation.
|
||||
// It is limited to three possible states for machine evaluation.
|
||||
type StatusOperatorStateState string
|
||||
|
@ -16,6 +16,13 @@ const (
|
||||
OperatorStateStateSuccess OperatorStateState = "success"
|
||||
)
|
||||
|
||||
// Defines values for StatusOperatorStateState.
|
||||
const (
|
||||
StatusOperatorStateStateFailed StatusOperatorStateState = "failed"
|
||||
StatusOperatorStateStateInProgress StatusOperatorStateState = "in_progress"
|
||||
StatusOperatorStateStateSuccess StatusOperatorStateState = "success"
|
||||
)
|
||||
|
||||
// OperatorState defines model for OperatorState.
|
||||
type OperatorState struct {
|
||||
// descriptiveState is an optional more descriptive state field which has no requirements on format
|
||||
@ -43,5 +50,25 @@ type Status struct {
|
||||
|
||||
// operatorStates is a map of operator ID to operator state evaluations.
|
||||
// Any operator which consumes this kind SHOULD add its state evaluation information to this field.
|
||||
OperatorStates map[string]OperatorState `json:"operatorStates,omitempty"`
|
||||
OperatorStates map[string]StatusOperatorState `json:"operatorStates,omitempty"`
|
||||
}
|
||||
|
||||
// StatusOperatorState defines model for status.#OperatorState.
|
||||
type StatusOperatorState struct {
|
||||
// descriptiveState is an optional more descriptive state field which has no requirements on format
|
||||
DescriptiveState *string `json:"descriptiveState,omitempty"`
|
||||
|
||||
// details contains any extra information that is operator-specific
|
||||
Details map[string]interface{} `json:"details,omitempty"`
|
||||
|
||||
// lastEvaluation is the ResourceVersion last evaluated
|
||||
LastEvaluation string `json:"lastEvaluation"`
|
||||
|
||||
// state describes the state of the lastEvaluation.
|
||||
// It is limited to three possible states for machine evaluation.
|
||||
State StatusOperatorStateState `json:"state"`
|
||||
}
|
||||
|
||||
// StatusOperatorStateState state describes the state of the lastEvaluation.
|
||||
// It is limited to three possible states for machine evaluation.
|
||||
type StatusOperatorStateState string
|
||||
|
@ -16,6 +16,13 @@ const (
|
||||
OperatorStateStateSuccess OperatorStateState = "success"
|
||||
)
|
||||
|
||||
// Defines values for StatusOperatorStateState.
|
||||
const (
|
||||
StatusOperatorStateStateFailed StatusOperatorStateState = "failed"
|
||||
StatusOperatorStateStateInProgress StatusOperatorStateState = "in_progress"
|
||||
StatusOperatorStateStateSuccess StatusOperatorStateState = "success"
|
||||
)
|
||||
|
||||
// OperatorState defines model for OperatorState.
|
||||
type OperatorState struct {
|
||||
// descriptiveState is an optional more descriptive state field which has no requirements on format
|
||||
@ -43,5 +50,25 @@ type Status struct {
|
||||
|
||||
// operatorStates is a map of operator ID to operator state evaluations.
|
||||
// Any operator which consumes this kind SHOULD add its state evaluation information to this field.
|
||||
OperatorStates map[string]OperatorState `json:"operatorStates,omitempty"`
|
||||
OperatorStates map[string]StatusOperatorState `json:"operatorStates,omitempty"`
|
||||
}
|
||||
|
||||
// StatusOperatorState defines model for status.#OperatorState.
|
||||
type StatusOperatorState struct {
|
||||
// descriptiveState is an optional more descriptive state field which has no requirements on format
|
||||
DescriptiveState *string `json:"descriptiveState,omitempty"`
|
||||
|
||||
// details contains any extra information that is operator-specific
|
||||
Details map[string]interface{} `json:"details,omitempty"`
|
||||
|
||||
// lastEvaluation is the ResourceVersion last evaluated
|
||||
LastEvaluation string `json:"lastEvaluation"`
|
||||
|
||||
// state describes the state of the lastEvaluation.
|
||||
// It is limited to three possible states for machine evaluation.
|
||||
State StatusOperatorStateState `json:"state"`
|
||||
}
|
||||
|
||||
// StatusOperatorStateState state describes the state of the lastEvaluation.
|
||||
// It is limited to three possible states for machine evaluation.
|
||||
type StatusOperatorStateState string
|
||||
|
@ -16,6 +16,13 @@ const (
|
||||
OperatorStateStateSuccess OperatorStateState = "success"
|
||||
)
|
||||
|
||||
// Defines values for StatusOperatorStateState.
|
||||
const (
|
||||
StatusOperatorStateStateFailed StatusOperatorStateState = "failed"
|
||||
StatusOperatorStateStateInProgress StatusOperatorStateState = "in_progress"
|
||||
StatusOperatorStateStateSuccess StatusOperatorStateState = "success"
|
||||
)
|
||||
|
||||
// OperatorState defines model for OperatorState.
|
||||
type OperatorState struct {
|
||||
// descriptiveState is an optional more descriptive state field which has no requirements on format
|
||||
@ -43,5 +50,25 @@ type Status struct {
|
||||
|
||||
// operatorStates is a map of operator ID to operator state evaluations.
|
||||
// Any operator which consumes this kind SHOULD add its state evaluation information to this field.
|
||||
OperatorStates map[string]OperatorState `json:"operatorStates,omitempty"`
|
||||
OperatorStates map[string]StatusOperatorState `json:"operatorStates,omitempty"`
|
||||
}
|
||||
|
||||
// StatusOperatorState defines model for status.#OperatorState.
|
||||
type StatusOperatorState struct {
|
||||
// descriptiveState is an optional more descriptive state field which has no requirements on format
|
||||
DescriptiveState *string `json:"descriptiveState,omitempty"`
|
||||
|
||||
// details contains any extra information that is operator-specific
|
||||
Details map[string]interface{} `json:"details,omitempty"`
|
||||
|
||||
// lastEvaluation is the ResourceVersion last evaluated
|
||||
LastEvaluation string `json:"lastEvaluation"`
|
||||
|
||||
// state describes the state of the lastEvaluation.
|
||||
// It is limited to three possible states for machine evaluation.
|
||||
State StatusOperatorStateState `json:"state"`
|
||||
}
|
||||
|
||||
// StatusOperatorStateState state describes the state of the lastEvaluation.
|
||||
// It is limited to three possible states for machine evaluation.
|
||||
type StatusOperatorStateState string
|
||||
|
@ -16,6 +16,13 @@ const (
|
||||
OperatorStateStateSuccess OperatorStateState = "success"
|
||||
)
|
||||
|
||||
// Defines values for StatusOperatorStateState.
|
||||
const (
|
||||
StatusOperatorStateStateFailed StatusOperatorStateState = "failed"
|
||||
StatusOperatorStateStateInProgress StatusOperatorStateState = "in_progress"
|
||||
StatusOperatorStateStateSuccess StatusOperatorStateState = "success"
|
||||
)
|
||||
|
||||
// OperatorState defines model for OperatorState.
|
||||
type OperatorState struct {
|
||||
// descriptiveState is an optional more descriptive state field which has no requirements on format
|
||||
@ -43,5 +50,25 @@ type Status struct {
|
||||
|
||||
// operatorStates is a map of operator ID to operator state evaluations.
|
||||
// Any operator which consumes this kind SHOULD add its state evaluation information to this field.
|
||||
OperatorStates map[string]OperatorState `json:"operatorStates,omitempty"`
|
||||
OperatorStates map[string]StatusOperatorState `json:"operatorStates,omitempty"`
|
||||
}
|
||||
|
||||
// StatusOperatorState defines model for status.#OperatorState.
|
||||
type StatusOperatorState struct {
|
||||
// descriptiveState is an optional more descriptive state field which has no requirements on format
|
||||
DescriptiveState *string `json:"descriptiveState,omitempty"`
|
||||
|
||||
// details contains any extra information that is operator-specific
|
||||
Details map[string]interface{} `json:"details,omitempty"`
|
||||
|
||||
// lastEvaluation is the ResourceVersion last evaluated
|
||||
LastEvaluation string `json:"lastEvaluation"`
|
||||
|
||||
// state describes the state of the lastEvaluation.
|
||||
// It is limited to three possible states for machine evaluation.
|
||||
State StatusOperatorStateState `json:"state"`
|
||||
}
|
||||
|
||||
// StatusOperatorStateState state describes the state of the lastEvaluation.
|
||||
// It is limited to three possible states for machine evaluation.
|
||||
type StatusOperatorStateState string
|
||||
|
@ -16,6 +16,13 @@ const (
|
||||
OperatorStateStateSuccess OperatorStateState = "success"
|
||||
)
|
||||
|
||||
// Defines values for StatusOperatorStateState.
|
||||
const (
|
||||
StatusOperatorStateStateFailed StatusOperatorStateState = "failed"
|
||||
StatusOperatorStateStateInProgress StatusOperatorStateState = "in_progress"
|
||||
StatusOperatorStateStateSuccess StatusOperatorStateState = "success"
|
||||
)
|
||||
|
||||
// OperatorState defines model for OperatorState.
|
||||
type OperatorState struct {
|
||||
// descriptiveState is an optional more descriptive state field which has no requirements on format
|
||||
@ -43,5 +50,25 @@ type Status struct {
|
||||
|
||||
// operatorStates is a map of operator ID to operator state evaluations.
|
||||
// Any operator which consumes this kind SHOULD add its state evaluation information to this field.
|
||||
OperatorStates map[string]OperatorState `json:"operatorStates,omitempty"`
|
||||
OperatorStates map[string]StatusOperatorState `json:"operatorStates,omitempty"`
|
||||
}
|
||||
|
||||
// StatusOperatorState defines model for status.#OperatorState.
|
||||
type StatusOperatorState struct {
|
||||
// descriptiveState is an optional more descriptive state field which has no requirements on format
|
||||
DescriptiveState *string `json:"descriptiveState,omitempty"`
|
||||
|
||||
// details contains any extra information that is operator-specific
|
||||
Details map[string]interface{} `json:"details,omitempty"`
|
||||
|
||||
// lastEvaluation is the ResourceVersion last evaluated
|
||||
LastEvaluation string `json:"lastEvaluation"`
|
||||
|
||||
// state describes the state of the lastEvaluation.
|
||||
// It is limited to three possible states for machine evaluation.
|
||||
State StatusOperatorStateState `json:"state"`
|
||||
}
|
||||
|
||||
// StatusOperatorStateState state describes the state of the lastEvaluation.
|
||||
// It is limited to three possible states for machine evaluation.
|
||||
type StatusOperatorStateState string
|
||||
|
@ -1,13 +1,12 @@
|
||||
package grafanaplugin
|
||||
|
||||
composableKinds: DataQuery: lineage: {
|
||||
seqs: [
|
||||
schemas: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
foo: string
|
||||
},
|
||||
]
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
foo: string
|
||||
}
|
||||
},
|
||||
]
|
||||
}
|
||||
|
@ -1,13 +1,12 @@
|
||||
package grafanaplugin
|
||||
|
||||
composableKinds: DataQuery: lineage: {
|
||||
seqs: [
|
||||
schemas: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
foo: string
|
||||
},
|
||||
]
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
foo: string
|
||||
}
|
||||
},
|
||||
]
|
||||
}
|
||||
|
@ -1,18 +1,17 @@
|
||||
package grafanaplugin
|
||||
|
||||
composableKinds: DataSourceCfg: lineage: {
|
||||
seqs: [
|
||||
schemas: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
Options: {
|
||||
foo: string
|
||||
}
|
||||
SecureOptions: {
|
||||
bar: string
|
||||
}
|
||||
},
|
||||
]
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
Options: {
|
||||
foo: string
|
||||
}
|
||||
SecureOptions: {
|
||||
bar: string
|
||||
}
|
||||
}
|
||||
},
|
||||
]
|
||||
}
|
||||
|
@ -1,15 +1,14 @@
|
||||
package grafanaplugin
|
||||
|
||||
composableKinds: PanelCfg: lineage: {
|
||||
seqs: [
|
||||
schemas: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
Options: {
|
||||
foo: string
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
Options: {
|
||||
foo: string
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
},
|
||||
]
|
||||
}
|
||||
|
@ -3,7 +3,6 @@ package pfs
|
||||
import (
|
||||
"fmt"
|
||||
"io/fs"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"sort"
|
||||
|
||||
@ -39,7 +38,7 @@ func (psr *declParser) Parse(root fs.FS) ([]*PluginDecl, error) {
|
||||
continue
|
||||
}
|
||||
|
||||
dir := os.DirFS(path)
|
||||
dir, _ := fs.Sub(root, path)
|
||||
pp, err := ParsePluginFS(dir, psr.rt)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("parsing plugin failed for %s: %s", dir, err)
|
||||
|
@ -205,7 +205,13 @@ func ParsePluginFS(fsys fs.FS, rt *thema.Runtime) (ParsedPlugin, error) {
|
||||
})
|
||||
bi.Files = append(bi.Files, f)
|
||||
|
||||
gpi := ctx.BuildInstance(bi).Unify(gpv)
|
||||
gpi := ctx.BuildInstance(bi)
|
||||
// Temporary hack while we figure out what in the elasticsearch lineage turns
|
||||
// this into an endless loop in thema, and why unifying twice is anything other
|
||||
// than a total no-op.
|
||||
if pp.Properties.Id != "elasticsearch" {
|
||||
gpi = gpi.Unify(gpv)
|
||||
}
|
||||
if gpi.Err() != nil {
|
||||
return ParsedPlugin{}, errors.Wrap(errors.Promote(ErrInvalidGrafanaPluginInstance, pp.Properties.Id), gpi.Err())
|
||||
}
|
||||
|
@ -9,404 +9,402 @@ import (
|
||||
|
||||
thema.#Lineage
|
||||
name: "plugindef"
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
// Unique name of the plugin. If the plugin is published on
|
||||
// grafana.com, then the plugin `id` has to follow the naming
|
||||
// conventions.
|
||||
id: string & strings.MinRunes(1)
|
||||
id: =~"^([0-9a-z]+\\-([0-9a-z]+\\-)?(\(strings.Join([ for t in _types {t}], "|"))))|(alertGroups|alertlist|annolist|barchart|bargauge|candlestick|canvas|dashlist|debug|datagrid|gauge|geomap|gettingstarted|graph|heatmap|histogram|icon|live|logs|news|nodeGraph|piechart|pluginlist|stat|state-timeline|status-history|table|table-old|text|timeseries|trend|traces|welcome|xychart|alertmanager|cloudwatch|dashboard|elasticsearch|grafana|grafana-azure-monitor-datasource|graphite|influxdb|jaeger|loki|mixed|mssql|mysql|opentsdb|postgres|prometheus|stackdriver|tempo|testdata|zipkin|phlare|parca)$"
|
||||
|
||||
// Human-readable name of the plugin that is shown to the user in
|
||||
// the UI.
|
||||
name: string
|
||||
|
||||
// The set of all plugin types. This hidden field exists solely
|
||||
// so that the set can be string-interpolated into other fields.
|
||||
_types: ["app", "datasource", "panel", "renderer", "secretsmanager"]
|
||||
|
||||
// type indicates which type of Grafana plugin this is, of the defined
|
||||
// set of Grafana plugin types.
|
||||
type: or(_types)
|
||||
|
||||
// IncludeType is a string identifier of a plugin include type, which is
|
||||
// a superset of plugin types.
|
||||
#IncludeType: type | "dashboard" | "page"
|
||||
|
||||
// Metadata about the plugin
|
||||
info: #Info
|
||||
|
||||
// Metadata about a Grafana plugin. Some fields are used on the plugins
|
||||
// page in Grafana and others on grafana.com, if the plugin is published.
|
||||
#Info: {
|
||||
// Information about the plugin author
|
||||
author?: {
|
||||
// Author's name
|
||||
name?: string
|
||||
|
||||
// Author's name
|
||||
email?: string
|
||||
|
||||
// Link to author's website
|
||||
url?: string
|
||||
}
|
||||
|
||||
// Build information
|
||||
build?: #BuildInfo
|
||||
|
||||
// Description of plugin. Used on the plugins page in Grafana and
|
||||
// for search on grafana.com.
|
||||
description?: string
|
||||
|
||||
// Array of plugin keywords. Used for search on grafana.com.
|
||||
keywords: [...string]
|
||||
// should be this, but CUE to openapi converter screws this up
|
||||
// by inserting a non-concrete default.
|
||||
// keywords: [string, ...string]
|
||||
|
||||
// An array of link objects to be displayed on this plugin's
|
||||
// project page in the form `{name: 'foo', url:
|
||||
// 'http://example.com'}`
|
||||
links?: [...{
|
||||
name?: string
|
||||
url?: string
|
||||
}]
|
||||
|
||||
// SVG images that are used as plugin icons
|
||||
logos?: {
|
||||
// Link to the "small" version of the plugin logo, which must be
|
||||
// an SVG image. "Large" and "small" logos can be the same image.
|
||||
small: string
|
||||
|
||||
// Link to the "large" version of the plugin logo, which must be
|
||||
// an SVG image. "Large" and "small" logos can be the same image.
|
||||
large: string
|
||||
}
|
||||
|
||||
// An array of screenshot objects in the form `{name: 'bar', path:
|
||||
// 'img/screenshot.png'}`
|
||||
screenshots?: [...{
|
||||
name?: string
|
||||
path?: string
|
||||
}]
|
||||
|
||||
// Date when this plugin was built
|
||||
updated?: =~"^(\\d{4}-\\d{2}-\\d{2}|\\%TODAY\\%)$"
|
||||
|
||||
// Project version of this commit, e.g. `6.7.x`
|
||||
version?: =~"^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)|(\\%VERSION\\%)$"
|
||||
}
|
||||
|
||||
#BuildInfo: {
|
||||
// Time when the plugin was built, as a Unix timestamp
|
||||
time?: int64
|
||||
repo?: string
|
||||
|
||||
// Git branch the plugin was built from
|
||||
branch?: string
|
||||
|
||||
// Git hash of the commit the plugin was built from
|
||||
hash?: string
|
||||
"number"?: int64
|
||||
|
||||
// GitHub pull request the plugin was built from
|
||||
pr?: int32
|
||||
}
|
||||
|
||||
// Dependency information related to Grafana and other plugins
|
||||
dependencies: #Dependencies
|
||||
|
||||
#Dependencies: {
|
||||
// (Deprecated) Required Grafana version for this plugin, e.g.
|
||||
// `6.x.x 7.x.x` to denote plugin requires Grafana v6.x.x or
|
||||
// v7.x.x.
|
||||
grafanaVersion?: =~"^([0-9]+)(\\.[0-9x]+)?(\\.[0-9x])?$"
|
||||
|
||||
// Required Grafana version for this plugin. Validated using
|
||||
// https://github.com/npm/node-semver.
|
||||
grafanaDependency: =~"^(<=|>=|<|>|=|~|\\^)?([0-9]+)(\\.[0-9x\\*]+)(\\.[0-9x\\*]+)?(\\s(<=|>=|<|=>)?([0-9]+)(\\.[0-9x]+)(\\.[0-9x]+))?$"
|
||||
|
||||
// An array of required plugins on which this plugin depends
|
||||
plugins?: [...#Dependency]
|
||||
}
|
||||
|
||||
// Dependency describes another plugin on which a plugin depends.
|
||||
// The id refers to the plugin package identifier, as given on
|
||||
// the grafana.com plugin marketplace.
|
||||
#Dependency: {
|
||||
id: =~"^[0-9a-z]+\\-([0-9a-z]+\\-)?(app|panel|datasource)$"
|
||||
type: "app" | "datasource" | "panel"
|
||||
name: string
|
||||
version: string
|
||||
...
|
||||
}
|
||||
|
||||
// Schema definition for the plugin.json file. Used primarily for schema validation.
|
||||
$schema?: string
|
||||
|
||||
// For data source plugins, if the plugin supports alerting. Requires `backend` to be set to `true`.
|
||||
alerting?: bool
|
||||
|
||||
// For data source plugins, if the plugin supports annotation
|
||||
// queries.
|
||||
annotations?: bool
|
||||
|
||||
// Set to true for app plugins that should be enabled and pinned to the navigation bar in all orgs.
|
||||
autoEnabled?: bool
|
||||
|
||||
// If the plugin has a backend component.
|
||||
backend?: bool
|
||||
|
||||
// [internal only] Indicates whether the plugin is developed and shipped as part
|
||||
// of Grafana. Also known as a 'core plugin'.
|
||||
builtIn: bool | *false
|
||||
|
||||
// Plugin category used on the Add data source page.
|
||||
category?: "tsdb" | "logging" | "cloud" | "tracing" | "profiling" | "sql" | "enterprise" | "iot" | "other"
|
||||
|
||||
// Grafana Enterprise specific features.
|
||||
enterpriseFeatures?: {
|
||||
// Enable/Disable health diagnostics errors. Requires Grafana
|
||||
// >=7.5.5.
|
||||
healthDiagnosticsErrors?: bool | *false
|
||||
...
|
||||
}
|
||||
|
||||
// The first part of the file name of the backend component
|
||||
// executable. There can be multiple executables built for
|
||||
// different operating system and architecture. Grafana will
|
||||
// check for executables named `<executable>_<$GOOS>_<lower case
|
||||
// $GOARCH><.exe for Windows>`, e.g. `plugin_linux_amd64`.
|
||||
// Combination of $GOOS and $GOARCH can be found here:
|
||||
// https://golang.org/doc/install/source#environment.
|
||||
executable?: string
|
||||
|
||||
// [internal only] Excludes the plugin from listings in Grafana's UI. Only
|
||||
// allowed for `builtIn` plugins.
|
||||
hideFromList: bool | *false
|
||||
|
||||
// Resources to include in plugin.
|
||||
includes?: [...#Include]
|
||||
|
||||
// A resource to be included in a plugin.
|
||||
#Include: {
|
||||
// Unique identifier of the included resource
|
||||
uid?: string
|
||||
type: #IncludeType
|
||||
name?: string
|
||||
|
||||
// (Legacy) The Angular component to use for a page.
|
||||
component?: string
|
||||
|
||||
// The minimum role a user must have to see this page in the navigation menu.
|
||||
role?: "Admin" | "Editor" | "Viewer"
|
||||
|
||||
// RBAC action the user must have to access the route
|
||||
action?: string
|
||||
|
||||
// Used for app plugins.
|
||||
path?: string
|
||||
|
||||
// Add the include to the navigation menu.
|
||||
addToNav?: bool
|
||||
|
||||
// Page or dashboard when user clicks the icon in the side menu.
|
||||
defaultNav?: bool
|
||||
|
||||
// Icon to use in the side menu. For information on available
|
||||
// icon, refer to [Icons
|
||||
// Overview](https://developers.grafana.com/ui/latest/index.html?path=/story/docs-overview-icon--icons-overview).
|
||||
icon?: string
|
||||
...
|
||||
}
|
||||
|
||||
// For data source plugins, if the plugin supports logs. It may be used to filter logs only features.
|
||||
logs?: bool
|
||||
|
||||
// For data source plugins, if the plugin supports metric queries.
|
||||
// Used to enable the plugin in the panel editor.
|
||||
metrics?: bool
|
||||
|
||||
// FIXME there appears to be a bug in thema that prevents this from working. Maybe it'd
|
||||
// help to refer to it with an alias, but thema can't support using current list syntax.
|
||||
// syntax (fixed by grafana/thema#82). Either way, for now, pascalName gets populated in Go.
|
||||
let sani = (strings.ToTitle(regexp.ReplaceAllLiteral("[^a-zA-Z]+", name, "")))
|
||||
|
||||
// [internal only] The PascalCase name for the plugin. Used for creating machine-friendly
|
||||
// identifiers, typically in code generation.
|
||||
//
|
||||
// If not provided, defaults to name, but title-cased and sanitized (only
|
||||
// alphabetical characters allowed).
|
||||
pascalName: string & =~"^([A-Z][a-zA-Z]{1,62})$" | *sani
|
||||
|
||||
// Initialize plugin on startup. By default, the plugin
|
||||
// initializes on first use.
|
||||
preload?: bool
|
||||
|
||||
// For data source plugins. There is a query options section in
|
||||
// the plugin's query editor and these options can be turned on
|
||||
// if needed.
|
||||
queryOptions?: {
|
||||
// For data source plugins. If the `max data points` option should
|
||||
// be shown in the query options section in the query editor.
|
||||
maxDataPoints?: bool
|
||||
|
||||
// For data source plugins. If the `min interval` option should be
|
||||
// shown in the query options section in the query editor.
|
||||
minInterval?: bool
|
||||
|
||||
// For data source plugins. If the `cache timeout` option should
|
||||
// be shown in the query options section in the query editor.
|
||||
cacheTimeout?: bool
|
||||
}
|
||||
|
||||
// Routes is a list of proxy routes, if any. For datasource plugins only.
|
||||
routes?: [...#Route]
|
||||
|
||||
// For panel plugins. Hides the query editor.
|
||||
skipDataQuery?: bool
|
||||
|
||||
// Marks a plugin as a pre-release.
|
||||
state?: #ReleaseState
|
||||
|
||||
// ReleaseState indicates release maturity state of a plugin.
|
||||
#ReleaseState: "alpha" | "beta" | "deprecated" | *"stable"
|
||||
|
||||
// For data source plugins, if the plugin supports streaming. Used in Explore to start live streaming.
|
||||
streaming?: bool
|
||||
|
||||
// For data source plugins, if the plugin supports tracing. Used for example to link logs (e.g. Loki logs) with tracing plugins.
|
||||
tracing?: bool
|
||||
|
||||
// Optional list of RBAC RoleRegistrations.
|
||||
// Describes and organizes the default permissions associated with any of the Grafana basic roles,
|
||||
// which characterizes what viewers, editors, admins, or grafana admins can do on the plugin.
|
||||
// The Admin basic role inherits its default permissions from the Editor basic role which in turn
|
||||
// inherits them from the Viewer basic role.
|
||||
roles?: [...#RoleRegistration]
|
||||
|
||||
// RoleRegistration describes an RBAC role and its assignments to basic roles.
|
||||
// It organizes related RBAC permissions on the plugin into a role and defines which basic roles
|
||||
// will get them by default.
|
||||
// Example: the role 'Schedules Reader' bundles permissions to view all schedules of the plugin
|
||||
// which will be granted to Admins by default.
|
||||
#RoleRegistration: {
|
||||
// RBAC role definition to bundle related RBAC permissions on the plugin.
|
||||
role: #Role
|
||||
|
||||
// Default assignment of the role to Grafana basic roles (Viewer, Editor, Admin, Grafana Admin)
|
||||
// The Admin basic role inherits its default permissions from the Editor basic role which in turn
|
||||
// inherits them from the Viewer basic role.
|
||||
grants: [...#BasicRole]
|
||||
}
|
||||
|
||||
// Role describes an RBAC role which allows grouping multiple related permissions on the plugin,
|
||||
// each of which has an action and an optional scope.
|
||||
// Example: the role 'Schedules Reader' bundles permissions to view all schedules of the plugin.
|
||||
#Role: {
|
||||
name: string
|
||||
name: =~"^([A-Z][0-9A-Za-z ]+)$"
|
||||
description: string
|
||||
permissions: [...#Permission]
|
||||
}
|
||||
|
||||
// Permission describes an RBAC permission on the plugin. A permission has an action and an optional
|
||||
// scope.
|
||||
// Example: action: 'test-app.schedules:read', scope: 'test-app.schedules:*'
|
||||
#Permission: {
|
||||
action: string
|
||||
scope?: string
|
||||
}
|
||||
|
||||
// BasicRole is a Grafana basic role, which can be 'Viewer', 'Editor', 'Admin' or 'Grafana Admin'.
|
||||
// With RBAC, the Admin basic role inherits its default permissions from the Editor basic role which
|
||||
// in turn inherits them from the Viewer basic role.
|
||||
#BasicRole: "Grafana Admin" | "Admin" | "Editor" | "Viewer"
|
||||
|
||||
// Header describes an HTTP header that is forwarded with a proxied request for
|
||||
// a plugin route.
|
||||
#Header: {
|
||||
name: string
|
||||
content: string
|
||||
}
|
||||
|
||||
// URLParam describes query string parameters for
|
||||
// a url in a plugin route
|
||||
#URLParam: {
|
||||
name: string
|
||||
content: string
|
||||
}
|
||||
|
||||
// A proxy route used in datasource plugins for plugin authentication
|
||||
// and adding headers to HTTP requests made by the plugin.
|
||||
// For more information, refer to [Authentication for data source
|
||||
// plugins](https://grafana.com/docs/grafana/latest/developers/plugins/authentication/).
|
||||
#Route: {
|
||||
// For data source plugins. The route path that is replaced by the
|
||||
// route URL field when proxying the call.
|
||||
path?: string
|
||||
|
||||
// For data source plugins. Route method matches the HTTP verb
|
||||
// like GET or POST. Multiple methods can be provided as a
|
||||
// comma-separated list.
|
||||
method?: string
|
||||
|
||||
// For data source plugins. Route URL is where the request is
|
||||
// proxied to.
|
||||
url?: string
|
||||
|
||||
urlParams?: [...#URLParam]
|
||||
reqSignedIn?: bool
|
||||
reqRole?: string
|
||||
|
||||
// For data source plugins. Route headers adds HTTP headers to the
|
||||
// proxied request.
|
||||
headers?: [...#Header]
|
||||
|
||||
// For data source plugins. Route headers set the body content and
|
||||
// length to the proxied request.
|
||||
body?: {
|
||||
...
|
||||
}
|
||||
|
||||
// For data source plugins. Token authentication section used with
|
||||
// an OAuth API.
|
||||
tokenAuth?: #TokenAuth
|
||||
|
||||
// For data source plugins. Token authentication section used with
|
||||
// an JWT OAuth API.
|
||||
jwtTokenAuth?: #JWTTokenAuth
|
||||
}
|
||||
|
||||
// TODO docs
|
||||
#TokenAuth: {
|
||||
// URL to fetch the authentication token.
|
||||
url?: string
|
||||
|
||||
// The list of scopes that your application should be granted
|
||||
// access to.
|
||||
scopes?: [...string]
|
||||
|
||||
// Parameters for the token authentication request.
|
||||
params: [string]: string
|
||||
}
|
||||
|
||||
// TODO docs
|
||||
// TODO should this really be separate from TokenAuth?
|
||||
#JWTTokenAuth: {
|
||||
// URL to fetch the JWT token.
|
||||
url: string
|
||||
|
||||
// The list of scopes that your application should be granted
|
||||
// access to.
|
||||
scopes: [...string]
|
||||
|
||||
// Parameters for the JWT token authentication request.
|
||||
params: [string]: string
|
||||
}
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
// Unique name of the plugin. If the plugin is published on
|
||||
// grafana.com, then the plugin `id` has to follow the naming
|
||||
// conventions.
|
||||
id: string & strings.MinRunes(1)
|
||||
id: =~"^([0-9a-z]+\\-([0-9a-z]+\\-)?(\(strings.Join([ for t in _types {t}], "|"))))|(alertGroups|alertlist|annolist|barchart|bargauge|candlestick|canvas|dashlist|debug|datagrid|gauge|geomap|gettingstarted|graph|heatmap|histogram|icon|live|logs|news|nodeGraph|piechart|pluginlist|stat|state-timeline|status-history|table|table-old|text|timeseries|trend|traces|welcome|xychart|alertmanager|cloudwatch|dashboard|elasticsearch|grafana|grafana-azure-monitor-datasource|graphite|influxdb|jaeger|loki|mixed|mssql|mysql|opentsdb|postgres|prometheus|stackdriver|tempo|testdata|zipkin|phlare|parca)$"
|
||||
|
||||
// Human-readable name of the plugin that is shown to the user in
|
||||
// the UI.
|
||||
name: string
|
||||
|
||||
// The set of all plugin types. This hidden field exists solely
|
||||
// so that the set can be string-interpolated into other fields.
|
||||
_types: ["app", "datasource", "panel", "renderer", "secretsmanager"]
|
||||
|
||||
// type indicates which type of Grafana plugin this is, of the defined
|
||||
// set of Grafana plugin types.
|
||||
type: or(_types)
|
||||
|
||||
// IncludeType is a string identifier of a plugin include type, which is
|
||||
// a superset of plugin types.
|
||||
#IncludeType: type | "dashboard" | "page"
|
||||
|
||||
// Metadata about the plugin
|
||||
info: #Info
|
||||
|
||||
// Metadata about a Grafana plugin. Some fields are used on the plugins
|
||||
// page in Grafana and others on grafana.com, if the plugin is published.
|
||||
#Info: {
|
||||
// Information about the plugin author
|
||||
author?: {
|
||||
// Author's name
|
||||
name?: string
|
||||
|
||||
// Author's name
|
||||
email?: string
|
||||
|
||||
// Link to author's website
|
||||
url?: string
|
||||
}
|
||||
|
||||
// Build information
|
||||
build?: #BuildInfo
|
||||
|
||||
// Description of plugin. Used on the plugins page in Grafana and
|
||||
// for search on grafana.com.
|
||||
description?: string
|
||||
|
||||
// Array of plugin keywords. Used for search on grafana.com.
|
||||
keywords: [...string]
|
||||
// should be this, but CUE to openapi converter screws this up
|
||||
// by inserting a non-concrete default.
|
||||
// keywords: [string, ...string]
|
||||
|
||||
// An array of link objects to be displayed on this plugin's
|
||||
// project page in the form `{name: 'foo', url:
|
||||
// 'http://example.com'}`
|
||||
links?: [...{
|
||||
name?: string
|
||||
url?: string
|
||||
}]
|
||||
|
||||
// SVG images that are used as plugin icons
|
||||
logos?: {
|
||||
// Link to the "small" version of the plugin logo, which must be
|
||||
// an SVG image. "Large" and "small" logos can be the same image.
|
||||
small: string
|
||||
|
||||
// Link to the "large" version of the plugin logo, which must be
|
||||
// an SVG image. "Large" and "small" logos can be the same image.
|
||||
large: string
|
||||
}
|
||||
|
||||
// An array of screenshot objects in the form `{name: 'bar', path:
|
||||
// 'img/screenshot.png'}`
|
||||
screenshots?: [...{
|
||||
name?: string
|
||||
path?: string
|
||||
}]
|
||||
|
||||
// Date when this plugin was built
|
||||
updated?: =~"^(\\d{4}-\\d{2}-\\d{2}|\\%TODAY\\%)$"
|
||||
|
||||
// Project version of this commit, e.g. `6.7.x`
|
||||
version?: =~"^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)|(\\%VERSION\\%)$"
|
||||
}
|
||||
|
||||
#BuildInfo: {
|
||||
// Time when the plugin was built, as a Unix timestamp
|
||||
time?: int64
|
||||
repo?: string
|
||||
|
||||
// Git branch the plugin was built from
|
||||
branch?: string
|
||||
|
||||
// Git hash of the commit the plugin was built from
|
||||
hash?: string
|
||||
number?: int64
|
||||
|
||||
// GitHub pull request the plugin was built from
|
||||
pr?: int32
|
||||
}
|
||||
|
||||
// Dependency information related to Grafana and other plugins
|
||||
dependencies: #Dependencies
|
||||
|
||||
#Dependencies: {
|
||||
// (Deprecated) Required Grafana version for this plugin, e.g.
|
||||
// `6.x.x 7.x.x` to denote plugin requires Grafana v6.x.x or
|
||||
// v7.x.x.
|
||||
grafanaVersion?: =~"^([0-9]+)(\\.[0-9x]+)?(\\.[0-9x])?$"
|
||||
|
||||
// Required Grafana version for this plugin. Validated using
|
||||
// https://github.com/npm/node-semver.
|
||||
grafanaDependency: =~"^(<=|>=|<|>|=|~|\\^)?([0-9]+)(\\.[0-9x\\*]+)(\\.[0-9x\\*]+)?(\\s(<=|>=|<|=>)?([0-9]+)(\\.[0-9x]+)(\\.[0-9x]+))?$"
|
||||
|
||||
// An array of required plugins on which this plugin depends
|
||||
plugins?: [...#Dependency]
|
||||
}
|
||||
|
||||
// Dependency describes another plugin on which a plugin depends.
|
||||
// The id refers to the plugin package identifier, as given on
|
||||
// the grafana.com plugin marketplace.
|
||||
#Dependency: {
|
||||
id: =~"^[0-9a-z]+\\-([0-9a-z]+\\-)?(app|panel|datasource)$"
|
||||
type: "app" | "datasource" | "panel"
|
||||
name: string
|
||||
version: string
|
||||
...
|
||||
}
|
||||
|
||||
// Schema definition for the plugin.json file. Used primarily for schema validation.
|
||||
$schema?: string
|
||||
|
||||
// For data source plugins, if the plugin supports alerting. Requires `backend` to be set to `true`.
|
||||
alerting?: bool
|
||||
|
||||
// For data source plugins, if the plugin supports annotation
|
||||
// queries.
|
||||
annotations?: bool
|
||||
|
||||
// Set to true for app plugins that should be enabled and pinned to the navigation bar in all orgs.
|
||||
autoEnabled?: bool
|
||||
|
||||
// If the plugin has a backend component.
|
||||
backend?: bool
|
||||
|
||||
// [internal only] Indicates whether the plugin is developed and shipped as part
|
||||
// of Grafana. Also known as a 'core plugin'.
|
||||
builtIn: bool | *false
|
||||
|
||||
// Plugin category used on the Add data source page.
|
||||
category?: "tsdb" | "logging" | "cloud" | "tracing" | "profiling" | "sql" | "enterprise" | "iot" | "other"
|
||||
|
||||
// Grafana Enterprise specific features.
|
||||
enterpriseFeatures?: {
|
||||
// Enable/Disable health diagnostics errors. Requires Grafana
|
||||
// >=7.5.5.
|
||||
healthDiagnosticsErrors?: bool | *false
|
||||
...
|
||||
}
|
||||
|
||||
// The first part of the file name of the backend component
|
||||
// executable. There can be multiple executables built for
|
||||
// different operating system and architecture. Grafana will
|
||||
// check for executables named `<executable>_<$GOOS>_<lower case
|
||||
// $GOARCH><.exe for Windows>`, e.g. `plugin_linux_amd64`.
|
||||
// Combination of $GOOS and $GOARCH can be found here:
|
||||
// https://golang.org/doc/install/source#environment.
|
||||
executable?: string
|
||||
|
||||
// [internal only] Excludes the plugin from listings in Grafana's UI. Only
|
||||
// allowed for `builtIn` plugins.
|
||||
hideFromList: bool | *false
|
||||
|
||||
// Resources to include in plugin.
|
||||
includes?: [...#Include]
|
||||
|
||||
// A resource to be included in a plugin.
|
||||
#Include: {
|
||||
// Unique identifier of the included resource
|
||||
uid?: string
|
||||
type: #IncludeType
|
||||
name?: string
|
||||
|
||||
// (Legacy) The Angular component to use for a page.
|
||||
component?: string
|
||||
|
||||
// The minimum role a user must have to see this page in the navigation menu.
|
||||
role?: "Admin" | "Editor" | "Viewer"
|
||||
|
||||
// RBAC action the user must have to access the route
|
||||
action?: string
|
||||
|
||||
// Used for app plugins.
|
||||
path?: string
|
||||
|
||||
// Add the include to the navigation menu.
|
||||
addToNav?: bool
|
||||
|
||||
// Page or dashboard when user clicks the icon in the side menu.
|
||||
defaultNav?: bool
|
||||
|
||||
// Icon to use in the side menu. For information on available
|
||||
// icon, refer to [Icons
|
||||
// Overview](https://developers.grafana.com/ui/latest/index.html?path=/story/docs-overview-icon--icons-overview).
|
||||
icon?: string
|
||||
...
|
||||
}
|
||||
|
||||
// For data source plugins, if the plugin supports logs. It may be used to filter logs only features.
|
||||
logs?: bool
|
||||
|
||||
// For data source plugins, if the plugin supports metric queries.
|
||||
// Used to enable the plugin in the panel editor.
|
||||
metrics?: bool
|
||||
|
||||
// FIXME there appears to be a bug in thema that prevents this from working. Maybe it'd
|
||||
// help to refer to it with an alias, but thema can't support using current list syntax.
|
||||
// syntax (fixed by grafana/thema#82). Either way, for now, pascalName gets populated in Go.
|
||||
let sani = (strings.ToTitle(regexp.ReplaceAllLiteral("[^a-zA-Z]+", name, "")))
|
||||
|
||||
// [internal only] The PascalCase name for the plugin. Used for creating machine-friendly
|
||||
// identifiers, typically in code generation.
|
||||
//
|
||||
// If not provided, defaults to name, but title-cased and sanitized (only
|
||||
// alphabetical characters allowed).
|
||||
pascalName: string & =~"^([A-Z][a-zA-Z]{1,62})$" | *sani
|
||||
|
||||
// Initialize plugin on startup. By default, the plugin
|
||||
// initializes on first use.
|
||||
preload?: bool
|
||||
|
||||
// For data source plugins. There is a query options section in
|
||||
// the plugin's query editor and these options can be turned on
|
||||
// if needed.
|
||||
queryOptions?: {
|
||||
// For data source plugins. If the `max data points` option should
|
||||
// be shown in the query options section in the query editor.
|
||||
maxDataPoints?: bool
|
||||
|
||||
// For data source plugins. If the `min interval` option should be
|
||||
// shown in the query options section in the query editor.
|
||||
minInterval?: bool
|
||||
|
||||
// For data source plugins. If the `cache timeout` option should
|
||||
// be shown in the query options section in the query editor.
|
||||
cacheTimeout?: bool
|
||||
}
|
||||
|
||||
// Routes is a list of proxy routes, if any. For datasource plugins only.
|
||||
routes?: [...#Route]
|
||||
|
||||
// For panel plugins. Hides the query editor.
|
||||
skipDataQuery?: bool
|
||||
|
||||
// Marks a plugin as a pre-release.
|
||||
state?: #ReleaseState
|
||||
|
||||
// ReleaseState indicates release maturity state of a plugin.
|
||||
#ReleaseState: "alpha" | "beta" | "deprecated" | *"stable"
|
||||
|
||||
// For data source plugins, if the plugin supports streaming. Used in Explore to start live streaming.
|
||||
streaming?: bool
|
||||
|
||||
// For data source plugins, if the plugin supports tracing. Used for example to link logs (e.g. Loki logs) with tracing plugins.
|
||||
tracing?: bool
|
||||
|
||||
// Optional list of RBAC RoleRegistrations.
|
||||
// Describes and organizes the default permissions associated with any of the Grafana basic roles,
|
||||
// which characterizes what viewers, editors, admins, or grafana admins can do on the plugin.
|
||||
// The Admin basic role inherits its default permissions from the Editor basic role which in turn
|
||||
// inherits them from the Viewer basic role.
|
||||
roles?: [...#RoleRegistration]
|
||||
|
||||
// RoleRegistration describes an RBAC role and its assignments to basic roles.
|
||||
// It organizes related RBAC permissions on the plugin into a role and defines which basic roles
|
||||
// will get them by default.
|
||||
// Example: the role 'Schedules Reader' bundles permissions to view all schedules of the plugin
|
||||
// which will be granted to Admins by default.
|
||||
#RoleRegistration: {
|
||||
// RBAC role definition to bundle related RBAC permissions on the plugin.
|
||||
role: #Role
|
||||
|
||||
// Default assignment of the role to Grafana basic roles (Viewer, Editor, Admin, Grafana Admin)
|
||||
// The Admin basic role inherits its default permissions from the Editor basic role which in turn
|
||||
// inherits them from the Viewer basic role.
|
||||
grants: [...#BasicRole]
|
||||
}
|
||||
|
||||
// Role describes an RBAC role which allows grouping multiple related permissions on the plugin,
|
||||
// each of which has an action and an optional scope.
|
||||
// Example: the role 'Schedules Reader' bundles permissions to view all schedules of the plugin.
|
||||
#Role: {
|
||||
name: string
|
||||
name: =~"^([A-Z][0-9A-Za-z ]+)$"
|
||||
description: string
|
||||
permissions: [...#Permission]
|
||||
}
|
||||
|
||||
// Permission describes an RBAC permission on the plugin. A permission has an action and an optional
|
||||
// scope.
|
||||
// Example: action: 'test-app.schedules:read', scope: 'test-app.schedules:*'
|
||||
#Permission: {
|
||||
action: string
|
||||
scope?: string
|
||||
}
|
||||
|
||||
// BasicRole is a Grafana basic role, which can be 'Viewer', 'Editor', 'Admin' or 'Grafana Admin'.
|
||||
// With RBAC, the Admin basic role inherits its default permissions from the Editor basic role which
|
||||
// in turn inherits them from the Viewer basic role.
|
||||
#BasicRole: "Grafana Admin" | "Admin" | "Editor" | "Viewer"
|
||||
|
||||
// Header describes an HTTP header that is forwarded with a proxied request for
|
||||
// a plugin route.
|
||||
#Header: {
|
||||
name: string
|
||||
content: string
|
||||
}
|
||||
|
||||
// URLParam describes query string parameters for
|
||||
// a url in a plugin route
|
||||
#URLParam: {
|
||||
name: string
|
||||
content: string
|
||||
}
|
||||
|
||||
// A proxy route used in datasource plugins for plugin authentication
|
||||
// and adding headers to HTTP requests made by the plugin.
|
||||
// For more information, refer to [Authentication for data source
|
||||
// plugins](https://grafana.com/docs/grafana/latest/developers/plugins/authentication/).
|
||||
#Route: {
|
||||
// For data source plugins. The route path that is replaced by the
|
||||
// route URL field when proxying the call.
|
||||
path?: string
|
||||
|
||||
// For data source plugins. Route method matches the HTTP verb
|
||||
// like GET or POST. Multiple methods can be provided as a
|
||||
// comma-separated list.
|
||||
method?: string
|
||||
|
||||
// For data source plugins. Route URL is where the request is
|
||||
// proxied to.
|
||||
url?: string
|
||||
|
||||
urlParams?: [...#URLParam]
|
||||
reqSignedIn?: bool
|
||||
reqRole?: string
|
||||
|
||||
// For data source plugins. Route headers adds HTTP headers to the
|
||||
// proxied request.
|
||||
headers?: [...#Header]
|
||||
|
||||
// For data source plugins. Route headers set the body content and
|
||||
// length to the proxied request.
|
||||
body?: {
|
||||
...
|
||||
}
|
||||
|
||||
// For data source plugins. Token authentication section used with
|
||||
// an OAuth API.
|
||||
tokenAuth?: #TokenAuth
|
||||
|
||||
// For data source plugins. Token authentication section used with
|
||||
// an JWT OAuth API.
|
||||
jwtTokenAuth?: #JWTTokenAuth
|
||||
}
|
||||
|
||||
// TODO docs
|
||||
#TokenAuth: {
|
||||
// URL to fetch the authentication token.
|
||||
url?: string
|
||||
|
||||
// The list of scopes that your application should be granted
|
||||
// access to.
|
||||
scopes?: [...string]
|
||||
|
||||
// Parameters for the token authentication request.
|
||||
params: [string]: string
|
||||
}
|
||||
|
||||
// TODO docs
|
||||
// TODO should this really be separate from TokenAuth?
|
||||
#JWTTokenAuth: {
|
||||
// URL to fetch the JWT token.
|
||||
url: string
|
||||
|
||||
// The list of scopes that your application should be granted
|
||||
// access to.
|
||||
scopes: [...string]
|
||||
|
||||
// Parameters for the JWT token authentication request.
|
||||
params: [string]: string
|
||||
}
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
|
@ -287,6 +287,9 @@ const (
|
||||
)
|
||||
|
||||
// Shape of a CloudWatch Annotation query
|
||||
//
|
||||
// TS type is CloudWatchDefaultQuery = Omit<CloudWatchLogsQuery, 'queryMode'> & CloudWatchMetricsQuery, declared in veneer
|
||||
// #CloudWatchDefaultQuery: #CloudWatchLogsQuery & #CloudWatchMetricsQuery @cuetsy(kind="type")
|
||||
type CloudWatchAnnotationQuery struct {
|
||||
// The ID of the AWS account to query for the metric, specifying `all` will query all accounts that the monitoring account is permitted to query.
|
||||
AccountId *string `json:"accountId,omitempty"`
|
||||
|
@ -26,216 +26,214 @@ composableKinds: DataQuery: {
|
||||
maturity: "merged"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
#AzureMonitorQuery: common.DataQuery & {
|
||||
// Azure subscription containing the resource(s) to be queried.
|
||||
subscription?: string
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
#AzureMonitorQuery: common.DataQuery & {
|
||||
// Azure subscription containing the resource(s) to be queried.
|
||||
subscription?: string
|
||||
|
||||
// Subscriptions to be queried via Azure Resource Graph.
|
||||
subscriptions?: [...string]
|
||||
// Subscriptions to be queried via Azure Resource Graph.
|
||||
subscriptions?: [...string]
|
||||
|
||||
// Azure Monitor Metrics sub-query properties.
|
||||
azureMonitor?: #AzureMetricQuery
|
||||
// Azure Monitor Logs sub-query properties.
|
||||
azureLogAnalytics?: #AzureLogsQuery
|
||||
// Azure Resource Graph sub-query properties.
|
||||
azureResourceGraph?: #AzureResourceGraphQuery
|
||||
// Application Insights Traces sub-query properties.
|
||||
azureTraces?: #AzureTracesQuery
|
||||
// @deprecated Legacy template variable support.
|
||||
grafanaTemplateVariableFn?: #GrafanaTemplateVariableQuery
|
||||
// Azure Monitor Metrics sub-query properties.
|
||||
azureMonitor?: #AzureMetricQuery
|
||||
// Azure Monitor Logs sub-query properties.
|
||||
azureLogAnalytics?: #AzureLogsQuery
|
||||
// Azure Resource Graph sub-query properties.
|
||||
azureResourceGraph?: #AzureResourceGraphQuery
|
||||
// Application Insights Traces sub-query properties.
|
||||
azureTraces?: #AzureTracesQuery
|
||||
// @deprecated Legacy template variable support.
|
||||
grafanaTemplateVariableFn?: #GrafanaTemplateVariableQuery
|
||||
|
||||
// Template variables params. These exist for backwards compatiblity with legacy template variables.
|
||||
resourceGroup?: string
|
||||
namespace?: string
|
||||
resource?: string
|
||||
region?: string
|
||||
// Azure Monitor query type.
|
||||
// queryType: #AzureQueryType
|
||||
} @cuetsy(kind="interface") @grafana(TSVeneer="type")
|
||||
// Template variables params. These exist for backwards compatiblity with legacy template variables.
|
||||
resourceGroup?: string
|
||||
namespace?: string
|
||||
resource?: string
|
||||
region?: string
|
||||
// Azure Monitor query type.
|
||||
// queryType: #AzureQueryType
|
||||
} @cuetsy(kind="interface") @grafana(TSVeneer="type")
|
||||
|
||||
// Defines the supported queryTypes. GrafanaTemplateVariableFn is deprecated
|
||||
#AzureQueryType: "Azure Monitor" | "Azure Log Analytics" | "Azure Resource Graph" | "Azure Traces" | "Azure Subscriptions" | "Azure Resource Groups" | "Azure Namespaces" | "Azure Resource Names" | "Azure Metric Names" | "Azure Workspaces" | "Azure Regions" | "Grafana Template Variable Function" @cuetsy(kind="enum", memberNames="AzureMonitor|LogAnalytics|AzureResourceGraph|AzureTraces|SubscriptionsQuery|ResourceGroupsQuery|NamespacesQuery|ResourceNamesQuery|MetricNamesQuery|WorkspacesQuery|LocationsQuery|GrafanaTemplateVariableFn")
|
||||
// Defines the supported queryTypes. GrafanaTemplateVariableFn is deprecated
|
||||
#AzureQueryType: "Azure Monitor" | "Azure Log Analytics" | "Azure Resource Graph" | "Azure Traces" | "Azure Subscriptions" | "Azure Resource Groups" | "Azure Namespaces" | "Azure Resource Names" | "Azure Metric Names" | "Azure Workspaces" | "Azure Regions" | "Grafana Template Variable Function" @cuetsy(kind="enum", memberNames="AzureMonitor|LogAnalytics|AzureResourceGraph|AzureTraces|SubscriptionsQuery|ResourceGroupsQuery|NamespacesQuery|ResourceNamesQuery|MetricNamesQuery|WorkspacesQuery|LocationsQuery|GrafanaTemplateVariableFn")
|
||||
|
||||
#AzureMetricQuery: {
|
||||
// Array of resource URIs to be queried.
|
||||
resources?: [...#AzureMonitorResource]
|
||||
// metricNamespace is used as the resource type (or resource namespace).
|
||||
// It's usually equal to the target metric namespace. e.g. microsoft.storage/storageaccounts
|
||||
// Kept the name of the variable as metricNamespace to avoid backward incompatibility issues.
|
||||
metricNamespace?: string
|
||||
// Used as the value for the metricNamespace property when it's different from the resource namespace.
|
||||
customNamespace?: string
|
||||
// The metric to query data for within the specified metricNamespace. e.g. UsedCapacity
|
||||
metricName?: string
|
||||
// The Azure region containing the resource(s).
|
||||
region?: string
|
||||
// The granularity of data points to be queried. Defaults to auto.
|
||||
timeGrain?: string
|
||||
// The aggregation to be used within the query. Defaults to the primaryAggregationType defined by the metric.
|
||||
aggregation?: string
|
||||
// Filters to reduce the set of data returned. Dimensions that can be filtered on are defined by the metric.
|
||||
dimensionFilters?: [...#AzureMetricDimension]
|
||||
// Maximum number of records to return. Defaults to 10.
|
||||
top?: string
|
||||
// Time grains that are supported by the metric.
|
||||
allowedTimeGrainsMs?: [...int64]
|
||||
#AzureMetricQuery: {
|
||||
// Array of resource URIs to be queried.
|
||||
resources?: [...#AzureMonitorResource]
|
||||
// metricNamespace is used as the resource type (or resource namespace).
|
||||
// It's usually equal to the target metric namespace. e.g. microsoft.storage/storageaccounts
|
||||
// Kept the name of the variable as metricNamespace to avoid backward incompatibility issues.
|
||||
metricNamespace?: string
|
||||
// Used as the value for the metricNamespace property when it's different from the resource namespace.
|
||||
customNamespace?: string
|
||||
// The metric to query data for within the specified metricNamespace. e.g. UsedCapacity
|
||||
metricName?: string
|
||||
// The Azure region containing the resource(s).
|
||||
region?: string
|
||||
// The granularity of data points to be queried. Defaults to auto.
|
||||
timeGrain?: string
|
||||
// The aggregation to be used within the query. Defaults to the primaryAggregationType defined by the metric.
|
||||
aggregation?: string
|
||||
// Filters to reduce the set of data returned. Dimensions that can be filtered on are defined by the metric.
|
||||
dimensionFilters?: [...#AzureMetricDimension]
|
||||
// Maximum number of records to return. Defaults to 10.
|
||||
top?: string
|
||||
// Time grains that are supported by the metric.
|
||||
allowedTimeGrainsMs?: [...int64]
|
||||
|
||||
// Aliases can be set to modify the legend labels. e.g. {{ resourceGroup }}. See docs for more detail.
|
||||
alias?: string
|
||||
// Aliases can be set to modify the legend labels. e.g. {{ resourceGroup }}. See docs for more detail.
|
||||
alias?: string
|
||||
|
||||
// @deprecated
|
||||
timeGrainUnit?: string
|
||||
// @deprecated
|
||||
timeGrainUnit?: string
|
||||
|
||||
// @deprecated This property was migrated to dimensionFilters and should only be accessed in the migration
|
||||
dimension?: string
|
||||
// @deprecated This property was migrated to dimensionFilters and should only be accessed in the migration
|
||||
dimension?: string
|
||||
|
||||
// @deprecated This property was migrated to dimensionFilters and should only be accessed in the migration
|
||||
dimensionFilter?: string
|
||||
// @deprecated This property was migrated to dimensionFilters and should only be accessed in the migration
|
||||
dimensionFilter?: string
|
||||
|
||||
// @deprecated Use metricNamespace instead
|
||||
metricDefinition?: string
|
||||
// @deprecated Use metricNamespace instead
|
||||
metricDefinition?: string
|
||||
|
||||
// @deprecated Use resourceGroup, resourceName and metricNamespace instead
|
||||
resourceUri?: string
|
||||
// @deprecated Use resourceGroup, resourceName and metricNamespace instead
|
||||
resourceUri?: string
|
||||
|
||||
// @deprecated Use resources instead
|
||||
resourceGroup?: string
|
||||
// @deprecated Use resources instead
|
||||
resourceName?: string
|
||||
} @cuetsy(kind="interface")
|
||||
// @deprecated Use resources instead
|
||||
resourceGroup?: string
|
||||
// @deprecated Use resources instead
|
||||
resourceName?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
// Azure Monitor Logs sub-query properties
|
||||
#AzureLogsQuery: {
|
||||
// KQL query to be executed.
|
||||
query?: string
|
||||
// Specifies the format results should be returned as.
|
||||
resultFormat?: #ResultFormat
|
||||
// Array of resource URIs to be queried.
|
||||
resources?: [...string]
|
||||
// Workspace ID. This was removed in Grafana 8, but remains for backwards compat
|
||||
workspace?: string
|
||||
// Azure Monitor Logs sub-query properties
|
||||
#AzureLogsQuery: {
|
||||
// KQL query to be executed.
|
||||
query?: string
|
||||
// Specifies the format results should be returned as.
|
||||
resultFormat?: #ResultFormat
|
||||
// Array of resource URIs to be queried.
|
||||
resources?: [...string]
|
||||
// Workspace ID. This was removed in Grafana 8, but remains for backwards compat
|
||||
workspace?: string
|
||||
|
||||
// @deprecated Use resources instead
|
||||
resource?: string
|
||||
} @cuetsy(kind="interface")
|
||||
// @deprecated Use resources instead
|
||||
resource?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
// Application Insights Traces sub-query properties
|
||||
#AzureTracesQuery: {
|
||||
// Specifies the format results should be returned as.
|
||||
resultFormat?: #ResultFormat
|
||||
// Array of resource URIs to be queried.
|
||||
resources?: [...string]
|
||||
// Operation ID. Used only for Traces queries.
|
||||
operationId?: string
|
||||
// Types of events to filter by.
|
||||
traceTypes?: [...string]
|
||||
// Filters for property values.
|
||||
filters?: [...#AzureTracesFilter]
|
||||
// KQL query to be executed.
|
||||
query?: string
|
||||
} @cuetsy(kind="interface")
|
||||
// Application Insights Traces sub-query properties
|
||||
#AzureTracesQuery: {
|
||||
// Specifies the format results should be returned as.
|
||||
resultFormat?: #ResultFormat
|
||||
// Array of resource URIs to be queried.
|
||||
resources?: [...string]
|
||||
// Operation ID. Used only for Traces queries.
|
||||
operationId?: string
|
||||
// Types of events to filter by.
|
||||
traceTypes?: [...string]
|
||||
// Filters for property values.
|
||||
filters?: [...#AzureTracesFilter]
|
||||
// KQL query to be executed.
|
||||
query?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#AzureTracesFilter: {
|
||||
// Property name, auto-populated based on available traces.
|
||||
property: string
|
||||
// Comparison operator to use. Either equals or not equals.
|
||||
operation: string
|
||||
// Values to filter by.
|
||||
filters: [...string]
|
||||
} @cuetsy(kind="interface")
|
||||
#AzureTracesFilter: {
|
||||
// Property name, auto-populated based on available traces.
|
||||
property: string
|
||||
// Comparison operator to use. Either equals or not equals.
|
||||
operation: string
|
||||
// Values to filter by.
|
||||
filters: [...string]
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#ResultFormat: "table" | "time_series" | "trace" @cuetsy(kind="enum", memberNames="Table|TimeSeries|Trace")
|
||||
#ResultFormat: "table" | "time_series" | "trace" @cuetsy(kind="enum", memberNames="Table|TimeSeries|Trace")
|
||||
|
||||
#AzureResourceGraphQuery: {
|
||||
// Azure Resource Graph KQL query to be executed.
|
||||
query?: string
|
||||
// Specifies the format results should be returned as. Defaults to table.
|
||||
resultFormat?: string
|
||||
} @cuetsy(kind="interface")
|
||||
#AzureResourceGraphQuery: {
|
||||
// Azure Resource Graph KQL query to be executed.
|
||||
query?: string
|
||||
// Specifies the format results should be returned as. Defaults to table.
|
||||
resultFormat?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#AzureMonitorResource: {
|
||||
subscription?: string
|
||||
resourceGroup?: string
|
||||
resourceName?: string
|
||||
metricNamespace?: string
|
||||
region?: string
|
||||
} @cuetsy(kind="interface")
|
||||
#AzureMonitorResource: {
|
||||
subscription?: string
|
||||
resourceGroup?: string
|
||||
resourceName?: string
|
||||
metricNamespace?: string
|
||||
region?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#AzureMetricDimension: {
|
||||
// Name of Dimension to be filtered on.
|
||||
dimension?: string
|
||||
// String denoting the filter operation. Supports 'eq' - equals,'ne' - not equals, 'sw' - starts with. Note that some dimensions may not support all operators.
|
||||
operator?: string
|
||||
// Values to match with the filter.
|
||||
filters?: [...string]
|
||||
// @deprecated filter is deprecated in favour of filters to support multiselect.
|
||||
filter?: string
|
||||
} @cuetsy(kind="interface")
|
||||
#AzureMetricDimension: {
|
||||
// Name of Dimension to be filtered on.
|
||||
dimension?: string
|
||||
// String denoting the filter operation. Supports 'eq' - equals,'ne' - not equals, 'sw' - starts with. Note that some dimensions may not support all operators.
|
||||
operator?: string
|
||||
// Values to match with the filter.
|
||||
filters?: [...string]
|
||||
// @deprecated filter is deprecated in favour of filters to support multiselect.
|
||||
filter?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#GrafanaTemplateVariableQueryType: "AppInsightsMetricNameQuery" | "AppInsightsGroupByQuery" | "SubscriptionsQuery" | "ResourceGroupsQuery" | "ResourceNamesQuery" | "MetricNamespaceQuery" | "MetricNamesQuery" | "WorkspacesQuery" | "UnknownQuery" @cuetsy(kind="type")
|
||||
#BaseGrafanaTemplateVariableQuery: {
|
||||
rawQuery?: string
|
||||
...
|
||||
} @cuetsy(kind="interface")
|
||||
#UnknownQuery: #BaseGrafanaTemplateVariableQuery & {
|
||||
kind: "UnknownQuery"
|
||||
} @cuetsy(kind="interface")
|
||||
#AppInsightsMetricNameQuery: #BaseGrafanaTemplateVariableQuery & {
|
||||
kind: "AppInsightsMetricNameQuery"
|
||||
} @cuetsy(kind="interface")
|
||||
#AppInsightsGroupByQuery: #BaseGrafanaTemplateVariableQuery & {
|
||||
kind: "AppInsightsGroupByQuery"
|
||||
metricName: string
|
||||
} @cuetsy(kind="interface")
|
||||
#SubscriptionsQuery: #BaseGrafanaTemplateVariableQuery & {
|
||||
kind: "SubscriptionsQuery"
|
||||
} @cuetsy(kind="interface")
|
||||
#ResourceGroupsQuery: #BaseGrafanaTemplateVariableQuery & {
|
||||
kind: "ResourceGroupsQuery"
|
||||
subscription: string
|
||||
} @cuetsy(kind="interface")
|
||||
#ResourceNamesQuery: #BaseGrafanaTemplateVariableQuery & {
|
||||
kind: "ResourceNamesQuery"
|
||||
subscription: string
|
||||
resourceGroup: string
|
||||
metricNamespace: string
|
||||
} @cuetsy(kind="interface")
|
||||
#MetricNamespaceQuery: #BaseGrafanaTemplateVariableQuery & {
|
||||
kind: "MetricNamespaceQuery"
|
||||
#GrafanaTemplateVariableQueryType: "AppInsightsMetricNameQuery" | "AppInsightsGroupByQuery" | "SubscriptionsQuery" | "ResourceGroupsQuery" | "ResourceNamesQuery" | "MetricNamespaceQuery" | "MetricNamesQuery" | "WorkspacesQuery" | "UnknownQuery" @cuetsy(kind="type")
|
||||
#BaseGrafanaTemplateVariableQuery: {
|
||||
rawQuery?: string
|
||||
...
|
||||
} @cuetsy(kind="interface")
|
||||
#UnknownQuery: #BaseGrafanaTemplateVariableQuery & {
|
||||
kind: "UnknownQuery"
|
||||
} @cuetsy(kind="interface")
|
||||
#AppInsightsMetricNameQuery: #BaseGrafanaTemplateVariableQuery & {
|
||||
kind: "AppInsightsMetricNameQuery"
|
||||
} @cuetsy(kind="interface")
|
||||
#AppInsightsGroupByQuery: #BaseGrafanaTemplateVariableQuery & {
|
||||
kind: "AppInsightsGroupByQuery"
|
||||
metricName: string
|
||||
} @cuetsy(kind="interface")
|
||||
#SubscriptionsQuery: #BaseGrafanaTemplateVariableQuery & {
|
||||
kind: "SubscriptionsQuery"
|
||||
} @cuetsy(kind="interface")
|
||||
#ResourceGroupsQuery: #BaseGrafanaTemplateVariableQuery & {
|
||||
kind: "ResourceGroupsQuery"
|
||||
subscription: string
|
||||
} @cuetsy(kind="interface")
|
||||
#ResourceNamesQuery: #BaseGrafanaTemplateVariableQuery & {
|
||||
kind: "ResourceNamesQuery"
|
||||
subscription: string
|
||||
resourceGroup: string
|
||||
metricNamespace: string
|
||||
} @cuetsy(kind="interface")
|
||||
#MetricNamespaceQuery: #BaseGrafanaTemplateVariableQuery & {
|
||||
kind: "MetricNamespaceQuery"
|
||||
subscription: string
|
||||
resourceGroup: string
|
||||
metricNamespace?: string
|
||||
resourceName?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
// @deprecated Use MetricNamespaceQuery instead
|
||||
#MetricDefinitionsQuery: #BaseGrafanaTemplateVariableQuery & {
|
||||
kind: "MetricDefinitionsQuery"
|
||||
subscription: string
|
||||
resourceGroup: string
|
||||
metricNamespace?: string
|
||||
resourceName?: string
|
||||
} @cuetsy(kind="interface")
|
||||
} @cuetsy(kind="interface")
|
||||
#MetricNamesQuery: #BaseGrafanaTemplateVariableQuery & {
|
||||
kind: "MetricNamesQuery"
|
||||
subscription: string
|
||||
resourceGroup: string
|
||||
resourceName: string
|
||||
metricNamespace: string
|
||||
} @cuetsy(kind="interface")
|
||||
#WorkspacesQuery: #BaseGrafanaTemplateVariableQuery & {
|
||||
kind: "WorkspacesQuery"
|
||||
subscription: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
// @deprecated Use MetricNamespaceQuery instead
|
||||
#MetricDefinitionsQuery: #BaseGrafanaTemplateVariableQuery & {
|
||||
kind: "MetricDefinitionsQuery"
|
||||
subscription: string
|
||||
resourceGroup: string
|
||||
metricNamespace?: string
|
||||
resourceName?: string
|
||||
} @cuetsy(kind="interface")
|
||||
#MetricNamesQuery: #BaseGrafanaTemplateVariableQuery & {
|
||||
kind: "MetricNamesQuery"
|
||||
subscription: string
|
||||
resourceGroup: string
|
||||
resourceName: string
|
||||
metricNamespace: string
|
||||
} @cuetsy(kind="interface")
|
||||
#WorkspacesQuery: #BaseGrafanaTemplateVariableQuery & {
|
||||
kind: "WorkspacesQuery"
|
||||
subscription: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#GrafanaTemplateVariableQuery: #AppInsightsMetricNameQuery | #AppInsightsGroupByQuery | #SubscriptionsQuery | #ResourceGroupsQuery | #ResourceNamesQuery | #MetricNamespaceQuery | #MetricDefinitionsQuery | #MetricNamesQuery | #WorkspacesQuery | #UnknownQuery @cuetsy(kind="type")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
#GrafanaTemplateVariableQuery: #AppInsightsMetricNameQuery | #AppInsightsGroupByQuery | #SubscriptionsQuery | #ResourceGroupsQuery | #ResourceNamesQuery | #MetricNamespaceQuery | #MetricDefinitionsQuery | #MetricNamesQuery | #WorkspacesQuery | #UnknownQuery @cuetsy(kind="type")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -25,173 +25,170 @@ composableKinds: DataQuery: {
|
||||
maturity: "merged"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
#CloudMonitoringQuery: common.DataQuery & {
|
||||
// Aliases can be set to modify the legend labels. e.g. {{metric.label.xxx}}. See docs for more detail.
|
||||
aliasBy?: string
|
||||
// GCM query type.
|
||||
// queryType: #QueryType
|
||||
// Time Series List sub-query properties.
|
||||
timeSeriesList?: #TimeSeriesList | #AnnotationQuery
|
||||
// Time Series sub-query properties.
|
||||
timeSeriesQuery?: #TimeSeriesQuery
|
||||
// SLO sub-query properties.
|
||||
sloQuery?: #SLOQuery
|
||||
// Time interval in milliseconds.
|
||||
intervalMs?: number
|
||||
} @cuetsy(kind="interface")
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
#CloudMonitoringQuery: common.DataQuery & {
|
||||
// Aliases can be set to modify the legend labels. e.g. {{metric.label.xxx}}. See docs for more detail.
|
||||
aliasBy?: string
|
||||
// GCM query type.
|
||||
// queryType: #QueryType
|
||||
// Time Series List sub-query properties.
|
||||
timeSeriesList?: #TimeSeriesList | #AnnotationQuery
|
||||
// Time Series sub-query properties.
|
||||
timeSeriesQuery?: #TimeSeriesQuery
|
||||
// SLO sub-query properties.
|
||||
sloQuery?: #SLOQuery
|
||||
// Time interval in milliseconds.
|
||||
intervalMs?: number
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
// Defines the supported queryTypes.
|
||||
#QueryType: "timeSeriesList" | "timeSeriesQuery" | "slo" | "annotation" @cuetsy(kind="enum", memberNames="TIME_SERIES_LIST|TIME_SERIES_QUERY|SLO|ANNOTATION")
|
||||
// Defines the supported queryTypes.
|
||||
#QueryType: "timeSeriesList" | "timeSeriesQuery" | "slo" | "annotation" @cuetsy(kind="enum", memberNames="TIME_SERIES_LIST|TIME_SERIES_QUERY|SLO|ANNOTATION")
|
||||
|
||||
// Time Series List sub-query properties.
|
||||
#TimeSeriesList: {
|
||||
// GCP project to execute the query against.
|
||||
projectName: string
|
||||
// Reducer applied across a set of time-series values. Defaults to REDUCE_NONE.
|
||||
crossSeriesReducer: string
|
||||
// Alignment period to use when regularizing data. Defaults to cloud-monitoring-auto.
|
||||
alignmentPeriod?: string
|
||||
// Alignment function to be used. Defaults to ALIGN_MEAN.
|
||||
perSeriesAligner?: string
|
||||
// Array of labels to group data by.
|
||||
groupBys?: [...string]
|
||||
// Array of filters to query data by. Labels that can be filtered on are defined by the metric.
|
||||
filters?: [...string]
|
||||
// Data view, defaults to FULL.
|
||||
view?: string
|
||||
// Time Series List sub-query properties.
|
||||
#TimeSeriesList: {
|
||||
// GCP project to execute the query against.
|
||||
projectName: string
|
||||
// Reducer applied across a set of time-series values. Defaults to REDUCE_NONE.
|
||||
crossSeriesReducer: string
|
||||
// Alignment period to use when regularizing data. Defaults to cloud-monitoring-auto.
|
||||
alignmentPeriod?: string
|
||||
// Alignment function to be used. Defaults to ALIGN_MEAN.
|
||||
perSeriesAligner?: string
|
||||
// Array of labels to group data by.
|
||||
groupBys?: [...string]
|
||||
// Array of filters to query data by. Labels that can be filtered on are defined by the metric.
|
||||
filters?: [...string]
|
||||
// Data view, defaults to FULL.
|
||||
view?: string
|
||||
|
||||
// Only present if a preprocessor is selected. Reducer applied across a set of time-series values. Defaults to REDUCE_NONE.
|
||||
secondaryCrossSeriesReducer?: string
|
||||
// Only present if a preprocessor is selected. Alignment period to use when regularizing data. Defaults to cloud-monitoring-auto.
|
||||
secondaryAlignmentPeriod?: string
|
||||
// Only present if a preprocessor is selected. Alignment function to be used. Defaults to ALIGN_MEAN.
|
||||
secondaryPerSeriesAligner?: string
|
||||
// Only present if a preprocessor is selected. Array of labels to group data by.
|
||||
secondaryGroupBys?: [...string]
|
||||
// Only present if a preprocessor is selected. Reducer applied across a set of time-series values. Defaults to REDUCE_NONE.
|
||||
secondaryCrossSeriesReducer?: string
|
||||
// Only present if a preprocessor is selected. Alignment period to use when regularizing data. Defaults to cloud-monitoring-auto.
|
||||
secondaryAlignmentPeriod?: string
|
||||
// Only present if a preprocessor is selected. Alignment function to be used. Defaults to ALIGN_MEAN.
|
||||
secondaryPerSeriesAligner?: string
|
||||
// Only present if a preprocessor is selected. Array of labels to group data by.
|
||||
secondaryGroupBys?: [...string]
|
||||
|
||||
// Preprocessor is not part of the API, but is used to store the preprocessor and not affect the UI for the rest of parameters
|
||||
preprocessor?: #PreprocessorType
|
||||
...
|
||||
} @cuetsy(kind="interface")
|
||||
// Preprocessor is not part of the API, but is used to store the preprocessor and not affect the UI for the rest of parameters
|
||||
preprocessor?: #PreprocessorType
|
||||
...
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
// Types of pre-processor available. Defined by the metric.
|
||||
#PreprocessorType: "none" | "rate" | "delta" @cuetsy(kind="enum")
|
||||
// Types of pre-processor available. Defined by the metric.
|
||||
#PreprocessorType: "none" | "rate" | "delta" @cuetsy(kind="enum")
|
||||
|
||||
// Annotation sub-query properties.
|
||||
#AnnotationQuery: #TimeSeriesList & {
|
||||
// Annotation title.
|
||||
title?: string
|
||||
// Annotation text.
|
||||
text?: string
|
||||
} @cuetsy(kind="interface")
|
||||
// Annotation sub-query properties.
|
||||
#AnnotationQuery: #TimeSeriesList & {
|
||||
// Annotation title.
|
||||
title?: string
|
||||
// Annotation text.
|
||||
text?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
// Time Series sub-query properties.
|
||||
#TimeSeriesQuery: {
|
||||
// GCP project to execute the query against.
|
||||
projectName: string
|
||||
// MQL query to be executed.
|
||||
query: string
|
||||
// To disable the graphPeriod, it should explictly be set to 'disabled'.
|
||||
graphPeriod?: "disabled" | string
|
||||
} @cuetsy(kind="interface")
|
||||
// Time Series sub-query properties.
|
||||
#TimeSeriesQuery: {
|
||||
// GCP project to execute the query against.
|
||||
projectName: string
|
||||
// MQL query to be executed.
|
||||
query: string
|
||||
// To disable the graphPeriod, it should explictly be set to 'disabled'.
|
||||
graphPeriod?: "disabled" | string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
// SLO sub-query properties.
|
||||
#SLOQuery: {
|
||||
// GCP project to execute the query against.
|
||||
projectName: string
|
||||
// Alignment function to be used. Defaults to ALIGN_MEAN.
|
||||
perSeriesAligner?: string
|
||||
// Alignment period to use when regularizing data. Defaults to cloud-monitoring-auto.
|
||||
alignmentPeriod?: string
|
||||
// SLO selector.
|
||||
selectorName: string
|
||||
// ID for the service the SLO is in.
|
||||
serviceId: string
|
||||
// Name for the service the SLO is in.
|
||||
serviceName: string
|
||||
// ID for the SLO.
|
||||
sloId: string
|
||||
// Name of the SLO.
|
||||
sloName: string
|
||||
// SLO goal value.
|
||||
goal?: number
|
||||
// Specific lookback period for the SLO.
|
||||
lookbackPeriod?: string
|
||||
} @cuetsy(kind="interface")
|
||||
// SLO sub-query properties.
|
||||
#SLOQuery: {
|
||||
// GCP project to execute the query against.
|
||||
projectName: string
|
||||
// Alignment function to be used. Defaults to ALIGN_MEAN.
|
||||
perSeriesAligner?: string
|
||||
// Alignment period to use when regularizing data. Defaults to cloud-monitoring-auto.
|
||||
alignmentPeriod?: string
|
||||
// SLO selector.
|
||||
selectorName: string
|
||||
// ID for the service the SLO is in.
|
||||
serviceId: string
|
||||
// Name for the service the SLO is in.
|
||||
serviceName: string
|
||||
// ID for the SLO.
|
||||
sloId: string
|
||||
// Name of the SLO.
|
||||
sloName: string
|
||||
// SLO goal value.
|
||||
goal?: number
|
||||
// Specific lookback period for the SLO.
|
||||
lookbackPeriod?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
// @deprecated This type is for migration purposes only. Replaced by TimeSeriesList Metric sub-query properties.
|
||||
#MetricQuery: {
|
||||
// GCP project to execute the query against.
|
||||
projectName: string
|
||||
// Alignment function to be used. Defaults to ALIGN_MEAN.
|
||||
perSeriesAligner?: string
|
||||
// Alignment period to use when regularizing data. Defaults to cloud-monitoring-auto.
|
||||
alignmentPeriod?: string
|
||||
// Aliases can be set to modify the legend labels. e.g. {{metric.label.xxx}}. See docs for more detail.
|
||||
aliasBy?: string
|
||||
editorMode: string
|
||||
metricType: string
|
||||
// Reducer applied across a set of time-series values. Defaults to REDUCE_NONE.
|
||||
crossSeriesReducer: string
|
||||
// Array of labels to group data by.
|
||||
groupBys?: [...string]
|
||||
// Array of filters to query data by. Labels that can be filtered on are defined by the metric.
|
||||
filters?: [...string]
|
||||
metricKind?: #MetricKind
|
||||
valueType?: string
|
||||
view?: string
|
||||
// MQL query to be executed.
|
||||
query: string
|
||||
// Preprocessor is not part of the API, but is used to store the preprocessor and not affect the UI for the rest of parameters
|
||||
preprocessor?: #PreprocessorType
|
||||
// To disable the graphPeriod, it should explictly be set to 'disabled'.
|
||||
graphPeriod?: "disabled" | string
|
||||
} @cuetsy(kind="interface")
|
||||
// @deprecated This type is for migration purposes only. Replaced by TimeSeriesList Metric sub-query properties.
|
||||
#MetricQuery: {
|
||||
// GCP project to execute the query against.
|
||||
projectName: string
|
||||
// Alignment function to be used. Defaults to ALIGN_MEAN.
|
||||
perSeriesAligner?: string
|
||||
// Alignment period to use when regularizing data. Defaults to cloud-monitoring-auto.
|
||||
alignmentPeriod?: string
|
||||
// Aliases can be set to modify the legend labels. e.g. {{metric.label.xxx}}. See docs for more detail.
|
||||
aliasBy?: string
|
||||
editorMode: string
|
||||
metricType: string
|
||||
// Reducer applied across a set of time-series values. Defaults to REDUCE_NONE.
|
||||
crossSeriesReducer: string
|
||||
// Array of labels to group data by.
|
||||
groupBys?: [...string]
|
||||
// Array of filters to query data by. Labels that can be filtered on are defined by the metric.
|
||||
filters?: [...string]
|
||||
metricKind?: #MetricKind
|
||||
valueType?: string
|
||||
view?: string
|
||||
// MQL query to be executed.
|
||||
query: string
|
||||
// Preprocessor is not part of the API, but is used to store the preprocessor and not affect the UI for the rest of parameters
|
||||
preprocessor?: #PreprocessorType
|
||||
// To disable the graphPeriod, it should explictly be set to 'disabled'.
|
||||
graphPeriod?: "disabled" | string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#MetricKind: "METRIC_KIND_UNSPECIFIED" | "GAUGE" | "DELTA" | "CUMULATIVE" @cuetsy(kind="enum")
|
||||
#MetricKind: "METRIC_KIND_UNSPECIFIED" | "GAUGE" | "DELTA" | "CUMULATIVE" @cuetsy(kind="enum")
|
||||
|
||||
#ValueTypes: "VALUE_TYPE_UNSPECIFIED" | "BOOL" | "INT64" | "DOUBLE" | "STRING" | "DISTRIBUTION" | "MONEY" @cuetsy(kind="enum")
|
||||
#ValueTypes: "VALUE_TYPE_UNSPECIFIED" | "BOOL" | "INT64" | "DOUBLE" | "STRING" | "DISTRIBUTION" | "MONEY" @cuetsy(kind="enum")
|
||||
|
||||
#AlignmentTypes: "ALIGN_DELTA" | "ALIGN_RATE" | "ALIGN_INTERPOLATE" | "ALIGN_NEXT_OLDER" | "ALIGN_MIN" | "ALIGN_MAX" | "ALIGN_MEAN" | "ALIGN_COUNT" | "ALIGN_SUM" | "ALIGN_STDDEV" | "ALIGN_COUNT_TRUE" | "ALIGN_COUNT_FALSE" | "ALIGN_FRACTION_TRUE" | "ALIGN_PERCENTILE_99" | "ALIGN_PERCENTILE_95" | "ALIGN_PERCENTILE_50" | "ALIGN_PERCENTILE_05" | "ALIGN_PERCENT_CHANGE" | "ALIGN_NONE" @cuetsy(kind="enum")
|
||||
#AlignmentTypes: "ALIGN_DELTA" | "ALIGN_RATE" | "ALIGN_INTERPOLATE" | "ALIGN_NEXT_OLDER" | "ALIGN_MIN" | "ALIGN_MAX" | "ALIGN_MEAN" | "ALIGN_COUNT" | "ALIGN_SUM" | "ALIGN_STDDEV" | "ALIGN_COUNT_TRUE" | "ALIGN_COUNT_FALSE" | "ALIGN_FRACTION_TRUE" | "ALIGN_PERCENTILE_99" | "ALIGN_PERCENTILE_95" | "ALIGN_PERCENTILE_50" | "ALIGN_PERCENTILE_05" | "ALIGN_PERCENT_CHANGE" | "ALIGN_NONE" @cuetsy(kind="enum")
|
||||
|
||||
// @deprecated Use AnnotationQuery instead. Legacy annotation query properties for migration purposes.
|
||||
#LegacyCloudMonitoringAnnotationQuery: {
|
||||
// GCP project to execute the query against.
|
||||
projectName: string
|
||||
metricType: string
|
||||
// Query refId.
|
||||
refId: string
|
||||
// Array of filters to query data by. Labels that can be filtered on are defined by the metric.
|
||||
filters: [...string]
|
||||
metricKind: #MetricKind
|
||||
valueType: string
|
||||
// Annotation title.
|
||||
title: string
|
||||
// Annotation text.
|
||||
text: string
|
||||
} @cuetsy(kind="interface")
|
||||
// @deprecated Use AnnotationQuery instead. Legacy annotation query properties for migration purposes.
|
||||
#LegacyCloudMonitoringAnnotationQuery: {
|
||||
// GCP project to execute the query against.
|
||||
projectName: string
|
||||
metricType: string
|
||||
// Query refId.
|
||||
refId: string
|
||||
// Array of filters to query data by. Labels that can be filtered on are defined by the metric.
|
||||
filters: [...string]
|
||||
metricKind: #MetricKind
|
||||
valueType: string
|
||||
// Annotation title.
|
||||
title: string
|
||||
// Annotation text.
|
||||
text: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
// Query filter representation.
|
||||
#Filter: {
|
||||
// Filter key.
|
||||
key: string
|
||||
// Filter operator.
|
||||
operator: string
|
||||
// Filter value.
|
||||
value: string
|
||||
// Filter condition.
|
||||
condition?: string
|
||||
} @cuetsy(kind="interface")
|
||||
// Query filter representation.
|
||||
#Filter: {
|
||||
// Filter key.
|
||||
key: string
|
||||
// Filter operator.
|
||||
operator: string
|
||||
// Filter value.
|
||||
value: string
|
||||
// Filter condition.
|
||||
condition?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#MetricFindQueryTypes: "projects" | "services" | "defaultProject" | "metricTypes" | "labelKeys" | "labelValues" | "resourceTypes" | "aggregations" | "aligners" | "alignmentPeriods" | "selectors" | "sloServices" | "slo" @cuetsy(kind="enum", memberNames="Projects|Services|DefaultProject|MetricTypes|LabelKeys|LabelValues|ResourceTypes|Aggregations|Aligners|AlignmentPeriods|Selectors|SLOServices|SLO")
|
||||
},
|
||||
|
||||
]
|
||||
},
|
||||
]
|
||||
#MetricFindQueryTypes: "projects" | "services" | "defaultProject" | "metricTypes" | "labelKeys" | "labelValues" | "resourceTypes" | "aggregations" | "aligners" | "alignmentPeriods" | "selectors" | "sloServices" | "slo" @cuetsy(kind="enum", memberNames="Projects|Services|DefaultProject|MetricTypes|LabelKeys|LabelValues|ResourceTypes|Aggregations|Aligners|AlignmentPeriods|Selectors|SLOServices|SLO")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -26,189 +26,187 @@ composableKinds: DataQuery: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
#MetricStat: {
|
||||
// AWS region to query for the metric
|
||||
region: string
|
||||
// A namespace is a container for CloudWatch metrics. Metrics in different namespaces are isolated from each other, so that metrics from different applications are not mistakenly aggregated into the same statistics. For example, Amazon EC2 uses the AWS/EC2 namespace.
|
||||
namespace: string
|
||||
// Name of the metric
|
||||
metricName?: string
|
||||
// The dimensions of the metric
|
||||
dimensions?: #Dimensions
|
||||
// Only show metrics that exactly match all defined dimension names.
|
||||
matchExact?: bool
|
||||
// The length of time associated with a specific Amazon CloudWatch statistic. Can be specified by a number of seconds, 'auto', or as a duration string e.g. '15m' being 15 minutes
|
||||
period?: string
|
||||
// The ID of the AWS account to query for the metric, specifying `all` will query all accounts that the monitoring account is permitted to query.
|
||||
accountId?: string
|
||||
// Metric data aggregations over specified periods of time. For detailed definitions of the statistics supported by CloudWatch, see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html.
|
||||
statistic?: string
|
||||
// @deprecated use statistic
|
||||
statistics?: [...string]
|
||||
} @cuetsy(kind="interface")
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
#MetricStat: {
|
||||
// AWS region to query for the metric
|
||||
region: string
|
||||
// A namespace is a container for CloudWatch metrics. Metrics in different namespaces are isolated from each other, so that metrics from different applications are not mistakenly aggregated into the same statistics. For example, Amazon EC2 uses the AWS/EC2 namespace.
|
||||
namespace: string
|
||||
// Name of the metric
|
||||
metricName?: string
|
||||
// The dimensions of the metric
|
||||
dimensions?: #Dimensions
|
||||
// Only show metrics that exactly match all defined dimension names.
|
||||
matchExact?: bool
|
||||
// The length of time associated with a specific Amazon CloudWatch statistic. Can be specified by a number of seconds, 'auto', or as a duration string e.g. '15m' being 15 minutes
|
||||
period?: string
|
||||
// The ID of the AWS account to query for the metric, specifying `all` will query all accounts that the monitoring account is permitted to query.
|
||||
accountId?: string
|
||||
// Metric data aggregations over specified periods of time. For detailed definitions of the statistics supported by CloudWatch, see https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Statistics-definitions.html.
|
||||
statistic?: string
|
||||
// @deprecated use statistic
|
||||
statistics?: [...string]
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
// A name/value pair that is part of the identity of a metric. For example, you can get statistics for a specific EC2 instance by specifying the InstanceId dimension when you search for metrics.
|
||||
#Dimensions: {[string]: string | [...string]} @cuetsy(kind="type")
|
||||
// A name/value pair that is part of the identity of a metric. For example, you can get statistics for a specific EC2 instance by specifying the InstanceId dimension when you search for metrics.
|
||||
#Dimensions: {[string]: string | [...string]} @cuetsy(kind="type")
|
||||
|
||||
// Shape of a CloudWatch Metrics query
|
||||
#CloudWatchMetricsQuery: {
|
||||
common.DataQuery
|
||||
#MetricStat
|
||||
// Shape of a CloudWatch Metrics query
|
||||
#CloudWatchMetricsQuery: {
|
||||
common.DataQuery
|
||||
#MetricStat
|
||||
|
||||
// Whether a query is a Metrics, Logs, or Annotations query
|
||||
queryMode?: #CloudWatchQueryMode
|
||||
// Whether to use a metric search or metric query. Metric query is referred to as "Metrics Insights" in the AWS console.
|
||||
metricQueryType?: #MetricQueryType
|
||||
// Whether to use the query builder or code editor to create the query
|
||||
metricEditorMode?: #MetricEditorMode
|
||||
// ID can be used to reference other queries in math expressions. The ID can include numbers, letters, and underscore, and must start with a lowercase letter.
|
||||
id: string
|
||||
// Deprecated: use label
|
||||
// @deprecated use label
|
||||
alias?: string
|
||||
// Change the time series legend names using dynamic labels. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html for more details.
|
||||
label?: string
|
||||
// Math expression query
|
||||
expression?: string
|
||||
// When the metric query type is `metricQueryType` is set to `Query`, this field is used to specify the query string.
|
||||
sqlExpression?: string
|
||||
// When the metric query type is `metricQueryType` is set to `Query` and the `metricEditorMode` is set to `Builder`, this field is used to build up an object representation of a SQL query.
|
||||
sql?: #SQLExpression
|
||||
} @cuetsy(kind="interface")
|
||||
// Whether a query is a Metrics, Logs, or Annotations query
|
||||
queryMode?: #CloudWatchQueryMode
|
||||
// Whether to use a metric search or metric query. Metric query is referred to as "Metrics Insights" in the AWS console.
|
||||
metricQueryType?: #MetricQueryType
|
||||
// Whether to use the query builder or code editor to create the query
|
||||
metricEditorMode?: #MetricEditorMode
|
||||
// ID can be used to reference other queries in math expressions. The ID can include numbers, letters, and underscore, and must start with a lowercase letter.
|
||||
id: string
|
||||
// Deprecated: use label
|
||||
// @deprecated use label
|
||||
alias?: string
|
||||
// Change the time series legend names using dynamic labels. See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html for more details.
|
||||
label?: string
|
||||
// Math expression query
|
||||
expression?: string
|
||||
// When the metric query type is `metricQueryType` is set to `Query`, this field is used to specify the query string.
|
||||
sqlExpression?: string
|
||||
// When the metric query type is `metricQueryType` is set to `Query` and the `metricEditorMode` is set to `Builder`, this field is used to build up an object representation of a SQL query.
|
||||
sql?: #SQLExpression
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#CloudWatchQueryMode: "Metrics" | "Logs" | "Annotations" @cuetsy(kind="type")
|
||||
#MetricQueryType: 0 | 1 @cuetsy(kind="enum", memberNames="Search|Query")
|
||||
#MetricEditorMode: 0 | 1 @cuetsy(kind="enum", memberNames="Builder|Code")
|
||||
#SQLExpression: {
|
||||
// SELECT part of the SQL expression
|
||||
select?: #QueryEditorFunctionExpression
|
||||
// FROM part of the SQL expression
|
||||
from?: #QueryEditorPropertyExpression | #QueryEditorFunctionExpression
|
||||
// WHERE part of the SQL expression
|
||||
where?: #QueryEditorArrayExpression
|
||||
// GROUP BY part of the SQL expression
|
||||
groupBy?: #QueryEditorArrayExpression
|
||||
// ORDER BY part of the SQL expression
|
||||
orderBy?: #QueryEditorFunctionExpression
|
||||
// The sort order of the SQL expression, `ASC` or `DESC`
|
||||
orderByDirection?: string
|
||||
// LIMIT part of the SQL expression
|
||||
limit?: int64
|
||||
} @cuetsy(kind="interface")
|
||||
#QueryEditorFunctionExpression: {
|
||||
type: #QueryEditorExpressionType & "function"
|
||||
name?: string
|
||||
parameters?: [...#QueryEditorFunctionParameterExpression]
|
||||
} @cuetsy(kind="interface")
|
||||
#CloudWatchQueryMode: "Metrics" | "Logs" | "Annotations" @cuetsy(kind="type")
|
||||
#MetricQueryType: 0 | 1 @cuetsy(kind="enum", memberNames="Search|Query")
|
||||
#MetricEditorMode: 0 | 1 @cuetsy(kind="enum", memberNames="Builder|Code")
|
||||
#SQLExpression: {
|
||||
// SELECT part of the SQL expression
|
||||
select?: #QueryEditorFunctionExpression
|
||||
// FROM part of the SQL expression
|
||||
from?: #QueryEditorPropertyExpression | #QueryEditorFunctionExpression
|
||||
// WHERE part of the SQL expression
|
||||
where?: #QueryEditorArrayExpression
|
||||
// GROUP BY part of the SQL expression
|
||||
groupBy?: #QueryEditorArrayExpression
|
||||
// ORDER BY part of the SQL expression
|
||||
orderBy?: #QueryEditorFunctionExpression
|
||||
// The sort order of the SQL expression, `ASC` or `DESC`
|
||||
orderByDirection?: string
|
||||
// LIMIT part of the SQL expression
|
||||
limit?: int64
|
||||
} @cuetsy(kind="interface")
|
||||
#QueryEditorFunctionExpression: {
|
||||
type: #QueryEditorExpressionType & "function"
|
||||
name?: string
|
||||
parameters?: [...#QueryEditorFunctionParameterExpression]
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#QueryEditorExpressionType: "property" | "operator" | "or" | "and" | "groupBy" | "function" | "functionParameter" @cuetsy(kind="enum")
|
||||
#QueryEditorExpressionType: "property" | "operator" | "or" | "and" | "groupBy" | "function" | "functionParameter" @cuetsy(kind="enum")
|
||||
|
||||
#QueryEditorFunctionParameterExpression: {
|
||||
type: #QueryEditorExpressionType & "functionParameter"
|
||||
name?: string
|
||||
} @cuetsy(kind="interface")
|
||||
#QueryEditorFunctionParameterExpression: {
|
||||
type: #QueryEditorExpressionType & "functionParameter"
|
||||
name?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#QueryEditorPropertyExpression: {
|
||||
type: #QueryEditorExpressionType & "property"
|
||||
property: #QueryEditorProperty
|
||||
} @cuetsy(kind="interface")
|
||||
#QueryEditorPropertyExpression: {
|
||||
type: #QueryEditorExpressionType & "property"
|
||||
property: #QueryEditorProperty
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#QueryEditorGroupByExpression: {
|
||||
type: #QueryEditorExpressionType & "groupBy"
|
||||
property: #QueryEditorProperty
|
||||
} @cuetsy(kind="interface")
|
||||
#QueryEditorGroupByExpression: {
|
||||
type: #QueryEditorExpressionType & "groupBy"
|
||||
property: #QueryEditorProperty
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#QueryEditorOperatorExpression: {
|
||||
type: #QueryEditorExpressionType & "operator"
|
||||
property: #QueryEditorProperty
|
||||
// TS type is operator: QueryEditorOperator<QueryEditorOperatorValueType>, extended in veneer
|
||||
operator: #QueryEditorOperator
|
||||
} @cuetsy(kind="interface")
|
||||
#QueryEditorOperatorExpression: {
|
||||
type: #QueryEditorExpressionType & "operator"
|
||||
property: #QueryEditorProperty
|
||||
// TS type is operator: QueryEditorOperator<QueryEditorOperatorValueType>, extended in veneer
|
||||
operator: #QueryEditorOperator
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
// TS type is QueryEditorOperator<T extends QueryEditorOperatorValueType>, extended in veneer
|
||||
#QueryEditorOperator: {
|
||||
name?: string
|
||||
value?: #QueryEditorOperatorType | [...#QueryEditorOperatorType]
|
||||
} @cuetsy(kind="interface")
|
||||
// TS type is QueryEditorOperator<T extends QueryEditorOperatorValueType>, extended in veneer
|
||||
#QueryEditorOperator: {
|
||||
name?: string
|
||||
value?: #QueryEditorOperatorType | [...#QueryEditorOperatorType]
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#QueryEditorOperatorValueType: #QueryEditorOperatorType | [...#QueryEditorOperatorType] @cuetsy(kind="type")
|
||||
#QueryEditorOperatorType: string | bool | int64 @cuetsy(kind="type")
|
||||
#QueryEditorOperatorValueType: #QueryEditorOperatorType | [...#QueryEditorOperatorType] @cuetsy(kind="type")
|
||||
#QueryEditorOperatorType: string | bool | int64 @cuetsy(kind="type")
|
||||
|
||||
#QueryEditorProperty: {
|
||||
type: #QueryEditorPropertyType
|
||||
name?: string
|
||||
} @cuetsy(kind="interface")
|
||||
#QueryEditorProperty: {
|
||||
type: #QueryEditorPropertyType
|
||||
name?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#QueryEditorPropertyType: "string" @cuetsy(kind="enum")
|
||||
#QueryEditorPropertyType: "string" @cuetsy(kind="enum")
|
||||
|
||||
#QueryEditorArrayExpression: {
|
||||
type: (#QueryEditorExpressionType & "and") | (#QueryEditorExpressionType & "or")
|
||||
expressions: [...#QueryEditorExpression] | [...#QueryEditorArrayExpression]
|
||||
} @cuetsy(kind="interface")
|
||||
#QueryEditorArrayExpression: {
|
||||
type: (#QueryEditorExpressionType & "and") | (#QueryEditorExpressionType & "or")
|
||||
expressions: [...#QueryEditorExpression] | [...#QueryEditorArrayExpression]
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#QueryEditorExpression: #QueryEditorArrayExpression | #QueryEditorPropertyExpression | #QueryEditorGroupByExpression | #QueryEditorFunctionExpression | #QueryEditorFunctionParameterExpression | #QueryEditorOperatorExpression @cuetsy(kind="type")
|
||||
#QueryEditorExpression: #QueryEditorArrayExpression | #QueryEditorPropertyExpression | #QueryEditorGroupByExpression | #QueryEditorFunctionExpression | #QueryEditorFunctionParameterExpression | #QueryEditorOperatorExpression @cuetsy(kind="type")
|
||||
|
||||
// Shape of a CloudWatch Logs query
|
||||
#CloudWatchLogsQuery: {
|
||||
common.DataQuery
|
||||
// Shape of a CloudWatch Logs query
|
||||
#CloudWatchLogsQuery: {
|
||||
common.DataQuery
|
||||
|
||||
// Whether a query is a Metrics, Logs, or Annotations query
|
||||
queryMode: #CloudWatchQueryMode
|
||||
id: string
|
||||
// AWS region to query for the logs
|
||||
region: string
|
||||
// The CloudWatch Logs Insights query to execute
|
||||
expression?: string
|
||||
// Fields to group the results by, this field is automatically populated whenever the query is updated
|
||||
statsGroups?: [...string]
|
||||
// Log groups to query
|
||||
logGroups?: [...#LogGroup]
|
||||
// @deprecated use logGroups
|
||||
logGroupNames?: [...string]
|
||||
} @cuetsy(kind="interface")
|
||||
#LogGroup: {
|
||||
// ARN of the log group
|
||||
arn: string
|
||||
// Name of the log group
|
||||
name: string
|
||||
// AccountId of the log group
|
||||
accountId?: string
|
||||
// Label of the log group
|
||||
accountLabel?: string
|
||||
} @cuetsy(kind="interface")
|
||||
// Whether a query is a Metrics, Logs, or Annotations query
|
||||
queryMode: #CloudWatchQueryMode
|
||||
id: string
|
||||
// AWS region to query for the logs
|
||||
region: string
|
||||
// The CloudWatch Logs Insights query to execute
|
||||
expression?: string
|
||||
// Fields to group the results by, this field is automatically populated whenever the query is updated
|
||||
statsGroups?: [...string]
|
||||
// Log groups to query
|
||||
logGroups?: [...#LogGroup]
|
||||
// @deprecated use logGroups
|
||||
logGroupNames?: [...string]
|
||||
} @cuetsy(kind="interface")
|
||||
#LogGroup: {
|
||||
// ARN of the log group
|
||||
arn: string
|
||||
// Name of the log group
|
||||
name: string
|
||||
// AccountId of the log group
|
||||
accountId?: string
|
||||
// Label of the log group
|
||||
accountLabel?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#CloudWatchQueryMode: "Metrics" | "Logs" | "Annotations" @cuetsy(kind="type")
|
||||
#CloudWatchQueryMode: "Metrics" | "Logs" | "Annotations" @cuetsy(kind="type")
|
||||
|
||||
// Shape of a CloudWatch Annotation query
|
||||
#CloudWatchAnnotationQuery: {
|
||||
common.DataQuery
|
||||
#MetricStat
|
||||
// Shape of a CloudWatch Annotation query
|
||||
#CloudWatchAnnotationQuery: {
|
||||
common.DataQuery
|
||||
#MetricStat
|
||||
|
||||
// Whether a query is a Metrics, Logs, or Annotations query
|
||||
queryMode: #CloudWatchQueryMode
|
||||
// Enable matching on the prefix of the action name or alarm name, specify the prefixes with actionPrefix and/or alarmNamePrefix
|
||||
prefixMatching?: bool
|
||||
// Use this parameter to filter the results of the operation to only those alarms
|
||||
// that use a certain alarm action. For example, you could specify the ARN of
|
||||
// an SNS topic to find all alarms that send notifications to that topic.
|
||||
// e.g. `arn:aws:sns:us-east-1:123456789012:my-app-` would match `arn:aws:sns:us-east-1:123456789012:my-app-action`
|
||||
// but not match `arn:aws:sns:us-east-1:123456789012:your-app-action`
|
||||
actionPrefix?: string
|
||||
// An alarm name prefix. If you specify this parameter, you receive information
|
||||
// about all alarms that have names that start with this prefix.
|
||||
// e.g. `my-team-service-` would match `my-team-service-high-cpu` but not match `your-team-service-high-cpu`
|
||||
alarmNamePrefix?: string
|
||||
} @cuetsy(kind="interface")
|
||||
// Whether a query is a Metrics, Logs, or Annotations query
|
||||
queryMode: #CloudWatchQueryMode
|
||||
// Enable matching on the prefix of the action name or alarm name, specify the prefixes with actionPrefix and/or alarmNamePrefix
|
||||
prefixMatching?: bool
|
||||
// Use this parameter to filter the results of the operation to only those alarms
|
||||
// that use a certain alarm action. For example, you could specify the ARN of
|
||||
// an SNS topic to find all alarms that send notifications to that topic.
|
||||
// e.g. `arn:aws:sns:us-east-1:123456789012:my-app-` would match `arn:aws:sns:us-east-1:123456789012:my-app-action`
|
||||
// but not match `arn:aws:sns:us-east-1:123456789012:your-app-action`
|
||||
actionPrefix?: string
|
||||
// An alarm name prefix. If you specify this parameter, you receive information
|
||||
// about all alarms that have names that start with this prefix.
|
||||
// e.g. `my-team-service-` would match `my-team-service-high-cpu` but not match `your-team-service-high-cpu`
|
||||
alarmNamePrefix?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
// TS type is CloudWatchDefaultQuery = Omit<CloudWatchLogsQuery, 'queryMode'> & CloudWatchMetricsQuery, declared in veneer
|
||||
// #CloudWatchDefaultQuery: #CloudWatchLogsQuery & #CloudWatchMetricsQuery @cuetsy(kind="type")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
// TS type is CloudWatchDefaultQuery = Omit<CloudWatchLogsQuery, 'queryMode'> & CloudWatchMetricsQuery, declared in veneer
|
||||
// #CloudWatchDefaultQuery: #CloudWatchLogsQuery & #CloudWatchMetricsQuery @cuetsy(kind="type")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -277,6 +277,10 @@ export interface LogGroup {
|
||||
/**
|
||||
* Shape of a CloudWatch Annotation query
|
||||
*/
|
||||
/**
|
||||
* TS type is CloudWatchDefaultQuery = Omit<CloudWatchLogsQuery, 'queryMode'> & CloudWatchMetricsQuery, declared in veneer
|
||||
* #CloudWatchDefaultQuery: #CloudWatchLogsQuery & #CloudWatchMetricsQuery @cuetsy(kind="type")
|
||||
*/
|
||||
export interface CloudWatchAnnotationQuery extends common.DataQuery, MetricStat {
|
||||
/**
|
||||
* Use this parameter to filter the results of the operation to only those alarms
|
||||
|
@ -26,406 +26,384 @@ composableKinds: DataQuery: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
common.DataQuery
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
common.DataQuery
|
||||
|
||||
// Alias pattern
|
||||
alias?: string
|
||||
// Lucene query
|
||||
query?: string
|
||||
// Name of time field
|
||||
timeField?: string
|
||||
// List of bucket aggregations
|
||||
bucketAggs?: [...#BucketAggregation]
|
||||
// List of metric aggregations
|
||||
metrics?: [...#MetricAggregation]
|
||||
// Alias pattern
|
||||
alias?: string
|
||||
// Lucene query
|
||||
query?: string
|
||||
// Name of time field
|
||||
timeField?: string
|
||||
// List of bucket aggregations
|
||||
bucketAggs?: [...#BucketAggregation]
|
||||
// List of metric aggregations
|
||||
metrics?: [...#MetricAggregation]
|
||||
|
||||
#BucketAggregation: #DateHistogram | #Histogram | #Terms | #Filters | #GeoHashGrid | #Nested @cuetsy(kind="type")
|
||||
#MetricAggregation: #Count | #PipelineMetricAggregation | #MetricAggregationWithSettings @cuetsy(kind="type")
|
||||
#BucketAggregation: #DateHistogram | #Histogram | #Terms | #Filters | #GeoHashGrid | #Nested @cuetsy(kind="type")
|
||||
#MetricAggregation: #Count | #PipelineMetricAggregation | #MetricAggregationWithSettings @cuetsy(kind="type")
|
||||
|
||||
#BucketAggregationType: "terms" | "filters" | "geohash_grid" | "date_histogram" | "histogram" | "nested" @cuetsy(kind="type")
|
||||
#BucketAggregationType: "terms" | "filters" | "geohash_grid" | "date_histogram" | "histogram" | "nested" @cuetsy(kind="type")
|
||||
|
||||
#BaseBucketAggregation: {
|
||||
id: string
|
||||
type: #BucketAggregationType
|
||||
settings?: _
|
||||
} @cuetsy(kind="interface")
|
||||
#BaseBucketAggregation: {
|
||||
id: string
|
||||
type: #BucketAggregationType
|
||||
settings?: _
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#BucketAggregationWithField: {
|
||||
#BaseBucketAggregation
|
||||
field?: string
|
||||
} @cuetsy(kind="interface")
|
||||
#BucketAggregationWithField: {
|
||||
#BaseBucketAggregation
|
||||
field?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#DateHistogram: {
|
||||
#BucketAggregationWithField
|
||||
type: #BucketAggregationType & "date_histogram"
|
||||
settings?: #DateHistogramSettings
|
||||
} @cuetsy(kind="interface")
|
||||
#DateHistogram: {
|
||||
#BucketAggregationWithField
|
||||
type: #BucketAggregationType & "date_histogram"
|
||||
settings?: #DateHistogramSettings
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#DateHistogramSettings: {
|
||||
interval?: string
|
||||
min_doc_count?: string
|
||||
trimEdges?: string
|
||||
offset?: string
|
||||
timeZone?: string
|
||||
} @cuetsy(kind="interface")
|
||||
#DateHistogramSettings: {
|
||||
interval?: string
|
||||
min_doc_count?: string
|
||||
trimEdges?: string
|
||||
offset?: string
|
||||
timeZone?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#Histogram: {
|
||||
#BucketAggregationWithField
|
||||
type: #BucketAggregationType & "histogram"
|
||||
settings?: #HistogramSettings
|
||||
} @cuetsy(kind="interface")
|
||||
#Histogram: {
|
||||
#BucketAggregationWithField
|
||||
type: #BucketAggregationType & "histogram"
|
||||
settings?: #HistogramSettings
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#HistogramSettings: {
|
||||
interval?: string
|
||||
min_doc_count?: string
|
||||
} @cuetsy(kind="interface")
|
||||
#HistogramSettings: {
|
||||
interval?: string
|
||||
min_doc_count?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#TermsOrder: "desc" | "asc" @cuetsy(kind="type")
|
||||
#TermsOrder: "desc" | "asc" @cuetsy(kind="type")
|
||||
|
||||
#Nested: {
|
||||
#BucketAggregationWithField
|
||||
type: #BucketAggregationType & "nested"
|
||||
settings?: {}
|
||||
} @cuetsy(kind="interface")
|
||||
#Nested: {
|
||||
#BucketAggregationWithField
|
||||
type: #BucketAggregationType & "nested"
|
||||
settings?: {}
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#Terms: {
|
||||
#BucketAggregationWithField
|
||||
type: #BucketAggregationType & "terms"
|
||||
settings?: #TermsSettings
|
||||
} @cuetsy(kind="interface")
|
||||
#Terms: {
|
||||
#BucketAggregationWithField
|
||||
type: #BucketAggregationType & "terms"
|
||||
settings?: #TermsSettings
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#TermsSettings: {
|
||||
order?: #TermsOrder
|
||||
size?: string
|
||||
min_doc_count?: string
|
||||
orderBy?: string
|
||||
missing?: string
|
||||
} @cuetsy(kind="interface")
|
||||
#TermsSettings: {
|
||||
order?: #TermsOrder
|
||||
size?: string
|
||||
min_doc_count?: string
|
||||
orderBy?: string
|
||||
missing?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#Filters: {
|
||||
#BaseBucketAggregation
|
||||
type: #BucketAggregationType & "filters"
|
||||
settings?: #FiltersSettings
|
||||
} @cuetsy(kind="interface")
|
||||
#Filters: {
|
||||
#BaseBucketAggregation
|
||||
type: #BucketAggregationType & "filters"
|
||||
settings?: #FiltersSettings
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#Filter: {
|
||||
query: string
|
||||
label: string
|
||||
} @cuetsy(kind="type")
|
||||
#Filter: {
|
||||
query: string
|
||||
label: string
|
||||
} @cuetsy(kind="type")
|
||||
|
||||
#FiltersSettings: {
|
||||
filters?: [...#Filter]
|
||||
} @cuetsy(kind="interface")
|
||||
#FiltersSettings: {
|
||||
filters?: [...#Filter]
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#GeoHashGrid: {
|
||||
#BucketAggregationWithField
|
||||
type: #BucketAggregationType & "geohash_grid"
|
||||
settings?: #GeoHashGridSettings
|
||||
} @cuetsy(kind="interface")
|
||||
#GeoHashGrid: {
|
||||
#BucketAggregationWithField
|
||||
type: #BucketAggregationType & "geohash_grid"
|
||||
settings?: #GeoHashGridSettings
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#GeoHashGridSettings: {
|
||||
precision?: string
|
||||
} @cuetsy(kind="interface")
|
||||
#GeoHashGridSettings: {
|
||||
precision?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#PipelineMetricAggregationType: "moving_avg" | "moving_fn" | "derivative" | "serial_diff" | "cumulative_sum" | "bucket_script" @cuetsy(kind="type")
|
||||
#MetricAggregationType: "count" | "avg" | "sum" | "min" | "max" | "extended_stats" | "percentiles" | "cardinality" | "raw_document" | "raw_data" | "logs" | "rate" | "top_metrics" | #PipelineMetricAggregationType @cuetsy(kind="type")
|
||||
#PipelineMetricAggregationType: "moving_avg" | "moving_fn" | "derivative" | "serial_diff" | "cumulative_sum" | "bucket_script" @cuetsy(kind="type")
|
||||
#MetricAggregationType: "count" | "avg" | "sum" | "min" | "max" | "extended_stats" | "percentiles" | "cardinality" | "raw_document" | "raw_data" | "logs" | "rate" | "top_metrics" | #PipelineMetricAggregationType @cuetsy(kind="type")
|
||||
|
||||
#BaseMetricAggregation: {
|
||||
type: #MetricAggregationType
|
||||
id: string
|
||||
hide?: bool
|
||||
} @cuetsy(kind="interface")
|
||||
#BaseMetricAggregation: {
|
||||
type: #MetricAggregationType
|
||||
id: string
|
||||
hide?: bool
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#PipelineVariable: {
|
||||
name: string
|
||||
pipelineAgg: string
|
||||
} @cuetsy(kind="interface")
|
||||
#PipelineVariable: {
|
||||
name: string
|
||||
pipelineAgg: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#MetricAggregationWithField: {
|
||||
#BaseMetricAggregation
|
||||
field?: string
|
||||
} @cuetsy(kind="interface")
|
||||
#MetricAggregationWithField: {
|
||||
#BaseMetricAggregation
|
||||
field?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#MetricAggregationWithMissingSupport: {
|
||||
#BaseMetricAggregation
|
||||
settings?: {
|
||||
missing?: string
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
#MetricAggregationWithMissingSupport: {
|
||||
#BaseMetricAggregation
|
||||
settings?: missing?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#InlineScript: string | {inline?: string} @cuetsy(kind="type")
|
||||
#InlineScript: string | {inline?: string} @cuetsy(kind="type")
|
||||
|
||||
#MetricAggregationWithInlineScript: {
|
||||
#BaseMetricAggregation
|
||||
settings?: {
|
||||
script?: #InlineScript
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
#MetricAggregationWithInlineScript: {
|
||||
#BaseMetricAggregation
|
||||
settings?: script?: #InlineScript
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#Count: {
|
||||
#BaseMetricAggregation
|
||||
type: #MetricAggregationType & "count"
|
||||
} @cuetsy(kind="interface")
|
||||
#Count: {
|
||||
#BaseMetricAggregation
|
||||
type: #MetricAggregationType & "count"
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#Average: {
|
||||
#MetricAggregationWithField
|
||||
#MetricAggregationWithMissingSupport
|
||||
#MetricAggregationWithInlineScript
|
||||
type: #MetricAggregationType & "avg"
|
||||
settings?: {
|
||||
script?: #InlineScript
|
||||
missing?: string
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
#Average: {
|
||||
#MetricAggregationWithField
|
||||
#MetricAggregationWithMissingSupport
|
||||
#MetricAggregationWithInlineScript
|
||||
type: #MetricAggregationType & "avg"
|
||||
settings?: {
|
||||
script?: #InlineScript
|
||||
missing?: string
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#Sum: {
|
||||
#MetricAggregationWithField
|
||||
#MetricAggregationWithInlineScript
|
||||
type: #MetricAggregationType & "sum"
|
||||
settings?: {
|
||||
script?: #InlineScript
|
||||
missing?: string
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
#Sum: {
|
||||
#MetricAggregationWithField
|
||||
#MetricAggregationWithInlineScript
|
||||
type: #MetricAggregationType & "sum"
|
||||
settings?: {
|
||||
script?: #InlineScript
|
||||
missing?: string
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#Max: {
|
||||
#MetricAggregationWithField
|
||||
#MetricAggregationWithInlineScript
|
||||
type: #MetricAggregationType & "max"
|
||||
settings?: {
|
||||
script?: #InlineScript
|
||||
missing?: string
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
#Max: {
|
||||
#MetricAggregationWithField
|
||||
#MetricAggregationWithInlineScript
|
||||
type: #MetricAggregationType & "max"
|
||||
settings?: {
|
||||
script?: #InlineScript
|
||||
missing?: string
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#Min: {
|
||||
#MetricAggregationWithField
|
||||
#MetricAggregationWithInlineScript
|
||||
type: #MetricAggregationType & "min"
|
||||
settings?: {
|
||||
script?: #InlineScript
|
||||
missing?: string
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
#Min: {
|
||||
#MetricAggregationWithField
|
||||
#MetricAggregationWithInlineScript
|
||||
type: #MetricAggregationType & "min"
|
||||
settings?: {
|
||||
script?: #InlineScript
|
||||
missing?: string
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#ExtendedStatMetaType: "avg" | "min" | "max" | "sum" | "count" | "std_deviation" | "std_deviation_bounds_upper" | "std_deviation_bounds_lower" @cuetsy(kind="type")
|
||||
#ExtendedStatMetaType: "avg" | "min" | "max" | "sum" | "count" | "std_deviation" | "std_deviation_bounds_upper" | "std_deviation_bounds_lower" @cuetsy(kind="type")
|
||||
|
||||
#ExtendedStat: {
|
||||
label: string
|
||||
value: #ExtendedStatMetaType
|
||||
} @cuetsy(kind="interface")
|
||||
#ExtendedStat: {
|
||||
label: string
|
||||
value: #ExtendedStatMetaType
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#ExtendedStats: {
|
||||
#MetricAggregationWithField
|
||||
#MetricAggregationWithInlineScript
|
||||
type: #MetricAggregationType & "extended_stats"
|
||||
settings?: {
|
||||
script?: #InlineScript
|
||||
missing?: string
|
||||
sigma?: string
|
||||
}
|
||||
meta?: [#ExtendedStatMetaType]: bool
|
||||
} @cuetsy(kind="interface")
|
||||
#ExtendedStats: {
|
||||
#MetricAggregationWithField
|
||||
#MetricAggregationWithInlineScript
|
||||
type: #MetricAggregationType & "extended_stats"
|
||||
settings?: {
|
||||
script?: #InlineScript
|
||||
missing?: string
|
||||
sigma?: string
|
||||
}
|
||||
meta?: [#ExtendedStatMetaType]: bool
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#Percentiles: {
|
||||
#MetricAggregationWithField
|
||||
#MetricAggregationWithInlineScript
|
||||
type: #MetricAggregationType & "percentiles"
|
||||
settings?: {
|
||||
script?: #InlineScript
|
||||
missing?: string
|
||||
percents?: [...string]
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
#Percentiles: {
|
||||
#MetricAggregationWithField
|
||||
#MetricAggregationWithInlineScript
|
||||
type: #MetricAggregationType & "percentiles"
|
||||
settings?: {
|
||||
script?: #InlineScript
|
||||
missing?: string
|
||||
percents?: [...string]
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#UniqueCount: {
|
||||
#MetricAggregationWithField
|
||||
type: #MetricAggregationType & "cardinality"
|
||||
settings?: {
|
||||
precision_threshold?: string
|
||||
missing?: string
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
#UniqueCount: {
|
||||
#MetricAggregationWithField
|
||||
type: #MetricAggregationType & "cardinality"
|
||||
settings?: {
|
||||
precision_threshold?: string
|
||||
missing?: string
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#RawDocument: {
|
||||
#BaseMetricAggregation
|
||||
type: #MetricAggregationType & "raw_document"
|
||||
settings?: {
|
||||
size?: string
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
#RawDocument: {
|
||||
#BaseMetricAggregation
|
||||
type: #MetricAggregationType & "raw_document"
|
||||
settings?: size?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#RawData: {
|
||||
#BaseMetricAggregation
|
||||
type: #MetricAggregationType & "raw_data"
|
||||
settings?: {
|
||||
size?: string
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
#RawData: {
|
||||
#BaseMetricAggregation
|
||||
type: #MetricAggregationType & "raw_data"
|
||||
settings?: size?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#Logs: {
|
||||
#BaseMetricAggregation
|
||||
type: #MetricAggregationType & "logs"
|
||||
settings?: {
|
||||
limit?: string
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
#Logs: {
|
||||
#BaseMetricAggregation
|
||||
type: #MetricAggregationType & "logs"
|
||||
settings?: limit?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#Rate: {
|
||||
#MetricAggregationWithField
|
||||
type: #MetricAggregationType & "rate"
|
||||
settings?: {
|
||||
unit?: string
|
||||
mode?: string
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
#Rate: {
|
||||
#MetricAggregationWithField
|
||||
type: #MetricAggregationType & "rate"
|
||||
settings?: {
|
||||
unit?: string
|
||||
mode?: string
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#BasePipelineMetricAggregation: {
|
||||
#MetricAggregationWithField
|
||||
pipelineAgg?: string
|
||||
type: #PipelineMetricAggregationType
|
||||
} @cuetsy(kind="interface")
|
||||
#BasePipelineMetricAggregation: {
|
||||
#MetricAggregationWithField
|
||||
pipelineAgg?: string
|
||||
type: #PipelineMetricAggregationType
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#PipelineMetricAggregationWithMultipleBucketPaths: {
|
||||
#BaseMetricAggregation
|
||||
pipelineVariables?: [...#PipelineVariable]
|
||||
} @cuetsy(kind="interface")
|
||||
#PipelineMetricAggregationWithMultipleBucketPaths: {
|
||||
#BaseMetricAggregation
|
||||
pipelineVariables?: [...#PipelineVariable]
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#MovingAverageModel: "simple" | "linear" | "ewma" | "holt" | "holt_winters" @cuetsy(kind="type")
|
||||
#MovingAverageModel: "simple" | "linear" | "ewma" | "holt" | "holt_winters" @cuetsy(kind="type")
|
||||
|
||||
#MovingAverageModelOption: {
|
||||
label: string
|
||||
value: #MovingAverageModel
|
||||
} @cuetsy(kind="interface")
|
||||
#MovingAverageModelOption: {
|
||||
label: string
|
||||
value: #MovingAverageModel
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#BaseMovingAverageModelSettings: {
|
||||
model: #MovingAverageModel
|
||||
window: string
|
||||
predict: string
|
||||
} @cuetsy(kind="interface")
|
||||
#BaseMovingAverageModelSettings: {
|
||||
model: #MovingAverageModel
|
||||
window: string
|
||||
predict: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#MovingAverageSimpleModelSettings: {
|
||||
#BaseMovingAverageModelSettings
|
||||
model: #MovingAverageModel & "simple"
|
||||
} @cuetsy(kind="interface")
|
||||
#MovingAverageSimpleModelSettings: {
|
||||
#BaseMovingAverageModelSettings
|
||||
model: #MovingAverageModel & "simple"
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#MovingAverageLinearModelSettings: {
|
||||
#BaseMovingAverageModelSettings
|
||||
model: #MovingAverageModel & "linear"
|
||||
} @cuetsy(kind="interface")
|
||||
#MovingAverageLinearModelSettings: {
|
||||
#BaseMovingAverageModelSettings
|
||||
model: #MovingAverageModel & "linear"
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#MovingAverageEWMAModelSettings: {
|
||||
#BaseMovingAverageModelSettings
|
||||
model: #MovingAverageModel & "ewma"
|
||||
settings?: {
|
||||
alpha?: string
|
||||
}
|
||||
minimize: bool
|
||||
} @cuetsy(kind="interface")
|
||||
#MovingAverageEWMAModelSettings: {
|
||||
#BaseMovingAverageModelSettings
|
||||
model: #MovingAverageModel & "ewma"
|
||||
settings?: alpha?: string
|
||||
minimize: bool
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#MovingAverageHoltModelSettings: {
|
||||
#BaseMovingAverageModelSettings
|
||||
model: #MovingAverageModel & "holt"
|
||||
settings: {
|
||||
alpha?: string
|
||||
beta?: string
|
||||
}
|
||||
minimize: bool
|
||||
} @cuetsy(kind="interface")
|
||||
#MovingAverageHoltModelSettings: {
|
||||
#BaseMovingAverageModelSettings
|
||||
model: #MovingAverageModel & "holt"
|
||||
settings: {
|
||||
alpha?: string
|
||||
beta?: string
|
||||
}
|
||||
minimize: bool
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#MovingAverageHoltWintersModelSettings: {
|
||||
#BaseMovingAverageModelSettings
|
||||
model: #MovingAverageModel & "holt_winters"
|
||||
settings: {
|
||||
alpha?: string
|
||||
beta?: string
|
||||
gamma?: string
|
||||
period?: string
|
||||
pad?: bool
|
||||
}
|
||||
minimize: bool
|
||||
} @cuetsy(kind="interface")
|
||||
#MovingAverageHoltWintersModelSettings: {
|
||||
#BaseMovingAverageModelSettings
|
||||
model: #MovingAverageModel & "holt_winters"
|
||||
settings: {
|
||||
alpha?: string
|
||||
beta?: string
|
||||
gamma?: string
|
||||
period?: string
|
||||
pad?: bool
|
||||
}
|
||||
minimize: bool
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
// #MovingAverageModelSettings Not sure how to do this one:
|
||||
// export type MovingAverageModelSettings<T extends MovingAverageModel = MovingAverageModel> = Partial<
|
||||
// Extract<
|
||||
// | MovingAverageSimpleModelSettings
|
||||
// | MovingAverageLinearModelSettings
|
||||
// | MovingAverageEWMAModelSettings
|
||||
// | MovingAverageHoltModelSettings
|
||||
// | MovingAverageHoltWintersModelSettings,
|
||||
// { model: T }
|
||||
// >
|
||||
// >;
|
||||
// #MovingAverageModelSettings Not sure how to do this one:
|
||||
// export type MovingAverageModelSettings<T extends MovingAverageModel = MovingAverageModel> = Partial<
|
||||
// Extract<
|
||||
// | MovingAverageSimpleModelSettings
|
||||
// | MovingAverageLinearModelSettings
|
||||
// | MovingAverageEWMAModelSettings
|
||||
// | MovingAverageHoltModelSettings
|
||||
// | MovingAverageHoltWintersModelSettings,
|
||||
// { model: T }
|
||||
// >
|
||||
// >;
|
||||
|
||||
// #MovingAverage's settings are overridden in types.ts
|
||||
#MovingAverage: {
|
||||
#BasePipelineMetricAggregation
|
||||
type: #PipelineMetricAggregationType & "moving_avg"
|
||||
settings?: {...}
|
||||
} @cuetsy(kind="interface")
|
||||
// #MovingAverage's settings are overridden in types.ts
|
||||
#MovingAverage: {
|
||||
#BasePipelineMetricAggregation
|
||||
type: #PipelineMetricAggregationType & "moving_avg"
|
||||
settings?: {...}
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#MovingFunction: {
|
||||
#BasePipelineMetricAggregation
|
||||
type: #PipelineMetricAggregationType & "moving_fn"
|
||||
settings?: {
|
||||
window?: string
|
||||
script?: #InlineScript
|
||||
shift?: string
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
#MovingFunction: {
|
||||
#BasePipelineMetricAggregation
|
||||
type: #PipelineMetricAggregationType & "moving_fn"
|
||||
settings?: {
|
||||
window?: string
|
||||
script?: #InlineScript
|
||||
shift?: string
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#Derivative: {
|
||||
#BasePipelineMetricAggregation
|
||||
type: #PipelineMetricAggregationType & "derivative"
|
||||
settings?: {
|
||||
unit?: string
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
#Derivative: {
|
||||
#BasePipelineMetricAggregation
|
||||
type: #PipelineMetricAggregationType & "derivative"
|
||||
settings?: unit?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#SerialDiff: {
|
||||
#BasePipelineMetricAggregation
|
||||
type: #PipelineMetricAggregationType & "serial_diff"
|
||||
settings?: {
|
||||
lag?: string
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
#SerialDiff: {
|
||||
#BasePipelineMetricAggregation
|
||||
type: #PipelineMetricAggregationType & "serial_diff"
|
||||
settings?: lag?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#CumulativeSum: {
|
||||
#BasePipelineMetricAggregation
|
||||
type: #PipelineMetricAggregationType & "cumulative_sum"
|
||||
settings?: {
|
||||
format?: string
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
#CumulativeSum: {
|
||||
#BasePipelineMetricAggregation
|
||||
type: #PipelineMetricAggregationType & "cumulative_sum"
|
||||
settings?: format?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#BucketScript: {
|
||||
#PipelineMetricAggregationWithMultipleBucketPaths
|
||||
type: #PipelineMetricAggregationType & "bucket_script"
|
||||
settings?: {
|
||||
script?: #InlineScript
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
#BucketScript: {
|
||||
#PipelineMetricAggregationWithMultipleBucketPaths
|
||||
type: #PipelineMetricAggregationType & "bucket_script"
|
||||
settings?: script?: #InlineScript
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#TopMetrics: {
|
||||
#BaseMetricAggregation
|
||||
type: #MetricAggregationType & "top_metrics"
|
||||
settings?: {
|
||||
order?: string
|
||||
orderBy?: string
|
||||
metrics?: [...string]
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
#TopMetrics: {
|
||||
#BaseMetricAggregation
|
||||
type: #MetricAggregationType & "top_metrics"
|
||||
settings?: {
|
||||
order?: string
|
||||
orderBy?: string
|
||||
metrics?: [...string]
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#PipelineMetricAggregation: #MovingAverage | #Derivative | #CumulativeSum | #BucketScript @cuetsy(kind="type")
|
||||
#MetricAggregationWithSettings: #BucketScript | #CumulativeSum | #Derivative | #SerialDiff | #RawData | #RawDocument | #UniqueCount | #Percentiles | #ExtendedStats | #Min | #Max | #Sum | #Average | #MovingAverage | #MovingFunction | #Logs | #Rate | #TopMetrics @cuetsy(kind="type")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
#PipelineMetricAggregation: #MovingAverage | #Derivative | #CumulativeSum | #BucketScript @cuetsy(kind="type")
|
||||
#MetricAggregationWithSettings: #BucketScript | #CumulativeSum | #Derivative | #SerialDiff | #RawData | #RawDocument | #UniqueCount | #Percentiles | #ExtendedStats | #Min | #Max | #Sum | #Average | #MovingAverage | #MovingFunction | #Logs | #Rate | #TopMetrics @cuetsy(kind="type")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -26,36 +26,34 @@ composableKinds: DataQuery: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
common.DataQuery
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
common.DataQuery
|
||||
|
||||
// The LogQL query.
|
||||
expr: string
|
||||
// Used to override the name of the series.
|
||||
legendFormat?: string
|
||||
// Used to limit the number of log rows returned.
|
||||
maxLines?: int64
|
||||
// Used to scale the interval value.
|
||||
resolution?: int64
|
||||
editorMode?: #QueryEditorMode
|
||||
// @deprecated, now use queryType.
|
||||
range?: bool
|
||||
// @deprecated, now use queryType.
|
||||
instant?: bool
|
||||
// The LogQL query.
|
||||
expr: string
|
||||
// Used to override the name of the series.
|
||||
legendFormat?: string
|
||||
// Used to limit the number of log rows returned.
|
||||
maxLines?: int64
|
||||
// Used to scale the interval value.
|
||||
resolution?: int64
|
||||
editorMode?: #QueryEditorMode
|
||||
// @deprecated, now use queryType.
|
||||
range?: bool
|
||||
// @deprecated, now use queryType.
|
||||
instant?: bool
|
||||
|
||||
#QueryEditorMode: "code" | "builder" @cuetsy(kind="enum")
|
||||
#QueryEditorMode: "code" | "builder" @cuetsy(kind="enum")
|
||||
|
||||
#LokiQueryType: "range" | "instant" | "stream" @cuetsy(kind="enum")
|
||||
#LokiQueryType: "range" | "instant" | "stream" @cuetsy(kind="enum")
|
||||
|
||||
#SupportingQueryType: "logsVolume" | "logsSample" | "dataSample" @cuetsy(kind="enum")
|
||||
#SupportingQueryType: "logsVolume" | "logsSample" | "dataSample" @cuetsy(kind="enum")
|
||||
|
||||
#LokiQueryDirection: "forward" | "backward" @cuetsy(kind="enum")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
#LokiQueryDirection: "forward" | "backward" @cuetsy(kind="enum")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -26,21 +26,20 @@ composableKinds: DataQuery: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema:
|
||||
// v0.0
|
||||
{
|
||||
schemas: [
|
||||
// v0.0
|
||||
{
|
||||
common.DataQuery
|
||||
common.DataQuery
|
||||
|
||||
// Specifies the query label selectors.
|
||||
labelSelector: string | *"{}"
|
||||
// Specifies the type of profile to query.
|
||||
profileTypeId: string
|
||||
#ParcaQueryType: "metrics" | "profile" | *"both" @cuetsy(kind="type")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
// Specifies the query label selectors.
|
||||
labelSelector: string | *"{}"
|
||||
// Specifies the type of profile to query.
|
||||
profileTypeId: string
|
||||
#ParcaQueryType: "metrics" | "profile" | *"both" @cuetsy(kind="type")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -26,25 +26,24 @@ composableKinds: DataQuery: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema:
|
||||
// v0.0
|
||||
{
|
||||
schemas: [
|
||||
// v0.0
|
||||
{
|
||||
common.DataQuery
|
||||
common.DataQuery
|
||||
|
||||
// Specifies the query label selectors.
|
||||
labelSelector: string | *"{}"
|
||||
// Specifies the type of profile to query.
|
||||
profileTypeId: string
|
||||
// Allows to group the results.
|
||||
groupBy: [...string]
|
||||
// Sets the maximum number of nodes in the flamegraph.
|
||||
maxNodes?: int64
|
||||
#PhlareQueryType: "metrics" | "profile" | *"both" @cuetsy(kind="type")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
// Specifies the query label selectors.
|
||||
labelSelector: string | *"{}"
|
||||
// Specifies the type of profile to query.
|
||||
profileTypeId: string
|
||||
// Allows to group the results.
|
||||
groupBy: [...string]
|
||||
// Sets the maximum number of nodes in the flamegraph.
|
||||
maxNodes?: int64
|
||||
#PhlareQueryType: "metrics" | "profile" | *"both" @cuetsy(kind="type")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -26,35 +26,33 @@ composableKinds: DataQuery: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
common.DataQuery
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
common.DataQuery
|
||||
|
||||
// The actual expression/query that will be evaluated by Prometheus
|
||||
expr: string
|
||||
// Returns only the latest value that Prometheus has scraped for the requested time series
|
||||
instant?: bool
|
||||
// Returns a Range vector, comprised of a set of time series containing a range of data points over time for each time series
|
||||
range?: bool
|
||||
// Execute an additional query to identify interesting raw samples relevant for the given expr
|
||||
exemplar?: bool
|
||||
// Specifies which editor is being used to prepare the query. It can be "code" or "builder"
|
||||
editorMode?: #QueryEditorMode
|
||||
// Query format to determine how to display data points in panel. It can be "time_series", "table", "heatmap"
|
||||
format?: #PromQueryFormat
|
||||
// Series name override or template. Ex. {{hostname}} will be replaced with label value for hostname
|
||||
legendFormat?: string
|
||||
// @deprecated Used to specify how many times to divide max data points by. We use max data points under query options
|
||||
// See https://github.com/grafana/grafana/issues/48081
|
||||
intervalFactor?: number
|
||||
// The actual expression/query that will be evaluated by Prometheus
|
||||
expr: string
|
||||
// Returns only the latest value that Prometheus has scraped for the requested time series
|
||||
instant?: bool
|
||||
// Returns a Range vector, comprised of a set of time series containing a range of data points over time for each time series
|
||||
range?: bool
|
||||
// Execute an additional query to identify interesting raw samples relevant for the given expr
|
||||
exemplar?: bool
|
||||
// Specifies which editor is being used to prepare the query. It can be "code" or "builder"
|
||||
editorMode?: #QueryEditorMode
|
||||
// Query format to determine how to display data points in panel. It can be "time_series", "table", "heatmap"
|
||||
format?: #PromQueryFormat
|
||||
// Series name override or template. Ex. {{hostname}} will be replaced with label value for hostname
|
||||
legendFormat?: string
|
||||
// @deprecated Used to specify how many times to divide max data points by. We use max data points under query options
|
||||
// See https://github.com/grafana/grafana/issues/48081
|
||||
intervalFactor?: number
|
||||
|
||||
#QueryEditorMode: "code" | "builder" @cuetsy(kind="enum")
|
||||
#PromQueryFormat: "time_series" | "table" | "heatmap" @cuetsy(kind="type")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
#QueryEditorMode: "code" | "builder" @cuetsy(kind="enum")
|
||||
#PromQueryFormat: "time_series" | "table" | "heatmap" @cuetsy(kind="type")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -26,52 +26,50 @@ composableKinds: DataQuery: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
#TempoQuery: common.DataQuery & {
|
||||
// TraceQL query or trace ID
|
||||
query: string
|
||||
// Logfmt query to filter traces by their tags. Example: http.status_code=200 error=true
|
||||
search?: string
|
||||
// Query traces by service name
|
||||
serviceName?: string
|
||||
// Query traces by span name
|
||||
spanName?: string
|
||||
// Define the minimum duration to select traces. Use duration format, for example: 1.2s, 100ms
|
||||
minDuration?: string
|
||||
// Define the maximum duration to select traces. Use duration format, for example: 1.2s, 100ms
|
||||
maxDuration?: string
|
||||
// Filters to be included in a PromQL query to select data for the service graph. Example: {client="app",service="app"}
|
||||
serviceMapQuery?: string
|
||||
// Defines the maximum number of traces that are returned from Tempo
|
||||
limit?: int64
|
||||
filters: [...#TraceqlFilter]
|
||||
} @cuetsy(kind="interface") @grafana(TSVeneer="type")
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
#TempoQuery: common.DataQuery & {
|
||||
// TraceQL query or trace ID
|
||||
query: string
|
||||
// Logfmt query to filter traces by their tags. Example: http.status_code=200 error=true
|
||||
search?: string
|
||||
// Query traces by service name
|
||||
serviceName?: string
|
||||
// Query traces by span name
|
||||
spanName?: string
|
||||
// Define the minimum duration to select traces. Use duration format, for example: 1.2s, 100ms
|
||||
minDuration?: string
|
||||
// Define the maximum duration to select traces. Use duration format, for example: 1.2s, 100ms
|
||||
maxDuration?: string
|
||||
// Filters to be included in a PromQL query to select data for the service graph. Example: {client="app",service="app"}
|
||||
serviceMapQuery?: string
|
||||
// Defines the maximum number of traces that are returned from Tempo
|
||||
limit?: int64
|
||||
filters: [...#TraceqlFilter]
|
||||
} @cuetsy(kind="interface") @grafana(TSVeneer="type")
|
||||
|
||||
// search = Loki search, nativeSearch = Tempo search for backwards compatibility
|
||||
#TempoQueryType: "traceql" | "traceqlSearch" | "search" | "serviceMap" | "upload" | "nativeSearch" | "clear" @cuetsy(kind="type")
|
||||
// search = Loki search, nativeSearch = Tempo search for backwards compatibility
|
||||
#TempoQueryType: "traceql" | "traceqlSearch" | "search" | "serviceMap" | "upload" | "nativeSearch" | "clear" @cuetsy(kind="type")
|
||||
|
||||
// static fields are pre-set in the UI, dynamic fields are added by the user
|
||||
#TraceqlSearchScope: "unscoped" | "resource" | "span" @cuetsy(kind="enum")
|
||||
#TraceqlFilter: {
|
||||
// Uniquely identify the filter, will not be used in the query generation
|
||||
id: string
|
||||
// The tag for the search filter, for example: .http.status_code, .service.name, status
|
||||
tag?: string
|
||||
// The operator that connects the tag to the value, for example: =, >, !=, =~
|
||||
operator?: string
|
||||
// The value for the search filter
|
||||
value?: string | [...string]
|
||||
// The type of the value, used for example to check whether we need to wrap the value in quotes when generating the query
|
||||
valueType?: string
|
||||
// The scope of the filter, can either be unscoped/all scopes, resource or span
|
||||
scope?: #TraceqlSearchScope
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
// static fields are pre-set in the UI, dynamic fields are added by the user
|
||||
#TraceqlSearchScope: "unscoped" | "resource" | "span" @cuetsy(kind="enum")
|
||||
#TraceqlFilter: {
|
||||
// Uniquely identify the filter, will not be used in the query generation
|
||||
id: string
|
||||
// The tag for the search filter, for example: .http.status_code, .service.name, status
|
||||
tag?: string
|
||||
// The operator that connects the tag to the value, for example: =, >, !=, =~
|
||||
operator?: string
|
||||
// The value for the search filter
|
||||
value?: string | [...string]
|
||||
// The type of the value, used for example to check whether we need to wrap the value in quotes when generating the query
|
||||
valueType?: string
|
||||
// The scope of the filter, can either be unscoped/all scopes, resource or span
|
||||
scope?: #TraceqlSearchScope
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
156
public/app/plugins/datasource/testdata/dataquery.cue
vendored
156
public/app/plugins/datasource/testdata/dataquery.cue
vendored
@ -26,92 +26,90 @@ composableKinds: DataQuery: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
common.DataQuery
|
||||
alias?: string
|
||||
scenarioId?: #TestDataQueryType & (*"random_walk" | _)
|
||||
stringInput?: string
|
||||
stream?: #StreamingQuery
|
||||
pulseWave?: #PulseWaveQuery
|
||||
sim?: #SimulationQuery
|
||||
csvWave?: [...#CSVWave] //TODO can we prevent partial from being generated
|
||||
labels?: string
|
||||
lines?: int64
|
||||
levelColumn?: bool
|
||||
channel?: string
|
||||
nodes?: #NodesQuery
|
||||
csvFileName?: string
|
||||
csvContent?: string
|
||||
rawFrameContent?: string
|
||||
seriesCount?: int32
|
||||
usa?: #USAQuery
|
||||
errorType?: "server_panic" | "frontend_exception" | "frontend_observable"
|
||||
spanCount?: int32
|
||||
points?: [...[...string | int64]]
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
common.DataQuery
|
||||
alias?: string
|
||||
scenarioId?: #TestDataQueryType & (*"random_walk" | _)
|
||||
stringInput?: string
|
||||
stream?: #StreamingQuery
|
||||
pulseWave?: #PulseWaveQuery
|
||||
sim?: #SimulationQuery
|
||||
csvWave?: [...#CSVWave] //TODO can we prevent partial from being generated
|
||||
labels?: string
|
||||
lines?: int64
|
||||
levelColumn?: bool
|
||||
channel?: string
|
||||
nodes?: #NodesQuery
|
||||
csvFileName?: string
|
||||
csvContent?: string
|
||||
rawFrameContent?: string
|
||||
seriesCount?: int32
|
||||
usa?: #USAQuery
|
||||
errorType?: "server_panic" | "frontend_exception" | "frontend_observable"
|
||||
spanCount?: int32
|
||||
points?: [...[...string | int64]]
|
||||
|
||||
#TestDataQueryType: "random_walk" | "slow_query" | "random_walk_with_error" | "random_walk_table" | "exponential_heatmap_bucket_data" | "linear_heatmap_bucket_data" | "no_data_points" | "datapoints_outside_range" | "csv_metric_values" | "predictable_pulse" | "predictable_csv_wave" | "streaming_client" | "simulation" | "usa" | "live" | "grafana_api" | "arrow" | "annotations" | "table_static" | "server_error_500" | "logs" | "node_graph" | "flame_graph" | "raw_frame" | "csv_file" | "csv_content" | "trace" | "manual_entry" | "variables-query" @cuetsy(kind="enum", memberNames="RandomWalk|SlowQuery|RandomWalkWithError|RandomWalkTable|ExponentialHeatmapBucketData|LinearHeatmapBucketData|NoDataPoints|DataPointsOutsideRange|CSVMetricValues|PredictablePulse|PredictableCSVWave|StreamingClient|Simulation|USA|Live|GrafanaAPI|Arrow|Annotations|TableStatic|ServerError500|Logs|NodeGraph|FlameGraph|RawFrame|CSVFile|CSVContent|Trace|ManualEntry|VariablesQuery")
|
||||
#TestDataQueryType: "random_walk" | "slow_query" | "random_walk_with_error" | "random_walk_table" | "exponential_heatmap_bucket_data" | "linear_heatmap_bucket_data" | "no_data_points" | "datapoints_outside_range" | "csv_metric_values" | "predictable_pulse" | "predictable_csv_wave" | "streaming_client" | "simulation" | "usa" | "live" | "grafana_api" | "arrow" | "annotations" | "table_static" | "server_error_500" | "logs" | "node_graph" | "flame_graph" | "raw_frame" | "csv_file" | "csv_content" | "trace" | "manual_entry" | "variables-query" @cuetsy(kind="enum", memberNames="RandomWalk|SlowQuery|RandomWalkWithError|RandomWalkTable|ExponentialHeatmapBucketData|LinearHeatmapBucketData|NoDataPoints|DataPointsOutsideRange|CSVMetricValues|PredictablePulse|PredictableCSVWave|StreamingClient|Simulation|USA|Live|GrafanaAPI|Arrow|Annotations|TableStatic|ServerError500|Logs|NodeGraph|FlameGraph|RawFrame|CSVFile|CSVContent|Trace|ManualEntry|VariablesQuery")
|
||||
|
||||
#StreamingQuery: {
|
||||
type: "signal" | "logs" | "fetch"
|
||||
speed: int32
|
||||
spread: int32
|
||||
noise: int32
|
||||
bands?: int32
|
||||
url?: string
|
||||
} @cuetsy(kind="interface")
|
||||
#StreamingQuery: {
|
||||
type: "signal" | "logs" | "fetch"
|
||||
speed: int32
|
||||
spread: int32
|
||||
noise: int32
|
||||
bands?: int32
|
||||
url?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#PulseWaveQuery: {
|
||||
timeStep?: int64
|
||||
onCount?: int64
|
||||
offCount?: int64
|
||||
onValue?: float64
|
||||
offValue?: float64
|
||||
} @cuetsy(kind="interface")
|
||||
#PulseWaveQuery: {
|
||||
timeStep?: int64
|
||||
onCount?: int64
|
||||
offCount?: int64
|
||||
onValue?: float64
|
||||
offValue?: float64
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#SimulationQuery: {
|
||||
key: {
|
||||
type: string
|
||||
tick: float64
|
||||
uid?: string
|
||||
}
|
||||
config?: {...}
|
||||
stream?: bool
|
||||
last?: bool
|
||||
} @cuetsy(kind="interface")
|
||||
#SimulationQuery: {
|
||||
key: {
|
||||
type: string
|
||||
tick: float64
|
||||
uid?: string
|
||||
}
|
||||
config?: {...}
|
||||
stream?: bool
|
||||
last?: bool
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#NodesQuery: {
|
||||
type?: "random" | "response" | "random edges"
|
||||
count?: int64
|
||||
} @cuetsy(kind="interface")
|
||||
#NodesQuery: {
|
||||
type?: "random" | "response" | "random edges"
|
||||
count?: int64
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#USAQuery: {
|
||||
mode?: string
|
||||
period?: string
|
||||
fields?: [...string]
|
||||
states?: [...string]
|
||||
} @cuetsy(kind="interface")
|
||||
#USAQuery: {
|
||||
mode?: string
|
||||
period?: string
|
||||
fields?: [...string]
|
||||
states?: [...string]
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
#CSVWave: {
|
||||
timeStep?: int64
|
||||
name?: string
|
||||
valuesCSV?: string
|
||||
labels?: string
|
||||
} @cuetsy(kind="interface")
|
||||
#CSVWave: {
|
||||
timeStep?: int64
|
||||
name?: string
|
||||
valuesCSV?: string
|
||||
labels?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
// TODO: Should this live here given it's not used in the dataquery?
|
||||
#Scenario: {
|
||||
id: string
|
||||
name: string
|
||||
stringInput: string
|
||||
description?: string
|
||||
hideAliasField?: bool
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
// TODO: Should this live here given it's not used in the dataquery?
|
||||
#Scenario: {
|
||||
id: string
|
||||
name: string
|
||||
stringInput: string
|
||||
description?: string
|
||||
hideAliasField?: bool
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -14,23 +14,19 @@
|
||||
|
||||
package grafanaplugin
|
||||
|
||||
composableKinds: PanelCfg: {
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
Options: {
|
||||
// Comma-separated list of values used to filter alert results
|
||||
labels: string
|
||||
// Name of the alertmanager used as a source for alerts
|
||||
alertmanager: string
|
||||
// Expand all alert groups by default
|
||||
expandAll: bool
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
}
|
||||
composableKinds: PanelCfg: lineage: {
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
Options: {
|
||||
// Comma-separated list of values used to filter alert results
|
||||
labels: string
|
||||
// Name of the alertmanager used as a source for alerts
|
||||
alertmanager: string
|
||||
// Expand all alert groups by default
|
||||
expandAll: bool
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
|
@ -18,25 +18,23 @@ composableKinds: PanelCfg: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
Options: {
|
||||
onlyFromThisDashboard: bool | *false
|
||||
onlyInTimeRange: bool | *false
|
||||
tags: [...string]
|
||||
limit: uint32 | *10
|
||||
showUser: bool | *true
|
||||
showTime: bool | *true
|
||||
showTags: bool | *true
|
||||
navigateToPanel: bool | *true
|
||||
navigateBefore: string | *"10m"
|
||||
navigateAfter: string | *"10m"
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
Options: {
|
||||
onlyFromThisDashboard: bool | *false
|
||||
onlyInTimeRange: bool | *false
|
||||
tags: [...string]
|
||||
limit: uint32 | *10
|
||||
showUser: bool | *true
|
||||
showTime: bool | *true
|
||||
showTags: bool | *true
|
||||
navigateToPanel: bool | *true
|
||||
navigateBefore: string | *"10m"
|
||||
navigateAfter: string | *"10m"
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -22,60 +22,58 @@ composableKinds: PanelCfg: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
// v0.0
|
||||
{
|
||||
Options: {
|
||||
common.OptionsWithLegend
|
||||
common.OptionsWithTooltip
|
||||
common.OptionsWithTextFormatting
|
||||
|
||||
// Manually select which field from the dataset to represent the x field.
|
||||
xField?: string
|
||||
// Use the color value for a sibling field to color each bar value.
|
||||
colorByField?: string
|
||||
// Controls the orientation of the bar chart, either vertical or horizontal.
|
||||
orientation: common.VizOrientation & (*"auto" | _)
|
||||
// Controls the radius of each bar.
|
||||
barRadius?: float64 & >=0 & <=0.5 | *0
|
||||
// Controls the rotation of the x axis labels.
|
||||
xTickLabelRotation: int32 & >=-90 & <=90 | *0
|
||||
// Sets the max length that a label can have before it is truncated.
|
||||
xTickLabelMaxLength: int32 & >=0
|
||||
// Controls the spacing between x axis labels.
|
||||
// negative values indicate backwards skipping behavior
|
||||
xTickLabelSpacing?: int32 | *0
|
||||
// Controls whether bars are stacked or not, either normally or in percent mode.
|
||||
stacking: common.StackingMode & (*"none" | _)
|
||||
// This controls whether values are shown on top or to the left of bars.
|
||||
showValue: common.VisibilityMode & (*"auto" | _)
|
||||
// Controls the width of bars. 1 = Max width, 0 = Min width.
|
||||
barWidth: float64 & >=0 & <=1 | *0.97
|
||||
// Controls the width of groups. 1 = max with, 0 = min width.
|
||||
groupWidth: float64 & >=0 & <=1 | *0.7
|
||||
// Enables mode which highlights the entire bar area and shows tooltip when cursor
|
||||
// hovers over highlighted area
|
||||
fullHighlight: bool | *false
|
||||
} @cuetsy(kind="interface")
|
||||
FieldConfig: {
|
||||
common.AxisConfig
|
||||
common.HideableFieldConfig
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
Options: {
|
||||
common.OptionsWithLegend
|
||||
common.OptionsWithTooltip
|
||||
common.OptionsWithTextFormatting
|
||||
|
||||
// Controls line width of the bars.
|
||||
lineWidth?: int32 & >=0 & <=10 | *1
|
||||
// Controls the fill opacity of the bars.
|
||||
fillOpacity?: int32 & >=0 & <=100 | *80
|
||||
// Set the mode of the gradient fill. Fill gradient is based on the line color. To change the color, use the standard color scheme field option.
|
||||
// Gradient appearance is influenced by the Fill opacity setting.
|
||||
gradientMode?: common.GraphGradientMode & (*"none" | _)
|
||||
// Threshold rendering
|
||||
thresholdsStyle?: common.GraphThresholdsStyleConfig
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
// Manually select which field from the dataset to represent the x field.
|
||||
xField?: string
|
||||
// Use the color value for a sibling field to color each bar value.
|
||||
colorByField?: string
|
||||
// Controls the orientation of the bar chart, either vertical or horizontal.
|
||||
orientation: common.VizOrientation & (*"auto" | _)
|
||||
// Controls the radius of each bar.
|
||||
barRadius?: float64 & >=0 & <=0.5 | *0
|
||||
// Controls the rotation of the x axis labels.
|
||||
xTickLabelRotation: int32 & >=-90 & <=90 | *0
|
||||
// Sets the max length that a label can have before it is truncated.
|
||||
xTickLabelMaxLength: int32 & >=0
|
||||
// Controls the spacing between x axis labels.
|
||||
// negative values indicate backwards skipping behavior
|
||||
xTickLabelSpacing?: int32 | *0
|
||||
// Controls whether bars are stacked or not, either normally or in percent mode.
|
||||
stacking: common.StackingMode & (*"none" | _)
|
||||
// This controls whether values are shown on top or to the left of bars.
|
||||
showValue: common.VisibilityMode & (*"auto" | _)
|
||||
// Controls the width of bars. 1 = Max width, 0 = Min width.
|
||||
barWidth: float64 & >=0 & <=1 | *0.97
|
||||
// Controls the width of groups. 1 = max with, 0 = min width.
|
||||
groupWidth: float64 & >=0 & <=1 | *0.7
|
||||
// Enables mode which highlights the entire bar area and shows tooltip when cursor
|
||||
// hovers over highlighted area
|
||||
fullHighlight: bool | *false
|
||||
} @cuetsy(kind="interface")
|
||||
FieldConfig: {
|
||||
common.AxisConfig
|
||||
common.HideableFieldConfig
|
||||
|
||||
// Controls line width of the bars.
|
||||
lineWidth?: int32 & >=0 & <=10 | *1
|
||||
// Controls the fill opacity of the bars.
|
||||
fillOpacity?: int32 & >=0 & <=100 | *80
|
||||
// Set the mode of the gradient fill. Fill gradient is based on the line color. To change the color, use the standard color scheme field option.
|
||||
// Gradient appearance is influenced by the Fill opacity setting.
|
||||
gradientMode?: common.GraphGradientMode & (*"none" | _)
|
||||
// Threshold rendering
|
||||
thresholdsStyle?: common.GraphThresholdsStyleConfig
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -22,21 +22,19 @@ composableKinds: PanelCfg: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
Options: {
|
||||
common.SingleStatBaseOptions
|
||||
displayMode: common.BarGaugeDisplayMode & (*"gradient" | _)
|
||||
valueMode: common.BarGaugeValueMode & (*"color" | _)
|
||||
showUnfilled: bool | *true
|
||||
minVizWidth: uint32 | *0
|
||||
minVizHeight: uint32 | *10
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
Options: {
|
||||
common.SingleStatBaseOptions
|
||||
displayMode: common.BarGaugeDisplayMode & (*"gradient" | _)
|
||||
valueMode: common.BarGaugeValueMode & (*"color" | _)
|
||||
showUnfilled: bool | *true
|
||||
minVizWidth: uint32 | *0
|
||||
minVizHeight: uint32 | *10
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -14,23 +14,17 @@
|
||||
|
||||
package grafanaplugin
|
||||
|
||||
composableKinds: PanelCfg: {
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
Options: {
|
||||
// anything for now
|
||||
...
|
||||
} @cuetsy(kind="interface")
|
||||
FieldConfig: {
|
||||
// anything for now
|
||||
...
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
}
|
||||
composableKinds: PanelCfg: lineage: {
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
Options: {
|
||||
...
|
||||
} @cuetsy(kind="interface")
|
||||
FieldConfig: {
|
||||
...
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
|
@ -14,19 +14,14 @@
|
||||
|
||||
package grafanaplugin
|
||||
|
||||
composableKinds: PanelCfg: {
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
Options: {
|
||||
// anything for now
|
||||
...
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
}
|
||||
composableKinds: PanelCfg: lineage: {
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
Options: {
|
||||
...
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
|
@ -18,25 +18,23 @@ composableKinds: PanelCfg: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
Options: {
|
||||
keepTime: bool | *false
|
||||
includeVars: bool | *false
|
||||
showStarred: bool | *true
|
||||
showRecentlyViewed: bool | *false
|
||||
showSearch: bool | *false
|
||||
showHeadings: bool | *true
|
||||
maxItems: int | *10
|
||||
query: string | *""
|
||||
folderId?: int
|
||||
tags: [...string] | *[]
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
Options: {
|
||||
keepTime: bool | *false
|
||||
includeVars: bool | *false
|
||||
showStarred: bool | *true
|
||||
showRecentlyViewed: bool | *false
|
||||
showSearch: bool | *false
|
||||
showHeadings: bool | *true
|
||||
maxItems: int | *10
|
||||
query: string | *""
|
||||
folderId?: int
|
||||
tags: [...string] | *[]
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -18,16 +18,14 @@ composableKinds: PanelCfg: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
Options: {
|
||||
selectedSeries: int32 & >=0 | *0
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
Options: {
|
||||
selectedSeries: int32 & >=0 | *0
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -26,25 +26,23 @@ composableKinds: PanelCfg: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
UpdateConfig: {
|
||||
render: bool
|
||||
dataChanged: bool
|
||||
schemaChanged: bool
|
||||
} @cuetsy(kind="type")
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
UpdateConfig: {
|
||||
render: bool
|
||||
dataChanged: bool
|
||||
schemaChanged: bool
|
||||
} @cuetsy(kind="type")
|
||||
|
||||
DebugMode: "render" | "events" | "cursor" | "State" | "ThrowError" @cuetsy(kind="enum")
|
||||
DebugMode: "render" | "events" | "cursor" | "State" | "ThrowError" @cuetsy(kind="enum")
|
||||
|
||||
Options: {
|
||||
mode: DebugMode
|
||||
counters?: UpdateConfig
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
Options: {
|
||||
mode: DebugMode
|
||||
counters?: UpdateConfig
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -22,18 +22,16 @@ composableKinds: PanelCfg: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
Options: {
|
||||
common.SingleStatBaseOptions
|
||||
showThresholdLabels: bool | *false
|
||||
showThresholdMarkers: bool | *true
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
Options: {
|
||||
common.SingleStatBaseOptions
|
||||
showThresholdLabels: bool | *false
|
||||
showThresholdMarkers: bool | *true
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -22,57 +22,55 @@ composableKinds: PanelCfg: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
Options: {
|
||||
view: MapViewConfig
|
||||
controls: ControlsOptions
|
||||
basemap: ui.MapLayerOptions
|
||||
layers: [...ui.MapLayerOptions]
|
||||
tooltip: TooltipOptions
|
||||
} @cuetsy(kind="interface")
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
Options: {
|
||||
view: MapViewConfig
|
||||
controls: ControlsOptions
|
||||
basemap: ui.MapLayerOptions
|
||||
layers: [...ui.MapLayerOptions]
|
||||
tooltip: TooltipOptions
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
MapViewConfig: {
|
||||
id: string | *"zero"
|
||||
lat?: int64 | *0
|
||||
lon?: int64 | *0
|
||||
zoom?: int64 | *1
|
||||
minZoom?: int64
|
||||
maxZoom?: int64
|
||||
padding?: int64
|
||||
allLayers?: bool | *true
|
||||
lastOnly?: bool
|
||||
layer?: string
|
||||
shared?: bool
|
||||
} @cuetsy(kind="interface")
|
||||
MapViewConfig: {
|
||||
id: string | *"zero"
|
||||
lat?: int64 | *0
|
||||
lon?: int64 | *0
|
||||
zoom?: int64 | *1
|
||||
minZoom?: int64
|
||||
maxZoom?: int64
|
||||
padding?: int64
|
||||
allLayers?: bool | *true
|
||||
lastOnly?: bool
|
||||
layer?: string
|
||||
shared?: bool
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
ControlsOptions: {
|
||||
// Zoom (upper left)
|
||||
showZoom?: bool
|
||||
// let the mouse wheel zoom
|
||||
mouseWheelZoom?: bool
|
||||
// Lower right
|
||||
showAttribution?: bool
|
||||
// Scale options
|
||||
showScale?: bool
|
||||
// Show debug
|
||||
showDebug?: bool
|
||||
// Show measure
|
||||
showMeasure?: bool
|
||||
} @cuetsy(kind="interface")
|
||||
ControlsOptions: {
|
||||
// Zoom (upper left)
|
||||
showZoom?: bool
|
||||
// let the mouse wheel zoom
|
||||
mouseWheelZoom?: bool
|
||||
// Lower right
|
||||
showAttribution?: bool
|
||||
// Scale options
|
||||
showScale?: bool
|
||||
// Show debug
|
||||
showDebug?: bool
|
||||
// Show measure
|
||||
showMeasure?: bool
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
TooltipOptions: {
|
||||
mode: TooltipMode
|
||||
} @cuetsy(kind="interface")
|
||||
TooltipOptions: {
|
||||
mode: TooltipMode
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
TooltipMode: "none" | "details" @cuetsy(kind="enum",memberNames="None|Details")
|
||||
TooltipMode: "none" | "details" @cuetsy(kind="enum",memberNames="None|Details")
|
||||
|
||||
MapCenterID: "zero" | "coords" | "fit" @cuetsy(kind="enum",members="Zero|Coordinates|Fit")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
MapCenterID: "zero" | "coords" | "fit" @cuetsy(kind="enum",members="Zero|Coordinates|Fit")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -18,149 +18,145 @@ import (
|
||||
ui "github.com/grafana/grafana/packages/grafana-schema/src/common"
|
||||
)
|
||||
|
||||
composableKinds: PanelCfg: {
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
// Controls the color mode of the heatmap
|
||||
HeatmapColorMode: "opacity" | "scheme" @cuetsy(kind="enum")
|
||||
// Controls the color scale of the heatmap
|
||||
HeatmapColorScale: "linear" | "exponential" @cuetsy(kind="enum")
|
||||
// Controls various color options
|
||||
HeatmapColorOptions: {
|
||||
// Sets the color mode
|
||||
mode?: HeatmapColorMode
|
||||
// Controls the color scheme used
|
||||
scheme: string
|
||||
// Controls the color fill when in opacity mode
|
||||
fill: string
|
||||
// Controls the color scale
|
||||
scale?: HeatmapColorScale
|
||||
// Controls the exponent when scale is set to exponential
|
||||
exponent: float32
|
||||
// Controls the number of color steps
|
||||
steps: uint8 & >=2 & <=128
|
||||
// Reverses the color scheme
|
||||
reverse: bool
|
||||
// Sets the minimum value for the color scale
|
||||
min?: float32
|
||||
// Sets the maximum value for the color scale
|
||||
max?: float32
|
||||
} @cuetsy(kind="interface")
|
||||
// Configuration options for the yAxis
|
||||
YAxisConfig: {
|
||||
ui.AxisConfig
|
||||
composableKinds: PanelCfg: lineage: {
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
// Controls the color mode of the heatmap
|
||||
HeatmapColorMode: "opacity" | "scheme" @cuetsy(kind="enum")
|
||||
// Controls the color scale of the heatmap
|
||||
HeatmapColorScale: "linear" | "exponential" @cuetsy(kind="enum")
|
||||
// Controls various color options
|
||||
HeatmapColorOptions: {
|
||||
// Sets the color mode
|
||||
mode?: HeatmapColorMode
|
||||
// Controls the color scheme used
|
||||
scheme: string
|
||||
// Controls the color fill when in opacity mode
|
||||
fill: string
|
||||
// Controls the color scale
|
||||
scale?: HeatmapColorScale
|
||||
// Controls the exponent when scale is set to exponential
|
||||
exponent: float32
|
||||
// Controls the number of color steps
|
||||
steps: uint8 & >=2 & <=128
|
||||
// Reverses the color scheme
|
||||
reverse: bool
|
||||
// Sets the minimum value for the color scale
|
||||
min?: float32
|
||||
// Sets the maximum value for the color scale
|
||||
max?: float32
|
||||
} @cuetsy(kind="interface")
|
||||
// Configuration options for the yAxis
|
||||
YAxisConfig: {
|
||||
ui.AxisConfig
|
||||
|
||||
// Sets the yAxis unit
|
||||
unit?: string
|
||||
// Reverses the yAxis
|
||||
reverse?: bool
|
||||
// Controls the number of decimals for yAxis values
|
||||
decimals?: float32
|
||||
// Sets the minimum value for the yAxis
|
||||
min?: float32
|
||||
// Sets the maximum value for the yAxis
|
||||
max?: float32
|
||||
} @cuetsy(kind="interface")
|
||||
// Controls cell value options
|
||||
CellValues: {
|
||||
// Controls the cell value unit
|
||||
unit?: string
|
||||
// Controls the number of decimals for cell values
|
||||
decimals?: float32
|
||||
} @cuetsy(kind="interface")
|
||||
// Controls the value filter range
|
||||
FilterValueRange: {
|
||||
// Sets the filter range to values less than or equal to the given value
|
||||
le?: float32
|
||||
// Sets the filter range to values greater than or equal to the given value
|
||||
ge?: float32
|
||||
} @cuetsy(kind="interface")
|
||||
// Controls tooltip options
|
||||
HeatmapTooltip: {
|
||||
// Controls if the tooltip is shown
|
||||
show: bool
|
||||
// Controls if the tooltip shows a histogram of the y-axis values
|
||||
yHistogram?: bool
|
||||
} @cuetsy(kind="interface")
|
||||
// Controls legend options
|
||||
HeatmapLegend: {
|
||||
// Controls if the legend is shown
|
||||
show: bool
|
||||
} @cuetsy(kind="interface")
|
||||
// Controls exemplar options
|
||||
ExemplarConfig: {
|
||||
// Sets the color of the exemplar markers
|
||||
color: string
|
||||
} @cuetsy(kind="interface")
|
||||
// Controls frame rows options
|
||||
RowsHeatmapOptions: {
|
||||
// Sets the name of the cell when not calculating from data
|
||||
value?: string
|
||||
// Controls tick alignment when not calculating from data
|
||||
layout?: ui.HeatmapCellLayout
|
||||
} @cuetsy(kind="interface")
|
||||
Options: {
|
||||
// Controls if the heatmap should be calculated from data
|
||||
calculate?: bool | *false
|
||||
// Calculation options for the heatmap
|
||||
calculation?: ui.HeatmapCalculationOptions
|
||||
// Controls the color options
|
||||
color: HeatmapColorOptions | *{
|
||||
// mode: HeatmapColorMode // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed
|
||||
scheme: "Oranges"
|
||||
fill: "dark-orange"
|
||||
// scale: HeatmapColorScale // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed
|
||||
reverse: false
|
||||
exponent: 0.5
|
||||
steps: 64
|
||||
}
|
||||
// Filters values between a given range
|
||||
filterValues?: FilterValueRange | *{
|
||||
le: 1e-9
|
||||
}
|
||||
// Controls tick alignment and value name when not calculating from data
|
||||
rowsFrame?: RowsHeatmapOptions
|
||||
// | *{
|
||||
// layout: ui.HeatmapCellLayout & "auto" // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed
|
||||
// }
|
||||
// Controls the display of the value in the cell
|
||||
showValue: ui.VisibilityMode & (*"auto" | _)
|
||||
// Controls gap between cells
|
||||
cellGap?: uint8 & >=0 & <=25 | *1
|
||||
// Controls cell radius
|
||||
cellRadius?: float32
|
||||
// Controls cell value unit
|
||||
cellValues?: CellValues | *{}
|
||||
// Controls yAxis placement
|
||||
yAxis: YAxisConfig
|
||||
// | *{
|
||||
// axisPlacement: ui.AxisPlacement & "left" // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed
|
||||
// }
|
||||
// Controls legend options
|
||||
legend: HeatmapLegend | *{
|
||||
show: true
|
||||
}
|
||||
// Controls tooltip options
|
||||
tooltip: HeatmapTooltip | *{
|
||||
show: true
|
||||
yHistogram: false
|
||||
}
|
||||
// Controls exemplar options
|
||||
exemplars: ExemplarConfig | *{
|
||||
color: "rgba(255,0,255,0.7)"
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
FieldConfig: {
|
||||
ui.HideableFieldConfig
|
||||
// Sets the yAxis unit
|
||||
unit?: string
|
||||
// Reverses the yAxis
|
||||
reverse?: bool
|
||||
// Controls the number of decimals for yAxis values
|
||||
decimals?: float32
|
||||
// Sets the minimum value for the yAxis
|
||||
min?: float32
|
||||
// Sets the maximum value for the yAxis
|
||||
max?: float32
|
||||
} @cuetsy(kind="interface")
|
||||
// Controls cell value options
|
||||
CellValues: {
|
||||
// Controls the cell value unit
|
||||
unit?: string
|
||||
// Controls the number of decimals for cell values
|
||||
decimals?: float32
|
||||
} @cuetsy(kind="interface")
|
||||
// Controls the value filter range
|
||||
FilterValueRange: {
|
||||
// Sets the filter range to values less than or equal to the given value
|
||||
le?: float32
|
||||
// Sets the filter range to values greater than or equal to the given value
|
||||
ge?: float32
|
||||
} @cuetsy(kind="interface")
|
||||
// Controls tooltip options
|
||||
HeatmapTooltip: {
|
||||
// Controls if the tooltip is shown
|
||||
show: bool
|
||||
// Controls if the tooltip shows a histogram of the y-axis values
|
||||
yHistogram?: bool
|
||||
} @cuetsy(kind="interface")
|
||||
// Controls legend options
|
||||
HeatmapLegend: {
|
||||
// Controls if the legend is shown
|
||||
show: bool
|
||||
} @cuetsy(kind="interface")
|
||||
// Controls exemplar options
|
||||
ExemplarConfig: {
|
||||
// Sets the color of the exemplar markers
|
||||
color: string
|
||||
} @cuetsy(kind="interface")
|
||||
// Controls frame rows options
|
||||
RowsHeatmapOptions: {
|
||||
// Sets the name of the cell when not calculating from data
|
||||
value?: string
|
||||
// Controls tick alignment when not calculating from data
|
||||
layout?: ui.HeatmapCellLayout
|
||||
} @cuetsy(kind="interface")
|
||||
Options: {
|
||||
// Controls if the heatmap should be calculated from data
|
||||
calculate?: bool | *false
|
||||
// Calculation options for the heatmap
|
||||
calculation?: ui.HeatmapCalculationOptions
|
||||
// Controls the color options
|
||||
color: HeatmapColorOptions | *{
|
||||
// mode: HeatmapColorMode // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed
|
||||
scheme: "Oranges"
|
||||
fill: "dark-orange"
|
||||
// scale: HeatmapColorScale // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed
|
||||
reverse: false
|
||||
exponent: 0.5
|
||||
steps: 64
|
||||
}
|
||||
// Filters values between a given range
|
||||
filterValues?: FilterValueRange | *{
|
||||
le: 1e-9
|
||||
}
|
||||
// Controls tick alignment and value name when not calculating from data
|
||||
rowsFrame?: RowsHeatmapOptions
|
||||
// | *{
|
||||
// layout: ui.HeatmapCellLayout & "auto" // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed
|
||||
// }
|
||||
// Controls the display of the value in the cell
|
||||
showValue: ui.VisibilityMode & (*"auto" | _)
|
||||
// Controls gap between cells
|
||||
cellGap?: uint8 & >=0 & <=25 | *1
|
||||
// Controls cell radius
|
||||
cellRadius?: float32
|
||||
// Controls cell value unit
|
||||
cellValues?: CellValues | *{}
|
||||
// Controls yAxis placement
|
||||
yAxis: YAxisConfig
|
||||
// | *{
|
||||
// axisPlacement: ui.AxisPlacement & "left" // TODO: fix after remove when https://github.com/grafana/cuetsy/issues/74 is fixed
|
||||
// }
|
||||
// Controls legend options
|
||||
legend: HeatmapLegend | *{
|
||||
show: true
|
||||
}
|
||||
// Controls tooltip options
|
||||
tooltip: HeatmapTooltip | *{
|
||||
show: true
|
||||
yHistogram: false
|
||||
}
|
||||
// Controls exemplar options
|
||||
exemplars: ExemplarConfig | *{
|
||||
color: "rgba(255,0,255,0.7)"
|
||||
}
|
||||
} @cuetsy(kind="interface")
|
||||
FieldConfig: {
|
||||
ui.HideableFieldConfig
|
||||
|
||||
scaleDistribution?: ui.ScaleDistributionConfig
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
}
|
||||
scaleDistribution?: ui.ScaleDistributionConfig
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
|
@ -22,37 +22,35 @@ composableKinds: PanelCfg: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
Options: {
|
||||
common.OptionsWithLegend
|
||||
common.OptionsWithTooltip
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
Options: {
|
||||
common.OptionsWithLegend
|
||||
common.OptionsWithTooltip
|
||||
|
||||
//Size of each bucket
|
||||
bucketSize?: int32
|
||||
//Offset buckets by this amount
|
||||
bucketOffset?: int32 | *0
|
||||
//Combines multiple series into a single histogram
|
||||
combine?: bool
|
||||
} @cuetsy(kind="interface")
|
||||
//Size of each bucket
|
||||
bucketSize?: int32
|
||||
//Offset buckets by this amount
|
||||
bucketOffset?: int32 | *0
|
||||
//Combines multiple series into a single histogram
|
||||
combine?: bool
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
FieldConfig: {
|
||||
common.AxisConfig
|
||||
common.HideableFieldConfig
|
||||
FieldConfig: {
|
||||
common.AxisConfig
|
||||
common.HideableFieldConfig
|
||||
|
||||
// Controls line width of the bars.
|
||||
lineWidth?: uint32 & <=10 | *1
|
||||
// Controls the fill opacity of the bars.
|
||||
fillOpacity?: uint32 & <=100 | *80
|
||||
// Set the mode of the gradient fill. Fill gradient is based on the line color. To change the color, use the standard color scheme field option.
|
||||
// Gradient appearance is influenced by the Fill opacity setting.
|
||||
gradientMode?: common.GraphGradientMode & (*"none" | _)
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
// Controls line width of the bars.
|
||||
lineWidth?: uint32 & <=10 | *1
|
||||
// Controls the fill opacity of the bars.
|
||||
fillOpacity?: uint32 & <=100 | *80
|
||||
// Set the mode of the gradient fill. Fill gradient is based on the line color. To change the color, use the standard color scheme field option.
|
||||
// Gradient appearance is influenced by the Fill opacity setting.
|
||||
gradientMode?: common.GraphGradientMode & (*"none" | _)
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -22,23 +22,21 @@ composableKinds: PanelCfg: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
Options: {
|
||||
showLabels: bool
|
||||
showCommonLabels: bool
|
||||
showTime: bool
|
||||
wrapLogMessage: bool
|
||||
prettifyLogMessage: bool
|
||||
enableLogDetails: bool
|
||||
sortOrder: common.LogsSortOrder
|
||||
dedupStrategy: common.LogsDedupStrategy
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
Options: {
|
||||
showLabels: bool
|
||||
showCommonLabels: bool
|
||||
showTime: bool
|
||||
wrapLogMessage: bool
|
||||
prettifyLogMessage: bool
|
||||
enableLogDetails: bool
|
||||
sortOrder: common.LogsSortOrder
|
||||
dedupStrategy: common.LogsDedupStrategy
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -18,18 +18,16 @@ composableKinds: PanelCfg: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
Options: {
|
||||
// empty/missing will default to grafana blog
|
||||
feedUrl?: string
|
||||
showImage?: bool | *true
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
Options: {
|
||||
// empty/missing will default to grafana blog
|
||||
feedUrl?: string
|
||||
showImage?: bool | *true
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -18,38 +18,37 @@ composableKinds: PanelCfg: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema:
|
||||
// v0.0
|
||||
{
|
||||
schemas: [
|
||||
// v0.0
|
||||
{
|
||||
ArcOption: {
|
||||
// Field from which to get the value. Values should be less than 1, representing fraction of a circle.
|
||||
field?: string
|
||||
// The color of the arc.
|
||||
color?: string
|
||||
} @cuetsy(kind="interface")
|
||||
NodeOptions: {
|
||||
// Unit for the main stat to override what ever is set in the data frame.
|
||||
mainStatUnit?: string
|
||||
// Unit for the secondary stat to override what ever is set in the data frame.
|
||||
secondaryStatUnit?: string
|
||||
// Define which fields are shown as part of the node arc (colored circle around the node).
|
||||
arcs?: [...ArcOption]
|
||||
}
|
||||
EdgeOptions: {
|
||||
// Unit for the main stat to override what ever is set in the data frame.
|
||||
mainStatUnit?: string
|
||||
// Unit for the secondary stat to override what ever is set in the data frame.
|
||||
secondaryStatUnit?: string
|
||||
}
|
||||
Options: {
|
||||
nodes?: NodeOptions
|
||||
edges?: EdgeOptions
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
ArcOption: {
|
||||
// Field from which to get the value. Values should be less than 1, representing fraction of a circle.
|
||||
field?: string
|
||||
// The color of the arc.
|
||||
color?: string
|
||||
} @cuetsy(kind="interface")
|
||||
NodeOptions: {
|
||||
// Unit for the main stat to override what ever is set in the data frame.
|
||||
mainStatUnit?: string
|
||||
// Unit for the secondary stat to override what ever is set in the data frame.
|
||||
secondaryStatUnit?: string
|
||||
// Define which fields are shown as part of the node arc (colored circle around the node).
|
||||
arcs?: [...ArcOption]
|
||||
}
|
||||
EdgeOptions: {
|
||||
// Unit for the main stat to override what ever is set in the data frame.
|
||||
mainStatUnit?: string
|
||||
// Unit for the secondary stat to override what ever is set in the data frame.
|
||||
secondaryStatUnit?: string
|
||||
}
|
||||
Options: {
|
||||
nodes?: NodeOptions
|
||||
edges?: EdgeOptions
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -22,37 +22,36 @@ composableKinds: PanelCfg: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema:
|
||||
// v0.0
|
||||
{
|
||||
schemas: [
|
||||
// v0.0
|
||||
{
|
||||
// Select the pie chart display style.
|
||||
PieChartType: "pie" | "donut" @cuetsy(kind="enum")
|
||||
// Select labels to display on the pie chart.
|
||||
// - Name - The series or field name.
|
||||
// - Percent - The percentage of the whole.
|
||||
// - Value - The raw numerical value.
|
||||
PieChartLabels: "name" | "value" | "percent" @cuetsy(kind="enum")
|
||||
// Select values to display in the legend.
|
||||
// - Percent: The percentage of the whole.
|
||||
// - Value: The raw numerical value.
|
||||
PieChartLegendValues: "value" | "percent" @cuetsy(kind="enum")
|
||||
PieChartLegendOptions: {
|
||||
common.VizLegendOptions
|
||||
values: [...PieChartLegendValues]
|
||||
} @cuetsy(kind="interface")
|
||||
Options: {
|
||||
common.OptionsWithTooltip
|
||||
common.SingleStatBaseOptions
|
||||
pieType: PieChartType
|
||||
displayLabels: [...PieChartLabels]
|
||||
legend: PieChartLegendOptions
|
||||
} @cuetsy(kind="interface")
|
||||
FieldConfig: common.HideableFieldConfig @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
// Select the pie chart display style.
|
||||
PieChartType: "pie" | "donut" @cuetsy(kind="enum")
|
||||
// Select labels to display on the pie chart.
|
||||
// - Name - The series or field name.
|
||||
// - Percent - The percentage of the whole.
|
||||
// - Value - The raw numerical value.
|
||||
PieChartLabels: "name" | "value" | "percent" @cuetsy(kind="enum")
|
||||
// Select values to display in the legend.
|
||||
// - Percent: The percentage of the whole.
|
||||
// - Value: The raw numerical value.
|
||||
PieChartLegendValues: "value" | "percent" @cuetsy(kind="enum")
|
||||
PieChartLegendOptions: {
|
||||
common.VizLegendOptions
|
||||
values: [...PieChartLegendValues]
|
||||
} @cuetsy(kind="interface")
|
||||
Options: {
|
||||
common.OptionsWithTooltip
|
||||
common.SingleStatBaseOptions
|
||||
pieType: PieChartType
|
||||
displayLabels: [...PieChartLabels]
|
||||
legend: PieChartLegendOptions
|
||||
} @cuetsy(kind="interface")
|
||||
FieldConfig: common.HideableFieldConfig @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -22,20 +22,18 @@ composableKinds: PanelCfg: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
Options: {
|
||||
common.SingleStatBaseOptions
|
||||
graphMode: common.BigValueGraphMode & (*"area" | _)
|
||||
colorMode: common.BigValueColorMode & (*"value" | _)
|
||||
justifyMode: common.BigValueJustifyMode & (*"auto" | _)
|
||||
textMode: common.BigValueTextMode & (*"auto" | _)
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
Options: {
|
||||
common.SingleStatBaseOptions
|
||||
graphMode: common.BigValueGraphMode & (*"area" | _)
|
||||
colorMode: common.BigValueColorMode & (*"value" | _)
|
||||
justifyMode: common.BigValueJustifyMode & (*"auto" | _)
|
||||
textMode: common.BigValueTextMode & (*"auto" | _)
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -21,32 +21,30 @@ import (
|
||||
composableKinds: PanelCfg: {
|
||||
maturity: "experimental"
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
Options: {
|
||||
ui.OptionsWithLegend
|
||||
ui.OptionsWithTooltip
|
||||
ui.OptionsWithTimezones
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
Options: {
|
||||
ui.OptionsWithLegend
|
||||
ui.OptionsWithTooltip
|
||||
ui.OptionsWithTimezones
|
||||
|
||||
//Show timeline values on chart
|
||||
showValue: ui.VisibilityMode & (*"auto" | _)
|
||||
//Controls the row height
|
||||
rowHeight: float & <=1 | *0.9
|
||||
//Merge equal consecutive values
|
||||
mergeValues?: bool | *true
|
||||
//Controls value alignment on the timelines
|
||||
alignValue?: ui.TimelineValueAlignment & (*"left" | _)
|
||||
} @cuetsy(kind="interface")
|
||||
FieldConfig: {
|
||||
ui.HideableFieldConfig
|
||||
lineWidth?: uint32 & <=10 | *0
|
||||
fillOpacity?: uint32 & <=100 | *70
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
//Show timeline values on chart
|
||||
showValue: ui.VisibilityMode & (*"auto" | _)
|
||||
//Controls the row height
|
||||
rowHeight: float & <=1 | *0.9
|
||||
//Merge equal consecutive values
|
||||
mergeValues?: bool | *true
|
||||
//Controls value alignment on the timelines
|
||||
alignValue?: ui.TimelineValueAlignment & (*"left" | _)
|
||||
} @cuetsy(kind="interface")
|
||||
FieldConfig: {
|
||||
ui.HideableFieldConfig
|
||||
lineWidth?: uint32 & <=10 | *0
|
||||
fillOpacity?: uint32 & <=100 | *70
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -21,30 +21,28 @@ import (
|
||||
composableKinds: PanelCfg: {
|
||||
maturity: "experimental"
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
Options: {
|
||||
ui.OptionsWithLegend
|
||||
ui.OptionsWithTooltip
|
||||
ui.OptionsWithTimezones
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
Options: {
|
||||
ui.OptionsWithLegend
|
||||
ui.OptionsWithTooltip
|
||||
ui.OptionsWithTimezones
|
||||
|
||||
//Set the height of the rows
|
||||
rowHeight: float32 & >=0 & <=1 | *0.9
|
||||
//Show values on the columns
|
||||
showValue: ui.VisibilityMode & (*"auto" | _)
|
||||
//Controls the column width
|
||||
colWidth?: float & <=1 | *0.9
|
||||
} @cuetsy(kind="interface")
|
||||
FieldConfig: {
|
||||
ui.HideableFieldConfig
|
||||
lineWidth?: uint32 & <=10 | *1
|
||||
fillOpacity?: uint32 & <=100 | *70
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
//Set the height of the rows
|
||||
rowHeight: float32 & >=0 & <=1 | *0.9
|
||||
//Show values on the columns
|
||||
showValue: ui.VisibilityMode & (*"auto" | _)
|
||||
//Controls the column width
|
||||
colWidth?: float & <=1 | *0.9
|
||||
} @cuetsy(kind="interface")
|
||||
FieldConfig: {
|
||||
ui.HideableFieldConfig
|
||||
lineWidth?: uint32 & <=10 | *1
|
||||
fillOpacity?: uint32 & <=100 | *70
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -21,34 +21,32 @@ import (
|
||||
composableKinds: PanelCfg: {
|
||||
maturity: "experimental"
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
Options: {
|
||||
// Represents the index of the selected frame
|
||||
frameIndex: number | *0
|
||||
// Controls whether the panel should show the header
|
||||
showHeader: bool | *true
|
||||
// Controls whether the header should show icons for the column types
|
||||
showTypeIcons?: bool | *false
|
||||
// Used to control row sorting
|
||||
sortBy?: [...ui.TableSortByFieldState]
|
||||
// Controls footer options
|
||||
footer?: ui.TableFooterOptions | *{
|
||||
// Controls whether the footer should be shown
|
||||
show: false
|
||||
// Controls whether the footer should show the total number of rows on Count calculation
|
||||
countRows: false
|
||||
// Represents the selected calculations
|
||||
reducer: []
|
||||
}
|
||||
// Controls the height of the rows
|
||||
cellHeight?: ui.TableCellHeight & (*"sm" | _)
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
Options: {
|
||||
// Represents the index of the selected frame
|
||||
frameIndex: number | *0
|
||||
// Controls whether the panel should show the header
|
||||
showHeader: bool | *true
|
||||
// Controls whether the header should show icons for the column types
|
||||
showTypeIcons?: bool | *false
|
||||
// Used to control row sorting
|
||||
sortBy?: [...ui.TableSortByFieldState]
|
||||
// Controls footer options
|
||||
footer?: ui.TableFooterOptions | *{
|
||||
// Controls whether the footer should be shown
|
||||
show: false
|
||||
// Controls whether the footer should show the total number of rows on Count calculation
|
||||
countRows: false
|
||||
// Represents the selected calculations
|
||||
reducer: []
|
||||
}
|
||||
// Controls the height of the rows
|
||||
cellHeight?: ui.TableCellHeight & (*"sm" | _)
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -18,33 +18,31 @@ composableKinds: PanelCfg: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
TextMode: "html" | "markdown" | "code" @cuetsy(kind="enum",memberNames="HTML|Markdown|Code")
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
TextMode: "html" | "markdown" | "code" @cuetsy(kind="enum",memberNames="HTML|Markdown|Code")
|
||||
|
||||
CodeLanguage: "json" | "yaml" | "xml" | "typescript" | "sql" | "go" | "markdown" | "html" | *"plaintext" @cuetsy(kind="enum")
|
||||
CodeLanguage: "json" | "yaml" | "xml" | "typescript" | "sql" | "go" | "markdown" | "html" | *"plaintext" @cuetsy(kind="enum")
|
||||
|
||||
CodeOptions: {
|
||||
// The language passed to monaco code editor
|
||||
language: CodeLanguage
|
||||
showLineNumbers: bool | *false
|
||||
showMiniMap: bool | *false
|
||||
} @cuetsy(kind="interface")
|
||||
CodeOptions: {
|
||||
// The language passed to monaco code editor
|
||||
language: CodeLanguage
|
||||
showLineNumbers: bool | *false
|
||||
showMiniMap: bool | *false
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
Options: {
|
||||
mode: TextMode & (*"markdown" | _)
|
||||
code?: CodeOptions
|
||||
content: string | *"""
|
||||
# Title
|
||||
Options: {
|
||||
mode: TextMode & (*"markdown" | _)
|
||||
code?: CodeOptions
|
||||
content: string | *"""
|
||||
# Title
|
||||
|
||||
For markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)
|
||||
"""
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
For markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)
|
||||
"""
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
@ -18,21 +18,17 @@ import (
|
||||
"github.com/grafana/grafana/packages/grafana-schema/src/common"
|
||||
)
|
||||
|
||||
composableKinds: PanelCfg: {
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
Options: common.OptionsWithTimezones & {
|
||||
legend: common.VizLegendOptions
|
||||
tooltip: common.VizTooltipOptions
|
||||
} @cuetsy(kind="interface")
|
||||
composableKinds: PanelCfg: lineage: {
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
Options: common.OptionsWithTimezones & {
|
||||
legend: common.VizLegendOptions
|
||||
tooltip: common.VizTooltipOptions
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
FieldConfig: common.GraphFieldConfig & {} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
}
|
||||
FieldConfig: common.GraphFieldConfig & {} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
|
@ -18,25 +18,21 @@ import (
|
||||
"github.com/grafana/grafana/packages/grafana-schema/src/common"
|
||||
)
|
||||
|
||||
composableKinds: PanelCfg: {
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
// Identical to timeseries... except it does not have timezone settings
|
||||
Options: {
|
||||
legend: common.VizLegendOptions
|
||||
tooltip: common.VizTooltipOptions
|
||||
composableKinds: PanelCfg: lineage: {
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
// Identical to timeseries... except it does not have timezone settings
|
||||
Options: {
|
||||
legend: common.VizLegendOptions
|
||||
tooltip: common.VizTooltipOptions
|
||||
|
||||
// Name of the x field to use (defaults to first number)
|
||||
xField?: string
|
||||
} @cuetsy(kind="interface")
|
||||
// Name of the x field to use (defaults to first number)
|
||||
xField?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
FieldConfig: common.GraphFieldConfig & {} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
}
|
||||
FieldConfig: common.GraphFieldConfig & {} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
|
@ -26,54 +26,52 @@ composableKinds: PanelCfg: {
|
||||
maturity: "experimental"
|
||||
|
||||
lineage: {
|
||||
seqs: [
|
||||
{
|
||||
schemas: [
|
||||
{
|
||||
schemas: [{
|
||||
version: [0, 0]
|
||||
schema: {
|
||||
|
||||
SeriesMapping: "auto" | "manual" @cuetsy(kind="enum")
|
||||
ScatterShow: "points" | "lines" | "points+lines" @cuetsy(kind="enum", memberNames="Points|Lines|PointsAndLines")
|
||||
SeriesMapping: "auto" | "manual" @cuetsy(kind="enum")
|
||||
ScatterShow: "points" | "lines" | "points+lines" @cuetsy(kind="enum", memberNames="Points|Lines|PointsAndLines")
|
||||
|
||||
XYDimensionConfig: {
|
||||
frame: int32 & >=0
|
||||
x?: string
|
||||
exclude?: [...string]
|
||||
} @cuetsy(kind="interface")
|
||||
XYDimensionConfig: {
|
||||
frame: int32 & >=0
|
||||
x?: string
|
||||
exclude?: [...string]
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
ScatterFieldConfig: {
|
||||
common.HideableFieldConfig
|
||||
common.AxisConfig
|
||||
ScatterFieldConfig: {
|
||||
common.HideableFieldConfig
|
||||
common.AxisConfig
|
||||
|
||||
show?: ScatterShow & (*"points" | _)
|
||||
show?: ScatterShow & (*"points" | _)
|
||||
|
||||
pointSize?: common.ScaleDimensionConfig
|
||||
lineColor?: common.ColorDimensionConfig
|
||||
pointColor?: common.ColorDimensionConfig
|
||||
labelValue?: common.TextDimensionConfig
|
||||
pointSize?: common.ScaleDimensionConfig
|
||||
lineColor?: common.ColorDimensionConfig
|
||||
pointColor?: common.ColorDimensionConfig
|
||||
labelValue?: common.TextDimensionConfig
|
||||
|
||||
lineWidth?: int32 & >=0
|
||||
lineStyle?: common.LineStyle
|
||||
label?: common.VisibilityMode & (*"auto" | _)
|
||||
} @cuetsy(kind="interface",TSVeneer="type")
|
||||
lineWidth?: int32 & >=0
|
||||
lineStyle?: common.LineStyle
|
||||
label?: common.VisibilityMode & (*"auto" | _)
|
||||
} @cuetsy(kind="interface",TSVeneer="type")
|
||||
|
||||
ScatterSeriesConfig: {
|
||||
ScatterFieldConfig
|
||||
x?: string
|
||||
y?: string
|
||||
name?: string
|
||||
} @cuetsy(kind="interface")
|
||||
ScatterSeriesConfig: {
|
||||
ScatterFieldConfig
|
||||
x?: string
|
||||
y?: string
|
||||
name?: string
|
||||
} @cuetsy(kind="interface")
|
||||
|
||||
Options: {
|
||||
common.OptionsWithLegend
|
||||
common.OptionsWithTooltip
|
||||
Options: {
|
||||
common.OptionsWithLegend
|
||||
common.OptionsWithTooltip
|
||||
|
||||
seriesMapping?: SeriesMapping
|
||||
dims: XYDimensionConfig
|
||||
series: [...ScatterSeriesConfig]
|
||||
} @cuetsy(kind="interface")
|
||||
},
|
||||
]
|
||||
},
|
||||
]
|
||||
seriesMapping?: SeriesMapping
|
||||
dims: XYDimensionConfig
|
||||
series: [...ScatterSeriesConfig]
|
||||
} @cuetsy(kind="interface")
|
||||
}
|
||||
}]
|
||||
lenses: []
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user