remove escaping
[puppet_common.git] / manifests / defines / module_dir.pp
1 # common/manifests/defines/modules_dir.pp -- create a default directory
2 # for storing module specific information
3 #
4 # Copyright (C) 2007 David Schmitt <david@schmitt.edv-bus.at>
5 # See LICENSE for the full license granted to you.
6
7 # Usage:
8 # include common::moduledir
9 # module_dir { ["common", "common/dir1", "common/dir2" ]: }
10 #
11 # You may refer to a file in module_dir by using :
12 # file { "${common::moduledir::module_dir_path}/somedir/somefile": }
13
14 define module_dir (
15         $mode = 0644, $owner = root, $group = 0
16     )
17 {
18     include common::moduledir
19     $dir = "${common::moduledir::module_dir_path}/${name}"
20     if defined(File[$dir]) {
21         debug("${dir} already defined")
22     } else {
23         file {
24             $dir:
25                 source => [ "puppet://$server/modules/${name}/modules_dir", "puppet://$server/modules/common/empty"],
26                 checksum => mtime,
27                 # ignore the placeholder
28                 ignore => '.ignore',
29                 recurse => true, purge => true, force => true,
30                 mode => $mode, owner => $owner, group => $group;
31         }
32     }
33 }
34
35 # alias for compatibility
36 define modules_dir (
37         $mode = 0644, $owner = root, $group = 0
38     )
39 {
40   module_dir { $name: mode => $mode, owner => $owner, group => $group }
41 }