community.general.hiera lookup – get info from hiera data

Note

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

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.hiera.

Synopsis

  • Retrieves data from an Puppetmaster node using Hiera as ENC.

Requirements

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

  • hiera (command line utility)

Terms

Parameter

Comments

Terms

list / elements=string / required

The list of keys to lookup on the Puppetmaster.

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.hiera', key1=value1, key2=value2, ...) and query('community.general.hiera', key1=value1, key2=value2, ...)

Parameter

Comments

config_file

string

File that describes the hierarchy of Hiera.

Default: "/etc/hiera.yaml"

Configuration:

executable

string

Binary file to execute Hiera.

Default: "/usr/bin/hiera"

Configuration:

Notes

Note

  • When keyword and positional parameters are used together, positional parameters must be listed before keyword parameters: lookup('community.general.hiera', term1, term2, key1=value1, key2=value2) and query('community.general.hiera', term1, term2, key1=value1, key2=value2)

Examples

# All this examples depends on hiera.yml that describes the hierarchy

- name: "a value from Hiera 'DB'"
  ansible.builtin.debug:
    msg: "{{ lookup('community.general.hiera', 'foo') }}"

- name: "a value from a Hiera 'DB' on other environment"
  ansible.builtin.debug:
    msg: "{{ lookup('community.general.hiera', 'foo environment=production') }}"

- name: "a value from a Hiera 'DB' for a concrete node"
  ansible.builtin.debug:
    msg: "{{ lookup('community.general.hiera', 'foo fqdn=puppet01.localdomain') }}"

Return Value

Key

Description

Return value

list / elements=string

a value associated with input key

Returned: success

Authors

  • Juan Manuel Parrilla (@jparrill)

Hint

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.