def generate_autopilot_config()

in code/workflow/implementations/autopilot/bp_automl_stage.py [0:0]


    def generate_autopilot_config(cls, event, engine="sagemaker-autopilot") :
    
        try :
            data_config = event["config"]["Payload"]["data-config"]
            security_config = event["config"]["Payload"]["security-config"]
            automl_config = event["config"]["Payload"]["automl-config"]
            ws_config = event["config"]["Payload"]["workspace-config"]
                
            ws_bucket = ws_config["s3_bucket"]
            ws_prefix = ws_config["s3_prefix"]
            
            iam_role = security_config["iam_role"]
            job_name = automl_config["job_name"]
            max_candidates = automl_config["max_candidates"]
            target_name = automl_config["target_name"]
            problem_type = automl_config["problem_type"]
            metric_name = automl_config["metric_name"]
         
            if "automl_max_job_runtime" in automl_config :
                timeout = 600 + automl_config["automl_max_job_runtime"]
            else :
                #limit to 24 hours
                timeout = 86400 
        
            data_uri = event["taskresult"]["ProcessingOutputConfig"]["Outputs"][0]["S3Output"]["S3Uri"]
            config = {
                        "JobName" : job_name,
                        "JobProperties" : cls.get_job_config(max_candidates),
                        "Input" : cls.get_input_config(data_uri, target_name),
                        "Problem" : problem_type,
                        "Objective": cls.get_automl_objective(metric_name),
                        "Output" : cls.get_output_config(f"s3://{ws_bucket}/{ws_prefix}/candidates"),
                        "IamRole" : iam_role,
                        "Region" : os.environ.get('AWS_REGION'),
                        "Timeout" : timeout,
                        "Engine" : engine
                }
        except (KeyError) as e:
            raise type(e)(f"{type(e)}: Event was {event}.")
        
        return config