Forge Home


Syntactical sugar to make versioncmp() more friendly.


944 latest version

5.0 quality score

Version information

  • 0.0.1 (latest)
released Aug 13th 2021
This version is compatible with:
  • Puppet Enterprise 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x, 2017.2.x, 2017.1.x, 2016.5.x, 2016.4.x
  • Puppet >= 4.0.0 < 8.0.0
  • , , , , , , , , , , ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'binford2k-version', '0.0.1'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add binford2k-version
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install binford2k-version --version 0.0.1

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.



binford2k/version — version 0.0.1 Aug 13th 2021

version comparisons

Do you look up the docs for versioncmp() every time you use it? Me too. This module is just a thin syntactical sugar wrapper around that function that makes it easy for humans to read and write.

It contains a small set of functions that make the code you write more readable. The function name says what it does and it returns a boolean value for you to build conditionals with. Versions can be passed as either strings (like "1.0.0") or numbers (like 1 or 1.0).

All functions can be used in either infix or postfix style. For example, all of these comparisons do exactly the same thing.

if(fact('os.release.minor').version::greater('5')) {
    notice("Minor os release greater than 5")

if(fact('os.release.minor').version::greater(5)) {
    notice("Minor os release greater than 5")

if(version::greater(fact('os.release.minor'), 5)) {
    notice("Minor os release greater than 5")