Hello I just start to learn puppet. And have follow question. How is it possible to override params in define. For example i have follow definition for manage devel users: define users::devel { $l_shell_path = $operatingsystem ? { "freebsd" => "/bin/csh", "ubuntu" => "/bin/bash" } $l_sudo_pkg = $operatingsystem ? { "freebsd" => "security/sudo", "ubuntu" => "sudo" } $l_etc_path = $operatingsystem ? { "freebsd" => "/usr/local/etc/", "ubuntu" => "/etc/" } if !defined(Package["$l_sudo_pkg"]) { package { "$l_sudo_pkg": ensure => present } } if !defined(File["${l_etc_path}sudoers.d/devel"]) { file { "${l_etc_path}sudoers.d/devel": source => "puppet:///modules/users/devel.sudoers.dist", mode => 0440, require => Package["$l_sudo_pkg"]; } } if !defined(Group["devel"]) { group { "devel": ensure => present; } } if !defined(Users::User_homedir["$name"]) { users::user_homedir { "$name" : groups => ["devel"], ensure => "present" } } else { Users::User_homedir["$name"] { groups => ["devel"], ensure => "present" } } if !defined(File["/home/$name/bin"]) { file { "/home/$name/bin": ensure => directory; "/home/$name/bin/www": content => template("users/www.dist.erb"), mode => 0555; } } } And follow definition for remove users: define users::remove { if !defined(Users::User_homedir["$name"]) { users::user_homedir { "$name" : ensure => absent; } } else { Users::User_homedir["$name"] { ensure => absent } } } And want to do folow: node lwd_basenode inherits monitored_node { include users::root include users::www include freebsd7 users::admin { [''ruslan'', ''misha'']:; } users::devel { [''vlad'', ''sergeym'']:; } users::remove { [''ilyash'', ''anton'', ''georgiysh'']:; } } node "lwd012.some.root.domain" inherits lwd_basenode { include zabbix::nginx include zabbix::mysql_replication include zabbix::mysql class { "zabbix::memcached": memcachedaddr => "192.168.0.92 11211"; } users::devel { ''anton'':; } } so I have one base node from which all other inherits, where user anton is removed. And have one node(lwd012.some.root.domain) which redefines behavior of user anton (on that node this user must be present), But if i do so i got follow error: err: Could not retrieve catalog from remote server: Error 400 on SERVER: Only subclasses can override parameters at /etc/puppet/modules/users/manifests/devel.pp:62 How can i solve this? -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/q6QWAWf9NYoJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.