mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
Add SQL MIAA Upgrade Management tab (#19238)
* Added sql upgrade management page and fixed icon for dc and sql upgrade * Added logic for figuring out MIAA version, loading proper entries for table. * Added PR comment changes Co-authored-by: Candice Ye <canye@microsoft.com>
This commit is contained in:
@@ -128,10 +128,20 @@ export function getAzApi(localAzDiscovered: Promise<IAzTool | undefined>, azTool
|
||||
validateAz(azToolService.localAz);
|
||||
return azToolService.localAz!.sql.miarc.list(namespace, additionalEnvVars);
|
||||
},
|
||||
show: async (name: string, namespace: string, additionalEnvVars?: azExt.AdditionalEnvVars) => {
|
||||
show: async (
|
||||
name: string,
|
||||
args: {
|
||||
// Direct mode arguments
|
||||
resourceGroup?: string;
|
||||
// Indirect mode arguments
|
||||
namespace?: string;
|
||||
},
|
||||
// Additional arguments
|
||||
additionalEnvVars?: azExt.AdditionalEnvVars
|
||||
) => {
|
||||
await localAzDiscovered;
|
||||
validateAz(azToolService.localAz);
|
||||
return azToolService.localAz!.sql.miarc.show(name, namespace, additionalEnvVars);
|
||||
return azToolService.localAz!.sql.miarc.show(name, args, additionalEnvVars);
|
||||
},
|
||||
update: async (
|
||||
name: string,
|
||||
@@ -155,21 +165,19 @@ export function getAzApi(localAzDiscovered: Promise<IAzTool | undefined>, azTool
|
||||
return azToolService.localAz!.sql.miarc.update(name, args, resourceGroup, namespace, usek8s, additionalEnvVars);
|
||||
},
|
||||
upgrade: async (
|
||||
desiredVersion: string,
|
||||
name: string,
|
||||
args: {
|
||||
// Direct mode arguments
|
||||
resourceGroup?: string;
|
||||
// Indirect mode arguments
|
||||
namespace?: string;
|
||||
usek8s?: boolean;
|
||||
},
|
||||
// Additional arguments
|
||||
additionalEnvVars?: azExt.AdditionalEnvVars
|
||||
) => {
|
||||
await localAzDiscovered;
|
||||
validateAz(azToolService.localAz);
|
||||
return azToolService.localAz!.sql.miarc.upgrade(desiredVersion, name, args, additionalEnvVars);
|
||||
return azToolService.localAz!.sql.miarc.upgrade(name, args, additionalEnvVars);
|
||||
}
|
||||
},
|
||||
midbarc: {
|
||||
|
||||
@@ -181,8 +181,24 @@ export class AzTool implements azExt.IAzApi {
|
||||
list: (namespace: string, additionalEnvVars?: azExt.AdditionalEnvVars): Promise<azExt.AzOutput<azExt.SqlMiListResult[]>> => {
|
||||
return this.executeCommand<azExt.SqlMiListResult[]>(['sql', 'mi-arc', 'list', '--k8s-namespace', namespace, '--use-k8s'], additionalEnvVars);
|
||||
},
|
||||
show: (name: string, namespace: string, additionalEnvVars?: azExt.AdditionalEnvVars): Promise<azExt.AzOutput<azExt.SqlMiShowResult>> => {
|
||||
return this.executeCommand<azExt.SqlMiShowResult>(['sql', 'mi-arc', 'show', '-n', name, '--k8s-namespace', namespace, '--use-k8s'], additionalEnvVars);
|
||||
show: (
|
||||
name: string,
|
||||
args: {
|
||||
// Direct mode arguments
|
||||
resourceGroup?: string,
|
||||
// Indirect mode arguments
|
||||
namespace?: string
|
||||
// Additional arguments
|
||||
},
|
||||
additionalEnvVars?: azExt.AdditionalEnvVars
|
||||
): Promise<azExt.AzOutput<azExt.SqlMiShowResult>> => {
|
||||
const argsArray = ['sql', 'mi-arc', 'show', '-n', name];
|
||||
if (args.resourceGroup) { argsArray.push('--resource-group', args.resourceGroup); }
|
||||
if (args.namespace) {
|
||||
argsArray.push('--k8s-namespace', args.namespace);
|
||||
argsArray.push('--use-k8s');
|
||||
}
|
||||
return this.executeCommand<azExt.SqlMiShowResult>(argsArray, additionalEnvVars);
|
||||
},
|
||||
update: (
|
||||
name: string,
|
||||
@@ -215,22 +231,22 @@ export class AzTool implements azExt.IAzApi {
|
||||
return this.executeCommand<void>(argsArray, additionalEnvVars);
|
||||
},
|
||||
upgrade: (
|
||||
desiredVersion: string,
|
||||
name: string,
|
||||
args: {
|
||||
// Direct mode arguments
|
||||
resourceGroup?: string,
|
||||
// Indirect mode arguments
|
||||
namespace?: string,
|
||||
usek8s?: boolean
|
||||
namespace?: string
|
||||
// Additional arguments
|
||||
},
|
||||
additionalEnvVars?: azExt.AdditionalEnvVars
|
||||
): Promise<azExt.AzOutput<void>> => {
|
||||
const argsArray = ['sql', 'mi-arc', 'upgrade', '--desired-version', desiredVersion, '--name', name];
|
||||
const argsArray = ['sql', 'mi-arc', 'upgrade', '--name', name];
|
||||
if (args.resourceGroup) { argsArray.push('--resource-group', args.resourceGroup); }
|
||||
if (args.namespace) { argsArray.push('--k8s-namespace', args.namespace); }
|
||||
if (args.usek8s) { argsArray.push('--use-k8s'); }
|
||||
if (args.namespace) {
|
||||
argsArray.push('--k8s-namespace', args.namespace);
|
||||
argsArray.push('--use-k8s');
|
||||
}
|
||||
return this.executeCommand<void>(argsArray, additionalEnvVars);
|
||||
}
|
||||
},
|
||||
|
||||
@@ -110,15 +110,18 @@ describe('az', function () {
|
||||
describe('sql', function (): void {
|
||||
describe('mi-arc', function (): void {
|
||||
it('delete', async function (): Promise<void> {
|
||||
// Assume indirect mode
|
||||
await azTool.sql.miarc.delete(name, namespace);
|
||||
verifyExecuteCommandCalledWithArgs(['sql', 'mi-arc', 'delete', name, '--k8s-namespace', namespace, '--use-k8s']);
|
||||
});
|
||||
it('list', async function (): Promise<void> {
|
||||
// Assume indirect mode
|
||||
await azTool.sql.miarc.list(namespace);
|
||||
verifyExecuteCommandCalledWithArgs(['sql', 'mi-arc', 'list', '--k8s-namespace', namespace, '--use-k8s']);
|
||||
});
|
||||
it('show', async function (): Promise<void> {
|
||||
await azTool.sql.miarc.show(name, namespace);
|
||||
// Assume indirect mode
|
||||
await azTool.sql.miarc.show(name, {resourceGroup: undefined, namespace: namespace});
|
||||
verifyExecuteCommandCalledWithArgs(['sql', 'mi-arc', 'show', name, '--k8s-namespace', namespace, '--use-k8s']);
|
||||
});
|
||||
});
|
||||
|
||||
17
extensions/azcli/src/typings/az-ext.d.ts
vendored
17
extensions/azcli/src/typings/az-ext.d.ts
vendored
@@ -179,6 +179,7 @@ declare module 'az-ext' {
|
||||
logSearchDashboard: string, // https://127.0.0.1:30777/kibana/app/kibana#/discover?_a=(query:(language:kuery,query:'custom_resource_name:miaa1'))
|
||||
metricsDashboard: string, // https://127.0.0.1:30777/grafana/d/40q72HnGk/sql-managed-instance-metrics?var-hostname=miaa1-0
|
||||
primaryEndpoint?: string // "10.91.86.39:32718"
|
||||
runningVersion: string // "v1.5.0_2022-04-05"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -374,7 +375,17 @@ declare module 'az-ext' {
|
||||
miarc: {
|
||||
delete(name: string, namespace?: string, additionalEnvVars?: AdditionalEnvVars): Promise<AzOutput<void>>,
|
||||
list(namespace?: string, additionalEnvVars?: AdditionalEnvVars): Promise<AzOutput<SqlMiListResult[]>>,
|
||||
show(name: string, namespace?: string, additionalEnvVars?: AdditionalEnvVars): Promise<AzOutput<SqlMiShowResult>>,
|
||||
show(
|
||||
name: string,
|
||||
args: {
|
||||
// Direct mode arguments
|
||||
resourceGroup?: string,
|
||||
// Indirect mode arguments
|
||||
namespace?: string
|
||||
},
|
||||
// Additional arguments
|
||||
additionalEnvVars?: AdditionalEnvVars
|
||||
): Promise<AzOutput<SqlMiShowResult>>,
|
||||
update(
|
||||
name: string,
|
||||
args: {
|
||||
@@ -394,14 +405,12 @@ declare module 'az-ext' {
|
||||
additionalEnvVars?: AdditionalEnvVars
|
||||
): Promise<AzOutput<void>>,
|
||||
upgrade(
|
||||
desiredVersion: string,
|
||||
name: string,
|
||||
args: {
|
||||
// Direct mode arguments
|
||||
resourceGroup?: string,
|
||||
// Indirect mode arguments
|
||||
namespace?: string,
|
||||
usek8s?: boolean
|
||||
namespace?: string
|
||||
},
|
||||
// Additional arguments
|
||||
additionalEnvVars?: AdditionalEnvVars
|
||||
|
||||
Reference in New Issue
Block a user