import "classes/*.pp" define share_dirs($share_root) { file { "${share_root}/$name": ensure => directory, owner => "root", group => "root", mode => 755, } } define share_mounts($share_root, $volgroup) { mount { "${share_root}/$name": ensure => mounted, device => "${volgroup}/$name", atboot => true, fstype => "ext3", options => "defaults,nosuid", require => File["${share_root}/$name"], } } define nfs_share ($shares, $volgroup, $share_access = "*.$domain", $share_options = "rw,sync") { include nfs_server share_dirs { $shares: share_root => $name } # $shares is an array # share_mounts { $shares: share_root => $name, volgroup => $volgroup } # $shares is an array file { "/etc/exports": owner => "root", group => "root", mode => 644, content => template("nfs_server/etc-exports.erb"), notify => Service["nfs-kernel-server"], } }