X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fstdlib%2Flib%2Fpuppet%2Ffunctions%2Fos_version_gte.rb;fp=3rdparty%2Fmodules%2Fstdlib%2Flib%2Fpuppet%2Ffunctions%2Fos_version_gte.rb;h=e3089a8586c79586a462a9e2b28845b52070a1ca;hb=9dd86576df2182653f8e96f51f11c917341eb4ce;hp=0000000000000000000000000000000000000000;hpb=88887aa2a8ca345d6f79fccb336a9bb9ae8443a2;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/stdlib/lib/puppet/functions/os_version_gte.rb b/3rdparty/modules/stdlib/lib/puppet/functions/os_version_gte.rb new file mode 100644 index 000000000..e3089a858 --- /dev/null +++ b/3rdparty/modules/stdlib/lib/puppet/functions/os_version_gte.rb @@ -0,0 +1,20 @@ +# Checks if the OS version is at least a certain version. Note that only the +# major version is taken into account. +# +# Example usage: +# +# if os_version_gte('Debian', '9') { } +# if os_version_gte('Ubuntu', '18.04') { } +Puppet::Functions.create_function(:os_version_gte) do + dispatch :os_version_gte do + param 'String[1]', :os + param 'String[1]', :version + return_type 'Boolean' + end + + def os_version_gte(os, version) + facts = closure_scope['facts'] + (facts['operatingsystem'] == os && + Puppet::Util::Package.versioncmp(version, facts['operatingsystemmajrelease']) >= 0) + end +end