i managed to come up with this, but seems like it could be cleaner
---
- name: copy pam etc/security/access.conf file
vars:
findme: |
{%- set findme = [] -%}
{%- for groupn in group_names -%}
{{- findme.append('files/' + item.src + '_AG' + groupn) -}}
{%- endfor -%}
{{- findme.append("files/"+item.src+"_AH"+ansible_hostname) -}}
{{- findme.append("files/"+item.src) -}}
{{- findme | list -}}
# debug:
# msg: "{{ lookup('ansible.builtin.first_found', findme) }}"
ansible.builtin.copy:
src: "{{ lookup('ansible.builtin.first_found', findme) }}"
dest: "/{{item.src}}"
owner: "{{item.owner}}"
group: "{{item.group}}"
mode: "{{item.mode}}"
with_items:
- { src: "etc/security/access.conf", owner: "root", group: "root",
mode: "0644" }