code: def WriteClientMetadata(self,
                            client_id,
                            certificate=None,
                            fleetspeak_enabled=None,
                            first_seen=None,
                            last_ping=None,
                            last_clock=None,
                            last_ip=None,
                            last_foreman=None,
                            cursor=None):
      
      placeholders = []
      values = collections.OrderedDict()
  
      placeholders.append("%(client_id)s")
      values["client_id"] = db_utils.ClientIDToInt(client_id)
  
      if certificate:
        placeholders.append("%(certificate)s")
        values["certificate"] = certificate.SerializeToString()
      if fleetspeak_enabled is not None:
        placeholders.append("%(fleetspeak_enabled)s")
        values["fleetspeak_enabled"] = fleetspeak_enabled
      if first_seen is not None:
        placeholders.append("FROM_UNIXTIME(%(first_seen)s)")
        values["first_seen"] = mysql_utils.RDFDatetimeToTimestamp(first_seen)
      if last_ping is not None:
        placeholders.append("FROM_UNIXTIME(%(last_ping)s)")
        values["last_ping"] = mysql_utils.RDFDatetimeToTimestamp(last_ping)
      if last_clock:
        placeholders.append("FROM_UNIXTIME(%(last_clock)s)")
        values["last_clock"] = mysql_utils.RDFDatetimeToTimestamp(last_clock)
      if last_ip:
        placeholders.append("%(last_ip)s")
        values["last_ip"] = last_ip.SerializeToString()
      if last_foreman:
        placeholders.append("FROM_UNIXTIME(%(last_foreman)s)")
        values["last_foreman"] = mysql_utils.RDFDatetimeToTimestamp(last_foreman)
  
      updates = []
      for column in iterkeys(values):
        updates.append("{column} = VALUES({column})".format(column=column))
  
      query = """
      INSERT INTO clients ({columns})
      VALUES ({placeholders})
      ON DUPLICATE KEY UPDATE {updates}
      """.format(
          columns=", ".join(iterkeys(values)),
          placeholders=", ".join(placeholders),
          updates=", ".join(updates))
  
      cursor.execute(query, values)
docs: Write metadata about the client.