code: def update_current_state(self, value: str,
                               force: bool = False) -> datetime:
          
          value = value.lower()
          if not force:
              current_state = self.current_state
              # IF the current state is unknown, it can be set to any of the
              # allowed states, otherwise only allow certain transitions.
              if current_state == 'unknown':
                  allowed_transitions = self._allowed_states
              else:
                  allowed_transitions = self._allowed_transitions[current_state]
                  allowed_transitions.append(current_state)
  
              LOG.debug('Updating current state of %s to %s', self._id, value)
  
              if value not in allowed_transitions:
                  raise ValueError("Invalid current state update: '{}'. '{}' "
                                   "can be transitioned to states: {}"
                                   .format(value, current_state,
                                           allowed_transitions))
  
          return self._update_state('current', value)
docs: Update the current state.
  
          Args:
              value (str): New value for sdp state
              force (bool): If true, ignore allowed transitions
  
          Returns:
              datetime, update timestamp
  
          Raises:
              ValueError: If the specified current state is not allowed.