docs: def update(self, ip):
          """Update the IP on the remote service."""
          timeout = 60
          LOG.debug("Updating '%s' to '%s' at service '%s'", self.hostname, ip, self._updateurl)
          params = {"myip": ip, "hostname": self.hostname}
          req = requests.get(self._updateurl, params=params, headers=constants.REQUEST_HEADERS_DEFAULT,
                             auth=(self.__userid, self.__password), timeout=timeout)
          LOG.debug("status %i, %s", req.status_code, req.text)
          if req.status_code == 200:
              # responses can also be "nohost", "abuse", "911", "notfqdn"
              if req.text.startswith("good ") or req.text.startswith("nochg"):
                  return ip
              return req.text
          return "invalid http status code: %s" % req.status_code