docs: def destroy(name, call=None):
      """
      This function irreversibly destroys a virtual machine on the cloud provider.
      Before doing so, it should fire an event on the Salt event bus.
  
      The tag for this event is `salt/cloud/<vm name>/destroying`.
      Once the virtual machine has been destroyed, another event is fired.
      The tag for that event is `salt/cloud/<vm name>/destroyed`.
  
      Dependencies:
          list_nodes
  
      @param name:
      @type name: str
      @param call:
      @type call:
      @return: True if all went well, otherwise an error message
      @rtype: bool|str
      """
      log.info("Attempting to delete instance %s", name)
  
      if call == 'function':
          raise SaltCloudSystemExit(
              'The destroy action must be called with -d, --destroy, '
              '-a or --action.'
          )
  
      found = []
  
      providers = __opts__.get('providers', {})
      providers_to_check = [_f for _f in [cfg.get('libvirt') for cfg in six.itervalues(providers)] if _f]
      for provider in providers_to_check:
          conn = __get_conn(provider['url'])
          log.info("looking at %s", provider['url'])
          try:
              domain = conn.lookupByName(name)
              found.append({'domain': domain, 'conn': conn})
          except libvirtError:
              pass
  
      if not found:
          return "{0} doesn't exist and can't be deleted".format(name)
  
      if len(found) > 1:
          return "{0} doesn't identify a unique machine leaving things".format(name)
  
      __utils__['cloud.fire_event'](
          'event',
          'destroying instance',
          'salt/cloud/{0}/destroying'.format(name),
          args={'name': name},
          sock_dir=__opts__['sock_dir'],
          transport=__opts__['transport']
      )
  
      destroy_domain(found[0]['conn'], found[0]['domain'])
  
      __utils__['cloud.fire_event'](
          'event',
          'destroyed instance',
          'salt/cloud/{0}/destroyed'.format(name),
          args={'name': name},
          sock_dir=__opts__['sock_dir'],
          transport=__opts__['transport']
      )