The Puppet Labs Issue Tracker has Moved:

This issue tracker is now in read-only archive mode and automatic ticket export has been disabled. Redmine users will need to create a new JIRA account to file tickets using See the following page for information on filing tickets with JIRA:

Feature #20403

Support structured facts

Added by Erik Dalén about 3 years ago. Updated over 2 years ago.

Status:AcceptedStart date:
Priority:NormalDue date:
Assignee:-% Done:


Target version:-
Keywords:structured facts hash array Affected PuppetDB version:

We've Moved!

Ticket tracking is now hosted in JIRA:

This ticket is now tracked at:


Now that structured facts are supported in Puppet and Facter, PuppetDB needs to support it as well. This involves storing them and being able to query them.

The query syntax for hash & array elements could probably be JSON encoded fact names, like this example in the /v2/nodes endpoint:

["=", ["fact", "interfaces[\"eth0\"][\"ipaddress\"]"], ""]

assuming interfaces is a nested hash containing interfaces which contain ipaddress keys.

Related issues

Related to Facter - Feature #4561: Structured data should be supported Closed 05/18/2012 05/18/2012
Related to PuppetDB - Feature #19431: Array/list operator Accepted
Related to PuppetDB - Feature #20404: Add a "extract_keys" operator Accepted
Related to PuppetDB - Feature #20406: Hash/dict/map operator Accepted
Related to PuppetDB - Feature #20405: Add a "extract_values" operator Accepted


#1 Updated by Erik Dalén about 3 years ago

I’ve added related tickets, but seems I can’t do proper redmine links to them. But anyway here they are:

  • (#19431) Array/list operator
  • (#20404) Add a “extract_keys” operator
  • (#20405) Add a “extract_values” operator
  • (#20406) Hash/dict/map operator

#2 Updated by Ken Barber about 3 years ago

  • Status changed from Unreviewed to Accepted

#3 Updated by Charlie Sharpsteen over 2 years ago

Redmine Issue #20403 has been migrated to JIRA:

Also available in: Atom PDF