name: copy public keys to users- for other environments
authorized_key: user={{ item.username }}
key="{{ lookup('file', '../files/{{ item.username }}.pub') }}"
path='/home/{{ item.username }}/.ssh/authorized_keys'
manage_dir=no
with_items:
- { username: 'xxxxxxxx' }
- { username: 'xxxxxxxx' }
- { username: 'xxxxxxxx' }
Получение следующей ошибки при запуске приведенного выше кода.
fatal: [xxxxxx.xxxx.com] => Failed to template user={{ item.username }}
key="{{ lookup('file', '../files/{{ item.username }}.pub') }}": could not
locate file in lookup: ../files/{{ item.username }}.pub
Не используйте вложенные выражения Jinja2. Просто используйте имя переменной как есть:
{{ lookup('file', '../files/'+item.username+'.pub') }}