class_docstr: An encapsulation of both the query configuration as well as the intent to execute it
  
  This "pack" includes any additional state, parameters, and other stuff.
class_docstr_tok: ["An","encapsulation","of","both","the","query","configuration","as","well","as","the","intent","to","execute","it","This","``","pack","''","includes","any","additional","state",",","parameters",",","and","other","stuff","."]
code: def __init__(self, query_pack_configuration, execution_context):
      self._configuration = (
          query_pack_configuration
      )  # type: QueryPackConfiguration
      self._execution_context = execution_context
  
      self._query_execution = None
      self._query_execution_id = None
      self._query_result = None
  
      if isinstance(self._configuration.query_parameters, dict):
          self._query_parameters = {
              param: self._execution_context.parameter_generator.generate_advanced(
                  param, configuration
              )
              for param, configuration in self._configuration.query_parameters.items()
          }
      elif isinstance(self._configuration.query_parameters, list):
          self._query_parameters = {
              param: self._execution_context.parameter_generator.generate(
                  param
              )
              for param in self._configuration.query_parameters
          }
      else:
          # not intended to be reached
          self._query_parameters = {}
  
      self._query_string = None
  
imports: import json
  from logging import Logger
  from streamalert.scheduled_queries.handlers.athena import AthenaClient
  from streamalert.scheduled_queries.query_packs.configuration import QueryPackConfiguration, QueryPackRepository
  from streamalert.scheduled_queries.query_packs.parameters import QueryParameterGenerator
  from streamalert.scheduled_queries.state.state_manager import StateManager
  from streamalert.scheduled_queries.support.clock import Clock
label_desc: Use image node_id 1 to create a new QueryPack object  with example: obj = QueryPack(query_pack_configuration, execution_context)