docs: def undefine(vm_, **kwargs):
      '''
      Remove a defined vm, this does not purge the virtual machine image, and
      this only works if the vm is powered down
  
      :param vm_: domain name
      :param connection: libvirt connection URI, overriding defaults
  
          .. versionadded:: 2019.2.0
      :param username: username to connect with, overriding defaults
  
          .. versionadded:: 2019.2.0
      :param password: password to connect with, overriding defaults
  
          .. versionadded:: 2019.2.0
  
      CLI Example:
  
      .. code-block:: bash
  
          salt '*' virt.undefine <domain>
      '''
      conn = __get_conn(**kwargs)
      dom = _get_domain(conn, vm_)
      if getattr(libvirt, 'VIR_DOMAIN_UNDEFINE_NVRAM', False):
          # This one is only in 1.2.8+
          ret = dom.undefineFlags(libvirt.VIR_DOMAIN_UNDEFINE_NVRAM) == 0
      else:
          ret = dom.undefine() == 0
      conn.close()
      return ret