class_docstr: Centralized config for handling configuration loading/parsing
class_docstr_tok: ["Centralized","config","for","handling","configuration","loading\/parsing"]
docstr: Set the current state of the execution
docstr_tok: ["Set","the","current","state","of","the","execution"]
code: def current_state(self, state):
      """Set the current state of the execution"""
      if not getattr(self.States, str(state).upper(), None):
          LOGGER.error(
              "Current state cannot be saved with value '%s'", state
          )
          return
  
      if self._current_state == state:
          LOGGER.debug(
              "State is unchanged and will not be saved: %s", state
          )
          return
  
      LOGGER.debug("Setting current state to: %s", state)
  
      self._current_state = state
      self._save_state()
  
imports: import calendar
  from datetime import datetime
  import json
  import re
  import time
  import backoff
  import boto3
  from botocore import client
  from botocore.exceptions import ClientError
  from streamalert.apps.exceptions import AppAuthError, AppConfigError, AppStateError
  from streamalert.shared.logger import get_logger
label_desc: Use image node_id 22 for calling the AppConfig obj's underlying member method code with example usage: obj.current_state(state) without return types