diff --git a/proxmox/nodes/vms/vms_types.go b/proxmox/nodes/vms/vms_types.go index ae90bf78..89aaae9a 100644 --- a/proxmox/nodes/vms/vms_types.go +++ b/proxmox/nodes/vms/vms_types.go @@ -467,6 +467,30 @@ type GetResponseData struct { IPConfig5 *CustomCloudInitIPConfig `json:"ipconfig5,omitempty"` IPConfig6 *CustomCloudInitIPConfig `json:"ipconfig6,omitempty"` IPConfig7 *CustomCloudInitIPConfig `json:"ipconfig7,omitempty"` + IPConfig8 *CustomCloudInitIPConfig `json:"ipconfig8,omitempty"` + IPConfig9 *CustomCloudInitIPConfig `json:"ipconfig9,omitempty"` + IPConfig10 *CustomCloudInitIPConfig `json:"ipconfig10,omitempty"` + IPConfig11 *CustomCloudInitIPConfig `json:"ipconfig11,omitempty"` + IPConfig12 *CustomCloudInitIPConfig `json:"ipconfig12,omitempty"` + IPConfig13 *CustomCloudInitIPConfig `json:"ipconfig13,omitempty"` + IPConfig14 *CustomCloudInitIPConfig `json:"ipconfig14,omitempty"` + IPConfig15 *CustomCloudInitIPConfig `json:"ipconfig15,omitempty"` + IPConfig16 *CustomCloudInitIPConfig `json:"ipconfig16,omitempty"` + IPConfig17 *CustomCloudInitIPConfig `json:"ipconfig17,omitempty"` + IPConfig18 *CustomCloudInitIPConfig `json:"ipconfig18,omitempty"` + IPConfig19 *CustomCloudInitIPConfig `json:"ipconfig19,omitempty"` + IPConfig20 *CustomCloudInitIPConfig `json:"ipconfig20,omitempty"` + IPConfig21 *CustomCloudInitIPConfig `json:"ipconfig21,omitempty"` + IPConfig22 *CustomCloudInitIPConfig `json:"ipconfig22,omitempty"` + IPConfig23 *CustomCloudInitIPConfig `json:"ipconfig23,omitempty"` + IPConfig24 *CustomCloudInitIPConfig `json:"ipconfig24,omitempty"` + IPConfig25 *CustomCloudInitIPConfig `json:"ipconfig25,omitempty"` + IPConfig26 *CustomCloudInitIPConfig `json:"ipconfig26,omitempty"` + IPConfig27 *CustomCloudInitIPConfig `json:"ipconfig27,omitempty"` + IPConfig28 *CustomCloudInitIPConfig `json:"ipconfig28,omitempty"` + IPConfig29 *CustomCloudInitIPConfig `json:"ipconfig29,omitempty"` + IPConfig30 *CustomCloudInitIPConfig `json:"ipconfig30,omitempty"` + IPConfig31 *CustomCloudInitIPConfig `json:"ipconfig31,omitempty"` KeyboardLayout *string `json:"keyboard,omitempty"` KVMArguments *string `json:"args,omitempty"` KVMEnabled *types.CustomBool `json:"kvm,omitempty"` @@ -484,6 +508,30 @@ type GetResponseData struct { NetworkDevice5 *CustomNetworkDevice `json:"net5,omitempty"` NetworkDevice6 *CustomNetworkDevice `json:"net6,omitempty"` NetworkDevice7 *CustomNetworkDevice `json:"net7,omitempty"` + NetworkDevice8 *CustomNetworkDevice `json:"net8,omitempty"` + NetworkDevice9 *CustomNetworkDevice `json:"net9,omitempty"` + NetworkDevice10 *CustomNetworkDevice `json:"net10,omitempty"` + NetworkDevice11 *CustomNetworkDevice `json:"net11,omitempty"` + NetworkDevice12 *CustomNetworkDevice `json:"net12,omitempty"` + NetworkDevice13 *CustomNetworkDevice `json:"net13,omitempty"` + NetworkDevice14 *CustomNetworkDevice `json:"net14,omitempty"` + NetworkDevice15 *CustomNetworkDevice `json:"net15,omitempty"` + NetworkDevice16 *CustomNetworkDevice `json:"net16,omitempty"` + NetworkDevice17 *CustomNetworkDevice `json:"net17,omitempty"` + NetworkDevice18 *CustomNetworkDevice `json:"net18,omitempty"` + NetworkDevice19 *CustomNetworkDevice `json:"net19,omitempty"` + NetworkDevice20 *CustomNetworkDevice `json:"net20,omitempty"` + NetworkDevice21 *CustomNetworkDevice `json:"net21,omitempty"` + NetworkDevice22 *CustomNetworkDevice `json:"net22,omitempty"` + NetworkDevice23 *CustomNetworkDevice `json:"net23,omitempty"` + NetworkDevice24 *CustomNetworkDevice `json:"net24,omitempty"` + NetworkDevice25 *CustomNetworkDevice `json:"net25,omitempty"` + NetworkDevice26 *CustomNetworkDevice `json:"net26,omitempty"` + NetworkDevice27 *CustomNetworkDevice `json:"net27,omitempty"` + NetworkDevice28 *CustomNetworkDevice `json:"net28,omitempty"` + NetworkDevice29 *CustomNetworkDevice `json:"net29,omitempty"` + NetworkDevice30 *CustomNetworkDevice `json:"net30,omitempty"` + NetworkDevice31 *CustomNetworkDevice `json:"net31,omitempty"` NUMADevices *CustomNUMADevices `json:"numa_devices,omitempty"` NUMAEnabled *types.CustomBool `json:"numa,omitempty"` OSType *string `json:"ostype,omitempty"` diff --git a/proxmoxtf/resource/vm.go b/proxmoxtf/resource/vm.go index db021dd9..5012b821 100644 --- a/proxmoxtf/resource/vm.go +++ b/proxmoxtf/resource/vm.go @@ -142,7 +142,7 @@ const ( dvResourceVirtualEnvironmentVMHookScript = "" maxResourceVirtualEnvironmentVMAudioDevices = 1 - maxResourceVirtualEnvironmentVMNetworkDevices = 8 + maxResourceVirtualEnvironmentVMNetworkDevices = 32 maxResourceVirtualEnvironmentVMSerialDevices = 4 maxResourceVirtualEnvironmentVMHostPCIDevices = 8 maxResourceVirtualEnvironmentVMHostUSBDevices = 4 @@ -4475,6 +4475,31 @@ func vmReadCustom( vmConfig.IPConfig5, vmConfig.IPConfig6, vmConfig.IPConfig7, + vmConfig.IPConfig7, + vmConfig.IPConfig8, + vmConfig.IPConfig9, + vmConfig.IPConfig10, + vmConfig.IPConfig11, + vmConfig.IPConfig12, + vmConfig.IPConfig13, + vmConfig.IPConfig14, + vmConfig.IPConfig15, + vmConfig.IPConfig16, + vmConfig.IPConfig17, + vmConfig.IPConfig18, + vmConfig.IPConfig19, + vmConfig.IPConfig20, + vmConfig.IPConfig21, + vmConfig.IPConfig22, + vmConfig.IPConfig23, + vmConfig.IPConfig24, + vmConfig.IPConfig25, + vmConfig.IPConfig26, + vmConfig.IPConfig27, + vmConfig.IPConfig28, + vmConfig.IPConfig29, + vmConfig.IPConfig30, + vmConfig.IPConfig31, } ipConfigList := make([]interface{}, len(ipConfigObjects)) @@ -4677,9 +4702,9 @@ func vmReadCustom( // Compare the network devices to those stored in the state. currentNetworkDeviceList := d.Get(mkResourceVirtualEnvironmentVMNetworkDevice).([]interface{}) - macAddresses := make([]interface{}, 8) + macAddresses := make([]interface{}, maxResourceVirtualEnvironmentVMNetworkDevices) networkDeviceLast := -1 - networkDeviceList := make([]interface{}, 8) + networkDeviceList := make([]interface{}, maxResourceVirtualEnvironmentVMNetworkDevices) networkDeviceObjects := []*vms.CustomNetworkDevice{ vmConfig.NetworkDevice0, vmConfig.NetworkDevice1, @@ -4689,6 +4714,30 @@ func vmReadCustom( vmConfig.NetworkDevice5, vmConfig.NetworkDevice6, vmConfig.NetworkDevice7, + vmConfig.NetworkDevice8, + vmConfig.NetworkDevice9, + vmConfig.NetworkDevice10, + vmConfig.NetworkDevice11, + vmConfig.NetworkDevice12, + vmConfig.NetworkDevice13, + vmConfig.NetworkDevice14, + vmConfig.NetworkDevice15, + vmConfig.NetworkDevice16, + vmConfig.NetworkDevice17, + vmConfig.NetworkDevice18, + vmConfig.NetworkDevice19, + vmConfig.NetworkDevice20, + vmConfig.NetworkDevice21, + vmConfig.NetworkDevice22, + vmConfig.NetworkDevice23, + vmConfig.NetworkDevice24, + vmConfig.NetworkDevice25, + vmConfig.NetworkDevice26, + vmConfig.NetworkDevice27, + vmConfig.NetworkDevice28, + vmConfig.NetworkDevice29, + vmConfig.NetworkDevice30, + vmConfig.NetworkDevice31, } for ni, nd := range networkDeviceObjects {