Update stdlib and concat to 6.1.0 both
[mirror/dsa-puppet.git] / 3rdparty / modules / stdlib / lib / puppet / functions / os_version_gte.rb
1 # @summary
2 #   Checks if the OS version is at least a certain version.
3 # > *Note:*
4 # Only the major version is taken into account.
5 #
6 # @example Example usage:#
7 #     if os_version_gte('Debian', '9') { }
8 #     if os_version_gte('Ubuntu', '18.04') { }
9 Puppet::Functions.create_function(:os_version_gte) do
10   # @param os operating system
11   # @param version
12   #
13   # @return [Boolean] `true` or `false
14   dispatch :os_version_gte do
15     param 'String[1]', :os
16     param 'String[1]', :version
17     return_type 'Boolean'
18   end
19
20   def os_version_gte(os, version)
21     facts = closure_scope['facts']
22     (facts['operatingsystem'] == os &&
23      Puppet::Util::Package.versioncmp(version, facts['operatingsystemmajrelease']) >= 0)
24   end
25 end