code: def update(self, **kwargs):
          
          # Update inherited configurations
          super(VrfConf, self).update(**kwargs)
          vrf_id = kwargs.get(ConfWithId.ID)
          vrf_rd = kwargs.get(ROUTE_DISTINGUISHER)
          vrf_rf = kwargs.get(VRF_RF)
          if (vrf_id != self.id or
                  vrf_rd != self.route_dist or
                  vrf_rf != self.route_family):
              raise ConfigValueError(desc='id/route-distinguisher/route-family'
                                     ' do not match configured value.')
  
          # Validate and update individual settings
          new_imp_rts, old_imp_rts = \
              self._update_import_rts(**kwargs)
          export_rts_changed = self._update_export_rts(**kwargs)
          soos_list_changed = self._update_soo_list(**kwargs)
          med_changed = self._update_med(**kwargs)
          re_export_needed = (export_rts_changed or
                              soos_list_changed or
                              med_changed)
          import_maps = kwargs.get(IMPORT_MAPS, [])
          re_import_needed = self._update_importmaps(import_maps)
  
          # If we did have any change in value of any settings, we notify
          # listeners
          if (new_imp_rts is not None or
                  old_imp_rts is not None or
                  re_export_needed or re_import_needed):
              evt_value = (
                  new_imp_rts,
                  old_imp_rts,
                  import_maps,
                  re_export_needed,
                  re_import_needed
              )
              self._notify_listeners(VrfConf.VRF_CHG_EVT, evt_value)
          return True
docs: Updates this `VrfConf` settings.
  
          Notifies listeners if any settings changed. Returns `True` if update
          was successful. This vrfs' route family, id and route dist settings
          cannot be updated/changed.