docs: def delete(consul_url=None, token=None, key=None, **kwargs):
      '''
      Delete values from Consul
  
      :param consul_url: The Consul server URL.
      :param key: The key to use as the starting point for the list.
      :param recurse: Delete values recursively beginning at the value of key.
      :param cas: This flag is used to turn the DELETE into
                  a Check-And-Set operation.
      :return: Boolean & message of success or failure.
  
      CLI Example:
  
      .. code-block:: bash
  
          salt '*' consul.delete key='web'
          salt '*' consul.delete key='web' recurse='True'
  
      '''
      ret = {}
      if not consul_url:
          consul_url = _get_config()
          if not consul_url:
              log.error('No Consul URL found.')
              ret['message'] = 'No Consul URL found.'
              ret['res'] = False
              return ret
  
      if not key:
          raise SaltInvocationError('Required argument "key" is missing.')
  
      query_params = {}
  
      if 'recurse' in kwargs:
          query_params['recurse'] = True
  
      if 'cas' in kwargs:
          if kwargs['cas'] > 0:
              query_params['cas'] = kwargs['cas']
          else:
              ret['message'] = ('Check and Set Operation ',
                                'value must be greater than 0.')
              ret['res'] = False
              return ret
  
      function = 'kv/{0}'.format(key)
      ret = _query(consul_url=consul_url,
                   token=token,
                   function=function,
                   method='DELETE',
                   query_params=query_params)
  
      if ret['res']:
          ret['res'] = True
          ret['message'] = 'Deleted key {0}.'.format(key)
      else:
          ret['res'] = False
          ret['message'] = 'Unable to delete key {0}.'.format(key)
      return ret