
However there's an important one missing - the specification of _how_ the other object is bound to the virtual machine (e.g. is the drive bound as IDE or SCSI, and to which bus? Which network is which virtual NIC?). ... This extra field will be needed in the XML too, e.g. as 'type':
<link type="ide:0:0" rel="[22]http://purl.org/occi/storage#device" href="urn:uuid:4cc8cf62-69a4-4650-9e8c-7d4c516884df" title="Hard Drive"/> ... start to impose on the format of device identifiers which doesn't necessarily work in large, complex and/or heterogeneous environments (you say eth0, I say en1 and others say "Local Area Connection"... and that's before you start talking about paravirtualised block devices and so on)
Yes, there is an choice of whether to choose an abstract set of device identifiers (e.g. nic:0) or to allow many platform-specific variants (eth0, en0, etc.). We can't just omit the identifiers though - it is an important part of the specification of a VM to know _how_ storage, networks, etc. connect, as well as just the fact that they do. Cheers, Richard.