mirror of
https://github.com/unraid/webgui.git
synced 2026-01-19 16:10:17 -06:00
378 lines
6.6 KiB
JavaScript
378 lines
6.6 KiB
JavaScript
function getLibvirtSchema() {
|
|
|
|
var root = {};
|
|
|
|
root.domain = {
|
|
"!attrs": {
|
|
type: ["kvm"],
|
|
"xmlns:qemu": ["http://libvirt.org/schemas/domain/qemu/1.0"]
|
|
}
|
|
};
|
|
|
|
root.domain.name = {
|
|
"!value": ""
|
|
};
|
|
|
|
root.domain.description = {
|
|
"!value": ""
|
|
};
|
|
|
|
root.domain.maxMemory = {
|
|
"!attrs": {
|
|
slots: null,
|
|
unit: ["MiB", "KiB", "GiB"]
|
|
},
|
|
"!value": 512
|
|
};
|
|
|
|
root.domain.memory = {
|
|
"!attrs": {
|
|
unit: ["MiB", "KiB", "GiB"]
|
|
},
|
|
"!value": 512
|
|
};
|
|
|
|
root.domain.currentMemory = {
|
|
"!attrs": {
|
|
unit: ["MiB", "KiB", "GiB"]
|
|
},
|
|
"!value": 512
|
|
};
|
|
|
|
root.domain.memoryBacking = {};
|
|
root.domain.memoryBacking.hugepages = {};
|
|
root.domain.memoryBacking.hugepages.page = {
|
|
"!attrs": {
|
|
size: [2, 1],
|
|
unit: ["M", "G", "K"],
|
|
nodeset: null
|
|
},
|
|
"!novalue": 1
|
|
};
|
|
root.domain.memoryBacking.nosharepages = {
|
|
"!novalue": 1
|
|
};
|
|
root.domain.memoryBacking.locked = {
|
|
"!novalue": 1
|
|
};
|
|
|
|
root.domain.numatune = {};
|
|
root.domain.numatune.memory = {
|
|
"!attrs": {
|
|
mode: ["strict", "preferred", "interleave"],
|
|
nodeset: null,
|
|
placement: ["static", "auto"]
|
|
},
|
|
"!novalue": 1
|
|
};
|
|
root.domain.numatune.memnode = {
|
|
"!attrs": {
|
|
cellid: null,
|
|
mode: ["strict", "preferred", "interleave"],
|
|
nodeset: null
|
|
},
|
|
"!novalue": 1
|
|
};
|
|
|
|
root.domain.vcpu = {
|
|
"!attrs": {
|
|
placement: ["static"]
|
|
},
|
|
"!value": 1
|
|
};
|
|
|
|
root.domain.cputune = {};
|
|
root.domain.cputune.vcpupin = {
|
|
"!attrs": {
|
|
vcpu: null,
|
|
cpuset: null
|
|
},
|
|
"!novalue": 1
|
|
};
|
|
root.domain.cputune.emulatorpin = {
|
|
"!attrs": {
|
|
cpuset: null
|
|
},
|
|
"!novalue": 1
|
|
};
|
|
root.domain.cputune.iothreadpin = {
|
|
"!attrs": {
|
|
iothread: null,
|
|
cpuset: null
|
|
},
|
|
"!novalue": 1
|
|
};
|
|
root.domain.cputune.shares = {
|
|
"!value": null
|
|
};
|
|
root.domain.cputune.period = {
|
|
"!value": null
|
|
};
|
|
root.domain.cputune.quota = {
|
|
"!value": null
|
|
};
|
|
root.domain.cputune.emulator_period = {
|
|
"!value": null
|
|
};
|
|
root.domain.cputune.emulator_quota = {
|
|
"!value": null
|
|
};
|
|
root.domain.cputune.vcpusched = {
|
|
"!attrs": {
|
|
vcpus: null,
|
|
scheduler: ["batch", "idle", "fifo", "rr"],
|
|
priority: null
|
|
},
|
|
"!novalue": 1
|
|
};
|
|
root.domain.cputune.iothreadsched = {
|
|
"!attrs": {
|
|
iothreads: null,
|
|
scheduler: ["batch", "idle", "fifo", "rr"]
|
|
},
|
|
"!novalue": 1
|
|
};
|
|
|
|
root.domain.cpu = {
|
|
"!attrs": {
|
|
match: ["exact", "minimum", "strict"],
|
|
mode: ["host-passthrough", "host-model", "custom"]
|
|
}
|
|
};
|
|
root.domain.cpu.model = {
|
|
"!value": ""
|
|
};
|
|
root.domain.cpu.topology = {
|
|
"!attrs": {
|
|
sockets: null,
|
|
dies: null,
|
|
cores: null,
|
|
threads: null
|
|
}
|
|
};
|
|
|
|
root.domain.os = {};
|
|
root.domain.os.type = {
|
|
"!attrs": {
|
|
arch: ["x86_64"],
|
|
machine: ["pc", "q35"]
|
|
},
|
|
"!value": "hvm"
|
|
};
|
|
root.domain.os.loader = {
|
|
"!attrs": {
|
|
readonly: ["yes"],
|
|
type: ["pflash"]
|
|
},
|
|
"!value": "/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd"
|
|
};
|
|
root.domain.os.nvram = {
|
|
"!value": "/etc/libvirt/qemu/nvram/{{UUID}}_VARS-pure-efi.fd"
|
|
};
|
|
|
|
root.domain.features = {};
|
|
root.domain.features.acpi = {
|
|
"!novalue": 1
|
|
};
|
|
root.domain.features.apic = {
|
|
"!novalue": 1
|
|
};
|
|
root.domain.features.hyperv = {};
|
|
root.domain.features.hyperv.relaxed = {
|
|
"!attrs": {
|
|
state: ["on", "off"]
|
|
}
|
|
};
|
|
root.domain.features.hyperv.vapic = {
|
|
"!attrs": {
|
|
state: ["on", "off"]
|
|
}
|
|
};
|
|
root.domain.features.hyperv.spinlocks = {
|
|
"!attrs": {
|
|
state: ["on", "off"],
|
|
retries: null
|
|
}
|
|
};
|
|
root.domain.features.pae = {
|
|
"!novalue": 1
|
|
};
|
|
|
|
root.domain.clock = {
|
|
"!attrs": {
|
|
offset: ["localtime", "utc"]
|
|
}
|
|
};
|
|
root.domain.clock.timer = {
|
|
"!attrs": {
|
|
name: ["hypervclock", "hpet", "rtc", "pit"],
|
|
tickpolicy: ["catchup", "delay"],
|
|
present: ["no", "yes"]
|
|
}
|
|
};
|
|
|
|
root.domain.on_poweroff = {
|
|
"!value": "destroy"
|
|
};
|
|
|
|
root.domain.on_reboot = {
|
|
"!value": "restart"
|
|
};
|
|
|
|
root.domain.on_crash = {
|
|
"!value": "destroy"
|
|
};
|
|
|
|
root.domain.devices = {};
|
|
|
|
root.domain.devices.emulator = {
|
|
"!value": "/usr/bin/qemu-system-x86_64"
|
|
};
|
|
|
|
root.domain.devices.disk = {
|
|
"!attrs": {
|
|
type: ["file"],
|
|
device: ["disk", "cdrom"]
|
|
}
|
|
};
|
|
root.domain.devices.disk.driver = {
|
|
"!attrs": {
|
|
name: ["qemu"],
|
|
type: ["raw", "bochs", "qcow2", "qed"],
|
|
error_policy: ["report", "stop", "ignore", "enospace"],
|
|
rerror_policy: ["report", "stop", "ignore"],
|
|
cache: ["writeback", "default", "directsync", "none", "writethrough", "unsafe"],
|
|
io: ["native", "threads"],
|
|
ioeventfd: ["on", "off"],
|
|
event_idx: ["on", "off"],
|
|
copy_on_read: ["off", "on"],
|
|
discard: ["ignore", "unmap"],
|
|
iothread: null
|
|
}
|
|
};
|
|
root.domain.devices.disk.source = {
|
|
"!attrs": {
|
|
file: null
|
|
}
|
|
};
|
|
root.domain.devices.disk.backingStore = {
|
|
"!novalue": 1
|
|
};
|
|
root.domain.devices.disk.target = {
|
|
"!attrs": {
|
|
dev: null,
|
|
bus: ["ide", "sata", "scsi", "virtio", "usb"]
|
|
}
|
|
};
|
|
root.domain.devices.disk.readonly = {
|
|
"!novalue": 1
|
|
};
|
|
root.domain.devices.disk.boot = {
|
|
"!attrs": {
|
|
order: null
|
|
}
|
|
};
|
|
|
|
root.domain.devices.interface = {
|
|
"!attrs": {
|
|
type: ["bridge"]
|
|
}
|
|
};
|
|
root.domain.devices.interface.mac = {
|
|
"!attrs": {
|
|
address: null
|
|
}
|
|
};
|
|
root.domain.devices.interface.source = {
|
|
"!attrs": {
|
|
bridge: null
|
|
}
|
|
};
|
|
root.domain.devices.interface.model = {
|
|
"!attrs": {
|
|
type: ["virtio", "virtio-net"]
|
|
}
|
|
};
|
|
|
|
root.domain.devices.input = {
|
|
"!attrs": {
|
|
type: ["tablet", "mouse", "keyboard"],
|
|
bus: ["usb", "ps2"]
|
|
}
|
|
};
|
|
|
|
root.domain.devices.graphics = {
|
|
"!attrs": {
|
|
type: ["vnc"],
|
|
port: ["-1"],
|
|
autoport: ["yes", "no"],
|
|
websocket: ["-1"],
|
|
listen: ["0.0.0.0"],
|
|
keymap: ["en-us", "en-gb", "ar", "hr", "cz", "da", "nl", "es", "et", "fo",
|
|
"fi", "fr", "bepo", "fr-be", "fr-ca", "fr-ch", "de-ch", "hu", "is", "it",
|
|
"ja", "lv", "lt", "mk", "no", "pl", "pt-br", "ru", "sl", "sv", "th", "tr"]
|
|
}
|
|
};
|
|
|
|
root.domain.devices.graphics.listen = {
|
|
"!attrs": {
|
|
type: ["address"],
|
|
address: ["0.0.0.0"]
|
|
}
|
|
};
|
|
|
|
root.domain.devices.hostdev = {
|
|
"!attrs": {
|
|
mode: ["subsystem"],
|
|
type: ["pci", "usb"],
|
|
managed: ["yes", "no"]
|
|
}
|
|
};
|
|
root.domain.devices.hostdev.driver = {
|
|
"!attrs": {
|
|
name: ["vfio"]
|
|
}
|
|
};
|
|
root.domain.devices.hostdev.source = {};
|
|
root.domain.devices.hostdev.source.address = {
|
|
"!attrs": {
|
|
domain: null,
|
|
bus: null,
|
|
slot: null,
|
|
function: null
|
|
}
|
|
};
|
|
root.domain.devices.hostdev.source.vendor = {
|
|
"!attrs": {
|
|
id: null
|
|
}
|
|
};
|
|
root.domain.devices.hostdev.source.product = {
|
|
"!attrs": {
|
|
id: null
|
|
}
|
|
};
|
|
|
|
root.domain.devices.memballoon = {
|
|
"!attrs": {
|
|
model: ["virtio", "none"]
|
|
}
|
|
};
|
|
root.domain.devices.memballoon.alias = {
|
|
"!attrs": {
|
|
name: ["balloon0"]
|
|
}
|
|
};
|
|
|
|
root.domain['qemu:commandline'] = {};
|
|
root.domain['qemu:commandline']['qemu:arg'] = {
|
|
"!attrs": {
|
|
value: null
|
|
}
|
|
};
|
|
|
|
|
|
return root;
|
|
|
|
}
|