summaryrefslogtreecommitdiff
path: root/manifests/defines/module_dir.pp
diff options
context:
space:
mode:
authorJerome Charaoui <jcharaoui@cmaisonneuve.qc.ca>2010-05-07 17:13:48 -0400
committerMicah Anderson <micah@riseup.net>2010-09-02 18:26:50 -0400
commit1379f6cba15c3e76ade83e5ec4b997879d4370e7 (patch)
treee5fbe25ee48dfc32aba93b2226ae1fd84662e5a8 /manifests/defines/module_dir.pp
parent109311524e3d63bb082b40db4caa25d650202511 (diff)
refactor modules_dir and modules_file to remove plural (deprecated in David Schmitt's version) and adjust module_file to new module_dir structure
Diffstat (limited to 'manifests/defines/module_dir.pp')
-rw-r--r--manifests/defines/module_dir.pp41
1 files changed, 41 insertions, 0 deletions
diff --git a/manifests/defines/module_dir.pp b/manifests/defines/module_dir.pp
new file mode 100644
index 0000000..73f5d75
--- /dev/null
+++ b/manifests/defines/module_dir.pp
@@ -0,0 +1,41 @@
+# common/manifests/defines/modules_dir.pp -- create a default directory
+# for storing module specific information
+#
+# Copyright (C) 2007 David Schmitt <david@schmitt.edv-bus.at>
+# See LICENSE for the full license granted to you.
+
+# Usage:
+# include common::moduledir
+# module_dir { ["common", "common/dir1", "common/dir2" ]: }
+#
+# You may refer to a file in module_dir by using :
+# file { "${common::moduledir::module_dir_path}/somedir/somefile": }
+
+define module_dir (
+ $mode = 0644, $owner = root, $group = 0
+ )
+{
+ include common::moduledir
+ $dir = "$common::moduledir::module_dir_path/${name}"
+ if defined(File[$dir]) {
+ debug("${dir} already defined")
+ } else {
+ file {
+ $dir:
+ source => [ "puppet://$server/modules/${name}/modules_dir", "puppet://$server/modules/common/empty"],
+ checksum => mtime,
+ # ignore the placeholder
+ ignore => '\.ignore',
+ recurse => true, purge => true, force => true,
+ mode => $mode, owner => $owner, group => $group;
+ }
+ }
+}
+
+# alias for compatibility
+define modules_dir (
+ $mode = 0644, $owner = root, $group = 0
+ )
+{
+ module_dir { $name: mode => $mode, owner => $owner, group => $group }
+}