summaryrefslogtreecommitdiff
path: root/manifests/defines/module_file.pp
blob: e80c1ed34849017070515e872621cb24e8f9c10c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# common/manifests/defines/modules_file.pp -- use a modules_dir to store module
# specific files
#
# Copyright (C) 2007 David Schmitt <david@schmitt.edv-bus.at>
# See LICENSE for the full license granted to you.

# Usage:
# modules_file { "module/file":
#     source => "puppet://${server}/...",
#     mode   => 644,   # default
#     owner  => root,  # default
#     group  => 0,     # default
# }
define module_file (
	$source,
	$ensure = present,
	$alias = 'absent',
	$mode = 0644, $owner = root, $group = 0
    )
{
    include common::moduledir
    file {
        "${common::moduledir::module_dir_path}/${name}":
            source => $source,
            ensure => $ensure,
            mode => $mode, owner => $owner, group => $group;
    }
    
    if ($alias != 'absent') {
    	File["${common::moduledir::module_dir_path}/${name}"] { alias => $alias }
    }
}

# alias for compatibility
define modules_file (
        $source, $mode = 0644, $owner = root, $group = 0
    )
{
  module_file { $name: source => $source, mode => $mode, owner => $owner, group => $group }
}