forked from JointCloud/JCC-RIP
344 lines
7.4 KiB
JavaScript
344 lines
7.4 KiB
JavaScript
import request from '@/utils/request'
|
|
|
|
// 概览统计
|
|
export function getDashboardCounts() {
|
|
return request({
|
|
url: '/virtual/v1/harvester/counts',
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
// 概览事件
|
|
export function getDashboardEvents() {
|
|
return request({
|
|
url: '/virtual/v1/harvester/events',
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
// 概览info
|
|
export function getDashboardInfo() {
|
|
return request({
|
|
url: '/virtual/v1/harvester/nodes',
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
// 概览获取内存cpu使用量
|
|
export function getUsageStatus() {
|
|
return request({
|
|
url: '/virtual/v1/harvester/pods',
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
// 概览获取存储数据
|
|
export function getStorageStatus() {
|
|
return request({
|
|
url: '/virtual/v1/harvester/longhorn.io.nodes',
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
// cpu 内存状态获取
|
|
// export function getUsageStatus() {
|
|
// return request({
|
|
// url: '/virtual/v1/metrics.k8s.io.nodes',
|
|
// method: 'get'
|
|
// })
|
|
// }
|
|
|
|
// cpu 内存状态获取
|
|
export function getUsageStatusByName(name) {
|
|
return request({
|
|
url: `/virtual/v1/metrics.k8s.io.nodes/${name}`,
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
// 虚拟机管理-主机列表
|
|
export function getVirtualHosts() {
|
|
return request({
|
|
url: '/virtual/v1/nodes',
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
// Request URL: https://103.116.78.162:30443/
|
|
// 创建虚拟机
|
|
export function postVirtualMachine(query) {
|
|
return request({
|
|
url: '/virtual/v1/kubevirt.io.virtualmachines',
|
|
method: 'post',
|
|
data: query
|
|
})
|
|
}
|
|
|
|
export function getHostYaml(name) {
|
|
return request({
|
|
url: '/virtual/v1/nodes/' + name,
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
export function putHostYaml(name, yaml) {
|
|
return request({
|
|
url: '/virtual/v1/nodes/' + name,
|
|
method: 'put',
|
|
data: yaml
|
|
})
|
|
}
|
|
|
|
// 虚拟机管理-虚拟机列表
|
|
export function getVirtualMachines() {
|
|
return request({
|
|
url: '/virtual/v1/harvester/kubevirt.io.virtualmachines',
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
// 虚拟机管理-虚拟机列表
|
|
export function getVirtualMachinesInstances() {
|
|
return request({
|
|
url: '/virtual/v1/kubevirt.io.virtualmachineinstances',
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
// 主机详情-网络
|
|
export function getNodeNetworks() {
|
|
return request({
|
|
url: '/virtual/v1/network.harvesterhci.io.nodenetworks',
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
export function getVirtualMachineImage() {
|
|
return request({
|
|
url: '/virtual/v1/harvesterhci.io.virtualmachineimages',
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
// 虚拟机管理-卷列表
|
|
export function getDataVolume() {
|
|
return request({
|
|
url: '/virtual/v1/cdi.kubevirt.io.datavolume',
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
// 虚拟机管理-卷列表 新
|
|
export function getDataVolumeNew() {
|
|
return request({
|
|
url: '/virtual/v1/harvester/persistentvolumeclaims',
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
export function getDataVolumeYaml(name) {
|
|
return request({
|
|
url: '/virtual/api/v1/namespaces/default/persistentvolumeclaims/' + name,
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
export function putDataVolumeYaml(name, yaml) {
|
|
return request({
|
|
url: '/virtual/v1/harvester/persistentvolumeclaims/default/' + name,
|
|
method: 'put',
|
|
data: yaml
|
|
})
|
|
}
|
|
|
|
export function editDataVolume(name, data) {
|
|
return request({
|
|
url: '/virtual/v1/harvester/persistentvolumeclaims/default/' + name,
|
|
method: 'put',
|
|
data: data
|
|
})
|
|
}
|
|
export function createDataVolume(data) {
|
|
return request({
|
|
url: '/virtual/v1/harvester/persistentvolumeclaims',
|
|
method: 'post',
|
|
data: data
|
|
})
|
|
}
|
|
|
|
export function deleteDataVolume(name) {
|
|
return request({
|
|
url: '/virtual/v1/harvester/persistentvolumeclaims/default/' + name,
|
|
method: 'delete'
|
|
})
|
|
}
|
|
|
|
export function getVirtualMachineYaml(name) {
|
|
return request({
|
|
url: '/virtual/apis/kubevirt.io/v1/namespaces/default/virtualmachines/' + name,
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
export function putVirtualMachineYaml(name, yaml) {
|
|
return request({
|
|
url: '/virtual/v1/kubevirt.io.virtualmachines/default/' + name,
|
|
method: 'put',
|
|
data: yaml
|
|
})
|
|
}
|
|
|
|
export function getHostNetwork(name) {
|
|
return request({
|
|
url: '/virtual/v1/network.harvesterhci.io.nodenetworks/harvester-system/' + name + '-vlan',
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
export function putHostNetwork(name, data) {
|
|
return request({
|
|
url: '/virtual/v1/network.harvesterhci.io.nodenetworks/harvester-system/' + name + '-vlan',
|
|
method: 'put',
|
|
data: data
|
|
})
|
|
}
|
|
// 虚拟机管理-镜像列表
|
|
export function getImages() {
|
|
return request({
|
|
url: '/virtual/v1/harvesterhci.io.virtualmachineimages',
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
export function createImages(data) {
|
|
return request({
|
|
url: '/virtual/v1/harvesterhci.io.virtualmachineimages',
|
|
method: 'post',
|
|
data: data
|
|
})
|
|
}
|
|
export function deleteImage(name) {
|
|
return request({
|
|
url: '/virtual/v1/harvester/harvesterhci.io.virtualmachineimages/default/' + name,
|
|
method: 'delete'
|
|
})
|
|
}
|
|
export function editImage(name, data) {
|
|
return request({
|
|
url: '/virtual/v1/harvester/harvesterhci.io.virtualmachineimages/default/' + name,
|
|
method: 'put',
|
|
data: data
|
|
})
|
|
}
|
|
export function getImagesYaml(name) {
|
|
return request({
|
|
url: '/virtual/apis/harvesterhci.io/v1beta1/namespaces/default/virtualmachineimages/' + name,
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
export function putImagesYaml(name, yaml) {
|
|
return request({
|
|
url: '/virtual/apis/harvesterhci.io/v1beta1/namespaces/default/virtualmachineimages/' + name,
|
|
method: 'put',
|
|
data: yaml
|
|
})
|
|
}
|
|
|
|
/* export function getVirtualMachineYaml(name) {
|
|
return request({
|
|
url: '/proxy/apis/kubevirt.io/v1/namespaces/default/virtualmachines/' + name,
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
export function putVirtualMachineYaml(name, yaml) {
|
|
return request({
|
|
url: '/proxy/apis/kubevirt.io/v1/namespaces/default/virtualmachines/' + name,
|
|
method: 'put',
|
|
data: yaml
|
|
})
|
|
} */
|
|
|
|
/* export function getHostNetwork(name) {
|
|
return request({
|
|
url: '/proxy/v1/network.harvesterhci.io.nodenetworks/harvester-system/' + name + '-vlan',
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
export function putHostNetwork(name, data) {
|
|
return request({
|
|
url: '/proxy/v1/network.harvesterhci.io.nodenetworks/harvester-system/' + name + '-vlan',
|
|
method: 'put',
|
|
data: data
|
|
})
|
|
} */
|
|
|
|
export function postSSHKey(data) {
|
|
return request({
|
|
url: '/virtual/v1/harvesterhci.io.keypairs',
|
|
method: 'post',
|
|
data: data
|
|
})
|
|
}
|
|
|
|
export function getSSHKey() {
|
|
return request({
|
|
url: '/virtual/v1/harvesterhci.io.keypairs',
|
|
method: 'get'
|
|
})
|
|
}
|
|
|
|
export function createVirtualMachine(data) {
|
|
return request({
|
|
url: '/virtual/v1/kubevirt.io.virtualmachines',
|
|
method: 'post',
|
|
data: data
|
|
})
|
|
}
|
|
|
|
export function virtualMachineACtion(name, action) {
|
|
return request({
|
|
url: '/virtual/v1/harvester/kubevirt.io.virtualmachines/default/' + name + '?action=' + action,
|
|
method: 'post',
|
|
data: {}
|
|
})
|
|
}
|
|
|
|
export function hostAction(name, action) {
|
|
return request({
|
|
url: '/virtual/v1/nodes/' + name + '?action=' + action,
|
|
method: 'post',
|
|
data: {}
|
|
})
|
|
}
|
|
|
|
export function getVirtualNode() {
|
|
var newUrl = '/virtual/v1/nodes'
|
|
return request({
|
|
url: newUrl,
|
|
method: 'Get'
|
|
})
|
|
}
|
|
|
|
export function moveVirtualNode(id, data) {
|
|
return request({
|
|
url: `/virtual/v1/harvester/kubevirt.io.virtualmachines/default/${id}?action=migrate`,
|
|
method: 'Post',
|
|
data
|
|
})
|
|
}
|
|
|
|
export function deleteVirtualMachine(name, data) {
|
|
var newUrl = '/virtual/v1/harvester/kubevirt.io.virtualmachines/default/' + name + '?'
|
|
for (let i = 0; i < data.length; i++) {
|
|
newUrl += 'removedDisks=' + data[i] + '&'
|
|
}
|
|
newUrl += 'propagationPolicy=Foreground'
|
|
return request({
|
|
url: newUrl,
|
|
method: 'DELETE'
|
|
})
|
|
}
|