Как в ansible получить путь к файлу текущего плейбука?

Как в ansible получить путь к файлу текущего плейбука?

Допустим, я запускаю плейбук такой командой:

ansible-playbook example-playbook.yml

При этом текущая директория это /home/user.

Как внутри плейбука получить путь к файлу этого плейбука, т.е. /home/user/example-playbook.yml?

В официальной документации не нашел решения.


Ответы (1 шт):

Автор решения: don Rumata

Есть пачка специальных переменных, которая содержит подобную инфу. Называется "Special Variables", гуглится по ansible magic vars. Конкретно тебе нужна переменная playbook_dir:

- name: Get dir location
  debug:
    msg: "{{ playbook_dir }}"

С именем плейбука сложнее, возможно надо будет шаманить с basename.

→ Ссылка