Если вам просто нужно запустить что-то на локальном хосте .. вы можете сделать это с помощью указанных c задач:
попробуйте local_action .. например:
- name: copy file
local_action:
module: copy
src: stfile
dest: /path/to/testfile
или вы можно использовать делегат_то:
- name: copy a file
delegate_to: localhost
copy:
src: testfile
dest: /path/to/testfile
Редактировать: ОК, кажется, я неправильно понял ваш вопрос. Похоже, ваш вопрос заключается в том, что вы запускаете playbook с двух разных хостов, один работает, а другой не работает, и поэтому вам нужен лог c, который будет выбирать разные переменные для вас в зависимости от хоста?
Вы можете включить logi c в задачи, используя условные выражения, например, так:
- name: get ansible hostname
local_action:
module: shell
cmd: hostname
register: hostname_output
- shell: echo '{{variablefornonjumpbox}}'
when: hostname_output.stdout.find('jumpbox') != -1"
Если вам нужно изменить цель S SH и детали, основанные на имени хоста, Вы можете использовать специальные переменные, такие как те, что находятся внизу этой страницы: https://docs.ansible.com/ansible/latest/reference_appendices/special_variables.html
Надеюсь, это поможет. Если нет, мне понадобятся некоторые пояснения относительно переменных, которые вы используете, и ошибки, которые вы видите.