1
0
Fork 0
ansible_role_prometheus_pin.../tasks/set_version.yml
2022-11-21 16:57:07 +01:00

38 lines
1.5 KiB
YAML

---
- name: "Determine 'latest' version release"
when: ping_exporter__version == "latest"
block:
- name: "Get latest ping_exporter release metadata"
ansible.builtin.uri:
url: "{{ ping_exporter__repo_api }}"
return_content: true
register: ping_exporter_remote_metadata
when: not ansible_check_mode
- name: "Fail if running in check mode without versions set."
ansible.builtin.fail:
msg: |
"You are running this playbook in check mode:
Please set the Ping Exporter version with the variable 'ping_exporter__version', because the
URI module cannot detect the latest version in this mode."
when: ansible_check_mode and (ping_exporter__version == 'latest' or ping_exporter__version == 'present')
- name: "Set fact latest ping_exporter release"
ansible.builtin.set_fact:
ping_exporter_remote_version: "{{ ping_exporter_remote_metadata.json.tag_name }}"
when: not ansible_check_mode
- name: "Set ping_exporter version target (latest)"
ansible.builtin.set_fact:
ping_exporter_version_target: "{{ ping_exporter_remote_version }}"
when: not ansible_check_mode
- name: "Set ping_exporter version target {{ ping_exporter__version }}"
ansible.builtin.set_fact:
ping_exporter_version_target: "{{ ping_exporter__version }}"
when: ping_exporter__version != "latest"
- name: Print Ping Exporter Version
ansible.builtin.debug:
verbosity: 1
msg: "Set Ping Exporter Version to {{ ping_exporter_version_target }}"