Revert "Update remaining Axios calls (#22525)" (#22642)

This reverts commit ccd5775093.
This commit is contained in:
Christopher Suh
2023-04-05 18:49:00 -07:00
committed by GitHub
parent fd7ab62a77
commit 094562ea9c
3 changed files with 52 additions and 102 deletions

View File

@@ -14,9 +14,7 @@ import { NetworkUtils } from './networkUtils';
*/ */
export enum HttpMethod { export enum HttpMethod {
GET = 'get', GET = 'get',
POST = 'post', POST = 'post'
PUT = 'put',
DELETE = 'delete'
} }
export enum HttpStatus { export enum HttpStatus {
@@ -83,40 +81,6 @@ export class HttpClient implements INetworkModule {
return networkRequestViaHttps(url, HttpMethod.POST, options, this.customAgentOptions as https.AgentOptions, cancellationToken); return networkRequestViaHttps(url, HttpMethod.POST, options, this.customAgentOptions as https.AgentOptions, cancellationToken);
} }
} }
/**
* Http Put request
* @param url
* @param options
*/
async sendPutRequestAsync<T>(
url: string,
options?: NetworkRequestOptions,
cancellationToken?: number
): Promise<NetworkResponse<T>> {
if (this.proxyUrl) {
return networkRequestViaProxy(url, this.proxyUrl, HttpMethod.PUT, options, this.customAgentOptions as http.AgentOptions, cancellationToken);
} else {
return networkRequestViaHttps(url, HttpMethod.PUT, options, this.customAgentOptions as https.AgentOptions, cancellationToken);
}
}
/**
* Http Delete request
* @param url
* @param options
*/
async sendDeleteRequestAsync<T>(
url: string,
options?: NetworkRequestOptions
): Promise<NetworkResponse<T>> {
if (this.proxyUrl) {
return networkRequestViaProxy(url, this.proxyUrl, HttpMethod.DELETE, options, this.customAgentOptions as http.AgentOptions);
} else {
return networkRequestViaHttps(url, HttpMethod.DELETE, options, this.customAgentOptions as https.AgentOptions);
}
}
} }
const networkRequestViaProxy = <T>( const networkRequestViaProxy = <T>(
@@ -150,7 +114,7 @@ const networkRequestViaProxy = <T>(
// compose a request string for the socket // compose a request string for the socket
let postRequestStringContent: string = ''; let postRequestStringContent: string = '';
if (httpMethod === HttpMethod.POST || httpMethod === HttpMethod.PUT) { if (httpMethod === HttpMethod.POST) {
const body = options?.body || ''; const body = options?.body || '';
postRequestStringContent = postRequestStringContent =
'Content-Type: application/x-www-form-urlencoded\r\n' + 'Content-Type: application/x-www-form-urlencoded\r\n' +
@@ -283,7 +247,6 @@ const networkRequestViaHttps = <T>(
timeout?: number timeout?: number
): Promise<NetworkResponse<T>> => { ): Promise<NetworkResponse<T>> => {
const isPostRequest = httpMethod === HttpMethod.POST; const isPostRequest = httpMethod === HttpMethod.POST;
const isPutRequest = httpMethod === HttpMethod.PUT;
const body: string = options?.body || ''; const body: string = options?.body || '';
const url = new URL(urlString); const url = new URL(urlString);
const optionHeaders = options?.headers || {} as Record<string, string>; const optionHeaders = options?.headers || {} as Record<string, string>;
@@ -301,7 +264,7 @@ const networkRequestViaHttps = <T>(
customOptions.agent = new https.Agent(agentOptions); customOptions.agent = new https.Agent(agentOptions);
} }
if (isPostRequest || isPutRequest) { if (isPostRequest) {
// needed for post request to work // needed for post request to work
customOptions.headers = { customOptions.headers = {
...customOptions.headers, ...customOptions.headers,

View File

@@ -5,6 +5,7 @@
import { ResourceGraphClient } from '@azure/arm-resourcegraph'; import { ResourceGraphClient } from '@azure/arm-resourcegraph';
import { TokenCredentials } from '@azure/ms-rest-js'; import { TokenCredentials } from '@azure/ms-rest-js';
import axios, { AxiosRequestConfig, AxiosResponse } from 'axios';
import * as azdata from 'azdata'; import * as azdata from 'azdata';
import { AzureRestResponse, GetResourceGroupsResult, GetSubscriptionsResult, ResourceQueryResult, GetBlobContainersResult, GetFileSharesResult, HttpRequestMethod, GetLocationsResult, GetManagedDatabasesResult, CreateResourceGroupResult, GetBlobsResult, GetStorageAccountAccessKeyResult, AzureAccount, azureResource, AzureAccountProviderMetadata } from 'azurecore'; import { AzureRestResponse, GetResourceGroupsResult, GetSubscriptionsResult, ResourceQueryResult, GetBlobContainersResult, GetFileSharesResult, HttpRequestMethod, GetLocationsResult, GetManagedDatabasesResult, CreateResourceGroupResult, GetBlobsResult, GetStorageAccountAccessKeyResult, AzureAccount, azureResource, AzureAccountProviderMetadata } from 'azurecore';
import { EOL } from 'os'; import { EOL } from 'os';
@@ -17,19 +18,9 @@ import { AzureResourceGroupService } from './providers/resourceGroup/resourceGro
import { BlobServiceClient, StorageSharedKeyCredential } from '@azure/storage-blob'; import { BlobServiceClient, StorageSharedKeyCredential } from '@azure/storage-blob';
import providerSettings from '../account-provider/providerSettings'; import providerSettings from '../account-provider/providerSettings';
import * as Constants from '../constants'; import * as Constants from '../constants';
import { getProxyEnabledHttpClient } from '../utils';
import { HttpClient } from '../account-provider/auths/httpClient';
import { NetworkRequestOptions } from '@azure/msal-common';
const localize = nls.loadMessageBundle(); const localize = nls.loadMessageBundle();
export interface HttpClientResponse {
body: any;
headers: any;
status: Number;
error: any;
}
function getErrorMessage(error: Error | string): string { function getErrorMessage(error: Error | string): string {
return (error instanceof Error) ? error.message : error; return (error instanceof Error) ? error.message : error;
} }
@@ -171,7 +162,7 @@ export async function getLocations(appContext: AppContext, account?: AzureAccoun
const path = `/subscriptions/${subscription.id}/locations?api-version=2020-01-01`; const path = `/subscriptions/${subscription.id}/locations?api-version=2020-01-01`;
const host = getProviderMetadataForAccount(account).settings.armResource.endpoint; const host = getProviderMetadataForAccount(account).settings.armResource.endpoint;
const response = await makeHttpRequest(account, subscription, path, HttpRequestMethod.GET, undefined, ignoreErrors, host); const response = await makeHttpRequest(account, subscription, path, HttpRequestMethod.GET, undefined, ignoreErrors, host);
result.locations.push(...response.response.body.value); result.locations.push(...response.response.data.value);
result.errors.push(...response.errors); result.errors.push(...response.errors);
} catch (err) { } catch (err) {
const error = new Error(localize('azure.accounts.getLocations.queryError', "Error fetching locations for account {0} ({1}) subscription {2} ({3}) tenant {4} : {5}", const error = new Error(localize('azure.accounts.getLocations.queryError', "Error fetching locations for account {0} ({1}) subscription {2} ({3}) tenant {4} : {5}",
@@ -350,7 +341,6 @@ export async function getSelectedSubscriptions(appContext: AppContext, account?:
*/ */
export async function makeHttpRequest(account: AzureAccount, subscription: azureResource.AzureResourceSubscription, path: string, requestType: HttpRequestMethod, requestBody?: any, ignoreErrors: boolean = false, host: string = 'https://management.azure.com', requestHeaders: { [key: string]: string } = {}): Promise<AzureRestResponse> { export async function makeHttpRequest(account: AzureAccount, subscription: azureResource.AzureResourceSubscription, path: string, requestType: HttpRequestMethod, requestBody?: any, ignoreErrors: boolean = false, host: string = 'https://management.azure.com', requestHeaders: { [key: string]: string } = {}): Promise<AzureRestResponse> {
const result: AzureRestResponse = { response: {}, errors: [] }; const result: AzureRestResponse = { response: {}, errors: [] };
const httpClient: HttpClient = getProxyEnabledHttpClient();
if (!account?.properties?.tenants || !Array.isArray(account.properties.tenants)) { if (!account?.properties?.tenants || !Array.isArray(account.properties.tenants)) {
const error = new Error(invalidAzureAccount); const error = new Error(invalidAzureAccount);
@@ -390,15 +380,15 @@ export async function makeHttpRequest(account: AzureAccount, subscription: azure
return result; return result;
} }
let reqHeaders = { const reqHeaders = {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'Authorization': `Bearer ${securityToken.token}`, 'Authorization': `Bearer ${securityToken.token}`,
...requestHeaders ...requestHeaders
} };
let networkRequestOptions: NetworkRequestOptions = { const config: AxiosRequestConfig = {
headers: reqHeaders, headers: reqHeaders,
body: requestBody validateStatus: () => true // Never throw
}; };
// Adding '/' if path does not begin with it. // Adding '/' if path does not begin with it.
@@ -413,23 +403,19 @@ export async function makeHttpRequest(account: AzureAccount, subscription: azure
requestUrl = `${account.properties.providerSettings.settings.armResource.endpoint}${path}`; requestUrl = `${account.properties.providerSettings.settings.armResource.endpoint}${path}`;
} }
let response; let response: AxiosResponse | undefined;
switch (requestType) { switch (requestType) {
case HttpRequestMethod.GET: case HttpRequestMethod.GET:
response = await httpClient.sendGetRequestAsync<any>(requestUrl, { response = await axios.get(requestUrl, config);
headers: reqHeaders
});
break; break;
case HttpRequestMethod.POST: case HttpRequestMethod.POST:
response = await httpClient.sendPostRequestAsync<HttpClientResponse>(requestUrl, networkRequestOptions); response = await axios.post(requestUrl, requestBody, config);
break; break;
case HttpRequestMethod.PUT: case HttpRequestMethod.PUT:
response = await httpClient.sendPutRequestAsync<HttpClientResponse>(requestUrl, networkRequestOptions); response = await axios.put(requestUrl, requestBody, config);
break; break;
case HttpRequestMethod.DELETE: case HttpRequestMethod.DELETE:
response = await httpClient.sendDeleteRequestAsync<any>(requestUrl, { response = await axios.delete(requestUrl, config);
headers: reqHeaders
});
break; break;
default: default:
const error = new Error(`Unknown RequestType "${requestType}"`); const error = new Error(`Unknown RequestType "${requestType}"`);
@@ -448,8 +434,9 @@ export async function makeHttpRequest(account: AzureAccount, subscription: azure
} else if (response.status < 200 || response.status > 299) { } else if (response.status < 200 || response.status > 299) {
let errorMessage: string[] = []; let errorMessage: string[] = [];
errorMessage.push(response.status.toString()); errorMessage.push(response.status.toString());
if (response.body && response.body.error) { errorMessage.push(response.statusText);
errorMessage.push(`${response.body.error.code} : ${response.body.error.message}`); if (response.data && response.data.error) {
errorMessage.push(`${response.data.error.code} : ${response.data.error.message}`);
} }
const error = new Error(errorMessage.join(EOL)); const error = new Error(errorMessage.join(EOL));
if (!ignoreErrors) { if (!ignoreErrors) {
@@ -468,7 +455,7 @@ export async function getManagedDatabases(account: AzureAccount, subscription: a
const host = getProviderMetadataForAccount(account).settings.armResource.endpoint; const host = getProviderMetadataForAccount(account).settings.armResource.endpoint;
const response = await makeHttpRequest(account, subscription, path, HttpRequestMethod.GET, undefined, ignoreErrors, host); const response = await makeHttpRequest(account, subscription, path, HttpRequestMethod.GET, undefined, ignoreErrors, host);
return { return {
databases: response?.response?.body?.value ?? [], databases: response?.response?.data?.value ?? [],
errors: response.errors ? response.errors : [] errors: response.errors ? response.errors : []
}; };
} }
@@ -478,7 +465,7 @@ export async function getBlobContainers(account: AzureAccount, subscription: azu
const host = getProviderMetadataForAccount(account).settings.armResource.endpoint; const host = getProviderMetadataForAccount(account).settings.armResource.endpoint;
const response = await makeHttpRequest(account, subscription, path, HttpRequestMethod.GET, undefined, ignoreErrors, host); const response = await makeHttpRequest(account, subscription, path, HttpRequestMethod.GET, undefined, ignoreErrors, host);
return { return {
blobContainers: response?.response?.body?.value ?? [], blobContainers: response?.response?.data?.value ?? [],
errors: response.errors ? response.errors : [] errors: response.errors ? response.errors : []
}; };
} }
@@ -488,7 +475,7 @@ export async function getFileShares(account: AzureAccount, subscription: azureRe
const host = getProviderMetadataForAccount(account).settings.armResource.endpoint; const host = getProviderMetadataForAccount(account).settings.armResource.endpoint;
const response = await makeHttpRequest(account, subscription, path, HttpRequestMethod.GET, undefined, ignoreErrors, host); const response = await makeHttpRequest(account, subscription, path, HttpRequestMethod.GET, undefined, ignoreErrors, host);
return { return {
fileShares: response?.response?.body?.value ?? [], fileShares: response?.response?.data?.value ?? [],
errors: response.errors ? response.errors : [] errors: response.errors ? response.errors : []
}; };
} }

View File

@@ -43,7 +43,7 @@ export async function getLocations(account: azdata.Account, subscription: Subscr
const path = `/subscriptions/${subscription.id}/providers/Microsoft.DataMigration?api-version=${ARM_MGMT_API_VERSION}`; const path = `/subscriptions/${subscription.id}/providers/Microsoft.DataMigration?api-version=${ARM_MGMT_API_VERSION}`;
const host = api.getProviderMetadataForAccount(account).settings.armResource?.endpoint; const host = api.getProviderMetadataForAccount(account).settings.armResource?.endpoint;
const dataMigrationResourceProvider = (await api.makeAzureRestRequest(account, subscription, path, azurecore.HttpRequestMethod.GET, undefined, true, host))?.response?.body; const dataMigrationResourceProvider = (await api.makeAzureRestRequest(account, subscription, path, azurecore.HttpRequestMethod.GET, undefined, true, host))?.response?.data;
const sqlMigratonResource = dataMigrationResourceProvider?.resourceTypes?.find((r: any) => r.resourceType === 'SqlMigrationServices'); const sqlMigratonResource = dataMigrationResourceProvider?.resourceTypes?.find((r: any) => r.resourceType === 'SqlMigrationServices');
const sqlMigrationResourceLocations = sqlMigratonResource?.locations ?? []; const sqlMigrationResourceLocations = sqlMigratonResource?.locations ?? [];
if (response.errors?.length > 0) { if (response.errors?.length > 0) {
@@ -245,8 +245,8 @@ export async function getAvailableSqlDatabaseServers(account: azdata.Account, su
.join(', '); .join(', ');
throw new Error(message); throw new Error(message);
} }
sortResourceArrayByName(response.response.body.value); sortResourceArrayByName(response.response.data.value);
return response.response.body.value; return response.response.data.value;
} }
export async function getAvailableSqlDatabases(account: azdata.Account, subscription: Subscription, resourceGroupName: string, serverName: string): Promise<AzureSqlDatabase[]> { export async function getAvailableSqlDatabases(account: azdata.Account, subscription: Subscription, resourceGroupName: string, serverName: string): Promise<AzureSqlDatabase[]> {
@@ -260,8 +260,8 @@ export async function getAvailableSqlDatabases(account: azdata.Account, subscrip
.join(', '); .join(', ');
throw new Error(message); throw new Error(message);
} }
sortResourceArrayByName(response.response.body.value); sortResourceArrayByName(response.response.data.value);
return response.response.body.value; return response.response.data.value;
} }
export async function getAvailableSqlVMs(account: azdata.Account, subscription: Subscription): Promise<SqlVMServer[]> { export async function getAvailableSqlVMs(account: azdata.Account, subscription: Subscription): Promise<SqlVMServer[]> {
@@ -276,8 +276,8 @@ export async function getAvailableSqlVMs(account: azdata.Account, subscription:
.join(', '); .join(', ');
throw new Error(message); throw new Error(message);
} }
sortResourceArrayByName(response.response.body.value); sortResourceArrayByName(response.response.data.value);
return response.response.body.value; return response.response.data.value;
} }
export async function getVMInstanceView(sqlVm: SqlVMServer, account: azdata.Account, subscription: Subscription): Promise<VirtualMachineInstanceView> { export async function getVMInstanceView(sqlVm: SqlVMServer, account: azdata.Account, subscription: Subscription): Promise<VirtualMachineInstanceView> {
@@ -294,7 +294,7 @@ export async function getVMInstanceView(sqlVm: SqlVMServer, account: azdata.Acco
} }
return response.response.body; return response.response.data;
} }
export async function getAzureResourceGivenId(account: azdata.Account, subscription: Subscription, id: string, apiVersion: string): Promise<any> { export async function getAzureResourceGivenId(account: azdata.Account, subscription: Subscription, id: string, apiVersion: string): Promise<any> {
@@ -311,7 +311,7 @@ export async function getAzureResourceGivenId(account: azdata.Account, subscript
} }
return response.response.body; return response.response.data;
} }
export async function getComputeVM(sqlVm: SqlVMServer, account: azdata.Account, subscription: Subscription): Promise<any> { export async function getComputeVM(sqlVm: SqlVMServer, account: azdata.Account, subscription: Subscription): Promise<any> {
@@ -367,8 +367,8 @@ export async function getSqlMigrationServiceById(account: azdata.Account, subscr
.join(', '); .join(', ');
throw new Error(message); throw new Error(message);
} }
response.response.body.properties.resourceGroup = getResourceGroupFromId(response.response.body.id); response.response.data.properties.resourceGroup = getResourceGroupFromId(response.response.data.id);
return response.response.body; return response.response.data;
} }
export async function getSqlMigrationServicesByResourceGroup(account: azdata.Account, subscription: Subscription, resouceGroupName: string): Promise<SqlMigrationService[]> { export async function getSqlMigrationServicesByResourceGroup(account: azdata.Account, subscription: Subscription, resouceGroupName: string): Promise<SqlMigrationService[]> {
@@ -382,11 +382,11 @@ export async function getSqlMigrationServicesByResourceGroup(account: azdata.Acc
.join(', '); .join(', ');
throw new Error(message); throw new Error(message);
} }
sortResourceArrayByName(response.response.body.value); sortResourceArrayByName(response.response.data.value);
response.response.body.value.forEach((sms: SqlMigrationService) => { response.response.data.value.forEach((sms: SqlMigrationService) => {
sms.properties.resourceGroup = getResourceGroupFromId(sms.id); sms.properties.resourceGroup = getResourceGroupFromId(sms.id);
}); });
return response.response.body.value; return response.response.data.value;
} }
export async function getSqlMigrationServices(account: azdata.Account, subscription: Subscription): Promise<SqlMigrationService[]> { export async function getSqlMigrationServices(account: azdata.Account, subscription: Subscription): Promise<SqlMigrationService[]> {
@@ -400,11 +400,11 @@ export async function getSqlMigrationServices(account: azdata.Account, subscript
.join(', '); .join(', ');
throw new Error(message); throw new Error(message);
} }
sortResourceArrayByName(response.response.body.value); sortResourceArrayByName(response.response.data.value);
response.response.body.value.forEach((sms: SqlMigrationService) => { response.response.data.value.forEach((sms: SqlMigrationService) => {
sms.properties.resourceGroup = getResourceGroupFromId(sms.id); sms.properties.resourceGroup = getResourceGroupFromId(sms.id);
}); });
return response.response.body.value; return response.response.data.value;
} }
export async function createSqlMigrationService(account: azdata.Account, subscription: Subscription, resourceGroupName: string, regionName: string, sqlMigrationServiceName: string, sessionId: string): Promise<SqlMigrationService> { export async function createSqlMigrationService(account: azdata.Account, subscription: Subscription, resourceGroupName: string, regionName: string, sqlMigrationServiceName: string, sessionId: string): Promise<SqlMigrationService> {
@@ -428,7 +428,7 @@ export async function createSqlMigrationService(account: azdata.Account, subscri
let i = 0; let i = 0;
for (i = 0; i < maxRetry; i++) { for (i = 0; i < maxRetry; i++) {
const asyncResponse = await api.makeAzureRestRequest(account, subscription, asyncPath, azurecore.HttpRequestMethod.GET, undefined, true, host); const asyncResponse = await api.makeAzureRestRequest(account, subscription, asyncPath, azurecore.HttpRequestMethod.GET, undefined, true, host);
const creationStatus = asyncResponse.response.body.status; const creationStatus = asyncResponse.response.data.status;
if (creationStatus === constants.ProvisioningState.Succeeded) { if (creationStatus === constants.ProvisioningState.Succeeded) {
break; break;
} else if (creationStatus === constants.ProvisioningState.Failed) { } else if (creationStatus === constants.ProvisioningState.Failed) {
@@ -439,7 +439,7 @@ export async function createSqlMigrationService(account: azdata.Account, subscri
if (i === maxRetry) { if (i === maxRetry) {
throw new Error(constants.DMS_PROVISIONING_FAILED); throw new Error(constants.DMS_PROVISIONING_FAILED);
} }
return response.response.body; return response.response.data;
} }
export async function getSqlMigrationServiceAuthKeys(account: azdata.Account, subscription: Subscription, resourceGroupName: string, regionName: string, sqlMigrationServiceName: string): Promise<SqlMigrationServiceAuthenticationKeys> { export async function getSqlMigrationServiceAuthKeys(account: azdata.Account, subscription: Subscription, resourceGroupName: string, regionName: string, sqlMigrationServiceName: string): Promise<SqlMigrationServiceAuthenticationKeys> {
@@ -454,8 +454,8 @@ export async function getSqlMigrationServiceAuthKeys(account: azdata.Account, su
throw new Error(message); throw new Error(message);
} }
return { return {
authKey1: response?.response?.body?.authKey1 ?? '', authKey1: response?.response?.data?.authKey1 ?? '',
authKey2: response?.response?.body?.authKey2 ?? '' authKey2: response?.response?.data?.authKey2 ?? ''
}; };
} }
@@ -475,8 +475,8 @@ export async function regenerateSqlMigrationServiceAuthKey(account: azdata.Accou
throw new Error(message); throw new Error(message);
} }
return { return {
authKey1: response?.response?.body?.authKey1 ?? '', authKey1: response?.response?.data?.authKey1 ?? '',
authKey2: response?.response?.body?.authKey2 ?? '' authKey2: response?.response?.data?.authKey2 ?? ''
}; };
} }
@@ -506,7 +506,7 @@ export async function getSqlMigrationServiceMonitoringData(account: azdata.Accou
.join(', '); .join(', ');
throw new Error(message); throw new Error(message);
} }
return response.response.body; return response.response.data;
} }
export async function startDatabaseMigration( export async function startDatabaseMigration(
@@ -532,7 +532,7 @@ export async function startDatabaseMigration(
return { return {
asyncUrl: asyncUrl, asyncUrl: asyncUrl,
status: response.response.status, status: response.response.status,
databaseMigration: response.response.body databaseMigration: response.response.data
}; };
} }
@@ -552,7 +552,7 @@ export async function getMigrationDetails(account: azdata.Account, subscription:
throw new Error(message); throw new Error(message);
} }
return response.response.body; return response.response.data;
} }
export async function getServiceMigrations(account: azdata.Account, subscription: Subscription, resourceId: string): Promise<DatabaseMigration[]> { export async function getServiceMigrations(account: azdata.Account, subscription: Subscription, resourceId: string): Promise<DatabaseMigration[]> {
@@ -567,7 +567,7 @@ export async function getServiceMigrations(account: azdata.Account, subscription
throw new Error(message); throw new Error(message);
} }
return response.response.body.value; return response.response.data.value;
} }
export async function getMigrationTargetInstance(account: azdata.Account, subscription: Subscription, migration: DatabaseMigration): Promise<SqlManagedInstance | SqlVMServer> { export async function getMigrationTargetInstance(account: azdata.Account, subscription: Subscription, migration: DatabaseMigration): Promise<SqlManagedInstance | SqlVMServer> {
@@ -583,7 +583,7 @@ export async function getMigrationTargetInstance(account: azdata.Account, subscr
throw new Error(message); throw new Error(message);
} }
return response.response.body; return response.response.data;
} }
export async function getMigrationAsyncOperationDetails(account: azdata.Account, subscription: Subscription, url: string): Promise<AzureAsyncOperationResource> { export async function getMigrationAsyncOperationDetails(account: azdata.Account, subscription: Subscription, url: string): Promise<AzureAsyncOperationResource> {
@@ -597,7 +597,7 @@ export async function getMigrationAsyncOperationDetails(account: azdata.Account,
.join(', '); .join(', ');
throw new Error(message); throw new Error(message);
} }
return response.response.body; return response.response.data;
} }
export async function startMigrationCutover(account: azdata.Account, subscription: Subscription, migration: DatabaseMigration): Promise<any> { export async function startMigrationCutover(account: azdata.Account, subscription: Subscription, migration: DatabaseMigration): Promise<any> {
@@ -612,7 +612,7 @@ export async function startMigrationCutover(account: azdata.Account, subscriptio
.join(', '); .join(', ');
throw new Error(message); throw new Error(message);
} }
return response.response.body.value; return response.response.data.value;
} }
export async function stopMigration(account: azdata.Account, subscription: Subscription, migration: DatabaseMigration): Promise<void> { export async function stopMigration(account: azdata.Account, subscription: Subscription, migration: DatabaseMigration): Promise<void> {
@@ -718,7 +718,7 @@ export async function validateIrSqlDatabaseMigrationSettings(
if (response.errors.length > 0) { if (response.errors.length > 0) {
throw new Error(response.errors.map(e => e.message).join(',')); throw new Error(response.errors.map(e => e.message).join(','));
} }
return response.response.body; return response.response.data;
} }
export async function validateIrDatabaseMigrationSettings( export async function validateIrDatabaseMigrationSettings(
@@ -785,7 +785,7 @@ export async function validateIrDatabaseMigrationSettings(
if (response.errors.length > 0) { if (response.errors.length > 0) {
throw new Error(response.errors.map(e => e.message).join(',')); throw new Error(response.errors.map(e => e.message).join(','));
} }
return response.response.body; return response.response.data;
} }
type SortableAzureResources = AzureProduct | azurecore.azureResource.FileShare | azurecore.azureResource.BlobContainer | azurecore.azureResource.Blob | azurecore.azureResource.AzureResourceSubscription | SqlMigrationService; type SortableAzureResources = AzureProduct | azurecore.azureResource.FileShare | azurecore.azureResource.BlobContainer | azurecore.azureResource.Blob | azurecore.azureResource.AzureResourceSubscription | SqlMigrationService;