code: func EthernetCardTypes() VirtualDeviceList {
  	return VirtualDeviceList([]types.BaseVirtualDevice{
  		&types.VirtualE1000{},
  		&types.VirtualE1000e{},
  		&types.VirtualVmxnet2{},
  		&types.VirtualVmxnet3{},
  		&types.VirtualPCNet32{},
  		&types.VirtualSriovEthernetCard{},
  	}).Select(func(device types.BaseVirtualDevice) bool {
  		c := device.(types.BaseVirtualEthernetCard).GetVirtualEthernetCard()
  		c.GetVirtualDevice().Key = -1
  		return true
  	})
  }
docs: // EthernetCardTypes are used for adding a new ethernet card to a VM.