---
- name: Are Munin plugins present in /etc ?
  stat:
    path: /etc/munin/plugins
  register: etc_munin_plugins

- name: Are Munin plugins present in /usr/share ?
  stat:
    path: /usr/share/munin/plugins
  register: usr_share_munin_plugins

- name: Add Munin plugins for PostgreSQL
  file:
    state: link
    src: '/usr/share/munin/plugins/{{item}}'
    dest: '/etc/munin/plugins/{{item}}'
  loop:
    - postgres_bgwriter
    - postgres_checkpoints
    - postgres_connections_db
    - postgres_users
    - postgres_xlog
  notify: restart munin-node
  when: etc_munin_plugins.stat.exists and usr_share_munin_plugins.stat.exists

- name: Add Munin plugins for PostgreSQL (for specific databases)
  file:
    state: link
    src: '/usr/share/munin/plugins/{{item[0]}}'
    dest: '/etc/munin/plugins/{{item[0]}}{{item[1]}}'
  loop: "{{ _plugins | product(_databases) | list }}"
  vars:
    _plugins: ['postgres_cache_', 'postgres_connections_', 'postgres_locks_', 'postgres_querylength_', 'postgres_scans_', 'postgres_size_', 'postgres_transactions_', 'postgres_tuples_']
    _databases: postgresql_databases
  notify: restart munin-node
  when: etc_munin_plugins.stat.exists and usr_share_munin_plugins.stat.exists
