When modifying the ip_address_ids attribute on a katapult_virtual_machine resource, any new IP IDs will be added via a relevant network interface on the VM. If the VM does not already have a network interface for the network that the IP belongs to, the update currently fails.
During creation you can add IPs from multiple networks, as the creation process supports specifying a custom list of network interfaces. But updating a VM does not create new network interfaces as needed, as Katapult's API did not support doing so until recently.
Hence, the current VM update process should be updated to automatically create and attach a new network interface if needed for any IPs which are added to the virtual machine. If we should automatically remove a network interface when the last IP on it is removed is still to be determined however.