code: def save(self, running=None):
          
          LOGGER.debug("InjectorCachedGear.save")
          ret = True
  
          if running is not None:
              self.running = running
  
          if self.service is None:
              self.service = InjectorCachedGearService.make_admin_on_demand_service(self)
  
          if self.service is not None and not self.service.is_started:
              self.service.start()
  
          args = {'properties': {'OPERATION': 'PUSH_GEAR_IN_CACHE',
                                 'REMOTE_GEAR': str(self.injector_gear_2_json()).replace("'", '"'),
                                 'CACHE_ID': InjectorCachedGearService.cache_id}}
  
          result = InjectorCachedGearService.requester.call(args).get()
          if result.rc != 0:
              err_msg = 'InjectorCachedGear.save - Problem while saving gear ( id : ' + self.id + \
                        'Reason: ' + str(result.response_content) + '-' + str(result.error_message) + \
                        " (" + str(result.rc) + ")"
              LOGGER.warning(err_msg)
              ret = False
  
          return ret
docs: save or update this cached gear into the Ariane server cache
          :param running: the new running value. if None ignored
          :return: