Forge Home


Provide an extension library to Puppet modules


5,121 latest version

4.4 quality score

Version information

  • 0.0.7 (latest)
  • 0.0.6
  • 0.0.5
  • 0.0.4
  • 0.0.3
  • 0.0.2
  • 0.0.1
released Jul 26th 2017
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

Start using this module

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

Add this module to your Puppetfile:

mod 'm4ce-extlib', '0.0.7'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add m4ce-extlib
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install m4ce-extlib --version 0.0.7

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.

Tags: extlib


m4ce/extlib — version 0.0.7 Jul 26th 2017

Puppet extlib module

Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with the extlib module
  4. Reference - Types reference and additional functionalities
  5. Contact


Public Classes

The extlib class has no parameters.

Resource Types


Generate a TOML document from a Ruby hash.


$content = generate_toml({'foo' => 'bar'})


Generate a JSON document from a Ruby hash.


$content = generate_json({'foo' => 'bar'})

The second parameter, if provided, are the options.

generate_json({'foo' => 'bar'}, {'indent' => "\t"})


Generate a YAML document from a Ruby hash.


$content = generate_yaml({'foo' => 'bar'})



Generate a Java config properties file from a Hash.


  • properties: the properties hash
  • separator (Optional): separator (default: '.')
  • classpath_attribute (Optional): a reserved key which will be used to specify the class. For instance, log4j configuration typically have a class attribute to specify things like appender class.
  • prefix (Optional): string to prefix all the properties with
$content = extlib::format_java_properties({'rootLogger" => ['INFO', 'STDOUT'], 'appender" => {'class' => 'org.apache.log4j.ConsoleAppender', 'layout' => {'class' => 'org.apache.log4j.PatternLayout', 'ConversionPattern' => '[%p] %d %t %c - %m%n'}}}, '.', 'class', 'log4j')