def build(self) -> Dict[str, Union[str, DAG]]:
dag_params: Dict[str, Any] = self.get_dag_params()<EOL>dag: DAG = DAG(<EOL>dag_id=dag_params["<STR_LIT>"],<EOL>schedule_interval=dag_params["<STR_LIT>"],<EOL>description=dag_params.get("<STR_LIT:description>", "<STR_LIT>"),<EOL>max_active_runs=dag_params.get(<EOL>"<STR_LIT>",<EOL>configuration.conf.getint("<STR_LIT>", "<STR_LIT>"),<EOL>),<EOL>default_args=dag_params.get("<STR_LIT>", {}),<EOL>)<EOL>tasks: Dict[str, Dict[str, Any]] = dag_params["<STR_LIT>"]<EOL>tasks_dict: Dict[str, BaseOperator] = {}<EOL>for task_name, task_conf in tasks.items():<EOL><INDENT>task_conf["<STR_LIT>"]: str = task_name<EOL>operator: str = task_conf["<STR_LIT>"]<EOL>task_conf["<STR_LIT>"]: DAG = dag<EOL>params: Dict[str, Any] = {k: v for k, v in task_conf.items() if k not in SYSTEM_PARAMS}<EOL>task: BaseOperator = DagBuilder.make_task(operator=operator, task_params=params)<EOL>tasks_dict[task.task_id]: BaseOperator = task<EOL><DEDENT>for task_name, task_conf in tasks.items():<EOL><INDENT>if task_conf.get("<STR_LIT>"):<EOL><INDENT>source_task: BaseOperator = tasks_dict[task_name]<EOL>for dep in task_conf["<STR_LIT>"]:<EOL><INDENT>dep_task: BaseOperator = tasks_dict[dep]<EOL>source_task.set_upstream(dep_task)<EOL><DEDENT><DEDENT><DEDENT>return {"<STR_LIT>": dag_params["<STR_LIT>"], "<STR_LIT>": dag}<EOL>
Generates a DAG from the DAG parameters.

:returns: dict with dag_id and DAG object
:type: Dict[str, Union[str, DAG]]