**Description**

This operator should cancel running workflow template `on_kill`. This option probably should be configurable because of request_id prameter in a job definition: https://googleapis.dev/python/dataproc/latest/gapic/v1/api.html#google.cloud.dataproc_v1.WorkflowTemplateServiceClient.instantiate_inline_workflow_template
https://googleapis.dev/python/dataproc/latest/gapic/v1/api.html#google.cloud.dataproc_v1.WorkflowTemplateServiceClient.instantiate_workflow_template

Note this will have to cancle the Google Long Running Operation for the workflow template (which will in turn cancel all children jobs and clean up relevant cluster).

**Use case / motivation**

Remove dangling workflow templates

**Related Issues**
#10381
#6371
mock_uuid.return_value = TEST_JOB_ID
        mock_hook.return_value.project_id = GCP_PROJECT
        mock_uuid.return_value = TEST_JOB_ID
        mock_hook.return_value.submit_job.return_value.reference.job_id = TEST_JOB_ID
        self.extra_links_manager_mock.attach_mock(mock_hook, "hook")
        op = DataprocSubmitSparkJobOperator(
            job_name=self.job_name,
            task_id=TASK_ID,
            region=GCP_REGION,
            gcp_conn_id=GCP_CONN_ID,
            main_class=self.main_class,
            dataproc_jars=self.jars,
        )
        job = op.generate_job()
        assert self.job == job
        op.execute(context=self.mock_context)
        self.mock_ti.xcom_push.assert_called_once_with(
            key="conf", value=DATAPROC_JOB_CONF_EXPECTED, execution_date=None
        )
        
        self.extra_links_manager_mock.assert_has_calls(self.extra_links_expected_calls, any_order=False)
@pytest.mark.need_serialized_dag
@mock.patch(DATAPROC_PATH.format("DataprocHook"))
def test_submit_spark_job_operator_extra_links(mock_hook, dag_maker, create_task_instance_of_operator):
    mock_hook.return_value.project_id = GCP_PROJECT