Fixes #6444 - add support for virtual NICs

We need some more validators here I think - physical_device, tag, and identified aren't constrained at all. virtual & link aren't checked to be boolean. user/pw are only relevant for bmc devices, right? should that be moved there? or at least validated?