mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
AzureMonitor: Ensure resourceURI template variable is migrated (#56095)
* Ensure resourceURI template vars are migrated - Do not filter queries containing a resource URI template - Update migration - Add test * Update condition * Review
This commit is contained in:
parent
efe4ce06a2
commit
462ca50512
@ -93,6 +93,36 @@ describe('AzureMonitorDatasource', () => {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should migrate resource URI template variable to resource object', () => {
|
||||||
|
const subscription = '44693801-6ee6-49de-9b2d-9106972f9572';
|
||||||
|
const resourceGroup = 'cloud-datasources';
|
||||||
|
const metricNamespace = 'microsoft.insights/components';
|
||||||
|
const resourceName = 'AppInsightsTestData';
|
||||||
|
templateSrv.init([
|
||||||
|
{
|
||||||
|
id: 'resourceUri',
|
||||||
|
name: 'resourceUri',
|
||||||
|
current: {
|
||||||
|
value: `/subscriptions/${subscription}/resourceGroups/${resourceGroup}/providers/${metricNamespace}/${resourceName}`,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
]);
|
||||||
|
const query = createMockQuery({
|
||||||
|
azureMonitor: {
|
||||||
|
resourceUri: '$resourceUri',
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const templatedQuery = ctx.ds.azureMonitorDatasource.applyTemplateVariables(query, {});
|
||||||
|
expect(templatedQuery).toMatchObject({
|
||||||
|
subscription,
|
||||||
|
azureMonitor: {
|
||||||
|
resourceGroup,
|
||||||
|
metricNamespace,
|
||||||
|
resourceName,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('When performing getMetricNamespaces', () => {
|
describe('When performing getMetricNamespaces', () => {
|
||||||
|
@ -66,10 +66,11 @@ export default class AzureMonitorDatasource extends DataSourceWithBackend<AzureM
|
|||||||
hasValue(item?.azureMonitor?.resourceGroup) &&
|
hasValue(item?.azureMonitor?.resourceGroup) &&
|
||||||
hasValue(item?.azureMonitor?.resourceName) &&
|
hasValue(item?.azureMonitor?.resourceName) &&
|
||||||
hasValue(item?.azureMonitor?.metricDefinition || item?.azureMonitor?.metricNamespace);
|
hasValue(item?.azureMonitor?.metricDefinition || item?.azureMonitor?.metricNamespace);
|
||||||
|
const hasResourceUri = hasValue(item.azureMonitor?.resourceUri);
|
||||||
|
|
||||||
return !!(
|
return !!(
|
||||||
item.hide !== true &&
|
item.hide !== true &&
|
||||||
hasResource &&
|
(hasResource || hasResourceUri) &&
|
||||||
hasValue(item?.azureMonitor?.metricName) &&
|
hasValue(item?.azureMonitor?.metricName) &&
|
||||||
hasValue(item?.azureMonitor?.aggregation)
|
hasValue(item?.azureMonitor?.aggregation)
|
||||||
);
|
);
|
||||||
|
@ -136,8 +136,9 @@ function migrateDimensionFilterToArray(query: AzureMonitorQuery): AzureMonitorQu
|
|||||||
}
|
}
|
||||||
|
|
||||||
function migrateDimensionToResourceObj(query: AzureMonitorQuery): AzureMonitorQuery {
|
function migrateDimensionToResourceObj(query: AzureMonitorQuery): AzureMonitorQuery {
|
||||||
if (query.azureMonitor?.resourceUri) {
|
if (query.azureMonitor?.resourceUri && !query.azureMonitor.resourceUri.startsWith('$')) {
|
||||||
const details = parseResourceDetails(query.azureMonitor.resourceUri);
|
const details = parseResourceDetails(query.azureMonitor.resourceUri);
|
||||||
|
const isWellFormedUri = details?.subscription && details?.resourceGroup && details?.resourceName;
|
||||||
return {
|
return {
|
||||||
...query,
|
...query,
|
||||||
subscription: details?.subscription,
|
subscription: details?.subscription,
|
||||||
@ -146,7 +147,7 @@ function migrateDimensionToResourceObj(query: AzureMonitorQuery): AzureMonitorQu
|
|||||||
resourceGroup: details?.resourceGroup,
|
resourceGroup: details?.resourceGroup,
|
||||||
metricNamespace: details?.metricNamespace,
|
metricNamespace: details?.metricNamespace,
|
||||||
resourceName: details?.resourceName,
|
resourceName: details?.resourceName,
|
||||||
resourceUri: undefined,
|
resourceUri: isWellFormedUri ? undefined : query.azureMonitor.resourceUri,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user