community.general.hiera – get info from hiera data

Note

This plugin is part of the community.general collection (version 4.2.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.

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)

Parameters

Parameter Choices/Defaults Configuration Comments
_bin_file
string
Default:
"/usr/bin/hiera"
env:ANSIBLE_HIERA_BIN
Binary file to execute Hiera
_hiera_key
list / elements=string / required
The list of keys to lookup on the Puppetmaster
_hierarchy_file
string
Default:
"/etc/hiera.yaml"
env:ANSIBLE_HIERA_CFG
File that describes the hierarchy of Hiera

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 Values

Common return values are documented here, the following are the fields unique to this lookup:

Key Returned Description
_raw
list / elements=string
success
a value associated with input key



Authors

  • Juan Manuel Parrilla (@jparrill)