mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
Adding option to create a resource group in sql migration dms page. (#15856)
* Pushing all changes * Fixing more stuff * Added new to the newly created resource group * removing error message when user starts typing * removing unused import * Localizing some string adding aria lables and loading text * Adding focus to resource group input box * switching to name instead of display name as it contains (new) param * changing focus to resource group dropdown after creation of a new resource group * fixing typo
This commit is contained in:
@@ -69,6 +69,12 @@ declare module 'azureResource' {
|
||||
}
|
||||
|
||||
export interface AzureResourceResourceGroup extends AzureResource {
|
||||
location?: string;
|
||||
managedBy?: string;
|
||||
properties?: {
|
||||
provisioningState?: string
|
||||
};
|
||||
type?: string;
|
||||
}
|
||||
|
||||
export interface AzureLocation {
|
||||
|
||||
@@ -7,7 +7,7 @@ import { ResourceGraphClient } from '@azure/arm-resourcegraph';
|
||||
import { TokenCredentials } from '@azure/ms-rest-js';
|
||||
import axios, { AxiosRequestConfig } from 'axios';
|
||||
import * as azdata from 'azdata';
|
||||
import { AzureRestResponse, GetResourceGroupsResult, GetSubscriptionsResult, ResourceQueryResult, GetBlobContainersResult, GetFileSharesResult, HttpRequestMethod, GetLocationsResult, GetManagedDatabasesResult } from 'azurecore';
|
||||
import { AzureRestResponse, GetResourceGroupsResult, GetSubscriptionsResult, ResourceQueryResult, GetBlobContainersResult, GetFileSharesResult, HttpRequestMethod, GetLocationsResult, GetManagedDatabasesResult, CreateResourceGroupResult } from 'azurecore';
|
||||
import { azureResource } from 'azureResource';
|
||||
import { EOL } from 'os';
|
||||
import * as nls from 'vscode-nls';
|
||||
@@ -455,3 +455,15 @@ export async function getFileShares(account: azdata.Account, subscription: azure
|
||||
errors: response.errors ? response.errors : []
|
||||
};
|
||||
}
|
||||
|
||||
export async function createResourceGroup(account: azdata.Account, subscription: azureResource.AzureResourceSubscription, resourceGroupName: string, location: string, ignoreErrors: boolean): Promise<CreateResourceGroupResult> {
|
||||
const path = `/subscriptions/${subscription.id}/resourcegroups/${resourceGroupName}?api-version=2021-04-01`;
|
||||
const requestBody = {
|
||||
location: location
|
||||
};
|
||||
const response = await makeHttpRequest(account, subscription, path, HttpRequestMethod.PUT, requestBody, ignoreErrors);
|
||||
return {
|
||||
resourceGroup: response?.response?.data,
|
||||
errors: response.errors ? response.errors : []
|
||||
};
|
||||
}
|
||||
|
||||
2
extensions/azurecore/src/azurecore.d.ts
vendored
2
extensions/azurecore/src/azurecore.d.ts
vendored
@@ -258,6 +258,7 @@ declare module 'azurecore' {
|
||||
getStorageAccounts(account: azdata.Account, subscriptions: azureResource.AzureResourceSubscription[], ignoreErrors?: boolean): Promise<GetStorageAccountResult>;
|
||||
getBlobContainers(account: azdata.Account, subscription: azureResource.AzureResourceSubscription, storageAccount: azureResource.AzureGraphResource, ignoreErrors?: boolean): Promise<GetBlobContainersResult>;
|
||||
getFileShares(account: azdata.Account, subscription: azureResource.AzureResourceSubscription, storageAccount: azureResource.AzureGraphResource, ignoreErrors?: boolean): Promise<GetFileSharesResult>;
|
||||
createResourceGroup(account: azdata.Account, subscription: azureResource.AzureResourceSubscription, resourceGroupName: string, location: string, ignoreErrors?: boolean): Promise<CreateResourceGroupResult>;
|
||||
/**
|
||||
* Makes Azure REST requests to create, retrieve, update or delete access to azure service's resources.
|
||||
* For reference to different service URLs, See https://docs.microsoft.com/rest/api/?view=Azure
|
||||
@@ -290,6 +291,7 @@ declare module 'azurecore' {
|
||||
export type GetStorageAccountResult = { resources: azureResource.AzureGraphResource[], errors: Error[] };
|
||||
export type GetBlobContainersResult = { blobContainers: azureResource.BlobContainer[], errors: Error[] };
|
||||
export type GetFileSharesResult = { fileShares: azureResource.FileShare[], errors: Error[] };
|
||||
export type CreateResourceGroupResult = { resourceGroup: azureResource.AzureResourceResourceGroup, errors: Error[] };
|
||||
export type ResourceQueryResult<T extends azureResource.AzureGraphResource> = { resources: T[], errors: Error[] };
|
||||
export type AzureRestResponse = { response: any, errors: Error[] };
|
||||
}
|
||||
|
||||
@@ -207,6 +207,13 @@ export async function activate(context: vscode.ExtensionContext): Promise<azurec
|
||||
ignoreErrors: boolean): Promise<azurecore.GetFileSharesResult> {
|
||||
return azureResourceUtils.getFileShares(account, subscription, storageAccount, ignoreErrors);
|
||||
},
|
||||
createResourceGroup(account: azdata.Account,
|
||||
subscription: azureResource.AzureResourceSubscription,
|
||||
resourceGroupName: string,
|
||||
location: string,
|
||||
ignoreErrors: boolean): Promise<azurecore.CreateResourceGroupResult> {
|
||||
return azureResourceUtils.createResourceGroup(account, subscription, resourceGroupName, location, ignoreErrors);
|
||||
},
|
||||
makeAzureRestRequest(account: azdata.Account,
|
||||
subscription: azureResource.AzureResourceSubscription,
|
||||
path: string,
|
||||
|
||||
Reference in New Issue
Block a user