diff -r a2342f26c9de -r b0b56e0f8c7f dev/provisioning/modules/puppi/manifests/ze.pp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dev/provisioning/modules/puppi/manifests/ze.pp Fri Jan 15 15:35:00 2016 +0100 @@ -0,0 +1,35 @@ +# Define puppi::ze +# +# The Puppi 2.0 define that transforms any class variable in data +# you can use with Puppi +# +# == Usage +# Basic Usage: +# puppi::ze { "openssh": +# variables => get_class_args(), +# } +# +# puppi::ze { "openssh": +# variables => get_class_args(), +# filter => '.*content.*|.*key.*', +# } +# +define puppi::ze ( + $variables, + $helper = 'standard', + $filter = '.*content.*|.*password.*', + $ensure = 'present' ) { + + require puppi + require puppi::params + + file { "puppize_${name}": + ensure => $ensure, + path => "${puppi::params::datadir}/${helper}_${name}.yml", + mode => '0644', + owner => $puppi::params::configfile_owner, + group => $puppi::params::configfile_group, + content => inline_template("---\n<%= Hash[@variables].reject{ |k,v| k.to_s =~ /(${filter})/ }.keys.sort.map{|k| Array({k => @variables[k]}.to_yaml)[1..-1].join}.join(\"\n\") %>\n"), + } + +}