community.general.chef_databag lookup – fetches data from a Chef Databag


This lookup plugin is part of the community.general collection (version 8.5.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install community.general. You need further requirements to be able to use this lookup plugin, see Requirements for details.

To use it in a playbook, specify: community.general.chef_databag.


  • This is a lookup plugin to provide access to chef data bags using the pychef package. It interfaces with the chef server api using the same methods to find a knife or chef-client config file to load parameters from, starting from either the given base path or the current working directory. The lookup order mirrors the one from Chef, all folders in the base path are walked back looking for the following configuration file in order : .chef/knife.rb, ~/.chef/knife.rb, /etc/chef/client.rb


The below requirements are needed on the local controller node that executes this lookup.

Keyword parameters

This describes keyword parameters of the lookup. These are the values key1=value1, key2=value2 and so on in the following examples: lookup('community.general.chef_databag', key1=value1, key2=value2, ...) and query('community.general.chef_databag', key1=value1, key2=value2, ...)




string / required

Item to fetch


string / required

Name of the databag


- ansible.builtin.debug:
    msg: "{{ lookup('community.general.chef_databag', 'name=data_bag_name item=data_bag_item') }}"

Return Value



Return value

list / elements=dictionary

The value from the databag.

Returned: success


  • Unknown


Configuration entries for each entry type have a low to high priority order. For example, a variable that is lower in the list will override a variable that is higher up.