Case 1: I have gone to a model where I have a manifests/conf directory akin to /etc which contains the configuration for each service and application. In your case I would have a zabbix_conf class and in the node, I would simple reference the var $zabbix_conf::server_ip.
The beauty of this is my clients know to just go to the conf dir to make config changes. Case 2: I run into this one often and simply get around it with a defined test: if ! defined File[/foo] { file { ...} } In some other situations I use virtual resources such as for application/services users. I again have a Conf file that defines the resource and later realize it. class users { @user { 'jboss': ....} } Then in various places I can safely instanciate the resource: realize users::user['jboss'] Case 3: A) utilize storedconfigs. B) create a function that is called by the node on each update which writes to the puppet file server directory. The dynamic content can be passed to the function using the template or inline_template functions. HTH. John -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.