Parameterised class inheritings from ‘params’ class


The following popular method SHOULD NOT be used because it is not compatible with Puppet 2.6.2 and earlier.

What you have done

class ntp(
  $server = $ntp::params::server
) inherits ntp::params { }

What you should have done:

class ntp(
  $server = 'UNSET'
) {

  include ntp::params

  $server_real = $server ? {
    'UNSET' => $::ntp::params::server,
    default => $server,
  }
}

Disabling the check

To disable this check you can add --no-class_inherits_from_params_class-check to your puppet-lint command line.

$ puppet-lint --no-class_inherits_from_params_class-check path/to/file.pp

Alternatively, if you’re calling puppet-lint via the Rake task, you should insert the following line to your Rakefile.

PuppetLint.configuration.send('disable_class_inherits_from_params_class')