Files
orion-visor/orion-ops-ui/src/api/exec/exec.ts

98 lines
1.9 KiB
TypeScript
Raw Normal View History

2024-03-14 00:09:20 +08:00
import axios from 'axios';
/**
*
*/
export interface ExecCommandRequest {
2024-03-14 19:46:05 +08:00
logId?: number;
2024-03-14 00:09:20 +08:00
description?: string;
timeout?: number;
command?: string;
2024-03-14 19:46:05 +08:00
parameterSchema?: string;
2024-03-19 17:48:48 +08:00
hostIdList?: Array<number>;
2024-03-14 00:09:20 +08:00
}
/**
*
*/
export interface ExecInterruptRequest {
logId?: number;
hostLogId?: number;
}
2024-03-19 17:48:48 +08:00
/**
*
*/
export interface ExecTailRequest {
execId?: number;
hostExecIdList?: Array<number>;
}
2024-03-14 00:09:20 +08:00
/**
*
*/
export interface ExecCommandResponse {
id: number;
2024-03-19 17:48:48 +08:00
status: string;
startTime: number;
finishTime: number;
2024-03-17 21:09:58 +08:00
hosts: Array<ExecCommandHostResponse>;
}
/**
*
*/
export interface ExecCommandHostResponse {
id: number;
hostId: number;
hostName: string;
hostAddress: string;
status: string;
exitStatus: number;
errorMessage: string;
startTime: number;
finishTime: number;
2024-03-14 00:09:20 +08:00
}
/**
2024-03-15 00:26:53 +08:00
*
2024-03-14 00:09:20 +08:00
*/
2024-03-15 00:26:53 +08:00
export function batchExecCommand(request: ExecCommandRequest) {
2024-03-14 00:09:20 +08:00
return axios.post<ExecCommandResponse>('/asset/exec/exec-command', request);
}
2024-03-14 19:46:05 +08:00
/**
*
*/
export function reExecCommand(request: ExecCommandRequest) {
return axios.post<ExecCommandResponse>('/asset/exec/re-exec-command', request);
}
2024-03-14 00:09:20 +08:00
/**
*
*/
export function interruptExec(request: ExecInterruptRequest) {
return axios.put('/asset/exec/interrupt', request);
}
/**
*
*/
export function interruptHostExec(request: ExecInterruptRequest) {
return axios.put('/asset/exec/interrupt-host', request);
}
2024-03-19 17:48:48 +08:00
/**
*
*/
export function getExecLogTailToken(request: ExecTailRequest) {
return axios.post<string>('/asset/exec/tail-log', request);
}
/**
*
*/
export function downloadExecLogFile(id: number) {
return axios.get<Blob>('/asset/exec/download-log', { unwrap: true, params: { id } });
}