def create_tuning_job(self, config, wait_for_completion=True,<EOL>check_interval=<NUM_LIT:30>, max_ingestion_time=None):
self.check_tuning_config(config)<EOL>response = self.get_conn().create_hyper_parameter_tuning_job(**config)<EOL>if wait_for_completion:<EOL><INDENT>self.check_status(config['<STR_LIT>'],<EOL>'<STR_LIT>',<EOL>self.describe_tuning_job,<EOL>check_interval, max_ingestion_time<EOL>)<EOL><DEDENT>return response<EOL>
Create a tuning job

:param config: the config for tuning
:type config: dict
:param wait_for_completion: if the program should keep running until job finishes
:type wait_for_completion: bool
:param check_interval: the time interval in seconds which the operator
    will check the status of any SageMaker job
:type check_interval: int
:param max_ingestion_time: the maximum ingestion time in seconds. Any
    SageMaker jobs that run longer than this will fail. Setting this to
    None implies no timeout for any SageMaker job.
:type max_ingestion_time: int
:return: A response to tuning job creation