On Thursday, February 14, 2013 11:31:54 AM UTC-6, Евгений Верещагин wrote:
>
> I want call diffrent manifest files for diffrent rules and systems. I 
> think that write all rules in one file is not good idea :-)
>


No one suggested that you should put everything on one file.  Nevertheless, 
you cannot "call" a manifest in the sense of a function.  Puppet DSL is not 
a scripting language, and manifests are not executable in any meaningful 
sense.  You need to get your head around that (among other things) to 
become proficient with Puppet.

Instead of thinking in terms of files, you should be working on modeling 
your target systems via classes.  If you lay out your classes in the 
recommended (and autoloader-supported) way, then the distinction will be 
thin, as you will have only one class or definition per file.  The point, 
however, is to harmonize your mental model with the way Puppet actually 
works.

In your case, you might write site.pp like this:

manifests/site.pp
-------

# Prefer to avoid top-scope declarations other than node blocks,
# class definitions, and defined-type definitions
node default {
  # prefer to put logic in classes, keeping node blocks simple
  include 'site'
}

with a module site defined by:


modules/site/manifests/init.pp:
-------

class site {
  case $operatingsystem {
    redhat: { include 'site::redhat' }
    centos: { include 'site::centos' }
    windows: { include 'site::windows' }
    default: { include 'site::default' }
  }
}


modules/site/manifests/redhat.pp
-------

class site::redhat {
  # declarations for redhat systems
}


And similar classes site::centos, site::windows, and site::default as well, 
each in its own file.


John

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-users@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to