+++ /dev/null
-# This module allows triggering systemd commands once for all modules
-#
-# @api public
-#
-# @param service_limits
-# May be passed a resource hash suitable for passing directly into the
-# ``create_resources()`` function as called on ``systemd::service_limits``
-#
-# @param manage_resolved
-# Manage the systemd resolver
-#
-# @param resolved_ensure
-# The state that the ``resolved`` service should be in
-#
-# @param dns
-# A space-separated list of IPv4 and IPv6 addresses to use as system DNS servers.
-# DNS requests are sent to one of the listed DNS servers in parallel to suitable
-# per-link DNS servers acquired from systemd-networkd.service(8) or set at runtime
-# by external applications. requires puppetlabs-inifile
-#
-# @param fallback_dns
-# A space-separated list of IPv4 and IPv6 addresses to use as the fallback DNS
-# servers. Any per-link DNS servers obtained from systemd-networkd take
-# precedence over this setting. requires puppetlabs-inifile
-#
-# @param domains
-# A space-separated list of domains host names or IP addresses to be used
-# systemd-resolved take precedence over this setting.
-#
-# @param llmnr
-# Takes a boolean argument or "resolve".
-#
-# @param multicast_dns
-# Takes a boolean argument or "resolve".
-#
-# @param dnssec
-# Takes a boolean argument or "allow-downgrade".
-#
-# @param cache
-# Takes a boolean argument.
-#
-# @param dns_stub_listener
-# Takes a boolean argument or one of "udp" and "tcp".
-#
-# @param use_stub_resolver
-# Takes a boolean argument. When "false" (default) it uses /var/run/systemd/resolve/resolv.conf
-# as /etc/resolv.conf. When "true", it uses /var/run/systemd/resolve/stub-resolv.conf
-# @param manage_networkd
-# Manage the systemd network daemon
-#
-# @param networkd_ensure
-# The state that the ``networkd`` service should be in
-#
-# @param manage_timesyncd
-# Manage the systemd tiemsyncd daemon
-#
-# @param timesyncd_ensure
-# The state that the ``timesyncd`` service should be in
-#
-# @param ntp_server
-# comma separated list of ntp servers, will be combined with interface specific
-# addresses from systemd-networkd. requires puppetlabs-inifile
-#
-# @param fallback_ntp_server
-# A space-separated list of NTP server host names or IP addresses to be used
-# as the fallback NTP servers. Any per-interface NTP servers obtained from
-# systemd-networkd take precedence over this setting. requires puppetlabs-inifile
-class systemd (
- Hash[String,Hash[String, Any]] $service_limits,
- Boolean $manage_resolved,
- Enum['stopped','running'] $resolved_ensure,
- Optional[Variant[Array[String],String]] $dns,
- Optional[Variant[Array[String],String]] $fallback_dns,
- Optional[Variant[Array[String],String]] $domains,
- Optional[Variant[Boolean,Enum['resolve']]] $llmnr,
- Optional[Variant[Boolean,Enum['resolve']]] $multicast_dns,
- Optional[Variant[Boolean,Enum['allow-downgrade']]] $dnssec,
- Boolean $cache,
- Optional[Variant[Boolean,Enum['udp','tcp']]] $dns_stub_listener,
- Boolean $use_stub_resolver,
- Boolean $manage_networkd,
- Enum['stopped','running'] $networkd_ensure,
- Boolean $manage_timesyncd,
- Enum['stopped','running'] $timesyncd_ensure,
- Optional[Variant[Array,String]] $ntp_server,
- Optional[Variant[Array,String]] $fallback_ntp_server,
- Boolean $manage_accounting,
- Hash[String,String] $accounting,
-){
-
- contain systemd::systemctl::daemon_reload
-
- create_resources('systemd::service_limits', $service_limits)
-
- if $manage_resolved and $facts['systemd_internal_services'] and $facts['systemd_internal_services']['systemd-resolved.service'] {
- contain systemd::resolved
- }
-
- if $manage_networkd and $facts['systemd_internal_services'] and $facts['systemd_internal_services']['systemd-networkd.service'] {
- contain systemd::networkd
- }
-
- if $manage_timesyncd and $facts['systemd_internal_services'] and $facts['systemd_internal_services']['systemd-timesyncd.service'] {
- contain systemd::timesyncd
- }
-
- if $manage_accounting {
- contain systemd::system
- }
-}