diff --git a/e2e/cloud-plugins-suite/azure-monitor.spec.ts b/e2e/cloud-plugins-suite/azure-monitor.spec.ts index 5fceb7bbb4a..43528131776 100644 --- a/e2e/cloud-plugins-suite/azure-monitor.spec.ts +++ b/e2e/cloud-plugins-suite/azure-monitor.spec.ts @@ -126,10 +126,6 @@ const addAzureMonitorVariable = ( .input() .find('input') .type(`${options?.namespace}{enter}`); - e2eSelectors.variableEditor.region - .input() - .find('input') - .type(`${options?.region}{enter}`); break; case AzureQueryType.MetricNamesQuery: e2eSelectors.variableEditor.subscription @@ -207,14 +203,11 @@ e2e.scenario({ zone: 'Coordinated Universal Time', }, }); - e2e() - .intercept(/locations/) - .as('locations'); e2e.flows.addPanel({ dataSourceName, visitDashboardAtStart: false, queriesForm: () => { - e2eSelectors.queryEditor.resourcePicker.select.button().click().wait('@locations'); + e2eSelectors.queryEditor.resourcePicker.select.button().click(); e2eSelectors.queryEditor.resourcePicker.search .input() .wait(100) @@ -309,14 +302,10 @@ e2e.scenario({ subscription: '$subscription', resourceGroup: '$resourceGroups', }); - addAzureMonitorVariable('region', AzureQueryType.LocationsQuery, false, { - subscription: '$subscription', - }); addAzureMonitorVariable('resource', AzureQueryType.ResourceNamesQuery, false, { subscription: '$subscription', resourceGroup: '$resourceGroups', namespace: '$namespace', - region: '$region', }); e2e.pages.Dashboard.SubMenu.submenuItemLabels('subscription').click(); e2e.pages.Dashboard.SubMenu.submenuItemValueDropDownOptionTexts('grafanalabs-datasources-dev').click(); @@ -330,8 +319,6 @@ e2e.scenario({ .parent() .find('input') .type('microsoft.storage/storageaccounts{downArrow}{enter}'); - e2e.pages.Dashboard.SubMenu.submenuItemLabels('region').parent().find('button').click(); - e2e.pages.Dashboard.SubMenu.submenuItemLabels('region').parent().find('input').type('uk south{downArrow}{enter}'); e2e.pages.Dashboard.SubMenu.submenuItemLabels('resource').parent().find('button').click(); e2e.pages.Dashboard.SubMenu.submenuItemLabels('resource') .parent() @@ -346,7 +333,6 @@ e2e.scenario({ e2eSelectors.queryEditor.resourcePicker.advanced.subscription.input().find('input').type('$subscription'); e2eSelectors.queryEditor.resourcePicker.advanced.resourceGroup.input().find('input').type('$resourceGroups'); e2eSelectors.queryEditor.resourcePicker.advanced.namespace.input().find('input').type('$namespaces'); - e2eSelectors.queryEditor.resourcePicker.advanced.region.input().find('input').type('$region'); e2eSelectors.queryEditor.resourcePicker.advanced.resource.input().find('input').type('$resource'); e2eSelectors.queryEditor.resourcePicker.apply.button().click(); e2eSelectors.queryEditor.metricsQueryEditor.metricName.input().find('input').type('Transactions{enter}'); diff --git a/public/app/plugins/datasource/azuremonitor/__mocks__/resourcePickerRows.ts b/public/app/plugins/datasource/azuremonitor/__mocks__/resourcePickerRows.ts index 3de04fd222d..a9ad12a83a7 100644 --- a/public/app/plugins/datasource/azuremonitor/__mocks__/resourcePickerRows.ts +++ b/public/app/plugins/datasource/azuremonitor/__mocks__/resourcePickerRows.ts @@ -1,5 +1,4 @@ import { ResourceRowGroup, ResourceRowType } from '../components/ResourcePicker/types'; -import { AzureMonitorLocations } from '../types'; export const createMockSubscriptions = (): ResourceRowGroup => [ { @@ -133,6 +132,3 @@ export const mockSearchResults = (): ResourceRowGroup => [ location: 'northeurope', }, ]; - -export const mockGetValidLocations = (): Map => - new Map([['northeurope', { displayName: 'North Europe', name: 'northeurope', supportsLogs: true }]]); diff --git a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricsQueryEditor.test.tsx b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricsQueryEditor.test.tsx index d59a147e4e6..03c0d4dddf2 100644 --- a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricsQueryEditor.test.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricsQueryEditor.test.tsx @@ -10,7 +10,6 @@ import createMockQuery from '../../__mocks__/query'; import { createMockResourceGroupsBySubscription, createMockSubscriptions, - mockGetValidLocations, mockResourcesByResourceGroup, } from '../../__mocks__/resourcePickerRows'; import { selectors } from '../../e2e/selectors'; @@ -46,7 +45,6 @@ export function createMockResourcePickerData() { mockResourcePicker.getResourcesForResourceGroup = jest.fn().mockResolvedValue(mockResourcesByResourceGroup()); mockResourcePicker.getResourceURIFromWorkspace = jest.fn().mockReturnValue(''); mockResourcePicker.getResourceURIDisplayProperties = jest.fn().mockResolvedValue({}); - mockResourcePicker.getLocations = jest.fn().mockResolvedValue(mockGetValidLocations()); return mockResourcePicker; } diff --git a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/dataHooks.ts b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/dataHooks.ts index b21cfc9c8d5..f6ec8f2b8f1 100644 --- a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/dataHooks.ts +++ b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/dataHooks.ts @@ -128,7 +128,8 @@ const defaultMetricMetadata: MetricMetadata = { export const useMetricMetadata = (query: AzureMonitorQuery, datasource: Datasource, onChange: OnChangeFn) => { const [metricMetadata, setMetricMetadata] = useState(defaultMetricMetadata); const { subscription } = query; - const { resources, metricNamespace, metricName, aggregation, timeGrain, customNamespace } = query.azureMonitor ?? {}; + const { resources, metricNamespace, metricName, aggregation, timeGrain, customNamespace, region } = + query.azureMonitor ?? {}; const { resourceGroup, resourceName } = getResourceGroupAndName(resources); const multipleResources = (resources && resources.length > 1) ?? false; @@ -138,11 +139,11 @@ export const useMetricMetadata = (query: AzureMonitorQuery, datasource: Datasour setMetricMetadata(defaultMetricMetadata); return; } - datasource.azureMonitorDatasource .getMetricMetadata( { subscription, resourceGroup, resourceName, metricNamespace, metricName, customNamespace }, - multipleResources + multipleResources, + region ) .then((metadata) => { // TODO: Move the aggregationTypes and timeGrain defaults into `getMetricMetadata` @@ -161,6 +162,7 @@ export const useMetricMetadata = (query: AzureMonitorQuery, datasource: Datasour }); }); }, [ + region, datasource, subscription, resourceGroup, diff --git a/public/app/plugins/datasource/azuremonitor/components/ResourcePicker/NestedRow.tsx b/public/app/plugins/datasource/azuremonitor/components/ResourcePicker/NestedRow.tsx index e845b59606d..1fe2c717dd6 100644 --- a/public/app/plugins/datasource/azuremonitor/components/ResourcePicker/NestedRow.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/ResourcePicker/NestedRow.tsx @@ -78,7 +78,7 @@ const NestedRow = ({ {row.typeLabel} - {row.locationDisplayName ?? '-'} + {row.location ?? '-'} {isOpen && diff --git a/public/app/plugins/datasource/azuremonitor/components/ResourcePicker/types.ts b/public/app/plugins/datasource/azuremonitor/components/ResourcePicker/types.ts index d6022dd8eaa..7183f427bf9 100644 --- a/public/app/plugins/datasource/azuremonitor/components/ResourcePicker/types.ts +++ b/public/app/plugins/datasource/azuremonitor/components/ResourcePicker/types.ts @@ -12,7 +12,6 @@ export interface ResourceRow { name: string; type: ResourceRowType; typeLabel: string; - locationDisplayName?: string; location?: string; children?: ResourceRowGroup; } diff --git a/public/app/plugins/datasource/azuremonitor/components/VariableEditor/VariableEditor.test.tsx b/public/app/plugins/datasource/azuremonitor/components/VariableEditor/VariableEditor.test.tsx index de3b4cfd9db..0547882c7d2 100644 --- a/public/app/plugins/datasource/azuremonitor/components/VariableEditor/VariableEditor.test.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/VariableEditor/VariableEditor.test.tsx @@ -258,12 +258,10 @@ describe('VariableEditor:', () => { await waitFor(() => expect(screen.getByText('Logs')).toBeInTheDocument()); await selectAndRerender('select query type', 'Resource Names', onChange, rerender); await selectAndRerender('select subscription', 'Primary Subscription', onChange, rerender); - await selectAndRerender('select region', 'North Europe', onChange, rerender); expect(onChange).toHaveBeenCalledWith( expect.objectContaining({ queryType: AzureQueryType.ResourceNamesQuery, subscription: 'sub', - region: 'northeurope', refId: 'A', }) ); @@ -325,21 +323,5 @@ describe('VariableEditor:', () => { }) ); }); - - it('should run the query if requesting regions', async () => { - const onChange = jest.fn(); - const { rerender } = render(); - // wait for initial load - await waitFor(() => expect(screen.getByText('Logs')).toBeInTheDocument()); - await selectAndRerender('select query type', 'Regions', onChange, rerender); - await selectAndRerender('select subscription', 'Primary Subscription', onChange, rerender); - expect(onChange).toHaveBeenCalledWith( - expect.objectContaining({ - queryType: AzureQueryType.LocationsQuery, - subscription: 'sub', - refId: 'A', - }) - ); - }); }); }); diff --git a/public/app/plugins/datasource/azuremonitor/components/VariableEditor/VariableEditor.tsx b/public/app/plugins/datasource/azuremonitor/components/VariableEditor/VariableEditor.tsx index 321cc7a887f..f9dce486d07 100644 --- a/public/app/plugins/datasource/azuremonitor/components/VariableEditor/VariableEditor.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/VariableEditor/VariableEditor.tsx @@ -30,7 +30,6 @@ const VariableEditor = (props: Props) => { { label: 'Subscriptions', value: AzureQueryType.SubscriptionsQuery }, { label: 'Resource Groups', value: AzureQueryType.ResourceGroupsQuery }, { label: 'Namespaces', value: AzureQueryType.NamespacesQuery }, - { label: 'Regions', value: AzureQueryType.LocationsQuery }, { label: 'Resource Names', value: AzureQueryType.ResourceNamesQuery }, { label: 'Metric Names', value: AzureQueryType.MetricNamesQuery }, { label: 'Workspaces', value: AzureQueryType.WorkspacesQuery }, @@ -51,7 +50,6 @@ const VariableEditor = (props: Props) => { const [requireSubscription, setRequireSubscription] = useState(false); const [hasResourceGroup, setHasResourceGroup] = useState(false); const [hasNamespace, setHasNamespace] = useState(false); - const [hasRegion, setHasRegion] = useState(false); const [requireResourceGroup, setRequireResourceGroup] = useState(false); const [requireNamespace, setRequireNamespace] = useState(false); const [requireResource, setRequireResource] = useState(false); @@ -59,7 +57,6 @@ const VariableEditor = (props: Props) => { const [resourceGroups, setResourceGroups] = useState([]); const [namespaces, setNamespaces] = useState([]); const [resources, setResources] = useState([]); - const [regions, setRegions] = useState([]); const [errorMessage, setError] = useLastError(); const queryType = typeof query === 'string' ? '' : query.queryType; @@ -91,7 +88,6 @@ const VariableEditor = (props: Props) => { setRequireSubscription(true); setHasResourceGroup(true); setHasNamespace(true); - setHasRegion(true); break; case AzureQueryType.MetricNamesQuery: setRequireSubscription(true); @@ -99,9 +95,6 @@ const VariableEditor = (props: Props) => { setRequireNamespace(true); setRequireResource(true); break; - case AzureQueryType.LocationsQuery: - setRequireSubscription(true); - break; } }, [queryType]); @@ -142,16 +135,6 @@ const VariableEditor = (props: Props) => { } }, [datasource, subscription, resourceGroup]); - useEffect(() => { - if (subscription) { - datasource.azureMonitorDatasource.getLocations([subscription]).then((rgs) => { - const regions: SelectableValue[] = []; - rgs.forEach((r) => regions.push({ label: r.displayName, value: r.name })); - setRegions(regions); - }); - } - }, [datasource, subscription, resourceGroup]); - const namespace = (typeof query === 'object' && query.namespace) || ''; useEffect(() => { if (subscription) { @@ -208,13 +191,6 @@ const VariableEditor = (props: Props) => { }); }; - const onChangeRegion = (selectableValue: SelectableValue) => { - onChange({ - ...query, - region: selectableValue.value, - }); - }; - const onChangeResource = (selectableValue: SelectableValue) => { onChange({ ...query, @@ -320,22 +296,6 @@ const VariableEditor = (props: Props) => { /> )} - {hasRegion && ( - -