@@ -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
7576type 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
79111type 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
83146type Parallel struct {
@@ -95,25 +158,111 @@ type Sata struct {
95158 Sata5 string `json:"sata5,omitempty"`
96159}
97160
98- // wip n = 0~30
99161type 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
103195type 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
107202type 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
111213type 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
115231type 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