я пытаюсь использовать ansible для динамической установки нескольких параметров в ssh_config, данные берутся из вывода переменной var, но проблема в том, что когда я использую переменную, она приходит в файл со всеми ansible вывод.
Что у меня есть.
- name: Get f_ips
register: f_ip
debug:
msg: "{{ var.var.outputs | json_query(\"[?output_key=='f_ips'].output_value\") }}"
- name: put the f_ip on ssh_config
replace:
path: /tmp/ssh_config
regexp: 'ProxyCommand ssh -W %h:%p CHANGEME'
replace: 'ProxyCommand ssh -W %h:%p "{{ f_ip }}"'
Это работает как положено, он регистрирует IP-адрес из виртуальной машины, но когда я делаю замену, он идет в файл, как этот.
Jumpbox .
Host 10.xx.xxx.*
ProxyCommand ssh -W %h:%p "{'msg': [['11.11.11.11']], 'failed': False, 'changed': False}
IdentityFile ~/.ssh/2.pem
Host CHANGEME
Hostname CHANGEME
User root
IdentityFile ~/.ssh/id_rsa
ControlMaster auto
ControlPath ~/.ssh/ansible-%r@%h:%p
ControlPersist 5m
Таким образом, вместо того, чтобы поместить только ip, он помещает всю строку вывода ansible, чтобы уточнить, вот как я вижу переменную на первом месте при выполнении ansible.
"msg": [
[
"11.11.11.11"
]
]
}
Итак, есть ли способ зарегистрировать ip этого выхода при отправке его в мой файл?
Заранее спасибо!.