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","."]
docstr: Kicks off the current query to Athena, returning a query execution id
  
  Calls to this method internally modify ths query pack, setting the query_execution_id
  property. Calling this method when is_previous_started=True will do not thing.
docstr_tok: ["Kicks","off","the","current","query","to","Athena",",","returning","a","query","execution","id","Calls","to","this","method","internally","modify","ths","query","pack",",","setting","the","query_execution_id","property",".","Calling","this","method","when","is_previous_started=True","will","do","not","thing","."]
code: def start_query(self):
      """Kicks off the current query to Athena, returning a query execution id
  
      Calls to this method internally modify ths query pack, setting the query_execution_id
      property. Calling this method when is_previous_started=True will do not thing.
      """
      if self.is_previously_started:
          return None
  
      self._query_execution_id = (
          self._execution_context.athena_client.run_async_query(
              self.generate_query_string()
          )
      )
      self.save_to_cache()
      return self._query_execution_id
  
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 11 for calling the QueryPack obj's underlying member method code with example usage: obj.start_query() and returns: self, None