У меня есть простая загружаемая игра Ansible, в которой используется необработанный модуль для отображения установленных пакетов choco на моих клиентах Windows. Это выглядит следующим образом:Ansible: Как получить зарегистрированную переменную в скрипт python
- name: Get info
hosts: win_clones
tasks:
- name: Get packages list installed on clients ...
raw: choco list -lo
register: result0
- debug: msg="{{result0}}"
Поскольку я бегу этот сборник пьес из питона сценария, я хотел бы получить содержание зарегистрированной переменной в переменную питона, который я могу использовать в моем сценарии. Обычно зарегистрированная переменная печатается на экране как формат JSON. Я хотел бы получить имя клиента и содержимое stdout_lines. Вот результат моего сборника пьес:
ok: [cl1] => {
"msg": {
"changed": false,
"rc": 0,
"stderr": "",
"stdout": "chocolatey 0.9.9.11\r\nnotepadplusplus 6.9\r\nnotepadplusplus.install 6.9\r\n3 packages installed.\r\n",
"stdout_lines": [
"chocolatey 0.9.9.11",
"notepadplusplus 6.9",
"notepadplusplus.install 6.9",
"3 packages installed."
]
}
}
Возможно ли это? Как мне продолжить? спасибо
Я бегу анзибль 2.1.0.0, этот рабочий также для этой версии? спасибо – diegus
Этот конкретный пример может не сработать, но есть также [этот пример json] (https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/callback/json.py) и целый куча других [примеров] (https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/callback/). – Jieter