e3089a8586c79586a462a9e2b28845b52070a1ca
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / lib / puppet / functions / os_version_gte.rb
1 # Checks if the OS version is at least a certain version. Note that only the
2 # major version is taken into account.
3 #
4 # Example usage:
5 #
6 #     if os_version_gte('Debian', '9') { }
7 #     if os_version_gte('Ubuntu', '18.04') { }
8 Puppet::Functions.create_function(:os_version_gte) do
9   dispatch :os_version_gte do
10     param 'String[1]', :os
11     param 'String[1]', :version
12     return_type 'Boolean'
13   end
14
15   def os_version_gte(os, version)
16     facts = closure_scope['facts']
17     (facts['operatingsystem'] == os &&
18      Puppet::Util::Package.versioncmp(version, facts['operatingsystemmajrelease']) >= 0)
19   end
20 end