custom/manifest/init.pp:
class custom {
file {
"/tmp/puppet":
ensure => directory,
mode => 700, owner => root, group => root;
}
}
define mkdir () {
$parent = template("custom/mkdir.erb")
if !defined(Mkdir["$parent"]) and $parent != "/tmp/puppet" {
mkdir {
"$parent":
}
}
file {
"$name":
ensure => directory,
owner => root, group => root, mode => 400,
require => File["$parent"];
}
}
custom/template/mkdir.erb:
<% require 'ftools' -%>
<% File.dirname(title).each do |chunk| -%>
<%= chunk -%>
<% end -%>