+++ /dev/null
-# **NOTE: THIS IS A [PRIVATE](https://github.com/puppetlabs/puppetlabs-stdlib#assert_private) CLASS**
-#
-# This class provides an abstract way to trigger systemd-timesyncd
-#
-# @param ensure
-# The state that the ``networkd`` service should be in
-#
-# @param $ntp_server
-# A space-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::timesyncd (
- Enum['stopped','running'] $ensure = $systemd::timesyncd_ensure,
- Optional[Variant[Array,String]] $ntp_server = $systemd::ntp_server,
- Optional[Variant[Array,String]] $fallback_ntp_server = $systemd::fallback_ntp_server,
-){
-
- assert_private()
-
- $_enable_timesyncd = $ensure ? {
- 'stopped' => false,
- 'running' => true,
- default => $ensure,
- }
-
- service{ 'systemd-timesyncd':
- ensure => $ensure,
- enable => $_enable_timesyncd,
- }
-
- if $ntp_server {
- if $ntp_server =~ String {
- $_ntp_server = $ntp_server
- } else {
- $_ntp_server = join($ntp_server, ' ')
- }
- ini_setting{'ntp_server':
- ensure => 'present',
- value => $_ntp_server,
- setting => 'NTP',
- section => 'Time',
- path => '/etc/systemd/timesyncd.conf',
- notify => Service['systemd-timesyncd'],
- }
- }
-
- if $fallback_ntp_server {
- if $fallback_ntp_server =~ String {
- $_fallback_ntp_server = $fallback_ntp_server
- } else {
- $_fallback_ntp_server = join($fallback_ntp_server, ' ')
- }
- ini_setting{'fallback_ntp_server':
- ensure => 'present',
- value => $_fallback_ntp_server,
- setting => 'FallbackNTP',
- section => 'Time',
- path => '/etc/systemd/timesyncd.conf',
- notify => Service['systemd-timesyncd'],
- }
- }
-}