aboutsummaryrefslogtreecommitdiff
path: root/manifests
diff options
context:
space:
mode:
authorNan Liu <nan@puppetlabs.com>2012-06-25 12:12:06 -0700
committerNan Liu <nan@puppetlabs.com>2012-06-25 12:15:21 -0700
commita45261555e1b70fc041fc001b4d4c1d18693ccc1 (patch)
tree1313860947ea07c362c1514a95a42d73ae2e349c /manifests
parent6500ac722b939b86c32559508be3c7f224ba5cfe (diff)
downloadpuppet-tftp-a45261555e1b70fc041fc001b4d4c1d18693ccc1.tar.gz
puppet-tftp-a45261555e1b70fc041fc001b4d4c1d18693ccc1.tar.bz2
Add default module path for tftp::file
This change provides the convenience of using caller_module_name for tftp files, so the following manifests can be abbreviated from: tftp::file { 'foo': source => 'puppet:///modules/example/foo', } tftp::file { 'baz/bar': source => 'puppet:///modules/example/baz/bar', } to: tftp::file { [ 'foo', 'baz/bar' ]: } This simplifies declaring large number of tftp files.
Diffstat (limited to 'manifests')
-rw-r--r--manifests/file.pp17
1 files changed, 14 insertions, 3 deletions
diff --git a/manifests/file.pp b/manifests/file.pp
index ec67f2c..b3985c7 100644
--- a/manifests/file.pp
+++ b/manifests/file.pp
@@ -10,10 +10,10 @@
#
define tftp::file (
$ensure = file,
- $recurse = false,
$owner = 'tftp',
$group = 'tftp',
$mode = '0644',
+ $recurse = false,
$purge = undef,
$replace = undef,
$recurselimit = undef,
@@ -22,17 +22,28 @@ define tftp::file (
) {
include 'tftp'
+ if $source {
+ $source_real = $source
+ } elsif $ensure != 'directory' and ! $content {
+ if $caller_module_name {
+ $mod = $caller_module_name
+ } else {
+ $mod = $module_name
+ }
+ $source_real = "puppet:///modules/${mod}/${name}"
+ }
+
file { "${tftp::directory}/${name}":
ensure => $ensure,
- recurse => $recurse,
owner => $owner,
group => $group,
mode => $mode,
+ recurse => $recurse,
purge => $purge,
replace => $replace,
recurselimit => $recurselimit,
content => $content,
- source => $source,
+ source => $source_real,
require => Class['tftp'],
}
}