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):
      
docs: Write metadata about the client.
  
      Updates one or more client metadata fields for the given client_id. Any of
      the data fields can be left as None, and in this case are not changed.
  
      Args:
        client_id: A GRR client id string, e.g. "C.ea3b2b71840d6fa7".
        certificate: If set, should be an rdfvalues.crypto.RDFX509 protocol
          buffer. Normally only set during initial client record creation.
        fleetspeak_enabled: A bool, indicating whether the client is connecting
          through Fleetspeak.  Normally only set during initial client record
          creation.
        first_seen: An rdfvalue.Datetime, indicating the first time the client
          contacted the server.
        last_ping: An rdfvalue.Datetime, indicating the last time the client
          contacted the server.
        last_clock: An rdfvalue.Datetime, indicating the last client clock time
          reported to the server.
        last_ip: An rdfvalues.client.NetworkAddress, indicating the last observed
          ip address for the client.
        last_foreman: An rdfvalue.Datetime, indicating the last time that the
          client sent a foreman message to the server.