mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 18:46:40 -05:00
resource deployment ext implementation -wip (#5508)
* resource types * implement the dialog * remove unused method * fix issues * formatting * 5-17 * address comments and more tests
This commit is contained in:
@@ -3,3 +3,77 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
|
||||
export interface ResourceType {
|
||||
name: string;
|
||||
displayName: string;
|
||||
description: string;
|
||||
platforms: string[];
|
||||
icon: { light: string; dark: string };
|
||||
options: ResourceTypeOption[];
|
||||
providers: DeploymentProvider[];
|
||||
getProvider(selectedOptions: { option: string, value: string }[]): DeploymentProvider | undefined;
|
||||
}
|
||||
|
||||
export interface ResourceTypeOption {
|
||||
name: string;
|
||||
displayName: string;
|
||||
values: ResourceTypeOptionValue[];
|
||||
}
|
||||
|
||||
export interface ResourceTypeOptionValue {
|
||||
name: string;
|
||||
displayName: string;
|
||||
}
|
||||
|
||||
export interface DeploymentProvider {
|
||||
notebook: string | NotebookInfo;
|
||||
requiredTools: ToolRequirementInfo[];
|
||||
when: string;
|
||||
}
|
||||
|
||||
export interface NotebookInfo {
|
||||
win32: string;
|
||||
darwin: string;
|
||||
linux: string;
|
||||
}
|
||||
|
||||
export interface ToolRequirementInfo {
|
||||
name: string;
|
||||
version: string;
|
||||
}
|
||||
|
||||
export enum ToolType {
|
||||
Unknown,
|
||||
AzCli,
|
||||
KubeCtl,
|
||||
Docker,
|
||||
Python,
|
||||
MSSQLCtl
|
||||
}
|
||||
|
||||
export interface ToolStatusInfo {
|
||||
type: ToolType;
|
||||
name: string;
|
||||
description: string;
|
||||
version: string;
|
||||
status: ToolInstallationStatus;
|
||||
}
|
||||
|
||||
export interface ITool {
|
||||
readonly name: string;
|
||||
readonly displayName: string;
|
||||
readonly description: string;
|
||||
readonly type: ToolType;
|
||||
readonly supportAutoInstall: boolean;
|
||||
|
||||
getInstallationStatus(versionExpression: string): Thenable<ToolInstallationStatus>;
|
||||
install(version: string): Thenable<void>;
|
||||
}
|
||||
|
||||
export enum ToolInstallationStatus {
|
||||
NotInstalled,
|
||||
Installed,
|
||||
Installing,
|
||||
FailedToInstall
|
||||
}
|
||||
Reference in New Issue
Block a user