Returns a list of the keys under the given prefix

        Parameters:
            prefix (str): Prefix to fetch
            separator (str): List only up to a given separator
            dc (str): Specify datacenter that will be used.
                      Defaults to the agent's local datacenter.
            watch (Blocking): Do a blocking query
            consistency (Consistency): Force consistency
        Returns:
            CollectionMeta: where value is list of keys

        For example, listing ``/web/`` with a ``/`` separator may return::

            [
              "/web/bar",
              "/web/foo",
              "/web/subdir/"
            ]

async def keys(self, prefix, *,
                   dc=None, separator=None, watch=None, consistency=None):
        """Returns a list of the keys under the given prefix

        Parameters:
            prefix (str): Prefix to fetch
            separator (str): List only up to a given separator
            dc (str): Specify datacenter that will be used.
                      Defaults to the agent's local datacenter.
            watch (Blocking): Do a blocking query
            consistency (Consistency): Force consistency
        Returns:
            CollectionMeta: where value is list of keys

        For example, listing ``/web/`` with a ``/`` separator may return::

            [
              "/web/bar",
              "/web/foo",
              "/web/subdir/"
            ]

        """
        response = await self._read(prefix,
                                    dc=dc,
                                    separator=separator,
                                    keys=True,
                                    watch=watch,
                                    consistency=consistency)
        return consul(response)