I’m trying to filter a specific string ending in cmctl_linux_arm64
, from the checksums.txt file, see sample:
<code>ff5e6efc85421bc46975ee60cf71bec1de3f983f27a3ba8e56a0953e8c9b8a07 cmctl_linux_arm64
bb5b8db1da6b4f7f046ebbf0aced0623e1b93990c474beb525296e72076b9421 cmctl_linux_arm64.spdx.sbom
6f903b8554f7e608ba3d156878f3720480b5dd693400e0354f2c88b94e4b9de0 cmctl_linux_arm64.tar.gz
</code>
<code>ff5e6efc85421bc46975ee60cf71bec1de3f983f27a3ba8e56a0953e8c9b8a07 cmctl_linux_arm64
bb5b8db1da6b4f7f046ebbf0aced0623e1b93990c474beb525296e72076b9421 cmctl_linux_arm64.spdx.sbom
6f903b8554f7e608ba3d156878f3720480b5dd693400e0354f2c88b94e4b9de0 cmctl_linux_arm64.tar.gz
</code>
ff5e6efc85421bc46975ee60cf71bec1de3f983f27a3ba8e56a0953e8c9b8a07 cmctl_linux_arm64
bb5b8db1da6b4f7f046ebbf0aced0623e1b93990c474beb525296e72076b9421 cmctl_linux_arm64.spdx.sbom
6f903b8554f7e608ba3d156878f3720480b5dd693400e0354f2c88b94e4b9de0 cmctl_linux_arm64.tar.gz
Considering the following tasks:
<code> - name: Set file fact
ansible.builtin.set_fact:
release_file: cmctl_linux_arm64
run_once: true
- name: Set checksums fact
ansible.builtin.uri:
url: https://github.com/cert-manager/cmctl/releases/download/v2.1.0/checksums.txt
return_content: true
register: checksums
run_once: true
- name: Set sha256 checksum fact
ansible.builtin.set_fact:
sha256_checksum: "{{ item.split(' ')[0] }}"
loop: "{{ checksums.content.split('n') }}"
when: release_file in item
run_once: true
</code>
<code> - name: Set file fact
ansible.builtin.set_fact:
release_file: cmctl_linux_arm64
run_once: true
- name: Set checksums fact
ansible.builtin.uri:
url: https://github.com/cert-manager/cmctl/releases/download/v2.1.0/checksums.txt
return_content: true
register: checksums
run_once: true
- name: Set sha256 checksum fact
ansible.builtin.set_fact:
sha256_checksum: "{{ item.split(' ')[0] }}"
loop: "{{ checksums.content.split('n') }}"
when: release_file in item
run_once: true
</code>
- name: Set file fact
ansible.builtin.set_fact:
release_file: cmctl_linux_arm64
run_once: true
- name: Set checksums fact
ansible.builtin.uri:
url: https://github.com/cert-manager/cmctl/releases/download/v2.1.0/checksums.txt
return_content: true
register: checksums
run_once: true
- name: Set sha256 checksum fact
ansible.builtin.set_fact:
sha256_checksum: "{{ item.split(' ')[0] }}"
loop: "{{ checksums.content.split('n') }}"
when: release_file in item
run_once: true
I’m not sure how to use the Ansible Regex search, in order to define the end of fact variable release_file
and skip the additional 2 file checksums present.
I tried, without success:
<code>when: regex_search(release_file + '$') in item
</code>
<code>when: regex_search(release_file + '$') in item
</code>
when: regex_search(release_file + '$') in item