docs: def SaveData(self, raw_data):
      """Store the raw data as our configuration."""
      if self.filename is None:
        raise IOError("Unknown filename")
  
      logging.info("Writing back configuration to file %s", self.filename)
      # Ensure intermediate directories exist
      try:
        os.makedirs(os.path.dirname(self.filename))
      except (IOError, OSError):
        pass
  
      try:
        # We can not use the standard open() call because we need to
        # enforce restrictive file permissions on the created file.
        mode = os.O_WRONLY | os.O_CREAT | os.O_TRUNC
        fd = os.open(self.filename, mode, 0o600)
        with os.fdopen(fd, "wb") as config_file:
          self.SaveDataToFD(raw_data, config_file)
  
      except OSError as e:
        logging.warning("Unable to write config file %s: %s.", self.filename, e)