JCC-RIP/src/api/one-class-page/virtualMachine.js

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'
})
}