Lists nodes in a given DC

        Parameters:
            dc (str): Specify datacenter that will be used.
                      Defaults to the agent's local datacenter.
            near (str): Sort the node list in ascending order based on the
                        estimated round trip time from that node.
            watch (Blocking): Do a blocking query
            consistency (Consistency): Force consistency
        Returns:
            CollectionMeta: where value is a list

        It returns a body like this::

            [
              {
                "Node": "baz",
                "Address": "10.1.10.11",
                "TaggedAddresses": {
                  "lan": "10.1.10.11",
                  "wan": "10.1.10.11"
                }
              },
              {
                "Node": "foobar",
                "Address": "10.1.10.12",
                "TaggedAddresses": {
                  "lan": "10.1.10.11",
                  "wan": "10.1.10.12"
                }
              }
            ]

async def nodes(self, *,
                    dc=None, near=None, watch=None, consistency=None):
        """Lists nodes in a given DC

        Parameters:
            dc (str): Specify datacenter that will be used.
                      Defaults to the agent's local datacenter.
            near (str): Sort the node list in ascending order based on the
                        estimated round trip time from that node.
            watch (Blocking): Do a blocking query
            consistency (Consistency): Force consistency
        Returns:
            CollectionMeta: where value is a list

        It returns a body like this::

            [
              {
                "Node": "baz",
                "Address": "10.1.10.11",
                "TaggedAddresses": {
                  "lan": "10.1.10.11",
                  "wan": "10.1.10.11"
                }
              },
              {
                "Node": "foobar",
                "Address": "10.1.10.12",
                "TaggedAddresses": {
                  "lan": "10.1.10.11",
                  "wan": "10.1.10.12"
                }
              }
            ]
        """
        params = {"dc": dc, "near": near}
        response = await self._api.get("/v1/catalog/nodes",
                                       params=params,
                                       watch=watch,
                                       consistency=consistency)
        return consul(response)