Я пытаюсь запустить задачу, выполняющую модуль known_hosts
со списком ключевых записей. Проблема в том, что я продолжаю получать следующую ошибку, хотя переменная имеет данные при использовании debug
.
The task includes an option with an undefined variable. The error was: 'item' is undefined
У меня есть следующая задача, которая регистрирует переменную вывода s sh -keyscan
- name: keyscan platform hosts
shell: "ssh-keyscan ssh.{{ item }}"
register: "platform_ssh_host_keys"
loop:
- "one.example.com"
- "two.example.com"
Когда я запускаю следующую отладку, я получаю стандартный вывод, содержащий ключ
- name: debug
debug:
var: item.stdout
with_items: "{{platform_ssh_host_keys.results}}"
Но как только я запускаю его с known_hosts
, он говорит, что item
is undefined.
- name: configure known_hosts
known_hosts:
path: "~/.ssh/known_hosts"
name: "ssh.{{ item.item }}"
key: "{{ item.stdout }}"
state: present
loop: "{{ platform_ssh_host_keys.results }}"
Я не понимаю, как item
можно определить в debug
, но не known_hosts
задачу.