# Install and enable avahi daemon. # class avahi::daemon { package { "avahi": ensure => installed, } service { "avahi-daemon": ensure => running, enable => true, status => "avahi-daemon -c", start => $operatingsystem ? { openbsd => "avahi-daemon -D", default => undef, }, require => Package["avahi"], } } # Modify avahi service. # # === Parameters # # $name: # Service name # $description: # Description of service. Defaults to local hostname. # $port: # Port which service listens on. # $type: # Service type for this service. e.g. "_http._tcp". # $txt: # Array containing TXT record data. # $ensure: # If set to present service will be created and if set to absent # service will be removed. # # === Sample usage # # avahi::service { "ssh": # ensure => present, # port => 22, # type => "_ssh._tcp", # } # define avahi::service($type, $port, $description = "%h", $ensure = "present", $txt = []) { $srvtype = $type file { "/etc/avahi/services/${name}.service": ensure => $ensure, content => template("avahi/service.erb"), mode => 0644, owner => root, group => $operatingsystem ? { openbsd => wheel, default => root, }, notify => Service["avahi-daemon"], } }