From 4e849f0d601f9e5210f3612458d8f1effae9d527 Mon Sep 17 00:00:00 2001 From: Candice Ye Date: Tue, 26 Apr 2022 16:16:57 -0700 Subject: [PATCH] Add 'az sql mi-arc upgrade' command to azcli api (#19219) * Added sqlmiaa upgrade command and params to azcli api * Put params under args * Removed an extra comma Co-authored-by: Candice Ye --- extensions/azcli/src/api.ts | 17 +++++++++++++++++ extensions/azcli/src/az.ts | 19 +++++++++++++++++++ extensions/azcli/src/typings/az-ext.d.ts | 13 +++++++++++++ 3 files changed, 49 insertions(+) diff --git a/extensions/azcli/src/api.ts b/extensions/azcli/src/api.ts index dfb0327893..130ca01acd 100644 --- a/extensions/azcli/src/api.ts +++ b/extensions/azcli/src/api.ts @@ -153,6 +153,23 @@ export function getAzApi(localAzDiscovered: Promise, azTool await localAzDiscovered; validateAz(azToolService.localAz); 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); } }, midbarc: { diff --git a/extensions/azcli/src/az.ts b/extensions/azcli/src/az.ts index 764f7e6ff2..e16b5833ae 100644 --- a/extensions/azcli/src/az.ts +++ b/extensions/azcli/src/az.ts @@ -213,6 +213,25 @@ export class AzTool implements azExt.IAzApi { if (namespace) { argsArray.push('--k8s-namespace', namespace); } if (usek8s) { argsArray.push('--use-k8s'); } return this.executeCommand(argsArray, additionalEnvVars); + }, + upgrade: ( + desiredVersion: string, + name: string, + args: { + // Direct mode arguments + resourceGroup?: string, + // Indirect mode arguments + namespace?: string, + usek8s?: boolean + // Additional arguments + }, + additionalEnvVars?: azExt.AdditionalEnvVars + ): Promise> => { + const argsArray = ['sql', 'mi-arc', 'upgrade', '--desired-version', desiredVersion, '--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'); } + return this.executeCommand(argsArray, additionalEnvVars); } }, midbarc: { diff --git a/extensions/azcli/src/typings/az-ext.d.ts b/extensions/azcli/src/typings/az-ext.d.ts index 9c460e909c..956a7717ab 100644 --- a/extensions/azcli/src/typings/az-ext.d.ts +++ b/extensions/azcli/src/typings/az-ext.d.ts @@ -392,6 +392,19 @@ declare module 'az-ext' { usek8s?: boolean, // Additional arguments additionalEnvVars?: AdditionalEnvVars + ): Promise>, + upgrade( + desiredVersion: string, + name: string, + args: { + // Direct mode arguments + resourceGroup?: string, + // Indirect mode arguments + namespace?: string, + usek8s?: boolean + }, + // Additional arguments + additionalEnvVars?: AdditionalEnvVars ): Promise> }, midbarc: {