code: func (r *NetworkInterfaceSubresource) Delete(l object.VirtualDeviceList) ([]types.BaseVirtualDeviceConfigSpec, error) {
  	log.Printf("[DEBUG] %s: Beginning delete", r)
  	vd, err := r.FindVirtualDevice(l)
  	if err != nil {
  		return nil, fmt.Errorf("cannot find network device: %s", err)
  	}
  	device, err := baseVirtualDeviceToBaseVirtualEthernetCard(vd)
  	if err != nil {
  		return nil, err
  	}
  	// If VMware tools is not running, this operation requires a reboot
  	if r.rdd.Get("vmware_tools_status").(string) != string(types.VirtualMachineToolsRunningStatusGuestToolsRunning) {
  		r.SetRestart("<device delete>")
  	}
  	bvd := baseVirtualEthernetCardToBaseVirtualDevice(device)
  	spec, err := object.VirtualDeviceList{bvd}.ConfigSpec(types.VirtualDeviceConfigSpecOperationRemove)
  	if err != nil {
  		return nil, err
  	}
  	log.Printf("[DEBUG] %s: Device config operations from update: %s", r, DeviceChangeString(spec))
  	log.Printf("[DEBUG] %s: Delete completed", r)
  	return spec, nil
  }
docs: // Delete deletes a vsphere_virtual_machine network_interface sub-resource.