### Apache Airflow version

main (development)

### What happened

For DataprocInstantiateInlineWorkflowTemplateOperator and DataprocInstantiateWorkflowTemplateOperator, the dataproc link is available only for the jobs that have succeeded. Incase of Failure, the DataprocLink is not available

### What you think should happen instead

Like other dataproc operators, this should be available for workflow operators as well

### How to reproduce

_No response_

### Operating System

MacOS Monterey

### Versions of Apache Airflow Providers

apache-airflow-providers-google==6.5.0

### Deployment

Astronomer

### Deployment details

_No response_

### Anything else

_No response_

### Are you willing to submit PR?

- [X] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

raise AirflowException("Batch Id should be set here")
            result = hook.get_batch(
                batch_id=self.batch_id,
                region=self.region,
                project_id=self.project_id,
                retry=self.retry,
                timeout=self.timeout,
                metadata=self.metadata,
            )
            
            if result.state != Batch.State.SUCCEEDED:
                if result.state == Batch.State.FAILED or result.state == Batch.State.CANCELLED:
                    raise AirflowException(
                        f"Existing Batch {self.batch_id} failed or cancelled. "
                        f"Error: {result.state_message}"
                    )
                else:
                    
                    self.log.info(
                        f"Batch {self.batch_id} is in state {result.state.name}."
                        "Waiting for state change..."
                    )
                    result = hook.wait_for_operation(timeout=self.timeout, operation=result)
        batch_id = self.batch_id or result.name.split("/")[-1]
        DataprocLink.persist(context=context, task_instance=self, url=DATAPROC_BATCH_LINK, resource=batch_id)
        return Batch.to_dict(result)
    def on_kill(self):
        if self.operation:
            self.operation.cancel()
class DataprocDeleteBatchOperator(BaseOperator):