/usr/share/grafana/public/app/plugins/datasource/cloudwatch/language
import { TemplateSrv } from '@grafana/runtime'; import { LogGroup } from '../dataquery.gen'; import { ResourcesAPI } from '../resources/ResourcesAPI'; import { interpolateStringArrayUsingSingleOrMultiValuedVariable } from '../utils/templateVariableUtils'; export const fetchLogGroupFields = async ( logGroups: LogGroup[], region: string, templateSrv: TemplateSrv, resources: ResourcesAPI ): Promise<string[]> => { if (logGroups.length === 0) { return []; } const interpolatedLogGroups = interpolateStringArrayUsingSingleOrMultiValuedVariable( templateSrv, logGroups.map((lg) => lg.name), {}, 'text' ); const results = await Promise.all( interpolatedLogGroups.map((logGroupName) => resources .getLogGroupFields(region, logGroupName) .then((fields) => fields.filter((f) => f).map((f) => f.value.name ?? '')) ) ); // Deduplicate fields return [...new Set(results.flat())]; };
.
Edit
..
Edit
cloudwatch-logs
Edit
cloudwatch-logs-sql
Edit
cloudwatch-ppl
Edit
cloudwatch-sql
Edit
dynamic-labels
Edit
logs
Edit
metric-math
Edit
monarch
Edit
utils.ts
Edit