Skip to content

Latest commit

 

History

History
711 lines (353 loc) · 14.7 KB

REFERENCE.md

File metadata and controls

711 lines (353 loc) · 14.7 KB

Reference

Table of Contents

Classes

  • hiera: == Class: hiera This class handles installing the hiera.yaml for Puppet's use. === Parameters: See README. === Actions: Installs eithe
  • hiera::deep_merge: == Class: hiera::deep_merge This class installs and configures deep_merge === Authors: Joseph Yaworski [email protected] === Copyrig
  • hiera::eyaml: == Class: hiera::eyaml This class installs and configures hiera-eyaml === Authors: Terri Haber [email protected] === Copyright: Cop
  • hiera::eyaml_gpg: == Class hiera::eyaml_gpg This calls install and configures hiera-eyaml-gpg
  • hiera::params: == Class: hiera::params This class handles OS-specific configuration of the hiera module. It looks for variables in top scope (probably fro

Defined types

Data types

Classes

hiera

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

Parameters

The following parameters are available in the hiera class:

hierarchy

Data type: Variant[Array, Array[Hash]]

Default value: $hiera::params::hierarchy

hiera_version

Data type: Optional[Enum['3','5']]

Default value: $hiera::params::hiera_version

hiera5_defaults

Data type: Hiera::Hiera5_defaults

Default value: $hiera::params::hiera5_defaults

backends

Data type: Any

Default value: ['yaml']

backend_options

Data type: Any

Default value: {}

hiera_yaml

Data type: Any

Default value: $hiera::params::hiera_yaml

create_symlink

Data type: Any

Default value: true

datadir

Data type: Any

Default value: $hiera::params::datadir

datadir_manage

Data type: Any

Default value: true

owner

Data type: Any

Default value: $hiera::params::owner

group

Data type: Any

Default value: $hiera::params::group

mode

Data type: Any

Default value: $hiera::params::mode

eyaml_owner

Data type: Any

Default value: $hiera::params::eyaml_owner

eyaml_group

Data type: Any

Default value: $hiera::params::eyaml_group

provider

Data type: Any

Default value: $hiera::params::provider

eyaml

Data type: Any

Default value: false

eyaml_name

Data type: Any

Default value: 'hiera-eyaml'

eyaml_version

Data type: Any

Default value: undef

eyaml_source

Data type: Any

Default value: undef

eyaml_datadir

Data type: Any

Default value: undef

eyaml_extension

Data type: Any

Default value: undef

confdir

Data type: Any

Default value: $hiera::params::confdir

puppet_conf_manage

Data type: Any

Default value: true

logger

Data type: Any

Default value: 'console'

cmdpath

Data type: Any

Default value: $hiera::params::cmdpath

create_keys

Data type: Any

Default value: true

keysdir

Data type: Any

Default value: undef

deep_merge_name

Data type: Any

Default value: 'deep_merge'

deep_merge_version

Data type: Any

Default value: undef

deep_merge_source

Data type: Any

Default value: undef

deep_merge_options

Data type: Any

Default value: {}

merge_behavior

Data type: Any

Default value: undef

extra_config

Data type: Any

Default value: ''

master_service

Data type: Any

Default value: $hiera::params::master_service

manage_package

Data type: Any

Default value: $hiera::params::manage_package

manage_eyaml_package

Data type: Boolean

Default value: true

manage_deep_merge_package

Data type: Boolean

Default value: true

manage_eyaml_gpg_package

Data type: Boolean

Default value: true

package_name

Data type: Any

Default value: $hiera::params::package_name

package_ensure

Data type: Any

Default value: $hiera::params::package_ensure

eyaml_gpg_name

Data type: Any

Default value: 'hiera-eyaml-gpg'

eyaml_gpg_version

Data type: Any

Default value: undef

eyaml_gpg_source

Data type: Any

Default value: undef

eyaml_gpg

Data type: Any

Default value: false

eyaml_gpg_gnupghome_recurse

Data type: Boolean

Default value: true

eyaml_gpg_recipients

Data type: Any

Default value: undef

eyaml_pkcs7_private_key

Data type: Any

Default value: undef

eyaml_pkcs7_public_key

Data type: Any

Default value: undef

ruby_gpg_name

Data type: Any

Default value: 'ruby_gpg'

ruby_gpg_version

Data type: Any

Default value: undef

ruby_gpg_source

Data type: Any

Default value: undef

gem_install_options

Data type: Optional[Array]

Default value: undef

gem_source

Data type: Any

Default value: undef

hiera::deep_merge

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

hiera::eyaml

== Class: hiera::eyaml

This class installs and configures hiera-eyaml

=== Authors:

Terri Haber [email protected]

=== Copyright:

Copyright (C) 2014 Terri Haber, unless otherwise noted.

hiera::eyaml_gpg

== Class hiera::eyaml_gpg

This calls install and configures hiera-eyaml-gpg

hiera::params

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

Defined types

hiera::install

Private define

Parameters

The following parameters are available in the hiera::install defined type:

gem_name

Data type: Any

provider

Data type: Any

gem_version

Data type: Any

Default value: undef

gem_source

Data type: Any

Default value: undef

gem_install_options

Data type: Any

Default value: $hiera::gem_install_options

Data types

Hiera::Hiera5_defaults

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],
                              }]

Hiera::Hiera5_hierarchy

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],
                                }]]