return list(self.task_dict.values())
    @tasks.setter
    def tasks(self, val):
        raise AttributeError("DAG.tasks can not be modified. Use dag.add_task() instead.")
    @property
    def task_ids(self) -> list[str]:
        return list(self.task_dict.keys())
    @property
    def teardowns(self) -> list[Operator]:
        return [task for task in self.tasks if getattr(task, "is_teardown", None)]
    @property
    def tasks_upstream_of_teardowns(self) -> list[Operator]:
        upstream_tasks = [t.upstream_list for t in self.teardowns]
        return [val for sublist in upstream_tasks for val in sublist if not getattr(val, "is_teardown", None)]
    @property
    def task_group(self) -> TaskGroup:
        return self._task_group
    @property
    def filepath(self) -> str:
        """Relative file path to the DAG.
        :meta private:
        """
        warnings.warn(
            "filepath is deprecated, use relative_fileloc instead",
            RemovedInAirflow3Warning,
            stacklevel=2,
        )
        return str(self.relative_fileloc)
    @property
    def relative_fileloc(self) -> pathlib.Path: