async def update(self, query, *, dc=None):
        """Updates existing prepared query

        Parameters:
            Query (Object): Query definition
            dc (str): Specify datacenter that will be used.
                      Defaults to the agent's local datacenter.
        Returns:
            bool: ``True`` on success
        """
        query_id = extract_attr(query, keys=["ID"])
        response = await self._api.put("/v1/query", query_id,
                                       params={"dc": dc}, data=query)
        return response.status == 200