Sha256: ed2026746b04cfe5abcb8ae2d4911d27b2ccc6b6647e8dad33d0849a8cf6b4f9

Contents?: true

Size: 1.67 KB

Versions: 21

Compression:

Stored size: 1.67 KB

Contents

require 'hiera_puppet'

module Puppet::Parser::Functions
  newfunction(:hiera_hash, :type => :rvalue, :arity => -2, :doc => 
  "Returns a merged hash of matches from throughout the hierarchy. In cases where two or 
  more hashes share keys, the hierarchy  order determines which key/value pair will be 
  used in the returned hash, with the pair in the highest priority data source winning.

  The function can be called in one of three ways:
  1. Using 1 to 3 arguments where the arguments are:
     'key'      [String] Required
           The key to lookup.
     'default`  [Any] Optional
           A value to return when there's no match for `key`. Optional
     `override` [Any] Optional
           An argument in the third position, providing a data source
           to consult for matching values, even if it would not ordinarily be
           part of the matched hierarchy. If Hiera doesn't find a matching key
           in the named override data source, it will continue to search through the
           rest of the hierarchy.

  2. Using a 'key' and an optional 'override' parameter like in #1 but with a block to
     provide the default value. The block is called with one parameter (the key) and
     should return the value.

  3. Like #1 but with all arguments passed in an array.

  `hiera_hash` expects that all values returned will be hashes. If any of the values 
  found in the data sources are strings or arrays, puppet will raise a type mismatch error.

  More thorough examples of `hiera_hash` are available at:  
  <http://docs.puppetlabs.com/hiera/1/puppet.html#hiera-lookup-functions>
  ") do |*args|
    function_fail(["hiera_hash() has been converted to 4x API"])
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
puppet-4.0.0.rc1-x64-mingw32 lib/puppet/parser/functions/hiera_hash.rb