---
- set_fact:
    has_bastion: "{{ 'bastion' in groups['all'] }}"

- set_fact:
    bastion_ip: "{{ hostvars['bastion']['ansible_ssh_host'] }}"
  when: has_bastion

# As we are actually running on localhost, the ansible_ssh_user is your local user when you try to use it directly
# To figure out the real ssh user, we delegate this task to the bastion and store the ansible_ssh_user in real_user
- set_fact:
    real_user: "{{ ansible_ssh_user }}"
  delegate_to: bastion
  when: has_bastion

- name: create ssh bastion conf
  become: false
  template:
    src: ssh-bastion.conf
    dest: "{{ playbook_dir }}/ssh-bastion.conf"