Querying ARA from inside playbooks¶
ara_api¶
ARA comes with a built-in Ansible lookup plugin called ara_api
that can be
made available by configuring Ansible with the
ANSIBLE_LOOKUP_PLUGINS
environment variable or the lookup_plugins
setting in an ansible.cfg
file.
There is no other configuration required for this lookup plugin to work since it retrieves necessary settings (such as API server endpoint and authentication) from the callback plugin.
The ara_api
lookup plugin can be used to do free-form queries to the
ARA API while the playbook is running:
- name: Test playbook
hosts: localhost
tasks:
- name: Get list of playbooks
set_fact:
playbooks: "{{ lookup('ara_api', '/api/v1/playbooks') }}"
ara_playbook¶
The ara_playbook
Ansible action plugin can be enabled by
configuring Ansible with the
ANSIBLE_ACTION_PLUGINS
environment variable or the action_plugins
setting in an ansible.cfg
file.
There is no other configuration required for this action plugin to work since it retrieves necessary settings (such as API server endpoint and authentication) from the callback plugin.
The ara_playbook
action plugin can be used in combination with ara_api
to query the API about the current playbook:
- name: Test playbook
hosts: localhost
tasks:
- name: Get the currently running playbook
ara_playbook:
register: playbook_query
- name: Get failed tasks for the currently running playbook
vars:
playbook_id: "{{ playbook_query.playbook.id | string }}"
set_fact:
tasks: "{{ lookup('ara_api', '/api/v1/tasks?status=failed&playbook=' + playbook_id) }}"