Я хочу запустить Ansible Playbook с помощью запроса POST.
Например, я хочу, чтобы Ansible прослушивал какой-то порт, чтобы он мог перехватывать запрос POST, анализировать JSON и вводить значения в переменные с тем же именем ключа.
Пока куда бы я ни посмотрел, я вижу, что Ansible может использовать REST API, но не выступать в качестве конечной точки.
Это возможно? Если нет, мы будем очень благодарны за любые альтернативные предложения.
Я хочу, чтобы Ansible прослушивал какой-то порт, чтобы он мог перехватывать запрос POST
Вы не можете заставить Ansible прослушивать порт (но «перехватывать»), потому что Ansible (называемый ansible
так же как ansible-playbook
) - это просто исполняемый пользователем скрипт Python.
Напишите компонент службы, прослушивающий назначенный порт, и выполните команду ansible-playbook
команда от него.
проанализируйте JSON и вставьте значения в переменные с тем же именем ключа.
Вы можете передать объект JSON как переменную (словарь) непосредственно в ansible-playbook
как аргумент команды.