# - become: yes # name: Check if elasticsearch PGP key is installed # command: apt-key export 46095ACC8548582C1A2699A9D27D666CD88E42B4 # register: elasticsearch_pgp_key # failed_when: no # changed_when: no # # - set_fact: # pgp_missing: "{{ 'nothing exported' in elasticsearch_pgp_key.stderr }}" # # - name: Download ES PGP key # become: yes # get_url: # url: https://artifacts.elastic.co/GPG-KEY-elasticsearch # dest: /tmp/es.pgp # when: pgp_missing # # - name: Install ES key # become: yes # command: apt-key add /tmp/es.pgp # when: pgp_missing # notify: apt update # # - name: rm /tmp/es.pgp # become: yes # file: # path: /tmp/es.pgp # state: absent # when: pgp_missing - name: "apt-key add {{ item.key }} (key url)" apt_key: id: "{{ item.value.key_id }}" url: "{{ item.value.key_url }}" state: "{{ state }}" when: item.value.key_url is defined and item.value.key_id is defined notify: apt update - 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 - 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 - name: "remove repo {{ item.key }}" when: state == "absent" file: path: "/etc/apt/sources.list.d/{{ item.key }}.list" state: absent notify: apt update