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:
Charles Gagnon
2020-09-04 16:01:05 -07:00
committed by GitHub
parent f6b46a1c5c
commit 84ca18b428
24 changed files with 66 additions and 30 deletions

View File

@@ -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 {

View File

@@ -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[];

View File

@@ -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> {

View File

@@ -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> {

View File

@@ -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> {

View File

@@ -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> {

View File

@@ -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 {

View File

@@ -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> {

View File

@@ -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 {

View File

@@ -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
}));