Forge Home

version

pdk
Syntactical sugar to make versioncmp() more friendly.

Ben Ford

binford2k

352 downloads

352 latest version

3.1 quality score

Version information

  • 0.0.1 (latest)
released Aug 13th 2021
This version is compatible with:
  • Puppet Enterprise 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
  • CentOS
    ,
    OracleLinux
    ,
    RedHat
    ,
    Scientific
    ,
    Debian
    ,
    Ubuntu
    ,
    Fedora
    ,
    Darwin
    ,
    SLES
    ,
    Solaris
    ,
    windows
    ,
    AIX

Start using this module

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

Add this declaration to your Puppetfile:

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

Add this module to a 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.

Download

Documentation

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")
}