---
- name: Check if bootstrap is needed
  raw: which "{{ item }}"
  register: need_bootstrap
  failed_when: false
  changed_when: false
  # This command should always run, even in check mode
  check_mode: false
  with_items:
    - python
    - pip
    - dbus-daemon
  environment: {}
  tags: facts

- name: Check http::proxy in /etc/apt/apt.conf
  raw: grep -qsi 'Acquire::http::proxy' /etc/apt/apt.conf
  register: need_http_proxy
  failed_when: false
  changed_when: false
  # This command should always run, even in check mode
  check_mode: false
  environment: {}
  when:
    - http_proxy is defined

- name: Add http_proxy to /etc/apt/apt.conf if http_proxy is defined
  raw: echo 'Acquire::http::proxy "{{ http_proxy }}";' >> /etc/apt/apt.conf
  become: true
  environment: {}
  when:
    - http_proxy is defined
    - need_http_proxy.rc != 0

- name: Check https::proxy in /etc/apt/apt.conf
  raw: grep -qsi 'Acquire::https::proxy' /etc/apt/apt.conf
  register: need_https_proxy
  failed_when: false
  changed_when: false
  # This command should always run, even in check mode
  check_mode: false
  environment: {}
  when:
    - https_proxy is defined

- name: Add https_proxy to /etc/apt/apt.conf if https_proxy is defined
  raw: echo 'Acquire::https::proxy "{{ https_proxy }}";' >> /etc/apt/apt.conf
  become: true
  environment: {}
  when:
    - https_proxy is defined
    - need_https_proxy.rc != 0

- name: Install python, pip, and dbus
  raw:
    apt-get update && \
    DEBIAN_FRONTEND=noninteractive apt-get install -y python-minimal python-pip dbus
  become: true
  environment: {}
  when:
    need_bootstrap.results | map(attribute='rc') | sort | last | bool

- set_fact:
    ansible_python_interpreter: "/usr/bin/python"
  tags: facts