define nginx::site( $ensure = present, $ssl = present, $source = 'template', $certbot = true, $template = 'site', $backend = 'weblocal', ) { nginx::site::config { $name: ensure => $ensure, source => $source, template => $template, backend => $backend, } if $certbot == true { certbot::manage { $name: pre_hook => '/usr/sbin/service nginx restart', require => Nginx::Site::Config[$name], } } nginx::site::config { "${name}-ssl": use_fqdn => $name, ensure => $ssl, source => $source, template => "${template}-ssl", backend => $backend, require => $certbot ? { true => Certbot::Manage[$name], default => undef, } } }