hiera
: == Class: hiera This class handles installing the hiera.yaml for Puppet's use. === Parameters: See README. === Actions: Installs eithehiera::deep_merge
: == Class: hiera::deep_merge This class installs and configures deep_merge === Authors: Joseph Yaworski [email protected] === Copyrighiera::eyaml
: == Class: hiera::eyaml This class installs and configures hiera-eyaml === Authors: Terri Haber [email protected] === Copyright: Cophiera::eyaml_gpg
: == Class hiera::eyaml_gpg This calls install and configures hiera-eyaml-gpghiera::params
: == Class: hiera::params This class handles OS-specific configuration of the hiera module. It looks for variables in top scope (probably fro
hiera::install
: Private define
Hiera::Hiera5_defaults
: This will validate hiera 5 'defaults' hashHiera::Hiera5_hierarchy
: This will validate hiera 5 hierarchy array hash
== Class: hiera
This class handles installing the hiera.yaml for Puppet's use.
=== Parameters:
See README.
=== Actions:
Installs either /etc/puppet/hiera.yaml or /etc/puppetlabs/puppet/hiera.yaml. Links /etc/hiera.yaml to the above file. Creates $datadir (if $datadir_manage == true). Creates hiera.yaml in hiera version 5 format if hiera_version = 5 is passed to the class
=== Requires:
puppetlabs-stdlib >= 4.3.1
=== Sample Usage:
class { 'hiera': hierarchy => [ '%{environment}', 'common', ], }
=== Sample Usage for Hiera 5:
class { 'hiera': hiera_version => '5', hiera5_defaults => {"datadir" => "data", "data_hash" => "yaml_data"}, hierarchy => [ {"name" => "Virtual yaml", "path" => "virtual/%{virtual}.yaml"}, {"name" => "Nodes yaml", "paths" => ['nodes/%{trusted.certname}.yaml', 'nodes/%{osfamily}.yaml']}, {"name" => "Global yaml file", "path" => "common.yaml"}, ], }
Note: Please note that hiera 5 hierarchy should be an array of hash
=== Authors:
Hunter Haugen [email protected] Mike Arnold [email protected] Terri Haber [email protected] Greg Kitson [email protected]
=== Copyright:
Copyright (C) 2012 Hunter Haugen, unless otherwise noted. Copyright (C) 2013 Mike Arnold, unless otherwise noted. Copyright (C) 2014 Terri Haber, unless otherwise noted. Copyright (C) 2016 Vox Pupuli, unless otherwise noted.
The following parameters are available in the hiera
class:
hierarchy
hiera_version
hiera5_defaults
backends
backend_options
hiera_yaml
create_symlink
datadir
datadir_manage
owner
group
mode
eyaml_owner
eyaml_group
provider
eyaml
eyaml_name
eyaml_version
eyaml_source
eyaml_datadir
eyaml_extension
confdir
puppet_conf_manage
logger
cmdpath
create_keys
keysdir
deep_merge_name
deep_merge_version
deep_merge_source
deep_merge_options
merge_behavior
extra_config
master_service
manage_package
manage_eyaml_package
manage_deep_merge_package
manage_eyaml_gpg_package
package_name
package_ensure
eyaml_gpg_name
eyaml_gpg_version
eyaml_gpg_source
eyaml_gpg
eyaml_gpg_gnupghome_recurse
eyaml_gpg_recipients
eyaml_pkcs7_private_key
eyaml_pkcs7_public_key
ruby_gpg_name
ruby_gpg_version
ruby_gpg_source
gem_install_options
gem_source
Data type: Variant[Array, Array[Hash]]
Default value: $hiera::params::hierarchy
Data type: Optional[Enum['3','5']]
Default value: $hiera::params::hiera_version
Data type: Hiera::Hiera5_defaults
Default value: $hiera::params::hiera5_defaults
Data type: Any
Default value: ['yaml']
Data type: Any
Default value: {}
Data type: Any
Default value: $hiera::params::hiera_yaml
Data type: Any
Default value: true
Data type: Any
Default value: $hiera::params::datadir
Data type: Any
Default value: true
Data type: Any
Default value: $hiera::params::owner
Data type: Any
Default value: $hiera::params::group
Data type: Any
Default value: $hiera::params::mode
Data type: Any
Default value: $hiera::params::eyaml_owner
Data type: Any
Default value: $hiera::params::eyaml_group
Data type: Any
Default value: $hiera::params::provider
Data type: Any
Default value: false
Data type: Any
Default value: 'hiera-eyaml'
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: $hiera::params::confdir
Data type: Any
Default value: true
Data type: Any
Default value: 'console'
Data type: Any
Default value: $hiera::params::cmdpath
Data type: Any
Default value: true
Data type: Any
Default value: undef
Data type: Any
Default value: 'deep_merge'
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: {}
Data type: Any
Default value: undef
Data type: Any
Default value: ''
Data type: Any
Default value: $hiera::params::master_service
Data type: Any
Default value: $hiera::params::manage_package
Data type: Boolean
Default value: true
Data type: Boolean
Default value: true
Data type: Boolean
Default value: true
Data type: Any
Default value: $hiera::params::package_name
Data type: Any
Default value: $hiera::params::package_ensure
Data type: Any
Default value: 'hiera-eyaml-gpg'
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: false
Data type: Boolean
Default value: true
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: 'ruby_gpg'
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Optional[Array]
Default value: undef
Data type: Any
Default value: undef
== Class: hiera::deep_merge
This class installs and configures deep_merge
=== Authors:
Joseph Yaworski [email protected]
=== Copyright:
Copyright (C) 2016 Joseph Yaworski, unless otherwise noted.
== Class: hiera::eyaml
This class installs and configures hiera-eyaml
=== Authors:
Terri Haber [email protected]
=== Copyright:
Copyright (C) 2014 Terri Haber, unless otherwise noted.
== Class hiera::eyaml_gpg
This calls install and configures hiera-eyaml-gpg
== Class: hiera::params
This class handles OS-specific configuration of the hiera module. It looks for variables in top scope (probably from an ENC such as Dashboard). If the variable doesn't exist in top scope, it falls back to a hard coded default value.
=== Authors:
Mike Arnold [email protected]
=== Copyright:
Copyright (C) 2013 Mike Arnold, unless otherwise noted.
Private define
The following parameters are available in the hiera::install
defined type:
Data type: Any
Data type: Any
Data type: Any
Default value: undef
Data type: Any
Default value: undef
Data type: Any
Default value: $hiera::gem_install_options
This will validate hiera 5 'defaults' hash
Alias of
Struct[{
datadir => Optional[String],
data_hash => Optional[Enum['yaml_data', 'json_data', 'hocon_data']],
lookup_key => Optional[String],
data_dig => Optional[String],
hiera3_backend => Optional[String],
options => Optional[Hash],
}]
This will validate hiera 5 hierarchy array hash
Alias of
Array[Struct[{
name => String,
path => Optional[String],
paths => Optional[Array[String]],
glob => Optional[String],
globs => Optional[Array[String]],
uri => Optional[String],
uris => Optional[Array[String]],
data_hash => Optional[String],
lookup_key => Optional[String],
data_dig => Optional[String],
datadir => Optional[String],
hiera3_backend => Optional[String],
options => Optional[Hash],
}]]