I'm using the following sample manifest from camptocamp/puppet-nagios:

node 'central_monitoring_server' {
  import "nagios"

  $nagiosadmin_password = "XXXX"


  include apache::base

  include nagios::base
  include nagios::nsca::daemon
  include nagios::webinterface

However I've the warning:

Warning: The use of 'import' is deprecated at nagios.pp. See http://links.puppetlabs.com/puppet-import-deprecation

I've followed the link which says:

New users should avoid the import keyword, and existing users should stop using it. Instead, do the following:

  • To keep your node definitions in separate files, specify a directory as your main manifest.
  • To load classes and defined types, use modules.

Together, these two features replace import completely.

However this is not clear what actually I should do.

Can I just use the include keyword instead of import as:

include nagios

Is that all? Is that should work in the same way?

I'm using puppet v3.7.4.


1 Answer 1


The import keyword was actually designed to import manifests, not classes, as explained here.

Now that Puppet has evolved and introduced autoloaded modules and a saner directory structure, this functionality is no longer needed, and you should use include instead.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .