**Description**

It would be great having a option to abort a DAG Runs through the REST API.

**Use case / motivation**

The proposed input params would be:
 - DAG_ID
 - DAG_RUN_ID

The DAG Run should abort all its tasks running and mark them as "failed".

**Are you willing to submit a PR?**

**Related Issues**


tests/api_connexion/endpoints/test_dag_run_endpoint.py
'execution_date': self.default_time,
                    'logical_date': self.default_time,
                    'external_trigger': True,
                    'start_date': self.default_time,
                    'conf': {},
                },
            ],
            "total_entries": 2,
        }
    def test_should_return_all_with_tilde_as_dag_id_and_all_dag_permissions(self):
        self._create_test_dag_run(extra_dag=True)
        expected_dag_run_ids = ['TEST_DAG_ID', 'TEST_DAG_ID', "TEST_DAG_ID_3", "TEST_DAG_ID_4"]
        response = self.client.get("api/v1/dags/~/dagRuns", environ_overrides={'REMOTE_USER': "test"})
        assert response.status_code == 200
        dag_run_ids = [dag_run["dag_id"] for dag_run in response.json["dag_runs"]]
        assert dag_run_ids == expected_dag_run_ids
    def test_should_return_accessible_with_tilde_as_dag_id_and_dag_level_permissions(self):
        self._create_test_dag_run(extra_dag=True)
        expected_dag_run_ids = ['TEST_DAG_ID', 'TEST_DAG_ID']
        response = self.client.get(
            "api/v1/dags/~/dagRuns", environ_overrides={'REMOTE_USER': "test_granular_permissions"}
        )
        assert response.status_code == 200
        dag_run_ids = [dag_run["dag_id"] for dag_run in response.json["dag_runs"]]
        assert dag_run_ids == expected_dag_run_ids
    def test_should_raises_401_unauthenticated(self):
        self._create_test_dag_run()
        response = self.client.get("api/v1/dags/TEST_DAG_ID/dagRuns")
        assert_401(response)
class TestGetDagRunsPagination(TestDagRunEndpoint):