mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-04 17:23:45 -05:00
* Added monitor log-analytics workspace list to az api * Made resource group and subscription optional for logs analytics workspace list * Added dynamic fields for workspace names, id, primary key, based on value of auto-logs checkbox * Hooked up the newly created source provider for log analytics workspaces. Dropdown now populates all workspace names. * Added workspaceUtils.ts for a valueprovider. Now workspace name maps to id automatically. * Replaced promise.all with promise.resolve * Added workspace id and primary key as env variables in the notebook * Removed extra space in package.json * Made getOptions more concise and put azApi definition in function. * Changed notebook to handle new Azure CLI command with param --clustername
29 lines
1.3 KiB
TypeScript
29 lines
1.3 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import { InputValueType } from 'resource-deployment';
|
|
import * as azExt from 'az-ext';
|
|
import * as vscode from 'vscode';
|
|
import { errorListingLogAnalyticsWorkspaces } from '../localizedConstants';
|
|
|
|
export const licenseTypeVarName = 'AZDATA_NB_VAR_LOG_ANALYTICS_WORKSPACE_NAMES';
|
|
|
|
// Gets the Log Analytics workspace id from the workspace name.
|
|
export async function getWorkspaceIdFromName(triggerFields: { [key: string]: InputValueType }): Promise<string | undefined> {
|
|
try {
|
|
const _azApi = <azExt.IExtension>vscode.extensions.getExtension(azExt.extension.name)?.exports;
|
|
const workspaces = await _azApi.az.monitor.logAnalytics.workspace.list();
|
|
const targetWorkspace = workspaces.stdout.find(workspace => workspace.name === triggerFields[licenseTypeVarName]);
|
|
if (targetWorkspace) {
|
|
return targetWorkspace.customerId;
|
|
} else {
|
|
return undefined;
|
|
}
|
|
} catch (e) {
|
|
vscode.window.showErrorMessage(errorListingLogAnalyticsWorkspaces(e));
|
|
throw e;
|
|
}
|
|
}
|