async def datacenters(self):
        """Queries for WAN coordinates of Consul servers

        Returns:
            Mapping: WAN network coordinates for all Consul
                     servers, organized by DCs.

        It returns a body like this::

            {
                "dc1": {
                    "Datacenter": "dc1",
                    "Coordinates": [
                        {
                            "Node": "agent-one",
                            "Coord": {
                                "Adjustment": 0,
                                "Error": 1.5,
                                "Height": 0,
                                "Vec": [0,0,0,0,0,0,0,0]
                            }
                        }
                    ]
                }
            }

        This endpoint serves data out of the server's local Serf data about
        the WAN, so its results may vary as requests are handled by different
        servers in the cluster.

        Also, it does not support blocking queries or any consistency modes.
        """
        response = await self._api.get("/v1/coordinate/datacenters")
        return {data["Datacenter"]: data for data in response.body}