define nginx::site( $ensure = present, $ssl = present, $source = 'template', $certbot = true, $template = 'site', $backend = 'weblocal', $aliases = "*.${name}", $cache = false, $cache_levels = '1:2', $cache_size = '10m', $cache_inactive = '600s', $cache_max_size = '1m', ) { nginx::site::config { $name: ensure => $ensure, source => $source, template => $template, backend => $backend, aliases => $aliases, } if $certbot == true { certbot::manage { $name: aliases => $aliases, pre_hook => '/usr/sbin/service nginx restart', require => Nginx::Site::Config[$name], } } nginx::site::config { "${name}-ssl": server_name => $name, ensure => $ssl, source => $source, template => "${template}-ssl", backend => $backend, aliases => $aliases, require => $certbot ? { true => Certbot::Manage[$name], default => undef, } } }