mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
Remove extra id property from azure subs and add type name helper (#12145)
* Remove extra id property from azure subs and add type name helper * case * Change a few names
This commit is contained in:
@@ -7,6 +7,20 @@ declare module 'azureResource' {
|
||||
import { TreeDataProvider } from 'vscode';
|
||||
import { DataProvider, Account, TreeItem } from 'azdata';
|
||||
export namespace azureResource {
|
||||
|
||||
export const enum AzureResourceType {
|
||||
resourceGroup = 'microsoft.resources/subscriptions/resourcegroups',
|
||||
sqlServer = 'microsoft.sql/servers',
|
||||
sqlDatabase = 'microsoft.sql/servers/databases',
|
||||
sqlManagedInstance = 'microsoft.sql/managedinstances',
|
||||
azureArcSqlManagedInstance = 'microsoft.azuredata/sqlinstances',
|
||||
virtualMachines = 'microsoft.compute/virtualmachines',
|
||||
kustoClusters = 'microsoft.kusto/clusters',
|
||||
azureArcPostgresServer = 'microsoft.azuredata/postgresinstances',
|
||||
postgresServer = 'microsoft.dbforpostgresql/servers',
|
||||
azureArcService = 'microsoft.azuredata/datacontrollers'
|
||||
}
|
||||
|
||||
export interface IAzureResourceProvider extends DataProvider {
|
||||
getTreeDataProvider(): IAzureResourceTreeDataProvider;
|
||||
}
|
||||
@@ -28,7 +42,7 @@ declare module 'azureResource' {
|
||||
tenant?: string;
|
||||
}
|
||||
|
||||
export interface AzureResourceSubscription extends AzureResource {
|
||||
export interface AzureResourceSubscription extends Omit<AzureResource, 'subscriptionId'> {
|
||||
}
|
||||
|
||||
export interface AzureSqlResource extends AzureResource {
|
||||
|
||||
@@ -21,7 +21,7 @@ export class AzureResourceDatabaseService implements IAzureResourceService<azure
|
||||
|
||||
// Query servers and databases in parallel (start both promises before waiting on the 1st)
|
||||
let serverQueryPromise = queryGraphResources<GraphData>(resourceClient, subscriptions, serversQuery);
|
||||
let dbQueryPromise = queryGraphResources<GraphData>(resourceClient, subscriptions, 'where type == "microsoft.sql/servers/databases"');
|
||||
let dbQueryPromise = queryGraphResources<GraphData>(resourceClient, subscriptions, `where type == "${azureResource.AzureResourceType.sqlDatabase}"`);
|
||||
let servers: DbServerGraphData[] = await serverQueryPromise as DbServerGraphData[];
|
||||
let dbByGraph: DatabaseGraphData[] = await dbQueryPromise as DatabaseGraphData[];
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ export interface DbServerGraphData extends GraphData {
|
||||
};
|
||||
}
|
||||
|
||||
export const serversQuery = 'where type == "microsoft.sql/servers"';
|
||||
export const serversQuery = `where type == "${azureResource.AzureResourceType.sqlServer}"`;
|
||||
|
||||
export class AzureResourceDatabaseServerService extends ResourceServiceBase<DbServerGraphData, azureResource.AzureResourceDatabaseServer> {
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ export interface KustoGraphData extends GraphData {
|
||||
};
|
||||
}
|
||||
|
||||
const instanceQuery = 'where type == "microsoft.kusto/clusters"';
|
||||
const instanceQuery = `where type == "${azureResource.AzureResourceType.kustoClusters}"`;
|
||||
|
||||
export class KustoResourceService extends ResourceServiceBase<KustoGraphData, azureResource.AzureResourceDatabaseServer> {
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ export interface PostgresArcServerGraphData extends GraphData {
|
||||
};
|
||||
}
|
||||
|
||||
export const serversQuery = 'where type == "microsoft.azuredata/postgresinstances"';
|
||||
export const serversQuery = `where type == "${azureResource.AzureResourceType.azureArcPostgresServer}"`;
|
||||
|
||||
export class PostgresServerArcService extends ResourceServiceBase<PostgresArcServerGraphData, azureResource.AzureResourceDatabaseServer> {
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ interface DbServerGraphData extends GraphData {
|
||||
};
|
||||
}
|
||||
|
||||
const serversQuery = 'where type == "microsoft.dbforpostgresql/servers"';
|
||||
const serversQuery = `where type == "${azureResource.AzureResourceType.postgresServer}"`;
|
||||
|
||||
export class PostgresServerService extends ResourceServiceBase<DbServerGraphData, azureResource.AzureResourceDatabaseServer> {
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import { ResourceServiceBase } from '../resourceTreeDataProviderBase';
|
||||
export class AzureResourceGroupService extends ResourceServiceBase<DbServerGraphData, azureResource.AzureResourceResourceGroup> {
|
||||
|
||||
protected get query(): string {
|
||||
return 'ResourceContainers | where type=="microsoft.resources/subscriptions/resourcegroups"';
|
||||
return `ResourceContainers | where type=="${azureResource.AzureResourceType.resourceGroup}"`;
|
||||
}
|
||||
|
||||
protected convertResource(resource: DbServerGraphData): azureResource.AzureResourceResourceGroup {
|
||||
|
||||
@@ -13,7 +13,7 @@ interface SqlInstanceGraphData extends GraphData {
|
||||
};
|
||||
}
|
||||
|
||||
const instanceQuery = 'where type == "microsoft.sql/managedinstances"';
|
||||
const instanceQuery = `where type == "${azureResource.AzureResourceType.sqlManagedInstance}"`;
|
||||
|
||||
export class SqlInstanceResourceService extends ResourceServiceBase<SqlInstanceGraphData, azureResource.AzureResourceDatabaseServer> {
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ export interface SqlInstanceArcGraphData extends GraphData {
|
||||
};
|
||||
}
|
||||
|
||||
const instanceQuery = 'where type == "microsoft.azuredata/sqlinstances"';
|
||||
const instanceQuery = `where type == "${azureResource.AzureResourceType.azureArcSqlManagedInstance}"`;
|
||||
export class SqlInstanceArcResourceService extends ResourceServiceBase<SqlInstanceArcGraphData, azureResource.AzureResourceDatabaseServer> {
|
||||
|
||||
protected get query(): string {
|
||||
|
||||
@@ -18,7 +18,6 @@ export class AzureResourceSubscriptionService implements IAzureResourceSubscript
|
||||
subs.forEach((sub) => subscriptions.push({
|
||||
id: sub.subscriptionId,
|
||||
name: sub.displayName,
|
||||
subscriptionId: sub.subscriptionId,
|
||||
tenant: tenantId
|
||||
}));
|
||||
|
||||
|
||||
@@ -51,3 +51,19 @@ export const westEurope = localize('azurecore.westeurope', "West Europe");
|
||||
export const westIndia = localize('azurecore.westindia', "West India");
|
||||
export const westUS = localize('azurecore.westus', "West US");
|
||||
export const westUS2 = localize('azurecore.westus2', "West US 2");
|
||||
|
||||
export const name = localize('azurecore.name', "Name");
|
||||
export const resourceType = localize('azurecore.resourceType', "Resource type");
|
||||
export const resourceGroup = localize('azurecore.resourceGroup', "Resource group");
|
||||
export const location = localize('azurecore.location', "Location");
|
||||
export const subscription = localize('azurecore.subscription', "Subscription");
|
||||
|
||||
// Azure Resource Types
|
||||
export const sqlServer = localize('azurecore.sqlServer', "SQL server");
|
||||
export const sqlDatabase = localize('azurecore.sqlDatabase', "SQL database");
|
||||
export const postgresServer = localize('azurecore.postgresServer', "Azure Database for PostgreSQL server");
|
||||
export const sqlManagedInstance = localize('azurecore.sqlManagedInstance', "SQL managed instance");
|
||||
export const azureArcsqlManagedInstance = localize('azurecore.azureArcsqlManagedInstance', "SQL managed instance - Azure Arc");
|
||||
export const azureArcService = localize('azurecore.azureArcService', "Data Service - Azure Arc");
|
||||
export const sqlServerArc = localize('azurecore.sqlServerArc', "SQL Server - Azure Arc");
|
||||
export const azureArcPostgresServer = localize('azurecore.azureArcPostgres', "Azure Arc enabled PostgreSQL Hyperscale");
|
||||
|
||||
@@ -47,7 +47,6 @@ const mockSubscriptionId = 'mock_subscription';
|
||||
const mockSubscription: azureResource.AzureResourceSubscription = {
|
||||
id: mockSubscriptionId,
|
||||
name: 'mock subscription',
|
||||
subscriptionId: mockSubscriptionId,
|
||||
tenant: mockTenantId
|
||||
};
|
||||
|
||||
|
||||
@@ -46,7 +46,6 @@ const mockSubscriptionId = 'mock_subscription';
|
||||
const mockSubscription: azureResource.AzureResourceSubscription = {
|
||||
id: mockSubscriptionId,
|
||||
name: 'mock subscription',
|
||||
subscriptionId: mockSubscriptionId,
|
||||
tenant: mockTenantId
|
||||
};
|
||||
|
||||
|
||||
@@ -39,7 +39,6 @@ const mockSubscriptionId ='mock_subscription';
|
||||
const mockSubscription: azureResource.AzureResourceSubscription = {
|
||||
id: mockSubscriptionId,
|
||||
name: 'mock subscription',
|
||||
subscriptionId: mockSubscriptionId,
|
||||
tenant: mockTenantId
|
||||
};
|
||||
|
||||
|
||||
@@ -42,7 +42,6 @@ const mockSubscriptionId = 'mock_subscription';
|
||||
const mockSubscription: azureResource.AzureResourceSubscription = {
|
||||
id: mockSubscriptionId,
|
||||
name: 'mock subscription',
|
||||
subscriptionId: mockSubscriptionId,
|
||||
tenant: mockTenantId
|
||||
};
|
||||
|
||||
|
||||
@@ -63,7 +63,6 @@ const mock_subscription_id_1 = 'mock_subscription_1';
|
||||
const mockSubscription1: azureResource.AzureResourceSubscription = {
|
||||
id: mock_subscription_id_1,
|
||||
name: 'mock subscription 1',
|
||||
subscriptionId: mock_subscription_id_1,
|
||||
tenant: mockTenantId
|
||||
};
|
||||
|
||||
@@ -71,7 +70,6 @@ const mock_subscription_id_2 = 'mock_subscription_2';
|
||||
const mockSubscription2: azureResource.AzureResourceSubscription = {
|
||||
id: mock_subscription_id_2,
|
||||
name: 'mock subscription 2',
|
||||
subscriptionId: mock_subscription_id_2,
|
||||
tenant: mockTenantId
|
||||
};
|
||||
|
||||
|
||||
@@ -49,7 +49,6 @@ const mockSubscriptionId: string = 'mock_subscription';
|
||||
const mockSubscription: azureResource.AzureResourceSubscription = {
|
||||
id: mockSubscriptionId,
|
||||
name: 'mock subscription',
|
||||
subscriptionId: mockSubscriptionId,
|
||||
tenant: mockTenantId
|
||||
};
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { azureResource } from 'azureResource';
|
||||
import * as loc from './localizedConstants';
|
||||
import { AzureRegion } from 'azurecore';
|
||||
|
||||
@@ -98,3 +99,21 @@ export function getRegionDisplayName(region?: string): string {
|
||||
console.warn(`Unknown Azure region ${region}`);
|
||||
return region;
|
||||
}
|
||||
|
||||
export function getResourceTypeDisplayName(type: string): string {
|
||||
switch (type) {
|
||||
case azureResource.AzureResourceType.sqlServer:
|
||||
return loc.sqlServer;
|
||||
case azureResource.AzureResourceType.sqlDatabase:
|
||||
return loc.sqlDatabase;
|
||||
case azureResource.AzureResourceType.sqlManagedInstance:
|
||||
return loc.sqlManagedInstance;
|
||||
case azureResource.AzureResourceType.azureArcSqlManagedInstance:
|
||||
return loc.azureArcsqlManagedInstance;
|
||||
case azureResource.AzureResourceType.azureArcService:
|
||||
return loc.azureArcService;
|
||||
case azureResource.AzureResourceType.azureArcPostgresServer:
|
||||
return loc.azureArcPostgresServer;
|
||||
}
|
||||
return type;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user