yamakasi.014@gmail.com
2014-Jul-31 00:30 UTC
[Puppet Users] Wrap class around define and use it as Require
Hi Guys, I'm using an ENC to define all my nodes including some modules I want to load, I have the following class/define for this: class mymodule::modules::enable ( $enable_modules = undef ) { $modules_split = split($enable_modules, ',') enableModules { $modules_split: } } define enableModules () { exec { "mycommand $name" : command => "/usr/sbin/mycommand $name", notify => Service[myservice] } } mymodule::modules::enable{'modX': enable_modules => 'module'} Now I'm using this per node using mod1,mod2,mod3 which works OK, I don't want to use create_resources here as I want to have one filed for enable, and one field for disable in my ENC For some fool-proof solution that when the module is not set in my ENC I want to require the define enableModules in a different class and set a static parameter: some::class ( ) { Class['modulename'] -> MyModule::Modules::Enable['modX:'] file { "/my/path/to/directory" : ensure => directory, mode => '0644', owner => 'root', group => 'root', require => Class['modulename'], } } Well, I need to wrap a class around my define to get this all working as you can see above but this is not working as my some::class says: Could not find dependency Class[Enable_mymodule] for File[/my/path/to/directory] at... I have tried includes, different ways of defining or wrapping the class but no clue at all, I also get other errors that are not related as I was messing things more up. When I use: Class['modulename] -> class { 'mymodule::modules::enable': enable_modules => 'mymodule' } I get the message that it cannot redeclare 'mymodule::modules::enable' as my ENC already did. I have used some Foo parameters and Vars here as I want to use this in more modules if this is possible. It's just for a fallback when modules are needed for sofware to be loaded and the user didn't enable it in it's ENC yaml. I hope someone can help me out. Thanks, Matt -- 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+unsubscribe@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/da5f31e8-b9a0-433b-9ae9-8bf9192e85a1%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.