# copyright koumbit.org # Licence: GPL class cups::server { package { "cupsys": ensure => "installed" } file { "/etc/cups/cupsd.conf": source => "puppet:///cups_server/cupsd.conf", ensure => present, require => Package["cupsys"], owner => "root", group => "root", mode => "644", } service { "cupsys": enable => true, ensure => running, subscribe => [ Package["cupsys"], File["/etc/cups/cupsd.conf"] ], } } define cups::printer ($printer, $p_description, $p_deviceuri, $p_pathppd) { include cups::server exec { "cups_create_printer_$name": command => "lpadmin -p $printer -D 'p_description' -v $p_deviceuri -P $p_pathppd", path => "/bin:/sbin:/usr/sbin:/usr/bin", unless => "/bin/grep $printer /etc/cups/printers.conf", require => Package["cupsys"], } file { "/etc/cups/printers.conf": ensure => present, require => Package["cupsys"], owner => "root", group => "lp", mode => "600", } service { "cupsys": enable => true, ensure => running, subscribe => [ Package["cupsys"], File["/etc/cups/printers.conf"] ], } }