site.pp
840 Bytes
# Define: nginx::site
#
# Install a nginx site in /etc/nginx/sites-available (and symlink in /etc/nginx/sites-enabled).
#
#
# Parameters :
# * ensure: typically set to "present" or "absent". Defaults to "present"
# * content: site definition (should be a template).
#
define nginx::site($ensure='present', $content='') {
case $ensure {
'present' : {
nginx::install_site { $name:
content => $content
}
}
'absent' : {
exec { "/bin/rm -f /etc/nginx/sites-enabled/${name}":
onlyif => "/bin/sh -c '[ -L /etc/nginx/sites-enabled/${name} ] && \
[ /etc/nginx/sites-enabled/$name -ef /etc/nginx/sites-available/${name} ]'",
notify => Service['nginx'],
require => Package[$nginx::nginx_packages],
}
}
default: { err ("Unknown ensure value: '$ensure'") }
}
}