Forge Home

safe_include

Includes a class if it exists and skips if it does not

11,360 downloads

10,399 latest version

4.8 quality score

Version information

  • 1.0.3 (latest)
  • 1.0.2
  • 1.0.1
  • 1.0.0
released Jun 26th 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
  • , , , , , , , , , ,

Start using this module

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

Add this module to your Puppetfile:

mod 'dylanratcliffe-safe_include', '1.0.3'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add dylanratcliffe-safe_include
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install dylanratcliffe-safe_include --version 1.0.3

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

dylanratcliffe/safe_include — version 1.0.3 Jun 26th 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