From 47584544e2e3ef6ae3d2f4b6247148b3acdb2b1c Mon Sep 17 00:00:00 2001 From: Aasim Khan Date: Fri, 16 Apr 2021 05:20:07 -0700 Subject: [PATCH] Fixing migration extension to reflect latest RP changes (#15157) * Fixing sms object * extension vbump --- extensions/sql-migration/package.json | 2 +- extensions/sql-migration/src/api/azure.ts | 8 ++++++++ extensions/sql-migration/src/models/stateMachine.ts | 4 ++-- .../src/wizard/integrationRuntimePage.ts | 12 ++++++------ 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/extensions/sql-migration/package.json b/extensions/sql-migration/package.json index 3b21dfdf42..ccb60670ae 100644 --- a/extensions/sql-migration/package.json +++ b/extensions/sql-migration/package.json @@ -2,7 +2,7 @@ "name": "sql-migration", "displayName": "%displayName%", "description": "%description%", - "version": "0.0.8", + "version": "0.0.9", "publisher": "Microsoft", "preview": true, "license": "https://raw.githubusercontent.com/Microsoft/azuredatastudio/main/LICENSE.txt", diff --git a/extensions/sql-migration/src/api/azure.ts b/extensions/sql-migration/src/api/azure.ts index 165dd26159..77327bbc99 100644 --- a/extensions/sql-migration/src/api/azure.ts +++ b/extensions/sql-migration/src/api/azure.ts @@ -127,6 +127,7 @@ export async function getSqlMigrationService(account: azdata.Account, subscripti if (response.errors.length > 0) { throw new Error(response.errors.toString()); } + response.response.data.properties.resourceGroup = getResourceGroupFromId(response.response.data.id); return response.response.data; } @@ -138,6 +139,9 @@ export async function getSqlMigrationServices(account: azdata.Account, subscript throw new Error(response.errors.toString()); } sortResourceArrayByName(response.response.data.value); + response.response.data.value.forEach((sms: SqlMigrationService) => { + sms.properties.resourceGroup = getResourceGroupFromId(sms.id); + }); return response.response.data.value; } @@ -287,6 +291,10 @@ function sortResourceArrayByName(resourceArray: SortableAzureResources[]): void }); } +function getResourceGroupFromId(id: string): string { + return id.replace(RegExp('^(.*?)/resourceGroups/'), '').replace(RegExp('/providers/.*'), '').toLowerCase(); +} + export interface SqlMigrationServiceProperties { name: string; subscriptionId: string; diff --git a/extensions/sql-migration/src/models/stateMachine.ts b/extensions/sql-migration/src/models/stateMachine.ts index c7311c6aba..b130a3d94f 100644 --- a/extensions/sql-migration/src/models/stateMachine.ts +++ b/extensions/sql-migration/src/models/stateMachine.ts @@ -648,7 +648,7 @@ export class MigrationStateModel implements Model, vscode.Disposable { }); const requestBody: StartDatabaseMigrationRequest = { - location: this._sqlMigrationService?.properties.location!, + location: this._sqlMigrationService?.location!, properties: { sourceDatabaseName: '', migrationService: this._sqlMigrationService?.id!, @@ -682,7 +682,7 @@ export class MigrationStateModel implements Model, vscode.Disposable { const response = await startDatabaseMigration( this._azureAccount, this._targetSubscription, - this._sqlMigrationService?.properties.location!, + this._sqlMigrationService?.location!, this._targetServerInstance, this._targetDatabaseNames[i], requestBody diff --git a/extensions/sql-migration/src/wizard/integrationRuntimePage.ts b/extensions/sql-migration/src/wizard/integrationRuntimePage.ts index 183374d37c..0c5b739b41 100644 --- a/extensions/sql-migration/src/wizard/integrationRuntimePage.ts +++ b/extensions/sql-migration/src/wizard/integrationRuntimePage.ts @@ -172,14 +172,14 @@ export class IntergrationRuntimePage extends MigrationWizardPage { this.migrationStateModel._azureAccount, this.migrationStateModel._targetSubscription, this.migrationStateModel._sqlMigrationService.properties.resourceGroup, - this.migrationStateModel._sqlMigrationService.properties.location, + this.migrationStateModel._sqlMigrationService.location, this.migrationStateModel._sqlMigrationService.name); this.migrationStateModel._sqlMigrationService = migrationService; const migrationServiceMonitoringStatus = await getSqlMigrationServiceMonitoringData( this.migrationStateModel._azureAccount, this.migrationStateModel._targetSubscription, this.migrationStateModel._sqlMigrationService.properties.resourceGroup, - this.migrationStateModel._sqlMigrationService.properties.location, + this.migrationStateModel._sqlMigrationService.location, this.migrationStateModel._sqlMigrationService!.name); this.migrationStateModel._nodeNames = migrationServiceMonitoringStatus.nodes.map((node) => { return node.nodeName; @@ -188,7 +188,7 @@ export class IntergrationRuntimePage extends MigrationWizardPage { this.migrationStateModel._azureAccount, this.migrationStateModel._targetSubscription, this.migrationStateModel._sqlMigrationService.properties.resourceGroup, - this.migrationStateModel._sqlMigrationService.properties.location, + this.migrationStateModel._sqlMigrationService.location, this.migrationStateModel._sqlMigrationService!.name ); @@ -239,14 +239,14 @@ export class IntergrationRuntimePage extends MigrationWizardPage { this.migrationStateModel._azureAccount, this.migrationStateModel._targetSubscription, this.migrationStateModel._sqlMigrationService.properties.resourceGroup, - this.migrationStateModel._sqlMigrationService.properties.location, + this.migrationStateModel._sqlMigrationService.location, this.migrationStateModel._sqlMigrationService.name); this.migrationStateModel._sqlMigrationService = migrationService; const migrationServiceMonitoringStatus = await getSqlMigrationServiceMonitoringData( this.migrationStateModel._azureAccount, this.migrationStateModel._targetSubscription, this.migrationStateModel._sqlMigrationService.properties.resourceGroup, - this.migrationStateModel._sqlMigrationService.properties.location, + this.migrationStateModel._sqlMigrationService.location, this.migrationStateModel._sqlMigrationService!.name); this.migrationStateModel._nodeNames = migrationServiceMonitoringStatus.nodes.map((node) => { return node.nodeName; @@ -399,7 +399,7 @@ export class IntergrationRuntimePage extends MigrationWizardPage { migrationServiceTitle, createInformationRow(this._view, constants.SUBSCRIPTION, this.migrationStateModel._targetSubscription.name), createInformationRow(this._view, constants.RESOURCE_GROUP, migrationService.properties.resourceGroup), - createInformationRow(this._view, constants.LOCATION, await this.migrationStateModel.getLocationDisplayName(migrationService.properties.location)), + createInformationRow(this._view, constants.LOCATION, await this.migrationStateModel.getLocationDisplayName(migrationService.location)), connectionLabelContainer, connectionStatusLoader, authenticationKeysLabel,