This module creates custom types used to add resources to the catalog after the compilation of the manifests




1,443 latest version

5.0 quality score

Version information

  • 0.3.0 (latest)
  • 0.2.3
  • 0.2.2
  • 0.2.1
  • 0.2.0
  • 0.1.0
released Mar 4th 2020
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
  • Puppet >= 5.0.0 < 7.0.0
  • CentOS

Start using this module

Tags: simp


simp/deferred_resources — version 0.3.0 Mar 4th 2020

License CII Best Practices Puppet Forge Puppet Forge Downloads Build Status

Table of Contents


This module provides capabilities to add resources to the puppet catalog after the initial compilation has been compiled.


This module is not recommended for use outside of the SIMP framework. It was developed for specific policy requirements from the DISA STIG, CIS Benchmark, etc... that require resources to either be installed or removed. In order to not interfere with other manifests that might have legitimately added resources, it first checks if each resource has already been included in the catalog and then adds the appropriate resource to add or remove that resource, as necessary.


See for full API details.

This is a SIMP module

This module is a component of the System Integrity Management Platform, a compliance-management framework built on Puppet.

If you find any issues, they may be submitted to our bug tracker.

This module is optimally designed for use within a larger SIMP ecosystem, but it can be used independently:

  • When included within the SIMP ecosystem, security compliance settings will be managed from the Puppet server.
  • If used independently, all SIMP-managed security subsystems are disabled by default and must be explicitly opted into by administrators. Please review the parameters in simp/simp_options for details.


This module provides classes that help users properly use the underlying native type for processing deferred resources.

Example: Managing Packages

  class { 'deferred_resources::packages':
    'remove'  => ['pkg1', 'pkg2'],
    'install' => ['pkg3', 'pkg4'],
    'mode'    => 'enforcing'

Example: Managing Packages but silencing messages

  class { 'deferred_resources::packages':
    'remove'    => ['pkg1', 'pkg2'],
    'install'   => ['pkg3', 'pkg4'],
    'mode'      => 'enforcing',
    'log_level' => 'debug'


Please refer to the inline documentation within each source file, or to the module's generated YARD documentation for reference material.


SIMP Puppet modules are generally intended for use on Red Hat Enterprise Linux and compatible distributions, such as CentOS. Please see the metadata.json file for the most up-to-date list of supported operating systems, Puppet versions, and module dependencies.


Please read our Contribution Guide.

Acceptance tests

This module includes Beaker acceptance tests using the SIMP Beaker Helpers. By default the tests use Vagrant with VirtualBox as a back-end; Vagrant and VirtualBox must both be installed to run these tests without modification. To execute the tests run the following:

bundle install
bundle exec rake beaker:suites

Please refer to the SIMP Beaker Helpers documentation for more information.