1 # **NOTE: THIS IS A [PRIVATE](https://github.com/puppetlabs/puppetlabs-stdlib#assert_private) CLASS**
3 # This class provides an abstract way to trigger systemd-timesyncd
6 # The state that the ``networkd`` service should be in
9 # A space-separated list of NTP servers, will be combined with interface specific
10 # addresses from systemd-networkd. requires puppetlabs-inifile
12 # @param fallback_ntp_server
13 # A space-separated list of NTP server host names or IP addresses to be used
14 # as the fallback NTP servers. Any per-interface NTP servers obtained from
15 # systemd-networkd take precedence over this setting. requires puppetlabs-inifile
16 class systemd::timesyncd (
17 Enum['stopped','running'] $ensure = $systemd::timesyncd_ensure,
18 Optional[Variant[Array,String]] $ntp_server = $systemd::ntp_server,
19 Optional[Variant[Array,String]] $fallback_ntp_server = $systemd::fallback_ntp_server,
24 $_enable_timesyncd = $ensure ? {
30 service{ 'systemd-timesyncd':
32 enable => $_enable_timesyncd,
36 if $ntp_server =~ String {
37 $_ntp_server = $ntp_server
39 $_ntp_server = join($ntp_server, ' ')
41 ini_setting{'ntp_server':
43 value => $_ntp_server,
46 path => '/etc/systemd/timesyncd.conf',
47 notify => Service['systemd-timesyncd'],
51 if $fallback_ntp_server {
52 if $fallback_ntp_server =~ String {
53 $_fallback_ntp_server = $fallback_ntp_server
55 $_fallback_ntp_server = join($fallback_ntp_server, ' ')
57 ini_setting{'fallback_ntp_server':
59 value => $_fallback_ntp_server,
60 setting => 'FallbackNTP',
62 path => '/etc/systemd/timesyncd.conf',
63 notify => Service['systemd-timesyncd'],