**Description**

Expose the connection into the jinja template context via `conn.value.<connectionname>.{host,port,login,password,extra_config,etc}`

Today is possible to conveniently access [airflow's variables](https://airflow.apache.org/docs/apache-airflow/stable/concepts.html#variables) in jinja templates using `{{ var.value.<variable_name> }}`. 

There is no equivalent (to my knowledge for [connections](https://airflow.apache.org/docs/apache-airflow/stable/concepts.html#connections)), I understand that most of the time connection are used programmatically in Operators and Hooks source code, but there are use cases where the connection info has to be pass as parameters to the operators and then it becomes cumbersome to do it without jinja template syntax.

I seen workarounds like using [user defined macros to provide get_login(my_conn_id)](https://stackoverflow.com/questions/65826404/use-airflow-connection-from-a-jinja-template/65873023#65873023
), but I'm after a consistent interface for accessing both variables and connections in the same way


**Workaround**
The following `user_defined_macro` (from my [stackoverflow answer](https://stackoverflow.com/a/66471911/90580)) provides the suggested syntax `connection.mssql.host` where `mssql` is the connection name: 

```
   class ConnectionGrabber:
       def __getattr__(self, name):
           return  Connection.get_connection_from_secrets(name)
dag = DAG( user_defined_macros={'connection': ConnectionGrabber()}, ...)
 task = BashOperator(task_id='read_connection', bash_command='echo {{connection.mssql.host }}', dag=dag)
```

This macro can be added to each DAG individually or to all DAGs via an Airflow's Plugin. What I suggest is to make this macro part of the default. 

**Use case / motivation**

For example, passing credentials to a [KubernetesPodOperator](https://airflow.apache.org/docs/apache-airflow-providers-cncf-kubernetes/stable/operators.html#howto-operator-kubernetespodoperator) via [env_vars](https://cloud.google.com/composer/docs/how-to/using/using-kubernetes-pod-operator) today has to be done like this: 

```
connection = Connection.get_connection_from_secrets('somecredentials')
k = KubernetesPodOperator(
  task_id='task1', 
  env_vars={'MY_VALUE': '{{ var.value.my_value }}', 'PWD': conn.password,},
  )
```
where I would prefer to use consistent syntax for both variables and connections like this: 
```
# not needed anymore: connection = Connection.get_connection_from_secrets('somecredentials')
k = KubernetesPodOperator(
  task_id='task1', 
  env_vars={'MY_VALUE': '{{ var.value.my_value }}', 'PWD':  '{{ conn.somecredentials.password }}',},
  )
```

The same applies to `BashOperator` where I sometimes feel the need to pass connection information to the templated script.

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

yes, I can write the PR.

**Related Issues**


airflow/models/taskinstance.py
self.unixname = ti.unixname
            self.job_id = ti.job_id
            self.pool = ti.pool
            self.pool_slots = ti.pool_slots or 1
            self.queue = ti.queue
            self.priority_weight = ti.priority_weight
            self.operator = ti.operator
            self.queued_dttm = ti.queued_dttm
            self.pid = ti.pid
        else:
            self.state = None
        self.log.debug("Refreshed TaskInstance %s", self)
    def refresh_from_task(self, task, pool_override=None):
        """
        Copy common attributes from the given task.
        :param task: The task object to copy from
        :type task: airflow.models.BaseOperator
        :param pool_override: Use the pool_override instead of task's pool
        :type pool_override: str
        """
        self.queue = task.queue
        self.pool = pool_override or task.pool
        self.pool_slots = task.pool_slots
        self.priority_weight = task.priority_weight_total
        self.run_as_user = task.run_as_user
        self.max_tries = task.retries
        self.executor_config = task.executor_config
        self.operator = task.task_type
    @provide_session
    def clear_xcom_data(self, session=None):