diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e4291ad..9ea2bc8b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ BUG FIXES: * resource/virtual_environment_container: Fix `network_interface` deletion issue * resource/virtual_environment_vm: Fix `network_device` deletion issue * resource/virtual_environment_vm: Fix slow refresh when VM is stopped and agent is enabled +* resource/virtual_environment_vm: Fix crash caused by assuming IP addresses are always reported by the QEMU agent OTHER: diff --git a/proxmoxtf/resource_virtual_environment_vm.go b/proxmoxtf/resource_virtual_environment_vm.go index a3584277..b5e49b03 100644 --- a/proxmoxtf/resource_virtual_environment_vm.go +++ b/proxmoxtf/resource_virtual_environment_vm.go @@ -2734,12 +2734,14 @@ func resourceVirtualEnvironmentVMReadNetworkValues(d *schema.ResourceData, m int rvIPv4Addresses := []interface{}{} rvIPv6Addresses := []interface{}{} - for _, ip := range *rv.IPAddresses { - switch ip.Type { - case "ipv4": - rvIPv4Addresses = append(rvIPv4Addresses, ip.Address) - case "ipv6": - rvIPv6Addresses = append(rvIPv6Addresses, ip.Address) + if rv.IPAddresses != nil { + for _, ip := range *rv.IPAddresses { + switch ip.Type { + case "ipv4": + rvIPv4Addresses = append(rvIPv4Addresses, ip.Address) + case "ipv6": + rvIPv6Addresses = append(rvIPv6Addresses, ip.Address) + } } }