Skip to content

Commit 832aa90

Browse files
authored
Merge pull request #2 from simplysoft/add-vm-configs
Add vm configs
2 parents dfc9563 + 0a48109 commit 832aa90

File tree

2 files changed

+160
-9
lines changed

2 files changed

+160
-9
lines changed

api/node_type.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ type Node struct {
1111
Mem int `json:"mem"`
1212
Node string `json:"node"`
1313
SSLFingerprint string `json:"ssl_fingerprint"`
14-
Stauts string `json:"status"`
14+
Status string `json:"status"`
1515
Type string `json:"type"`
1616
UpTime int `json:"uptime"`
1717
}

api/qemu_type.go

Lines changed: 159 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -70,14 +70,77 @@ type Ide struct {
7070
Ide0 string `json:"ide0,omitempty"`
7171
Ide1 string `json:"ide1,omitempty"`
7272
Ide2 string `json:"ide2,omitempty"`
73+
Ide3 string `json:"ide3,omitempty"`
7374
}
7475

7576
type IPConfig struct {
76-
IPConfig0 string `json:"ipconfig0,omitempty"`
77+
IPConfig0 string `json:"ipconfig0,omitempty"`
78+
IPConfig1 string `json:"ipconfig1,omitempty"`
79+
IPConfig2 string `json:"ipconfig2,omitempty"`
80+
IPConfig3 string `json:"ipconfig3,omitempty"`
81+
IPConfig4 string `json:"ipconfig4,omitempty"`
82+
IPConfig5 string `json:"ipconfig5,omitempty"`
83+
IPConfig6 string `json:"ipconfig6,omitempty"`
84+
IPConfig7 string `json:"ipconfig7,omitempty"`
85+
IPConfig8 string `json:"ipconfig8,omitempty"`
86+
IPConfig9 string `json:"ipconfig9,omitempty"`
87+
IPConfig10 string `json:"ipconfig10,omitempty"`
88+
IPConfig11 string `json:"ipconfig11,omitempty"`
89+
IPConfig12 string `json:"ipconfig12,omitempty"`
90+
IPConfig13 string `json:"ipconfig13,omitempty"`
91+
IPConfig14 string `json:"ipconfig14,omitempty"`
92+
IPConfig15 string `json:"ipconfig15,omitempty"`
93+
IPConfig16 string `json:"ipconfig16,omitempty"`
94+
IPConfig17 string `json:"ipconfig17,omitempty"`
95+
IPConfig18 string `json:"ipconfig18,omitempty"`
96+
IPConfig19 string `json:"ipconfig19,omitempty"`
97+
IPConfig20 string `json:"ipconfig20,omitempty"`
98+
IPConfig21 string `json:"ipconfig21,omitempty"`
99+
IPConfig22 string `json:"ipconfig22,omitempty"`
100+
IPConfig23 string `json:"ipconfig23,omitempty"`
101+
IPConfig24 string `json:"ipconfig24,omitempty"`
102+
IPConfig25 string `json:"ipconfig25,omitempty"`
103+
IPConfig26 string `json:"ipconfig26,omitempty"`
104+
IPConfig27 string `json:"ipconfig27,omitempty"`
105+
IPConfig28 string `json:"ipconfig28,omitempty"`
106+
IPConfig29 string `json:"ipconfig29,omitempty"`
107+
IPConfig30 string `json:"ipconfig30,omitempty"`
108+
IPConfig31 string `json:"ipconfig31,omitempty"`
77109
}
78110

79111
type Net struct {
80-
Net0 string `json:"net0,omitempty"`
112+
Net0 string `json:"net0,omitempty"`
113+
Net1 string `json:"net1,omitempty"`
114+
Net2 string `json:"net2,omitempty"`
115+
Net3 string `json:"net3,omitempty"`
116+
Net4 string `json:"net4,omitempty"`
117+
Net5 string `json:"net5,omitempty"`
118+
Net6 string `json:"net6,omitempty"`
119+
Net7 string `json:"net7,omitempty"`
120+
Net8 string `json:"net8,omitempty"`
121+
Net9 string `json:"net9,omitempty"`
122+
Net10 string `json:"net10,omitempty"`
123+
Net11 string `json:"net11,omitempty"`
124+
Net12 string `json:"net12,omitempty"`
125+
Net13 string `json:"net13,omitempty"`
126+
Net14 string `json:"net14,omitempty"`
127+
Net15 string `json:"net15,omitempty"`
128+
Net16 string `json:"net16,omitempty"`
129+
Net17 string `json:"net17,omitempty"`
130+
Net18 string `json:"net18,omitempty"`
131+
Net19 string `json:"net19,omitempty"`
132+
Net20 string `json:"net20,omitempty"`
133+
Net21 string `json:"net21,omitempty"`
134+
Net22 string `json:"net22,omitempty"`
135+
Net23 string `json:"net23,omitempty"`
136+
Net24 string `json:"net24,omitempty"`
137+
Net25 string `json:"net25,omitempty"`
138+
Net26 string `json:"net26,omitempty"`
139+
Net27 string `json:"net27,omitempty"`
140+
Net28 string `json:"net28,omitempty"`
141+
Net29 string `json:"net29,omitempty"`
142+
Net30 string `json:"net30,omitempty"`
143+
Net31 string `json:"net31,omitempty"`
81144
}
82145

83146
type Parallel struct {
@@ -95,25 +158,111 @@ type Sata struct {
95158
Sata5 string `json:"sata5,omitempty"`
96159
}
97160

98-
// wip n = 0~30
99161
type Scsi struct {
100-
Scsi0 string `json:"scsi0,omitempty"`
162+
Scsi0 string `json:"scsi0,omitempty"`
163+
Scsi1 string `json:"scsi1,omitempty"`
164+
Scsi2 string `json:"scsi2,omitempty"`
165+
Scsi3 string `json:"scsi3,omitempty"`
166+
Scsi4 string `json:"scsi4,omitempty"`
167+
Scsi5 string `json:"scsi5,omitempty"`
168+
Scsi6 string `json:"scsi6,omitempty"`
169+
Scsi7 string `json:"scsi7,omitempty"`
170+
Scsi8 string `json:"scsi8,omitempty"`
171+
Scsi9 string `json:"scsi9,omitempty"`
172+
Scsi10 string `json:"scsi10,omitempty"`
173+
Scsi11 string `json:"scsi11,omitempty"`
174+
Scsi12 string `json:"scsi12,omitempty"`
175+
Scsi13 string `json:"scsi13,omitempty"`
176+
Scsi14 string `json:"scsi14,omitempty"`
177+
Scsi15 string `json:"scsi15,omitempty"`
178+
Scsi16 string `json:"scsi16,omitempty"`
179+
Scsi17 string `json:"scsi17,omitempty"`
180+
Scsi18 string `json:"scsi18,omitempty"`
181+
Scsi19 string `json:"scsi19,omitempty"`
182+
Scsi20 string `json:"scsi20,omitempty"`
183+
Scsi21 string `json:"scsi21,omitempty"`
184+
Scsi22 string `json:"scsi22,omitempty"`
185+
Scsi23 string `json:"scsi23,omitempty"`
186+
Scsi24 string `json:"scsi24,omitempty"`
187+
Scsi25 string `json:"scsi25,omitempty"`
188+
Scsi26 string `json:"scsi26,omitempty"`
189+
Scsi27 string `json:"scsi27,omitempty"`
190+
Scsi28 string `json:"scsi28,omitempty"`
191+
Scsi29 string `json:"scsi29,omitempty"`
192+
Scsi30 string `json:"scsi30,omitempty"`
101193
}
102194

103195
type Serial struct {
104196
Serial0 string `json:"serial0,omitempty"`
197+
Serial1 string `json:"serial1,omitempty"`
198+
Serial2 string `json:"serial2,omitempty"`
199+
Serial3 string `json:"serial3,omitempty"`
105200
}
106201

107202
type UnUsed struct {
108203
UnUsed0 string `json:"unused0,omitempty"`
204+
UnUsed1 string `json:"unused1,omitempty"`
205+
UnUsed2 string `json:"unused2,omitempty"`
206+
UnUsed3 string `json:"unused3,omitempty"`
207+
UnUsed4 string `json:"unused4,omitempty"`
208+
UnUsed5 string `json:"unused5,omitempty"`
209+
UnUsed6 string `json:"unused6,omitempty"`
210+
UnUsed7 string `json:"unused7,omitempty"`
109211
}
110212

111213
type USB struct {
112-
USB0 string `json:"usb0,omitempty"`
214+
USB0 string `json:"usb0,omitempty"`
215+
USB1 string `json:"usb1,omitempty"`
216+
USB2 string `json:"usb2,omitempty"`
217+
USB3 string `json:"usb3,omitempty"`
218+
USB4 string `json:"usb4,omitempty"`
219+
USB5 string `json:"usb5,omitempty"`
220+
USB6 string `json:"usb6,omitempty"`
221+
USB7 string `json:"usb7,omitempty"`
222+
USB8 string `json:"usb8,omitempty"`
223+
USB9 string `json:"usb9,omitempty"`
224+
USB10 string `json:"usb10,omitempty"`
225+
USB11 string `json:"usb11,omitempty"`
226+
USB12 string `json:"usb12,omitempty"`
227+
USB13 string `json:"usb13,omitempty"`
228+
USB14 string `json:"usb14,omitempty"`
113229
}
114230

115231
type VirtIO struct {
116-
VirtIO0 string `json:"virtio0,omitempty"`
232+
VirtIO0 string `json:"virtio0,omitempty"`
233+
VirtIO1 string `json:"virtio1,omitempty"`
234+
VirtIO2 string `json:"virtio2,omitempty"`
235+
VirtIO3 string `json:"virtio3,omitempty"`
236+
VirtIO4 string `json:"virtio4,omitempty"`
237+
VirtIO5 string `json:"virtio5,omitempty"`
238+
VirtIO6 string `json:"virtio6,omitempty"`
239+
VirtIO7 string `json:"virtio7,omitempty"`
240+
VirtIO8 string `json:"virtio8,omitempty"`
241+
VirtIO9 string `json:"virtio9,omitempty"`
242+
VirtIO10 string `json:"virtio10,omitempty"`
243+
VirtIO11 string `json:"virtio11,omitempty"`
244+
VirtIO12 string `json:"virtio12,omitempty"`
245+
VirtIO13 string `json:"virtio13,omitempty"`
246+
VirtIO14 string `json:"virtio14,omitempty"`
247+
VirtIO15 string `json:"virtio15,omitempty"`
248+
}
249+
250+
type HostPci struct {
251+
HostPci0 string `json:"hostpci0,omitempty"`
252+
HostPci1 string `json:"hostpci1,omitempty"`
253+
HostPci2 string `json:"hostpci2,omitempty"`
254+
HostPci3 string `json:"hostpci3,omitempty"`
255+
}
256+
257+
type NumaS struct {
258+
Numa0 string `json:"numa0,omitempty"`
259+
Numa1 string `json:"numa1,omitempty"`
260+
Numa2 string `json:"numa2,omitempty"`
261+
Numa3 string `json:"numa3,omitempty"`
262+
Numa4 string `json:"numa4,omitempty"`
263+
Numa5 string `json:"numa5,omitempty"`
264+
Numa6 string `json:"numa6,omitempty"`
265+
Numa7 string `json:"numa7,omitempty"`
117266
}
118267

119268
// reference : https://pve.proxmox.com/pve-docs/api-viewer/#/nodes/{node}/qemu
@@ -185,7 +334,7 @@ type VirtualMachineCreateOptions struct {
185334
Freeze int8 `json:"freeze,omitempty"`
186335
// Script that will be executed during various steps in the vms lifetime.
187336
HookScript string `json:"hookscript,omitempty"`
188-
// HostPci
337+
HostPci
189338
// Selectively enable hotplug features. This is a comma separated list of hotplug features: 'network', 'disk', 'cpu', 'memory', 'usb' and 'cloudinit'.
190339
// Use '0' to disable hotplug completely. Using '1' as value is an alias for the default `network,disk,usb`.
191340
// USB hotplugging is possible for guests with machine version >= 7.1 and ostype l26 or windows > 7.
@@ -219,6 +368,7 @@ type VirtualMachineCreateOptions struct {
219368
// network device
220369
Net
221370
Numa int8 `json:"numa,omitempty"`
371+
NumaS
222372
// specifies whether a VM will be started during system bootup
223373
OnBoot int8 `json:"onboot,omitempty"`
224374
// quest OS
@@ -319,7 +469,7 @@ type VirtualMachineConfig struct {
319469
EfiDisk0 int8 `json:"efidisk0,omitempty"`
320470
Freeze int8 `json:"freeze,omitempty"`
321471
HookScript string `json:"hookscript,omitempty"`
322-
// HostPci
472+
HostPci
323473
HotPlug string `json:"hotplug,omitempty"`
324474
HugePages string `json:"hugepages,omitempty"`
325475
// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
@@ -347,6 +497,7 @@ type VirtualMachineConfig struct {
347497
// network device
348498
Net `json:"-"`
349499
Numa int8 `json:"numa,omitempty"`
500+
NumaS
350501
// specifies whether a VM will be started during system bootup
351502
OnBoot int8 `json:"onboot,omitempty"`
352503
// quest OS

0 commit comments

Comments
 (0)