safe_include

pdk
Includes a class if it exists and skips if it does not
Dylan Ratcliffe

Dylan Ratcliffe

dylanratcliffe

6,968 downloads

6,072 latest version

4.8 quality score

Version information

  • 1.0.3 (latest)
  • 1.0.2
  • 1.0.1
  • 1.0.0
released Jul 3rd 2019
This version is compatible with:
  • Puppet Enterprise 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, 2016.4.x
  • Puppet >= 4.10.0 < 7.0.0
  • CentOS
    ,
    OracleLinux
    ,
    RedHat
    ,
    Scientific
    ,
    Debian
    ,
    Ubuntu
    ,
    Fedora
    ,
    Darwin
    ,
    SLES
    ,
    Solaris
    ,
    windows

Start using this module

Documentation

dylanratcliffe/safe_include — version 1.0.3 Jul 3rd 2019

safe_include

It's like the include function but safer. Maybe...

Basically it won't fail if the class doesn't exist.

Description

To use this simply pass a class to the function and it will get included if it exists:

safe_include('profile::maybe::exists')

Or you can pass an array:

$classes = [
  'profile::docker',
  'profile::mysql',
  'profile::typo4',
]

safe_include($classes)

Why would anyone want this?

Good question. Maybe you are consuming a free text field from an API and don't want the entire catalog compilation to fail if someone made a typo. Maybe you are refactoring roles from one naming convention to another and you want the classification to keep working even if the name changes.

Reference

TODO