36 lines
909 B
Puppet
36 lines
909 B
Puppet
# 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"),
|
|
}
|
|
|
|
}
|