1--- 2 3- name: check if gvm is installed 4 stat: 5 path: '{{ gvm_unix_path }}' 6 changed_when: false 7 register: gvm_is_present 8 9- name: install gvm if absent 10 get_url: 11 url: "https://github.com/andrewkroh/gvm/releases/download/v{{ gvm_version }}/gvm-{{ gvm_arch }}" 12 dest: '{{ gvm_unix_path }}' 13 mode: '0555' 14 owner: root 15 group: 0 16 when: gvm_is_present.stat.exists == False 17 18##### BLOCK START 19- block: 20 # gvm reports the version in stderr, redirect to stdout for future safety 21 - name: get gvm version if present 22 shell: '{{ gvm_unix_path }} --version 2>&1' 23 register: gvm_current_version 24 changed_when: false 25 26 - name: upgrade gvm to the specified version 27 get_url: 28 url: "https://github.com/andrewkroh/gvm/releases/download/v{{ gvm_version }}/gvm-{{ gvm_arch }}" 29 dest: '{{ gvm_unix_path }}' 30 mode: '0555' 31 owner: root 32 group: 0 33 force: True 34 when: > 35 gvm_current_version.stdout | default('') | replace('v','') | version_compare(gvm_version, '<') 36 when: gvm_is_present.stat.exists == True 37##### BLOCK END 38