mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
Arc and Azure CLI extensions GA + bug fix for SQL MIAA update (#18226)
* Changed instances of sql edit to sql update * Updated az sql mi-arc edit to be update. Changed the params for indirect and direct mode. * Removed preview from everywhere in arc and azcli extensions. * Bumped version numbers for both extensions and removed preview bool in package.jsons
This commit is contained in:
@@ -2,9 +2,8 @@
|
|||||||
"name": "arc",
|
"name": "arc",
|
||||||
"displayName": "%arc.displayName%",
|
"displayName": "%arc.displayName%",
|
||||||
"description": "%arc.description%",
|
"description": "%arc.description%",
|
||||||
"version": "0.11.0",
|
"version": "0.12.0",
|
||||||
"publisher": "Microsoft",
|
"publisher": "Microsoft",
|
||||||
"preview": true,
|
|
||||||
"license": "https://raw.githubusercontent.com/Microsoft/azuredatastudio/main/LICENSE.txt",
|
"license": "https://raw.githubusercontent.com/Microsoft/azuredatastudio/main/LICENSE.txt",
|
||||||
"icon": "images/extension.png",
|
"icon": "images/extension.png",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
"command.estimateCostSqlMiaa.title": "Estimate Cost of SQL Managed Instance - Azure Arc",
|
"command.estimateCostSqlMiaa.title": "Estimate Cost of SQL Managed Instance - Azure Arc",
|
||||||
"arc.openDashboard": "Manage",
|
"arc.openDashboard": "Manage",
|
||||||
|
|
||||||
"resource.type.azure.arc.display.name": "Azure Arc data controller (preview)",
|
"resource.type.azure.arc.display.name": "Azure Arc data controller",
|
||||||
"resource.type.azure.arc.description": "Creates an Azure Arc data controller",
|
"resource.type.azure.arc.description": "Creates an Azure Arc data controller",
|
||||||
"arc.data.controller.new.wizard.title": "Create Azure Arc data controller",
|
"arc.data.controller.new.wizard.title": "Create Azure Arc data controller",
|
||||||
"arc.data.controller.cluster.environment.title": "What is your target existing Kubernetes cluster environment?",
|
"arc.data.controller.cluster.environment.title": "What is your target existing Kubernetes cluster environment?",
|
||||||
|
|||||||
@@ -8,9 +8,9 @@ import { getErrorMessage } from './common/utils';
|
|||||||
const localize = nls.loadMessageBundle();
|
const localize = nls.loadMessageBundle();
|
||||||
|
|
||||||
export const arcDeploymentDeprecation = localize('arc.arcDeploymentDeprecation', "The Arc Deployment extension has been replaced by the Arc extension and has been uninstalled.");
|
export const arcDeploymentDeprecation = localize('arc.arcDeploymentDeprecation', "The Arc Deployment extension has been replaced by the Arc extension and has been uninstalled.");
|
||||||
export function arcControllerDashboard(name: string): string { return localize('arc.controllerDashboard', "Azure Arc Data Controller Dashboard (Preview) - {0}", name); }
|
export function arcControllerDashboard(name: string): string { return localize('arc.controllerDashboard', "Azure Arc Data Controller Dashboard - {0}", name); }
|
||||||
export function miaaDashboard(name: string): string { return localize('arc.miaaDashboard', "SQL managed instance - Azure Arc Dashboard (Preview) - {0}", name); }
|
export function miaaDashboard(name: string): string { return localize('arc.miaaDashboard', "SQL managed instance - Azure Arc Dashboard - {0}", name); }
|
||||||
export function postgresDashboard(name: string): string { return localize('arc.postgresDashboard', "PostgreSQL Hyperscale - Azure Arc Dashboard (Preview) - {0}", name); }
|
export function postgresDashboard(name: string): string { return localize('arc.postgresDashboard', "PostgreSQL Hyperscale - Azure Arc Dashboard - {0}", name); }
|
||||||
|
|
||||||
export const dataControllersType = localize('arc.dataControllersType', "Azure Arc Data Controller");
|
export const dataControllersType = localize('arc.dataControllersType', "Azure Arc Data Controller");
|
||||||
export const pgSqlType = localize('arc.pgSqlType', "PostgreSQL Hyperscale - Azure Arc");
|
export const pgSqlType = localize('arc.pgSqlType', "PostgreSQL Hyperscale - Azure Arc");
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import * as vscode from 'vscode';
|
|||||||
import * as azdata from 'azdata';
|
import * as azdata from 'azdata';
|
||||||
import * as azExt from 'az-ext';
|
import * as azExt from 'az-ext';
|
||||||
import * as loc from '../../../localizedConstants';
|
import * as loc from '../../../localizedConstants';
|
||||||
import { IconPathHelper, cssStyles } from '../../../constants';
|
import { IconPathHelper, cssStyles, ConnectionMode } from '../../../constants';
|
||||||
import { DashboardPage } from '../../components/dashboardPage';
|
import { DashboardPage } from '../../components/dashboardPage';
|
||||||
import { MiaaModel, RPModel, DatabaseModel, systemDbs } from '../../../models/miaaModel';
|
import { MiaaModel, RPModel, DatabaseModel, systemDbs } from '../../../models/miaaModel';
|
||||||
import { ControllerModel } from '../../../models/controllerModel';
|
import { ControllerModel } from '../../../models/controllerModel';
|
||||||
@@ -220,9 +220,23 @@ export class MiaaBackupsPage extends DashboardPage {
|
|||||||
cancellable: false
|
cancellable: false
|
||||||
},
|
},
|
||||||
async (_progress, _token): Promise<void> => {
|
async (_progress, _token): Promise<void> => {
|
||||||
await this._azApi.az.sql.miarc.edit(
|
if (this._miaaModel.controllerModel.info.connectionMode === ConnectionMode.direct) {
|
||||||
this._miaaModel.info.name, this._saveArgs, this._miaaModel.controllerModel.info.namespace, this._miaaModel.controllerModel.azAdditionalEnvVars);
|
await this._azApi.az.sql.miarc.update(
|
||||||
|
this._miaaModel.info.name,
|
||||||
|
this._saveArgs,
|
||||||
|
this._miaaModel.controllerModel.info.resourceGroup,
|
||||||
|
undefined, // Indirect mode argument - namespace
|
||||||
|
undefined, // Indirect mode argument - usek8s
|
||||||
|
this._miaaModel.controllerModel.azAdditionalEnvVars);
|
||||||
|
} else {
|
||||||
|
await this._azApi.az.sql.miarc.update(
|
||||||
|
this._miaaModel.info.name,
|
||||||
|
this._saveArgs,
|
||||||
|
undefined, // Direct mode argument - resourceGroup
|
||||||
|
this._miaaModel.controllerModel.info.namespace,
|
||||||
|
true,
|
||||||
|
this._miaaModel.controllerModel.azAdditionalEnvVars);
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
await this._miaaModel.refresh();
|
await this._miaaModel.refresh();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import * as vscode from 'vscode';
|
|||||||
import * as azdata from 'azdata';
|
import * as azdata from 'azdata';
|
||||||
import * as azExt from 'az-ext';
|
import * as azExt from 'az-ext';
|
||||||
import * as loc from '../../../localizedConstants';
|
import * as loc from '../../../localizedConstants';
|
||||||
import { IconPathHelper, cssStyles } from '../../../constants';
|
import { IconPathHelper, cssStyles, ConnectionMode } from '../../../constants';
|
||||||
import { DashboardPage } from '../../components/dashboardPage';
|
import { DashboardPage } from '../../components/dashboardPage';
|
||||||
import { convertToGibibyteString } from '../../../common/utils';
|
import { convertToGibibyteString } from '../../../common/utils';
|
||||||
import { MiaaModel } from '../../../models/miaaModel';
|
import { MiaaModel } from '../../../models/miaaModel';
|
||||||
@@ -130,8 +130,23 @@ export class MiaaComputeAndStoragePage extends DashboardPage {
|
|||||||
},
|
},
|
||||||
async (_progress, _token): Promise<void> => {
|
async (_progress, _token): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
await this._azApi.az.sql.miarc.edit(
|
if (this._miaaModel.controllerModel.info.connectionMode === ConnectionMode.direct) {
|
||||||
this._miaaModel.info.name, this.saveArgs, this._miaaModel.controllerModel.info.namespace, this._miaaModel.controllerModel.azAdditionalEnvVars);
|
await this._azApi.az.sql.miarc.update(
|
||||||
|
this._miaaModel.info.name,
|
||||||
|
this.saveArgs,
|
||||||
|
this._miaaModel.controllerModel.info.resourceGroup,
|
||||||
|
undefined, // Indirect mode argument - namespace
|
||||||
|
undefined, // Indirect mode argument - usek8s
|
||||||
|
this._miaaModel.controllerModel.azAdditionalEnvVars);
|
||||||
|
} else {
|
||||||
|
await this._azApi.az.sql.miarc.update(
|
||||||
|
this._miaaModel.info.name,
|
||||||
|
this.saveArgs,
|
||||||
|
undefined, // Direct mode argument - resourceGroup
|
||||||
|
this._miaaModel.controllerModel.info.namespace,
|
||||||
|
true,
|
||||||
|
this._miaaModel.controllerModel.azAdditionalEnvVars);
|
||||||
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.saveButton!.enabled = true;
|
this.saveButton!.enabled = true;
|
||||||
throw err;
|
throw err;
|
||||||
|
|||||||
@@ -2,9 +2,8 @@
|
|||||||
"name": "azcli",
|
"name": "azcli",
|
||||||
"displayName": "%azcli.arc.displayName%",
|
"displayName": "%azcli.arc.displayName%",
|
||||||
"description": "%azcli.arc.description%",
|
"description": "%azcli.arc.description%",
|
||||||
"version": "0.3.0",
|
"version": "0.4.0",
|
||||||
"publisher": "Microsoft",
|
"publisher": "Microsoft",
|
||||||
"preview": true,
|
|
||||||
"license": "https://raw.githubusercontent.com/Microsoft/azuredatastudio/main/LICENSE.txt",
|
"license": "https://raw.githubusercontent.com/Microsoft/azuredatastudio/main/LICENSE.txt",
|
||||||
"icon": "images/extension.png",
|
"icon": "images/extension.png",
|
||||||
"engines": {
|
"engines": {
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ export function getAzApi(localAzDiscovered: Promise<IAzTool | undefined>, azTool
|
|||||||
validateAz(azToolService.localAz);
|
validateAz(azToolService.localAz);
|
||||||
return azToolService.localAz!.sql.miarc.show(name, namespace, additionalEnvVars);
|
return azToolService.localAz!.sql.miarc.show(name, namespace, additionalEnvVars);
|
||||||
},
|
},
|
||||||
edit: async (
|
update: async (
|
||||||
name: string,
|
name: string,
|
||||||
args: {
|
args: {
|
||||||
coresLimit?: string;
|
coresLimit?: string;
|
||||||
@@ -125,12 +125,17 @@ export function getAzApi(localAzDiscovered: Promise<IAzTool | undefined>, azTool
|
|||||||
memoryRequest?: string;
|
memoryRequest?: string;
|
||||||
noWait?: boolean;
|
noWait?: boolean;
|
||||||
},
|
},
|
||||||
namespace: string,
|
// Direct mode arguments
|
||||||
|
resourceGroup?: string,
|
||||||
|
// Indirect mode arguments
|
||||||
|
namespace?: string,
|
||||||
|
usek8s?: boolean,
|
||||||
|
// Additional arguments
|
||||||
additionalEnvVars?: azExt.AdditionalEnvVars
|
additionalEnvVars?: azExt.AdditionalEnvVars
|
||||||
) => {
|
) => {
|
||||||
await localAzDiscovered;
|
await localAzDiscovered;
|
||||||
validateAz(azToolService.localAz);
|
validateAz(azToolService.localAz);
|
||||||
return azToolService.localAz!.sql.miarc.edit(name, args, namespace, additionalEnvVars);
|
return azToolService.localAz!.sql.miarc.update(name, args, resourceGroup, namespace, usek8s, additionalEnvVars);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
midbarc: {
|
midbarc: {
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ export class AzTool implements azExt.IAzApi {
|
|||||||
show: (name: string, namespace: string, additionalEnvVars?: azExt.AdditionalEnvVars): Promise<azExt.AzOutput<azExt.SqlMiShowResult>> => {
|
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);
|
return this.executeCommand<azExt.SqlMiShowResult>(['sql', 'mi-arc', 'show', '-n', name, '--k8s-namespace', namespace, '--use-k8s'], additionalEnvVars);
|
||||||
},
|
},
|
||||||
edit: (
|
update: (
|
||||||
name: string,
|
name: string,
|
||||||
args: {
|
args: {
|
||||||
coresLimit?: string,
|
coresLimit?: string,
|
||||||
@@ -164,16 +164,24 @@ export class AzTool implements azExt.IAzApi {
|
|||||||
noWait?: boolean,
|
noWait?: boolean,
|
||||||
retentionDays?: string
|
retentionDays?: string
|
||||||
},
|
},
|
||||||
namespace: string,
|
// Direct mode arguments
|
||||||
|
resourceGroup?: string,
|
||||||
|
// Indirect mode arguments
|
||||||
|
namespace?: string,
|
||||||
|
usek8s?: boolean,
|
||||||
|
// Additional arguments
|
||||||
additionalEnvVars?: azExt.AdditionalEnvVars
|
additionalEnvVars?: azExt.AdditionalEnvVars
|
||||||
): Promise<azExt.AzOutput<void>> => {
|
): Promise<azExt.AzOutput<void>> => {
|
||||||
const argsArray = ['sql', 'mi-arc', 'edit', '-n', name, '--k8s-namespace', namespace, '--use-k8s'];
|
const argsArray = ['sql', 'mi-arc', 'update', '-n', name];
|
||||||
if (args.coresLimit) { argsArray.push('--cores-limit', args.coresLimit); }
|
if (args.coresLimit) { argsArray.push('--cores-limit', args.coresLimit); }
|
||||||
if (args.coresRequest) { argsArray.push('--cores-request', args.coresRequest); }
|
if (args.coresRequest) { argsArray.push('--cores-request', args.coresRequest); }
|
||||||
if (args.memoryLimit) { argsArray.push('--memory-limit', args.memoryLimit); }
|
if (args.memoryLimit) { argsArray.push('--memory-limit', args.memoryLimit); }
|
||||||
if (args.memoryRequest) { argsArray.push('--memory-request', args.memoryRequest); }
|
if (args.memoryRequest) { argsArray.push('--memory-request', args.memoryRequest); }
|
||||||
if (args.noWait) { argsArray.push('--no-wait'); }
|
if (args.noWait) { argsArray.push('--no-wait'); }
|
||||||
if (args.retentionDays) { argsArray.push('--retention-days', args.retentionDays); }
|
if (args.retentionDays) { argsArray.push('--retention-days', args.retentionDays); }
|
||||||
|
if (resourceGroup) { argsArray.push('--resource-group', resourceGroup); }
|
||||||
|
if (namespace) { argsArray.push('--k8s-namespace', namespace); }
|
||||||
|
if (usek8s) { argsArray.push('--use-k8s'); }
|
||||||
return this.executeCommand<void>(argsArray, additionalEnvVars);
|
return this.executeCommand<void>(argsArray, additionalEnvVars);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
7
extensions/azcli/src/typings/az-ext.d.ts
vendored
7
extensions/azcli/src/typings/az-ext.d.ts
vendored
@@ -328,7 +328,7 @@ declare module 'az-ext' {
|
|||||||
delete(name: string, namespace?: string, additionalEnvVars?: AdditionalEnvVars): Promise<AzOutput<void>>,
|
delete(name: string, namespace?: string, additionalEnvVars?: AdditionalEnvVars): Promise<AzOutput<void>>,
|
||||||
list(namespace?: string, additionalEnvVars?: AdditionalEnvVars): Promise<AzOutput<SqlMiListResult[]>>,
|
list(namespace?: string, additionalEnvVars?: AdditionalEnvVars): Promise<AzOutput<SqlMiListResult[]>>,
|
||||||
show(name: string, namespace?: string, additionalEnvVars?: AdditionalEnvVars): Promise<AzOutput<SqlMiShowResult>>,
|
show(name: string, namespace?: string, additionalEnvVars?: AdditionalEnvVars): Promise<AzOutput<SqlMiShowResult>>,
|
||||||
edit(
|
update(
|
||||||
name: string,
|
name: string,
|
||||||
args: {
|
args: {
|
||||||
coresLimit?: string, //2
|
coresLimit?: string, //2
|
||||||
@@ -338,7 +338,12 @@ declare module 'az-ext' {
|
|||||||
noWait?: boolean, //true
|
noWait?: boolean, //true
|
||||||
retentionDays?: string, //5
|
retentionDays?: string, //5
|
||||||
},
|
},
|
||||||
|
// Direct mode arguments
|
||||||
|
resourceGroup?: string,
|
||||||
|
// Indirect mode arguments
|
||||||
namespace?: string,
|
namespace?: string,
|
||||||
|
usek8s?: boolean,
|
||||||
|
// Additional arguments
|
||||||
additionalEnvVars?: AdditionalEnvVars
|
additionalEnvVars?: AdditionalEnvVars
|
||||||
): Promise<AzOutput<void>>
|
): Promise<AzOutput<void>>
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user