avahi
: Installs and configures Avahi.avahi::config
avahi::daemon
avahi::install
avahi::params
avahi::service
: Statically define a service in Avahi.
avahi_host
: Manages an Avahi host entry.
Installs and configures Avahi.
- See also
- puppet_defined_types::avahi::service
- avahi::service
- puppet_defined_types::avahi::service
include dbus
include avahi
The following parameters are available in the avahi
class:
conf_dir
dtd_dir
group
package_name
policy_group
service_name
user
validate
xmllint
add_service_cookie
allow_interfaces
allow_point_to_point
browse_domains
cache_entries_max
check_response_ttl
clients_max
deny_interfaces
disable_publishing
disable_user_service_publishing
disallow_other_stacks
domain_name
enable_dbus
enable_reflector
enable_wide_area
entries_per_entry_group_max
host_name
objects_per_client_max
publish_aaaa_on_ipv4
publish_a_on_ipv6
publish_addresses
publish_dns_servers
publish_domain
publish_hinfo
publish_resolv_conf_dns_servers
publish_workstation
ratelimit_burst
ratelimit_interval_usec
reflect_ipv
rlimit_as
rlimit_core
rlimit_data
rlimit_fsize
rlimit_nofile
rlimit_nproc
rlimit_stack
use_iff_running
use_ipv4
use_ipv6
Data type: Stdlib::Absolutepath
The top-level configuration directory, usually /etc/avahi
.
Default value: $avahi::params::conf_dir
Data type: Stdlib::Absolutepath
The directory containing the XML DTD for service validation.
Default value: $avahi::params::dtd_dir
Data type: String
The unprivileged group used to run the daemon.
Default value: $avahi::params::group
Data type: String
The name of the package.
Default value: $avahi::params::package_name
Data type: String
The group that is allowed by policy to set the mDNS hostname.
Default value: $avahi::params::policy_group
Data type: String
The service name.
Default value: $avahi::params::service_name
Data type: String
The unprivileged user used to run the daemon.
Default value: $avahi::params::user
Data type: Boolean
Whether to try and validate service files prior to installing them.
Default value: $avahi::params::validate
Data type: Stdlib::Absolutepath
The path to the xmllint binary used to validate service files.
Default value: $avahi::params::xmllint
Data type: Optional[Boolean]
Whether a unique cookie is added to all locally registered services.
Default value: undef
Data type: Optional[Array[String, 1]]
Interfaces to allow mDNS traffic on.
Default value: undef
Data type: Optional[Boolean]
Include Point-to-Point interfaces.
Default value: undef
Data type: Optional[Array[Bodgitlib::Domain, 1]]
Additional browse domains.
Default value: $avahi::params::browse_domains
Data type: Optional[Integer[0]]
How many entries are cached per interface.
Default value: undef
Data type: Optional[Boolean]
Whether to check the TTL of mDNS packets.
Default value: undef
Data type: Optional[Integer[0]]
Maximum number of D-Bus clients permitted.
Default value: undef
Data type: Optional[Array[String, 1]]
Interfaces to explicitly deny mDNS traffic on.
Default value: undef
Data type: Optional[Boolean]
Disable publishing of any records.
Default value: undef
Data type: Optional[Boolean]
Disable publishing of records by user applications.
Default value: undef
Data type: Optional[Boolean]
Whether to allow other mDNS stacks to run on the host.
Default value: undef
Data type: Optional[String]
Override the domain name used, .local
normally.
Default value: undef
Data type: Optional[Boolean]
Whether to connect to D-Bus.
Default value: undef
Data type: Optional[Boolean]
Whether to enable the mDNS reflector.
Default value: undef
Data type: Optional[Boolean]
Enable wide-area mDNS.
Default value: $avahi::params::enable_wide_area
Data type: Optional[Integer[0]]
The maximum number of entries to be registered by a single D-Bus client.
Default value: undef
Data type: Optional[String]
Override the hostname used for the local machine.
Default value: undef
Data type: Optional[Integer[0]]
The maximum number of objects to be registered by a single D-Bus client.
Default value: undef
Data type: Optional[Boolean]
Whether to publish AAAA records via IPv4.
Default value: undef
Data type: Optional[Boolean]
Whether to publish A records via IPv6.
Default value: undef
Data type: Optional[Boolean]
Whether to publish mDNS address records for all local IP addresses.
Default value: undef
Data type: Optional[Array[Stdlib::IP::Address::NoSubnet, 1]]
List of unicast DNS servers to publish in mDNS.
Default value: undef
Data type: Optional[Boolean]
Whether to announce the local domain name for browsing by other hosts.
Default value: undef
Data type: Optional[Boolean]
Whether to publish HINFO
records on all interfaces.
Default value: $avahi::params::publish_hinfo
Data type: Optional[Boolean]
Whether to publish the DNS servers
listed in /etc/resolv.conf
in addition to any listed in
publish_dns_servers
.
Default value: undef
Data type: Optional[Boolean]
Whether to publish a workstation record for the local machine.
Default value: $avahi::params::publish_workstation
Data type: Optional[Integer[0]]
Per-interface packet rate-limiting burst parameter.
Default value: $avahi::params::ratelimit_burst
Data type: Optional[Integer[0]]
Per-interface packet rate-limiting interval parameter.
Default value: $avahi::params::ratelimit_interval_usec
Data type: Optional[Boolean]
Whether to reflect between IPv4 and IPv6.
Default value: undef
Data type: Optional[Integer[0]]
Value in bytes for RLIMIT_AS
.
Default value: undef
Data type: Optional[Integer[0]]
Value in bytes for RLIMIT_CORE
.
Default value: $avahi::params::rlimit_core
Data type: Optional[Integer[0]]
Value in bytes for RLIMIT_DATA
.
Default value: $avahi::params::rlimit_data
Data type: Optional[Integer[0]]
Value for RLIMIT_FSIZE
.
Default value: $avahi::params::rlimit_fsize
Data type: Optional[Integer[0]]
Value for RLIMIT_NOFILE
.
Default value: $avahi::params::rlimit_nofile
Data type: Optional[Integer[2]]
Default value: $avahi::params::rlimit_nproc
Data type: Optional[Integer[0]]
Default value: $avahi::params::rlimit_stack
Data type: Optional[Boolean]
Default value: undef
Data type: Optional[Boolean]
Default value: $avahi::params::use_ipv4
Data type: Optional[Boolean]
Default value: $avahi::params::use_ipv6
The avahi::config class.
The avahi::daemon class.
The avahi::install class.
The avahi::params class.
Statically define a service in Avahi.
- See also
- puppet_classes::avahi
- avahi
- https://linux.die.net/man/5/avahi.service
- avahi.service(5)
- puppet_classes::avahi
include dbus
include avahi
avahi::service { 'ssh':
description => '%h',
replace_wildcards => true,
services => [
{
'type' => '_ssh._tcp',
'port' => 22,
},
],
}
avahi::service { 'sftp-ssh':
description => '%h',
replace_wildcards => true,
services => [
{
'type' => '_sftp-ssh._tcp',
'port' => 22,
},
],
}
include dbus
include avahi
avahi::service { 'nfs':
description => 'NFS on %h',
replace_wildcards => true,
services => [
{
'type' => '_nfs._tcp',
'port' => 2049,
'protocol' => 'ipv6',
'txt-record' => [
'path=/export/some/path',
],
},
],
}
include dbus
include avahi
avahi::service { 'printer':
description => 'An AirPrint printer',
services => [
{
'type' => '_ipp._tcp',
'subtype' => [
'_universal._sub._ipp._tcp',
],
'port' => 631,
'txt-record' => [
'txtver=1',
'qtotal=1',
'rp=printers/aPrinter',
'ty=aPrinter',
'adminurl=http://198.0.2.1:631/printers/aPrinter',
'note=Office Laserjet 4100n',
'priority=0',
'product=(GPL Ghostscript)',
'printer-state=3',
'printer-type=0x801046',
'Transparent=T',
'Binary=T',
'Fax=F',
'Color=T',
'Duplex=T',
'Staple=F',
'Copies=T',
'Collate=F',
'Punch=F',
'Bind=F',
'Sort=F',
'Scan=F',
'pdl=application/octet-stream,application/pdf,application/postscript,image/jpeg,image/png,image/urf',
'URF=W8,SRGB24,CP1,RS600',
],
},
],
}
The following parameters are available in the avahi::service
defined type:
Data type: String
The description of the service, any occurence of %h
will
be replaced with the hostname if $replace_wildcards
is set to true
.
Data type: Array[Avahi::Record, 1]
An array of hashes which must contain type
and port
keys
and optionally protocol
, subtype
, domain-name
, host-name
and
txt-record
keys.
Data type: Optional[Boolean]
Whether any occurence of %h
is replaced with the
hosname.
Default value: undef
Data type: String
The name of the service. It is used to construct the filename,
i.e. ${conf_dir}/services/${service}.service
.
Default value: $title
Manages an Avahi host entry.
include ::dbus
include ::avahi
avahi_host { 'router.local':
ensure => present,
ip => '192.0.2.1',
}
The following properties are available in the avahi_host
type.
Valid values: present
, absent
The basic property that the resource should be in.
Default value: present
The IP address of the host, either IPv4 or IPv6.
The following parameters are available in the avahi_host
type.
namevar
The host name.
The specific backend to use for this avahi_host
resource. You will seldom need to specify this --- Puppet will usually
discover the appropriate provider for your platform.
The file in which to store the settings, defaults to /etc/avahi/hosts
.
Default value: /etc/avahi/hosts
The Avahi::Domain data type.
Alias of
Pattern[/(?x) ^ ( (?= [a-z0-9._-]{2,255} ) ( (?= [a-z0-9_-]{1,63} \. ) _ [a-z0-9]+ ( - [a-z0-9]+ )* \. )+ _ [a-z]{2,62} ) $/]
The Avahi::Record data type.
Alias of
Struct[{'type' => Avahi::Domain, 'port' => Integer[0, 65535], Optional['protocol'] => Enum['ipv4', 'ipv6', 'any'], Optional['subtype'] => Array[Avahi::Domain], Optional['domain-name'] => String, Optional['host-name'] => Bodgitlib::Domain, Optional['txt-record'] => Array[String]}]