@grafana/plugin-ui 0.14.1-dsconfig.b962e11 → 0.14.1-dsconfig.ced809d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +1073 -317
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.d.cts +135 -5
- package/dist/cjs/schemas.cjs +14853 -0
- package/dist/cjs/schemas.cjs.map +1 -0
- package/dist/cjs/schemas.d.cts +373 -0
- package/dist/cjs/test-utils.d.cts +23 -23
- package/dist/esm/components/ConfigEditor/ConfigSection/ConfigDescriptionLink.js +2 -2
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceConfigWizard.js +14 -9
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceConfigWizard.js.map +1 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceErrorBoundary.js +27 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/DatasourceErrorBoundary.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/SchemaField.js +16 -5
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/SchemaField.js.map +1 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/SidebarNav.js.map +1 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/TabLayout.js +9 -4
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/TabLayout.js.map +1 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/fieldUtils.js +61 -11
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/fieldUtils.js.map +1 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/{useDatasourceConfigForm.js → hooks/useDatasourceConfigForm.js} +71 -29
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/useDatasourceConfigForm.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/useHealthChecks.js +106 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/hooks/useHealthChecks.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/{AuthorizationHeaderField.js → inputs/AuthorizationHeaderField.js} +6 -8
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/AuthorizationHeaderField.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/{ComplexFieldNote.js → inputs/ComplexFieldNote.js} +6 -4
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/ComplexFieldNote.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/FileUploadField.js +106 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/FileUploadField.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/{IndexedPairEditor.js → inputs/IndexedPairEditor.js} +52 -52
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/IndexedPairEditor.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/ObjectArrayEditor.js +190 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/ObjectArrayEditor.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/{PdcFieldNote.js → inputs/PdcFieldNote.js} +5 -8
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/PdcFieldNote.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/{SecureFieldInput.js → inputs/SecureFieldInput.js} +8 -10
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/SecureFieldInput.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/StringArrayInput.js +80 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/inputs/StringArrayInput.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/renderFieldInput.js +76 -41
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/renderFieldInput.js.map +1 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/resolvePluginName.js +30 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/resolvePluginName.js.map +1 -0
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/tabStyles.js +4 -4
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/tabStyles.js.map +1 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/wizardStyles.js +3 -3
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/wizardStyles.js.map +1 -1
- package/dist/esm/components/DataLinks/DataLink.js +2 -2
- package/dist/esm/components/DataLinks/DataLinks.js +2 -2
- package/dist/esm/components/DataSourcePicker/DataSourcePicker.js +7 -7
- package/dist/esm/components/DatePicker/styles.js +2 -2
- package/dist/esm/components/DatePickerWithInput/styles.js +2 -2
- package/dist/esm/components/QueryEditor/EditorField.js +2 -2
- package/dist/esm/components/QueryEditor/EditorHeader.js +2 -2
- package/dist/esm/components/QueryEditor/EditorRow.js +2 -2
- package/dist/esm/components/QueryEditor/EditorSwitch.js +2 -2
- package/dist/esm/components/QueryEditor/InputGroup.js +2 -2
- package/dist/esm/components/QueryEditor/Space.js +2 -2
- package/dist/esm/components/QueryEditor/query-editor-raw/RawEditor.js +2 -2
- package/dist/esm/components/QueryEditor/visual-query-builder/EditorField.js +2 -2
- package/dist/esm/components/QueryEditor/visual-query-builder/EditorRow.js +2 -2
- package/dist/esm/components/QueryEditor/visual-query-builder/Preview.js +2 -2
- package/dist/esm/components/QueryEditor/visual-query-builder/SelectRow.js +2 -2
- package/dist/esm/datasource/SqlDatasource.js +10 -10
- package/dist/esm/datasource/schema/cel.js +42 -0
- package/dist/esm/datasource/schema/cel.js.map +1 -0
- package/dist/esm/datasource/schema/config.js +37 -14
- package/dist/esm/datasource/schema/config.js.map +1 -1
- package/dist/esm/datasource/schema/datasource.js +129 -3
- package/dist/esm/datasource/schema/datasource.js.map +1 -1
- package/dist/esm/datasource/schema/datasources/alertmanager.schema.json.js +77 -0
- package/dist/esm/datasource/schema/datasources/alertmanager.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/cloudwatch.schema.json.js +384 -0
- package/dist/esm/datasource/schema/datasources/cloudwatch.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/elasticsearch.schema.json.js +287 -0
- package/dist/esm/datasource/schema/datasources/elasticsearch.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-amazonprometheus-datasource.schema.json.js +166 -0
- package/dist/esm/datasource/schema/datasources/grafana-amazonprometheus-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-appdynamics-datasource.schema.json.js +145 -0
- package/dist/esm/datasource/schema/datasources/grafana-appdynamics-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-astradb-datasource.schema.json.js +123 -0
- package/dist/esm/datasource/schema/datasources/grafana-astradb-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-athena-datasource.schema.json.js +158 -0
- package/dist/esm/datasource/schema/datasources/grafana-athena-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-azure-data-explorer-datasource.schema.json.js +204 -0
- package/dist/esm/datasource/schema/datasources/grafana-azure-data-explorer-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-azure-monitor-datasource.schema.json.js +294 -0
- package/dist/esm/datasource/schema/datasources/grafana-azure-monitor-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-azuredevops-datasource.schema.json.js +101 -0
- package/dist/esm/datasource/schema/datasources/grafana-azuredevops-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-azureprometheus-datasource.schema.json.js +125 -0
- package/dist/esm/datasource/schema/datasources/grafana-azureprometheus-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-bigquery-datasource.schema.json.js +508 -0
- package/dist/esm/datasource/schema/datasources/grafana-bigquery-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-clickhouse-datasource.schema.json.js +1400 -0
- package/dist/esm/datasource/schema/datasources/grafana-clickhouse-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-cockroachdb-datasource.schema.json.js +302 -0
- package/dist/esm/datasource/schema/datasources/grafana-cockroachdb-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-databricks-datasource.schema.json.js +291 -0
- package/dist/esm/datasource/schema/datasources/grafana-databricks-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-datadog-datasource.schema.json.js +155 -0
- package/dist/esm/datasource/schema/datasources/grafana-datadog-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-dynatrace-datasource.schema.json.js +179 -0
- package/dist/esm/datasource/schema/datasources/grafana-dynatrace-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-falconlogscale-datasource.schema.json.js +134 -0
- package/dist/esm/datasource/schema/datasources/grafana-falconlogscale-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-github-datasource.schema.json.js +156 -0
- package/dist/esm/datasource/schema/datasources/grafana-github-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-gitlab-datasource.schema.json.js +84 -0
- package/dist/esm/datasource/schema/datasources/grafana-gitlab-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-googlesheets-datasource.schema.json.js +231 -0
- package/dist/esm/datasource/schema/datasources/grafana-googlesheets-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-honeycomb-datasource.schema.json.js +87 -0
- package/dist/esm/datasource/schema/datasources/grafana-honeycomb-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-iot-sitewise-datasource.schema.json.js +159 -0
- package/dist/esm/datasource/schema/datasources/grafana-iot-sitewise-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-jira-datasource.schema.json.js +188 -0
- package/dist/esm/datasource/schema/datasources/grafana-jira-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-looker-datasource.schema.json.js +82 -0
- package/dist/esm/datasource/schema/datasources/grafana-looker-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-mongodb-datasource.schema.json.js +278 -0
- package/dist/esm/datasource/schema/datasources/grafana-mongodb-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-mqtt-datasource.schema.json.js +168 -0
- package/dist/esm/datasource/schema/datasources/grafana-mqtt-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-newrelic-datasource.schema.json.js +129 -0
- package/dist/esm/datasource/schema/datasources/grafana-newrelic-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-odbc-datasource.schema.json.js +56 -0
- package/dist/esm/datasource/schema/datasources/grafana-odbc-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-opensearch-datasource.schema.json.js +212 -0
- package/dist/esm/datasource/schema/datasources/grafana-opensearch-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-oracle-datasource.schema.json.js +186 -0
- package/dist/esm/datasource/schema/datasources/grafana-oracle-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-pagerduty-datasource.schema.json.js +85 -0
- package/dist/esm/datasource/schema/datasources/grafana-pagerduty-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-postgresql-datasource.schema.json.js +411 -0
- package/dist/esm/datasource/schema/datasources/grafana-postgresql-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-pyroscope-datasource.schema.json.js +41 -0
- package/dist/esm/datasource/schema/datasources/grafana-pyroscope-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-redshift-datasource.schema.json.js +201 -0
- package/dist/esm/datasource/schema/datasources/grafana-redshift-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-salesforce-datasource.schema.json.js +201 -0
- package/dist/esm/datasource/schema/datasources/grafana-salesforce-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-saphana-datasource.schema.json.js +208 -0
- package/dist/esm/datasource/schema/datasources/grafana-saphana-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-sentry-datasource.schema.json.js +94 -0
- package/dist/esm/datasource/schema/datasources/grafana-sentry-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-servicenow-datasource.schema.json.js +179 -0
- package/dist/esm/datasource/schema/datasources/grafana-servicenow-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-snowflake-datasource.schema.json.js +304 -0
- package/dist/esm/datasource/schema/datasources/grafana-snowflake-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-splunk-datasource.schema.json.js +319 -0
- package/dist/esm/datasource/schema/datasources/grafana-splunk-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-splunkobservability-datasource.schema.json.js +90 -0
- package/dist/esm/datasource/schema/datasources/grafana-splunkobservability-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-strava-datasource.schema.json.js +74 -0
- package/dist/esm/datasource/schema/datasources/grafana-strava-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-sumologic-datasource.schema.json.js +102 -0
- package/dist/esm/datasource/schema/datasources/grafana-sumologic-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-surrealdb-datasource.schema.json.js +92 -0
- package/dist/esm/datasource/schema/datasources/grafana-surrealdb-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-timestream-datasource.schema.json.js +145 -0
- package/dist/esm/datasource/schema/datasources/grafana-timestream-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-wavefront-datasource.schema.json.js +80 -0
- package/dist/esm/datasource/schema/datasources/grafana-wavefront-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-x-ray-datasource.schema.json.js +112 -0
- package/dist/esm/datasource/schema/datasources/grafana-x-ray-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/grafana-yugabyte-datasource.schema.json.js +114 -0
- package/dist/esm/datasource/schema/datasources/grafana-yugabyte-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/graphite.schema.json.js +104 -0
- package/dist/esm/datasource/schema/datasources/graphite.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/influxdb.schema.json.js +717 -0
- package/dist/esm/datasource/schema/datasources/influxdb.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/jaeger.schema.json.js +59 -0
- package/dist/esm/datasource/schema/datasources/jaeger.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/loki.schema.json.js +545 -0
- package/dist/esm/datasource/schema/datasources/loki.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/marcusolsson-csv-datasource.schema.json.js +45 -0
- package/dist/esm/datasource/schema/datasources/marcusolsson-csv-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/marcusolsson-json-datasource.schema.json.js +36 -0
- package/dist/esm/datasource/schema/datasources/marcusolsson-json-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/mssql.schema.json.js +292 -0
- package/dist/esm/datasource/schema/datasources/mssql.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/mysql.schema.json.js +304 -0
- package/dist/esm/datasource/schema/datasources/mysql.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/opentsdb.schema.json.js +113 -0
- package/dist/esm/datasource/schema/datasources/opentsdb.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/prometheus.schema.json.js +783 -0
- package/dist/esm/datasource/schema/datasources/prometheus.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/stackdriver.schema.json.js +224 -0
- package/dist/esm/datasource/schema/datasources/stackdriver.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/tempo.schema.json.js +664 -0
- package/dist/esm/datasource/schema/datasources/tempo.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/yesoreyeram-infinity-datasource.schema.json.js +1073 -0
- package/dist/esm/datasource/schema/datasources/yesoreyeram-infinity-datasource.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/datasources/zipkin.schema.json.js +40 -0
- package/dist/esm/datasource/schema/datasources/zipkin.schema.json.js.map +1 -0
- package/dist/esm/datasource/schema/schemaRegistry.js +139 -0
- package/dist/esm/datasource/schema/schemaRegistry.js.map +1 -0
- package/dist/esm/index.d.ts +135 -5
- package/dist/esm/index.js +6 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/schemas.d.ts +373 -0
- package/dist/esm/schemas.js +2 -0
- package/dist/esm/schemas.js.map +1 -0
- package/dist/esm/test-utils.d.ts +23 -23
- package/package.json +23 -6
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/AuthorizationHeaderField.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/ComplexFieldNote.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/IndexedPairEditor.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/PdcFieldNote.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/SecureFieldInput.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/StringArrayInput.js +0 -84
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/StringArrayInput.js.map +0 -1
- package/dist/esm/components/ConfigEditor/DatasourceConfigWizard/useDatasourceConfigForm.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemas.cjs","sources":["../../src/datasource/schema/schemaRegistry.ts"],"sourcesContent":["import type { DatasourceConfigSchema } from './schema';\n\nimport alertmanagerSchema from './datasources/alertmanager.schema.json';\nimport cloudwatchSchema from './datasources/cloudwatch.schema.json';\nimport elasticsearchSchema from './datasources/elasticsearch.schema.json';\nimport grafanaAmazonprometheusDatasourceSchema from './datasources/grafana-amazonprometheus-datasource.schema.json';\nimport grafanaAppdynamicsDatasourceSchema from './datasources/grafana-appdynamics-datasource.schema.json';\nimport grafanaAstradbDatasourceSchema from './datasources/grafana-astradb-datasource.schema.json';\nimport grafanaAthenaDatasourceSchema from './datasources/grafana-athena-datasource.schema.json';\nimport grafanaAzureDataExplorerDatasourceSchema from './datasources/grafana-azure-data-explorer-datasource.schema.json';\nimport grafanaAzureMonitorDatasourceSchema from './datasources/grafana-azure-monitor-datasource.schema.json';\nimport grafanaAzuredevopsDatasourceSchema from './datasources/grafana-azuredevops-datasource.schema.json';\nimport grafanaAzureprometheusDatasourceSchema from './datasources/grafana-azureprometheus-datasource.schema.json';\nimport grafanaBigqueryDatasourceSchema from './datasources/grafana-bigquery-datasource.schema.json';\nimport grafanaClickhouseDatasourceSchema from './datasources/grafana-clickhouse-datasource.schema.json';\nimport grafanaCockroachdbDatasourceSchema from './datasources/grafana-cockroachdb-datasource.schema.json';\nimport grafanaDatabricksDatasourceSchema from './datasources/grafana-databricks-datasource.schema.json';\nimport grafanaDatadogDatasourceSchema from './datasources/grafana-datadog-datasource.schema.json';\nimport grafanaDynatraceDatasourceSchema from './datasources/grafana-dynatrace-datasource.schema.json';\nimport grafanaFalconlogscaleDatasourceSchema from './datasources/grafana-falconlogscale-datasource.schema.json';\nimport grafanaGithubDatasourceSchema from './datasources/grafana-github-datasource.schema.json';\nimport grafanaGitlabDatasourceSchema from './datasources/grafana-gitlab-datasource.schema.json';\nimport grafanaGooglesheetsDatasourceSchema from './datasources/grafana-googlesheets-datasource.schema.json';\nimport grafanaHoneycombDatasourceSchema from './datasources/grafana-honeycomb-datasource.schema.json';\nimport grafanaIotSitewiseDatasourceSchema from './datasources/grafana-iot-sitewise-datasource.schema.json';\nimport grafanaJiraDatasourceSchema from './datasources/grafana-jira-datasource.schema.json';\nimport grafanaLookerDatasourceSchema from './datasources/grafana-looker-datasource.schema.json';\nimport grafanaMongodbDatasourceSchema from './datasources/grafana-mongodb-datasource.schema.json';\nimport grafanaMqttDatasourceSchema from './datasources/grafana-mqtt-datasource.schema.json';\nimport grafanaNewrelicDatasourceSchema from './datasources/grafana-newrelic-datasource.schema.json';\nimport grafanaOdbcDatasourceSchema from './datasources/grafana-odbc-datasource.schema.json';\nimport grafanaOpensearchDatasourceSchema from './datasources/grafana-opensearch-datasource.schema.json';\nimport grafanaOracleDatasourceSchema from './datasources/grafana-oracle-datasource.schema.json';\nimport grafanaPagerdutyDatasourceSchema from './datasources/grafana-pagerduty-datasource.schema.json';\nimport grafanaPostgresqlDatasourceSchema from './datasources/grafana-postgresql-datasource.schema.json';\nimport grafanaPyroscopeDatasourceSchema from './datasources/grafana-pyroscope-datasource.schema.json';\nimport grafanaRedshiftDatasourceSchema from './datasources/grafana-redshift-datasource.schema.json';\nimport grafanaSalesforceDatasourceSchema from './datasources/grafana-salesforce-datasource.schema.json';\nimport grafanaSaphanaDatasourceSchema from './datasources/grafana-saphana-datasource.schema.json';\nimport grafanaSentryDatasourceSchema from './datasources/grafana-sentry-datasource.schema.json';\nimport grafanaServicenowDatasourceSchema from './datasources/grafana-servicenow-datasource.schema.json';\nimport grafanaSnowflakeDatasourceSchema from './datasources/grafana-snowflake-datasource.schema.json';\nimport grafanaSplunkDatasourceSchema from './datasources/grafana-splunk-datasource.schema.json';\nimport grafanaSplunkobservabilityDatasourceSchema from './datasources/grafana-splunkobservability-datasource.schema.json';\nimport grafanaStravaDatasourceSchema from './datasources/grafana-strava-datasource.schema.json';\nimport grafanaSumologicDatasourceSchema from './datasources/grafana-sumologic-datasource.schema.json';\nimport grafanaSurrealdbDatasourceSchema from './datasources/grafana-surrealdb-datasource.schema.json';\nimport grafanaTimestreamDatasourceSchema from './datasources/grafana-timestream-datasource.schema.json';\nimport grafanaWavefrontDatasourceSchema from './datasources/grafana-wavefront-datasource.schema.json';\nimport grafanaXRayDatasourceSchema from './datasources/grafana-x-ray-datasource.schema.json';\nimport grafanaYugabyteDatasourceSchema from './datasources/grafana-yugabyte-datasource.schema.json';\nimport graphiteSchema from './datasources/graphite.schema.json';\nimport influxdbSchema from './datasources/influxdb.schema.json';\nimport jaegerSchema from './datasources/jaeger.schema.json';\nimport lokiSchema from './datasources/loki.schema.json';\nimport marcusolssonCsvDatasourceSchema from './datasources/marcusolsson-csv-datasource.schema.json';\nimport marcusolssonJsonDatasourceSchema from './datasources/marcusolsson-json-datasource.schema.json';\nimport mssqlSchema from './datasources/mssql.schema.json';\nimport mysqlSchema from './datasources/mysql.schema.json';\nimport opentsdbSchema from './datasources/opentsdb.schema.json';\nimport prometheusSchema from './datasources/prometheus.schema.json';\nimport stackdriverSchema from './datasources/stackdriver.schema.json';\nimport tempoSchema from './datasources/tempo.schema.json';\nimport yesoreyeramInfinityDatasourceSchema from './datasources/yesoreyeram-infinity-datasource.schema.json';\nimport zipkinSchema from './datasources/zipkin.schema.json';\n\nconst asSchema = (s: unknown) => {\n return s as DatasourceConfigSchema;\n};\n\nconst schemaRegistry = new Map<string, DatasourceConfigSchema>([\n ['alertmanager', asSchema(alertmanagerSchema)],\n ['cloudwatch', asSchema(cloudwatchSchema)],\n ['elasticsearch', asSchema(elasticsearchSchema)],\n ['grafana-amazonprometheus-datasource', asSchema(grafanaAmazonprometheusDatasourceSchema)],\n ['grafana-appdynamics-datasource', asSchema(grafanaAppdynamicsDatasourceSchema)],\n ['grafana-astradb-datasource', asSchema(grafanaAstradbDatasourceSchema)],\n ['grafana-athena-datasource', asSchema(grafanaAthenaDatasourceSchema)],\n ['grafana-azure-data-explorer-datasource', asSchema(grafanaAzureDataExplorerDatasourceSchema)],\n ['grafana-azure-monitor-datasource', asSchema(grafanaAzureMonitorDatasourceSchema)],\n ['grafana-azuredevops-datasource', asSchema(grafanaAzuredevopsDatasourceSchema)],\n ['grafana-azureprometheus-datasource', asSchema(grafanaAzureprometheusDatasourceSchema)],\n ['grafana-bigquery-datasource', asSchema(grafanaBigqueryDatasourceSchema)],\n ['grafana-clickhouse-datasource', asSchema(grafanaClickhouseDatasourceSchema)],\n ['grafana-cockroachdb-datasource', asSchema(grafanaCockroachdbDatasourceSchema)],\n ['grafana-databricks-datasource', asSchema(grafanaDatabricksDatasourceSchema)],\n ['grafana-datadog-datasource', asSchema(grafanaDatadogDatasourceSchema)],\n ['grafana-dynatrace-datasource', asSchema(grafanaDynatraceDatasourceSchema)],\n ['grafana-falconlogscale-datasource', asSchema(grafanaFalconlogscaleDatasourceSchema)],\n ['grafana-github-datasource', asSchema(grafanaGithubDatasourceSchema)],\n ['grafana-gitlab-datasource', asSchema(grafanaGitlabDatasourceSchema)],\n ['grafana-googlesheets-datasource', asSchema(grafanaGooglesheetsDatasourceSchema)],\n ['grafana-honeycomb-datasource', asSchema(grafanaHoneycombDatasourceSchema)],\n ['grafana-iot-sitewise-datasource', asSchema(grafanaIotSitewiseDatasourceSchema)],\n ['grafana-jira-datasource', asSchema(grafanaJiraDatasourceSchema)],\n ['grafana-looker-datasource', asSchema(grafanaLookerDatasourceSchema)],\n ['grafana-mongodb-datasource', asSchema(grafanaMongodbDatasourceSchema)],\n ['grafana-mqtt-datasource', asSchema(grafanaMqttDatasourceSchema)],\n ['grafana-newrelic-datasource', asSchema(grafanaNewrelicDatasourceSchema)],\n ['grafana-odbc-datasource', asSchema(grafanaOdbcDatasourceSchema)],\n ['grafana-opensearch-datasource', asSchema(grafanaOpensearchDatasourceSchema)],\n ['grafana-oracle-datasource', asSchema(grafanaOracleDatasourceSchema)],\n ['grafana-pagerduty-datasource', asSchema(grafanaPagerdutyDatasourceSchema)],\n ['grafana-postgresql-datasource', asSchema(grafanaPostgresqlDatasourceSchema)],\n ['grafana-pyroscope-datasource', asSchema(grafanaPyroscopeDatasourceSchema)],\n ['grafana-redshift-datasource', asSchema(grafanaRedshiftDatasourceSchema)],\n ['grafana-salesforce-datasource', asSchema(grafanaSalesforceDatasourceSchema)],\n ['grafana-saphana-datasource', asSchema(grafanaSaphanaDatasourceSchema)],\n ['grafana-sentry-datasource', asSchema(grafanaSentryDatasourceSchema)],\n ['grafana-servicenow-datasource', asSchema(grafanaServicenowDatasourceSchema)],\n ['grafana-snowflake-datasource', asSchema(grafanaSnowflakeDatasourceSchema)],\n ['grafana-splunk-datasource', asSchema(grafanaSplunkDatasourceSchema)],\n ['grafana-splunkobservability-datasource', asSchema(grafanaSplunkobservabilityDatasourceSchema)],\n ['grafana-strava-datasource', asSchema(grafanaStravaDatasourceSchema)],\n ['grafana-sumologic-datasource', asSchema(grafanaSumologicDatasourceSchema)],\n ['grafana-surrealdb-datasource', asSchema(grafanaSurrealdbDatasourceSchema)],\n ['grafana-timestream-datasource', asSchema(grafanaTimestreamDatasourceSchema)],\n ['grafana-wavefront-datasource', asSchema(grafanaWavefrontDatasourceSchema)],\n ['grafana-x-ray-datasource', asSchema(grafanaXRayDatasourceSchema)],\n ['grafana-yugabyte-datasource', asSchema(grafanaYugabyteDatasourceSchema)],\n ['graphite', asSchema(graphiteSchema)],\n ['influxdb', asSchema(influxdbSchema)],\n ['jaeger', asSchema(jaegerSchema)],\n ['loki', asSchema(lokiSchema)],\n ['marcusolsson-csv-datasource', asSchema(marcusolssonCsvDatasourceSchema)],\n ['marcusolsson-json-datasource', asSchema(marcusolssonJsonDatasourceSchema)],\n ['mssql', asSchema(mssqlSchema)],\n ['mysql', asSchema(mysqlSchema)],\n ['opentsdb', asSchema(opentsdbSchema)],\n ['prometheus', asSchema(prometheusSchema)],\n ['stackdriver', asSchema(stackdriverSchema)],\n ['tempo', asSchema(tempoSchema)],\n ['yesoreyeram-infinity-datasource', asSchema(yesoreyeramInfinityDatasourceSchema)],\n ['zipkin', asSchema(zipkinSchema)],\n]);\n\nexport function getConfigSchema(pluginType: string): DatasourceConfigSchema | null {\n return schemaRegistry.get(pluginType) ?? null;\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
|
|
@@ -0,0 +1,373 @@
|
|
|
1
|
+
interface DatasourceConfigSchema {
|
|
2
|
+
/**
|
|
3
|
+
* Schema version (required)
|
|
4
|
+
* Used for compatibility and migrations
|
|
5
|
+
*
|
|
6
|
+
* Example: "v2"
|
|
7
|
+
*/
|
|
8
|
+
schemaVersion: string;
|
|
9
|
+
/**
|
|
10
|
+
* Unique datasource plugin identifier
|
|
11
|
+
* Example: "prometheus"
|
|
12
|
+
*/
|
|
13
|
+
pluginType: string;
|
|
14
|
+
/**
|
|
15
|
+
* Human-readable name
|
|
16
|
+
*/
|
|
17
|
+
pluginName: string;
|
|
18
|
+
/**
|
|
19
|
+
* Optional documentation URL
|
|
20
|
+
*/
|
|
21
|
+
docURL?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Source of truth for configuration
|
|
24
|
+
*/
|
|
25
|
+
fields: ConfigField[];
|
|
26
|
+
/**
|
|
27
|
+
* Optional UI grouping
|
|
28
|
+
*/
|
|
29
|
+
groups?: ConfigGroup[];
|
|
30
|
+
/**
|
|
31
|
+
* Relationships between fields
|
|
32
|
+
*/
|
|
33
|
+
relationships?: FieldRelationship[];
|
|
34
|
+
}
|
|
35
|
+
interface ConfigField {
|
|
36
|
+
/**
|
|
37
|
+
* Globally unique identifier
|
|
38
|
+
* Recommended format: dot-separated path
|
|
39
|
+
* Example: "auth.method", "httpHeaders.item.key"
|
|
40
|
+
*/
|
|
41
|
+
id: string;
|
|
42
|
+
/**
|
|
43
|
+
* Local key used in storage or object
|
|
44
|
+
*/
|
|
45
|
+
key: string;
|
|
46
|
+
/**
|
|
47
|
+
* UI metadata
|
|
48
|
+
*/
|
|
49
|
+
label?: string;
|
|
50
|
+
description?: string;
|
|
51
|
+
docURL?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Core type of the field
|
|
54
|
+
*/
|
|
55
|
+
valueType: ValueType;
|
|
56
|
+
/**
|
|
57
|
+
* Semantic meaning (optional)
|
|
58
|
+
*/
|
|
59
|
+
semanticType?: SemanticType;
|
|
60
|
+
/**
|
|
61
|
+
* Storage location (required for storage fields)
|
|
62
|
+
*/
|
|
63
|
+
target?: TargetLocation;
|
|
64
|
+
/**
|
|
65
|
+
* Dotted path prefix within the target for nested objects.
|
|
66
|
+
* Example: for jsonData.tracesToLogs.datasourceUid,
|
|
67
|
+
* target="jsonData", section="tracesToLogs", key="datasourceUid".
|
|
68
|
+
*/
|
|
69
|
+
section?: string;
|
|
70
|
+
/**
|
|
71
|
+
* Field kind.
|
|
72
|
+
* @default "storage"
|
|
73
|
+
*/
|
|
74
|
+
kind?: FieldKind;
|
|
75
|
+
/**
|
|
76
|
+
* True if field belongs to array item schema
|
|
77
|
+
*/
|
|
78
|
+
isItemField?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Lifecycle state
|
|
81
|
+
*/
|
|
82
|
+
lifecycle?: Lifecycle;
|
|
83
|
+
/**
|
|
84
|
+
* UI rendering hints
|
|
85
|
+
*/
|
|
86
|
+
ui?: FieldUI;
|
|
87
|
+
/**
|
|
88
|
+
* Validations rules
|
|
89
|
+
*/
|
|
90
|
+
validations?: FieldValidationRule[];
|
|
91
|
+
/**
|
|
92
|
+
* Visibility condition (CEL expression)
|
|
93
|
+
*/
|
|
94
|
+
dependsOn?: Expression;
|
|
95
|
+
/**
|
|
96
|
+
* Always required
|
|
97
|
+
*/
|
|
98
|
+
required?: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Conditionally required
|
|
101
|
+
*/
|
|
102
|
+
requiredWhen?: Expression;
|
|
103
|
+
/**
|
|
104
|
+
* Disabled condition
|
|
105
|
+
*/
|
|
106
|
+
disabledWhen?: Expression;
|
|
107
|
+
/**
|
|
108
|
+
* Dynamic overrides
|
|
109
|
+
*/
|
|
110
|
+
overrides?: FieldOverride[];
|
|
111
|
+
/**
|
|
112
|
+
* Declarative multi-field write side-effects.
|
|
113
|
+
* When this field's value matches a condition, the listed target
|
|
114
|
+
* fields are set to specified values. Typically used on virtual
|
|
115
|
+
* selector fields (e.g. auth method dropdown).
|
|
116
|
+
*/
|
|
117
|
+
effects?: FieldEffect[];
|
|
118
|
+
/**
|
|
119
|
+
* Item schema for array elements or map values.
|
|
120
|
+
* Required if valueType === "array" or "map".
|
|
121
|
+
*/
|
|
122
|
+
item?: FieldItemSchema;
|
|
123
|
+
/**
|
|
124
|
+
* Legacy indexed fields (deprecated)
|
|
125
|
+
*/
|
|
126
|
+
repeatable?: boolean;
|
|
127
|
+
pattern?: string;
|
|
128
|
+
/**
|
|
129
|
+
* Storage mapping
|
|
130
|
+
*/
|
|
131
|
+
storage?: StorageMapping;
|
|
132
|
+
/**
|
|
133
|
+
* Metadata
|
|
134
|
+
*/
|
|
135
|
+
tags?: string[];
|
|
136
|
+
examples?: unknown[];
|
|
137
|
+
defaultValue?: unknown;
|
|
138
|
+
}
|
|
139
|
+
interface FieldItemSchema {
|
|
140
|
+
/**
|
|
141
|
+
* Type of array items or map values.
|
|
142
|
+
* For arrays, describes each element.
|
|
143
|
+
* For maps, describes each value (keys are always strings).
|
|
144
|
+
*/
|
|
145
|
+
valueType: ValueType;
|
|
146
|
+
/**
|
|
147
|
+
* Sub-fields for object items. Optional even when valueType = "object"
|
|
148
|
+
* (omitting allows an unconstrained object).
|
|
149
|
+
*/
|
|
150
|
+
fields?: ConfigField[];
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* CEL expression string
|
|
154
|
+
*/
|
|
155
|
+
type Expression = string;
|
|
156
|
+
type ValueType = 'string' | 'number' | 'boolean' | 'array' | 'object' | 'map' | 'any';
|
|
157
|
+
type SemanticType = 'url' | 'password' | 'token' | 'hostname' | 'duration' | 'datasourceUid' | 'query';
|
|
158
|
+
type FieldKind = 'storage' | 'virtual';
|
|
159
|
+
type Lifecycle = 'stable' | 'deprecated' | 'experimental';
|
|
160
|
+
type TargetLocation = 'root' | 'jsonData' | 'secureJsonData';
|
|
161
|
+
type UIComponent = 'input' | 'textarea' | 'select' | 'multiselect' | 'radio' | 'checkbox' | 'switch' | 'code' | 'keyvalue' | 'list' | 'fileUpload';
|
|
162
|
+
type UIWidth = 'full' | 'half';
|
|
163
|
+
/**
|
|
164
|
+
* UI configuration
|
|
165
|
+
*/
|
|
166
|
+
interface FieldUI {
|
|
167
|
+
component: UIComponent;
|
|
168
|
+
multiline?: boolean;
|
|
169
|
+
rows?: number;
|
|
170
|
+
options?: FieldOption[];
|
|
171
|
+
allowCustom?: boolean;
|
|
172
|
+
width?: UIWidth;
|
|
173
|
+
placeholder?: string;
|
|
174
|
+
/**
|
|
175
|
+
* Language hint for code editor components.
|
|
176
|
+
* Example: "promql", "logql", "traceql", "sql", "json"
|
|
177
|
+
*/
|
|
178
|
+
language?: string;
|
|
179
|
+
/**
|
|
180
|
+
* Layout row index for item fields inside object arrays.
|
|
181
|
+
* Fields with the same row number are rendered horizontally.
|
|
182
|
+
* Fields without a row number use auto-layout:
|
|
183
|
+
* - ≤3 fields: all on one row
|
|
184
|
+
* - >3 fields: each on its own row
|
|
185
|
+
*/
|
|
186
|
+
row?: number;
|
|
187
|
+
/**
|
|
188
|
+
* Accepted file types for fileUpload component.
|
|
189
|
+
* Uses HTML accept attribute format with leading dot.
|
|
190
|
+
* Example: [".json"]
|
|
191
|
+
*/
|
|
192
|
+
accept?: string[];
|
|
193
|
+
/**
|
|
194
|
+
* Maps keys in an uploaded JSON file to target field IDs.
|
|
195
|
+
* Used by fileUpload to distribute parsed values to other form fields.
|
|
196
|
+
* Example: { "private_key": "secureJsonData.privateKey", "client_email": "jsonData.clientEmail" }
|
|
197
|
+
*/
|
|
198
|
+
fileMapping?: Record<string, string>;
|
|
199
|
+
}
|
|
200
|
+
type FieldValidationRule = PatternValidationRule | RangeValidationRule | LengthValidationRule | ItemCountValidationRule | AllowedValuesValidationRule | CustomValidationRule;
|
|
201
|
+
interface BaseValidationRule {
|
|
202
|
+
/**
|
|
203
|
+
* Optional stable ID for the validation rule.
|
|
204
|
+
* Useful for docs, localization, and test snapshots.
|
|
205
|
+
*/
|
|
206
|
+
id?: string;
|
|
207
|
+
/**
|
|
208
|
+
* Human-readable validation error message.
|
|
209
|
+
*/
|
|
210
|
+
message?: string;
|
|
211
|
+
}
|
|
212
|
+
interface PatternValidationRule extends BaseValidationRule {
|
|
213
|
+
type: 'pattern';
|
|
214
|
+
pattern: string;
|
|
215
|
+
}
|
|
216
|
+
interface RangeValidationRule extends BaseValidationRule {
|
|
217
|
+
type: 'range';
|
|
218
|
+
min?: number;
|
|
219
|
+
max?: number;
|
|
220
|
+
}
|
|
221
|
+
interface LengthValidationRule extends BaseValidationRule {
|
|
222
|
+
type: 'length';
|
|
223
|
+
min?: number;
|
|
224
|
+
max?: number;
|
|
225
|
+
}
|
|
226
|
+
interface ItemCountValidationRule extends BaseValidationRule {
|
|
227
|
+
type: 'itemCount';
|
|
228
|
+
min?: number;
|
|
229
|
+
max?: number;
|
|
230
|
+
}
|
|
231
|
+
interface AllowedValuesValidationRule extends BaseValidationRule {
|
|
232
|
+
type: 'allowedValues';
|
|
233
|
+
values: unknown[];
|
|
234
|
+
}
|
|
235
|
+
interface CustomValidationRule extends BaseValidationRule {
|
|
236
|
+
type: 'custom';
|
|
237
|
+
/**
|
|
238
|
+
* CEL expression.
|
|
239
|
+
*
|
|
240
|
+
* Should evaluate to true when the field value is valid.
|
|
241
|
+
*/
|
|
242
|
+
expression: Expression;
|
|
243
|
+
}
|
|
244
|
+
interface FieldOverride {
|
|
245
|
+
/**
|
|
246
|
+
* CEL condition
|
|
247
|
+
*/
|
|
248
|
+
when: Expression;
|
|
249
|
+
defaultValue?: unknown;
|
|
250
|
+
/**
|
|
251
|
+
* When true, the field is disabled/read-only while this override is active.
|
|
252
|
+
*/
|
|
253
|
+
readOnly?: boolean;
|
|
254
|
+
description?: string;
|
|
255
|
+
placeholder?: string;
|
|
256
|
+
tooltip?: string;
|
|
257
|
+
validations?: FieldValidationRule[];
|
|
258
|
+
options?: FieldOption[];
|
|
259
|
+
/**
|
|
260
|
+
* When present on an `isItemField` field, the value is routed to
|
|
261
|
+
* `secureJsonData` under the resolved key instead of being stored
|
|
262
|
+
* inline in the parent array.
|
|
263
|
+
*
|
|
264
|
+
* The template string supports placeholders:
|
|
265
|
+
* - `{index}` — 0-based array position
|
|
266
|
+
* - `{index1}` — 1-based array position
|
|
267
|
+
* - `{item.KEY}` — value of sibling item field `KEY`
|
|
268
|
+
*
|
|
269
|
+
* Examples:
|
|
270
|
+
* - `"secureHttpHeaders.{item.name}"` (ClickHouse)
|
|
271
|
+
* - `"httpHeaderValue{index1}"` (Grafana core headers)
|
|
272
|
+
*/
|
|
273
|
+
secureKey?: string;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Declares that when a field's value matches a condition,
|
|
277
|
+
* listed target fields should be set to specified values.
|
|
278
|
+
*
|
|
279
|
+
* Use "value" in the `when` expression to refer to the field's value.
|
|
280
|
+
*/
|
|
281
|
+
interface FieldEffect {
|
|
282
|
+
/**
|
|
283
|
+
* CEL expression. Example: "value == 'basic-auth'"
|
|
284
|
+
*/
|
|
285
|
+
when: Expression;
|
|
286
|
+
/**
|
|
287
|
+
* Maps field IDs to the values they should be set to.
|
|
288
|
+
* Must contain at least one entry.
|
|
289
|
+
*/
|
|
290
|
+
set: Record<string, unknown> & {
|
|
291
|
+
[k: string]: unknown;
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
type StorageMapping = DirectMapping | IndexedPairMapping | ComputedMapping;
|
|
295
|
+
/**
|
|
296
|
+
* Direct mapping
|
|
297
|
+
*/
|
|
298
|
+
interface DirectMapping {
|
|
299
|
+
type: 'direct';
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Indexed pair mapping (headers)
|
|
303
|
+
*/
|
|
304
|
+
interface IndexedPairMapping {
|
|
305
|
+
type: 'indexedPair';
|
|
306
|
+
key: MappingField;
|
|
307
|
+
value: MappingField;
|
|
308
|
+
startIndex?: number;
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Computed mapping (virtual fields).
|
|
312
|
+
* At least one of `read` or `write` must be provided.
|
|
313
|
+
*/
|
|
314
|
+
type ComputedMapping = {
|
|
315
|
+
type: 'computed';
|
|
316
|
+
read: Expression;
|
|
317
|
+
write?: Expression;
|
|
318
|
+
} | {
|
|
319
|
+
type: 'computed';
|
|
320
|
+
read?: Expression;
|
|
321
|
+
write: Expression;
|
|
322
|
+
};
|
|
323
|
+
/**
|
|
324
|
+
* Mapping field
|
|
325
|
+
*/
|
|
326
|
+
interface MappingField {
|
|
327
|
+
target: TargetLocation;
|
|
328
|
+
pattern: string;
|
|
329
|
+
}
|
|
330
|
+
interface FieldOption {
|
|
331
|
+
label: string;
|
|
332
|
+
/**
|
|
333
|
+
* Must match parent field valueType.
|
|
334
|
+
* Must not be null.
|
|
335
|
+
*/
|
|
336
|
+
value: NonNullable<unknown>;
|
|
337
|
+
/**
|
|
338
|
+
* Optional human-readable description of the option.
|
|
339
|
+
*/
|
|
340
|
+
description?: string;
|
|
341
|
+
}
|
|
342
|
+
interface ConfigGroup {
|
|
343
|
+
id: string;
|
|
344
|
+
title: string;
|
|
345
|
+
description?: string;
|
|
346
|
+
order?: number;
|
|
347
|
+
/**
|
|
348
|
+
* When true, the group is optional and can be collapsed/hidden by default.
|
|
349
|
+
*/
|
|
350
|
+
optional?: boolean;
|
|
351
|
+
/**
|
|
352
|
+
* References field IDs (not keys)
|
|
353
|
+
*/
|
|
354
|
+
fieldRefs: string[];
|
|
355
|
+
}
|
|
356
|
+
type RelationshipType = 'pair' | 'group' | 'datasourceReference';
|
|
357
|
+
interface FieldRelationship {
|
|
358
|
+
type: RelationshipType;
|
|
359
|
+
/**
|
|
360
|
+
* References field IDs
|
|
361
|
+
*/
|
|
362
|
+
fields: string[];
|
|
363
|
+
description?: string;
|
|
364
|
+
/**
|
|
365
|
+
* Constrains the datasource UID to a specific plugin type.
|
|
366
|
+
* Only applicable when type is "datasourceReference".
|
|
367
|
+
*/
|
|
368
|
+
targetPluginType?: string;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
declare function getConfigSchema(pluginType: string): DatasourceConfigSchema | null;
|
|
372
|
+
|
|
373
|
+
export { type DatasourceConfigSchema, getConfigSchema };
|
|
@@ -3,38 +3,38 @@ import { DataSourceInstanceSettings, DataQuery, DataSourcePluginMeta, PluginDepe
|
|
|
3
3
|
import { DataSourceWithBackend } from '@grafana/runtime';
|
|
4
4
|
|
|
5
5
|
declare class DatasourceMock extends DataSourceWithBackend {
|
|
6
|
-
query: jest.Mock<any, any>;
|
|
6
|
+
query: jest.Mock<any, any, any>;
|
|
7
7
|
filterQuery: any;
|
|
8
|
-
applyTemplateVariables: jest.Mock<any, any>;
|
|
9
|
-
getResource: jest.Mock<any, any>;
|
|
10
|
-
postResource: jest.Mock<any, any>;
|
|
11
|
-
callHealthCheck: jest.Mock<any, any>;
|
|
12
|
-
testDatasource: jest.Mock<any, any>;
|
|
8
|
+
applyTemplateVariables: jest.Mock<any, any, any>;
|
|
9
|
+
getResource: jest.Mock<any, any, any>;
|
|
10
|
+
postResource: jest.Mock<any, any, any>;
|
|
11
|
+
callHealthCheck: jest.Mock<any, any, any>;
|
|
12
|
+
testDatasource: jest.Mock<any, any, any>;
|
|
13
13
|
uid: string;
|
|
14
14
|
name: string;
|
|
15
15
|
id: number;
|
|
16
16
|
type: string;
|
|
17
17
|
interval: string;
|
|
18
|
-
importQueries: jest.Mock<any, any>;
|
|
19
|
-
init: jest.Mock<any, any>;
|
|
20
|
-
getQueryHints: jest.Mock<any, any>;
|
|
21
|
-
getQueryDisplayText: jest.Mock<any, any>;
|
|
22
|
-
metricFindQuery: jest.Mock<any, any>;
|
|
23
|
-
getTagKeys: jest.Mock<any, any>;
|
|
24
|
-
getTagValues: jest.Mock<any, any>;
|
|
18
|
+
importQueries: jest.Mock<any, any, any>;
|
|
19
|
+
init: jest.Mock<any, any, any>;
|
|
20
|
+
getQueryHints: jest.Mock<any, any, any>;
|
|
21
|
+
getQueryDisplayText: jest.Mock<any, any, any>;
|
|
22
|
+
metricFindQuery: jest.Mock<any, any, any>;
|
|
23
|
+
getTagKeys: jest.Mock<any, any, any>;
|
|
24
|
+
getTagValues: jest.Mock<any, any, any>;
|
|
25
25
|
components: {};
|
|
26
26
|
meta: _grafana_data.DataSourcePluginMeta<{}>;
|
|
27
|
-
targetContainsTemplate: jest.Mock<any, any>;
|
|
28
|
-
modifyQuery: jest.Mock<any, any>;
|
|
29
|
-
getHighlighterExpression: jest.Mock<any, any>;
|
|
30
|
-
languageProvider: jest.Mock<any, any>;
|
|
31
|
-
getVersion: jest.Mock<any, any>;
|
|
32
|
-
interpolateVariablesInQueries: jest.Mock<any, any>;
|
|
27
|
+
targetContainsTemplate: jest.Mock<any, any, any>;
|
|
28
|
+
modifyQuery: jest.Mock<any, any, any>;
|
|
29
|
+
getHighlighterExpression: jest.Mock<any, any, any>;
|
|
30
|
+
languageProvider: jest.Mock<any, any, any>;
|
|
31
|
+
getVersion: jest.Mock<any, any, any>;
|
|
32
|
+
interpolateVariablesInQueries: jest.Mock<any, any, any>;
|
|
33
33
|
annotations: {};
|
|
34
|
-
annotationQuery: jest.Mock<any, any>;
|
|
35
|
-
streamOptionsProvider: jest.Mock<any, any>;
|
|
36
|
-
getRef: jest.Mock<any, any>;
|
|
37
|
-
protected getRequestHeaders: jest.Mock<any, any>;
|
|
34
|
+
annotationQuery: jest.Mock<any, any, any>;
|
|
35
|
+
streamOptionsProvider: jest.Mock<any, any, any>;
|
|
36
|
+
getRef: jest.Mock<any, any, any>;
|
|
37
|
+
protected getRequestHeaders: jest.Mock<any, any, any>;
|
|
38
38
|
}
|
|
39
39
|
declare const mockDatasource: () => DatasourceMock;
|
|
40
40
|
declare const mockDatasourceInstanceSettings: () => DataSourceInstanceSettings;
|
|
@@ -6,7 +6,7 @@ import { useStyles2 } from '@grafana/ui';
|
|
|
6
6
|
function ConfigDescriptionLink(props) {
|
|
7
7
|
const { description, suffix, feature } = props;
|
|
8
8
|
const text = `Learn more about ${feature}`;
|
|
9
|
-
const styles = useStyles2(getStyles$
|
|
9
|
+
const styles = useStyles2(getStyles$i);
|
|
10
10
|
return /* @__PURE__ */ React.createElement("span", { className: styles.container }, description, /* @__PURE__ */ React.createElement(
|
|
11
11
|
"a",
|
|
12
12
|
{
|
|
@@ -18,7 +18,7 @@ function ConfigDescriptionLink(props) {
|
|
|
18
18
|
text
|
|
19
19
|
));
|
|
20
20
|
}
|
|
21
|
-
const getStyles$
|
|
21
|
+
const getStyles$i = (theme) => {
|
|
22
22
|
return {
|
|
23
23
|
container: css({
|
|
24
24
|
color: theme.colors.text.secondary,
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import React, { useState, useMemo, useCallback } from 'react';
|
|
2
2
|
import { useStyles2, Spinner, Alert, LinkButton, Icon, Tooltip, Button, Select } from '@grafana/ui';
|
|
3
|
-
import { formKey } from '../../../datasource/schema/config.js';
|
|
3
|
+
import { formKey, getWatchedValue } from '../../../datasource/schema/config.js';
|
|
4
4
|
import { SECURE_FIELD_CONFIGURED } from '../../../datasource/schema/datasource.js';
|
|
5
5
|
import { isFieldRequired } from './fieldUtils.js';
|
|
6
6
|
import { SchemaField } from './SchemaField.js';
|
|
7
|
-
import { AuthorizationHeaderField } from './AuthorizationHeaderField.js';
|
|
7
|
+
import { AuthorizationHeaderField } from './inputs/AuthorizationHeaderField.js';
|
|
8
8
|
import { TabLayout } from './TabLayout.js';
|
|
9
9
|
import { getWizardStyles } from './wizardStyles.js';
|
|
10
|
-
import { useDatasourceConfigForm } from './useDatasourceConfigForm.js';
|
|
10
|
+
import { useDatasourceConfigForm } from './hooks/useDatasourceConfigForm.js';
|
|
11
11
|
|
|
12
12
|
function DatasourceConfigWizard(props) {
|
|
13
13
|
const { schema, dsUid, dsName, onSuccess, onSaving, onRetest, healthError, renderActions, mode = "tab" } = props;
|
|
@@ -52,13 +52,16 @@ function WizardLayout({ form, schema, dsUid, dsName, onRetest, healthError, rend
|
|
|
52
52
|
trigger,
|
|
53
53
|
errors,
|
|
54
54
|
watchedValues,
|
|
55
|
+
celContext,
|
|
55
56
|
initializing,
|
|
56
57
|
fetchError,
|
|
57
58
|
submitting,
|
|
58
59
|
submitError,
|
|
59
60
|
readOnly,
|
|
60
61
|
isFieldVisible,
|
|
61
|
-
|
|
62
|
+
isFieldDisabled,
|
|
63
|
+
onSubmit,
|
|
64
|
+
setValue
|
|
62
65
|
} = form;
|
|
63
66
|
const arrowSteps = useMemo(() => {
|
|
64
67
|
const requiredGroup = resolvedGroups.find((g) => g.group.id === "_required");
|
|
@@ -104,8 +107,8 @@ function WizardLayout({ form, schema, dsUid, dsName, onRetest, healthError, rend
|
|
|
104
107
|
if (errors[formKey(field)]) {
|
|
105
108
|
return false;
|
|
106
109
|
}
|
|
107
|
-
if (isFieldRequired(field, watchedValues, fieldById)) {
|
|
108
|
-
const val = watchedValues
|
|
110
|
+
if (isFieldRequired(field, watchedValues, fieldById, celContext)) {
|
|
111
|
+
const val = getWatchedValue(watchedValues, formKey(field));
|
|
109
112
|
if (val === SECURE_FIELD_CONFIGURED) {
|
|
110
113
|
continue;
|
|
111
114
|
}
|
|
@@ -115,7 +118,7 @@ function WizardLayout({ form, schema, dsUid, dsName, onRetest, healthError, rend
|
|
|
115
118
|
}
|
|
116
119
|
}
|
|
117
120
|
return true;
|
|
118
|
-
}, [currentResolved, errors, visibleFieldsForStep, watchedValues, fieldById]);
|
|
121
|
+
}, [currentResolved, errors, visibleFieldsForStep, watchedValues, fieldById, celContext]);
|
|
119
122
|
const goNext = useCallback(async () => {
|
|
120
123
|
if (!currentResolved) {
|
|
121
124
|
return;
|
|
@@ -209,10 +212,12 @@ function WizardLayout({ form, schema, dsUid, dsName, onRetest, healthError, rend
|
|
|
209
212
|
field,
|
|
210
213
|
control,
|
|
211
214
|
errors,
|
|
212
|
-
disabled: allDisabled,
|
|
215
|
+
disabled: allDisabled || isFieldDisabled(field),
|
|
213
216
|
dsUid,
|
|
214
217
|
watchedValues,
|
|
215
|
-
fieldById
|
|
218
|
+
fieldById,
|
|
219
|
+
celContext,
|
|
220
|
+
setValue
|
|
216
221
|
}
|
|
217
222
|
)), (currentResolved.group.id === "_required" || currentResolved.group.id === "auth") && httpHeadersField && /* @__PURE__ */ React.createElement(
|
|
218
223
|
AuthorizationHeaderField,
|