define ssl::check( $port = '443', $interval = '60', $email = 'root', $hour = '0', $minute = '0', $weekday = '0', $file = false, $ensure = present, $base = '/etc/ssl' ) { $ssl_cert_check = "/usr/local/bin/ssl-cert-check -a -q -x ${interval} -e ${email}" $command = $file ? { false => "$ssl_cert_check -s ${name} -p ${port}", true => "$ssl_cert_check -c ${base}/certs/${name}.crt", default => "$ssl_cert_check -c ${file}", } cron { "ssl-cert-check-${name}": command => $command, user => root, hour => $hour, minute => $minute, weekday => $weekday, ensure => $ensure, require => File["/usr/local/bin/ssl-cert-check"], } }