docs: def destroy(name, conn=None, call=None):
      '''
      Delete a single VM
      '''
      if call == 'function':
          raise SaltCloudSystemExit(
              'The destroy action must be called with -d, --destroy, '
              '-a or --action.'
          )
  
      __utils__['cloud.fire_event'](
          'event',
          'destroying instance',
          'salt/cloud/{0}/destroying'.format(name),
          args={'name': name},
          sock_dir=__opts__['sock_dir'],
          transport=__opts__['transport']
      )
  
      if not conn:
          conn = get_conn()   # pylint: disable=E0602
  
      node = conn.server_by_name(name)
      profiles = get_configured_provider()['profiles']  # pylint: disable=E0602
      if node is None:
          log.error('Unable to find the VM %s', name)
      profile = None
      if 'metadata' in node.extra and 'profile' in node.extra['metadata']:
          profile = node.extra['metadata']['profile']
  
      flush_mine_on_destroy = False
      if profile and profile in profiles and 'flush_mine_on_destroy' in profiles[profile]:
          flush_mine_on_destroy = profiles[profile]['flush_mine_on_destroy']
  
      if flush_mine_on_destroy:
          log.info('Clearing Salt Mine: %s', name)
          salt_client = salt.client.get_local_client(__opts__['conf_file'])
          minions = salt_client.cmd(name, 'mine.flush')
  
      log.info('Clearing Salt Mine: %s, %s', name, flush_mine_on_destroy)
      log.info('Destroying VM: %s', name)
      ret = conn.delete(node.id)
      if ret:
          log.info('Destroyed VM: %s', name)
          # Fire destroy action
          __utils__['cloud.fire_event'](
              'event',
              'destroyed instance',
              'salt/cloud/{0}/destroyed'.format(name),
              args={'name': name},
              sock_dir=__opts__['sock_dir'],
              transport=__opts__['transport']
          )
          if __opts__.get('delete_sshkeys', False) is True:
              salt.utils.cloud.remove_sshkey(getattr(node, __opts__.get('ssh_interface', 'public_ips'))[0])
          if __opts__.get('update_cachedir', False) is True:
              __utils__['cloud.delete_minion_cachedir'](name, __active_provider_name__.split(':')[0], __opts__)
          __utils__['cloud.cachedir_index_del'](name)
          return True
  
      log.error('Failed to Destroy VM: %s', name)
      return False