code: def revoke(self):
          
          if self._expired:
              raise Expired()
  
          obj = {
              # ID is the lease ID to revoke. When the ID is revoked, all
              # associated keys will be deleted.
              u'ID': self.lease_id,
          }
          data = json.dumps(obj).encode('utf8')
  
          url = u'{}/v3alpha/kv/lease/revoke'.format(self._client._url).encode()
          response = yield treq.post(url, data, headers=self._client._REQ_HEADERS)
  
          obj = yield treq.json_content(response)
  
          header = Header._parse(obj[u'header']) if u'header' in obj else None
  
          self._expired = True
  
          returnValue(header)
docs: Revokes a lease. All keys attached to the lease will expire
          and be deleted.
  
          :returns: Response header.
          :rtype: instance of :class:`txaioetcd.Header`