Supply Chain

Query Ansible Playbooks

Query Ansible playbooks with cnquery

Rely on cnquery to query and analyze Ansible playbooks. Explore tasks, roles, handlers, and variables within your infrastructure-as-code configurations.

Requirements

To analyze Ansible playbooks with cnquery, you must have:

Query an Ansible playbook

To open a cnquery shell and query an Ansible playbook:

cnquery shell ansible PATH
For...Substitute...
PATHThe path to the Ansible playbook or directory

For example:

cnquery shell ansible ./playbooks/site.yml

Or to scan a directory containing playbooks:

cnquery shell ansible ./playbooks/

Example queries

Once connected, you can query Ansible playbook resources.

This query retrieves all plays in the playbook:

cnquery> ansible.plays
ansible.plays: [
  0: ansible.play name="Configure web servers"
  1: ansible.play name="Configure database servers"
  ...
]

This query retrieves information about a specific play:

cnquery> ansible.play
ansible.play: {
  name: "Configure web servers"
  hosts: "webservers"
  ...
}

This query retrieves task information:

cnquery> ansible.task
ansible.task: {
  name: "Install nginx"
  ...
}

This query retrieves handler information:

cnquery> ansible.handler
ansible.handler: {
  name: "restart nginx"
  ...
}

Exit the cnquery shell

To exit the cnquery shell, either press Ctrl + D or type exit.

Learn more

On this page