# Keys needs to be refreshed sometimes, so always import them
#- name: Check if PGP key is installed ({{ item.key }})
#  command: "apt-key export {{ item.value.key_id }}"
#  register: pgp_key
#  failed_when: no
#  changed_when: no
#
#- set_fact:
#    key_missing: "{{ 'nothing exported' in pgp_key.stderr }}"

- name: "apt-key add {{ item.key }} (url)"
  become: yes
  apt_key:
    id: "{{ item.value.key_id }}"
    url: "{{ item.value.key_url }}"
    state: "{{ state }}"
  when: item.value.key_url is defined
  failed_when: no

- name: "apt-key add {{ item.key }} (keyserver)"
  apt_key:
    id: "{{ item.value.key_id }}"
    keyserver: "{{ item.value.keyserver }}"
    state: "{{ state }}"
  when: item.value.keyserver is defined and item.value.key_id is defined
  notify: apt update
  failed_when: no

- name: "add repo {{ item.key }}"
  when: item.value.url is defined and state == "present"
  vars:
    filename: "{{ item.filename | default(item.key) }}"
  copy:
    dest: "/etc/apt/sources.list.d/{{ item.key }}.list"
    content: |
      deb {{ item.value.url }} {{ item.value.distro }} {{ item.value.sections }}
  notify: apt update
  failed_when: no

- name: "remove repo {{ item.key }}"
  when: state == "absent"
  file:
    path: "/etc/apt/sources.list.d/{{ item.key }}.list"
    state: absent
  notify: apt update