dev/provisioning/modules/puppi/manifests/ze.pp
author ymh <ymh.work@gmail.com>
Fri, 15 Jan 2016 15:35:00 +0100
changeset 28 b0b56e0f8c7f
permissions -rwxr-xr-x
Add contributor edition - added viaf resolver - improve contributors list display - add update of document objects - propagate update to back office - update back office - add bo-client to back office - setup language initializer - add options mechanism - add language information in language list - add lexvo resolver service + api - add language and lexvo resolver to js app - correct env template - refresh bootstrap - download google font - add version information - update dev virtual machine to centos7 - add a readme + clean folders - add local .env file to start commands

# 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"),
  }

}