Files
azuredatastudio/extensions/azcli/src/api.ts
Candice Ye bd0c4cdb51 Changing Postgres Hyperscale to Postgres Azure Arc in ADS (#20445)
* Hard code enginer ver to 14 and remove extension from wizard field and notebook

* Removed hyperscale text from everywhere but links

* Made PostgreSQL into PostgreSQL server and other text changes. Removed worker nodes

* Removed coordinator node text

* Removed worker nodes from compute + storage. Changed az arc-server to server-arc. postgresParameters.ts may need

* Removed tabs for extensions, coord nodes, worker nodes, resource health, diagnose and solve

* Removed node configuation and pg version from overview and properties. Edited arialabels

* Change server group nodes to server

* Removed type from overview table and aded Preview tags

* Removed info bubble and added padding to top of title

* Removed checkbox from PG create wizard. Added link and text

* Remove engine version

* Changed naming conventions

* Removed coord and server group from variables

* Removed properties

* Removed Server table, admin username, reset password

* Removed function from notebook

* Change wording

* bump version

Co-authored-by: Candice Ye <canye@microsoft.com>
2022-08-26 13:24:48 -07:00

239 lines
7.5 KiB
TypeScript

/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as azExt from 'az-ext';
import { IAzTool } from './az';
import { NoAzureCLIError } from './common/utils';
import { AzToolService } from './services/azToolService';
/**
* Validates that :
* - Az is installed
* @param az The az tool to check
*/
export function validateAz(az: IAzTool | undefined) {
throwIfNoAz(az);
}
export function throwIfNoAz(localAz: IAzTool | undefined): asserts localAz {
if (!localAz) {
throw new NoAzureCLIError();
}
}
export function getExtensionApi(azToolService: AzToolService, localAzDiscovered: Promise<IAzTool | undefined>): azExt.IExtension {
return {
az: getAzApi(localAzDiscovered, azToolService)
};
}
export function getAzApi(localAzDiscovered: Promise<IAzTool | undefined>, azToolService: AzToolService): azExt.IAzApi {
return {
arcdata: {
dc: {
endpoint: {
list: async (namespace: string, additionalEnvVars?: azExt.AdditionalEnvVars) => {
await localAzDiscovered;
validateAz(azToolService.localAz);
return azToolService.localAz!.arcdata.dc.endpoint.list(namespace, additionalEnvVars);
}
},
config: {
list: async (additionalEnvVars?: azExt.AdditionalEnvVars) => {
await localAzDiscovered;
validateAz(azToolService.localAz);
return azToolService.localAz!.arcdata.dc.config.list(additionalEnvVars);
},
show: async (namespace: string, additionalEnvVars?: azExt.AdditionalEnvVars) => {
await localAzDiscovered;
validateAz(azToolService.localAz);
return azToolService.localAz!.arcdata.dc.config.show(namespace, additionalEnvVars);
}
},
listUpgrades: async (namespace: string, usek8s?: boolean, additionalEnvVars?: azExt.AdditionalEnvVars) => {
await localAzDiscovered;
validateAz(azToolService.localAz);
return azToolService.localAz!.arcdata.dc.listUpgrades(namespace, usek8s, additionalEnvVars);
},
upgrade: async (
desiredVersion: string,
name: string,
resourceGroup?: string,
namespace?: string,
additionalEnvVars?: azExt.AdditionalEnvVars
) => {
await localAzDiscovered;
validateAz(azToolService.localAz);
return azToolService.localAz!.arcdata.dc.upgrade(desiredVersion, name, resourceGroup, namespace, additionalEnvVars);
}
}
},
postgres: {
serverarc: {
delete: async (name: string, namespace: string, additionalEnvVars?: azExt.AdditionalEnvVars) => {
await localAzDiscovered;
validateAz(azToolService.localAz);
return azToolService.localAz!.postgres.serverarc.delete(name, namespace, additionalEnvVars);
},
list: async (namespace: string, additionalEnvVars?: azExt.AdditionalEnvVars) => {
await localAzDiscovered;
validateAz(azToolService.localAz);
return azToolService.localAz!.postgres.serverarc.list(namespace, additionalEnvVars);
},
show: async (name: string, namespace: string, additionalEnvVars?: azExt.AdditionalEnvVars) => {
await localAzDiscovered;
validateAz(azToolService.localAz);
return azToolService.localAz!.postgres.serverarc.show(name, namespace, additionalEnvVars);
},
update: async (
name: string,
args: {
coresLimit?: string;
coresRequest?: string;
memoryLimit?: string;
memoryRequest?: string;
noWait?: boolean;
port?: number;
},
namespace: string,
additionalEnvVars?: azExt.AdditionalEnvVars) => {
await localAzDiscovered;
validateAz(azToolService.localAz);
return azToolService.localAz!.postgres.serverarc.update(name, args, namespace, additionalEnvVars);
}
}
},
sql: {
miarc: {
delete: async (
name: string,
args: {
// ARM API arguments
resourceGroup?: string;
// K8s API arguments
namespace?: string;
},
additionalEnvVars?: azExt.AdditionalEnvVars
) => {
await localAzDiscovered;
validateAz(azToolService.localAz);
return azToolService.localAz!.sql.miarc.delete(name, args, additionalEnvVars);
},
list: async (
args: {
// ARM API arguments
resourceGroup?: string;
// K8s API arguments
namespace?: string;
},
additionalEnvVars?: azExt.AdditionalEnvVars
) => {
await localAzDiscovered;
validateAz(azToolService.localAz);
return azToolService.localAz!.sql.miarc.list(args, additionalEnvVars);
},
show: async (
name: string,
args: {
// ARM API arguments
resourceGroup?: string;
// K8s API arguments
namespace?: string;
},
// Additional arguments
additionalEnvVars?: azExt.AdditionalEnvVars
) => {
await localAzDiscovered;
validateAz(azToolService.localAz);
return azToolService.localAz!.sql.miarc.show(name, args, additionalEnvVars);
},
update: async (
name: string,
args: {
coresLimit?: string;
coresRequest?: string;
memoryLimit?: string;
memoryRequest?: string;
noWait?: boolean;
syncSecondaryToCommit?: string;
},
// ARM API arguments
resourceGroup?: string,
// K8s API arguments
namespace?: string,
usek8s?: boolean,
// Additional arguments
additionalEnvVars?: azExt.AdditionalEnvVars
) => {
await localAzDiscovered;
validateAz(azToolService.localAz);
return azToolService.localAz!.sql.miarc.update(name, args, resourceGroup, namespace, usek8s, additionalEnvVars);
},
upgrade: async (
name: string,
args: {
// ARM API arguments
resourceGroup?: string;
// K8s API arguments
namespace?: string;
},
// Additional arguments
additionalEnvVars?: azExt.AdditionalEnvVars
) => {
await localAzDiscovered;
validateAz(azToolService.localAz);
return azToolService.localAz!.sql.miarc.upgrade(name, args, additionalEnvVars);
}
},
midbarc: {
restore: async (name: string,
args: {
destName?: string,
managedInstance?: string,
time?: string,
noWait?: boolean,
dryRun?: boolean
},
namespace: string, additionalEnvVars?: azExt.AdditionalEnvVars) => {
await localAzDiscovered;
validateAz(azToolService.localAz);
return azToolService.localAz!.sql.midbarc.restore(name, args, namespace, additionalEnvVars);
}
}
},
monitor: {
logAnalytics: {
workspace: {
list: async (resourceGroup?: string, subscription?: string, additionalEnvVars?: azExt.AdditionalEnvVars) => {
await localAzDiscovered;
validateAz(azToolService.localAz);
return azToolService.localAz!.monitor.logAnalytics.workspace.list(resourceGroup, subscription, additionalEnvVars);
}
}
}
},
getPath: async () => {
await localAzDiscovered;
throwIfNoAz(azToolService.localAz);
return azToolService.localAz.getPath();
},
getSemVersionAz: async () => {
await localAzDiscovered;
throwIfNoAz(azToolService.localAz);
return azToolService.localAz.getSemVersionAz();
},
getSemVersionArc: async () => {
await localAzDiscovered;
throwIfNoAz(azToolService.localAz);
return azToolService.localAz.getSemVersionArc();
},
version: async () => {
await localAzDiscovered;
throwIfNoAz(azToolService.localAz);
return azToolService.localAz.version();
}
};
}