docs: def update_group(group,**kwargs):
      """
          Update a group.
          If new attributes are present, they will be added to the group.
          The non-presence of attributes does not remove them.
      """
      user_id = kwargs.get('user_id')
      try:
          group_i = db.DBSession.query(ResourceGroup).filter(ResourceGroup.id == group.id).one()
      except NoResultFound:
          raise ResourceNotFoundError("group %s not found"%(group.id))
  
      group_i.network.check_write_permission(user_id)
  
      group_i.name = group.name if group.name != None else group_i.name
      group_i.description = group.description if group.description else group_i.description
  
      if group.attributes is not None:
          _update_attributes(group_i, group.attributes)
  
      if group.types is not None:
          hdb.add_resource_types(group_i, group.types)
  
      db.DBSession.flush()
  
      return group_i