Can select disk bus type when adding new disk to VM
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
@ -19,9 +19,13 @@ export type VMState =
|
||||
|
||||
export type VMFileDisk = BaseFileVMDisk & (RawVMDisk | QCow2Disk);
|
||||
|
||||
export type DiskBusType = "Virtio" | "Sata";
|
||||
|
||||
export interface BaseFileVMDisk {
|
||||
size: number;
|
||||
name: string;
|
||||
bus: DiskBusType;
|
||||
|
||||
delete: boolean;
|
||||
|
||||
// For new disk only
|
||||
|
20
virtweb_frontend/src/widgets/forms/DiskBusSelect.tsx
Normal file
20
virtweb_frontend/src/widgets/forms/DiskBusSelect.tsx
Normal file
@ -0,0 +1,20 @@
|
||||
import { DiskBusType } from "../../api/VMApi";
|
||||
import { SelectInput } from "./SelectInput";
|
||||
|
||||
export function DiskBusSelect(p: {
|
||||
editable: boolean;
|
||||
value: DiskBusType;
|
||||
onValueChange: (value: DiskBusType) => void;
|
||||
}): React.ReactElement {
|
||||
return (
|
||||
<SelectInput
|
||||
{...p}
|
||||
label="Disk bus type"
|
||||
options={[
|
||||
{ label: "virtio", value: "Virtio" },
|
||||
{ label: "sata", value: "Sata" },
|
||||
]}
|
||||
onValueChange={(v) => p.onValueChange(v as any)}
|
||||
/>
|
||||
);
|
||||
}
|
@ -23,6 +23,7 @@ import { SelectInput } from "./SelectInput";
|
||||
import { TextInput } from "./TextInput";
|
||||
import { DiskImageSelect } from "./DiskImageSelect";
|
||||
import { DiskImage } from "../../api/DiskImageApi";
|
||||
import { DiskBusSelect } from "./DiskBusSelect";
|
||||
|
||||
export function VMDisksList(p: {
|
||||
vm: VMInfo;
|
||||
@ -39,6 +40,7 @@ export function VMDisksList(p: {
|
||||
p.vm.file_disks.push({
|
||||
format: "QCow2",
|
||||
size: 10000 * 1000 * 1000,
|
||||
bus: "Virtio",
|
||||
delete: false,
|
||||
name: `disk${p.vm.file_disks.length}`,
|
||||
new: true,
|
||||
@ -220,6 +222,16 @@ function DiskInfo(p: {
|
||||
}}
|
||||
/>
|
||||
|
||||
{/* Bus selection */}
|
||||
<DiskBusSelect
|
||||
editable
|
||||
value={p.disk.bus}
|
||||
onValueChange={(v) => {
|
||||
p.disk.bus = v;
|
||||
p.onChange?.();
|
||||
}}
|
||||
/>
|
||||
|
||||
{p.disk.format === "Raw" && (
|
||||
<CheckboxInput
|
||||
editable
|
||||
|
Reference in New Issue
Block a user