docs: def vnic_compose_empty(device=None):
          """
          Compose empty vNIC for next attaching to a network
          :param device: <vim.vm.device.VirtualVmxnet3 or None> Device for this this 'spec' will be composed.
              If 'None' a new device will be composed.
              'Operation' - edit/add' depends on if device existed
          :return: <vim.vm.device.VirtualDeviceSpec>
          """
          nicspec = vim.vm.device.VirtualDeviceSpec()
  
          if device:
              nicspec.device = device
              nicspec.operation = vim.vm.device.VirtualDeviceSpec.Operation.edit
          else:
              nicspec.operation = vim.vm.device.VirtualDeviceSpec.Operation.add
              nicspec.device = vim.vm.device.VirtualVmxnet3()
              nicspec.device.wakeOnLanEnabled = True
              nicspec.device.deviceInfo = vim.Description()
  
              nicspec.device.connectable = vim.vm.device.VirtualDevice.ConnectInfo()
              nicspec.device.connectable.startConnected = True
              nicspec.device.connectable.allowGuestControl = True
  
          return nicspec